[小学教育]第三章 8086指令系统

上传人:油条 文档编号:49623707 上传时间:2018-07-31 格式:PPT 页数:123 大小:810.50KB
返回 下载 相关 举报
[小学教育]第三章 8086指令系统_第1页
第1页 / 共123页
[小学教育]第三章 8086指令系统_第2页
第2页 / 共123页
[小学教育]第三章 8086指令系统_第3页
第3页 / 共123页
[小学教育]第三章 8086指令系统_第4页
第4页 / 共123页
[小学教育]第三章 8086指令系统_第5页
第5页 / 共123页
点击查看更多>>
资源描述

《[小学教育]第三章 8086指令系统》由会员分享,可在线阅读,更多相关《[小学教育]第三章 8086指令系统(123页珍藏版)》请在金锄头文库上搜索。

1、微机原理及接口技术 第三章第三章8086的寻址方式 和 指令系统微机原理及接口技术 第三章1. 基本概念2. 8086 CPU的寻址方式3. 数据传送指令4. 数据操作指令5. 串操作指令6. 控制类指令微机原理及接口技术 第三章3.1 概 述1. 指令 (Instruction): 让计算机完成某种操作的命令。2. 指令系统 (Instruction System): 指令的集合。微机原理及接口技术 第三章3. 8086汇编语言指令的语句格式标号: 指令助记符操作数 ;注释(1) 标号:指令所在地址的符号,符合以下规则: 由字母(az, AZ)、数字(09)或某些特殊 字符(,_,?) 等组

2、成; 首字符是字母或某些特殊字符,但“ ?”不能单 独作标识符; 有效长度为131个字符。微机原理及接口技术 第三章(2) 指令助记符:指出指令的操作类型。(3) 操作数:参加本指令运算的数据。(4) 注释:指令功能的说明。微机原理及接口技术 第三章4. 有效地址EA(Effective Address)内存单元的地址:段基址 16 + 段内偏移量 EA微机原理及接口技术 第三章5. 指令包含的信息(1) 做什么操作(2) 操作数的来源(3) 操作结果的存储(4) 下一条指令的位置微机原理及接口技术 第三章3.2 寻址方式1. 立即数寻址 (操作数在指令中,紧跟在操 作码的后面)。MOV AL

3、,80H;80H AL MOV AX,1090H;1090H AXOP 90H 10H码段AH AL微机原理及接口技术 第三章2. 直接寻址操作数地址的EA直接包含在指令中。(1) MOV AX,2000H;DS:2000H AXOP 00H 20H50H 30H码段数据段设DS 3000HAHAL32000H微机原理及接口技术 第三章(2) CS: MOV BX,3000H;CS: 3000H BX00H 10H码段BH BL54000H54001H设CS 5100H微机原理及接口技术 第三章3. 寄存器寻址操作数在CPU的某个寄存器中,指令中指出该寄存器名。MOV DS,AX;AX DSI

4、NC CX;CX+1 CX微机原理及接口技术 第三章4. 寄存器间接寻址操作数在存储器中,EA由寄存器指出。MOV AX,SI;DS: SI AXMOV AX,BP;SS: BP AX(1) EA = BXSIDI若没有前缀指明具体的段寄存器,则操作数在数据段中(2) EA = BP 若没有前缀指明具体的段寄存器,则操作数在堆栈段。微机原理及接口技术 第三章5. 寄存器相对寻址MOV AX,BX+2000HXX XX码段AH AL36000H36001H00H 20H 数据段DS = 3000H BX = 4000H微机原理及接口技术 第三章(1) 若EA = BXSIDI+ 8位或16位偏移

5、量则操作数地址 DS: EA微机原理及接口技术 第三章(2) 若EA = BP + 8位或16位偏移量则操作数地址:SS: EA微机原理及接口技术 第三章6. 基址加变址寻址8086CPU中,BX,BP 基址寄存器SI,DI 变址寄存器微机原理及接口技术 第三章(1) 若EA = BX + SI DI 则操作数地址:DS: EA例 MOV AX,BX+SI若 DS = 1000H, BX = 5000H, SI = 2000H则 EA = 5000H + 2000H = 7000H操作数地址 10000H + 7000H = 17000H17000H AL17001H AH微机原理及接口技术

6、第三章(2) 若EA = BP + SI DI 则操作地址:SS: EA7. 相对的基址加变址寻址则操作数地址:DS: EA例 MOV AX,BX+SI+0250H若 DS = 3000H, BX = 2000H, SI = 1000H则操作数 PA=30000H+2000H+1000H+250H=33250H(1) 若EA = BX + SI DI + 8位或16位偏移量微机原理及接口技术 第三章(2) 若EA = BP + SI DI 则PA = SS 16 + EA+ 偏移量 8086操作数寻址方式小结:数据EA数据寄存器数据寄存器EA数据寄存器位移量地址数据指令指令内存指令寄存器寄存器

7、指令内存指令内存 +(a)(b)(c)(d)(e)基址寄存器变址寄存器变址值基址值数据内存 +基址寄存器变址寄存器位移量变址值数据内存 +基址值EA指令指令(f)(g)8086寻址方式微机原理及接口技术 第三章3.3 数据传送指令分为四类通用数据传送指令目标地址传送指令标志位传送指令输入/输出指令微机原理及接口技术 第三章一、通用数据传送指令1. 最基本的传送指令 MOV 实现CPU内部寄存器之间的数据传送MOV AL,BL;BL ALMOV ES,DX;DX ESMOV BX,DI;DI BX微机原理及接口技术 第三章 实现寄存器与内存单元之间的数据传送MOV DI,AX;AX DI DI+

