初学汇编遇到一个疑问,汇编指令:
0x100002d5b <+11>: xorl %ecx, %ecx ; ecx = 0x00000000
0x100002d5d <+13>: movl %ecx, %edx ; 把 ecx 移动到 edx
此时 edx
是 0x00000000
可以理解,但为什么 rdx
是 0x0000000000000000
呢。
在执行第二条汇编指令前 rdx
的值是 0x00007ffeefbff5b8
。执行 movl 后前面的 0x00007ffe
为什么会丢失呢。感觉应该是和低位高位有关系,计算机基础不是很好希望能得到指点。