微型计算机系统 (4).ppt
《微型计算机系统 (4).ppt》由会员分享,可在线阅读,更多相关《微型计算机系统 (4).ppt(58页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第第 4 4 章章8086指令系统系统 第第4 4章章 80868086指令系统系统指令系统系统 本章重点:本章重点:掌握8086CPU的寻址方式、指令系统中指令的分类及其常用指令的格式和功能。本章难点:本章难点:灵活运用指令解决问题及其快速查阅指令表。寻址方式是指在指令中用于说明操作数所在地址的方法。8086指令系统把寻址方式分为与数据有关的寻址方式和与地址有关的寻址方式两类。4.1 寻址方式(1)立即寻址方式 定义:有一部分指令所用的8位或16位操作数就直接放在指令中,紧跟在操作码的后面,与操作码一同放在代码段区域中。用途:主要用来给寄存器或储存单元赋值。MOV AL,80H4.1 寻址方
2、式4.1.1 4.1.1 与数据有关的寻址方式与数据有关的寻址方式 (2)寄存器寻址方式定义:指令中操作数由寄存器提供的寻址方式。MOV DL,AL INC CX 4.1 寻址方式4.1.1 4.1.1 与数据有关的寻址方式与数据有关的寻址方式 (3)直接寻址方式定义:有效地址EA在指令的操作码后面直接给出的寻址方式。说明:默认段寄存器DS,若操作数在其他段,应在指令中使用段跨越前缀。即:EA=段寄存器:位移量;PA=(段寄存器)左移4位位移量 MOV AX,1000H4.1 寻址方式4.1.1 4.1.1 与数据有关的寻址方式与数据有关的寻址方式 (4)寄存器间接寻址方式定义:EA存放在由指
3、令指明的寄存器中;只有通过访问寄存器才间接得到EA。(BX)(SI)操作数存放在由DS指示的数据段。(DI)PA=(DS)左移4位+(BX)/(SI)/(DI)(BP)操作数存放在由SS指示的堆栈段中。PA=(SS)左移4位+(BP)如果DS=2000H,SI=1000H,21000H=40H,21001=32H。MOV AX,SI指令执行后结果:AX=3240H。4.1.1 4.1.1 与数据有关的寻址方式与数据有关的寻址方式 (5)寄存器相对寻址方式定义:以寄存器(BX、SI、DI和BP)内容为基地址加上位移量(8位或16位)得到有效地址EA的寻址方式。4.1 寻址方式4.1.1 4.1.
4、1 与数据有关的寻址方式与数据有关的寻址方式 若选择BX、SI、DI寄存器相对寻址,存放操作数的段寄存器默认为DS,若选择BP寄存器相对寻址,则对应的段寄存器默认为SS。如果操作数不在默认段,则要用前缀指出相应的段寄存器名。即操作数的有效地址为:MOV AX,SI+10H4.1.1 4.1.1 与数据有关的寻址方式与数据有关的寻址方式 (6)基址变址寻址方式定义:由基址寄存器(BX,BP)的内容加上变址寄存器(SI,DI)的内容得到操作数有效地址EA的寻址方式。操作数的有效地址为:MOV AX,BX+DI设DS=1000H,BX=5000H,DI=2000H,在执行时,有效地址为7000H,指
5、令执行结果为17000H和17001H两单元的内容取到AX中。4.1.1 4.1.1 与数据有关的寻址方式与数据有关的寻址方式 (7)基址变址相对寻址方式 由基址寄存器(BX,BP)的内容加上变址寄存器(SI,DI)的内容,再加上位移量(8位或16位)得到操作数有效地址EA的方式称为基址变址相对寻址方式。操作数的有效地址为:MOV AX,BX+SI+4500H 若 DS=3000H,BX=2000H,SI=1000H,37500H=56H,37501H=12H,指令执行后 AX=1256H。4.1.1 4.1.1 与数据有关的寻址方式与数据有关的寻址方式 在8086指令系统中,有一些对指令的地
6、址进行寻址的指令,这种寻址方式叫与地址有关的寻址方式。(1)段内直接寻址 用段内直接寻址方式时,指令中给出一个相对位移量,有效转移地址为IP的当前内容再加上一个8位或16位的位移量。段内直接转移寻址也称为相对寻址。4.1.24.1.2与地址有关的寻址方式与地址有关的寻址方式 (2)段内间接寻址 用段内间接寻址方式时,有效地址总是在寄存器中或者在内存单元中,段内间接寻址方式可适用于于无条件转移指令和调用指令。(3)段间直接寻址 用段间直接寻址方式进行寻址时,指令中要给出转移地址的段值和偏移量。产生转移时,将段值送入CS中,将偏移量送入IP中。用这种寻址方式,可以提供一种使程序从一个代码段转移到另
7、一个代码段的方法。4.1.24.1.2与地址有关的寻址方式与地址有关的寻址方式 (4)段间间接寻址 在段间间接寻址方式下产生转移时,IP和CS的内容用内存中2个连续的字来替换。而对这2个内存字,可以通过对数据的各种寻址方式来访问,不过立即数寻址方式和寄存器寻址方式除外。段间转移和段内间接转移必须是无条件转移指令和调用指令。换句话说,条件转移指令只能用段内直接寻址方式,而且转移范围只能是指令所在位置前后的-128+127个单元。4.1.24.1.2与地址有关的寻址方式与地址有关的寻址方式 80868088的指令系统中包含133条基本指令,可以分为以下六个功能组。(1)传送指令;(2)逻辑运算和移
8、位指令;(3)控制转移指令;(4)算术运算指令;(5)串操作指令;(6)处理器控制指令。4.2 8086指令系统 8086数据传送指令有如下四类:(1)通用传送指令;(2)累加器专用传送指令;(3)地址传送指令;(4)标志传送指令。4.2 8086指令系统 4.2.1 4.2.1 传送指令传送指令 1 1通用传送指令通用传送指令(General Purpose Transfer)通用传送指令中包括MOV、XCHG、堆栈和地址传送指令。(1)最基本的传送指令格式:MOV DST,SRC功能:把一个字节或字的源操作数送到目标操 作数所在的单元。例:MOV AL,BL ;BL中的8位数据送AL 4.
9、2.1 4.2.1 传送指令传送指令 (2)堆栈操作指令 堆栈操作指令分为:入栈指令PUSH和出栈指令POP。格式:PUSH SRC功能:堆栈指针SP减2后,把一个字的源操作数传送到目 的操作数所在的单元。格式:POP DST功能:把SP指出的栈顶中的一个字传送到目标操作数所 在的单元,然后加2。说明:堆栈是按“先进后出”原则工作的一段存储器区 域。例:PUSH AX ;将AX的内容推入堆栈 PUSH DS ;将DS的内容推入堆栈 POP BX ;将栈顶两单元弹出送BX 4.2.1 4.2.1 传送指令传送指令 (3)交换指令格式:XCHG DST,SRC功能:使源操作数与目的操作数相互交换。
10、说明:交换指令XCHG可以实现字节交换,也 可以实现字交换。例:XCHG AL,BL XCHG 2530,CX4.2.1 4.2.1 传送指令传送指令 2 2累加器专用传送指令累加器专用传送指令 累加器专用传送指令主要有输入指令IN、输出指令OUT和换码指令XLAT。(1)输入输出指令格式:IN AL,PORT功能:把来自端口PORT的一个字节送入AL寄 存器中4.2.1 4.2.1 传送指令传送指令 2 2累加器专用传送指令累加器专用传送指令输入输出指令格式:IN AX,PORT功能:把来自PORT和PORT+1两个端口的数据构 成一个字送入AX寄存器中格式:OUT PORT,AL功能:把A
11、L寄存器中的一个字节送入端口PORT格式:OUT PORT,AX功能:把AX寄存器中的一个字送入PORT和PORT+1 两个端口 4.2.1 4.2.1 传送指令传送指令 (2)换码指令(Translate)格式:XLAT OPRD 功能:设BX指向一张256个字节的表的起点,AL为表的索引值,本指令执行后AL中即为查表所得到的信息,XLAT经常用来把一种代码翻译成另一个代码。4.2.1 4.2.1 传送指令传送指令 3 3地址传送指令地址传送指令 8086指令系统中,有3条专用于传送地址的指令:LEA、LDS和LES。(1)取有效地址指令 格式:LEA REG,SRC 功能:将源操作数的有效
12、地址送到指定寄存器 中。4.2.1 4.2.1 传送指令传送指令 (2)将地址指针装入DS和另一个寄存器的指令格式:LDS REG,SRC功能:把源操作数SRC的前16位送入目标操作数 REG,后16位送入DS寄存器中。(3)将地址指针装入ES和另一个寄存器的指令 LES指令和LDS指令的格式及使用方法是类似的,只是LES是将一个地址指针装入ES和另一个寄存器。4 4标志传送指令标志传送指令(1)读取标志指令(Load AH with Flags)格式:LAHF功能:将标志位寄存器中的低8位传送到AH中说明:将SF、ZF、AF、PF和CF传送到AH寄存器的相应位,即D7、D6、D4、D2和D0
13、位,执行LAHF指令后,AH寄存器的D5、D3、D1位没有意义,如图所示。OF DF IF TF SF ZF AF PF CF D7 D6 D4 D2 D0FLAGAH4.2.1 4.2.1 传送指令传送指令 (2)设置标志指令(Store AH into Flags)格式:SAHF功能:将AH寄存器的相应位传送到标志寄存器低8位。(3)对标志寄存器的推入堆栈指令格式:PUSHF功能:将标志寄存器的值推入堆栈顶部,同时,栈指针SP的值减2,此指令在执行时标志寄存器的值不变。4.2.1 4.2.1 传送指令传送指令 (4)对标志寄存器的弹出堆栈指令 格式:POPF 功能:在执行时从堆栈中弹出一个
14、字送到标志寄存器中,同时堆栈指针SP的值加2。PUSHF和POPF指令一般用在子程序和中断处理程序的首尾,起保存主程序标志和恢复主程序标志的作用。4.2.1 4.2.1 传送指令传送指令 算术运算指令共有以下五类:加法运算指令、减法运算指令、乘法运算指令、除法运算指令、转换指令。1 1加法指令加法指令 (1)不带进位位的加法指令格式:ADD DST,SRC功能:执行源操作数SRC和目的操作数DST的相加操作,结果放在目的操作数的中。4.2 8086指令系统 4.2.2 4.2.2 算术运算指令算术运算指令 (2)带进位位的加法指令格式:ADC DST,SRC功能:ADC与ADD类似,不同的是将
15、进位标志CF 的值加在和中。ADD AL,50H ADC AX,SI(3)增量指令格式:INC SRC功能:将源操作数的内容加1,再送回该源操 作数。4.2.2 4.2.2 算术运算指令算术运算指令 2 2减法指令减法指令(1)不考虑借位的减法指令格式:SUB DST,SRC功能:将目的操作数减去源操作数,结果放在目的操作数中,主要完成2个字节或2个字的相减。(2)考虑借位的减法指令格式:SBB DST,SRC功能:目的操作数减去源操作数的同时,还要减去CF的值。SBB AX,2030H 4.2.2 4.2.2 算术运算指令算术运算指令 (3)减量指令格式:DEC DST功能:使目的操作数减1
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 微型计算机系统 4 微型计算机 系统
限制150内