设计微机最小系统ppt课件_第1页
设计微机最小系统ppt课件_第2页
设计微机最小系统ppt课件_第3页
设计微机最小系统ppt课件_第4页
设计微机最小系统ppt课件_第5页
已阅读5页,还剩142页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、 第一章第一章8086/8088系统系统* 任务方式任务方式* 引脚信号引脚信号第一章第一章8086/8088系统系统最小方式和最大方式的概念最小方式和最大方式的概念为了尽能够顺应各种各样的运用为了尽能够顺应各种各样的运用场所,在设计场所,在设计8086/8088CPU芯片芯片时,使它们可以在两种方式下任时,使它们可以在两种方式下任务,即最小方式和最大方式。务,即最小方式和最大方式。第一章第一章8086/8088系统系统 最小方式最小方式在系统中只需在系统中只需8086或者或者8088一个一个处置微器。系统中的一切的总线处置微器。系统中的一切的总线控制信号都直接由控制信号都直接由8086或或8

2、088产产生。因此,系统中的总线控制电生。因此,系统中的总线控制电路被减到最少。路被减到最少。第一章第一章8086/8088系统系统 最大方式是相对最小方式而言的最大方式是相对最小方式而言的 最大方式用于中等规模的或大型最大方式用于中等规模的或大型的的8086/8088系统中。在最大方式系系统中。在最大方式系统中,总是包含有两个或多个处置统中,总是包含有两个或多个处置微器,其中一个主处置器就是微器,其中一个主处置器就是8086或者或者8088,其他的处置器称为协处,其他的处置器称为协处置器,它们是协助主处置器任务的。置器,它们是协助主处置器任务的。第一章第一章8086/8088系统系统 808

3、6/8088究竟任务在最大方究竟任务在最大方式还是最小方式,这完全有硬式还是最小方式,这完全有硬件决议。件决议。第一章第一章8086/8088系统系统8086/8088的引腿信号特点的引腿信号特点 * 8086/8088的数据线和地址是复用的的数据线和地址是复用的 * 除了第除了第28腿和第腿和第34腿以外,腿以外,8086和和 8088的控制线引腿定义是一样的。的控制线引腿定义是一样的。第一章第一章8086/8088系统系统 第第21腿腿RESET是输入复位是输入复位信号的。在信号的。在8086/8088系统中,系统中,CPU被启动后,处置器的标志存放器,被启动后,处置器的标志存放器,指令指

4、针存放器指令指针存放器IP,段存放器,段存放器DS,SS,ES和指令队都被去除,但是代和指令队都被去除,但是代码段存放器码段存放器CS被设置为被设置为FFFFH。第一章第一章8086/8088系统系统 由于由于IP=0000,CS=FFFFH。所以,。所以,8086/8088将从地址将从地址FFFF0H开场执行指开场执行指令。通常,在安排内存区域时,将高地令。通常,在安排内存区域时,将高地址区作为只读存储区,且在址区作为只读存储区,且在FFFF0H单单元开场的几个单元中放一条无条件转移元开场的几个单元中放一条无条件转移指令,转到一个特定的程序中。这个程指令,转到一个特定的程序中。这个程序往往实

5、现系统初始化,引导监控程序序往往实现系统初始化,引导监控程序或者引导操作系统等功能,这样的程序或者引导操作系统等功能,这样的程序叫引导和装配程序。叫引导和装配程序。第一章第一章8086/8088系统系统 第22引腿用于从内存或I/O接口往CPU输入“预备好READY信号 第23腿TEST是在多处置器系统中运用的。第一章第一章8086/8088系统系统 A19/S6A16/S3:该高:该高4位地址位地址线和形状线复用。在总线周期的线和形状线复用。在总线周期的前一部分时间,前一部分时间,A19/S6A16/S3腿用来输出高腿用来输出高4位地址,在总线位地址,在总线周期的其他部分时间,那么用来周期的

6、其他部分时间,那么用来输出形状信息。输出形状信息。 第二章第二章 指令系统指令系统直接寻址:所需的操作数经过指令直接提供直接寻址:所需的操作数经过指令直接提供的偏移地址来得到。的偏移地址来得到。MOV AX,2000H偏移地址:偏移地址:2000H段地址:隐含段地址:隐含DS DS=3000H 2000H + 30000H 物理地址:物理地址:32000H结果:结果:AH=3050H OP AX 50 00 3032000H数数据据段段 代代码码段段 存放器间接寻址存放器间接寻址操作数在存储器中的地址在操作数在存储器中的地址在SISI,DIDI,BPBP, BXBX中。中。1 1假设以假设以S

7、ISI,DIDI,BXBX间接寻址,操作数在现行数间接寻址,操作数在现行数据段中据段中 例:例:MOV AXMOV AX,SI SI 1000H 20000H SI + DS 物理地址:物理地址:21000H 21000H 21 43 21000HAX 21 43 FF 00 第二章第二章 指令系统指令系统2 2假设以存放器假设以存放器BPBP间接寻址,那么操作数在堆栈间接寻址,那么操作数在堆栈段中。段中。 例:例:MOV AXMOV AX,BP BP 3000H 20000H BP + SS 物理地址:物理地址:23000H 23000H 23000HAX 21 4321 43 第二章第二章

