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,axmov [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是一个寄存器,寄存器没有自己的地址。 他们只是有内容。

链接地址: http://www.djcxy.com/p/85897.html

上一篇: The difference between MOV [reg],reg .. MOV reg,reg

下一篇: what does "mov offset(%rip), %rax" do?