微型计算机原理及应用知识点总结_第1页
微型计算机原理及应用知识点总结_第2页
微型计算机原理及应用知识点总结_第3页
微型计算机原理及应用知识点总结_第4页
微型计算机原理及应用知识点总结_第5页
已阅读5页,还剩35页未读 继续免费阅读

下载本文档

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

文档简介

1、第一章 计算机基础知识一、微机系统的基本组成1.微型计算机系统由硬件和软件两个部分组成。(1)硬件:冯诺依曼计算机体系结构的五个组成部分:运算器,控制器,存储器,输入设备,输入设备。其特点是以运算器为中心。现代主流的微机是由冯诺依曼型改进的,以存储器为中心。冯诺依曼计算机基本特点:核心思想:存储程序;基本部件:五大部件;信息存储方式:二进制;命令方式:操作码(功能)+地址码(地址),统称机器指令;工作方式:按地址顺序自动执行指令。(2)软件:系统软件:操作系统、数据库、编译软件 应用软件:文字处理、信息管理(MIS)、控制软件二、微型计算机的系统结构大部分微机系统总线可分为3类:数据总线DB(

2、Data Bus),地址总线AB(Address Bus),控制总线CB(Control Bus)。总线特点:连接或扩展非常灵活,有更大的灵活性和更好的可扩展性。三、工作过程微机的工作过程就是程序的执行过程,即不断地从存储器中取出指令,然后执行指令的过程。 例:让计算机实现以下任务:计算计算7+10=?程序:mov al,7Add al,10hlt指令的机器码:10110000(OP)0000011100000100(OP)0000101011110100(OP)基本概念:1. 微处理器、微型计算机、微型计算机系统2. 常用的名词术语和二进制编码(1) 位、字节、字及字长(2)数字编码(3)

3、字符编码(4) 汉字编码3. 指令、程序和指令系统习题:1.1,1.2,1.3,1.4,1.5第二章80868088微处理器一、80868088微处理器8086微处理器的内部结构:从功能上讲,由两个独立逻辑单元组成,即执行单元EU和总线接口单元BIU。执行单元EU包括:4个通用寄存器(AX,BX,CX,DX,每个都是16位,又可拆位,拆成2个8位)、4个16位指针与变址寄存器(BP,SP,SI,DI)、16位标志寄存器FLAG(6个状态标志和3个控制标志)、16位算术逻辑单元(ALU)、数据暂存寄存器;EU功能:从BIU取指令并执行指令;计算偏移量。总线接口单元BIU包括:4个16位段寄存器(

4、CS(代码段寄存器)、DS(数据段寄存器)、SS(堆栈段寄存器)和ES(附加段寄存器))、16位指令指针寄存器IP(程序计数器)、20位地址加法器和总线控制电路、6字节(8088位4字节)的指令缓冲队列;BIU功能:形成20位物理地址;从存储器中取指令和数据并暂存到指令队列寄存器中。3、执行部件EU和总线接口部件BIU的总体功能:提高了CPU的执行速度;降低对存储器的存取速度的要求。4、地址加法器和段寄存器由IP提供或由EU按寻址方式计算出寻址单元的16位偏移地址(又称为逻辑地址或简称为偏移量),将它与左移4位后的段寄存器的内容同时送到地址加法器进行相加,最后形成一个20位的实际地址(又称为物

5、理地址),以对应存储单元寻址。要形成某指令码的物理地址(即实际地址),就将IP的值与代码段寄存器CS(Code Segment)左移4位后的内容相加。【例假设CS4000H,IP0300H,则指令的物理地址PA4000H×10H0300H40300H。逻辑地址=4000H: 0300H。“段加偏移”的寻址机制:物理地址=段基地址(又称段起始地址=段地址×10H)+偏移地址逻辑地址:其表达形式为“段地址:段内偏移地址”。二、8086/8088CPU基本执行环境指令指针(IP)寄存器包含下一条要执行的指令在当前码段中的偏移。 80868088的16位标志寄存器F只用了其中的9位

