详解汇编语言MOV指令

 更新时间:2020年01月19日 11:50:20   作者:Emra  
在汇编语言中,MOV指令是数据传送指令,也是最基本的编程指令,这篇文章主要介绍了汇编语言MOV指令,需要的朋友可以参考下

在汇编语言中,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指令

 MOV AX,BX
MOV AH,BX
MOV DX,AL

第二句都错误,,那么第三句呢(8位数据放到16位REG里),,

若正确,放高8位还是低8位呢??? 高8位都补0???

解决:

在汇编语言中,MOV指令是数据传送指令,也是最基本的编程指令,用于将一个数据从源地址传送到目标地址(寄存器间的数据传送本质上也是一样的)。其特点是不破坏源地址单元的内容。 

例如: 

1、MOVAX,2000H;将16位数据2000H传送到AX寄存器。

2、MOVAL,20H;将8位数据20H传送到AL寄存器。

3、MOVAX,BX;将BX寄存器的16位数据传送到AX寄存器。

4、MOVAL,[2000H];将2000H单元的内容传送到AL寄存器。

扩展资料:

汇编语言特点:

1、机器相关性

这是一种面向机器的低级语言,通常是为特定的计算机或系列计算机专门设计的。因为是机器指令的符号化表示,故不同的机器就有不同的汇编语言。使用汇编语言能面向机器并较好地发挥机器的特性,得到质量较高的程序。

2、高速度和高效率

汇编语言保持了机器语言的优点,具有直接和简捷的特点,可有效地访问、控制计算机的各种硬件设备,如磁盘、存储器、CPU、I/O端口等,且占用内存少,执行速度快,是高效的程序设计语言。

总结

以上所述是小编给大家介绍的汇编语言MOV指令,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

相关文章

  • 汇编语言乘指令 MUL、IMUL的具体使用

    汇编语言乘指令 MUL、IMUL的具体使用

    这篇文章主要介绍了汇编语言乘指令 MUL、IMUL的具体使用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-02-02
  • 汇编程序输出“Hello world”的实现

    汇编程序输出“Hello world”的实现

    这篇文章主要介绍了汇编程序输出“Hello world”的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-01-01
  • 汇编语言中mov和lea指令的区别详解

    汇编语言中mov和lea指令的区别详解

    指令(instruction)是一种语句,它在程序汇编编译时变得可执行。本文给大家总结一下汇编语言中mov和lea指令的区别详解,感兴趣的朋友跟随小编一起看看吧
    2020-01-01
  • 汇编语言实现电子闹钟思路详解

    汇编语言实现电子闹钟思路详解

    这篇文章主要介绍了汇编语言实现电子闹钟思路详解,本文给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-02-02
  • 汇编语言:比较指令、跳转指令、JCC的使用

    汇编语言:比较指令、跳转指令、JCC的使用

    这篇文章主要介绍了汇编语言:比较指令、跳转指令、JCC的使用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-01-01
  • 汇编语言软件延时1s的实现方法

    汇编语言软件延时1s的实现方法

    这篇文章主要介绍了汇编语言软件延时1s的实现方法,本文给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-01-01
  • 汇编程序成绩排序的实现

    汇编程序成绩排序的实现

    这篇文章主要介绍了汇编程序成绩排序的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-02-02
  • 汇编程序 查表求平方的实现

    汇编程序 查表求平方的实现

    这篇文章主要介绍了汇编程序 查表求平方的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-02-02
  • 汇编语言中的segment

    汇编语言中的segment

    segment是段的意思,是段定义伪指令,一个正常的应用程序被由若干个 segment组成,接下来通过本文给大家介绍汇编语言中的segment,需要的朋友可以参考下
    2020-01-01
  • 汇编语言入门教程(这一篇足矣)

    汇编语言入门教程(这一篇足矣)

    汇编语言是一种最低级、最古老、不具有移植性的编程语言,它能够直接访问计算机硬件,所以执行效率极高,占用资源极少,想学习汇编语言的朋友不妨阅读下本教程
    2020-01-01

最新评论