汇编语言——MOV指令

时间:2021-05-10 00:39:54

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 ;寄存器和内存进行双字节交换

标志寄存器状态不变。