MENU

指令系统&MOV指令 | 汇编语言

April 27, 2019 • 我爱学习

指令系统

  • 定义:是计算机能够执行的各种类型的指令的集合;
  • 8086/8088CPU指令系统的指令可以分为六大类
1.传送类指令2.算数运算类指令3.位操作指令
4.串操作指令5.程序转移类指令6.处理器控制指令
  • 从格式上划分,可以分为三种

    1. 双操作数指令:OPR DEST SRC
    2. 单操作数指令:OPR DEST
    3. 无操作数指令:OPR
  • 对于无操作数指令,包含以下两种情况:

    1. 指令不需要操作数,如暂停指令HLT
    2. 在指令格式中没有明显地指明操作数,但是隐含指明(隐式使用)了操作数的存在地方。如压栈指令PUSHF

一、传送类指令

  • 数据信息地址信息传送到一个寄存器存储单元中。

    1. 通用数据传送指令

      • 指令格式:MOV DEST, SRC
      • 指令功能:从源地址SRC转移到目标地址DEST中(目标地址中的内容被覆盖);即DEST<=(SRC)
      • MOV指令对标志寄存器的各位均无影响。
      • MVO指令可以传送字节数据也可以传送数据,但源操作数和目的操作数的长度必须一致
      • MOV指令可以分为以下几种情况:

        1. 立即数传送到寄存器储存单元立即数只能作为源操作数,不能传送给段寄存器

        例:MOV AH, 10H ; MOV AX, 2345H ; MOV M-BYTE, 64H ; MOV M-WORD, 264H ;

        1. 寄存器之间的传送,段寄存器CS只能作为源操作数,不能作目的操作数

        例:MOV AH, CH ; MOV CS, AX 错误X ;

        1. 存储器和存储单元之间的传送
          例:MOV AL, [SI] ; MOV [DI], AH ; MOV AX,10[BX] ; MOV [BX], [BP][SI] 错误X;
      • MOV指令在使用时需要注意以下几点 :

        1. 立即数只能作为源操作数,不能传送给段寄存器
        2. 段寄存器CS只能作为源操作数,不能作目的操作数
        3. 存储单元之间不能直接传送
        4. 不影响标志位
      • 各种操作数之间的关系如图

        1. 箭头从源操作数出发指向目的操作数。
Last Modified: September 8, 2021