在汇编语言中,MOV指令是数据传送指令,也是从源地址向目的地址传送数据的最基本的编程指令(寄存器之间的数据传送本质上也是一样的)。 其特征是不破坏发送源地址单元的内容。
例如:
MOV AX,2000H; 将16位数据2000H传送到AX寄存器
MOV AL,20H; 将8位数据20H传送到AL寄存器
MOV AX、BX; 将BX寄存器的16位数据传送到AX寄存器
MOV AL,[2000H]; 将2000H单元的内容传送到AL寄存器
需要注意的是:
)1)不能在两个存储单元之间直接传送数据。 这意味着MOV指令只允许一个操作数在内存中。 MOV [SI],[2000H]; 这是错误的
)2) MOV命令中的即时数据不能直接传输到pgddfd(cs,DS,SS,ES )和IP; 不能在pgddfd之间直接传输。 MOV IP,2000 H; 这是错误的
)3) CS和IP不能是目标操作数。 MOV CS,AX; 这是错误的
)4)在MOV指令中,即时数不能是目标操作数。 MOV 2000H,[SI]; 这是错误的
MOV指令可以在CPU内或CPU与存储器之间传送字或字节,其传送信息可以从寄存器到寄存器,立即到寄存器,立即到存储单元,从存储单元到寄存器,从寄存器到存储单元,从寄存器到存储单元,从寄存器或存储单元
但是要注意
33558www.Sina.com/(1) MOV指令的源操作数不能是随机数和代码段CS寄存器;
)2)在MOV命令中,绝对不允许在两个存储单元之间直接传输数据。
)3)在MOV命令中,绝对不允许在两个pgddfd之间直接传送数据。
)4) MOV命令由标志位*
示例: MOV AX,DATA_SEG
MOV DS,AX
注: pgddfd (段地址)必须通过AX寄存器等寄存器进行即时数的初始化。
例如: MOV AL,‘e’
将即时数(字符e的ASC代码)发送到AL寄存器。
示例: MOV BX,OFFSET TABLE
将TABLE的偏移地址发送到BX寄存器,而不是内容。 OFFSET是属性操作符,表示将随后的符号地址的值(不是内容)作为操作数。
示例MOV AX,Y[BP][SI]
地址为16d(ss )十) BP )十) SI )十位移量y的存储单元的内容传送到AX寄存器
原文链接: http://blog.Sina.com.cn/s/blog _ 84ee1fff 0102 xbeb.html
快三大小单双位技巧准确率99/p>
)4) MOV命令由标志位*
示例: MOV AX,DATA_SEG
MOV DS,AX
注: pgddfd (段地址)必须通过AX寄存器等寄存器进行即时数的初始化。
例如: MOV AL,‘e’
将即时数(字符e的ASC代码)发送到AL寄存器。
示例: MOV BX,OFFSET TABLE
将TABLE的偏移地址发送到BX寄存器,而不是内容。 OFFSET是属性操作符,表示将随后的符号地址的值(不是内容)作为操作数。
示例MOV AX,Y[BP][SI]
地址为16d(ss )十) BP )十) SI )十位移量y的存储单元的内容传送到AX寄存器
原文链接: http://blog.Sina.com.cn/s/blog _ 84ee1fff 0102 xbeb.html