6、作标志位,即6个状态标志位,3个控制标志位。6个状态标志位:CF(Carry Flag)进位标志:进位或借位时,则CF为1;否则为0。PF(Parity Flag)奇偶性标志:含有偶数个“1”时,则PF为1;否则为0。AF(Auxiliary Carry Flag)辅助进位标志:ZF(Zero Flag)零标志:运算结果为零,ZF为1;否则为0。SF(Sign Flag)符号标志:OF(Overflow Flag)溢出标志:3个控制标志位(程序设置(1),清除(0):DF(Direction Flag)方向标志IF(Interrupt Enable Flag)中断允许标志TF(Trap Fla

7、g)跟踪(陷阱)标志存储器组织:1M字节存储器以64K为范围分为若干段。在寻址一个具体物理单元时,必须要由一个基地址再加上由SP或IP或BP或SI或DI等可由CPU处理的16位偏移量来形成实际的20位物理地址。三、总线周期1、时钟周期:时钟脉冲信号的一个循环时间叫一个时钟周期,又称为一个“T”状态,是微处理器工作的最小时间单位2、总线周期(机器时间):完成一次对存储器或I/O端口的操作所需要的时间。3、指令周期:执行一条指令所需要的时间。1个最基本的总线周期由4个时钟周期组成,4个时钟周期又称为4个状态,。四、8086/8088引脚地址数据总线AD15AD0:分时复用地址/状态总线:A19/S

8、6A16/S3:控制总线:BHE/S7:表示高8位数据有效,T1输出。RD:存储器或I/O口读信号,输出,低电平有效,T2T3有效。READY:准备就绪信号,输入,高电平有效。READY1时,表示CPU访问的存储器或I/O端口已准备好传送数据,马上可以进行读写操作。TEST:测试信号,输入,低电平有效。INTR:可屏蔽中断请求信号,输入,电平触发,高电平有效。 CPU每执行完一条指令,即检查INTR,为“1”表示有中断清求,为“0”,则没有。是否响应受标志寄存器中IF的控制 NMI:不可屏蔽中断请求信号,输入,上升沿触发。RESET:复位信号,输入,高电平有效。CPU复位后,从FFFF0H单元

9、开始读取指令。电源线和地线: VCC,GND 五、8086系统的最小/最大工作方式最小工作方式: INTA:中断响应信号,输出,低电平有效。 ALE:地址锁存允许信号,输出,高电平有效。 DEN:数据允许信号,三态输出,低电平有效。 DT/R:数据发送/接收控制信号,三态输出。 M/IO:存储器或I/O端口选择信号,三态输出。M/IO1,表示当前CPU正在访问存储器;M/IO0,表示当前CPU正在访问I/O端口。 WR:写信号,三态、输出。当WR0低电平有效时,表示当前CPU正在对存储器或I/O端口进行写操作。 HOLD:总线保持请求信号,输入,高电平有效。 HLDA:总线请求响应信号,输出,

10、高电平有效。最大工作方式:在最大方式系统中,外加有8288总线控制器,一般包含2个或多个处理器。8282:地址锁存器,8286:数据收发器第三章 8086指令系统一、计算机语言1.机器语言:面向机器,0和1表示机器是否可接受并执行指令。2汇编语言:面向人,符号表示,必须翻译才能执行。汇编语言指令的格式:一般格式:操作码 操作数具体格式:标号:操作码(空格分隔符)目的操作数(存放结果),(逗号分隔符)源操作数;注释一条指令可以无操作数,必须有操作码,不同的机器,操作数个数不同。3.高级语言二、指令寻找操作数的寻址方式操作数通常保存在:(1)指令中(2)CPU内部寄存器中()内存单元中()端口中;

11、8086/8088CPU与数据有关寻址方式:1. 立即寻址 2.寄存器寻址 3.直接寻址 4.寄存器间接寻址5.变址寻址6.基址寻址7.基址加变址寻址9.相对基址变址寻址10. I/O端口寻址11. 数据串寻址例:设DS1200H,BX05A6H,SS5000H,BP40A0H,SI2000H,DI3000H,位移量DISP1618H,试判断下列指令的寻址方式,并求出在各种寻址方式下,这些寄存器与位移量所产生的有效地址EA和实际地址(物理地址)PA。说明指令执行的结果。 MOV AX,0618H这是一条直接寻址方式的指令。EA0618HPA12000H+0618H12618H该指令执行的结果是

12、将数据段的实际地址为12618H和12619H两单元中的内容取出送AX。 MOV AX,BX这是一条以数据段基址寄存器BX间接寻址的指令。EA05A6HPA12000H+05A6H125A6H该指令执行的结果是将数据段的125A6H和125A7H两单元的字内容取出送AX。 MOV AX,BP这是一条以堆栈段基址寄存器BP间接寻址的指令。由于寻址时用上了BP寄存器,则操作数所默认的段寄存器就是SS。EA40A0HPA50000H+40A0H540A0H该指令执行的结果是将堆栈段的540A0H和540A1H两单元的字内容取出送AX。 MOV AX,DI这是一条变址寻址的指令。EA3000HPA12

13、000H+3000H15000H该指令执行的结果是将数据段的15000H和15001H两单元的字内容取出送AX。 MOV AX,BX+DI这是一条基址加变址寻址的指令。EA05A6H+3000H35A6HPA12000H+35A6H155A6H该指令执行的结果是将数据段的155A6H和155A7H两单元的字内容取出送AX。 MOV AX,BP+SI+DISP这是一条带位移量的基址加变址寻址的指令,又叫相对基址加变址寻址的指令,且操作数的默认段为SS。EA40A0H+2000H+1618H76B8HPA50000H+76B8H576B8H该指令执行的结果是将堆栈段的576B8H和576B9H两单

14、元的字内容取出送AX。三、指令的寻址=>CS:IP(不用表示,固定的)转移寻址:用于控制转移类指令。实质:控制转移类指令通过改变IP和CS值,从新位置开始执行指令。转移寻址分成2种类型:段内转移和段间转移。条件转移指令只允许实现段内转移,而且是段内短转移,由指令中直接给出8位地址位移量无条件转移和调用指令又可分为段内短转移、段内直接转移、段内间接转移、段间直接转移和段间间接转移等5种不同的寻址方式。段间转移=远转移。四、指令分类8086/8088的指令按功能可分为6类:数据传送、算术运算、逻辑运算、串操作、程序控制和CPU控制。1.数据传送类指令数据传送类指令可完成寄存器与寄存器之间、寄

15、存器与存储器之间、寄存器与I/O端口之间的字节或字传送,共同特点是不影响标志寄存器的内容,分成4种类型。(1通用数据传送指令(1)MOV d,s;ds,即将由源s指定的源操作数送到目标d源操作数(s)可以是8/16位寄存器、存储器的某个字节/字或者是8/16位立即数;目标操作数(d)不允许为立即数;两者不能同时为存储器操作数。基本传送指令MOV d,s的类型有以下7种。 MOV mem/reg1,mem/reg2由mem/reg2所指定的存储单元或寄存器中的8位数据或16位数据传送到由mem/reg1所指定的存储单元或寄存器中,但不允许从存储器传送到存储器。 MOV mem/reg,data

16、将8位或16位立即数data传送到由mem/reg所指定的存储单元或寄存器中。 MOV reg,data 将8位或16位立即数data传送到由reg所指定的寄存器中。 MOV ac,mem 将存储单元中的8位或16位数据传送到累加器ac中。 MOV mem,ac 将累加器AL(8位)或AX(16位)中的数据传送到由mem所指定的存储单元中。使用MOV指令时要注意的问题:CS不能做目的操作数不能直接从存储器到存储器之间数据传送2条伪指令:WORD PTR表示字数据类型BYTE PTR表示字节数据类型(2)PUSH和POPPUSH s:将源操作数(16位)压入堆栈POP d:将堆栈中当前栈顶两相邻

17、单元的数据字弹出到d 压栈指令PUSH AX:将AX(16位)中的数据压入栈,AX是源操作数,栈顶是目的操作数,由(SS:SP)指向。出栈指令POP AX:将栈顶信息弹出到AX中,AX是目的操作数,栈顶是源操作数,由(SS:SP)指向。设当前CS1000H,IP0020H,SS1600H,SP004CH,则该指令执行时,将当前栈顶两相邻单元1604CH与1604DH中的数据字弹出并传送到CX中,同时修改堆栈指针,SP+2SP,使之指向新栈顶1604EH。堆栈是内存中开辟的一个段,存放需要保护的信息(数据、地址)。堆栈操作时应遵循的5点原则:堆栈的存取操作每次必须是一个字(即2个字节)。执行压栈

18、指令时,总是从高位地址向低位地址存放数据,而不象内存中的其他段,总是从低地址向高地址存放;执行出栈指令时,从堆栈中弹出数据则正好相反。堆栈段在内存中的物理地址由SS和SP或SS和BP决定,其中,SS是堆栈段寄存器,它是栈区的最低地址,称为堆栈的段地址;SP是进栈或出栈指令隐含的堆栈地址指针,它的起始值是堆栈应达到的最大偏移量,即指向栈顶地址。堆栈段的范围是SS×16至SS×16+SP的起始值。每执行一次压栈指令,则SP-2,推入堆栈的数据放在栈顶;而每执行一次弹出指令时,则SP+2。BP寄存器用于对堆栈中的数据块进行随机存取,例如,MOV AX,BPSI指令执行后,将把偏移

19、量为BP+SI的存储单元的内容装入AX。堆栈指令中的操作数只能是寄存器或存储器操作数,而不能是立即数。对CS段寄存器可以使用压栈指令PUSH CX,但却不能使用POP CS这种无效指令。(3)XCHG d,s该指令功能是将源操作数与目标操作数(字节或字)相互对应交换位置。交换可以在通用寄存器与累加器之间、通用寄存器之间、通用寄存器与存储器之间进行。但不能在两个存储单元之间交换,段寄存器与IP也不能作为一个源或目的操作数。(4)XLAT这是一条用于实现字节翻译功能的指令,又称为代码转换指令。具体地说,它可以将AL寄存器中设定的一个字节数值变换为内存一段连续表格中的另一个相应的代码,以实现编码制的

20、转换。2)目标地址传送指令专用于传送地址码的指令,可传送存储器的逻辑地址(即存储器操作数的段地址或偏移地址)至指定寄存器中,共包含3条指令:LEA、LDS和LES。(1) LEA d,s取有效地址指令。功能:把用于指定源操作数(它必须是存储器操作数)的16位偏移地址(即有效地址)传送到一个指定的16位通用寄存器中。(2) LDS d,s取某变量的32位地址指针指令。功能:从由指令的源s所指定的存储单元开始,由4个连续存储单元中取出某变量的地址指针(共4个字节),将其前两个字节(即变量的偏移地址)传送到由指令的目标d所指定的某16位通用寄存器,后两字节(即变量的段地址)传送到DS段寄存器中。 (

21、3) LES d,s这条指令与LDS d,s指令的操作基本相同,其区别仅在于将把由源所指定的某变量的地址指针中后2个字节(段地址)传送到ES段寄存器,而不是DS段寄存器。3)标志位传送指令用于传送标志位,共有4条。(1) LAHF指令功能:将标志寄存器F的低字节(共包含5个状态标志位)传送到AH寄存器中,双操作数,固定寻址,所以被隐藏。(2)SAHF指令功能:将AH寄存器内容传送到标志寄存器F的低字节。(3)PUSHF指令功能:将16位标志寄存器F内容入栈保护。其操作过程与前述的PUSH指令类似。(4)POPF指令功能:将当前栈顶和次栈顶中的数据字弹出送回到标志寄存器F中。4)I/O数据传送指

