8086/8088 指令系统 8086/8088 的指令系统丰富,而且指令的功能也强
大多数指令既能处理字数据,又能处理字节数据; 算术运算和逻辑运算不局限于累加器, 存储器操作数也可直接参加算术逻辑运算
8086/8088 的指令系统可分为如下六个功能组: (1) 数据传送 (2) 算术运算 (3) 逻辑运算 (4) 串操作 (5) 程序控制 (6) 处理器控制 汇编语言语句的一般格式
指令语句可由四部分组成,一般格式如下: [标号:] 指令助记符 [操作数 1] [操作数 2] [;注释] 指令是否带有操作数,完全取决于指令本身标号的使用取决于程序的需要, 标号只被汇编程序识别,它与指令本身无关
(一)数据传送指令 数据传送指令组又可分为:传送指令,交换指令,地址传送指令,堆栈操作指令,标志传送指令,查表指令,输入输出指令在有关章节介绍
除了 SAHF 和 POPF 指令外,这组指令对各标志没有影响
1, 传送指令 其格式如下:MOV DST,SRC 目的,源 源操作数可以是累加器,寄存器,存储单元以及立即数, 而目的操作数可以是累加器,寄存器和存储单元
传送不改变源操作数
传送指令能实现下列传送功能: (1) CPU 内部寄存器之间的数据传送
例如: MOV AH,AL MOV DL,DH MOV BP,SP MOV AX,CS 注意:源和目的操作数不能同时是段寄存器;代码段寄存器 CS 不能作为目的;指令指针 IP 即不能作为源,也不能作为目的
注意,这种例外永远存在
(二)交换指令 利用交换指令可方便地实现通用寄存器与通用寄存器或存储单间的数据交换, 交换指令的格式如下: XCHG OPRD1,OPRD2 此指令把操作数 OPRD1R 的内容与操作数 OPRD2 的内容交换
操作数同时是字节或字
例如: XCHG AL,AH; XCHG SI,BX