《指令系统系统》PPT课件.ppt
《《指令系统系统》PPT课件.ppt》由会员分享,可在线阅读,更多相关《《指令系统系统》PPT课件.ppt(134页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。
1、第第 4 4 章章8086指令系统系统 第第4 4章章 8086 8086指令系统系统指令系统系统 本章重点:本章重点:掌握掌握8086/8088 CPU8086/8088 CPU的寻址方式、指令系统的寻址方式、指令系统中指令的分类及其常用指令的格式和功能。中指令的分类及其常用指令的格式和功能。本章难点:本章难点:灵活运用指令解决问题及其快速查阅指令表。灵活运用指令解决问题及其快速查阅指令表。概述概述指令是指令是微处理器微处理器执行某种操作的命令,微处理器全部指令执行某种操作的命令,微处理器全部指令的集合称为指令系统(指令集)。的集合称为指令系统(指令集)。指令有两种书写格式:机器指令和符号指
2、令。指令有两种书写格式:机器指令和符号指令。F机器指令机器指令指令的二进制数描述指令的二进制数描述硬件只能识别机器指令,用机器指令书写的程序可以直接运硬件只能识别机器指令,用机器指令书写的程序可以直接运行行F符号指令符号指令用规定的助记符和规定的书写格式书写用规定的助记符和规定的书写格式书写的指令的指令与机器指令一一对应,需要翻译成机器指令才能运行与机器指令一一对应,需要翻译成机器指令才能运行1011000000000001MOVAL,11.指令指令2.程序程序程序是为解决某一问题而编写在一起的指令序列程序是为解决某一问题而编写在一起的指令序列机器语言程序机器语言程序:由机器指令书写的程序:由
3、机器指令书写的程序汇编语言程序汇编语言程序:由符号指令书写的程序:由符号指令书写的程序高级语言程序高级语言程序:由高级语言书写的程序,高级语言的基础:由高级语言书写的程序,高级语言的基础是语句,而不是处理器的指令系统是语句,而不是处理器的指令系统汇编语言程序和高级语言程序必须先翻译成机器语言程序才能执汇编语言程序和高级语言程序必须先翻译成机器语言程序才能执行。这一翻译过程对汇编语言程序叫做行。这一翻译过程对汇编语言程序叫做汇编汇编(assemble),对高级),对高级语言程序叫做语言程序叫做编译编译(compilation)或或解释解释(interpretation)符号指令的书写格式为:符号
4、指令的书写格式为:标号标号:操作码助记符操作码助记符操作数助记符操作数助记符;注释注释标号代表该指令在存储器中的地址,为分支、循环提标号代表该指令在存储器中的地址,为分支、循环提供转移目标。供转移目标。可选可选操作码助记符如操作码助记符如ADD,MOV等,指出指令要实现的功等,指出指令要实现的功能能操作数是指令操作的对象。当一条指令需要一个以上操作数是指令操作的对象。当一条指令需要一个以上的操作数时,操作数间用逗号分隔,逗号前为目标操的操作数时,操作数间用逗号分隔,逗号前为目标操作数,逗号后为源操作数。作数,逗号后为源操作数。注释可增强可读性。注释可增强可读性。可选可选3.X86系列微处理器指
5、令系统的发展系列微处理器指令系统的发展基本指令集基本指令集8086/8088116条指令条指令基本指令集基本指令集增增强强指指令令集集系系统统控控制制指指令令集集保护模式保护模式实模式实模式Pentium306条指令条指令4.1 4.1 寻址方式寻址方式寻址方式:寻址方式:寻址方式是指在指令中用于说明操作数所在地寻址方式是指在指令中用于说明操作数所在地址的方法。址的方法。8086指令系统把寻址方式分为与数据有关的寻指令系统把寻址方式分为与数据有关的寻址方式和与地址有关的寻址方式两类。址方式和与地址有关的寻址方式两类。操作数有三种可能的存放方式:操作数有三种可能的存放方式:直接包含在指令中直接包
6、含在指令中立即数立即数立即寻址立即寻址包含在某个寄存器中包含在某个寄存器中寄存器操作数寄存器操作数寄存器寻址寄存器寻址在内存中在内存中存储器操作数(内存操作数)存储器操作数(内存操作数)存储器寻址存储器寻址(1)(1)立即寻址方式立即寻址方式 定义:有一部分指令所用的定义:有一部分指令所用的8 8位或位或1616位操作数位操作数就直接放在指令中,紧跟在操作码的后面,就直接放在指令中,紧跟在操作码的后面,与操作码一同放在代码段区域中。与操作码一同放在代码段区域中。用途:主要用来给寄存器或储存单元赋值。用途:主要用来给寄存器或储存单元赋值。MOV ALMOV AL,80H80H4.1 4.1 寻址
7、方式寻址方式4.1.1 4.1.1 与数据有关的寻址方式与数据有关的寻址方式 (2)(2)寄存器寻址方式寄存器寻址方式定义:指令中操作数由寄存器提供的寻址方定义:指令中操作数由寄存器提供的寻址方式。式。MOV DL MOV DL,AL AL INC CX INC CX 4.1 4.1 寻址方式寻址方式4.1.1 4.1.1 与数据有关的寻址方式与数据有关的寻址方式 (3)(3)直接寻址方式直接寻址方式定义:有效地址定义:有效地址EAEA在指令的操作码后面直接在指令的操作码后面直接给出的寻址方式。给出的寻址方式。说明:默认段寄存器说明:默认段寄存器DSDS,若操作数在其他段,若操作数在其他段,应
8、在指令中使用段跨越前缀。应在指令中使用段跨越前缀。即:即:EA=EA=段寄存器:位移量;段寄存器:位移量;PA=(PA=(段寄存器段寄存器)左移左移4 4位位移量位位移量 MOV AX MOV AX,1000H1000H4.1 4.1 寻址方式寻址方式4.1.1 4.1.1 与数据有关的寻址方式与数据有关的寻址方式 指令中的操作数部分直接给出操作数的有效地址指令中的操作数部分直接给出操作数的有效地址EA,操作数可以是操作数可以是16位或位或32位整数,操作数默认在位整数,操作数默认在DS段中段中MOVAX,3000H低地址低地址高地址高地址CS段段操作码操作码00H30H34H12H34H12
9、HAXDS段段5000053000DS5000 0300053000+如果操作数在如果操作数在DS以外的其他段(以外的其他段(CS,SS,ES)中,指)中,指令中必须包含段超越前缀令中必须包含段超越前缀MOVAX,ES:3000H低地址低地址高地址高地址CS段段操作码操作码00H30H34H12H34H12HAXFS段段2000023000ES2000 0300023000+(4)(4)寄存器间接寻址方式寄存器间接寻址方式定义:定义:EAEA存放在由指令指明的寄存器中;只有通过访存放在由指令指明的寄存器中;只有通过访问寄存器才间接得到问寄存器才间接得到EAEA。(BXBX)(SISI)操作数存
10、放在由操作数存放在由DSDS指示的数据段。指示的数据段。(DIDI)PA=(DS)PA=(DS)左移左移4 4位位+(BX)/+(BX)/(SISI)/(DIDI)(BPBP)操作数存放在由操作数存放在由SSSS指示的堆栈段中。指示的堆栈段中。PA=(SS)PA=(SS)左移左移4 4位位+(BP)+(BP)如果如果DS=2000HDS=2000H,SI=1000HSI=1000H,21000H=40H21000H=40H,21001=32H 21001=32H。MOV AX MOV AX,SISI指令执行后结果:指令执行后结果:AX=3240HAX=3240H。4.1.1 4.1.1 与数据
11、有关的寻址方式与数据有关的寻址方式 低地址低地址高地址高地址CS段段操作码操作码34H12H34H12HAXSS段段7000073000SS7000 0300073000+MOVAX,BPBP(5)(5)寄存器相对寻址方式寄存器相对寻址方式定义:定义:以寄存器以寄存器(BX(BX、SISI、DIDI和和BP)BP)内容为基地内容为基地址加上位移量址加上位移量(8(8位或位或1616位位)得到有效地址得到有效地址EAEA的的寻址方式。寻址方式。4.1 4.1 寻址方式寻址方式4.1.1 4.1.1 与数据有关的寻址方式与数据有关的寻址方式 低地址低地址高地址高地址CS段段操作码操作码00H15H
12、34H12H34H12HDXDS段段7000073500BX150073500+MOVDX,BX+1500DS7000 02000 若选择若选择BXBX、SISI、DIDI寄存器相对寻址,存寄存器相对寻址,存放操作数的段寄存器默认为放操作数的段寄存器默认为DSDS,若选择,若选择BPBP寄寄存器相对寻址,则对应的段寄存器默认为存器相对寻址,则对应的段寄存器默认为SSSS。如果操作数不在默认段,则要用前缀指出相如果操作数不在默认段,则要用前缀指出相应的段寄存器名。即操作数的有效地址为:应的段寄存器名。即操作数的有效地址为:MOV AX MOV AX,SI+10HSI+10H4.1.1 4.1.1
13、 与数据有关的寻址方式与数据有关的寻址方式 (6)(6)基址变址寻址方式基址变址寻址方式定义:由基址寄存器定义:由基址寄存器(BX(BX,BP)BP)的内容加上变的内容加上变址寄存器址寄存器(SI(SI,DI)DI)的内容得到操作数有效地的内容得到操作数有效地址址EAEA的寻址方式。的寻址方式。操作数的有效地址为:操作数的有效地址为:MOV AXMOV AX,BX+DIBX+DI设设DS=1000HDS=1000H,BX=5000HBX=5000H,DI=2000HDI=2000H,在执行时,在执行时,有效地址为有效地址为7000H7000H,指令执行结果为,指令执行结果为17000H1700
14、0H和和17001H17001H两单元的内容取到两单元的内容取到AXAX中。中。4.1.1 4.1.1 与数据有关的寻址方式与数据有关的寻址方式 (7)(7)基址变址相对寻址方式基址变址相对寻址方式 由基址寄存器由基址寄存器(BX(BX,BP)BP)的内容加上变址的内容加上变址寄存器寄存器(SI(SI,DI)DI)的内容,再加上位移量的内容,再加上位移量(8(8位位或或1616位位)得到操作数有效地址得到操作数有效地址EAEA的方式称为基的方式称为基址变址相对寻址方式。址变址相对寻址方式。操作数的有效地址为:操作数的有效地址为:MOVAX,BX+SI+4500H若若DS=3000H,BX=20
15、00H,SI=1000H,37500H=56H,37501H=12H,指令执行后指令执行后AX=1256H。4.1.1 4.1.1 与数据有关的寻址方式与数据有关的寻址方式 单元单元(0,0)单元单元(0,1)单元单元(0,n)(位移量)(位移量)二维数组的基址加变址寻址方式二维数组的基址加变址寻址方式基址寄存器基址寄存器+MOVAX,BX+SI+100H单元单元(1,0)单元单元(1,n)单元单元(1,1)单元单元(m,n)变址寄存器变址寄存器+在在80868086指令系统中,有一些对指令的地址指令系统中,有一些对指令的地址进行寻址的指令,这种寻址方式叫与地址有关进行寻址的指令,这种寻址方式
16、叫与地址有关的寻址方式。的寻址方式。(1)(1)段内直接寻址段内直接寻址 用段内直接寻址方式时,指令中给出一个用段内直接寻址方式时,指令中给出一个相对位移量,有效转移地址为相对位移量,有效转移地址为IPIP的当前内容再的当前内容再加上一个加上一个8 8位或位或1616位的位移量。段内直接转移位的位移量。段内直接转移寻址也称为相对寻址。寻址也称为相对寻址。与地址有关的寻址方式与地址有关的寻址方式 (2)(2)段内间接寻址段内间接寻址 用段内间接寻址方式时,有效地址总是在用段内间接寻址方式时,有效地址总是在寄存器中或者在内存单元中,段内间接寻址方寄存器中或者在内存单元中,段内间接寻址方式可适用于于
17、无条件转移指令和调用指令。式可适用于于无条件转移指令和调用指令。(3)(3)段间直接寻址段间直接寻址 用段间直接寻址方式进行寻址时,指令中用段间直接寻址方式进行寻址时,指令中要给出转移地址的段值和偏移量。产生转移时,要给出转移地址的段值和偏移量。产生转移时,将段值送入将段值送入CSCS中,将偏移量送入中,将偏移量送入IPIP中。用这种中。用这种寻址方式,可以提供一种使程序从一个代码段寻址方式,可以提供一种使程序从一个代码段转移到另一个代码段的方法。转移到另一个代码段的方法。与地址有关的寻址方式与地址有关的寻址方式 (4)(4)段间间接寻址段间间接寻址 在段间间接寻址方式下产生转移时,在段间间接
18、寻址方式下产生转移时,IPIP和和CSCS的内容用内存中的内容用内存中2 2个连续的字来替换。而对个连续的字来替换。而对这这2 2个内存字,可以通过对数据的各种寻址方个内存字,可以通过对数据的各种寻址方式来访问,不过立即数寻址方式和寄存器寻址式来访问,不过立即数寻址方式和寄存器寻址方式除外。段间转移和段内间接转移必须是无方式除外。段间转移和段内间接转移必须是无条件转移指令和调用指令。换句话说,条件转条件转移指令和调用指令。换句话说,条件转移指令只能用段内直接寻址方式,而且转移范移指令只能用段内直接寻址方式,而且转移范围只能是指令所在位置前后的围只能是指令所在位置前后的-128-128+127+
19、127个单个单元。元。与地址有关的寻址方式与地址有关的寻址方式 总结:总结:寻址方式既针对源操作数,也针对目标操作数寻址方式既针对源操作数,也针对目标操作数实模式下段的最大长度为实模式下段的最大长度为64KB,因此必须保证有,因此必须保证有效地址不超过效地址不超过FFFFH立即立即寄存器寄存器寄存器间接寄存器间接寄存器相对寄存器相对直接直接基址变址基址变址相对基址变址相对基址变址 8086 808680888088的指令系统中包含的指令系统中包含133133条基本条基本指令,可以分为以下六个功能组。指令,可以分为以下六个功能组。(1)(1)传送指令;传送指令;(2)(2)逻辑运算和移位指令;逻
20、辑运算和移位指令;(3)(3)控制转移指令;控制转移指令;(4)(4)算术运算指令;算术运算指令;(5)(5)串操作指令;串操作指令;(6)(6)处理器控制指令。处理器控制指令。4.2 80864.2 8086指令系统指令系统 80868086数据传送指令有如下四类:数据传送指令有如下四类:(1)(1)通用传送指令;通用传送指令;(2)(2)累加器专用传送指令;累加器专用传送指令;(3)(3)地址传送指令;地址传送指令;(4)(4)标志传送指令。标志传送指令。4.2 80864.2 8086指令系统指令系统 4.2.1 4.2.1 传送指令传送指令 1 1通用传送指令通用传送指令(Genera
21、l Purpose TransferGeneral Purpose Transfer)通用传送指令中包括通用传送指令中包括MOVMOV、XCHGXCHG、堆栈和、堆栈和地址传送指令。地址传送指令。(1)(1)最基本的传送指令最基本的传送指令格式:格式:MOV DSTMOV DST,SRCSRC功能:把一个字节或字的源操作数送到目标操功能:把一个字节或字的源操作数送到目标操 作数所在的单元。作数所在的单元。例例:MOV AL MOV AL,BLBL ;BLBL中的中的8 8位数据送位数据送ALAL 4.2.1 4.2.1 传送指令传送指令 MOVMEM,REGMOVREG,MEMMOVREG1,
22、REG2MOVREG,DATAMOVMEM,DATAMOVSREG,REGMOVSREG,MEMMOVREG,SREGMOVMEM,SREG具体指令具体指令可以字型,也可以字节型,但是必须匹配只能是字型操作MOV AX,100MOV AX,100H的区别?的区别?l操作数即可以是字节型,也可以是字型,操作数即可以是字节型,也可以是字型,但两个类型必须相同。但两个类型必须相同。l两个操作数不能都是存储器操作数两个操作数不能都是存储器操作数l代码段寄存器不能是目标操作数代码段寄存器不能是目标操作数l段寄存器不能直接用立即数赋值段寄存器不能直接用立即数赋值l两个操作数必须有一个能确定类型两个操作数必
23、须有一个能确定类型l所有所有MOV指令不影响标志寄存器指令不影响标志寄存器注意:注意:(2)(2)堆栈操作指令堆栈操作指令 堆栈操作指令分为:入栈指令堆栈操作指令分为:入栈指令PUSHPUSH和出栈指令和出栈指令POPPOP。格式:格式:PUSH SRCPUSH SRC功能:堆栈指针功能:堆栈指针SPSP减减2 2后,把一个字的源操作数传送到目后,把一个字的源操作数传送到目 的操作数所在的单元。的操作数所在的单元。格式:格式:POP DSTPOP DST功能:把功能:把SPSP指出的栈顶中的一个字传送到目标操作数所指出的栈顶中的一个字传送到目标操作数所 在的单元,然后加在的单元,然后加2 2。
24、说明:堆栈是按说明:堆栈是按“先进后出先进后出”原则工作的一段存储器区原则工作的一段存储器区 域。域。例例:PUSH AXPUSH AX ;将;将AXAX的内容推入堆栈的内容推入堆栈 PUSH DS PUSH DS ;将;将DSDS的内容推入堆栈的内容推入堆栈 PUSH BX PUSH BX ;将栈顶两单元弹出送;将栈顶两单元弹出送BX BX 4.2.1 4.2.1 传送指令传送指令 注释注释所有堆栈操作都是所有堆栈操作都是16位的操作位的操作除除CS外,段寄存器都可以作为外,段寄存器都可以作为POP的操的操作数作数栈操作不允许立即数栈操作不允许立即数不影响标志寄存器不影响标志寄存器(3)(3
25、)交换指令交换指令格式:格式:XCHG DSTXCHG DST,SRC SRC功能:使源操作数与目的操作数相互交换。功能:使源操作数与目的操作数相互交换。说明:交换指令说明:交换指令XCHGXCHG可以实现字节交换,也可以实现字节交换,也 可以实现字交换。可以实现字交换。例例:XCHG ALXCHG AL,BL BL XCHG 2530 XCHG 2530,CXCX4.2.1 4.2.1 传送指令传送指令 注释注释可以字节,也可以字操作,但是类型要可以字节,也可以字操作,但是类型要一致一致不能出现段寄存器不能出现段寄存器不能两个存储器操作数不能两个存储器操作数不能有立即数不能有立即数不影响标志
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 指令系统系统 指令系统 系统 PPT 课件
限制150内