22、令(1)IN累加器,端口号端口号可以用8位立即数直接给出;也可以将端口号事先安排在DX寄存器中,间接寻址16位长端口号(可寻址的端口号为065535)。IN指令是将指定端口中的内容输入到累加器AL/AX中。(2)OUT 端口号,累加器与IN指令相同,端口号可以由8位立即数给出,也可由DX寄存器间接给出。OUT指令是将累加器AL/AX中的内容输出到指定的端口。 OUT PORT,AL ;端口PORTAL,即将AL中的字节内容输出到由PORT直接指定的端口。PORT:符号地址,表示端口直接地址。 OUT DX,AX ;端口(DX)AX,即将AX中的字内容输出到由DX所指定的端口。I/O指令只能用累

23、加器作为执行I/O数据传送的机构,直接寻址范围为0255,寻址大于255的端口地址时,必须用间接寻址的I/O指令。例如,在IBM PC/XT微机系统中,既用了0255范围的端口地址,也用了25565535范围的端口地址。2.算术运算指令1)加法指令(1) ADD d,s ;dd+s 指令功能:将源操作数与目标操作数相加,结果保留在目标中。并根据结果置标志位。源操作数可以是8/16位通用寄存器、存储器操作数或立即数;目标操作数不允许是立即数,其他同源操作数。且不允许两者同时为存储器操作数。(2)ADC d,s;dd+s+CF 带进位加法(ADC)指令的操作过程与ADD指令基本相同,惟一的不同是进

