8086cpu设计微机最小系统

上传人:xh****66 文档编号:61665774 上传时间:2018-12-09 格式:PPT 页数:11 大小:672KB
返回 下载 相关 举报
8086cpu设计微机最小系统_第1页
第1页 / 共11页
8086cpu设计微机最小系统_第2页
第2页 / 共11页
8086cpu设计微机最小系统_第3页
第3页 / 共11页
8086cpu设计微机最小系统_第4页
第4页 / 共11页
8086cpu设计微机最小系统_第5页
第5页 / 共11页
点击查看更多>>
资源描述

《8086cpu设计微机最小系统》由会员分享,可在线阅读,更多相关《8086cpu设计微机最小系统(11页珍藏版)》请在金锄头文库上搜索。

1、第一章8086/8088系统,* 工作模式 * 引脚信号,第一章8086/8088系统,最小模式和最大模式的概念 为了尽可能适应各种各样的使用场合,在设计8086/8088CPU芯片时,使它们可以在两种模式下工作,即最小模式和最大模式。,第一章8086/8088系统,最小模式 在系统中只有8086或者8088一个处理微器。系统中的所有的总线控制信号都直接由8086或8088产生。因此,系统中的总线控制电路被减到最少。,第一章8086/8088系统,最大模式是相对最小模式而言的 最大模式用于中等规模的或大型的8086/8088系统中。在最大模式系统中,总是包含有两个或多个处理微器,其中一个主处理

2、器就是8086或者8088,其他的处理器称为协处理器,它们是协助主处理器工作的。,第一章8086/8088系统,8086/8088到底工作在最大模式还是最小模式,这完全有硬件决定。,第一章8086/8088系统,8086/8088的引腿信号特点,* 8086/8088的数据线和地址是复用的 * 除了第28腿和第34腿以外,8086和 8088的控制线引腿定义是一样的。,第一章8086/8088系统,第21腿(RESET)是输入复位信号的。在8086/8088系统中,CPU被启动后,处理器的标志寄存器,指令指针寄存器IP,段寄存器DS,SS,ES和指令队都被清除,但是代码段寄存器CS被设置为FF

3、FFH。,第一章8086/8088系统,因为IP=0000,CS=FFFFH。所以,8086/8088将从地址FFFF0H开始执行指令。通常,在安排内存区域时,将高地址区作为只读存储区,且在FFFF0H单元开始的几个单元中放一条无条件转移指令,转到一个特定的程序中。这个程序往往实现系统初始化,引导监控程序或者引导操作系统等功能,这样的程序叫引导和装配程序。,第一章8086/8088系统,第22引腿用于从内存或I/O接口往CPU输入“准备好”(READY)信号 第23腿(TEST)是在多处理器系统中使用的。,第一章8086/8088系统,A19/S6A16/S3:该高4位地址线和状态线复用。在总

4、线周期的前一部分时间,A19/S6A16/S3腿用来输出高4位地址,在总线周期的其余部分时间,则用来输出状态信息。,第二章 指令系统,直接寻址:所需的操作数通过指令直接提供的偏移地址来得到。 MOV AX,2000H 偏移地址:2000H 段地址:(隐含DS) (DS)=3000H 2000H + 30000H 物理地址:32000H 结果:(AH)=3050H,OP,AX,50,00,30,32000H,数 据 段,代码 段,寄存器间接寻址 操作数在存储器中的地址在(SI,DI,BP, BX)中。 (1)若以SI,DI,BX间接寻址,操作数在现行数据段中,例:MOV AX,SI ,1000H

5、,20000H,SI,+ DS,物理地址:21000H,21 43,21000H,AX,21,43,FF,00,第二章 指令系统,(2)若以寄存器BP间接寻址,则操作数在堆栈段中。,例:MOV AX,BP,3000H,20000H,BP,+ SS,物理地址:23000H,23000H,AX,21 43,21,43,第二章 指令系统,(3)若指令中规定是段超越的,也可以寻访其他段。 MOV AX,ES:BX,第二章 指令系统,直接变址寻址 寄存器相对寻址 由指定的寄存器内容,加上指令中给定的8位或16位偏移量(当然有一个段寄存器作基本地址)作为操作数地址。,例,第二章 指令系统,例:MOV AX

6、,countSI,例:MOV AX,BP,2000H,30000H,SI,Count,35000H,count,(AX)=4525H,+DS,45 25,45,25,3000H,AX,00,30,OP,第二章 指令系统,变址地址也可以使段跨越前缀。 MOV DL,ES:STRINGSI 正常情况下,SI,DI,BX作变址,与DS联用。 若用BP变址,与DS联用。,第二章 指令系统,基址变址寻址 操作数的偏移地址是一个基址寄存器(BX,BP)和一个变址寄存器的内容之和。(SI,DI),基址寄存器=BX;段寄存器是DS 隐含 基址寄存器=BP;段寄存器是SS,例,第二章 指令系统,该寻址方式同样可

7、以段超越使用 MOV AX,ES:BXSI,0158H,10A5H,BX,+ DS,221FDH,DI,21000H,AX,21,45,21 45,MOV AX,BXDI DS =2100H;BX =0158H; DI=10A5H,第二章 指令系统,操作数偏移地址由一个基址寄存器、一个变址寄存器的内容和8位或16位位移量之和构成。,例:MOV AX,MASKBXSI,1000H,2000H,SI,BX,33250H,33 44,33,44,AX,30000H,(MASK),DS,0250H,该地址也可以段超越。,第二章 指令系统,寻找一个操作数,只能在某一个段的64KB范围中寻找。已什么寄存器

