0

我刚刚在 Windows 7(32 位)上打开了 cmd 提示符,我输入debug了然后按下了Return键。

第一条指令运行良好,第二条和第三条指令相同,但第四条指令则不然。

mov bl,3f
mov dl,20
mov [20],bl
mov [03ab],[dl]
            ^error

为什么调试器不让我这样做?

4

1 回答 1

0

因为,据我所知,mov指令不能在两个内存位置之间移动。

您应该加载到一个寄存器中,然后从另一个地址中的寄存器存储。

您也可以设置disi寄存器并使用movsb/w/d/whatever.

注意:我假设您使用的是 16 位代码。

于 2013-11-06T13:39:23.070 回答