汇编语言——MOV指令

Posted erma

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了汇编语言——MOV指令相关的知识,希望对你有一定的参考价值。

32位指令集

 

1、一般传送指令 

MOV指令:

格式:

        MOV目的-->除CS、IP以外的寄存器或存储器

                 源-->寄存器、存储器、立即数 

ex :

        MOV  ECX ,EDX ;   EDX->ECX

ECX =00000034H

  EDX =00000052H

指令执行结果: ECX = 00000052H, EDX不变,标志寄存器也不变。

MOVSX、MOVZX指令: 

格式:

        MOV目的-->寄存器或存储器

                 源-->寄存器、存储器

 

MOVSX:按符号扩展传送数据指令,将源操作数的内容---传送-->目标操作数。目的操作数左边空缺的为用源操作数的符号进行填充。可对有符号的数进行扩展,以便运算。

 


MOVZX:按零扩展传送数据指令,将源操作数的内容---传送-->目标操作数。目的操作数左边空缺用0填充。可对无符号的数进行扩展,以便运算。

 

ex:

MOV    BL, 80H; 80H->BL

MOVSX AX,   BL  ; 80H用符号扩展为FF0H->AX

MOVZX AX,   BL  ; 80H用零扩展为0080H->AX  

标志寄存器状态不变。

XCHG指令 :

格式:

        XCHG目的、源-->两个操作数,其中一个操作数可为通用寄存器,另一个操作数可为通用寄存器或存储器,两个操作数的长度必须一致。

ex:

XCHG BH,BL ;BH和BL进行字节交换

XCHG SI, DI ;SI和DI进行字节交换

XCHG EBX,ECX ;EBX和ECX进行双字节交换

XCHG AL,MEM_BYTE  ;寄存器和内存进行字节交换

XCHG MEM_WORD, AX  ;寄存器和内存进行字节交换

XCHG ESI,MEM_DWORD ;寄存器和内存进行双字节交换

标志寄存器状态不变。

 


 




以上是关于汇编语言——MOV指令的主要内容,如果未能解决你的问题,请参考以下文章

x86汇编语言的MOV指令

汇编语言——MOV指令

汇编-MOV指令

无后缀的汇编mov指令

总结一下汇编中mov,lea指令的区别

汇编语言基础总结