收藏 分销(赏)

第一章 8086∕8088 CPU设计微机最小系统.pdf

上传人:曲**** 文档编号:826869 上传时间:2024-03-26 格式:PDF 页数:147 大小:11.82MB
下载 相关 举报
第一章 8086∕8088 CPU设计微机最小系统.pdf_第1页
第1页 / 共147页
第一章 8086∕8088 CPU设计微机最小系统.pdf_第2页
第2页 / 共147页
第一章 8086∕8088 CPU设计微机最小系统.pdf_第3页
第3页 / 共147页
第一章 8086∕8088 CPU设计微机最小系统.pdf_第4页
第4页 / 共147页
第一章 8086∕8088 CPU设计微机最小系统.pdf_第5页
第5页 / 共147页
点击查看更多>>
资源描述

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

2、86 或者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被设置为FFFFHo第一章808

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

4、部分时间,A19/S6A16/S3 腿用来输出高4位地址,在总线 周期的其余部分时间,则用来输 出状态信息。/fl第二章指令系统直接寻址:所需的操作数通过指令 的偏移地址来得到。MOV AX,2000H I OP偏移地址:2000H段地址:(隐含DS)(DS)=3000H:2000H 32000H+30000H 物理地址:32000H结果:(AH)=3050H005030代码段数A据段第二章指令系统(3)若指令中规定是段超越的,也 可以寻访其他段。MOV AX,ES:BX*eh第二章指令系统直接变址寻址寄存器相对寻址由指定的寄存器内容,加上指 令中给定的8位或16位偏移量(当然 有一个段寄存器

5、作基本地址)作为 操作数地址。例第二章指令系统变址地址也可以使段跨越前缀。MOV DL,ES:STRINGSI 正常情况下,SI,DI,BX作变址,与DS联用。若用BP变址,与DS联用。第二章指令系统基址变址寻址操作数的偏移地址是一个基址 寄存器(BX,BP)和一个变址寄存器 的内容之和。(SI,DI)r基址寄存器二BX;段寄存器是DS基址寄存器二BP;段寄存器是例 D第二章指令系统操作数偏移地址由一个基址寄存器、-存器的内容和8位或16位位移量之和构成。例:MOV AX,MASKBX SIST BIHIIIJiB(MASK)个变址寄DS30000HAX33250H该地址也可以段超越33 44

6、第二章指令系统寻找一个操作数,只能在某一个 段的64KB范围中寻找。已什么寄存 器间址、变址等,则操作数就在什 么段域中,8086/8088有约定,只要 不在指令中超越这个约定,就按平 常状态来寻找操作数。第二章指令系统存取方式约定段取指令(代码)CS堆栈操作SS源串DS目串 JSSBP为基寄存器SS通用数据读写DS可修改(段超 越)偏移地 址NOIPNOCPCS、ES SSSINODICS、DS、ESCS、ES、SS组合(3)指令的执行时间第二章指令系统8086/8088指令是多字节指令,一条指令 可由广7个字节构成,操作码通常是第一字节 表示。_OP d wro字节操作 0源操作数W=1

7、d=1(双操作数指令)1字操作 1目的操作数说明:Ret的用途。第二章指令系统机器指令的第二个字节用于表明寻址方式2 65 32 0R/mRegReg表示寄存器方二 必须有一个 器由reg决 另一操彳定存定 规寄确 冷该起第二章指令系统ADD DISP BXDI,DXI oooooo oj rrv w:字运算OP d:reg为源操作数I I r ir i r.WBB10 010 001 01000101 00100011mod ret r/m DISP相对基址变址寻址 DX第二章指令系统指令执行时间f=5MHz T=l/5MHz=0.2眸ADD AX,BX 寄存器 寄存器方式T=3*0.2=0

8、.6(gs).ADD AX,DISPBX DI存储器 寄存器方式T=(9+EA)*0.2=(9+12)*0.2=4.2 GhM算术指w数据传送指令第二章指令系统指令系统可以分为6组控制转移处理机控制串操作第二章指令系统1、XCHG2、O3、LDSLES4、PUSHF:POPF(标志入AH)(AH入标志)这组指令只限于累加器AX,AL 地址传送指令:/LAHF:SAHF:寄存器传因更通用数据传送指令:MOV;PUSH;POP;累加器专用传递指令:IN,OUT,XLAT第二章指令系统CPU内部寄存器(除CS,IP)与存储器(所有寻址方式)之间 的数据传送MOV AX,SIMOV AL,VFFERM