8、间址、变址等,则操作数就在什么段域中,8086/8088有约定,只要不在指令中超越这个约定,就按平常状态来寻找操作数。,第二章 指令系统,第二章 指令系统,(1)操作码(OP)的机器语言表示,(3)指令的执行时间,(2)寻址方式的机器语言表示,第二章 指令系统,8086/8088指令是多字节指令,一条指令可由17个字节构成,操作码通常是第一字节表示。,OP d w,0,7,0 字节操作 0 源操作数 W= d= (双操作数指令) 1 字操作 1 目的操作数 说明:Ret的用途。,第二章 指令系统,若采用立即寻址:操作码:,OP s w,0,7,sw = 01 指令有16位立即数,而且作字操作

9、11 指令有8位立即数,00 字节操作,第二章 指令系统,机器指令的第二个字节用于表明寻址方式,Mod Reg R/m,2 65 32 0,Reg表示寄存器方式,双操作数指令规定必须有一个操作数在寄存器中,该寄存器由reg决定。Mod与r/m结合在一起确定另一操作数的寻址方式。,第二章 指令系统,若无段超越,则使用隐含段寄存器,若指定段前缀,则在机器指令之前的一个字节来表示。,001 SEG 110,7 0,标志,例,第二章 指令系统,ADD CL,BH,000 000 1 0 02H d: reg为目的操作数,11 001 111 CFH mod ret r/w 与w=0 寄存器寻址 CL

10、BH,CF,02,高,低,OP,W:字节,第二章 指令系统,ADD DISP BXDI,DX 000000 0 1 w:字运算 OP d:reg为源操作数,10 010 001 01000101 00100011 mod ret r/m DISP 相对基址变址寻址 DX,第二章 指令系统,指令执行时间 f=5MHz T= 1/5MHz=0.2s ADD AX,BX 寄存器寄存器方式 T=30.2=0.6(s) ADD AX, DISPBXDI 存储器寄存器方式 T=(9+EA). ().(s),第二章 指令系统,指令系统可以分为6组,数据传送指令,逻辑运算,控制转移,处理机控制,串操作,算术指

11、令,第二章 指令系统,1、通用数据传送指令: MOV; PUSH; POP; XCHG,3、地址传送指令: LEA ; LDS; LES,4、寄存器传送指令: LAHF; SAHF; PUSHF ; POPF (标志入AH) (AH入标志) (标志入栈) (标志出栈 ),2、累加器专用传递指令: IN, OUT, XLAT 这组指令只限于累加器AX,AL。,第二章 指令系统,MOV传送指令: MOV OPRD1,OPRD2 目的 源 CPU内部寄存器之间数据传送(除CS,IP外) MOV AL,BL MOV AX,BX MOV DS,BX,第二章 指令系统,立即数传送至CPU内部的通用寄存器(

12、段寄存器除外) AX,BX,CX,DX,BP,SP,SI,DI MOV CL,4 MOV AX,03FFH MOV SI,057BH,第二章 指令系统,CPU内部寄存器(除CS,IP) 与存储器(所有寻址方式)之间 的数据传送 MOV AX,SI MOV AL,VFFER MOV AX,PPBXSI,第二章 指令系统,MOV指令不能实现存储单元之 间的数据传递,但可通过CPU内 部寄存器为桥梁来实现 MOV AL,ARER1 MOV ARER2,AL,第二章 指令系统,二个段寄存器之间不允许直接传递信息,第二章 指令系统,PUSH 进栈指令 堆栈是以“先进后出”方式工作的一个存储区,它在堆栈段

13、中。其段地址在SS中。只有一个出口,偏移地址在SP之中,SP在任何时候都指向栈顶。,第二章 指令系统,PUSH AX SP SP - 2 (SP+1) AH (SP) AL,堆栈的存取以字为单位, 可以使用除立即数以外的 其他寻址方式来保存程序区 或寄存器的内容。,低,高,高,低,AH,AL,后,前,SP,SP,第二章 指令系统,POP 出栈指令 将压入堆栈的数据弹出。,例:POP AX AL (SP) AH (SP+1) SP SP+2,AL 07,AH 21,(AX)=2107,21,07,后,前,SP,两条指令均不影响标位。这两条指令主要用于数据保护。,POP,SP,第二章 指令系统,X

14、CHG:交换指令,XCHG OPR1,OPR2 把一个字节或字的源操作数与目的操作数相 交换,交换可在通用寄存器之间,通用寄存 器与存储器之间。但段寄存器除外。,XCHG AL,CL XCHG BX,DATASI XCHG BX,BP+SI,第二章 指令系统,IN 输入指令:,CPU,I/O,DB,CB,AB,输入指令允许把 一个字节或一个 字由输入端口传 送至AL或AX。由 于8086可供64K 的I/O端口空间, 所以可有65536个I/O端口,前256个端口(0FFH)可以在指令中指定;端口号超过256个,则将端口地址放在OX,再用输入指 令输入数据。,例,第二章 指令系统,IN AX,

15、28H IN AL,29H 端口号大于256: MOV DX,3FCH IN Ax,DX 输入数据是字还是字节,取决于外设DB宽度。,第二章 指令系统,OUT: 输出指令,输出指令允许把AL或AX中的一个字节或一个字内容传送至输出端口 OUT 14H,AL 端口号大于256: MOV DX,0714H OUT DX,AX,第二章 指令系统,XLAT:换码指令,用于将一种代码转换为另一种代码。用指令之前,先将表的首地址放入BX中,在AL中置好偏移量(即所需换码字节在表中的相对位置),然后XLAT指令将(BX)内容加上AL中的内容形成的偏移地址的单元内容取到AL中。 格式:XLAT 或 XLAT 执行操作:AL (BX+A

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

当前位置:首页 > 生活休闲 > 科普知识

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