微型计算机原理及其应用第三章80868088的指令系统.ppt
《微型计算机原理及其应用第三章80868088的指令系统.ppt》由会员分享,可在线阅读,更多相关《微型计算机原理及其应用第三章80868088的指令系统.ppt(91页珍藏版)》请在三一办公上搜索。
1、1,微型计算机原理及其应用第三章:8086/8088的指令系统,合肥工业大学计算机与信息学院,2,第三章:8086/8088的指令系统,寻址方式指令系统,3,第三章:8086/8088的指令系统,寻址方式指令系统,4,第三章:8086/8088的指令系统寻址方式,什么叫指令?指令系统?寻址方式?指令:计算机提供给用户的硬件命令。指令系统(集):指令的集合。操作码:指计算机所要执行的操作,即指出操作类型,是一种助记符。操作数:指在指令执行操作的过程中所需要的操作数。该字段除可以是操作数本身外,也可以是操作数地址或是地址的一部分,还可以是指向操作数地址的指针或其它有关操作数的信息。寻址方式:就是指
2、令中用于说明操作数所在地址的方法,或者说是寻找操作数有效地址的方法。,指令的一般格式,5,第三章:8086/8088的指令系统寻址方式,什么叫指令?指令系统?寻址方式?例如:ADD CL,BH在计算机内部的表示:00000010 11001111,6,第三章:8086/8088的指令系统寻址方式,8086/8088指令系统中有哪些寻址方式?立即寻址方式(Immediate Addressing)寄存器寻址方式(Register Addressing)直接寻址方式(Direct Addressing)寄存器间接寻址方式(Register Indirect Addressing)寄存器相对寻址方式
3、(Register Relative Addressing)基址加变址寻址方式(Based Indexed Addressing)相对基址加变址寻址方式(Relative Based Indexed Addressing),7,第三章:8086/8088的指令系统寻址方式,8086/8088指令系统中有哪些寻址方式?立即寻址方式(Immediate Addressing)寄存器寻址方式(Register Addressing)直接寻址方式(Direct Addressing)寄存器间接寻址方式(Register Indirect Addressing)寄存器相对寻址方式(Register Re
4、lative Addressing)基址加变址寻址方式(Based Indexed Addressing)相对基址加变址寻址方式(Relative Based Indexed Addressing),8,第三章:8086/8088的指令系统寻址方式,立即寻址方式(Immediate Addressing)操作数作为指令的一部分而直接写在指令中,这种操作数称为立即数,这种寻址方式也就称为立即数寻址方式。,MOV AX,3412H,9,第三章:8086/8088的指令系统寻址方式,立即寻址方式(Immediate Addressing)立即操作数可以是8位或16位,并且是指令的一部分。立即数据总是
5、紧跟在指令操作码之后并和操作码一起存放在代码段中,因而立即数据总是和操作码一起被放入BIU中的指令队列里,在指令执行时不需再存取存储器。MOV AH,80H ADD AX,1234HMOV ECX,123456H MOV B1,12HMOV W1,3456H ADD D1,32123456H其中:B1、W1和D1分别是字节、字和双字单元。以上指令中的第二操作数都是立即数,在汇编语言中,规定:立即数不能作为指令中的第一操作数。该规定与高级语言中“赋值语句的左边不能是常量”的规定相一致。使用立即寻址的指令主要用来给寄存器赋初值。,10,第三章:8086/8088的指令系统寻址方式,8086/808
6、8指令系统中有哪些寻址方式?立即寻址方式(Immediate Addressing)寄存器寻址方式(Register Addressing)直接寻址方式(Direct Addressing)寄存器间接寻址方式(Register Indirect Addressing)寄存器相对寻址方式(Register Relative Addressing)基址加变址寻址方式(Based Indexed Addressing)相对基址加变址寻址方式(Relative Based Indexed Addressing),11,第三章:8086/8088的指令系统寻址方式,寄存器寻址方式(Register Ad
7、dressing)操作数包含在CPU的内部寄存器中,如寄存器AX、BX、CX、DX等,指令指定寄存器号。,MOV AX,BX,12,第三章:8086/8088的指令系统寻址方式,寄存器寻址方式(Register Addressing)对于16位操作数,寄存器可以是AX,BX,CX,DX,SI,DI,SP或BP;而对8位操作数,寄存器可以是AH,AL,BH,BL,CH,CL,DH或DL。特点:操作数在CPU内,不用通过总线读写,速度快;目的和源操作数均可采用此寻址方式。MOV AX,BX;MOV CL,DL;MOV ESI,EDI;INC CX;ROL AH,1;,13,第三章:8086/808
8、8的指令系统寻址方式,8086/8088指令系统中有哪些寻址方式?立即寻址方式(Immediate Addressing)寄存器寻址方式(Register Addressing)直接寻址方式(Direct Addressing)寄存器间接寻址方式(Register Indirect Addressing)寄存器相对寻址方式(Register Relative Addressing)基址加变址寻址方式(Based Indexed Addressing)相对基址加变址寻址方式(Relative Based Indexed Addressing),14,第三章:8086/8088的指令系统寻址方式,
9、直接寻址方式(Direct Addressing)操作数的有效地址(Effective Address,EA。在IBM PC中把操作数的偏移地址称为有效地址)是指令的一部分,它与操作码一起存放在代码段中,但操作数一般是在数据段中,因而这种寻址方式是以DS的内容为基准。,MOV AL,DS:2000H(MOV AL,2000H),15,第三章:8086/8088的指令系统寻址方式,直接寻址方式(Direct Addressing)若DS=4000H,则此指令式将数据段中物理地址为42000H 单元的内容传送AL寄存器。例:MOV AL,2000H;DS*10H+2000H送 AL;MOV AX,
10、2000H;DS*10H+2000H送AL,DS*10H+2000H+1送AH;MOV AL,ES:2000H;这里ES是段超越前缀,所以源操作数是在ES*10H+2000H的内存单元中。MOV 3000H,AL;目的操作数采用直接寻址,将AL送DS*10H+3000H的内存单元。,16,第三章:8086/8088的指令系统寻址方式,8086/8088指令系统中有哪些寻址方式?立即寻址方式(Immediate Addressing)寄存器寻址方式(Register Addressing)直接寻址方式(Direct Addressing)寄存器间接寻址方式(Register Indirect A
11、ddressing)寄存器相对寻址方式(Register Relative Addressing)基址加变址寻址方式(Based Indexed Addressing)相对基址加变址寻址方式(Relative Based Indexed Addressing),17,第三章:8086/8088的指令系统寻址方式,寄存器间接寻址方式(Register Indirect Addressing)操作数的有效地址EA存放在基址寄存器(BX或BP)或变址寄存器(DI或SI)中。,MOV AX,BX,18,第三章:8086/8088的指令系统寻址方式,寄存器间接寻址方式(Register Indirect
12、 Addressing)MOV AL,BX;DS*10H+BX送AL设DS=3000H,BX=2000H,(32000H)=45H,则执行该指令后,AL=45H。MOV AL,BP;SS*10H+BP送AL设 DS=2000H,SS=1000H,BP=0100H,(10100H)=3BH,(20100H)=4CH。执行这条指令后,AL=3BH。MOV AX,BX;DS*10H+BX送AL,DS*10H+BX+1送AH,19,第三章:8086/8088的指令系统寻址方式,8086/8088指令系统中有哪些寻址方式?立即寻址方式(Immediate Addressing)寄存器寻址方式(Regis
13、ter Addressing)直接寻址方式(Direct Addressing)寄存器间接寻址方式(Register Indirect Addressing)寄存器相对寻址方式(Register Relative Addressing)基址加变址寻址方式(Based Indexed Addressing)相对基址加变址寻址方式(Relative Based Indexed Addressing),20,第三章:8086/8088的指令系统寻址方式,寄存器相对寻址方式(Register Relative Addressing)操作数的有效地址EA是8位或16位的位移量与基址寄存器BX或基址指示器
14、BP或某个变址寄存器(DI或SI)之和。,MOV Al,BX+5,21,第三章:8086/8088的指令系统寻址方式,寄存器相对寻址方式(Register Relative Addressing)MOV AL,5BXMOV AL,BX+5COUNT EQU 5 MOV AL,COUNTBX以上三个例子是等价的,它执行的操作是:DS*10H+BX+5送AL。这里,5称为位移量(displacement),它可以是8位或16位的二进制数。,22,第三章:8086/8088的指令系统寻址方式,8086/8088指令系统中有哪些寻址方式?立即寻址方式(Immediate Addressing)寄存器寻
15、址方式(Register Addressing)直接寻址方式(Direct Addressing)寄存器间接寻址方式(Register Indirect Addressing)寄存器相对寻址方式(Register Relative Addressing)基址加变址寻址方式(Based Indexed Addressing)相对基址加变址寻址方式(Relative Based Indexed Addressing),23,第三章:8086/8088的指令系统寻址方式,基址加变址寻址方式(Based Indexed Addressing)有效地址EA是由基址寄存器BX(或基址指示器BP)的内容与变
16、址寄存器(DI或SI)的内容之和。,MOV AX,BX+SI,24,第三章:8086/8088的指令系统寻址方式,8086/8088指令系统中有哪些寻址方式?立即寻址方式(Immediate Addressing)寄存器寻址方式(Register Addressing)直接寻址方式(Direct Addressing)寄存器间接寻址方式(Register Indirect Addressing)寄存器相对寻址方式(Register Relative Addressing)基址加变址寻址方式(Based Indexed Addressing)相对基址加变址寻址方式(Relative Based
17、Indexed Addressing),25,第三章:8086/8088的指令系统寻址方式,相对基址加变址寻址方式(Relative Based Indexed Addressing)操作数EA的有效地址是一个基址寄存器和一个变址寄存器的内容和8位或16位位移量之和。例如:MOV AX,COUNTBXSI MOV AX,COUNTBX+SI MOV AX,BX+SI+COUNT以上三者等价若(DS)=3000H,(BX)=2000H,(SI)=1000H,COUNT=0250H,则物理地址=16d*(DS)+(BX)+(SI)+COUNT=30000+2000+1000+0250=33250H
18、,26,第三章:8086/8088的指令系统寻址方式,段寄存器使用的基本约定,27,第三章:8086/8088的指令系统,寻址方式指令系统,28,第三章:8086/8088的指令系统指令系统,8086/8088指令系统可分为以下六个功能组数据传送(Data Transter)算术运算(Arithmetic)逻辑运算(Logic)串操作(String Menipulation)程序控制(Program Control)处理器控制(Processor Control),29,第三章:8086/8088的指令系统指令系统,8086/8088指令系统可分为以下六个功能组数据传送(Data Transt
19、er)算术运算(Arithmetic)逻辑运算(Logic)串操作(String Menipulation)程序控制(Program Control)处理器控制(Processor Control),30,第三章:8086/8088的指令系统指令系统,数据传送指令通用数据传送指令(MOV、PUSH、POP、XCHG)地址传送指令(LEA、LDS、LES)标志寄存器传送指令(LAHF、SAHF、PUSHF、POPF)累加器专用传送指令(IN、OUT、XLAT)数据传送指令负责把数据、地址或立即数传送到寄存器或存储单元中。,31,第三章:8086/8088的指令系统指令系统,数据传送指令通用数据传
20、送指令(MOV、PUSH、POP、XCHG)地址传送指令(LEA、LDS、LES)标志寄存器传送指令(LAHF、SAHF、PUSHF、POPF)累加器专用传送指令(IN、OUT、XLAT)数据传送指令负责把数据、地址或立即数传送到寄存器或存储单元中。,32,第三章:8086/8088的指令系统指令系统,数据传送指令通用数据传送指令1.MOV(Move)传送格式为:MOV DST,SRC(DST:目的操作数;SRC:源操作数)执行操作:(DST)(SRC)其中:DST可以是通用寄存器、段寄存器、存储器操作数;SRC可以是通用寄存器、段寄存器、存储器操作数、立即数。,33,第三章:8086/808
21、8的指令系统指令系统,数据传送指令通用数据传送指令对于MOV 指令应注意几个问题:存储器传送指令中,不允许对IP进行操作,CS不能作为目的操作数;两个操作数中,除立即寻址之外必须有一个为寄存器寻址方式,即两个存储器操作数之间不允许直接进行信息传送;如我们需要把地址(即段内的地址偏移量)为AREA1的存储单元的内容,传送至同一段内的地址为AREA2的存储单元中去,MOV指令不能直接完成这样的传送,但我们可以CPU内部寄存器为桥梁来完成这样的传送:MOV AL,AREA1 MOV AREA2,AL 两个段寄存器之间不能直接传送信息,也不允许用立即寻址方式为段寄存器赋初值;如:MOVAX,0 MOV
22、DS,AX 目的操作数,不能用立即寻址方式。,34,第三章:8086/8088的指令系统指令系统,数据传送指令通用数据传送指令2.PUSH(Push onto the stack)进栈指令格式为:PUSH SRC执行操作:(SP)(SP)-2(SP)+1,(SP)(SRC)功能:将数据压入堆栈 注意:源操作数可以是CPU内部的16位通用寄存器、段寄存器(CS除外)和内存操作数(所有寻址方式)。入栈操作对象必须是16位数,不能是8位数。例如:MOV AX,0543HPUSH AX,35,第三章:8086/8088的指令系统指令系统,数据传送指令通用数据传送指令3.POP(Pop from the
23、 stack)出栈指令格式为:POP DST执行操作:(DST)(SP)+1,(SP)(SP)(SP)+2功能:将数据弹出堆栈 注意:对指令执行的要求同入栈指令。例如:POP DXPOP BXPOP DS,36,第三章:8086/8088的指令系统指令系统,数据传送指令通用数据传送指令4.XCHG(Exchange)交换指令格式为:XCHG OPR1,OPR2执行操作:(OPR1)(OPR2)功能:完成数据交换 注意:交换指令可把一个字节或一个字的源操作数与目的操作数相交换。交换能在通用寄存器之间、通用寄存器与存储器之间进行。但段寄存器和立即数不能作为一个操作数。例如:XCHG AL,CLXC
24、HG AX,DIXCHG BX,SIXCHG AX,BUFFERXCHG DATASI,DH,XCHG AX,BX;AX BX,37,第三章:8086/8088的指令系统指令系统,数据传送指令通用数据传送指令(MOV、PUSH、POP、XCHG)地址传送指令(LEA、LDS、LES)标志寄存器传送指令(LAHF、SAHF、PUSHF、POPF)累加器专用传送指令(IN、OUT、XLAT)数据传送指令负责把数据、地址或立即数传送到寄存器或存储单元中。,38,第三章:8086/8088的指令系统指令系统,数据传送指令地址传送指令1.LEA(Load Effective Address)有效地址传送
25、指令格式为:LEA OPRD1,OPRD2 功能:把源操作数OPRD2的地址偏移量传送至目的操作数OPRD1。注意:源操作数必须是一个内存操作数目的操作数必须是一个16位的通用寄存器。这条指令通常用来建立串操作指令所须的寄存器指针。例如:LEA BX,DI,39,第三章:8086/8088的指令系统指令系统,数据传送指令地址传送指令2.LDS(Load Pointer Into DS)取地址指针指令格式为:LDS OPRD1,OPRD2 功能:完成一个地址指针的传送。地址指针包括段地址部分和偏移量部分。指令将段地址送入DS,偏移量部分送入一个16位的指针寄存器或变址寄存器。注意:源操作数是一个
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 微型计算机 原理 及其 应用 第三 80868088 指令系统
链接地址:https://www.31ppt.com/p-6284320.html