9、OV AX,PPBX SI/第二章指令系统MOV指令不能实现存储单元之 间的数据传递,但可通过CPU内 部寄存器为桥梁来实现MOV AL,ARER1MOV ARER2,AL第二章指令系统PUSH进栈指令堆栈是以“先进后出”方式工作的 一个存储区,它在堆栈段中。其段 地址在SS中。只有一个出口,偏移 地址在SP之中,SP在任何时候都指 向栈顶。指定FFH)可以在指令第二章指令系统I/OCPU一个字节或一个 字由输入端口传 送至AL或AX。由 于8086可供64K 的I/O端口空间,所以可有65536个I/O端口,It256个,则将端口地址放在0X,令输入数据。例第二章指令系统XLAT,换码指令用

10、于将一种代码转换为另一种代码。用指 令之前,先将表的首地址放入BX中,在AL中 置好偏移量(即所需换码字节在表中的相对 位置),然后XLAT指令将(BX)内容加上AL 中的内容形成的偏移地址的单元内容取到AL格式:XLAT 或 XLAT执行操作:例(BX+AL)第二章指令系统LEA:有效地址送寄存器格式:LEA 0PRD1,0PRD2将源操作数0PRD2的偏移地址送 到目的操作数0PRD1。源操作数必须是存储器,目的操 作数是一个16为通用寄存器。例第二章指令系统LEA BX,BUFR 将变量BUFR的偏移地址给BX第二章指令系统LDS:地址指针送寄存器和DS指令格式:LFD 0PRD1,0P

11、RD2指令将源操作数0PRD2所指定存 储区的4个相继字节送到指令指定的 寄存器及DS寄存器中。该指令常指 定SL 例,第二章指令系统LES:地址指令送寄存器和ES指令格式 LES 0PRD1,0PRD2将源操作数0PRD2指定存储器4个 相继字节送到指令指定的寄存器及 ES中。该指令常指定寄存器DI。第二章指令系统执行前:LES DL LBXJ DS=BOOOH,BX=080AH,(0B080A)=080AH执行后:DI=080AH,ES=(0B080CH)=4000H 4000H0B080AH0B080BH0B080CH0B080DHOA080040DIES上述三种寻才第二章指令系统SAH

12、F:AH送PSW执行:PSW低字节 AHBaeUI ADCINCDEC3、IMUL4.5、IDIVCWDSBBCMP第二章指令系统1、2、加法指令:ADD减法指令:SX坦NEG乘法指令:MUL除法指令:DIVCBW十进制调整指令第二章指令系统格式:ADD 0PRD1,0PRD2OPRD1OPRD1+0PRD2目的操作数0PRD1可以是AX,任一通用寄 存器,存储器。源操作数0PRD2可以是AX任一 通用寄存器,存储器,立即数。ADD AL,30HADD SIADD BETA SI,AXADD CX这些指令将对标志产生不同的影响。LI第二章指令系统ADC带进位加法格式:ADC 0PRD1,0PR

13、D2执行:0PRD1-0PRD2+0PRD1+CF该指令多用多字节运算第二章指令系统56 87 21 43 54 861032 AA ID 75 32FIRSTSECONDTHORD低、两个四字节数加,分别放在FLRST和 SECOND起始之单元,存放时低字节在地 址处。MOV AX,FIRST;(AX)=8 7 56H ADD AX,DECOND;(AX)=8 7 56+8 654MOV THIRD,AX;=1DAAH CF=1MOV AX,FIRST+2(AX)=4321HADC AX,SECOND+2ax=4321+3210+CFMOV THIRD+2第二章指令系统INC:力口 1指令格

14、式:INC OPRD该指令的操作数OPRD可以是通过 寄存器,也可以是存储器单元。执行:OPRDOPRD+1INC AX;AX=AX+1第二章指令系统执行加法指与时,CF位是根据最 高有效位是否有进位而设置。有进 位CF=1,无进位CF=O。OF根据符号及其变化情况而设 置。若两个操作数符号相同,结果 的符号与之相反,则溢出OF=1BaeU第二章指令系统SUB:减法指令格式:SUB 0PRD1,0PRD2余作:OPRD1=OPRD1-OPRD2目的操作数0PRD1可以是AX,通用 寄存器,存储器单元,源操作数0PRD2可以是立即数,通用寄存器,存储器单元。DEC CX;第二章指令系统NEG:取

