2022年最新微型计算机系统期末习题答案 .pdf
精品文档精品文档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 端口地址有两种编址方式,它们分别是独立编址和存储统一编址;接口电路中,输入端口必须具有缓冲功能,而输出端口必须具有锁存功能。6、硬件中断可分为可屏蔽中断_和_ 非屏蔽中断两种。7、8086/8088 CPU响应可屏蔽中断的条件是 _IF=1 。8、通用微型计算机的CPU 由 _ 微处理器、存储器以及 I/O 接口电路 _ 组成,8086CPU 按照结构有 _EU和 BIU _2 个独立的处理部件组成。9、计算机最常用的数据编码是补码,若机器字长为8 位,则十进制数-128 的补码是10000000B;若有带符号数X=01H,Y=81H,则由计算机作 8 位减法运算 X-Y 后,累加器中的数是10000000B,借位标志 CF=1、符号标示 SF=_1_、溢出标志 OF=_ 1_。由此可判断结果真值应为-12810.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.OF 28086CPU 在计算物理地址时,应将段地址_C_。A.左移 1 位;B.右移 1 位;C.左移 4 位;D.右移 4 位3INTEL 8088/8086 CPU 由_D_ 组成。A 通用寄存器、专用寄存器和ALU;B ALU、FR及 8 个 16位通用寄存器 C CS、ES、SS、DS及 IP、指令队列;D EU和 BIU 4下列4种描述中正确的是 _B _。A 汇编语言只由指令语句构成。B 汇编语言语句包括指令语句和伪指令语句和宏指令语句。C 指令语句和伪指令语句都能经汇编程序翻译成机器代码。D 指令语句和伪指令语句都不能经汇编程序翻译成机器代码。5.已知内存单元(20510H)=31H,(20511H)=32H,(30510H)=42H,(30511H)=43H,且 AX=3A7BH,DS=2000H,SS=3000H,BP=0500H,则执行 MOV AL,BP+10H后 AX=D。A.3A31H B.3231H C.427BH D.3A42H 6一微机系统采用一片8259A,若 8259A设置为普通全嵌套、非缓冲、非自动中断结束等方式,并将 ICW2设置为 08H,各中断源的优先权是(1)C ,IR5 引脚上中断源的中断类型码为(2)D ,该中断源的中断服务程序入口地址应存于中断向量表中首址为(3)C 的 4 个单元内。(1)A 自动循环 B 固定不变,IR7 优先权最高,IR0 优先权最低C 固定不变,IR0 优先权最高,IR7 优先权最低 D 由程序设定,可设置IRi 优先权最高(2)A 05H B 08H C 0DH D 0FH(3)A 05H B 14H C 24H D 34H 78253通道 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 03E8H 8、循环指令 LOOP 的退出条件是 _C_。A AX 0 BBX 0 名师资料总结-精品资料欢迎下载-名师精心整理-第 1 页,共 8 页 -精品文档精品文档 CCX 0 DCX 1 9、8086/8088 系统中用于形成地址总线的器件是_A_。A 缓冲器 ;B 锁存器 ;C)计数器 ;D)译码器10、8088/8086 CPU的基本总线周期由 _B_ 个时钟周期组成。A 2;B 4;C 5;D 6 11、在 8086系统中中断号为 0AH,则存放中断向量的内存起始地址为_ B _。A 0AH;B 28H;C 4AH;D 2AH 12、80X86 CPU 将累加器 AX的内容清零的正确指令是 _B_。A AND AX,AX;B XOR AX,AX;C OR AX,AX;D.NOT AX 13、下列器件可作简单输入接口的电路是_(1)_ A _,作简单输出接口的电路是 _(2)_ B。A 三态缓冲器 ;B 锁存器;C 反相器 ;D 译码器14、某微机最大可寻址的内存空间为16MB,其 CPU 地址总线至少应有 _D_ 条。A 32;B 16;C 20;D 24 15、伪指令 VAR DW?将在内存预留的存储空间是 _B_ _。A1字节 B 2字节C 6字节 D4字节16、关系运算符 EQ、NE、LT、GT、LE、GE 等,当运算结果关系成立时汇编返回_A_。A0FFFFH B 0000H C0001H D 1000H 17.8、8086 CPU寻址 I/O 端口最多使用 _D_ 条地址线。A 8;B 10;C 12;D 16 18、8086/8088 系统中用于形成地址总线的器件是_A_。A 缓冲器 ;B 锁存器 ;C)计数器 ;D)译码器19.某微机最大可寻址的内存空间为16MB,其 CPU 地址总线至少应有 _D_ 条。A 32;B 16;C 20;D 24 15、两数比较,若相等时转移到LABEL的指令是 _A_。A JZ LABEL;B JC LABEL;C JO LABEL;D JS LABEL 16、下列信号中 _C_ 用来区分 CPU 访问内存储器或 I/O 接口。A WR;B RD;C IOM/;D RDT/17.8086存储信息的基本单位是 _B。A字 B字节 C KB D MB 18.8086的字长有 _C_ 位。A 32 B.16 C.8 D.64 19.8086有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 D8MB 23.标志寄存器中 PF 1时,表示 _A_。A运算结果低 8位中所含 1的个数为奇数名师资料总结-精品资料欢迎下载-名师精心整理-第 2 页,共 8 页 -精品文档精品文档B运算结果低 8位中所含 1的个数为偶数C运算结果有溢出D运算结果无溢出24.地址加法器是属于 _B_中部件。AEU BBIU C ALU 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,DAT1BX DI 中,源操作数的寻址方式是_D_。A 变址寻址 B 基址和变址寻址 C 基址寻址 D基址变址相对寻址29将累加器 AX 的内容清零,错误的指令是_B_。A XOR AX,AX BAND AX,O C SUB AX,AX DCMP AX,AX 32伪指令 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 _。A DAT1 的段地址 B.DAT1 的偏移地址 C DAT1 的第1个数据 D.DAT1的物理地址36DOS 功能调用时,功能号应放入_ C _中。A AX BAL CAH DDX 三、简答题(每小题 5分,共 15分)1、冯诺依曼计算机的基本设计思想是什么?(1)计算机应用由运算器、控制器、存储器、输入和输出设备等五大部分组成。(2)存储器不但能存放数据,也能存放程序.计算机具有区分指令和数据的能力。而且数据和指令均以二进制形式存放。(3)将事先编好的程序存入存储器中,在指令计数器控制下,自动高速运行(执行程序)。2、8088CPU 和 8086CPU 结构的区别。(1)8088 指令队列长度是 4 个字节,8086 是 6 个字节。(2)8088 的 BIU 内数据总线宽度是8 位,而EU 内数据总线宽度是16 位,这样对16 位数的存储器读/写操作需要两个读/写周期才能完成。8086 的 BIU 和 EU 内数据总线宽度都是16 位。(3)8088 外部数据总线只有8 条 AD7 AD0,即内部是 16 位,对外是 8 位,故 8088 也称为准 16 位机。3、8086CPU 构成系统时其存储器可分为哪两个存储体?它们如何与地址、数据总线连接?8086CPU构成系统时,其存储器可分为奇地址存储体与偶地址存储体。偶地址存储体的8位数据线,与 CPU16 位数据总线的 D7D0 连接;奇地址存储体的 8 位数据线与 CPU16 位数据总线的 D15D8 连接。地址总线 A19A1 提供存储体片选的高位地址,A0 和 BHE(HE 有上划线)区分奇偶地址存储体。4、8086/8088 CPU 系统为什么要采用地址锁存器?因为 8086/8088的 AD15AD0/AD7AD0既可作为低 16 位/8 位地址线,又可作为 16 位/8 位数据线,为了把地址信息分离出来保存,外接存储器或外设提供16位/8 位地址信息,一般须外加三态锁存器,并由 CPU 产生的地址锁存允许信号ALE 的下跳变将地址信息锁存入8282/8283锁存器中。名师资料总结-精品资料欢迎下载-名师精心整理-第 3 页,共 8 页 -精品文档精品文档5、计算机系统要完成一次外部中断,需要经历哪几个过程?(1)中断请求。中断源产生中断请求的条件对不同中断源是不同的。(2)中断判优。由于中断产生的随机性,可能同时提出多个中断源,此时就要根据中断源的轻重缓急,给它们确定一个中断级别。(3)中断响应。对可屏蔽中断,仅有中断请求是不行的。除优先级别高低的条件外,CPU内正有中断允许触发器,只有当其为“1“时,CPU才能响应可屏蔽中断。(4)中断处理。由中断服务程序完成。保护环境,开中断,执行中断服务程序,关中断,恢复现场(5)中断返回。执行返回指令后,CPU会自动弹出断点信息,送给指令指针,并恢复标志寄存器的内容,以便回到断点出处继续执行原程序。6.试简述以 8086 CPU为核心的最小系统的构成。答:计算机硬件系统主要由CPU、存储器、I/O 接口、I/O 设备构成,它们由总线(控制总线、地址总线和数据总线)连接。对于以 8086 CPU 为核心的最小系统,还应包括一片时钟发生器、3 片 8282地址锁存器和 2 片 8286数据驱动器。四、存储器(2 小题,共 20 分)1、某微机系统有 24 条地址线。欲用 2K 4 b 的 RAM 芯片构成 32 KB 的存储系统,问:1)需要多少片这样的芯片?2)每个芯片的地址线有几条?3)至少需要多少条地址线用作片外地址译码?(本小题9 分)1)需要 32x8/(2x4)=32 2)11条3)4 条2、用二片 6264芯片组成的 8 位微机存储器系统的电路如图所示。(设地址总线为 16 位。)(本小题 11分)1)说明存储器芯片类型,并计算1和2 的存储容量是多大;(5 分)2)分析 1 芯片和 2芯片的地址范围(需给出具体地址分配表)。(6 分)1)#1和#2 的容量均为:213*8=8KB 2)设 A15为 0#1 的地址范围为:4000H-5FFFH.#2 的地址范围为:2000H-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)地址范围:8000H8FFFH ROM(2):9000H9FFFH RAM(1):A000HAFFFH RAM(2):B000HBFFFH RAM 区有地址重叠:RAM(1)基本地址范围(A11=0时):A000HA7FFH 重叠地址范围(A11=1时):A8FFHAFFFH RAM(2)基本地址范围(A11=0时):B000HB7FFH 名师资料总结-精品资料欢迎下载-名师精心整理-第 4 页,共 8 页 -精品文档精品文档重叠地址范围(A11=1时):B8FFHBFFFH 五、程序分析及设计(除了题中单独标注的题分,其余每空1 分,共 25 分)1、以下程序片段执行前(AX)=1234H,(BX)=5678H MOV CL,4 MOV DH,BH SHL BX,CL MOV DL,AH SHL AX,CL SHR DH,CL OR AL,DH SHR DL,CL OR BL,DL 执行完该片段后(AX)=2345H、(BX)=6781H。2、程序段如下:X DB 65H Y DB 0F3H MOV AL,X MOV BL,Y CMP AL,BL JGE NEXT XCHG AL,BL NEXT:HLT 程序执行后,AL=65H ;BL=03FH .比较变量 X和 Y两个有符号数的大小,将大者放入AL,小者放入 BL中2、程序段如下:MOV AL,23H MOV AH,0 Again:AND AL,AL JZ STP SHL AL,1 JNC Again INC AH JMP Again STP:HLT 1)程序的功能是(本小题2 分):对 AL中“1”的个数进行统计,并放入AH中;2)程序执行后,AH=3 3程序段如下:MOV AL,BYTE PTR X MOV CL,4 SHL AL,CL DEC AL MOV BYTE PTR Y,AL 程序执行后,完成运算的算术表达式应是 Y=Xx2-4 ;其中,程序段指令中出现的X,Y 其类型为 变量类型4、阅读下列程序DATA SEGMENT BUF DB 32H,75H,0C9H,85H;共个数据RESULT DB?DATA ENDS 名师资料总结-精品资料欢迎下载-名师精心整理-第 5 页,共 8 页 -精品文档精品文档CODE SEGMENT ASSUME CS:CODE,DS:DATA START:MOV AX,DATA MOV DS,AX LEA SI,BUF MOV CX,4 MOV BX,0 LP1:MOV DH,8 MOV AL,SI LP2:ROR AL,JC NEXT INC BX NEXT:DEC DH JNE LP2 INC SI LOOP LP1 MOV RESULT,BX MOV AH,4CH INT 21H CODE ENDS END START(1)本程序段的功能是 _ 统计缓冲区 BUF中 4个单字节二进制数中的0的个数(2)程序执行完变量 RESULT=11 H 4画出数据段中数据定义语句实现的内存分配图。DATA SEGMENT AT 1415H ORG 2000H BLOCK DB 00H,80H,0FEH,0A8H,90H COUNT EQU$BLOCK;FLAG DB 1 DATA ENDS 内存分配图(本小题4 分):5以下程序段完成的功能是:把内存单元两数进行相加,结果送回到内存单元中。请根据注释要求对程序进行完善。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 ;一条语句返回 DOS CODE ENDS END START ;汇编结束,初始化CS,IP 名师资料总结-精品资料欢迎下载-名师精心整理-第 6 页,共 8 页 -精品文档精品文档把该源程序命名为: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 ;数据段结束CODE SEGMENT ;定义代码段 ASSUME CS:CODE,DS,DATA ;设定段寄存器BIGIN:MOV AX,DATA;将 DATA 偏移地址通过 AX MOV DS,AX ;送 DS MOV AL SOURCE;取第 1数送 AL,ALX1 CMP AL,SOURCE+1;两数比较,执行 X1-X2运算JNC BRANCH ;若没有进位 CF,则 X1X2,转 BRANCH MOV AL,SOURCE+1 ;否则,大数送 AL,执行 ALX2 BRANCH:MOV MAX,AL;大数送入 MAX 单元 HLT ;暂停 MOV AH,44CH ;2 条语句采用非标准序方式返回DOS INT 21H ;CODE ENDS ;代码段结束 END BIGIN ;程序结束7、程序设计设数据段 ARRAY 单元开始有 50 个单字节有符号数,要求统计出其中负数的个数并存入minus_count 单元。试完善程序。data segment ;数据段定义array db _N0,N1,N2。N49;数组定义count equ$-arry minus_count db?data ends stack segment para stack stack;定义堆栈段 dw 128 dup(?)stack ends code segment;代码段定义 assume cs:code,ds:data,ss:stack;指定段寄存器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 名师资料总结-精品资料欢迎下载-名师精心整理-第 7 页,共 8 页 -精品文档精品文档 _ MOV【】,AL _;正数跳转 inc dl next:inc si ;修改数据指针 loop _ NEXT _ mov minus_count,dl ret;返回start endp;过程结束_CODE ENDS _;代码段定义结束 end start 名师资料总结-精品资料欢迎下载-名师精心整理-第 8 页,共 8 页 -