MOV [reg],reg .. MOV reg,reg

时间:2016-03-04 21:37:28

标签: assembly x86

我是大会的新手,我想最终解决这个(我的)问题

enter image description here

在这里,似乎EAX reg的值为00 00 93 19和p2 00 00 10 00(但据我所知,它被用作地址) 当MOV [p2],AX完成时..([]表示它查看0x00001000并且在此地址它将根据小端策略将这些值更改为19 ..etc) 所以我应该理解它... 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

,会怎么样?

2 个答案:

答案 0 :(得分:0)

在某些(大多数?)x86汇编程序中,指令mov p2,axmov [p2],ax相同。两者都将寄存器的内容移动到与p2相关联的地址的内存中。

它们都是:

的同义词
mov word ptr p2, ax

我记得,其他汇编程序会拒绝mov p2,ax作为无效指令,但mov [p2],ax是合法的。

答案 1 :(得分:0)

mov [p2], ax地址00 00 10 00内容00009319

之后

mov p2,ax无效,因为p2不代表地址。

  

EAX有自己的地址(例如(仅限于想法)0x00000523,并且此地址的值为00 00 93 19

那是错的。 EAX是一个寄存器,寄存器没有自己的地址。他们只是有内容。