功能介绍
(片内RAM)传送指令MOV(Move)把一个字节、字或双字的操作数从源位置传送到目的位置,源操作数的内容不变。可以实现立即数到通用寄存器或主存的传送,通用寄存器与通用寄存器、主存或段寄存器之间的传送,主存与段寄存器之间的传送。该操作属于复制性质,不属于搬家性质。
格式:MOV DSt,SRC(从SRC复制数值,覆盖DST)。
代码范例
MOV EAX,#050aH ;将十六进制数050a 传送到通用寄存器eax中
MOV DI,BX(寄存器到寄存器之间传数)
MOV ES,AX(通用寄存器与段寄存器之间传数)
MOV AX,DS(段寄存器至通用寄存器)
MOV AL,23H(将立即数"复制"到寄存器)
MOV [2000H],02H(直接寻址)
MOV [2061H],BX
注意事项
目的操作数要与源操作数类型要一致,不能一个是字,一个是字节
目的操作数要和源操作数类型之一必须要有明确的类型
立即数不能作为目的操作数
不能用立即寻址方式给段寄存器传数
源操作数和目的操作数不能同时为存储器操作数,即存储单元之间不能用MOV指令直接传送
CS和IP不能作为目的操作数,但CS可以作为源操作数。
段寄存器之间不能用MOV指令直接传送
在传送字单元时,遵循“高字节存放在高地址,低字节存放在低地址”的原则。
备注说明
1. OPRD1 为目的操作数,可以是寄存器、存储器、累加器.
OPRD2 为源操作数,可以是寄存器、存储器、累加器和立即数.
2. MOV 指令分为以下四种情况:
<1> 寄存器与寄存器之间的数据传送指令
<2> 立即数到通用寄存器数据传送指令
<3> 寄存器与存储器之间的数据传送指令
<4> 立即数到存储器的数据传送
3. 本指令不影响状态标志位
汇编还提供许多mov变体,如movzx,movsx,MOVS等等