参考:http://blog.lanyue.com/view/87/1885071.htm
mov指令的格式:mov 目标操作数,源操作数
可行的操作如下(此处所说的寄存器不包括IP):
mov 寄存器,立即数 (除段寄存器)
mov x ptr 存储单元,立即数(mov 段地址:[立即数],立即数)(必须指定x ptr)
mov 寄存器,寄存器(所有寄存器)
mov 存储单元,寄存器(mov 段地址:[立即数],寄存器)(所有寄存器)
mov 寄存器,存储单元(mov 寄存器,段地址:[立即数])(所有寄存器)
mov x ptr 存储单元,寄存器(mov x ptr 段地址:[寄存器],寄存器)(其中的存储单元的寄存器只能为BX、SI、DI、BP,源操作数寄存器为任意寄存器)(在debug.exe中的a指令必须指明x ptr,在masm中如果不存在则默认x为word)
mov x ptr 寄存器,存储单元(mov x ptr 寄存器,段地址:[寄存器])(其中存储单元的寄存器只能为BX、SI、DI、BP,源操作数寄存器为任意寄存器)(在debug.exe中的a指令必须指明x ptr,在masm中如果不存在则默认x为word)
不可行的操作:
IP不能用作操作数:
mov ip,寄存器
mov 寄存器,ip
mov 存储单元,ip
mov ip,存储单元
mov ip,立即数
操作数都为存储单元:
mov 存储单元,存储单元
源操作数和目标操作数字节不对应:
mov byte ptr [0],ax
不可在段寄存器间传送数据:
mov es,ds