微型计算机原理与应用知识点总结.doc

上传人:牧羊曲112 文档编号:4177571 上传时间:2023-04-08 格式:DOC 页数:40 大小:9.39MB
返回 下载 相关 举报
微型计算机原理与应用知识点总结.doc_第1页
第1页 / 共40页
微型计算机原理与应用知识点总结.doc_第2页
第2页 / 共40页
微型计算机原理与应用知识点总结.doc_第3页
第3页 / 共40页
微型计算机原理与应用知识点总结.doc_第4页
第4页 / 共40页
微型计算机原理与应用知识点总结.doc_第5页
第5页 / 共40页
点击查看更多>>
资源描述

《微型计算机原理与应用知识点总结.doc》由会员分享,可在线阅读,更多相关《微型计算机原理与应用知识点总结.doc(40页珍藏版)》请在三一办公上搜索。

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

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

3、码(1) 位、字节、字及字长2(2)数字编码(3) 字符编码(4) 汉字编码4. 指令、程序和指令系统习题: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 位算术逻辑单元 (A

4、LU) 、数据暂存寄存器;EU功能:从 BIU 取指令并执行指令;计算偏移量。总线接口单元 BIU 包括:4 个 16 位段寄存器 (CS(代码段寄存器 ) 、DS(数据段寄存器 ) 、SS(堆栈段寄存器 ) 和 ES(附加段寄存器 ) )、16 位指令指针寄存器 IP (程序计数器) 、20 位地址加法器和总线控制电路、 6 字节( 8088 位 4 字节)的指令缓冲队列;BIU 功能:形成 20 位物理地址;从存储器中取指令和数据并暂存到指令队列寄存器中。3、执行部件 EU和总线接口部件 BIU 的总体功能: 提高了 CPU的执行速度; 降低对存储器的存取速度的要求。4、地址加法器和段寄存

5、器由 IP 提供或由 EU按寻址方式计算出寻址单元的 16 位偏移地址 ( 又称为逻辑地址或简称为偏移量) ,将它与左移 4 位后的段寄存器的内容同时送到地址加法器进行相加,最后形成一个20 位的实际地址 ( 又称为物理地址 ) ,以对应存储单元寻址。要形成某指令码的物理地址 (即实际地址) ,就将 IP 的值与代码段寄存器 CS(Code Segment)左移 4 位后的内容相加。【例假设 CS4000H,IP 0300H,则指令的物理地址 PA4000H 1 0H0300H40300H。3逻辑地址 =4000H: 0300H 。“段加偏移”的寻址机制:物理地址 =段基地址 (又称段起始地址

6、 =段地址 10 H)+偏移地址逻辑地址:其表达形式为“段地址:段内偏移地址”。二、8086/8088CPU 基本执行环境指令指针( IP )寄存器包含下一条要执行的指令在当前码段中的偏移。8086 8088 的 16 位标志寄存器 F 只用了其中的 9 位作标志位,即 6 个状态标志位, 3个控制标志位。46 个状态标志位:CF(Carry Flag )进位标志:进位或借位时,则 CF为 1;否则为 0。PF(Parity Flag )奇偶性标志:含有偶数个“ 1”时,则 PF 为 1;否则为 0。AF(Auxiliary Carry Flag) 辅助进位标志:ZF(Zero Flag) 零

