微机原理与接口技术课件微机第三章

上传人:我*** 文档编号:141686121 上传时间:2020-08-11 格式:PPT 页数:67 大小:359KB
返回 下载 相关 举报
微机原理与接口技术课件微机第三章_第1页
第1页 / 共67页
微机原理与接口技术课件微机第三章_第2页
第2页 / 共67页
微机原理与接口技术课件微机第三章_第3页
第3页 / 共67页
微机原理与接口技术课件微机第三章_第4页
第4页 / 共67页
微机原理与接口技术课件微机第三章_第5页
第5页 / 共67页
点击查看更多>>
资源描述

《微机原理与接口技术课件微机第三章》由会员分享,可在线阅读,更多相关《微机原理与接口技术课件微机第三章(67页珍藏版)》请在金锄头文库上搜索。

1、第三章 8086寻址方式和指令系统,主要内容,8086指令系统,8086的寻址方式,指令的机器码表示方法,3-1 8086的寻址方式,寻址方式就是指令中用于说明操作数所在地址的方法,MOV AX, 1234H;B8 34 12 MOV AX, 1234H;A1 34 12,一、8086的寻址方式说明,1有效地址EA(Effective Address) 当操作数在内存中时,指令的操作数给出所访问的内存单元的逻辑地址。在寻址方式中,逻辑地址的形成是由多个分量组合而成,该组合地址又叫有效地址。,2、MOV数据传送指令 其格式为: MOV 目的操作数,源操作数 目的操作数和源操作数均可采用不同的寻址

2、方式, 两个操作数的类型必需一致。,二、寻址方式介绍,1立即寻址(Immediate addressing) 操作数就在指令中,紧跟在操作码后面,作为指令一部分存放在内存的代码段中,这种操作数称为立即数。,例: MOV AX , 34EAH ;B8 EA 34 MOV BL , 20H ; B3 20,2、寄存器寻址(Register addressing) 操作数在寄存器中,指令中源操作数和目的操作数都可用这种寻址方式。,例: MOV AL , BL ;88 D8 MOV AX , 1234H;B8 34 12 MOV AL , AH;88 E0,3、直接寻址(Direct addressi

3、ng) 当指令中的源操作数或目的操作数,采用直接给出被访问内存单元的逻辑地址时,这种寻址方式称直接寻址。,例: MOV AX , 3E4CH;A1 4C 3E MOV 1234H , AL;A2 34 12,两个概念,段超越:,MOV AX , 3E4CH,MOV AX , ES:3E4CH,符号地址:,MOV AX , RESULT,如何区分RESULT是立即数还是符号地址?,如果 RESULT EQU 3E4CH; 立即数 MOV AX,RESULT,如果 RESULT DW 3E4CH; 符号地址 MOV AX,RESULT,4、寄存器间接寻址(Register indirect add

4、ressing) 内存单元的逻辑偏移地址通过寄存器间接给出,例: MOV SI , 61A8H MOV DX , SI,5、寄存器相对寻址(Register Relative Addressing) 这种寻址方式中提出位移量的概念,即在寄存器间接寻址给出的偏移地址上,加一相对位移量。位移量是一带符号的16位二进制数。当使用BX或BP寄存器时,称基址寻址;使用SI或DI寄存器时,称变址寻址。,例: MOV CX , 36HBX MOV 20BP , AL,6、基址加变址寻址(Based Indexed addressing) 它的EA是由三部分组成的,基址寄存器BX或BP的内容加上变址寄存器的内

5、容再加位移量。物理地址由基址寄存器按规则选择段寄存器,也可以使用段超越。,例: MOV AX , 8AHBXSI 该例中EA8AHBXSI 物理地址DS10H8AHBXSI, 的使用规定,立即数在 中表示直接地址,如1000H;, 有相加的意思,下面几种写法是等价的 6BXSI, BX+6SI, BX+SI+6;,只有BX,BP,SI,DI可以出现在 内,它们 可以单独出现,也可以组合,但BX和BP 不允许出现在同一个 ,SI和DI也一样;,若 中含BP,则隐含使用SS来提供段基 址,其它均隐含用DS。均可以段超越。,7、其他 A、隐含寻址 在指令中没有明显的标出,而指定寄存器参加操作,称之为