8、 指令系统指令系统3假设指令中规定是段超越的,假设指令中规定是段超越的,也可以寻访其他段。也可以寻访其他段。 MOV AX,ES:BX 第二章第二章 指令系统指令系统直接变址寻址直接变址寻址 存放器相对寻址存放器相对寻址 由指定的存放器内容,加由指定的存放器内容,加上指令中给定的上指令中给定的8 8位或位或1616位偏移量位偏移量当然有一个段存放器作根本地址当然有一个段存放器作根本地址作为操作数地址。作为操作数地址。 例例 第二章第二章 指令系统指令系统例:例:MOV AX,countSI 例:例:MOV AXMOV AX,BP BP 2000H 30000H SI Count 35000H

9、count (AX)=4525H +DS 45 2545 25 3000H AX 0030OP 第二章第二章 指令系统指令系统变址地址也可以使段跨越前缀。变址地址也可以使段跨越前缀。MOV DL,ES:STRINGSI正常情况下,正常情况下,SI,DI,BX作变址,作变址,与与DS联用。联用。假设用假设用BP变址,与变址,与DS联用。联用。 第二章第二章 指令系统指令系统 基址变址寻址基址变址寻址 操作数的偏移地址是一个基址操作数的偏移地址是一个基址存放器存放器BX,BPBX,BP和一个变址存放器和一个变址存放器的内容之和。的内容之和。SISI,DIDI 基址存放器基址存放器=BX=BX;段存

10、放器是;段存放器是DSDS隐含隐含 基址存放器基址存放器=BP=BP;段存放器是;段存放器是SS SS 例例 第二章第二章 指令系统指令系统 该寻址方式同样可以段超越运用该寻址方式同样可以段超越运用 MOV AX,ES:BXSI0158H 10A5H BX + DS 221FDH DI 21000H AX 214521 45 MOV AX,BXDI DS =2100H;BX =0158H; DI=10A5H 第二章第二章 指令系统指令系统 操作数偏移地址由一个基址存放器、一个操作数偏移地址由一个基址存放器、一个变址存放器的内容和变址存放器的内容和8位或位或16位位移量之和构位位移量之和构成。成

11、。 例:例:MOV AX,MASKBXSI 1000H 2000H SI BX 33250H 33 44 3344 44 AX 30000H MASKMASK DS 0250H 该该地地址址也也可可以以段段超超越。越。 第二章第二章 指令系统指令系统 寻觅一个操作数,只能在某一个寻觅一个操作数,只能在某一个段的段的64KB范围中寻觅。已什么存放范围中寻觅。已什么存放器间址、变址等,那么操作数就在器间址、变址等,那么操作数就在什么段域中,什么段域中,8086/8088有商定,只有商定,只需不在指令中超越这个商定,就按需不在指令中超越这个商定,就按平常形状来寻觅操作数。平常形状来寻觅操作数。 第二

12、章第二章 指令系统指令系统存取方式商定段商定段可修正段超可修正段超越越偏移地偏移地址址取指令代码取指令代码CSNOIP堆栈操作堆栈操作SSNOCP源串源串DSCS、ES、SSSI目串目串SSNODIBP为基存放器为基存放器SSCS、DS、ES组合组合通用数据读写通用数据读写DSCS、ES、SS组合组合第二章第二章 指令系统指令系统(1)(1)操作码操作码OPOP的机器言语表示的机器言语表示(3)(3)指令的执行时间指令的执行时间 (2)(2)寻址方式的机器言语表示寻址方式的机器言语表示 第二章第二章 指令系统指令系统 8086/8088 8086/8088指令是多字节指令,一条指令指令是多字节

13、指令,一条指令可由可由1717个字节构成,操作码通常是第一字节个字节构成,操作码通常是第一字节表示。表示。 OP d w0 0 7 7 0 字节操作字节操作 0 源操作数源操作数 W= d= 双操作数指令双操作数指令 1 字操作字操作 1 目的操作数目的操作数 阐明:阐明:Ret的用途。的用途。 第二章第二章 指令系统指令系统 假设采用立刻寻址:操作码:假设采用立刻寻址:操作码: OP s w0 0 7 7 sw = 01 指令有指令有16位立刻数,而且作字操作位立刻数,而且作字操作 11 指令有指令有8位立刻数位立刻数 00 字节操作字节操作第二章第二章 指令系统指令系统机器指令的第二个字节

14、用于阐明寻址方式机器指令的第二个字节用于阐明寻址方式 Mod Reg R/m2 65 32 0 2 65 32 0 RegReg表示存放器方式,双操作数指令规定表示存放器方式,双操作数指令规定必需有一个操作数在存放器中,该存放必需有一个操作数在存放器中,该存放器由器由regreg决议。决议。ModMod与与r/mr/m结合在一同确定结合在一同确定另一操作数的寻址方式。另一操作数的寻址方式。 第二章第二章 指令系统指令系统假设无段超越,那么运用隐含段存放器,假设无段超越,那么运用隐含段存放器,假设指定段前缀,那么在机器指令之前假设指定段前缀,那么在机器指令之前的一个字节来表示。的一个字节来表示。

15、 001 SEG 1107 0 7 0 标志标志 例例 第二章第二章 指令系统指令系统 ADD CL ADD CL,BH BH 000 000 1 0 02H000 000 1 0 02H d: reg d: reg为目的操作数为目的操作数 11 001 111 CFH 11 001 111 CFH mod ret r/w mod ret r/w 与与w=0w=0存放器寻址存放器寻址 CL BH CL BH CFCF0202高高 低低 OPW:字节字节第二章第二章 指令系统指令系统 ADD DISP BXDI ADD DISP BXDI,DXDX 000000 0 1 w: 000000 0