15、补指令 格式:NEG OPRD 对操作数OPRD取世 执行:OPRD OPRD+1 例:NEG AL/第二章指令系统CMP:比较指令格式:CMP PRD1,0PRD2 完成两个操作数相减(OPRD1-OPRDZIH 结果反映在标志位上并不回送结果 目的操作数可以是寄存器,或内存 源操作数可以是立即数,寄存器或 内存。该指令主要用于比较两者之第二章指令系统CMP AX,BX若AX与BX同符号:(AX-BX)则AX-BX不会溢出,用SF判其符号就 可判断两数大小。即SF=O,AXBX,SF=1,AXBX负-正:负 SF=1,AXBX AXBX若无溢出(0F=0)l SF=l;AXBX若有溢出(OF

16、=1)r SF=O;AXBX第二章指令系统相异符号相减有两种可能r A-B 无溢出:SF=1:AB 正-负Y 有溢出:SF=O:ABI正-负Y、有溢出:SF=1:AB第二章指令系统IMUL:带符号数乘法 同MUL上,但是带符号数rMUL:255*255=65025 dm,mib)*(nn,nnb)Yl IMUL:(IMUL BLMUL BLr AL=I BL=r AL=0B4H=-7 6D11H=17 D18 0D-1292D3060DBL=17 D第二章指令系统DIV:无符号数除法格式:DIV OPRD执行:字节操作:/AL AX/(OPRD)的商OPRD 为 8位AH AX/(OPRD)的

17、余数 字操作:AX-(DX,AX)/(OPRD)的商DX(DX,AX)/(OPRD)的余数 商、余数均为无符号数;OPRD为寄存器 或内存单元。G第二章指令系统CBW扩展存储器AL中的字节符号,把它送至AH中AL 80H,而扩展后AH-OFFH 目的:在两个字节操作数相除时,/产生一个字的被除数。/第二章指令系统例:有一内存BUFFER,前两个字节是16 位带符号被除数,三、四字节是16位带 符号除数,再下两个字节放商,再下两 个字节放余数。BUFFER被除数商余数第二章指令系统BCD码的概念 压缩的BCD码:四位一个数,连续排列 非压缩的BCD码:ASCH码的数字码,低四位为BCD码,高四位

18、为0011无意义。T(一)压缩的BCD码十进制调整DAA,DAS(二)非压缩的BCD码调整AAA,AAS,AAM,AAD第二章指令系统DAA加法十进制调整指令 作用:紧跟加法指令之后,校正作用 若(AL&OFH)9,或AF=1,则AL一 AL+6,AF 1;若(AL&F0H)9,或d 贝UAIl L+6,AF-1。原来16进制是满16进位,*十进制为满10进位,+*,所以到进行用16进制进行-10进制调整时为+6第二章指令系统DAS减法的十进制执行:ALAL中的差调整到压缩 的BCD格式低四彳 若(AL&OFH)9,或AF=L 贝!JAEAL-6、若(AL&FOH)90H,或CF=L 贝JAL

19、-AL-60H第二章指令系统AAA:加法的ASCII调整j(AL)AL 调整:(AH)-TAH)+调整进位值执行1)若AL低四位在09之间,AF=O执行(3)2)若AL低四位在0FH之间,AF=L则AL寄存器加6,AH寄存器加1,AF加1不 3)清除AL高四位4)AF位的结果送CF位。第二章指令系统AAD:除法的ASCII调整:AX存放二位非压缩BCD数,即AH为十 位数,AL为个位数。AB10*(AH)+(AL)Alt0作用:/I相除之前将AX中的被除数用AA二进制数。并存放于AL中。,I 第二章指令系统逻辑运算指令AND,OR,NOT,XQR,TEST这几条指令:NOT不允许使用立即数,其

20、余 指令的OPRD2为立即数至少有一个操作数存放在Reg中,另一个则可为任意寻址方式。移位指令SHL,SAL,SHR,SAR,ROL,ROR,RCL,RCR第二章指令系统AND:与AND OPTD1,OPRD2执行:OPRD1-OPRD1 人 OPRD2BaeUI 第二章指令系统XOR:异或指令XOR OPRD1,OPRD2执行:OPRD1-OPRD15OPRD2第二章指令系统TEST:测试指令TEST OPRD1,OPRD2执行:OPRD1 A OPRD2操作数相与,不保留结果,只影 响标志位。第二章指令系统SHL:逻辑左移指令格式:SHL OPRD,mOPRD为除立即数外的任何寻址 方式,

