어셈블리 용으로 약간의 기계 코드 생성기를 쓰고 있습니다.단어/바이트/단어 ptr의 올바른 사용 어셈블리
이의이 3 가지 시나리오를 보자 :
나는 즉시 상수 것입니다 무엇을add [ebx+04], 0x1
add [ebx+04], 0x4040
add [ebx+04], 0x401000
, 나는 그것이 맞지 수있는 바이트의 가장 작은 수는 무엇을 확인 I 메모리의 지시에 즉시에 관한 질문이 있습니다
이add byte ptr [ebx+04], 0x1
이
제 2의 들어갈 수 : 다음 나는 그것을 할 가정 있도록 PTR DWORD의 바이트 PTR, 단어 PTR은
먼저 하나가 1 바이트에 들어갈 수 있는지 여부를 가정 나는 것으로 가정 그래서 바이트 : 4 바이트
add word ptr [ebx+04], 0x4040
세 번째 맞는 나는 그것이 것으로 가정하므로 :
add dword ptr [ebx+04], 0x401000
이 맞습니까?
아니요. 32 비트 추가 1을 어떻게 생성합니까? PTR 주석은 이유가 있습니다. –
바이트 ptr, 단어 ptr 등의 명명법이 있습니다. 사용자가 어떤 명령/피연산자를 선택할 수 있어야하기 때문입니다. 자신 만의 경우에는 x ptr 대신 addb, addw, addd를 사용할 수 있습니다. –
[ebx + 04]를 추가하면 0x00000001이 dword ptr을 생성합니다. 사용자가 어셈블리 언어에 대한 규칙을 이해하면이 코드를 사용할 수 있습니다. –