7、标志:运算结果为零, ZF 为 1;否则为 0。SF(Sign Flag) 符号标志: OF(Overflow Flag) 溢出标志:3 个控制标志位(程序设置( 1),清除( 0):DF(Direction Flag) 方向标志IF(Interrupt Enable Flag) 中断允许标志TF(Trap Flag) 跟踪( 陷阱) 标志存储器组织:1M字节存储器以 64K 为范围分为若干段。在寻址一个具体物理单元时,必须要由 一个基地址再加上由 SP或 IP 或 BP或 SI 或 DI 等可由 CPU处理的 16 位偏移量来形成实际的 20位物理地址 。三、总线周期1、时钟周期:时钟脉冲信

8、号的一个循环时间叫一个时钟周期,又称为一个“ T”状态,是微处理器工作的最小时间单位2、总线周期(机器时间) :完成一次对存储器或 I/O 端口的操作所需要的时间。3、指令周期:执行一条指令所需要的时间。1 个最基本的总线周期由 4 个时钟周期组成, 4 个时钟周期又称为 4 个状态 , 。四、8086/8088 引脚地址数据总线 AD15AD0:分时复用地址/ 状态总线: A19/S6A16/S3:控制总线:BHE/S7:表示高 8 位数据有效, T1 输出。RD:存储器或 I/O 口读信号,输出,低电平有效, T2T3 有效。READY:准备就绪信号,输入,高电平有效。 READY1 时,

9、表示 CPU访问的存储器或 I/O 端口已准备好传送数据,马上可以进行读写操作。TEST:测试信号,输入,低电平有效。INTR:可屏蔽中断请求信号,输入,电平触发,高电平有效。 CPU每执行完一条指令 , 即检查 INTR, 为“1”表示有中断清求,为“ 0”,则没有。是否响应受标志寄存器中 IF 的控制5NMI:不可屏蔽中断请求信号,输入,上升沿触发。RESET:复位信号,输入,高电平有效。 CPU复位后,从 FFFF0H单元开始读取指令。电源线和地线: VCC,GND五、8086 系统的最小 / 最大工作方式最小工作方式: INTA: 中断响应信号,输出,低电平有效。 ALE: 地址锁存允

10、许信号,输出,高电平有效。 DEN: 数据允许信号,三态输出,低电平有效。 DT/R :数据发送 / 接收控制信号,三态输出。 M/IO:存储器或 I/O 端口选择信号, 三态输出。 M/IO1,表示当前 CPU正在访问存储器;M/IO0,表示当前 CPU正在访问 I/O 端口。 WR:写信号,三态、输出。当 WR0 低电平有效时,表示当前 CPU正在对存储器或 I/O端口进行写操作。 HOLD:总线保持请求信号,输入,高电平有效。 HLDA:总线请求响应信号,输出,高电平有效。最大工作方式:在最大方式系统中,外加有 8288 总线控制器,一般包含 2 个或多个处理器。8282: 地址锁存器,

11、 8286: 数据收发器第三章 8086 指令系统一、计算机语言5. 机器语言:面向机器, 0 和 1 表示机器是否可接受并执行指令。2汇编语言:面向人,符号表示,必须翻译才能执行。汇编语言指令的格式:一般格式:操作码 操作数具体格式: 标号: 操作码 (空格分隔符) 目的操作数 (存放结果) ,(逗号分隔符) 源操作数;注释一条指令可以无操作数,必须有操作码,不同的机器,操作数个数不同。1.2 高级语言二、指令寻找操作数的寻址方式操作数通常保存在: (1)指令中( 2)CPU 内部寄存器中()内存单元中()端口中;8086/8088CPU与数据有关寻址方式:1. 立即寻址 2. 寄存器寻址

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

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

14、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和 57

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

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

17、由 mem/reg1 所指定的存储单元或寄存器中,但不允许从存储器传送到存储器。 MOV mem/reg,data将 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 条伪

18、指令:WORD PTR表示字数据类型BYTE PTR表示字节数据类型(2)PUSH和 POPPUSH s:将源操作数( 16 位)压入堆栈POP d :将堆栈中当前栈顶两相邻单元的数据字弹出到 d压栈指令 PUSH AX:将 AX(16 位)中的数据压入栈, AX是源操作数,栈顶是目的操作数,由(SS:SP)指向。出栈指令 POP AX:将栈顶信息弹出到 AX中,AX是目的操作数, 栈顶是源操作数, 由(SS:SP)指向。设当前 CS1000H,IP0020H,SS1600H,SP004CH,则该指令执行时,将当前栈顶两相邻单元 1604CH与 1604DH中的数据字弹出并传送到 CX中,同时

19、修改堆栈指针, SP+2SP,使之指向新栈顶 1604EH。堆栈是内存中开辟的一个段,存放需要保护的信息(数据、地址) 。堆栈操作时应遵循的 5点原则:堆栈的存取操作每次必须是一个字(即 2 个字节)。执行压栈指令时, 总是从高位地址向低位地址存放数据, 而不象内存中的其他段, 总是从低地址向高地址存放;执行出栈指令时,从堆栈中弹出数据则正好相反。堆栈段在内存中的物理地址由 SS和 SP 或 SS和 BP决定,其中, SS是堆栈段寄存器,它是栈区的最低地址,称为堆栈的段地址; SP 是进栈或出栈指令隐含的堆栈地址指针,它的起始值是堆栈应达到的最大偏移量,即指向栈顶地址。堆栈段的范围是 SS 1

20、6 至 SS 16+SP的起始值。每执行一次压栈指令,则 SP-2,推入堆栈的数据放在栈顶;而每执行一次弹出指令时, 则 SP+2。BP寄存器用于对堆栈中的数据块进行随机存取, 例如,MOVAX,BPSI指令执行后,将把偏移量为 BP+SI 的存储单元的内容装入 AX。堆栈指令中的操作数只能是寄存器或存储器操作数,而不能是立即数。对 CS段寄存器可以使用压栈指令 PUSH CX,但却不能使用 POP CS这种无效指令。(3)XCHG d, s该指令功能是将源操作数与目标操作数 (字节或字 ) 相互对应交换位置。 交换可以在通用寄存器与累加器之间、 通用寄存器之间、 通用寄存器与存储器之间进行。

21、 但不能在两个存储单元之间交换,段寄存器与 IP 也不能作为一个源或目的操作数。9(4)XLAT这是一条用于实现字节翻译功能的指令,又称为代码转换指令。具体地说,它可以将 AL 寄存器中设定的一个字节数值变换为内存一段连续表格中的另一个相应的代码, 以实现编码制的转换。2)目标地址传送指令专用于传送地址码的指令, 可传送存储器的逻辑地址 (即存储器操作数的段地址或偏移地址)至指定寄存器中,共包含 3 条指令: LEA、LDS和 LES。(1) LEA d , s取有效地址指令。 功能: 把用于指定源操作数 (它必须是存储器操作数 ) 的 16 位偏移地址 ( 即有效地址 )传送到一个指定的 1

