在汇编语言中,第二行代码是做什么的?当这个代码被执行时发生了什么?
x DWORD 1, 2, 3, 4, 5, 6, 7, 8
mov edx, [x+4]发布于 2022-10-12 17:37:25
mov是一种指令,它在寄存器之间或从指定的内存位置复制数据。
TLDR:mov edx, [x+4]从x的第四个字节(值= 2)开始,将dword (4个字节)加载到edx寄存器中。
在内存中,x数组可以看作是:
0x00000001,
0x00000002,
0x00000003,
0x00000004,
0x00000005,
0x00000006,
0x00000007,
0x00000008x的地址对应于0x00000001的第一个字节。x之后的第四个字节是0x00000002的第一个字节。在这个字节之后,32位被加载到edx中。因此,最终,0x00000002值在edx中。
https://stackoverflow.com/questions/74045862
复制相似问题