16、1 w:字运算字运算 OP d:regOP d:reg为源操作数为源操作数 10 010 001 01000101 00100011 10 010 001 01000101 00100011 mod ret r/m DISP mod ret r/m DISP 相对基址变址寻址相对基址变址寻址 DXDX 第二章第二章 指令系统指令系统 指令执行时间指令执行时间 f=5MHz T= 1/5MHz=0.2s f=5MHz T= 1/5MHz=0.2sADD AXADD AX,BX BX 存放器存放器存放器方式存放器方式 T=3 T=30.2=0.60.2=0.6ssADD AXADD AX, DIS

17、PBXDI DISPBXDI 存储器存储器存放器方式存放器方式 T= T=9+EA9+EA. . . . .ss 第二章第二章 指令系统指令系统 指令系统可以分为指令系统可以分为6 6组组数据传送指令数据传送指令 逻辑运算逻辑运算控制转移控制转移处置机控制处置机控制串操作串操作算术指令算术指令第二章第二章 指令系统指令系统 1、通用数据传送指令:、通用数据传送指令: MOV; PUSH; POP; XCHG 3 3、地址传送指令:、地址传送指令: LEA LEA ; LDSLDS; LES LES 4、存放器传送指令:、存放器传送指令: LAHF; SAHF; PUSHF ; POPF标志入标

18、志入AH AH入标志入标志 标志标志入栈入栈 (标志出栈标志出栈 ) 2、累加器公用传送指令:、累加器公用传送指令: IN, OUT, XLAT 这组指令只限于累加器这组指令只限于累加器AX,AL。 第二章第二章 指令系统指令系统 MOV MOV传送指令:传送指令: MOV OPRD1MOV OPRD1,OPRD2OPRD2 目的目的 源源CPUCPU内部存放器之间数据传送除内部存放器之间数据传送除CSCS,IPIP外外 MOV ALMOV AL,BLBL MOV AX MOV AX,BXBX MOV DS MOV DS,BX BX 第二章第二章 指令系统指令系统立刻数传送至立刻数传送至CPU

19、内部的通用存放内部的通用存放器段存放器除外器段存放器除外AX,BX,CX,DX,BP,SP,SI,DI MOV CL,4 MOV AX,03FFH MOV SI,057BH 第二章第二章 指令系统指令系统CPUCPU内部存放器除内部存放器除CSCS,IPIP与存储器一切寻址方式之间与存储器一切寻址方式之间的数据传送的数据传送 MOV AXMOV AX,SISI MOV AL MOV AL,VFFERVFFER MOV AX MOV AX,PPBXSI PPBXSI 第二章第二章 指令系统指令系统MOVMOV指令不能实现存储单元之指令不能实现存储单元之间的数据传送,但可经过间的数据传送,但可经过

20、CPUCPU内内部存放器为桥梁来实现部存放器为桥梁来实现 MOV ALMOV AL,ARER1ARER1 MOV ARER2 MOV ARER2,AL AL 第二章第二章 指令系统指令系统二个段存放器之间不允许直接传送二个段存放器之间不允许直接传送信息信息 第二章第二章 指令系统指令系统 PUSH PUSH 进栈指令进栈指令堆栈是以堆栈是以“先进后出方式任务的一先进后出方式任务的一个存储区,它在堆栈段中。其段地个存储区,它在堆栈段中。其段地址在址在SSSS中。只需一个出口,偏移地中。只需一个出口,偏移地址在址在SPSP之中,之中,SPSP在任何时候都指向在任何时候都指向栈顶。栈顶。 第二章第二

21、章 指令系统指令系统 PUSH AX PUSH AX SP SP - 2 SP SP - 2 SP+1SP+1 AH AH SPSP AL AL 堆栈的存取以字为单位,堆栈的存取以字为单位,可以运用除立刻数以外的可以运用除立刻数以外的其他寻址方式来保管程序区其他寻址方式来保管程序区或存放器的内容。或存放器的内容。 低低 高高 高高 低低 AH AH AL AL 后后 前前 SP SP SP第二章第二章 指令系统指令系统 POP POP 出栈指令出栈指令将压入堆栈的数据弹出。将压入堆栈的数据弹出。 例:例:POP AX AL SP AHSP+1SP SP+2 AL 07 AL 07 AH 21

22、AH 21 AX=2107 21210707后后 前前 SP SP 两条指令均不影响两条指令均不影响标位。这两条指令标位。这两条指令主要用于数据维护。主要用于数据维护。 POP POP SP SP 第二章第二章 指令系统指令系统 XCHG XCHG:交换指令:交换指令 XCHG XCHGOPR1OPR1,OPR2OPR2把一个字节或字的源操作数与目的操作数相把一个字节或字的源操作数与目的操作数相交换,交换可在通用存放器之间,通用存放交换,交换可在通用存放器之间,通用存放器与存储器之间。但段存放器除外。器与存储器之间。但段存放器除外。 XCHG AL,CL XCHG BX,DATASI XCHG