8、1MOV CX,1000H;1000H 1001H CXMOV AX,BX; BX+1 AXBX微机原理及接口技术 第三章 把一个立即数传送给CPU内部寄存器或内存单元。MOV BL,40H;40 BLMOV DX,5040H;5040H DXMOV AX,03FFH;03FFH AXMOV SI,6070H;SI SI+16070H 微机原理及接口技术 第三章2. 堆栈操作指令(1) 对堆栈的认识 堆栈是按照“ 后进先出”(Last in First out) 原 则组织的一段特殊的内存区域。 堆栈由SP自动管理,SP始终指向当前的栈顶。 堆栈主要用于中断调用,子程序调用以及数 据的暂时存储

9、等。 堆栈有压入和弹出两种操作。 8086CPU的堆栈在压栈时,由上往下生长(堆 栈指针减量修改)。(2) 入栈指令 PUSHPUSH CX若已知SS=0200H, SP=0008H, CX=12FAH, 操作示意图如图5.2所示:0200000812FA2000SS段 首地址新栈顶FA 12 原栈顶2006 20072008+ 2SSSPCX12FAHPUSH CX 的 操作过程(3) 出栈指令POPPOP CX操作示意图 如图5.3所示 :0200000612FA2000SS段 首地址原栈顶FA 12 新栈顶2006 20072008+ +2SSSPCX12FAHPOP CX的操作过程16

10、微机原理及接口技术 第三章3. 交换指令 XCHG可以实现字节交换,也可以实现字交换。XCHG AL,BL;AL BLXCHG BX,CX;BX CXXCHG 2530H,CL;2530H CL可以实现CPU内部寄存器之间,寄存器与内存单元之间的数据交换,但不能实现两个内存单 元之间的数据交换。微机原理及接口技术 第三章4. 换码指令 XLATXLAT;BX+AL AL可以使AL中的值变换为内存表格中的某一个值,实现码制的转换,又称查表指令。例如:用XLAT将数字09转换为七段显示码。表3.1 十进制数的七段显示码十进制数字七段显示码gfedcbagbfedca0 1 2 3 4 5 6 7

11、8 90 0 0 0 0 0 0 0 0 01 1 0 0 0 0 0 1 0 00 1 1 1 0 0 0 1 0 00 1 0 1 1 1 0 1 0 10 1 0 0 1 0 0 1 0 00 0 1 0 0 0 0 0 0 00 0 0 0 0 1 1 0 0 00 1 0 0 1 0 0 0 0 0微机原理及接口技术 第三章(1) 建立内存表格 (长度 256),使BX指向表首。(2) 数字入AL中。(3) XLAT指令查表转换, MOV BX,2000H MOV AL,2 XLATBX2000H40H79H24H10H“ 0”“ 1”“ 2”“ 9”微机原理及接口技术 第三章二、目

12、标地址传送指令1. 取有效地址指令LEA (Load Effective Address)将内存操作数的EA送到一个16位的通用寄存器中。LEA AX,2728H;将2728H单元的EA,即 2728H AX。LEA BX,BP+SI;指令执行后,BX=BP+SI。LEA SP,0400H;使SP=0400H微机原理及接口技术 第三章2. LDS (Load pointer into DS)把地址指针 DS和另一个寄存器中LDS DI,2130HDS: 2130H偏移量 DI段基址 DS微机原理及接口技术 第三章3. LES (Load pointer into ES) 将地址指针 ES和另一

13、个寄存器LES DI,BXAEH05H00H40HB080AH偏移量 DI段基址 ES若DS=B000H, BX=080AHB080AH=05AEH B080CH=4000H微机原理及接口技术 第三章三、标志位传送指令1. 读取标志指令LAHF (Load AH with Flags)D15D8D7D0FRAH微机原理及接口技术 第三章2. 设置标志指令SAHF (Store AH into Flags)D15D8D7D0FRAH微机原理及接口技术 第三章3. 标志寄存器入栈指令PUSHFFR07新栈顶 FR815 原栈顶SP微机原理及接口技术 第三章4. 标志寄存器出栈指令 POPF原栈顶新

14、栈顶D15D8D7D0FR微机原理及接口技术 第三章四、输入输出指令I/O指令完成AL(AX)与I/O口之间的数据传送。端口地址可以用1. 8位立即数寻址2. DX间址微机原理及接口技术 第三章1. IN指令IN AL,70H;70H端口输入数据 ALIN AX,80H;80H端口输入数据 AL 81H端口输入数据 AHIN AL,DX;DX指定端口数据 AL微机原理及接口技术 第三章2. OUT指令OUT 40H,AL;AL 40H端口OUT 80H,AX;AL 80H端口AH 81H端口OUT DX,AL;AL DX指定的端口微机原理及接口技术 第三章数据传送指令小结表32 数据传送指令指

15、令类型指令格式指令功能状态标志位通用数据传送目标地址传送标志位传送I/O 数据传送MOV 目标, 源 PUSH 源 POP 目标 XCHO 目标, 源 XLAT LEA 目标, 源 LDS 目标, 源 LES 目标, 源 LAHF SAHF PUSHF POPF IN 累加器, 端口 OUT 端口, 累加器传送字节或字 字压入堆栈 字弹出堆栈 交换字节或字 字节翻译 装入有效地址 装入数据段指针到DS 装入附加段指针到ES 把FR低字节装入AH寄存器 把AH内容装入FR 低字节 把FR内容装入堆栈 从堆栈弹出FR内容 输入字节或字 输出字节或字OSZAPC 注: 运算结果影响标志位 运算结果不影响标志位微机原理及接口技术 第三章3.4 数据操作类指令两类算术运算指令逻辑运算指令和移位指令微机原理及接口技术 第三章一、算术运算指令包括

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

当前位置:首页 > 行业资料 > 其它行业文档

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