21、移位次数由m定,m为1或CL。m为1时只移一位,大于1时,移位次 数应置于CL中。例第二章指令系统SAL:算术左移指令同SHL。在移位次数为1时,移位 后,后,与CF不同,则表明溢出,故OF=1,否则0F=0。该指令用于有符 号乘法。/第二章指令系统RCL:带进位循环左移指令第二章指令系统串处理指令MOVS;CMPS;SCAS;LODS;STOS与上述指令配合使用的前缀有:REP;REPE/REPZ;REPNE/REPNZ1、与REP配合使用的MOVS,STOS,LODS指令2、与 REPE/REPZ和 REPNE/REPNZ联合 工作的CMPS和SCAS指令第二章指令系统MOVS执行操作步骤

22、:(SI)=(SI)+1/2(DI)=(DI)+1/2(SI)=(SI)-1/2(DI)=(DI)-1/2DF决定了串传送 的方向,可有以 下二条指令确定第二章指令系统_MOV SI,OFFSET SOURSEMOV DI,OFFSET DESTMOV CX,100CLRREP MOVSB在此处源串在数据段中(也允许段超越),但目的串必须在附加段中。第二章指令系统STOS存串指令格式:STOS OPRD(目的)STOSB(字节)STOSW(李)执行:(DI)-(DI)-AL,AX,DIDIDI1DI2将AL或AX的内容存入(DI)指定的 附加段单元中。I 第二章指令系统例MOV DI,0500

23、HMOV AL,20HMOV CX,5CLDREP STOSB执行情况,第二章指令系统与REP相比,实际上REPE和REPZ相 同,只是除满足CX=O结束外,还增 加了 一个ZF=O退出的条件。第二章指令系统REPNE/REPNZ 当不相等/不为零时重 复串操作。退出条件与上面相反。即CX=O,ZF=1退出第二章指令系统CMPS 串比较指令格式:CMPS 0PRD1,0PRD2CMPSB(字节)CMPSW(字)执行:(SI)(DI)字节 SI=SIL DI=DI1字 SI=SI2,DI=DI2SI指向的数据段单元内容与DI指 向的附加段相减,但不保留结果,只影响第二章指令系统SCAS串扫描指令

24、格式:SCAS OPRDSCASBSCASW执行:AL-(DI)DI-DI+1AX-(DI)DI-DI+2指令把AL(AX)的内容与(DI)指向的附 加段单元内容相减,但不保留结果,只影响 条件码。I 第二章指令系统段内直接短转移格式:JMP SHORT OPRD执行:(IP)(IP)+8位偏移量其中OPRD在汇编格式中可以直 接使用符号地址,但机器执行时是 IP+8位偏移量来做的。由于可以前 后跳转,所以允许在-128127字节 范围内转移。/:MOV AL,3第二章指令系统段内直接转移格式:JMP WORD PTR OPRD执行:IP-(EA)有效地址EA由OPRD的寻址方式确 定,可以是

25、除立即数以外的任何寻 址方式。IJMP一BX 执行:IP BX修第二章指令系统段间间接转移格式:JMP DWORD PTR OPRD执行:IP一(EA).CS一(EA+2)(EA)由OPRD的寻址方式决定,可以是 除立即数及寄存器方式以外的所有寻址 方式。例:JMP DWORD PTR ALPHASP DI4)测试CX的值为0则转移指令第二章指令系统根据单个条件标志的设置情况转移 JZ(或JE)OPRDOPRD结果为0(或相等)则转移测试:ZF=1/JC/JNC OPRD:根据CF转移,JC是当CF=1转移,JNC是当CF=O转移。第二章指令系统 JE/JZ或JNE/JNZ OPRD:(相等转

26、移/等于0转移)一条指令的两种助记径/无2是当2属1时转移。JNE/JNZ当ZF=O时转移。JS/JNS OPRD:JS是当SF=1,为负则转移,JNS是当SF=O转移。第二章指令系统 JO/JNO OPRD:JO是当OF=1,溢出则转移。JNO是当0F=0,不溢出则转移。JP/JPE或JNP/JPO OPRD:JP/JPE(偶转移)当PF=1时转移JNP/JPO(奇转移)当PF=0时转移例:CMP CX,DXJE;CX=DX转至LAB2JNC _MOV AX,0用于无符号数的条件转移:ejA/JNBE OPRD:是当CFR,ZF=O时转移。用无符号数a,b比 较时,a b时则转移。JAE/J