23、 BX,BP+SI 第二章第二章 指令系统指令系统IN IN 输入指令输入指令: : CPU I/O DB DB CB CB AB AB 输入指令允许把输入指令允许把一个字节或一个一个字节或一个字由输入端口传字由输入端口传送至送至AL或或AX。由。由于于8086可供可供64K的的I/O端口空间,端口空间,所以可有所以可有65536个个I/O端口,前端口,前256个端口个端口0FFH可以在指令中指定;端口号超越可以在指令中指定;端口号超越256个,那么将端口地址放在个,那么将端口地址放在OX,再用输入,再用输入指指令输入数据。令输入数据。 例例 第二章第二章 指令系统指令系统 IN AX IN

24、AX,28H28H IN AL IN AL,29H29H端口号大于端口号大于256256: MOV DXMOV DX,3FCH3FCH IN Ax IN Ax,DXDX输入数据是字还是字节,取决于外输入数据是字还是字节,取决于外设设DBDB宽度。宽度。 第二章第二章 指令系统指令系统 OUT: OUT: 输出指令输出指令 输出指令允许把输出指令允许把AL或或AX中的一个字节或中的一个字节或一个字内容传送至输出端口一个字内容传送至输出端口 OUT 14H,AL端口号大于端口号大于256: MOV DX,0714H OUT DX,AX 第二章第二章 指令系统指令系统 XLAT: XLAT:换码指令

25、换码指令 用于将一种代码转换为另一种代码。用于将一种代码转换为另一种代码。用指令之前,先将表的首地址放入用指令之前,先将表的首地址放入BX中,中,在在AL中置好偏移量即所需换码字节在中置好偏移量即所需换码字节在表中的相对位置,然后表中的相对位置,然后XLAT指令将指令将BX内容加上内容加上AL中的内容构成的偏中的内容构成的偏移地址的单元内容取到移地址的单元内容取到AL中。中。 格式:格式:XLAT 或或 XLAT 执行操作:执行操作:AL BX+AL 例例 第二章第二章 指令系统指令系统MOV BXMOV BX,OFFSET TABOFFSET TABMOV ALMOV AL,1 1XLAT

26、XLAT B C A BXTABAALBX+AL第二章第二章 指令系统指令系统 LEA: LEA: 有效地址送存放器有效地址送存放器 格式:格式: LEA OPRD1,OPRD2 将源操作数将源操作数OPRD2的偏移地址送的偏移地址送到目的操作数到目的操作数OPRD1。 源操作数必需是存储器,目的操源操作数必需是存储器,目的操作数是一个作数是一个16为通用存放器。为通用存放器。 例例 第二章第二章 指令系统指令系统 LEA BX LEA BX,BUFRBUFR 将变量将变量BUFRBUFR的偏移地址给的偏移地址给BX BX BX 23E0BUFRBUFR第二章第二章 指令系统指令系统 LEA

27、BX LEA BX,BX+SI BX+SI 假设假设 BX = 0400H, SI = 003CH 偏移地址偏移地址 =0400+003C =043CH BX 043C第二章第二章 指令系统指令系统 LDS: LDS: 地址指针送存放器和地址指针送存放器和DSDS指令指令 格式:格式:LFD OPRD1,OPRD2 指令将源操作数指令将源操作数OPRD2所指定所指定存储区的存储区的4个相继字节送到指令指定个相继字节送到指令指定的存放器及的存放器及DS存放器中。该指令常存放器中。该指令常指定指定SI。 例例 第二章第二章 指令系统指令系统 LDS SI,BX执行前:执行前:BX=10H; DS=

28、C000H; C0010H=0180H C0012H=2000H执行前后:执行前后: SI=0180,DS=2000H c0011H c0011H c0010H c0010H 80 80 00 00 20 20 01 01 c0012H c0012H c0013H c0013H S ID IBXDS+C0010H第二章第二章 指令系统指令系统 LES : LES : 地址指令送存放器和地址指令送存放器和ESES指令指令 格式格式 LES OPRD1LES OPRD1,OPRD2OPRD2 将源操作数将源操作数OPRD2OPRD2指定存储器指定存储器4 4个个相继字节送到指令指定的存放器及相继字

29、节送到指令指定的存放器及ESES中。中。该指令常指定存放器该指令常指定存放器DIDI。 例例 第二章第二章 指令系统指令系统 LES DI,BX执行前:执行前: DS=B000H,BX=080AH, 0B080A=080AH 0B080CH=4000H执行后:执行后:DI =080AH,ES= 4000H 0B080AH 0B080AH DIDIOA OA 00 00 40 40 ESES08 08 0B080BH 0B080BH 0B080CH 0B080CH 0B080DH 0B080DH 上述三种寻址包上述三种寻址包括一切寻方式。括一切寻方式。 第二章第二章 指令系统指令系统 LAHF

30、: PSW LAHF : PSW送送AHAH指令指令 格式:格式:LAHFLAHF 执行:执行:AH PSWAH PSW低字节低字节 进位奇偶半进位零进位奇偶半进位零符号符号 CF PF AF IF CF PF AF IF SF SF 第二章第二章 指令系统指令系统 SAHF SAHF:AHAH送送PSWPSW 执行:执行:PSWPSW低字节低字节 AH AH 第二章第二章 指令系统指令系统 PUSHF PUSHF:标志进栈:标志进栈 格 式 :格 式 : P U S H FP U S H F 执行:执行:SP SP-2SP SP-2 PSW PSW SP+1SP+1,SPSP 低低 高高 P