24、位标志位CF的原状态也将一起参与加法运算,待运算结束,CF将重新根据结果置成新的状态。ADC指令一般用于16位以上的多字节数字相加的软件中。(3)INC d;dd+1指令功能:将目标操作数当作无符号数,完成加1操作后,结果仍保留在目标中。 目标操作数可以是8/16位通用寄存器或存储器操作数,但不允许是立即数。2)减法指令(1)SUB d,s;dd-s指令功能:将目标操作数减去源操作数,其结果送回目标,并根据运算结果置标志位。(2)SBB d,s;dd-s-CF本指令与SUB指令的功能、执行过程基本相同,唯一不同的是完成减法运算时还要再减去进位标志CF的原状态。运算结束时,CF将被置成新状态。(

25、3)DEC d; dd-1减1指令功能:将目标操作数的内容减1后送回目标。目标操作数可以是8/16位通用寄存器和存储器操作数,但不允许是立即数。(4)NEG d; dd+1NEG是求补码的指令,简称求补指令。指令功能:将目标操作数取负后送回目标。(5)CMP d,s;d-s,只置标志位指令功能:将目标操作数与源操作数相减但不送回结果,只根据运算结果置标志位。不允许两个操作数同时为存储器操作数,也不允许做段寄存器比较。3)乘法指令乘法指令用来实现两个二进制操作数的相乘运算,包括两条指令:无符号数乘法指令MUL和有符号数乘法指令IMUL。(1) MUL sMUL s是无符号乘法指令,被乘数(目的操

26、作数)隐含在累加器AL/AX中;由s指定的源操作数作乘数,相乘所得双倍位长的积,分别存放到DX与AX中。(2)IMUL s有符号乘法指令4)除法指令除数、商:8位,被除数可以是16位,目的操作数被隐含。(1) DIV sDIV s 被除数隐含在累加器AX(字节除)或DX、AX(字除)中。指令中由s给出的源操作数作除数。字节除法,商存于AL,余数存于AH。字除法,商存于AX,余数存于DX。(2) IDIV s该指令完成将两个带符号的二进制数相除的功能。(3) CBW和CWD5)十进制调整指令(1) DAADAA是加法的十进制调整指令,它必须跟在ADD或ADC指令之后使用。功能:将存于AL(目的操

27、作数)寄存器中的2位BCD码加法运算的结果调整为2位压缩型十进制数,仍保留在AL中。AL寄存器中的运算结果在出现非法码(1010B1111B)或本位向高位(指BCD码)有进位(由AF=1或CF=1表示低位向高位或高位向更高位有进位)时,由DAA自动进行加6调整。AF标志寄存器可知进位。(2) DAS减法的十进制调整指令,减6调整(3) AAA加法的ASCII码调整指令(4) AAS减法的ASCII码调整指令(5) AAM乘法的ASCII码调整指令(6)AAD除法的ASCII码调整指令。3.逻辑运算和移位循环类指令:分为3种类型:逻辑运算;移位;循环1)逻辑运算指令(1)AND d,s;dds,

