1、18086CPU 由哪两部分构成?它们的主要功能是什么?答:8086CPU 由两部分组成:指令执行部件 (EU)和总线接口部件(BIU)指令执行部件(EU)主要由算术逻辑运算单元(ALU)、标志寄存器 FR、通用寄存器组和 EU 控制器等 4 个部件组成,其主要功能是执行指令。总线接口部件(BIU)主要由地址加法器、寄存器组、指令队列和总线控制电路等 4 个部件组成,其主要功能是形成访问存储器的物理地址、访问存储器并取指令暂存到指令队列中等待执行,访问存储器或 IO 端口读取操作数参加 EU 运算或存放运算结果等。28086CPU 预取指令队列有什么好处?8086CPU 内部的并行操作体现在哪
2、里?答:8086CPU 的预取指令队列由 6 个字节组成,按照 8086CPU 的设计要求,指令执行部件(EU)在执行指令时,不是直接通过访问存储器取指令,而是从指令队列中取得指令代码,并分析执行它。从速度上看,该指令队列是在 CPU 内部,EU 从指令队列中获得指令的速度会远远超过直接从内存中读取指令。8086CPU 内部的并行操作体现在指令执行的同时,待执行的指令也同时从内存中读取,并送到指令队列。3 8086CPU 中有哪些寄存器?各有什么用途?答:指令执行部件(EU)设有 8 个 16 位通用寄存器 AX、BX、CX、DX 、SP 、BP、SI 、DI,主要用途是保存数据和地址(包括内
3、存地址和 I/O 端口地址)。其中 AX、BX 、CX、DX 主要用于保存数据,BX 可用于保存地址,DX 还用于保存 I/O 端口地址;BP、SI、DI 主要用于保存地址;SP 用于保存堆栈指针。标志寄存器 FR 用于存放运算结果特征和控制 CPU 操作。BIU 中的段寄存器包括 CS、DS、ES、SS,主要用途是保存段地址,其中 CS 代码段寄存器中存放程序代码段起始地址的高 16 位, DS 数据段寄存器中存放数据段起始地址的高 16 位,SS 堆栈段寄存器中存放堆栈段起始地址的高 16 位,ES 扩展段寄存器中存放扩展数据段起始地址的高 16 位。指令指针寄存器 IP 始终存有相对于当
4、前指令段起点偏移量的下一条指令,即 IP 总是指向下一条待执行的指令。5简述 8086 系统中物理地址的形成过程。8086 系统中的物理地址最多有多少个?逻辑地址呢?答:8086 系统中的物理地址是由 20 根地址总线形成的。8086 系统采用分段并附以地址偏移量办法形成 20 位的物理地址。采用分段结构的存储器中,任何一个逻辑地址都由段基址和偏移地址两部分构成,都是 16 位二进制数。通过一个 20 位的地址加法器将这两个地址相加形成物理地址。具体做法是 16 位的段基址左移 4 位(相当于在段基址最低位后添 4 个 “0”),然后与偏移地址相加获得物理地址。由于 8086CPU 的地址线是
5、 20 根,所以可寻址的存储空间为 1M 字节,即 8086 系统的物理地址空间是 1MB。逻辑地址由段基址和偏移地址两部分构成,都是无符号的 16 位二进制数,程序设计时采用逻辑地址,也是 1MB。68086 系统中的存储器为什么要采用分段结构?有什么好处?答:8086CPU 中的寄存器都是 16 位的,16 位的地址只能访问 64KB 的内存。086 系统中的物理地址是由 20 根地址总线形成的,要做到对 20 位地址空间进行访问,就需要两部分地址,在 8086 系统中,就是由段基址和偏移地址两部分构成。这两个地址都是 16 位的,将这两个地址采用相加的方式组成 20 位地址去访问存储器。
6、在 8086 系统的地址形成中,当段地址确定后,该段的寻址范围就已经确定,其容量不大于 64KB。同时,通过修改段寄存器内容,可达到逻辑段在整个 1MB 存储空间中浮动。各个逻辑段之间可以紧密相连,可以中间有间隔,也可以相互重叠(部分重叠,甚至完全重叠)。采用段基址和偏移地址方式组成物理地址的优点是:满足对 8086 系统的 1MB 存储空间的访问,同时在大部分指令中只要提供 16 位的偏移地址即可。7 8086 存储器中存放数据字时有“对准字” 和“非对准字”之分,请说明它们的差别。答:一个 16 位的数据字是按照低地址存放低位数据、高地址存放高位数据来存放的。若 16 位数据的低 8 位存
7、放在偶地址,则该数据字就是“ 对准字”,否则就是“非对准字”。主要差别是 CPU 读取和存储数据字时,如果是对准字,只需要一次读写操作即可,而非对准字就需要两次读写操作才能实现一个数据字的存取。9在某系统中,已知当前(SS)2360H,(SP)0800H,那么该堆栈段在存储器中的物理地址范围是什么?若往堆栈中存入 20 个字节数据,那么 SP 的内容为什么值?答:(SS)10H(SP )23600H0800H23E00H ,堆栈段在存储器中的物理地址范围是23600H23E00H。若往堆栈中存入 20 个字节数据,那么 SP 的内容为0800H14H07ECH。(20 的十六进制为 14H)。
8、10已知当前数据段位于存储器的 B4000H 到 C3FFFH 范围内,则段寄存器 DS 的内容为多少?答:段寄存器 DS 的内容为 B4000H。118086 系统中为什么一定要有地址锁存器?需要锁存哪些信息?答:由于 8086CPU 受芯片封装的限制,只有 40 个管脚,所以地址线和数据线只能采用复用的方式共同使用某些管脚。对存储器进行访问时,在读取数据或写入数据时,存储器芯片要求在这个过程中地址信息必须稳定提供给存储器,而由于 8086CPU 地址线和数据线是复用的,就不可能在同一时刻具有地址和数据的两种功能。这就需要在 CPU 提供地址信息时,将地址锁存起来,以保证下一个时刻当这些复用
9、的管脚起着数据线的功能时,存储器有正确的地址信息。要锁存的信息包括这些复用管脚的地址和 BHE 等信号。128086 读/写总线周期各包括最少几个时钟周期?什么情况下需要插入等待周期 TW?插入多少个 TW 取决于什么因素?答:8086 读/写总线周期各包括最少四个时钟周期。在系统中增加等待周期 TW 的一般情况是:当CPU 提供了地址后,由于外设或存储器的读出或写入时间较慢,不能与 CPU 的速度匹配,就需要插入等待周期 TW,等待 CPU 能从外设或存储器将数据正确地读出或写入为止。显然,插入的等待周期 TW 的个数取决于外设或存储器的取出或写入时间。第 4 章 8086 汇编语言程序设计
10、1.编写 8086 汇编语言程序,将寄存器 AX 的高 8 位传送到寄存器 BL,低 8 位传送到寄存器 DL。答:CODE SEGMENTASSUME CS:CODESTART: MOV BL,AHMOV DL,ALMOV AX,4C00HINT 21HCODE ENDSEND STAR 2将寄存器 DX 的内容按从低位到高位的顺序分成 4 组,并将各组数分别送到寄存器 AL,BL,CL 和DL 中。(例如:(DX)=0ABCDH,分成四组(DL)=0AH,(CL)=0BH,(BL)=0CH,(AL)=0DH)答:CODE SEGMENTASSUME CS:CODESTART: MOV AX
11、,DXAND AL,0FHMOV BL,DLMOV CL,4SHR BL,CLAND AH,0FHMOV CL,4SHR DH,CLMOV CL,AHMOV AH,4CHINT 21HCODE ENDSEND START4.试统计 9 个数中偶数的个数,并将结果在屏幕上显示。答:DATA SEGMENTBUFF DB 3BH,47H,8DH,-75,0AH,69,-2EH,0CCH,200CODE SEGMENTASSUME CS:CODE,DS:DATASTART:MOV AX,DATAMOV DS,AXMOV SI,OFFSET BUFFMOV CX,9XOR DL,DLA1: SHR B
12、YTE PTR SI,1JC NEXTINC DLNEXT: INC SILOOP A1ADD DL,30HMOV AH,2MOV AX,4C00HINT 21HCODE ENDSEND START5试将一串 16 位无符号数加密,加密方法是每个数乘以 2。(不考虑进位)答:DATA SEGMENTMEM DW 20 DUP(?)DATA ENDSCODE SEGMENTASSUME CS:CODE,DS:DATASTART:MOV AX,DATAMOV DS,AXMOV CX,LENGTH MEMLEA BX,MEMAA1: MOV AX,BXADD AX,AX ;或 MUL AX,2 或
13、SHL AX,1 或 SAL AX,1MOV BX,AXADD BX,2LOOP AA1MOV AX,4C00HINT 21HCODE ENDSEND START第五章 存储器原理与接口2什么是 RAM 和 ROM? RAM 和 ROM 各有什么特点?答:RAM 是随机存储器,指计算机可以随机地、个别地对各个存储单元进行访问,访问所需时间基本固定,与存储单元的地址无关。ROM 是只读存储器,对其内容只能读,不能写入。与 RAM 相比,其信息具有非易失性,即掉电后,ROM 中的信息仍会保留。3什么是多层次存储结构?它有什么作用?答:存储器的性能是计算机性能的最主要指标之一,其目标是大容量、高速度
14、和低成本,因此应该在系统结构的设计上扬长避短,采用多层存储结构构成一个较为合理的存储系统。多层存储结构是一个金字塔的结构,距塔尖(即 CPU)越近速度越快,容量越小,单位价格也较贵;反之速度较慢,容量较大,单位价格也较便宜。其作用是获得最佳性价比。5主存储器的主要技术指标有哪些?答:主存储器的主要技术指标有主存容量、存储器存取时间、存储周期和可靠性。7若用 1K1 位的 RAM 芯片组成 16K8 位的存储器,需要多少片芯片?在 CPU 的地址线中有多少位参与片内寻址?多少位用做芯片组选择信号?答:要 128 片。A1A9 共 10 位参与片内寻址,其余可用于片选信号。第七章5.在某应用系统中,计数器/定时器 8253 地址为 310H316H,定时器 0 作为分频器(N 为分频系数),定时器 2 作为外部事件计数器,编写初始化程序框架。答:MOV DX,316HMOV AL,控制字OUT DX,ALMOV DX,310HMOV AL,分频系数低 8 位OUT DX,ALMOV AL,分频系数高 8 位OUT DX,ALMOV DX,316HMOV AL,控制字OUT DX,ALMOV DX,314HMOV AL,计数常数低 8 位OUT DX,ALMOV AL,计数常数高 8 位OUT DX,AL