汇编中寄存器的内容的覆盖问题
如果exa寄存器里存放了一个int的数据x 此时将一个short型的数据放入到exa中是不是仅仅覆盖掉ax中的内容 高位存储的内容不变 然后读取exa的时候 得到的x值不再是原来的值 我的理解是否正确?不对的话能否给个例子
如果exa寄存器里存放了一个int的数据x 此时将一个short型的数据放入到exa中是不是仅仅覆盖掉ax中的内容 高位存储的内容不变 然后读取exa的时候 得到的x值不再是原来的值 我的理解是否正确?不对的话能否给个例子
其他:对,不是原来的值但那个寄存器叫eax 例如: int x = 0x88888888
short s = 0x4444
mov eax,x ; eax = 0x88888888
mov eax,s ; eax = 0x00004444
要是只想改变 eax 低位
可以这样写:
mov ax,s ; eax = 0x88884444
要指定寄存器的宽度,有一个字节的 al, 有两个字节的 ax, 有4个字节的 eax