31、SWH PSWH SP PSWL PSWL 第二章第二章 指令系统指令系统 POPF POPF:标志出栈:标志出栈 执行:执行:PSW PSW SP+1SP+1,SPSP SP SP+2 SP SP+2 低低 高高 PSWH PSWH PSWL PSWL SP第二章第二章 指令系统指令系统2、减法指令、减法指令:SUB SBB DEC NEG CMP 1、加法指令:、加法指令:ADD ADC INC 4 4除法指令除法指令: DIV IDIV: DIV IDIV CBW CBW CWD CWD 3、乘法指令、乘法指令: MUL IMUL 5、十进制调整指令、十进制调整指令第二章第二章 指令系统

32、指令系统 格式:格式:ADD OPRD1,OPRD2 OPRD1 OPRD1+OPRD2 目的操作数目的操作数OPRD1可以是可以是AX,任一,任一通用存放器,存储器。源操作数通用存放器,存储器。源操作数OPRD2可以是可以是AX任一通用存放器,存储器,立任一通用存放器,存储器,立刻数。刻数。 ADD AL,30H ADDAX,SI ADD BETASI,AX ADD DI,CX 这些指令将对标志产生不同的影响。这些指令将对标志产生不同的影响。 第二章第二章 指令系统指令系统 ADC ADC带进位加法带进位加法 格式:格式:ADC OPRD1ADC OPRD1,OPRD2OPRD2 执行:执行

33、:OPRD1 OPRD2+OPRD1+CFOPRD1 OPRD2+OPRD1+CF 该指令多用多字节运算该指令多用多字节运算 第二章第二章 指令系统指令系统低低 高高 56 56 THORD THORD 87 87 21 21 43 43 54 54 86 86 10 10 32 32 AA AA ID ID 75 75 32 32 SECOND SECOND FIRST FIRST 两个四字节数加,分别两个四字节数加,分别放在放在FLRSTFLRST和和SECONDSECOND起始起始之单元,存放时低字节在之单元,存放时低字节在地址处。地址处。M O V A XM O V A X , F I

34、 R S TF I R S T ; AXAX=8756H=8756HADD AXADD AX,DECONDDECOND; AXAX=8756+8654=8756+8654M O V T H I R DM O V T H I R D , A XA X ; =1DAAH CF=1=1DAAH CF=1MOV AXMOV AX,FIRST+2FIRST+2AXAX=4321H=4321HADC AXADC AX,SECOND+2 SECOND+2 A XA X =4321+3210+CF=4321+3210+CFMOV THIRD+2 MOV THIRD+2 =7532H =7532H 第二章第二章

35、 指令系统指令系统 INC INC:加:加1 1 指令指令 格式:格式:INC OPRDINC OPRD 该指令的操作数该指令的操作数OPRDOPRD可以是经过存可以是经过存放器,也可以是存储器单元。放器,也可以是存储器单元。 执行:执行:OPRD OPRD+1 OPRD OPRD+1 INC AX; AX=AX+1 INC AX; AX=AX+1第二章第二章 指令系统指令系统 留意留意 执行加法指令时,执行加法指令时,CF位是根据最位是根据最高有效位能否有进位而设置。有进高有效位能否有进位而设置。有进位位CF=1,无进位,无进位CF=0。 OF根据符号及其变化情况而设置。根据符号及其变化情况

36、而设置。假设两个操作数符号一样,结果的假设两个操作数符号一样,结果的符号与之相反,那么溢出符号与之相反,那么溢出OF=1第二章第二章 指令系统指令系统 SUB SUB:减法指令:减法指令 格式:格式:SUB OPRD1SUB OPRD1,OPRD2OPRD2 操作:操作:OPRD1=OPRD1-OPRD2OPRD1=OPRD1-OPRD2 目的操作数目的操作数OPRD1OPRD1可以是可以是AXAX,通用存,通用存放器,存储器单元,放器,存储器单元, 源操作数源操作数OPRD2OPRD2可以是立刻数,通用可以是立刻数,通用存放器,存储器单元。存放器,存储器单元。 第二章第二章 指令系统指令系统

37、 例例 SUB CX,BX; CX=CX-BX SUB BX,CL; BX=BX-CL第二章第二章 指令系统指令系统 SBB OPRD1 SBB OPRD1,OPRD2OPRD2格式:格式:SBB OPRD1SBB OPRD1,OPRD2OPRD2操作:操作:OPRD1=OPRD1-OPRD2-CFOPRD1=OPRD1-OPRD2-CF 用于多字节数相减。用于多字节数相减。 第二章第二章 指令系统指令系统 DEC DEC:减指令:减指令格式:格式:DEC OPRDDEC OPRD执行:执行:OPRD OPRD-1OPRD OPRD-1 DEC CX DEC CX; CX=CX-1 CX=CX

38、-1 第二章第二章 指令系统指令系统 NEG NEG:取补指令:取补指令 格式:格式:NEG OPRDNEG OPRD 对操作数对操作数OPRDOPRD取补取补 执行:执行:OPRD OPRD+1OPRD OPRD+1 例:例:NEG ALNEG AL第二章第二章 指令系统指令系统 CMP CMP:比较指令:比较指令格式:格式:CMP PRD1CMP PRD1,OPRD2OPRD2完成两个操作数相减完成两个操作数相减 OPRD1-OPRD2OPRD1-OPRD2结果反映在标志位上并不回送结果。目结果反映在标志位上并不回送结果。目的操作数可以是存放器,或内存;源操的操作数可以是存放器,或内存;源

