8086指令系统一览表
- 格式:doc
- 大小:517.50 KB
- 文档页数:19
8086指令系统总结8086是一种x86架构的微处理器,由Intel公司于1978年推出。
它是16位的,拥有20位的物理寻址能力,可以访问1MB的内存空间。
8086指令系统是其所支持的一系列指令集合,下面将对8086指令系统进行详细总结。
数据传输指令是8086指令系统中的基础指令之一,用于将数据从一个位置传输到另一个位置。
其中包括mov指令、xchg指令、push指令和pop指令等。
mov指令用于将数据从一个存储位置复制到另一个存储位置;xchg指令用于交换两个存储位置中的数据;push指令用于将数据压入栈顶;pop指令用于将栈顶的数据弹出。
算术运算指令是用于进行各种算术运算的指令。
8086支持包括加法、减法、乘法和除法等多种算术运算指令。
例如,add指令用于将两个操作数相加,sub指令用于将第二个操作数从第一个操作数中减去,mul指令用于将两个操作数相乘,div指令用于将第一个操作数除以第一个操作数,并将结果保存在指定的寄存器中。
逻辑运算指令用于进行逻辑运算,包括与、或、非、异或等运算。
例如,and指令用于对两个操作数进行按位与运算,or指令用于对两个操作数进行按位或运算,not指令用于对一个操作数进行按位非运算,xor指令用于对两个操作数进行按位异或运算。
控制转移指令用于控制程序的执行流程。
包括无条件转移指令、条件转移指令和循环指令。
无条件转移指令用于无条件地跳转到指定的地址,例如jmp指令;条件转移指令用于根据一些条件是否成立来进行跳转,例如je指令(跳转到指定地址,如果上一次比较操作相等);循环指令用于循环执行指定的指令块,例如loop指令。
I/O指令用于进行输入输出操作,包括从外部设备读取数据和将数据写入外部设备。
例如,in指令用于将输入端口的数据读取到指定的寄存器中,out指令用于将指定的寄存器中的数据写入到输出端口。
此外,8086还支持一些特殊的指令,如访问标志寄存器的指令,控制指令(如hlt指令、nop指令)和字符串指令(如movsb指令、cmpsb指令)等。
第三章8086的指令系统3.1 8086指令系统概述所谓一个微处理器的指令系统是一个微处理器所执行的全部指令的集合。
在8086的指令系统中一共有133条指令。
8086指令系统是在8位微处理器8080/8085的指令系统基础上设计的,它兼容了8080/8085的全部指令,这部分对8位微处理器具有兼容性的指令往往是处理字节(8位)的。
此外,8086还有自己所特有的对字或字符串的处理指令,以及对带符号数的运算指令、中断指令和协处理器指令。
对微处理器的指令的描述,一般有两种表示方法:指令的机器码和汇编指令。
无论对于机器码指令还是对于汇编指令均要解决三个问题(三个信息)(1)指令要完成什么操作(操作码);(2)参加这个操作的操作数在哪里(操作数);(3)操作结果放在哪里(结果);为了简化指令,通常在微机系统中规定:操作结果要放在某一个操作数中。
如MOV AL,08H;ADD AX,BX;(源操作数,目标操作数)这样,就将指令所要提供的信息简化为了两部分:操作码、操作数。
指令的机器码就是用二进制码描述指令的操作码和操作数的一种方式,实际上在微机系统内部,指令就是以机器码的形式存在的。
所谓的汇编指令是用指令功能的英文缩写表示操作码,用数字和符号表示操作数的指令描述方法。
例如操作码操作数MOV AX,2000H操作码B8H操作数:00H20H由于汇编语言程序有便于理解、识别、阅读和交流的优点。
所以汇编指令得到了广泛的应用。
但由于最终在机器中使用的是机器码,所以要有一个中间环节就是对其进行翻译。
3.2 8086指令的寻址方式所谓寻址方式就是寻找操作数的方式,所以寻址方式实际上在两种情况下被涉及:一种是用来对操作数进行寻址;另一种是对转移地址和调用地址进行寻址。
下面我们所讨论的寻址方式都是针对操作数的,关于指令地址的寻址,将在讲述转移指令和调用指令时作具体说明。
一条指令的机器码通常包含操作码(OP)和操作数两部分。