22、6 位通用寄存器中。(2) LDS d , s取某变量的 32 位地址指针指令。功能:从由指令的源 s 所指定的存储单元开始,由 4 个连续存储单元中取出某变量的地址指针 ( 共 4 个字节 ) ,将其前两个字节 ( 即变量的偏移地址 )传送到由指令的目标 d 所指定的某 16 位通用寄存器 , 后两字节 ( 即变量的段地址 ) 传送到 DS段寄存器中。(3) LES d , s这条指令与 LDSd,s 指令的操作基本相同 , 其区别仅在于将把由源所指定的某变量的地址指针中后 2 个字节 ( 段地址 ) 传送到 ES段寄存器,而不是 DS段寄存器。3)标志位传送指令用于传送标志位,共有 4 条

23、。(1) LAHF指令功能:将标志寄存器 F 的低字节 (共包含 5 个状态标志位 ) 传送到 AH寄存器中,双操作数,固定寻址,所以被隐藏。(2)SAHF 指令功能:将 AH寄存器内容传送到标志寄存器 F 的低字节。(3)PUSHF 指令功能:将 16 位标志寄存器 F 内容入栈保护。其操作过程与前述的 PUSH指令类似。(4)POPF 指令功能:将当前栈顶和次栈顶中的数据字弹出送回到标志寄存器 F 中。4)I/O 数据传送指令(1)IN 累加器,端口号端口号可以用 8 位立即数直接给出;也可以将端口号事先安排在 DX寄存器中,间接寻址 16位长端口号 ( 可寻址的端口号为 065535)

24、。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 指令只能用累加器作为执行 I/O 数据传送的机构,直接寻址范围为 0255,寻址大于255 的端口地址时 , 必须用间接寻

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

26、 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将被置成新状态。(3)DEC d ; d

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

28、(目的操作数)隐含在累加器 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是加法的十进制调整

29、指令,它必须跟在 ADD或 ADC指令之后使用。功能: 将存于 AL(目的操作数)寄存器中的 2 位 BCD码加法运算的结果调整为 2 位压缩型十进制数,仍保留在 AL中。AL 寄存器中的运算结果在出现非法码 (1010B 1111B)或本位向高位 ( 指 BCD码) 有进位 ( 由11AF=1或 CF=1表示低位向高位或高位向更高位有进位 ) 时,由DAA自动进行加 6 调整。 AF 标志寄存器可知进位。(2) DAS 减法的十进制调整指令,减 6 调整(3) AAA 加法的 ASCII 码调整指令(4) AAS 减法的 ASCII 码调整指令(5) AAM 乘法的 ASCII 码调整指令(

30、6)AAD 除法的 ASCII 码调整指令。8. 逻辑运算和移位循环类指令:分为 3 种类型:逻辑运算;移位;循环1)逻辑运算指令(1)AND d ,s;d ds,按位“与”操作,有一个是 0,结果是 0。(2) OR d ,s;dds,按位“或”操作,有一个是 1,结果是 1。(3) XORd,s;dd s ,按位“异或”操作,不同,相同 0。(4) NOT d ; d d ,按位取反操作。(5) TEST d, s;ds,按位“与”操作,不送回结果,测试指令,影响标志位。2) 移位指令与循环移位指令移位指令分为算术移位和逻辑移位。循环移位分为不带进位位(小循环)与带进位位循环移位(大循环)

