-
形式一:立即数
读取内存的值:
MOV EAX, DWORD PTR DS:[0X13FFC4]
向内存中写入数据:
MOV DWORD PTR DS:[0X13FFC4], EAX
-
形式二:[REG]
-
REG代表寄存器 只能是8个通用寄存器中的任意一个
读取内存的值:
MOV EAX, 0x13FFD0
MOV EAX, DWORD PTR DS:[ECX]
向内存中写入数据:
MOV EDX, 0x13FFD8
MOV DWORD PTR DS:[EDX], 0x87654321
-
形式三:[REG+立即数]
-
REG代表寄存器 只能是8个通用寄存器中的任意一个
读取内存的值:
MOV ECX, 0x13FFD0
MOV EAX, DWORD PTR DS:[ECX+4]
向内存中写入数据:
MOV EDX, 0x13FFD8
MOV DWORD PTR DS:[EDX+0xC], 0x87654321
-
形式四:[REG+REG*{1,2,4,8}]
-
REG代表寄存器 只能是8个通用寄存器中的任意一个
-
通用寄存器+通用寄存器*一个值。
这个值只能是四种情况:1、2、4、8。
高级语言中编写的数组,就是这种形式。
读取内存的值:
MOV EAX, 0x13FFC4
MOV ECX, 2
MOV EDX, DWORD PTR DS:[EAX+ECX*4]
向内存中写入数据:
MOV EAX, 0x13FFC4
MOV ECX, 2
MOV DWORD PTR DS:[EAX+ECX*4], 87654321
-
形式五:[REG+REG*{1,2,4,8}+立即数]
-
REG代表寄存器 只能是8个通用寄存器中的任意一个
-
通用寄存器+通用寄存器*一个值+立即数。
这个值只能是四种情况:1、2、4、8。
读取内存的值:
MOV EAX, 0x13FFC4
MOV ECX, 2
MOV EDX, DWORD PTR DS:[EAX+ECX*4+4]
向内存中写入数据:
MOV EAX, 0x13FFC4
MOV ECX, 2
MOV DWORD PTR DS:[EAX+ECX*4+4], 87654321