6、“隐含寻址”。 DAA MUL BL PUSH AX POP CX . . .,作业订正,1.若CS=A000H,求当前代码段在存储器中的物理地址范围是什么?若数据段位于52000H到61FFFH的64K范围内,问DS=? 2.若当前SS=3500H,SP=0800H,说明堆栈段在存储器中的物理地址,若此时入栈10个字节,SP内容是什么?若再出栈6个字节,SP为什么值? 3.某程序数据段中存放了两个字1EE5H和2A8CH,已知(DS)=7850H,数据存放的偏移地址为3121H及285AH。试画图说明它们在存储器中的存放情况。若要读取这两个字,需要对存储器进行几次操作?,B、I/O(输入/输

7、出)端口寻址(I/O port addressing) 当操作数在外部设备时,使用I/O指令。此时有两种不同的寻址方式访问I/O端口。 (1) 直接端口寻址方式 (2) 采用DX寄存器间接寻址方式 (3) 输入指令中目的操作数可为AL或AX;输出指令中源操作数可为 AL或AX。 例: IN AL , 25H;E5 25H MOV DX , 3E4H OUT DX , AL;EE,三、8086的指令格式及数据类型,指令由操作码和操作数(地址码)组成。8086的指令长度是可变的,一条指令一般由16个字节组成。,1.指令中的操作数,单操作数指令 指令助记符 指令的16进制代码 INC AX 40H

8、INC BX 43H, 双操作数指令 指令助记符 指令的16进制代码 MOV AL , 04 B004H MOV AX , 04 B80400, 三个操作数指令 8086指令系统中,大多数指令中只有12个操作数,但也有少数指令中有3个操作数,不过有一操作数隐含在操作码中。 例: ADC AX , BX 该指令完成操作数AX、BX和CF位相加。,2.指令中的数据类型,无符号数 带符号数 ASCII码 BCD数(压缩BCD和非压缩BCD),3-2 指令的机器码表示方法,一、机器语言指令的编码目的和特点,目的:用二进制编码表示各种操作和寻址方式。,特点:没有指令与机器语言的对照表,只有每种 基本指令

9、类型的编码格式。,二、机器语言指令代码的编制,1.寄存器之间或寄存器与存储器之间数据传 送指令的编码格式,0:数据从寄存器传出 1:数据传至寄存器,0:数据从寄存器传出 1:数据传至寄存器,2.立即数寻址指令的编码,3.包含段寄存器的指令的编码,4.段超越前缀指令的编码,3-3 8086的指令集,8086指令系统按功能可分为6大类型: 1、 数据传输类 2、 算术运算类 3、 逻辑运算和移位类 4、 串操作类 5、 控制转移类 6、 处理器控制类,一、数据传送指令,数据传送指令又可以分成4种: l 通用数据传送 l累加器专用传送指令 l目的地址传送 l 标志寄存器转送,指令的共同特点是:,1、

10、通用数据传送指令,(1)MOV 传送指令 指令格式为: MOV 目的 ,源 功能:目的 源,(2)PUSH 进栈指令 指令格式为:PUSH 源(不能是立即数) 其操作过程是: a、SP2,指示堆栈中可以存放数据的位置 b、存源操作数,完成进栈操作。,(3)POP 出栈指令 指令格式为:POP 目的(不能是CS) 其操作过程是: a、将SS:SP所指示的栈顶处的两个字节的数据,弹到目的操作数中; b、SP2,指示当前栈顶位置,完成出栈操作。,4)XCHG 交换指令 指令格式为: XCHG 目的操作数 ,源操作数 操作数不能为立即数; 源和目的不能同时为存储单元; 段寄存器不能作为操作数。,2、累

11、加器专用传送指令,1) IN 输入指令 指令格式为:IN AL , n IN AX , n IN AL , DX IN AX , DX 2)OUT 输出指令 指令格式为:OUT n , AL OUT n , AX OUT DX , AL OUT DX , AX,3) XLAT 换码指令 指令格式为:XLAT 功能bxalal 例:查表求n的平方。n:0-9 1、将09的平方表建立在偏移地址为2000H的内存中,如图。 2、查表,完成求5的平方指令序列为: MOV BX , 2000H ;指向平方表的首地址 MOV AL , 5 ;将5换码成5的平方值 XLAT ;查表,平方值在AL中,3、目标