39、操作数可以是立刻数,存放器或内存。该作数可以是立刻数,存放器或内存。该指令主要用于比较两者之间的关系。指令主要用于比较两者之间的关系。 第二章第二章 指令系统指令系统 CMP AX,BX 假设假设AX与与BX同符号:同符号:AX-BX那么那么AX-BX不会溢出,用不会溢出,用SF判其符判其符号就可判别两数大小。即号就可判别两数大小。即 S F = 0 , A X B X , S F = 1 ,AXBX 负负-正:负正:负 SF=1 , AXBXAXBX 负负-正正 正正 那么那么SF=0 AXBX 假设无溢出假设无溢出OF=0 SF=1;AXBX 假设有溢出假设有溢出OF=1 SF=0;AXB

40、X 第二章第二章 指令系统指令系统相异符号相减有两种能够相异符号相减有两种能够 A- B 无溢出:无溢出:SF=1:AB 正正-负负 有溢出:有溢出:SF=0:AB 正正-负负 有溢出:有溢出:SF=1:AB 第二章第二章 指令系统指令系统 MUL MUL:无符号数乘法:无符号数乘法格式:格式:MUL OPRDMUL OPRD执行:字节操作执行:字节操作 AX ALAX AL* *OPRDOPRD 字 操 作字 操 作 D XD X , A X A X AXAX* *OPRDOPRDOPRDOPRD可以是存放器或内存单元可以是存放器或内存单元 例例 MOV ALMOV AL,FIRST FIR

41、STFIRST FIRST MUL SECOND SELIND MUL SECOND SELIND MOV THIRD MOV THIRD,AX THIRD AX THIRD 第二章第二章 指令系统指令系统 IMUL IMUL:带符号数乘法:带符号数乘法 同同MULMUL上,但是带上,但是带符号数符号数 MULMUL:255255* *255=65025255=6502511111111,1111b1111b* *(1111,1111b)(1111,1111b) IMUL IMUL:-1-1* *-1-1=1=1 例:例:AL= 0B4H BL AL= 0B4H BL =11H=11H AL

42、= 0B4H =-76D AL = 0B4H =-76D IMUL BL - IMUL BL -1292D1292D BL = 11H = 17D BL = 11H = 17D AL = 180D AL = 180D MUL BL MUL BL 3060D3060D BL = 17D BL = 17D 第二章第二章 指令系统指令系统 DIV DIV:无符号数除法:无符号数除法 格 式 :格 式 : D I V D I V OPRDOPRD执行:字节操作:执行:字节操作: AL AX / AL AX /OPRDOPRD 的商的商 O P R D O P R D为为8 8位位 AH AX / AH

43、 AX /OPRDOPRD 的余数的余数字操作:字操作: AX AX DXDX,AXAX/ /OPRDOPRD的的商商 DX DX DXDX,AXAX/ /OPRDOPRD的的余数余数商、余数均为无符号数;商、余数均为无符号数;OPRDOPRD为存放器为存放器或内存单元。或内存单元。 第二章第二章 指令系统指令系统 IDIV IDIV:带符号除法:带符号除法 同上,商、余数等为有符号数。同上,商、余数等为有符号数。 第二章第二章 指令系统指令系统 CBW CBW 扩展存储器扩展存储器ALAL中的字节符号,中的字节符号, 把它送至把它送至AHAH中中 AL 80HAL 80H AL 80H,那么

44、扩展后,那么扩展后AH 0FFHAH 0FFH目的:在两个字节操作数相除时,产生目的:在两个字节操作数相除时,产生一个字的被除数。一个字的被除数。 第二章第二章 指令系统指令系统 CWD:将:将AX的符号扩展到的符号扩展到DX中中 AX =8000H,那么,那么 DX FFFFH目的:在两个字操作数相除时,产生一目的:在两个字操作数相除时,产生一个字节的被除数。个字节的被除数。 第二章第二章 指令系统指令系统例:有一内存例:有一内存BUFFER,前两个字节是,前两个字节是16位带符号被除数,三、四字节是位带符号被除数,三、四字节是16位位带符号除数,再下两个字节放商,再下带符号除数,再下两个字

45、节放商,再下两个字节放余数。两个字节放余数。BUFFER BUFFER 被除数被除数 除数除数 余数余数 商商 第二章第二章 指令系统指令系统 LEA BX LEA BX,BUIFFERBUIFFER; BUFFERBUFFER的偏址的偏址 BXBX MOV MOV AXAX,BXBX; 被除数被除数 AXAX CWD CWD ;扩展为扩展为DXDX,AXAX IDIV 2BXIDIV 2BX; AXAX 商商 DXDX 余数余数 MOV 4BX, AXMOV 4BX, AX MOV MOV 6BX,DX 6BX,DX 第二章第二章 指令系统指令系统 BCD BCD码的概念码的概念紧缩的紧缩的

