码迷,mamicode.com
首页 > 编程语言 > 详细

汇编语言——MOV指令

时间:2018-10-03 00:28:27      阅读:1641      评论:0      收藏:0      [点我收藏+]

标签:round   通用   字节   数据   必须   扩展   汇编   一个   内容   

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指令

标签:round   通用   字节   数据   必须   扩展   汇编   一个   内容   

原文地址:https://www.cnblogs.com/Erma/p/9737351.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!