28、按位“与”操作,有一个是0,结果是0。(2) OR d,s;dds,按位“或”操作,有一个是1,结果是1。(3) XOR d,s;dd s,按位“异或”操作,不同,相同0。(4) NOT d;d d ,按位取反操作。 (5) TEST d,s;ds,按位“与”操作,不送回结果,测试指令,影响标志位。2)移位指令与循环移位指令移位指令分为算术移位和逻辑移位。循环移位分为不带进位位(小循环)与带进位位循环移位(大循环)4.串操作类指令(1)指令使用规则::串操作类指令是惟一地在存储器内的源与目标之间进行操作的指令,即源操作数与目标操作数都可以是存储器操作数。(2)源操作数地址:DS(段寄存器)、I

29、S(源变址寄存器)(3)目标操作数地址:ES(段寄存器)、DI(目标变址寄存器)(4)串长度存放在CS寄存器中(5)采用隐含寻址方式。(6)地址变化方向方向标志位DF,DF=0,用指令CLD实现,地址指针增1或2;DF=1,用指令STD实现,地址指针减1或2。(7)串指令功能:执行指令规定操作,然后SI和DI自动修改+-1(字符串)或+-2(字)。(8)重复指令功能:添加重复前缀REP等,指令实现自动循环,自动修改循环计数计功能,并判断0(9)循环计数计使用CX5种基本的串操作指令:1) MOVS目标串,源串2)CMPS目标串,源串3)SCAS目标串4) LODS源串5) STOS目标串5.程

30、序(转移)控制指令1)无条件转移指令(1)JMP 目标标号根据目标地址的位置与寻址方式的不同,JMP指令有4种基本格式。 段内直接转移操作数:目标地址的偏移量,偏移量是8位(短转移)或16位(近转移)的带符号数。目标标号偏移地址=(IP)+指令中位移量有条件转移只能用短转移。段内短转移:位移量1个字节段内近转移:位移量2个字节段内间接转移操作数:目标地址的偏移地址,寄存器间接寻址目标标号偏移地址=操作数-(IP)目标段=源段=CSSHORT段内短转移NIAR段内近转移段间直接转移新的段地址:CS,新的偏移地址:IP,操作数:目标地址的逻辑地址。目标地址的段地址和偏移地址存放于存储器的4个连续地

31、址中低字位:IP,高字位:CS,操作数是双字的存储器地址用DWORD PTR表示。(2) CALL 过程名无条件调用过程指令。“过程”即“子程序”。子程序名即子程序入口地址,子程序段第一条指令的地址,用符号表示。CALL指令将迫使CPU暂停执行调用程序(或称为主程序)后续的下一条指令(即断点,用堆栈保存),转去执行指定的过程;待过程执行完毕,再用返回指令RET将程序返回到断点处继续执行。RET:识别程序终点。CALL指令4种不同的寻址方式和4种基本格式: CALL N_PROCN_PROC是一个近过程名,采用段内直接寻址方式。CALL BX段内间接寻址的调用过程指令CALL F_PROCF_P

32、ROC是一个远过程名,它可以采用段间直接和段间间接两种寻址方式来实现调用过程。RET 弹出值:从过程返回(RET)指令应安排在过程的出口,即过程的最后一条指令处。2)条件转移指令条件转移指令共有18条,标志寄存器的标志位(9个,用6个状态)作为转移的条件。所有的条件转移指令都是短转移,目标地址(8位)的字节距离在-128+127范围以内。一个标志位的状态或几个标志的状态组合作为测试的条件。另外的一种替换形式,功能等效。3)循环控制指令:CX中存放着循环次数,短转移(1)LOOP 目标标号(2)LOOPE/LOOPZ 目标标号(3)LOOPNE/LOOPNZ 目标标号(4)JCXZ 目标标号6.

33、中断指令,中断指令只有3条。 (1)INT 中断类型,8086/8088系统中允许有256种中断类型(0255)(2)INTO (3)IRET7.处理器控制类指令,处理器控制指令只完成对CPU的简单控制功能。1) 对标志位操作指令(1) CLC、STC、CMC指令用来对进位标志CF清“0”、置 “1”和取反操作。2) 同步控制指令:多处理器系统(1) ESC外部操作码,源操作数(2) WAIT (3) LOCK3)其他控制指令 (1) HLT 暂停指令,当CPU发生复位或来自外部的中断时,CPU脱离暂停状态。(2) NOP 空操作指令,占用3个时钟周期的时间(IP+1),常用来作延时。五、80