31、9. 串操作类指令(1)指令使用规则: :串操作类指令是惟一地在存储器内的源与目标之间进行操作的指令,即源操作数与目标操作数都可以是存储器操作数。(2)源操作数地址: DS(段寄存器) 、IS (源变址寄存器)(3)目标操作数地址: ES(段寄存器) 、DI(目标变址寄存器)(4)串长度存放在 CS寄存器中(5)采用隐含寻址方式。(6)地址变化方向 方向标志位 DF, DF=0,用指令 CLD实现,地址指针增1 或 2;DF=1,用指令 STD实现,地址指针减 1 或 2。(7)串指令功能:执行指令规定操作,然后 SI 和 DI 自动修改 +-1 (字符串)或 +-2 (字)。(8)重复指令功

32、能: 添加重复前缀REP等,指令实现自动循环,自动修改循环计 数计 功能,并判断 0(9)循环计 数计 使用 CX5 种基本的串操作指令:1) MOVS目标串,源串2)CMPS目标串,源串3)SCAS目标串4) LODS源串5) STOS目标串10. 程序(转移)控制指令1)无条件转移指令(1)JMP 目标标号根据目标地址的位置与寻址方式的不同, JMP指令有 4 种基本格式。12 段内直接转移操作数:目标地址的偏移量,偏移量是 8 位(短转移)或 16 位(近转移)的带符号数。目标标号偏移地址 =(IP)+ 指令中位移量有条件转移只能用短转移。段内短转移:位移量 1 个字节段内近转移:位移量

33、 2 个字节段内间接转移操作数:目标地址的偏移地址,寄存器间接寻址目标标号偏移地址 =操作数 -(IP)目标段 =源段=CSSHORT段内短转移NIAR段内近转移段间直接转移新的段地址: CS,新的偏移地址: IP ,操作数:目标地址的逻辑地址。目标地址的段地址和偏移地址存放于存储器的 4 个连续地址中低字位: IP,高字位: CS,操作数是双字的存储器地址用 DWORD PT表R 示。(2) CALL 过程名无条件调用过程指令。 “过程”即“子程序”。 子程序名即子程序入口地址, 子程序段第一条指令的地址,用符号表示。CALL指令将迫使 CPU暂停执行调用程序(或称为主程序)后续的下一条指令

34、 ( 即断点,用堆栈保存 ), 转去执行指定的过程;待过程执行完毕 , 再用返回指令 RET将程序返回到断点处继续执行。RET:识别程序终点。CALL指令 4 种不同的寻址方式和 4 种基本格式: CALL N_PROCN_PROC是一个近过程名,采用段内直接寻址方式。CALL BX段内间接寻址的调用过程指令CALL F_PROCF_PROC是一个远过程名,它可以采用段间直接和段间间接两种寻址方式来实现调用过程。RET 弹出值:从过程返回 (RET)指令应安排在过程的出口,即过程的最后一条指令处。2)条件转移指令条件转移指令共有 18 条,标志寄存器的标志位( 9 个,用 6 个状态)作为转移

35、的条件。所有的条件转移指令都是短转移,目标地址( 8 位)的字节距离在 -128 +127 范围以内。一个标志位的状态或几个标志的状态组合作为测试的条件。另外的一种替换形式,功能等效。3) 循环控制指令: CX 中存放着循环次数,短转移(1)LOOP目标标号(2)LOOPE/LOOPZ目标标号(3)LOOPNE/LOOPN目Z 标标号(4)JCXZ 目标标号11. 中断指令,中断指令只有 3 条。(1)INT 中断类型, 8086/8088 系统中允许有 256 种中断类型 (0 255)13(2)INTO(3)IRET12. 处理器控制类指令,处理器控制指令只完成对 CPU的简单控制功能。1

