《微型计算机系统期末习题答案(共8页).doc》由会员分享,可在线阅读,更多相关《微型计算机系统期末习题答案(共8页).doc(8页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、精选优质文档-倾情为你奉上8086微型计算机系统考试题目答案一、填空题(每空1分,共20分) 1、微型计算机硬件系统可分成为 CPU 、存储器和 I/O接口 三大模块,模块之间通过 总线 连接而成。在系统与输入/输出设备之间,必须通过I/O接口相连接。2、目前计算机系统主要有两种体系结构,它们分别是冯.诺依曼 和哈弗,有更高运行效率的是哈弗。3、已知X=68,Y=-12,若用8位二进制数表示,则XY补50H,此时,CF=_;XY补 38H/56D, OF=_0_。 4、8086 CPU的基本总线周期包含了 4个T状态。5、I/O端口地址有两种编址方式,它们分别是 独立编址 和存储统一编址 ;接
2、口电路中,输入端口必须具有缓冲功能,而输出端口必须具有锁存功能。6、硬件中断可分为可屏蔽中断_和_ 非屏蔽中断两种。7、8086/8088 CPU响应可屏蔽中断的条件是_IF=1 。8、通用微型计算机的CPU由 _微处理器 、存储器以及I/O接口电路 _组成,8086CPU按照结构有_EU和BIU _2个独立的处理部件组成。9、计算机最常用的数据编码是补码,若机器字长为8位,则十进制数-128的补码是 B ; 若有带符号数X=01H,Y=81H,则由计算机作8位减法运算X-Y后,累加器中的数是 B ,借位标志CF=1 、符号标示SF=_1_、溢出标志OF=_ 1_。由此可判断结果真值应为-12
3、810. 8086/8088 CPU在RESET信号到来后其CS和IP的值分别为_ FFFFH和0000H 。11. CPU与外设传送数据时,输入/输出控制方式有_ 无条件方式 _,_ 查询方式 _, 中断方式 和_ DMA方式。12. 8086 CPU响应一个可屏蔽中断请求时,将向外设发送两个中断响应 脉冲,通过数据总线读入中断类型码 。13. INTEL 8253采用BCD码计数时,其最大计数值为_ 0000H ,此时的计数初值为_10000D 二、选择题1判断两个无符号数加法运算是否溢出的标志是_D_A. ZF;B. SF;C. CF;D. OF28086CPU在计算物理地址时,应将段地
4、址_C_。A.左移1位;B.右移1位;C.左移4位;D.右移4位3INTEL 8088/8086 CPU 由_D_组成。 A 通用寄存器、专用寄存器和ALU; BALU、FR及8个16位通用寄存器 C CS、ES、SS、DS及IP、指令队列; D EU和BIU4下列4种描述中正确的是_B _。 A汇编语言只由指令语句构成。 B汇编语言语句包括指令语句和伪指令语句和宏指令语句。 C指令语句和伪指令语句都能经汇编程序翻译成机器代码。 D指令语句和伪指令语句都不能经汇编程序翻译成机器代码。5. 已知内存单元(20510H)=31H,(20511H)=32H,(30510H)=42H,(30511H)
5、=43H,且AX = 3A7BH,DS=2000H, SS=3000H, BP = 0500H,则执行MOV AL, BP+10H后AX= D。A. 3A31H B. 3231H C. 427BH D. 3A42H6一微机系统采用一片8259A,若8259A设置为普通全嵌套、非缓冲、非自动中断结束等方式,并将ICW2设置为08H,各中断源的优先权是(1) C ,IR5引脚上中断源的中断类型码为 (2) D ,该中断源的中断服务程序入口地址应存于中断向量表中首址为 (3) C 的4个单元内。 (1) A 自动循环 B 固定不变,IR7优先权最高,IR0优先权最低C 固定不变,IR0优先权最高,I
6、R7优先权最低 D 由程序设定,可设置IRi优先权最高 (2) A 05H B 08H C 0DH D 0FH (3)A 05H B 14H C 24H D 34H78253通道1外接100 KHz的时钟信号,按十进制计数,则当写入计数器的初值为5000H时,定时时间为 (1) C;若按二进制计数,定时10ms,则写入的计数初值为 (2) A 。(1) A 5ms B 50 ms C 204.8 ms D 20.48ms (2)A 1000H B 0100H C 0064H D 03E8H8、循环指令LOOP的退出条件是_C_。 AAX0 BBX0 CCX0 DCX19、8086/8088 系
7、统中用于形成地址总线的器件是_A_。A 缓冲器 ; B 锁存器 ; C) 计数器 ; D) 译码器10、8088/8086 CPU的基本总线周期由_B_个时钟周期组成。A 2 ; B 4 ; C 5 ; D 611、在8086系统中中断号为0AH,则存放中断向量的内存起始地址为_ B _。A 0AH; B 28H; C 4AH ; D 2AH12、80X86 CPU将累加器AX的内容清零的正确指令是_B_。A AND AX,AX; B XOR AX,AX; C OR AX,AX; D. NOT AX13、下列器件可作简单输入接口的电路是_(1)_ A _,作简单输出接口的电路是_(2)_ B。
8、A 三态缓冲器 ; B 锁存器; C 反相器 ; D 译码器14、某微机最大可寻址的内存空间为16MB,其CPU地址总线至少应有_D_条。 A 32 ; B 16; C 20; D 2415、伪指令VAR DW ? 将在内存预留的存储空间是_B_ _。A1字节 B2字节C6字节 D4字节 16、关系运算符EQ、NE、LT、GT、LE、GE等,当运算结果关系成立时汇编返回_A_。A0FFFFH B0000H C0001H D1000H 17. 8、8086 CPU寻址I/O端口最多使用_D_条地址线。A 8 ; B 10 ; C 12 ; D 1618、8086/8088 系统中用于形成地址总线
9、的器件是_A_。A 缓冲器 ; B 锁存器 ; C) 计数器 ; D) 译码器19.某微机最大可寻址的内存空间为16MB,其CPU地址总线至少应有_D_条。 A 32 ; B 16; C 20; D 2415、两数比较,若相等时转移到LABEL的指令是_A_。 A JZ LABEL ;B JC LABEL ; C JO LABEL ;D JS LABEL 16、下列信号中_C_用来区分CPU访问内存储器或I/O接口。A ; B ; C ; D 17.8086存储信息的基本单位是_B。A字 B字节 CKB DMB18.8086的字长有_C_位。 A32 B. 16 C. 8 D.6419.808
10、6有4个通用数据寄存器,其中AX除用做通用寄存器外,还可用做_A_。A累加器 B计数器 C基址寄存器 D段地址寄存器20.设寄存器BX存有一偏移地址,则对应内存单元的物理地址应在_A_。A数据段 B代码段 C附加段 D堆栈段21.设寄存器BP存有一偏移地址,则对应内存单元的物理地址应在_D_。A数据段 B代码段 C附加段 D堆栈段22.8086有20根地址线,直接寻址空间为_B_。A64 MB B1 MB C1024 KB D8MB23.标志寄存器中PF1时,表示_A_。A运算结果低8位中所含1的个数为奇数B运算结果低8位中所含1的个数为偶数C运算结果有溢出D运算结果无溢出24.地址加法器是属
11、于_B_中部件。AEU BBIU CALU D指令队列25立即、直接、寄存器间接3种寻址方式,指令的执行速度,由快至慢的排序为_C_。 A直接、立即、间接 B直接、间接、立即 C立即、直接、间接 D不一定26指令MOV AL,BX中的源操作数在_A_中。 A数据段 B附加段 C. 堆栈段 D代码段27指令ADD AX,SI+50H中,源操作数的寻址方式是_D_。 A变址寻址 B基址和变址寻址 C基址寻址 D变址相对寻址28指令MOV AX,DAT1BXDI中,源操作数的寻址方式是_D_。 A变址寻址 B基址和变址寻址 C基址寻址 D基址变址相对寻址29将累加器AX的内容清零,错误的指令是_B_
12、。 AXOR AX,AX BAND AX,O CSUB AX,AX DCMP AX,AX32伪指令VAR DW ? 将在内存预留的存储空间是B _。 A1字节 B2字节 C6字节 D4字节33伪指令BUF DB 20 DUP(0,1) 在内存中占用的存储空间是_D_ _。A80字节 B20字节C60字节 D40字节34语句MOV BX,OFFSET DAT1执行后,BX中存放的是 B _。 ADAT1的段地址 B.DAT1的偏移地址 CDAT1的第1个数据 D. DAT1的物理地址36DOS功能调用时,功能号应放入_ C _中。 AAX BAL CAH DDX三、简答题(每小题5分,共15分)
13、 1、 冯诺依曼计算机的基本设计思想是什么?(1) 计算机应用由运算器、控制器、存储器、输入和输出设备等五大部分组成。(2) 存储器不但能存放数据,也能存放程序.计算机具有区分指令和数据的能力。而且数据和指令均以二进制形式存放。(3) 将事先编好的程序存入存储器中,在指令计数器控制下,自动高速运行(执行程序)。2、8088CPU和8086CPU结构的区别。(1)8088 指令队列长度是4 个字节,8086 是6 个字节。 (2)8088 的BIU 内数据总线宽度是8 位,而EU 内数据总线宽度是16 位,这样对16 位数的存储器读/写操 作需要两个读/写周期才能完成。8086 的BIU 和EU
14、 内数据总线宽度都是16 位。 (3)8088 外部数据总线只有8 条AD7AD0,即内部是16 位,对外是8 位,故8088 也称为准16 位机。3、 8086CPU构成系统时其存储器可分为哪两个存储体?它们如何与地址、数据总线连接?8086CPU构成系统时,其存储器可分为奇地址存储体与偶地址存储体。偶地址存储体的8位数据线,与CPU16位数据总线的D7D0连接;奇地址存储体的8位数据线与CPU16位数据总线的D15D8连接。地址总线A19A1提供存储体片选的高位地址,A0和BHE(HE有上划线)区分奇偶地址存储体。4、 8086/8088 CPU系统为什么要采用地址锁存器?因为8086/8
15、088的AD15AD0/AD7AD0既可作为低16位/8位地址线,又可作为16位/8位数据线,为了把地址信息分离出来保存,外接存储器或外设提供16位/8位地址信息,一般须外加三态锁存器,并由CPU产生的地址锁存允许信号ALE的下跳变将地址信息锁存入8282/8283锁存器中。5、计算机系统要完成一次外部中断,需要经历哪几个过程?(1) 中断请求。中断源产生中断请求的条件对不同中断源是不同的。(2) 中断判优。由于中断产生的随机性,可能同时提出多个中断源,此时就要根据中断源的轻重缓急,给它们确定一个中断级别。(3) 中断响应。对可屏蔽中断,仅有中断请求是不行的。除优先级别高低的条件外,CPU内正
16、有中断允许触发器,只有当其为“1“时,CPU才能响应可屏蔽中断。(4) 中断处理。由中断服务程序完成。保护环境,开中断,执行中断服务程序,关中断,恢复现场(5) 中断返回。执行返回指令后,CPU会自动弹出断点信息,送给指令指针,并恢复标志寄存器的内容,以便回到断点出处继续执行原程序。6.试简述以8086 CPU为核心的最小系统的构成。 答:计算机硬件系统主要由CPU、存储器、I/O接口、I/O设备构成,它们由总线(控制总线、地址总线和数据总线)连接。对于以8086 CPU为核心的最小系统,还应包括一片时钟发生器、3片8282地址锁存器和2片8286数据驱动器。四、存储器(2小题,共20分) 1
17、、某微机系统有24条地址线。欲用2K4 b的RAM芯片构成32 KB的存储系统,问:1)需要多少片这样的芯片?2)每个芯片的地址线有几条?3)至少需要多少条地址线用作片外地址译码?(本小题9分)1)需要32x8/(2x4)=322)11条3)4条2、用二片6264芯片组成的8位微机存储器系统的电路如图所示。(设地址总线为16位。)(本小题11分)1)说明存储器芯片类型,并计算1和2的存储容量是多大;(5分) 2)分析1芯片和2芯片的地址范围(需给出具体地址分配表)。(6分)1)#1和#2的容量均为:213*8=8KB2)设A15为0#1的地址范围为:4000H-5FFFH.#2的地址范围为:2
18、000H-3FFFH.3、某微机系统采用16位地址总线,部分存储器与CPU连接图如下图所示,要求:(本小题8分)(1)写出存储器芯片的容量。(2分)(2)要求完成系统硬件连线图及引脚标注,并标出信号传送方向。(2分)(3)写出芯片的地址范围,若有地址重叠,请写出基本地址范围。(4分)1) ROM有12根地址线(A11A0):212=4kb。两片形成8kb容量RAM有11跟地址线:211=2kb.两片形成4kb容量3)ROM(1)地址范围:8000H8FFFHROM(2):9000H9FFFHRAM(1):A000HAFFFHRAM(2):B000HBFFFHRAM区有地址重叠:RAM(1)基本
19、地址范围(A11=0时):A000HA7FFH重叠地址范围(A11=1时):A8FFHAFFFHRAM(2)基本地址范围(A11=0时):B000HB7FFH重叠地址范围(A11=1时):B8FFHBFFFH五、程序分析及设计(除了题中单独标注的题分,其余每空1分,共25分) 1、以下程序片段执行前(AX)=1234H,(BX)=5678HMOV CL,4MOV DH,BHSHL BX,CLMOV DL,AHSHL AX,CLSHR DH,CLOR AL,DHSHR DL,CLOR BL,DL执行完该片段后(AX)= 2345H 、(BX)= 6781H。2、程序段如下: X DB 65HY
20、DB 0F3H MOV AL, XMOV BL, YCMP AL,BLJGE NEXTXCHG AL,BL NEXT: HLT程序执行后,AL= 65H ; BL= 03FH .比较变量X和Y两个有符号数的大小,将大者放入AL,小者放入BL中2、程序段如下: MOV AL,23HMOV AH, 0Again: AND AL,AL JZ STPSHL AL, 1 JNC AgainINC AHJMP Again STP: HLT 1)程序的功能是(本小题2分):对AL中“1”的个数进行统计,并放入AH中 ; 2)程序执行后,AH= 3 3程序段如下: MOV AL,BYTE PTR XMOV C
21、L,4SHL AL,CLDEC ALMOV BYTE PTR Y,AL 程序执行后,完成运算的算术表达式应是 Y=Xx2-4 ;其中,程序段指令中出现的X,Y其类型为 变量类型 4、阅读下列程序DATASEGMENTBUF DB 32H ,75H, 0C9H, 85H;共个数据RESULT DB ?DATA ENDSCODE SEGMENT ASSUME CS:CODE ,DS:DATASTART: MOV AX,DATAMOV DS,AXLEA SI,BUFMOV CX,4MOV BX,0LP1:MOV DH,8MOV AL,SILP2:ROR AL,JC NEXTINC BXNEXT: D
22、EC DHJNE LP2INC SILOOP LP1MOV RESULT,BXMOV AH,4CHINT 21HCODE ENDS END START(1) 本程序段的功能是_ 统计缓冲区BUF中4个单字节二进制数中的0的个数 (2) 程序执行完变量RESULT= 11 H 4画出数据段中数据定义语句实现的内存分配图。DATASEGMENT AT 1415H ORG 2000HBLOCK DB 00H,80H,0FEH,0A8H,90HCOUNTEQU$BLOCK; FLAGDB 1DATAENDS 内存分配图(本小题4分): 5以下程序段完成的功能是:把内存单元两数进行相加,结果送回到内存单
23、元中。请根据注释要求对程序进行完善。 DAT SEGMENT ;定义数据段,以DAT为段名 ADD-BUF DB 51100;定义ADD_BUF变量空间,含两个字节类型数值51,100 SUM-BUF DB?;定义SUM_BUF变量空间,只分配1个字节型单元,数值不定 DAT ENDS ;段定义结束CODE SEGMENT ASSUME CS:CODE, DS:DAT ;对两个段类型进行汇编说明START: MOV AX,DAT ; 2句语句完成DS初始化 MOV DS,AX ; MOV AH,ADD_BUF ADD AH,ADD_BUF+1 MOV SUM_BUF,AH INT 20H ;一
24、条语句返回DOS CODE ENDS END START ;汇编结束,初始化CS,IP 把该源程序命名为:SUM.ASM,对其进行汇编,需要利 MASM 命令生成目标文件SUM.OBJ,再利用 LINK 命令生成可执行文件SUM.EXE。在调试环境下运行SUM.EXE文件,应在DOS环境下输入命令 DEBUG 6以下程序功能是:对内存中的二个无符号字节数进行比较,把大数存放在内存MAX单元中。请根据注释进行程序完善。DATA SEGMENT ;数据段开始SOURCE DB X1,X2 ;定义X1和X2为二个无符号字节数 MAX DB? ;定义结果存放的单元MAX为空字节DATA ENDS ;数
25、据段结束CODE SEGMENT ;定义代码段 ASSUME CS:CODE,DS,DATA ;设定段寄存器BIGIN: MOV AX,DATA;将DATA偏移地址通过AX MOV DS,AX ;送DS MOV AL SOURCE ;取第1数送AL,ALX1CMP AL,SOURCE+1 ;两数比较,执行X1-X2运算JNC BRANCH ;若没有进位CF,则X1X2,转BRANCHMOV AL,SOURCE+1 ;否则,大数送AL,执行ALX2BRANCH: MOV MAX, AL;大数送入MAX单元 HLT ;暂停 MOV AH,44CH ;2条语句采用非标准序方式返回DOS INT 21
26、H ; CODE ENDS ;代码段结束 END BIGIN ;程序结束7、程序设计设数据段ARRAY单元开始有50个单字节有符号数,要求统计出其中负数的个数并存入minus_count单元。试完善程序。data segment ;数据段定义array db _N0,N1,N2。N49 ;数组定义count equ $-arryminus_count db ?data endsstack segment para stack stack;定义堆栈段 dw 128 dup(?)stack endscode segment;代码段定义 assume cs:code,ds:data,ss:stack
27、;指定段寄存器start proc far push ds xor ax,ax push ax; 返回地址压入堆栈 mov ax , data mov ds,ax; 装入数据段段地址 mov si,_ AL _;si 作为数据指针 mov dl,0;DL寄存器保存负数个数 mov cx,count again: mov al,si add al,0 _ MOV【】,AL _;正数跳转 inc dlnext: inc si ;修改数据指针 loop _ NEXT _ mov minus_count,dl ret;返回start endp;过程结束_CODEENDS _;代码段定义结束 end start专心-专注-专业