我刚刚在Windows 7(32位)上打开了cmd提示符,输入了debug
然后我按了返回键。
第一条指令没问题,第二条和第三条指令相同,但第四条指令不一样。
mov bl,3f
mov dl,20
mov [20],bl
mov [03ab],[dl]
^error
为什么调试器不允许我这样做?
答案 0 :(得分:0)
因为,据我记忆,mov
指令不能在两个记忆位置之间移动。
您应该加载到寄存器中,然后从另一个地址的寄存器存储区加载。
您还可以设置di
和si
个注册表并使用movsb/w/d/whatever
。
注意:我假设您使用的是16位代码。