微机原理——3.8086指令系统
8086指令系统
指令系统是计算机所能执行的全部指令的集合
程序由计算机能识别的、按一定顺序排列的操作命令组成,每一条操作命令称为一条机器指令。
寻址方式:寻找指令中所需的操作数的方式
基本数据类型
8086处理器的基本数据类型是字节(8位)、字(16位)、双字(32位)
字、双字
字、双字在内存中并不需要对齐至自然边界(字、双字的自然边界是偶数编号的地址)
数字数据类型
指针数据类型
指针是内存单元的地址
近(Near)指针(16位)和远(Far)指针(32位)
串数据类型
串是位、字节、字或双字的连续序列
基本指令格式
指令是计算机能够识别和执行的操作命令,由二进制数“0”、“1”组成。每条指令的编码格式由机器指令系统规定。
操作码(operationcode)用来说明指令操作的性质与功能,常用OP表示
寻址方式
立即寻址
在立即寻址(immediateaddressing)方式下,操作数直接包含在指令中,它是一个8位或16位的常数,也叫立即数
MOV AX,0FF00H
直接寻址
再IBM PC机中,把操作数的偏移地址称为有效地址EA (effectiveaddress)
存储单元的有效地址直接由指令给出
操作数的物理地址=16×DS+EA
寄存器寻址
在寄存器寻址(registeraddressing)方式下,操作数包含在寄存器中,由指令指定寄存器的名称
在内部寄存器中执行
寄存器间接寻址
寄存器间接寻址(
registerindirectaddressing)是用寄存器的内容表示操作数的偏移地址的寻址方式
寄存器间接寻址方式中存放操作数偏移地址的寄存器只允许是SI、DI、BX和BP,它们可简称为间址寄存器或称为地址指针
寄存器相对寻址
在寄存器相对寻址方式下,操作数在内存中的存放地址(偏移地址)由间址寄存器的内容加上指令中给出的一个8位或16位的偏移量组成
基址变址寻址方式
基址变址寻址(basedindexedaddressing)方式的操作数的有效地址是一个基址寄存器(BX或BP)和一个变址寄存器(SI或DI)的内容之和,两个寄存器均由指令指定
MOV AX, [BX+SI]
相对基址变址寻址方式
相对基址变址寻址(relativebasedindexed addressing)方式的操作数的有效地址是一个基址寄存器和一个变址寄存器的内容,再加上指令中指定的8位或16位偏移量之和。
物理地址=16×DS+BX+SI+8位或16位偏移量
指令系统
传送类指令
- 通用数据传送指令:通用数据传送指令包括一般传送指令MOV、堆栈操作指令PUSH和POP、交换指令XCHG、查表转换指令XLAT等
- I/O指令:专门面向I/O端口进行读写的指令,共有两条:IN和OUT。
- 取偏移地址指令 LEA reg16, mem
数据操作类指令
逻辑运算和移位指令
串操作指令
控制转移指令
在编写程序时,往往把某些能完成特定功能而又经常要用到的程序段,编写成独立的模块,并把它称为过程(procedure),习惯上也称为子程序(subroutine)
若在过程运行中又去调用另一个过程,称为过程嵌套
条件转移指令
条件转移指令是根据上一条指令执行后,CPU设置的状态标志作为判别测试条件来决定是否转移
条件转移指令通常用在比较指令或算术逻辑运算指令之后,根据比较或运算结果,转向不同的目的地址
循环控制指令
循环控制指令是一组增强型的条件转移指令,用来控制一个程序段的重复执行,重复次数由CX寄存器中的内容决定
中断指令
所谓中断是指计算机在执行正常程序的过程中,由于某些事件发生,需要暂时中止当前程序的运行,转到中断服务程序去为临时发生的事件服务,中断服务程序执行完毕后,又返回正常程序继续运行的指令。
中断分为外部中断和内部中断
0条评论