46、BCDBCD码:四位一个数,延续陈列。码:四位一个数,延续陈列。非紧缩的非紧缩的BCDBCD码:码:ASCIIASCII码的数字码,低码的数字码,低四位为四位为BCDBCD码,高四位为码,高四位为00110011无意义。无意义。 ( (一一) )紧缩的紧缩的BCDBCD码十进制调整码十进制调整 DAADAA, DAS DAS ( (二二) )非紧缩的非紧缩的BCDBCD码调整码调整 AAAAAA, AASAAS, AAMAAM, AAD AAD 第二章第二章 指令系统指令系统 DAA DAA 加法十进制调整指令加法十进制调整指令作用:紧跟加法指令之后,校正作用作用:紧跟加法指令之后,校正作用假

47、设假设AL&0FHAL&0FH9,9,或或AF=1AF=1,那么,那么AL AL AL+6AL+6, AF 1AF 1;假设假设(AL&F0H)9,(AL&F0H)9,或或CF=1CF=1,那么,那么AL L+6AL L+6,AF 1AF 1。 原来原来16进制是满进制是满16进位,进位, 十进制为满十进制为满10进位,进位, 所以到进展用所以到进展用16进制进展进制进展 10进制调整时为进制调整时为+6 * * * 9 + * * *第二章第二章 指令系统指令系统例:例:ADD AL,BL ADD AL,BL 97+96 193 1001 0111+1001

48、0110 0010 1101 D 110 110 6 1001 0011 1CF=1 CF=1 第二章第二章 指令系统指令系统 DAS DAS 减法的十进制减法的十进制 执行:执行:AL ALAL AL中的差调整到紧缩的中的差调整到紧缩的BCDBCD格式格式低四位低四位 假设假设AL&OFHAL&OFH9,9, 或或AF=1AF=1,那么,那么AL AL-6AL AL-6高四位高四位 假设假设AL&F0HAL&F0H90H,90H, 或或CF=1CF=1,那么,那么AL AL-60H AL AL-60H 第二章第二章 指令系统指令系统 AAA:加法的:加法的AS

49、CII调整调整AL AL调整调整AH AH+调整进位值调整进位值 执行执行1假设假设AL低四位在低四位在09之间,之间,AF=0 执行执行32假设假设AL低四位在低四位在0FH之间,之间,AF=1, 那么那么AL 存放器加存放器加6,AH存放器加存放器加1,AF加加1。3去除去除AL高四位高四位4AF位的结果送位的结果送CF位。位。 第二章第二章 指令系统指令系统 AAS:减法的:减法的ASCII调整调整AL 把把AL中的差调整到非紧缩的中的差调整到非紧缩的BCD格式格式AH AH - 调整产生的借位值调整产生的借位值 第二章第二章 指令系统指令系统 AAM:乘法的:乘法的ASCII调整调整

50、校正作用:校正作用:AH AL被被OA除的商除的商 AL AL被被OA除的除数除的除数 MUL AL,BL AAM AL=07H,BL=09H 执行执行MUL:AL=3FH=63 执行执行AAM:AH=06H,AL=03H 前面都是对运算结果进展十进制调整。前面都是对运算结果进展十进制调整。 6 AH10 63 60 3 AL第二章第二章 指令系统指令系统 AAD:除法的:除法的ASCII调整:调整:AX存放二位非紧缩存放二位非紧缩BCD数,即数,即AH为十位数,为十位数,AL为个位数。为个位数。 AL 10*AH+AL AH 0 作用:作用: 相除之前将相除之前将AX中的被除数用中的被除数用

51、AAD调整为二进制数。并存放于调整为二进制数。并存放于AL中。中。 第二章第二章 指令系统指令系统逻辑运算指令逻辑运算指令AND,OR,NOT,XOR,TEST这几条指令:这几条指令:NOT不允许运用立刻数,不允许运用立刻数,其他其他 指令的指令的OPRD2为立刻数为立刻数 至少有一个操作数存放在至少有一个操作数存放在Reg中,中, 另一个那么可为恣意寻址方式。另一个那么可为恣意寻址方式。 移位指令移位指令SHL,SAL,SHR,SAR,ROL,ROR,RCL,RCR 第二章第二章 指令系统指令系统 AND:与:与 AND OPTD1,OPRD2执行:执行:OPRD1 OPRD1 OPRD2

52、第二章第二章 指令系统指令系统 OR OR:或:或 OR OPRD1OR OPRD1,OPRD2OPRD2执行:执行:OPRD1 OPRD1 v OPRD2 OPRD1 OPRD1 v OPRD2 第二章第二章 指令系统指令系统 NOT NOT:非:非 NOT OPRDNOT OPRD 执行:执行:OPRD OPRD OPRD OPRD 第二章第二章 指令系统指令系统 XOR:异或指令:异或指令 XOR OPRD1,OPRD2执行:执行:OPRD1 OPRD1 OPRD2 第二章第二章 指令系统指令系统 TEST:测试指令:测试指令 TEST OPRD1,OPRD2 执行:执行:OPRD1 O

53、PRD2 操作数相与,不保管结果,只影操作数相与,不保管结果,只影响标志位。响标志位。第二章第二章 指令系统指令系统 SHL:逻辑左移指令:逻辑左移指令 格式:格式:SHL OPRD,m OPRD为除立刻数外的任何寻址方式,为除立刻数外的任何寻址方式,移位次数由移位次数由m定,定,m为为1或或CL。m为为1时时只移一位,大于只移一位,大于1时,移位次数应置于时,移位次数应置于CL中。中。 例例 第二章第二章 指令系统指令系统 SHL AX,1 或或 SHL AX,CL CF 7 0 0 第二章第二章 指令系统指令系统 SAL SAL:算术左移指令:算术左移指令 同同SHLSHL。在移位次数为。