34、86编程基础汇编语言是用指令的助记符、符号地址、标号等书写程序的语言,简称符号语言。1.汇编语言格式(1)指令分类汇编语言有3种基本语句:指令语句、伪指令语句、宏指令语句 。指令语句是一种执行性语句,它在汇编时,汇编程序将为之产生一一对应的机器目标代码。伪指令语句是一种说明性语句,它在汇编时只为汇编程序提供进行汇编所需要的有关信息,如定义符号,分配存储单元,初始化存储器等,而本身并不代表生成目标代码。不执行,翻译时用。宏指令语句是以某个宏名字定义的一段指令序列。宏指令可以有多段,子程序有一段。(2)语句格式1)指令语句格式标号:前缀 指令助记符 操作数表 ;注释2)伪指令语句的格式 名字伪指令

35、参数表;注释(3)汇编语言的语法段定义伪指令指示汇编程序应如何按段来组织程序和使用存储器。汇编程序3种设计结构:顺序结构、分支结构、循环结构。2.汇编语言编程运行环境第五章 存储器一、存储器的结构1.基本概念 位 (bit):信息量单位,每一个0或1就叫做1位信息。 字节 (byte):存储量单位,8位二进制代码作为一个字节。 字 (word):2个字节组成一个字,标识16位数据的长度。 字长:计算机一次处理数据的位数(存储器,寄存器)。字长是随计算机发展变化的(8086型字长=16位)。地址:每个单元的编号,各存储单元的地址与该地址中存放的内容完全不同。物理地址(20位,220=1024K=

36、1M)=段地址*10H+偏移地址逻辑地址(16位,216=64K)=段地址(16位):偏移地址(16位) 存储单元:每个单元存储8位二进制信息,即字长为8位。字地址:低地址单元的地址作为低地址,偶数。段:分段方法:段起始地址(段基址),段长简化问题。2.8086存储器管理方式1)存储器信息分类管理:程序信息,数据信息,保护(堆栈)信息。2)存储器空间分段使用:将内存空间分成若干个逻辑段使用,每个逻辑段存放一种信息,每个段称逻辑段,当前正在使用的逻辑段称作当前段。逻辑信息按照存放信息的类别分为:代码(程序)段,堆栈段,数据段,附加段。逻辑段:逻辑段长度=后起始地址-前起始地址,一类信息可以使用1

37、个至多个逻辑段。地址指针:程序指针:CS:IP,堆栈指针:SS:SP,数据指针:DS或ES:EA(有效地址)段地址来源于4个段寄存器,偏移地址来源于IP、SP、EA(由BP、SI、DI计算)。段地址默认时,偏移地址称作逻辑地址。3.8086存储器堆栈技术1.堆栈的定义:在存储器设置专用区(堆栈段),临时存放需要保护的信息。2.堆栈原则:按字堆栈,后进先出;从底(高地址)向顶(低地址)堆放堆栈指针SS:SP(栈顶)。3)堆栈设置:SS赋值:定段位置;SP赋值:定段长度。SP-2(内部自动,SP值不变)。物理地址=段地址(SS)*10H+偏移地址(SP)4)堆栈使用自动或用指令使用堆栈。SP-2,

38、进栈;SP+2,出栈;自动实现,程序里不写。二、计算机存储系统概述1计算机的存储系统1)主存和辅存2)存储系统2.内存(半导体存储器)的概述1)主存功能:存放当前运行的程序和数据,供CPU直接访问;存放多机共享的数据,兼顾实现多机通信。2)主存连接:主存<>系统总线<>CPU系统总线:AB:地址来自CPU的AR寄存器;CB:包括IO/M、WE/RD、Ready等引脚;DB:数据通过CPU的DR寄存器中转。3)主存分类RAM:易失性存储器,如U盘;ROM:非易失性存储器;MOS RAM分静态(Static)和动态(Dynamic)RAM两种。双极性RAM的特点:存取速度快

39、。静态MOS RAM 的特点:价格便宜,功耗低。内存:MOS4)内存(半导体存储器)组成和结构地址译码方式:单译码方式、双译码方式二、计算机的内存1.静态RAM简称SRAM,基本存储电路:RS触发器。Intel 6116:双列直插式,24引脚,存储容量2K*8位2.动态RAM简称DRAMIntel 2116:16K*1位,由于受封装引线的限制,只有7条地址输入线,1条数据线;采用地址线分时复用的技术;控制信号:CAS列,RAS行;工作方式:写操作:电容充电;读操作:破坏性读出,重写刷新;定时刷新:保持电容电平。特点:定时刷新、分时复用。3. EPROM芯片Intel 2716容量为2K