27、NB OPRD:当CF=O或ZF=1时转移。无符号数a,b比较,a Nb则转移 JBE/JNA OPRD:当CF=1或ZF=1时转移。无符号数a,b比较,a Wb则转移 JB/JNAE OPERD:当CF=1,ZF=O时转移,aI 第二章指令系统用于有符号数的条件转移指令:JG/JNLE:当SF与OF同号,且ZF=O时转移有符号数a,b比较:ab则转移rSF=O AB(0F=0)JSF=1 ABrSF=O AB第二章指令系统 JGE/JNL OPRD:当SF与OF同号,且ZF=1时转移 ab超移 JL/JNGE OPRD:SF与OF异号,且ZFR时转移ab转移 JLE/JNG OPRD:/SF

28、与OF异号或ZF=1时转移。ab转移第二章指令系统循环指令 LOOP循环格式:LOOP OPRD测试条件:CXW0循环 LOOPZ/LOOPE OPRD:为零/相等循环/测试:ZF=1且(CX)W0循环.LOOPNZ/LOOPNE OPRD:与上面相反。第二章指令系统子程序指令:CALL,RET子程序结构相当于高级语言的过程。将某 些具有独立功能的部分程序编为独立的模式,称为子程序。1)段内直接调用与返回2)段内间接调用及返回3)段间直接调用4)段间间接调用返回5)返回的两种特别情况第二章指令系统段内间接调用及返回_CALL WORD PTR OPRDCALL OPRDSP-SP-2(SP+1

29、,SP)IP IP 一(EA)IPSPRET(SP+1,SP)SP+2EA是由OPRD寻址方式所确定的16位有效地址如:CALLCALLBX;地址在BX中(16位)WORD PTR地址在BX内容所指向的内存单元中(16位)。第二章指令系统段间直接调用:*一*-*一 一.,一 厂7-歹CALL FAR PTR OPRD SP-SP-2(SP+1,SP)CSSP-SP-2(SP+1,SP)IP(IP)一偏移地址(CS)一段地址RET IP-SP+1,SP SP-SP+2 CS-SP+1,SP SP _ SP+2IP市H CST 区在程序中给出程序名,就可以得到子程序 的入口偏移地址及段地址第二章指

30、令系统段间间接调用返回CALL DWORD PTR OPRDRETSP-SP-2(SP+1,SP)-SPSP-2(SP+1,SP)IP-(EA)CS-(EA+2)CSIPIF-SP+1,SP SP-SP+2 CS-(SP+1,SP)SP-SP+2 JEA为OPED寻址方式所确定的有效地第二章指令系统返回的两种特别情况段内带立即数返回 RET EXP段间带立即数返回 RET EXP用于修改出栈时的栈指针,/即(SP)(SP)+D16第二章指令系统中断:当系统运行或程序运行遇到某些特 殊情况,要求计算机能自动执行一 组程序来处理,这就是中断。分外部和内部中断两种。同样产生一次中断,也需要全面保 存

31、现场信息,如:IP,CS,PSWo IBMPC的中断是采用中断向量形式的o第二章指令系统既在存储器的最低地址区的1024个单元(00000H003FFH),一个地址需4个字节才能描述(IP,CS),故共有256个中 断向量(地址),只要将类型号N乘以4 就可能得到中断向量。INT 中断指令:INT TYPEINTO 溢出IRET 返回I I 第二章指令系统NOP:空操作一个机器周期,占一个字节存储单元HLT:停机指令使处理机处于停机等待状态,以便等 待一次外部中断到来。中断结束后可继续执行下面程序/中断/HLT第二章指令系统WAIT:使处理机处于空转状态,等待中 断。但中断结束后继续执行WAIT。片断/ESC:换码指令,用协处理器,LOCK:封锁指令,用于维持总线锁存 信号。

展开阅读全文
相似文档                                   自信AI助手自信AI助手
猜你喜欢                                   自信AI导航自信AI导航
搜索标签

当前位置:首页 > 教育专区 > 其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2024 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服