54、在移位次数为1 1时,移位后,时,移位后,bit7bit7与与CFCF不同,那么阐明溢出,故不同,那么阐明溢出,故OF=1OF=1,否那么否那么OF=0OF=0。该指令用于有符号乘法。该指令用于有符号乘法。 CF 7 0 第二章第二章 指令系统指令系统 SHR:逻辑右移:逻辑右移 格式:格式:SHR OPRD,m 7 0 CF0 第二章第二章 指令系统指令系统 SAR:算术右移:算术右移 7 0 CF该指令用于有符号除法该指令用于有符号除法 第二章第二章 指令系统指令系统 ROL ROL:循环左移指令:循环左移指令 格式:格式:ROL OPRDROL OPRD,m m CF 7 0CF 15

55、08位16位第二章第二章 指令系统指令系统 ROR:循环右移指令:循环右移指令 7 0 CF第二章第二章 指令系统指令系统RCLRCL:带进位循环左移指令:带进位循环左移指令 CF 7 0第二章第二章 指令系统指令系统 RCR RCR:带进位循环右移指令:带进位循环右移指令 7 0 CF第二章第二章 指令系统指令系统 串处置指令串处置指令MOVS;CMPS;SCAS;LODS;STOS与上述指令配合运用的前缀有:与上述指令配合运用的前缀有: REP;REPE/REPZ;REPNE/REPNZ 1、与、与REP配合运用的配合运用的MOVS,STOS, LODS指令指令 2、与、与REPE/REP

56、Z和和REPNE/REPNZ结结合合 任务的任务的CMPS和和SCAS指令指令 REP REP:反复串操作到:反复串操作到CXCX=0=0为止为止执行步骤:执行步骤: CX=0 ? CX=CX-1执 行 串 处 置 指 令执 行 串 处 置 指 令MOVS,STOS, LODS退出退出REP REP Y Y N N第二章第二章 指令系统指令系统 MOVS MOVS 串传送指令串传送指令 格式格式 MOVS OPRD1MOVS OPRD1,OPRD2 OPRD2 应应标示字或字节标示字或字节可以简化为可以简化为 MOVSB MOVSB 字节传送字节传送 MOVSW MOVSW 字传送字传送规范格

57、式规范格式MOVS ESMOVS ES:BYTE PTRDIBYTE PTRDI,DSDS:SISI。 第二章第二章 指令系统指令系统MOVSMOVS执行操作步骤:执行操作步骤: DI SI DF=0 ?SI=SI-1/2DI=DI-1/2SI=SI+1/2DI=DI+1/2 Y Y N N DFDF决议了串传送决议了串传送的方向,可有以的方向,可有以下二条指令确定下二条指令确定 CLDCLD:使:使DF=0DF=0 STD STD:使:使DF=1 DF=1 第二章第二章 指令系统指令系统 例例 MOV SI,OFFSET SOURSE MOV DI,OFFSET DEST MOV CX,10

58、0 CLRREP MOVSB 在此处源串在数据段中也允许段在此处源串在数据段中也允许段超越,但目的串必需在附加段中。超越,但目的串必需在附加段中。 第二章第二章 指令系统指令系统 STOS 存串指令存串指令 格式:格式:STOS OPRD 目的目的 STOSB 字节字节 STOSW 字字 执行:执行:DI AL, DI DI1DI AX, DI DI2 将将AL或或AX的内容存入的内容存入DI指定的指定的 附加段单元中。附加段单元中。 第二章第二章 指令系统指令系统 例例MOV DI,0500HMOV AL,20HMOV CX,5CLDREP STOSB 执行情执行情况况第二章第二章 指令系统

59、指令系统CX=0 CX -1 CXDI AL DI +1 DIDF=0N N Y Y 退出退出 Y YN N DI -1 DI第二章第二章 指令系统指令系统 LODS 取串指令:取串指令: 格式:格式:LODS OPRD LODSB字节字节 LODSW字字 执行:执行: 字 节字 节 A L S I , , S I SI1 字字 AX SI, SI SI 2 将将SI指定的数据段单元内容允指定的数据段单元内容允许段超越送入许段超越送入AL,AX。普通不将。普通不将该指令与该指令与REP联用。联用。 第二章第二章 指令系统指令系统 REPE/REPZ REPE/REPZ 当相等当相等/ /为零时

60、反复串操作为零时反复串操作 CX/ZF =0 CX = CX -1反复串指令反复串指令N N Y Y 退出退出 第二章第二章 指令系统指令系统 与与REP相比,实践上相比,实践上REPE和和REPZ一样,只是除满足一样,只是除满足CX=0终了终了外,还添加了一个外,还添加了一个ZF=0退出的条件。退出的条件。 第二章第二章 指令系统指令系统 REPNE/REPNZ REPNE/REPNZ 当不相等当不相等/ /不为零时重不为零时重 复串操作。退出条件与上面相反。复串操作。退出条件与上面相反。 即即CX=0CX=0,ZF=1ZF=1退出退出 第二章第二章 指令系统指令系统 CMPS CMPS 串比较指令串比较指令 格式:格式: CMPS OPRD1 C

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论