36、) 对标志位操作指令(1) CLC 、STC、CMC指令用来对进位标志CF清“0”、置 “1”和取反操作。2) 同步控制指令:多处理器系统(1) ESC 外部操作码,源操作数(2) WAIT(3) LOCK3)其他控制指令(1) HLT 暂停指令,当 CPU发生复位或来自外部的中断时, CPU脱离暂停状态。(2) NOP 空操作指令,占用 3 个时钟周期的时间( IP+1),常用来作延时。五、8086 编程基础汇编语言是用指令的助记符、符号地址、标号等书写程序的语言 , 简称符号语言。1.3 汇编语言格式(1)指令分类汇编语言有 3 种基本语句:指令语句、伪指令语句、宏指令语句 。指令语句是一

37、种执行性语句 , 它在汇编时 , 汇编程序将为之产生一一对应的机器目标代码。伪指令语句是一种说明性语句,它在汇编时只为汇编程序提供进行汇编所需要的有关信息,如定义符号,分配存储单元,初始化存储器等,而本身并不代表生成目标代码。不执行,翻译时用。宏指令语句是以某个宏名字定义的一段指令序列。宏指令可以有多段,子程序有一段。(2)语句格式1)指令语句格式 标号: 前缀 指令助记符 操作数表 ; 注释2) 伪指令语句的格式名字伪指令参数表 ; 注释(3)汇编语言的语法段定义伪指令指示汇编程序应如何按段来组织程序和使用存储器。汇编程序 3 种设计结构:顺序结构、分支结构、循环结构。1.4 汇编语言编程运

38、行环境14第五章 存储器一、存储器的结构13. 基本概念 位 (bit) :信息量单位,每一个 0 或 1 就叫做 1 位信息。 字节 (byte) :存储量单位, 8 位二进制代码作为一个字节。 字 (word) :2 个字节组成一个字,标识 16 位数据的长度。 字长:计算机一次处理数据的位数 (存储器, 寄存器)。字长是随计算机发展变化的 (8086型字长 =16 位)。地址:每个单元的编号,各存储单元的地址与该地址中存放的内容完全不同。物理地址( 20 位, 220=1024K=1M)=段地址 *10H+偏移地址逻辑地址( 16 位, 216=64K)=段地址( 16 位):偏移地址(

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

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

41、现,程序里不写。二、计算机存储系统概述1 计算机的存储系统1)主存和辅存2)存储系统1514. 内存(半导体存储器)的概述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的特点:存取速度快。静态 MOS

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

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

44、。字、位扩展:用固定容量、固定位数的芯片扩展成较大容量、较大位数的存储器。如:用 16KX4 的存储芯片扩展成 64KX8的存储器:位扩展:需 2 片;字扩展:需 4 片;共需芯片: 2X4=8片。2、存储器芯片片选信号 CS的处理芯片介绍: Intel 74LS138 和 61163-8 译码器 74LS138存储芯片 Intel6116 (2KX8)片选信号的处理方法全译码法:片内寻址未用的全部高位地址线都参加译码,译码输出作为片选信号。部分译码:用片内寻址外的高位地址的一部分译码产生片选信号。线选法: 高位地址线不经过译码, 直接 (或经反相器) 分别接各存储器芯片的片选端来区别各芯片的

45、地址。例:用 Intel 6116 芯片组成 8KBRAM,设 CPU为 8086( 设地址线为 20 根),译码器采用 74LS138,问题:1 、需要几片 6116?2 、地址线和数据线各为多少根?3 、每一片的地址范围是多少?如何确定?是否有重叠区?4 、如何连线?(包括地址线、数据线和状态线)全译码分析: 6116 为 2KX8 芯片,需组成 8KX8的存储器,只需进行字扩展,需 4 片。要求地址范围是 00000H01FFFH,4 片的地址范围分别为:第一片:00000H 007FFH;第二片:00800H 00FFFH;第三片:01000H 017FFH;第四片:01800H 01FFFH17分析结果:A0A10作为芯片片内寻址;A11A13作为 74LS 的 A、B、C端;A14A19组合产生 G1、G2A、G2B部分译码 线性译码第六章 计算机接口技术一、计算机的接口16. 接口的基本结构17. 接口的电路信号接口对外设

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号