40、5;8位,采用NMOS工艺和双列直插式封装三、存储器的扩充和与CPU连接1、存储器的扩充位数的扩充:用固定容量、位数一定的芯片扩充成固定容量、位数较多的存储器。如:需要2KX8位的存储器:2KX1需8片; 需要2KX8 位的存储器:2KX4需2片; 需要2KX16位的存储器:2KX1需16片; 需要2KX16位的存储器:2KX4需4片。字扩展(地址扩展):用一定容量、位数固定的存储芯片扩充成较大容量位数固定的存储器。如:需要64KX8位的存储器:16KX8需4片;需要64KX8位的存储器:2KX8需32片。字、位扩展:用固定容量、固定位数的芯片扩展成较大容量、较大位数的存储器。如:用16KX4

41、 的存储芯片扩展成64KX8的存储器: 位扩展:需2片; 字扩展:需4片; 共需芯片:2X4=8片。2、存储器芯片片选信号CS的处理芯片介绍:Intel 74LS138和61163-8译码器74LS138存储芯片Intel6116(2KX8)片选信号的处理方法全译码法:片内寻址未用的全部高位地址线都参加译码,译码输出作为片选信号。部分译码:用片内寻址外的高位地址的一部分译码产生片选信号。线选法:高位地址线不经过译码,直接(或经反相器)分别接各存储器芯片的片选端来区别各芯片的地址。例:用Intel 6116芯片组成8KB RAM,设CPU为8086(设地址线为20根),译码器采用74LS138,

42、问题: 1、需要几片6116? 2、地址线和数据线各为多少根? 3、每一片的地址范围是多少?如何确定?是否有重叠区? 4、如何连线?(包括地址线、数据线和状态线)全译码分析:6116为2KX8芯片,需组成8KX8的存储器,只需进行字扩展,需4片。要求地址范围是00000H01FFFH,4片的地址范围分别为:第一片:00000H 007FFH;第二片:00800H 00FFFH;第三片:01000H 017FFH;第四片:01800H 01FFFH分析结果:A0A10作为芯片片内寻址;A11A13作为74LS的A、B、C端;A14A19组合产生G1、G2A、G2B 部分译码线性译码第六章 计算机

43、接口技术一、计算机的接口1.接口的基本结构2.接口的电路信号接口对外设连接的信号要求1)数据信号(1)数字量:通常为8位二进制数或ASCII代码。(2)模拟量:计算机检测、数据采集或控制的大量的现场信息等(3) 开关量:一些“0”或“1”两个状态的量2)状态信号状态信息是反映外设当前所处工作状态的信息,以作为CPU与外设间可靠交换数据的条件。3)控制信号:用于控制外设的启动或停止。二、数据传输方式1.无条件的程序传送方式定义:用程序定时用IN或OUT指令进行信息的输入或输出。条件:外设随时都处于数据(设备)准备好状态,无须检测器状态。2.程序查询传送方式1)查询输入(1)接口电路(2)程序流程

44、(3)程序编码POLL:IN AL,STATUS_PORT ;读状态端口的信息 TEST AL,80 ;设“准备就绪”(READY)信息在D7位 JE POLL ;未“准备就绪”,则循环再查 IN AL,DATA_PORT ;已“准备就绪”(READY=1),则读入数据 说明:POLL:标号;IN:操作码;AL:累加器;STATUS_PORT:符号地址;TEST:检测;JE POLL:条件转移,结果是0则返回;2)查询输出(1)接口电路 (2)程序流程(3)查询部分的程序为:POLL: INAL,STATUS_PORT;从状态端口输入状态信息TESTAL,80H;检查BUSY位JNEPOLL;

45、BUSY则循环等待MOVAL,STORE;否则,从缓冲区取数据OUTDATA_PORT,AL;从数据端口输出其中,STATUS_PORT是状态端口的符号地址;DATA_PORT是数据端口的符号地址;STORE是存放数据单元的地址偏移量。 3.中断传送方式所谓中断是外设或其他中断源中止CPU当前正在执行的程序,而转向为该外设服务(如完成它与CPU之间传送一个数据)的程序,一旦服务结束,又返回原程序继续工作。中断传送方式的好处是:大大提高了CPU的工作效率。4、DMA传送方式(Direct Memory Access)方式第七章 可编程接口芯片技术一、可编程并行接口芯片8255Av 8255A是I

46、ntel公司生产的可编程并行I/O接口芯片,有3个8位并行I/O口,共24位,其各端口工作方式由软件编程设定。v 8255A是应用最广泛的可编程并行接口芯片,使用方便,通用性强。1. 8255A的内部结构及引脚功能8255A是40个引脚双列直播插式芯片,有三个可存取数据的端口,分别是A口、B口、C口,可以通过编程来设置其工作方式;有一个控制端口,可以通控制端口设置8255A 数据端口的工作方式。2. 8255A的工作方式v A口可工作于方式0、方式1、方式2v B口可工作于方式0、方式1v C口只能工作于方式01)方式0基本输入输出 在方式0下,每一个端口都作为基本的输入或输出口,端口C口的高

