微机原理讲义(第三章)课件.ppt
《微机原理讲义(第三章)课件.ppt》由会员分享,可在线阅读,更多相关《微机原理讲义(第三章)课件.ppt(85页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第3章 80X86/Pentuim指令系统3-1 80X86/Pentium 指令格式和寻址方式指令格式和寻址方式 3-2 8086/8088 指令系统指令系统3-3 80X86/Pentium指令系统指令系统指令是计算机执行某种操作的命令。计算机为了完成不同的功能而要执行不同的指令。一台计算机能够识别和执行的全部指令称为该计算机的指令系统或指令集。不同的微处理器有不同的指令系统,80X86/Pentium系列微处理器的指令集是在8086/8088CPU指令系统上发展起来的。第3章 80X86/Pentuim指令系统指令的组成:操作码字段操作码字段 标明计算机要执行什么操作操作数字段操作数字段
2、 指出指令在执行过程中所需要的 操作数(值为多少 或者放在什么地方),以及操作结果送到哪里3-1 80X86/Pentium 指令格式和寻址方式指令格式和寻址方式指令的一般格式操作数字段可以有一个,二个或三个操作数,通常称为“一地址”,“二地址”或 “三地址”指令操作码操作数。操作数示例加加1指令指令 INC AX 只需要指出加1的操作数,它是“一地址一地址”指令。指令。双操作数指令双操作数指令 ADD AX,BX 大多数运算型指令都是双操作数指令,对这种指令,有的机器(大中型)使用“三地址”指令:除给出参加运算的两个操作数外,还要指出运算结果的存放地址现代微型计算机中多采用二地址指令,两个操
3、作数分别称为“源操作数”和“目的操作数”,指令执行后,把运算结果放到目的操作数的地址之中。指令的操作码在机器中的表示比较简单,指令的操作码在机器中的表示比较简单,只要对每一种操作指定相应的二进制代只要对每一种操作指定相应的二进制代码即可;而指令的操作数字段的情形就码即可;而指令的操作数字段的情形就比较复杂比较复杂寻址方式指令通常应提供的信息 1.做什么操作 2.操作数从哪里来 3.操作结果放在哪里 4.对于调用和转移指令,还要涉及对于调用和转移指令,还要涉及转移或调用地址的提供方式转移或调用地址的提供方式 寻址方式 操作数类型:(1)立即数立即数是作为指令代码的一部分出现在指令中。(2)寄存器
4、操作数寄存器操作数是把操作数存放在寄存器中。(3)存储器操作数 存储器操作数是把操作数放在存储器中。存储器操作数所在的存储器地址应该是物理地址,即由段地址和偏移量(把相对于段首地址的偏移量称为有效地址EA)所决定的。在汇编指令中,通常只给出有效地址EA(以各种寻址方式给出),而段地址(在段寄存器中)是通过隐含方式使用的。8086/8088指令系统中对段地址有个基本规定:在正常情况下,由寻址方式中有效地址规定的基地址寄存器来确定段寄存器,即只要寻址方式中出现BP寄存器作为基地址,段寄存器一定采用堆栈段SS,其余的情况都采用数据段DS。段超越:指令中的操作数也可以不在基本规定的段区内,必须在指令中
5、指定段寄存器,这就是段超越。例如:MOV AL,2000HMOV AL,ES:2000H8086的寻址方式1、固定寻址2、立即数寻址3、寄存器寻址 直接寻址4、存储器寻址 间接寻址5、其它寻址基址寻址变址寻址基址+变址寻址1、固定寻址又称隐含寻址 在8086/8088系统中,有一部分指令的操作数没有给出任何说明,但计算机根据操作码即可确定要操作的对象。例如:AAA ;隐含对AL操作2、立即数寻址方式 立即数寻址方式寻找的操作数紧跟在指令操作码之后。CPU直接从指令队列中取得立即数,不必执行总线周期。例:MOV AL,04H MOV AX,1234H MOV AX,0004H 目的 源 exam
6、ple MOV AL,80H;低地址 存储器 AX MOV AX,3064H;ADD AL,20H;ADD AX,1090H;高地址 OP 6 4 3 0注意:8位或16位只能是整数类型的源操作数主要用来给存储器或寄存器赋初值速度快3、寄存器寻址方式寄存器寻址是指寻找的操作数在某个通用寄存器中(8位或16位)。不需使用总线周期。例 MOV AX,BX MOV CL,AH 4、存储器寻址方式当EU需要读/写位于存储器的操作数时:根据寻址方式,由EU计算出操作数地址的偏移量,即有效地址EA.将EA送至BIU单元,同时请求BIU执行一个总线周期。BIU将某个段寄存器的内容左移4位,加上EU送来的EA
7、,得到20位的物理地址PA.执行总线周期,读/写指令所需的操作数。4-1、直接寻址直接寻址方式是指寻找的操作数的地址(EA)在指令中直接给出。例:MOV AX,2000H MOV AL,2000H段超越 例:MOV AX,ES:2001H 例 1.MOV AX,2000H;如(DS)=3000H,则指令的执行情况如下图所示:代 存储器 码 段 数 据 3000H 段 执行结果:(AX)=3050H OP 00 20 50 3032000H4-2、间接寻址要寻址的操作数在存储器中,它的地址(EA/16位偏移量)在寄存器中。(1)基址寻址:BX、BP+位移量(2)变址寻址:SI、DI+位移量(3)
8、基址+变址:BX、BP+SI、DI+位移量例:设DS=1200H,BX=05A6H,SS=5000H,BP=40A0H,SI=2000H,DI=3000H,位移量disp=1618H试判断下列指令的寻址方式,并求出在各种寻址方式下的EA和PA,并说明指令执行的结果。设DS=1200H,BX=05A6H,SS=5000H,BP=40A0H,SI=2000H,DI=3000H,位移量disp=1618HMOV AX,0618HEA=0618HPA=DSx16+EA=12000H+0618H=12618H执行结果:将数据段12618H和12619H两单元的内容取出送至AX。设DS=1200H,BX=
9、05A6H,SS=5000H,BP=40A0H,SI=2000H,DI=3000H,位移量disp=1618HMOV AX,BXEA=05A6HPA=DSx16+EA=12000H+05A6H=125A6H执行结果:将数据段125A6H和125A7H两单元的内容取出送至AX。设DS=1200H,BX=05A6H,SS=5000H,BP=40A0H,SI=2000H,DI=3000H,位移量disp=1618HMOV AX,BPEA=40A0HPA=SSx16+EA=50000H+40A0H=540A0H执行结果:将堆栈段540A0H和540A1H两单元的内容取出送至AX。设DS=1200H,B
10、X=05A6H,SS=5000H,BP=40A0H,SI=2000H,DI=3000H,位移量disp=1618HMOV AX,DIEA=3000HPA=DSx16+EA=12000H+3000H=15000H执行结果:将数据段15000H和15001H两单元的内容取出送至AX。设DS=1200H,BX=05A6H,SS=5000H,BP=40A0H,SI=2000H,DI=3000H,位移量disp=1618HMOV AX,BX+DIEA=BX+DI=05A6H+3000H=35A6HPA=DSx16+EA=12000H+35A6H=155A6H执行结果:将数据段155A6H和155A7H两
11、单元的内容取出送至AX。设DS=1200H,BX=05A6H,SS=5000H,BP=40A0H,SI=2000H,DI=3000H,位移量disp=1618HMOV AX,BP+SI+dispEA=BP+SI+disp=40A0H+2000H+1618H=76B8HPA=SSx16+EA=50000H+76B8H=576B8H执行结果:将堆栈段576B8H和576B9H两单元的内容取出送至AX。5、其它寻址方式串操作指令寻址方式I/O端口寻址方式转移类指令寻址方式串操作指令寻址方式串操作指令使用隐含变址寄存器寻址。源串操作数用SI变址寄存器,段基址由数据段寄存器DS决定。目的串操作数用DI变
12、址寄存器,段基址由附加段寄存器ES决定。在字符串操作指令中,自动增减SI和DI的内容。I/O端口寻址方式在寻址外设端口时,使用端口寻址。(1)直接端口寻址:端口地址为8位立即数(0255)。(2)间接端口寻址:端口地址放在DX寄存器中(16位数,065535)。OUT 21H,AL;AL内容送21H端口输出OUT DX,AL;转移类指令寻址方式条件转移指令无条件转移指令和调用指令3-2 8086/8088 指令系统指令系统 数据传送指令 算术运算指令 逻辑运算和移位指令 字符串处理指令 控制转移指令 处理器控制指令关注以下三个方面:功能FR结果数据传送指令通用数据传送指令通用数据传送指令MOV
13、 MOV PUSHPUSHPOPPOPXCHGXCHGXLATXLAT字或字节的传送字或字节的传送入栈指令入栈指令出栈指令出栈指令交换字或字节交换字或字节表转换表转换输入输出指令输入输出指令ININOUTOUT输入输入输出输出地址目标传送指令地址目标传送指令LEALEALDSLDSLESLES装入有效地址装入有效地址装入数据段寄存器装入数据段寄存器装入附加段寄存器装入附加段寄存器标志传送指令标志传送指令LAHFLAHFSAHFSAHFPUSHFPUSHFPOPFPOPF标志寄存器低字节装入标志寄存器低字节装入AHAHAHAH内容装入标志寄存器低字节内容装入标志寄存器低字节标志寄存器入栈指令标志
14、寄存器入栈指令出栈,并送入标志寄存器出栈,并送入标志寄存器MOVPUSHPOPXCHGXLAFINOUTLEALDSLESLAHFSAHFPUSHFPOPF数据传送类:寄存器与寄存器、寄存器与存储器、寄存器与I/O间字节、字的传送。除SAHF和POPF外,其它传送类指令都不影响FR.指令格式:指令格式:MOV MOV 目的,源目的,源指令功能:指令功能:将源操作数传送至目的操作数将源操作数传送至目的操作数CSDS、SS、ES通用寄存器AX、BX、CX、DX、SI、DI、BP、SP立即数存储器数MOV指令注意:两操作数,必用1个寄存器,不能同为存储单元。不能用CS和IP作目的操作数。不允许段寄存
15、器之间直接数据传送。不允许立即数作目的操作数。不能向段寄存器送立即数。例:MOV AX,0MOV AX,BXMOV AX,SIMOV SI ,ES:BP把存储单元中ALFA1单元的内容送ALFA2单元中,ALFA1 和 ALFA2是同一数据段的两个变量。MOV AL,ALFA1 MOV ALFA2,AL练习1用MOV指令实现两内存字节单元内容的交换 2035H 2045H 01H .02H用直接寻址方式实现 MOV BL,2035H;MOV CL,2045H;MOV 2045H,BL;MOV 2035H,CL;HLT用寄存器间接寻址方式实现 MOV SI,2035H;MOV DI,2045H;
16、MOV AH,SI;MOV AL,DI;MOV 2035H,AL;MOV 2045H,AH;入栈出栈指令 入栈指令格式:PUSH 源指令功能:将源操作数 推入堆栈源:通用寄存器、段寄 存器、存储器*非立即数 出栈指令格式:POP 目的指令功能:目的:通用寄存器、段 寄存器(非CS)、存储器堆栈是在存储器(内存)中开辟出一个特定的存储区位于堆栈段中,作为堆栈操作存入数据或地址和取出数据或地址的存储区。堆栈是以“后进先出”的原则进行数据操作的。堆栈操作遵循以下的原则:(1)堆栈的存取每次必须是一个字(16位)(2)向堆栈中存放数据时,总是从高地址向低地址方向增长,而不像内存中的其他段,是从低地址开
17、始向高地址存放数据,从堆栈中取数据时正好相反。(3)堆栈指令中的操作数只能是寄存器或存储器操作数,不能是立即数。(4)对堆栈的操作遵循“后进先出(LIFO)”的原则,最后压入堆栈的数据会最先被弹出。(5)堆栈段在内存中的位置由SS决定,堆栈指针SP总是指向栈顶即SP的内容 等于当前栈顶的偏移地址,所谓栈顶是指当前可用堆栈操作指令进行数据交换的存储单元。3412入栈PUSH AXAX12MSPSP=SP-2低高栈底34出栈POP BXBX1234SPSP=SP+2压入标志:PUSHF弹出标志:POPF 堆栈操作对标志位的影响 只有POPF指令影响所有的标志位,其它堆栈指令均不影响任何标志位。XC
18、HG 交换指令指令格式:XCHG 目的,源指令功能:交换字或字节操作数:寄存器间、寄存器和存储器间*段寄存器不可*不影响标志位*存储器不能直接交换 例:实现存储器单元BET1和BET2间的内容交换 MOV AX,BET1 XCHG AX,BET2 MOV BET1,AX PUSH BET1 PUSH BET2 POP BET1 POP BET2 MOV AX,BET1 MOV BX,BET2 MOV BET1,BX MOV BET2,AXXLAT 表转换指令指令格式:XLAT 转换表 指令功能:表转换本指令执行前,应先将表首地址送入BX中,要换码的字节在表中的位移量(据表首地址的距离)送AL中
19、。结果:在AL中得到该项的内容。本指令不影响标志位。XLAT 表转换指令又称换码指令 指令格式:XLAT 转换表 指令功能:表转换 完成一个字节的查表转换。它将数据段中偏移地址为BX 与AL寄存器之和的存储器单元的内容送入AL寄存器,即:BX+AL-AL。使用此指令前,应首先在数据段中建立一个长度小于256个字节的表格,表的首地址置于BX中,AL中存放查找对象在表中的下标。指令执行后,所查找的对象存于AL中,BX内容保持不变。例:将数字09的BCD码转换为7段LED显示器的显示代码。40H,79H,24H,30H,19H,12H,02H,78H,00H,18H。将它们依次存放在偏移地址为080
20、0H开始的内存区域。若待转换的BCD码为0100B,则实现的程序为:MOV BX,0800H MOV AL,4XLAT ;AL中位0100B对应的7段代码19H。输入输出指令 IN 输入指令指令格式:IN AL,PORT IN AX,PORT IN AX,DX IN AL,DX OUT 输出指令指令格式:OUT PORT,AL OUT PORT,AX OUT DX,AL OUT DX,AX地址目标传送指令 LEA指令格式:LEA 目的,源功能:将源操作数给出的有效地址(EA)传送到指定的寄存器中。LEA指令处理的是变量地址(偏移量),不是变量的值。例:MOV DI,TABLE;将变量TABLE
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 微机 原理 讲义 第三 课件
限制150内