12、地址传送指令 这类指令有: 1)LEA 有效地址传送到寄存器 2)LDS 将双字指针送到寄存器和DS 3)LES 将双字指针送到寄存器和ES,Eg:LEA BX,1000H LDS SI,1000H LES DI,1000H,4、标志寄存器传送指令 1)LAHF FR寄存器的低8位送AH 2)SAHF AH 送 FR寄存器的低8位 3)PUSHF FR寄存器推入堆栈 4)POPF 从栈顶中弹出存入FR寄存器,二、算术运算指令, 1)ADD 算术加法 指令功能:目的目的操作数源操作数 2)ADC 带进位算术加法 指令功能:目的目的操作数源操作数CF,1、算术加法指令,两条指令的源操作数可以是寄存

13、器、存储器或立即数;目的操作数只能是寄存器或存储单元。源和目的操作数不能同时为存储器且类型要一致。 影响所有的标志位, 5)AAA 对非压缩BCD数加法操作的结果进行 校正 指令功能:对AL寄存器的内容进行十进制调整, 3)INC 加1指令 指令功能:目的目的操作数1,目的操作数可以是通用寄存器或存储器。影响标志位,但CF除外。, 4)DAA 对压缩BCD数加法操作的结果进行校正 指令功能:对AL寄存器的内容进行十进制调整,2、算术减法指令 1)SUB 算术减法 指令功能:目的目的操作数源操作数 2)SBB 带进位算术减法 指令功能:目的目的操作数源操作数CF 3) DEC 减1指令 指令功能

14、:目的目的操作数1 4) DAS 对压缩BCD数减法操作的结果进行校正 指令功能:对AL寄存器的内容进行十进制调整 5) AAS 对非压缩BCD数减法操作的结果进行校正 指令功能:对AL寄存器的内容进行十进制调整 6) CMP 比较指令 指令功能:目的源操作数 7) NEG 取补指令 指令功能:0目的操作数,3) AAM 非压缩BCD数乘法操作结果校正 指令功能:完成两个非压缩BCD数乘法结果的十进制数调整,3、算术乘法指令,1)MUL 无符号数乘法 指令格式:MUL 源 指令功能:AX AL源 (DX,AX)AX源,源操作数可以是寄存器,也可以是存储器,但不能是立即数。是存储器时,需指明类型

15、。,2)IMUL 带符号数乘法 指令格式:IMUL 源 指令功能:AX AL源 (DX,AX)AX源,另外还有: CBW 带符号数字节扩展; CWD 带符号数字扩展; AAD 非压缩BCD数除法校正。,4、算术除法指令,1) DIV 无符号数除法 指令格式:DIV 源 指令功能:AX/源AL:商,AH:余数 DXAX/源 AX:商,DX:余数,2)IDIV 带符号数除法 指令格式:IDIV 源 指令功能:AX/源AL:商,AH:余数 DXAX/源 AX:商,DX:余数,三、逻辑运算和移位指令,(1)可以按二进制位进行操作; (2)逻辑运算指令按逻辑门电路的运算规则; (3)逻辑移位指令有左移和

16、右移,移出的位都进入CF标志; (4)因移空位的补充方式不同有多种指令形式; (5)逻辑移位指令中,移动超过1次则用CL寄存器做计数器; (6)执行逻辑操作指令,CF均被清0。,属于位操作指令,其共同点是:,1、 逻辑运算指令,1)NOT 逻辑求反 指令功能:将8位、16位寄存器或存储器内容求反。,2)AND 逻辑与操作 指令功能:将8位、16位寄存器或存储器内容和源操作数“与”,3)OR 逻辑或操作 指令功能:将8位、16位寄存器或存储器内容和源操作数“或”,4)XOR 逻辑异或操作 指令功能:将8位、16位寄存器或存储器内容和源操作数“异或”,5)TEST 测试指令 指令功能:将8位、16位寄存器或存储器内容和源操作数“与” ,不产生运算结果,仅影响状态标志,AND 可以使指定位为0 OR 可以使指定位为1 XOR 可以使指定位为非,2、逻辑移位指令,2)SAL

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > PPT模板库 > PPT素材/模板

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号