47、4位和低4位以及端口A口、端口B都可独立地设置为输入口或输出口。2)方式1单向选通输入输出 三个数据端口分为A、B两组,分别称为A组控制和B组控制。端口A和端口B仍作为数据的输入或输出口,端口C作为联络控制信号,被分成两部分,一部分作为端口A和端口B的联络信号,另一部分仍可作为基本的输入输出口。3)方式2双向选通输入输出 端口A的方式2可使8255A与外设进行双向通信,既能发送数据,又能接收数据。可采用查询方式和中断方式进行传输。3.8255A的编程1).8255A的控制字(1)方式选择控制字(2)端口C置位/复位控制字【例】设8255A的A口和B口工作在方式0,A口作为输入端口,接有8个开关

48、;B口为输出端口,接有8个发光二极管。系统硬件电路如图所示,不断扫描开关Ki,当开关K0闭合时,点亮LED0、LED2、LED4、LED6,其它LED暗;当开关K1闭合时,点亮LED1、LED3、LED5、LED7,其它LED暗;当开关K0和K1同时闭合时退出。设8255A端口A、端口B、端口C及控制端口的地址分别为200H203H。试编写程序。解:首先确定工作方式控制字。根据题意,A口为输入端口,B口输出端口,均工作在方式0下,端口C没使用,设没有用到的控制字中对应位设置为0,所以8255A的控制字为:CODE SEGMENT ASSUME CS:CODE START:MOVAL,90H ;

49、 8255初始化 MOVDX,203H AGAIN:MOVDX,200H IN AL,DX TEST AL,03H ; 检测K0 K1 JZ EXIT TEST AL,01H ;检测K0 JZ DISP_0TEST AL,02H ;检测K1 JZ DISP_1 JMP AGAINDIAP_0:MOV AL,55H ;偶位上LED亮,奇位上LED暗 MOV DX,201H OUT DX,AL JMP AGAINDIAP_1:MOV AL,0AAH ;奇位上LED亮,偶位上LED暗 MOV DX,201H OUT DX,AL JMP AGAIN EXIT: MOV AH,4CH INT 21H C

50、ODEENDS END START小结:1.8255A支持哪几种传送方式?答:支持无条件的程序传送方式、程序查询传送方式、中断传送方式3种传送方式。2.支持多少条单元、地址、地址线?答:4条单元,2条地址,2条地址线。3.4个单元地址值如何确定?答:通过2条地址A0、A1确定。4.假设A、B、C都工作在方式0,8255接一个外设,能否实现查询传递,原因是什么,怎么实现?答:方式0:基本的输入输出工作方式 方式0有以下特点:任何一个端口都可用作输入或输出。由A口、B口、C口高4位与C口低4位4组组合成不同的输入/输出组态。方式0只能用无条件传送或按查询方式传送。所以,能实现,将A口与B口作为数据

51、端口,将C口的4位规定为控制信号输出口,另外4位规定为状态输入口,用C口配合A口与B口工作。二、可编程定时器/计数器8253v 8253是Intel公司生产的通用可编程定时/计数器,定时时间与计数次数由用户事先设定。v 8253的读/写操作对系统时钟没有特殊的要求,可应用于由任何一种微处理器组成的系统中,可作为可编程的方波频率发生器、分频器、实时时钟、事件计数器和单脉冲发生器等。1.8253的内部结构及引脚功能2)8253的引脚功能 8253采用双列直插式封装,有24个引脚。3)8253的工作方式v 8253的每个计数器都有6种工作方式:方式0方式5。v 这6种工作方式的不同点是:Ø

52、 输出波形不同Ø 启动计数器的触发方式不同Ø 计数过程中GATE信号对计数过程的影响不同4)8253的初始化(1) 8253方式控制字(2)8253初始化编程8253初始化编程步骤是:Ø 先写控制字到8253的控制端口。Ø 再写计数器初值到相应的计数器端口。例:在8086系统中,设8253的计数器0工作在方式2,二进制计数,计数初值为2000,8253的计数器1工作在方式3,BCD码计数,计数初值为100,8253端口地址为40H43H。试编写初始化程序。AL,34H;方式控制字00110100B=34H OUT 63H,AL;将控制字送入8253A控制

53、端口63H MOV AX,2000;初值送AX寄存器 OUT 60H,AL;将初值的低8位输出计数通道0端口60H MOV AL,AH;初值的高8位送AL寄存器 OUT 60H,AL;将将初值的高8位输出计数通道0端口60H 8253计数器1的初始化程序如下: MOV AL,57H;方式控制字01010111B=57H OUT 63H,AL;将控制字送入8253A控制端口63H MOV AL,100H;初值100送AL寄存器,因为BCD码计数,要送100H OUT 61H,AL;将初值的低8位输出计数通道1端口61H【例】硬件图如图所示,。要求将一输入频率为2MHz信号,利用8253做一个秒信号发生器,其输出接一发光二极管,以0.5秒点亮,0.5秒熄灭的方式闪烁指示。设8253的通道地址为400H403H

温馨提示

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

评论

0/150

提交评论