MOV [reg],reg .. MOV reg,reg。之间的区别
我是Assembly的新手,我想最终解决这个(我的)问题
那么在这里,EAX reg的值为00 00 93 19和p 00 00 10 00(但据我了解,它被用作地址)当MOV [p2],AX完成时..([]表示它看起来在0x00001000,在这个地址,它会改变这些值为19 ..等,根据小端endian策略)所以我应该理解它像.. EAX有自己的地址(例如(只为想法) 0x00000523并且在此地址具有值00 00 93 19,并且p2具有其自己的地址00 00 10 00和值00 00 66 65(在改变之前)
所以在改变后,p2将如下所示:地址00 00 10 00并具有值00 00 93 19?
如果我写MOV p2,AX,它会怎样?
在某些(大多数?)x86汇编程序中,指令mov p2,ax
与mov [p2],ax
。 两者都将寄存器的内容移入与p2
关联的地址的内存中。
它们都是同义词:
mov word ptr p2, ax
我记得,其他汇编器会拒绝mov p2,ax
作为无效指令,但mov [p2],ax
是合法的。
在mov [p2], ax
地址00 00 10 00
内容将是00009319
mov p2,ax
只要p2不代表地址mov p2,ax
就无效。
EAX有它自己的地址(例如(仅用于想法)0x00000523,并且在这个地址具有值00 00 93 19
这是错误的。 EAX
是一个寄存器,寄存器没有自己的地址。 他们只是有内容。