北邮微原期末题_北邮微原答案
北邮微原期末题由刀豆文库小编整理,希望给你工作、学习、生活带来方便,猜你可能喜欢“北邮微原答案”。
一、填空题(每空1 分,共20 分)1.7 位二进制反码表示的数的范围是-63 到63(填入十进制数字)。
2.8086 CPU中,用于判断符号数运算结果超出表示范围的标志位是OF/溢出标志。3.8086 CPU中,若ES=A703H,则当前附加段可寻址的物理地址范围是A7030H 到B702FH。4.设字符串‘8086CPU’的起始地址是B0000H,则字符串中字母 ‘P’的字节地址是B0005H 5.若SS=8000H,SP=1000H,该堆栈当前的最大容量是4K字节,存入堆栈的第一个数据的地址是8000:0FFEH。
6.8086 CPU的HOLD信号的作用是DMA控制器向CPU申请总线控制权,其工作方向是输入(输入/输出)。
7.在 8086 系统中,一个中断类型号为4DH的中断服务子程序位于从7A00H:0100H开始的内存中,则相应的中断矢量所在的起始物理地址为0000:0134h或者00134h,从该地址开始连续4个存储单元存放的内容依次为00h、01h、00h、7Ah。
8.总线定时协定(或总线握手方式)一般有同步、半同步和异步 等。
9.若系统总线的一个存取周期最快为 4 个总线时钟周期,在一个总线周期中可以存取8 位数据。若该系统总线的时钟频率为6MHz,则总线的带宽为1.5 MB/s。
10.A/D变换常用的方式有计数器法 和逐次比较逼近法/并行法/双斜率积分法。1.8259 中断控制器只有2 个端口地址,但是有________个初始化 命令字,__________个操作命令字。
U
U
U
U
U
U
U
U
U
U
U U
U
UU U
U
U
U U
U
U
U
U
U
U
U
U
U
U
U
U
U
U
U
二、选择题(每题2 分,共10 分)1.下列说法中正确的是___D___(A)虚拟存储器技术提高了计算机的速度
(B)Cache 的地址空间是主存地址空间的一部分(C)主存都是由易失性的随机读写存储器构成的(D)Cache 的功能由硬件实现
2.异步传输时,每帧对应 1 个起始位、8 个信息位、1 个奇偶校验位和2 个停止位,如果传输速度为9600bps,则每秒钟能传输的最大字节数为D : 3(A)4800(B)400(C)960(D)800 3.8255A中,能够实现选通I/O功能的I/O口是A :(A)A 口和B 口(B)B 口和C 口(C)A 口和C 口(D)C 口的PC7-PC4 和PC3-PC0 4.8259 设置为循环优先级,当前正在响应的中断是IR5。这个中断响应结束后,8 个中断源的优先级从高到低排列的顺序是______C___。(A)IR0 IR1 IR2 IR3 IR4 IR5 IR6 IR7(B)IR7 IR6 IR5 IR4 IR3 IR2 IR1 IR0(C)IR6 IR7 IR0 IR1 IR2 IR3 IR4 IR5(D)IR4 IR5 IR6 IR7 IR0 IR1 IR2 IR3 5.RS232 接口所使用的插头,通常有两种:____D_______。(A)22 针和10 针(B)23 针和7 针(C)24 针和8 针(D)25 针和9 针
U
U
U
U
U
U
U
U
三、判断题。正确的在括号内打√,否则打×(每题1 分,共15 分)1)8086 的存储器是分段管理的,一个物理地址可以使用不同的段地址访问。(√)2)当 8086 CPU 中的指令队列不满,并且EU 单元申请操作数读写时,BIU 单元优先进行操作数读写。(×)3)当 8086 CPU 地址总线的A0 为“1”时,表示访问内存的奇地址单元,该内存单元的数据在数据总线的D7-D0 上传送。(×)4)8086 CPU 的IF 标志控制CPU 是否响应所有外部中断。(×)5)CPU 的操作时序通常用指令周期、总线周期、时钟周期描述,48086 的总线周期完成一个完整的基本操作,但其包含的时钟周期数是可以改变的。(√)
6)8086 CPU 具有最大和最小两种工作模式。在最小模式系统中,不必使用地址锁存器就可以构成系统。(×)
7)3 片8259A 在两级级联的情况下,可管理的中断源最多为24级。(×)8)串行传输使用的 HDLC 协议,除了标识帧开始和结束的FLAG同步识别码以外,不会在传输的内容码流中出现01111110 码型(√)9)SRAM 和DRAM 都必须进行刷新操作,才能保持存储信息的正确。(×)10)Cache 和虚存都是利用了程序运行时的局部性原理,主要用来解决不同存储层次之间速度的差异问题。(×)11)IBM PC 的DMA 方式中,存储器寻址使用地址总线,而I/O 寻址使用AEN 信号。(×)
12)8237A DMAC 只有16 根地址信号,但在系统中,仍然能够将数据传送到1M 内存空间。(√)
13)DMAC 通过DREQ 信号向8086CPU 申请使用总线,CPU 通过HLDA 信号送出应答信号。(×)14)8086 执行16 位内存操作,只需要进行1 次存储器访问。(×)15)由于 8086 系统中,中断类型号02 已经分配给非屏蔽中断请求 NMI,所以指令INT 02H 是不能使用的。(×)
四、简答题(共20 分)
1、8259A 的中断服务寄存器(ISR)何时置位?何时清零?中断服务寄存器(ISR)的作用是什么?(4 分)答:8259A 内部有一个8 位在服务寄存器ISR,对应8 个中断源被服务的状态。当某一个中断源的请求被响应时,它对应的在服务寄存5器ISR 位被置位为1。(1分)ISR 利用中断结束(EOI)命令进行复位。(1分)(在自动结束中断的方式下,ISR 是如何复位的?)在服务寄存器 ISR 的作用是:在中断响应时,判优电路把当前最优先的请求与ISR 已置为1 的优先级比较,若高于已置1 的优先级,则中断已置1 的中断服务,而响应当前的中断;(1 分)若低于已置1 的优先级,则阻止响应当前的中断请求。ISR 是实现中断嵌套的一种有效方法。(1分)
2、什么是DMA?为什么DMA 方式可以加快外部设备和存储器之间数据传输的速度?(2 分)答案要点和评分标准:答出直接存储器访问,1 分。答出由独立的DMA 控制器控制,在IO 设备和存储器之间,或存储器之间传递数据,1 分。
3、已知内存物理地址50000H 开始单元连续存放了如下5 个字节: 02H、44H、55H、66H、01H。问:执行如下程序后AX=?BX=?SI=? DI=?(8 分)MOV AX, 5000H PUSH AX MOV DI, 0FFFFH XOR SI, SI POP DS ADC DI, 3 MOV BX, [DI+1] MOV AL, [SI] XCHG AX, BX DIV BL 答:(每个2 分)AX = 00B3H BX = 5002H SI = 0 DI = 2 64、(6 分)用8253 定时/计数器的计数器1 输出1kHz 的方波,输入的时钟是4MHz 的脉冲信号。
(1)请求出计数初值(2 分)(2)设8253 的端口地址是380H~383H,写出计数器2 完成方波输出的相应的代码(4 分)(1)答:计数初始值应为:4M/1k = 4000(2)答: MOV DX,383h(控制寄存器的端口地址正确,可得1 分)MOV AL, 10110110b(初始化控制寄存器的值正确,可得1 分)OUT DX, AL MOV DX, 382h(计数器2 的端口地址正确,可得1 分)MOV AX, 4000 OUT DX, AL;低8 位(低8 位数据正确,可得1 分)MOV AL, AH OUT DX, AL;高8 位(高8 位数据正确,可得1 分)
五、查错题(14 分)。某人写了如下程序,用于将数据段中的2 个ASCII 字符(即’E’与’F’)分别加上奇校验位后无条件输出到地址为50H 及166H 的外设端口中:;定义加奇校验位的宏 PARITY MACRO REG LOCAL EXIT1 AND REG, 7FH JNP EXIT1 OR REG, 80H RET EXIT1: NOP ENDM ;数据段
DATA SEGMENT 7 CHRSS DB 'EF' DATA ENDS ;代码段
CODE SEGMENT ASSUIME CS:CODE, DS:DATA START: MOV DS, DATA MOV SI, CHRS ;赋SI 为第1 个字符的偏移地址 MOV AH, [SI] ;取第1 个字符 PARITYO AH ;加奇校验位
OUT 50H, AH ;输出到地址为50H 的端口 MOV AL, [SI+1] ;取下一个字符 PARITY AL ;加奇校验位
OUT 166H, AL ;输出到地址为166H 的端口 MOV AH, 4CH INT 21H CODE ENDS END START 试指出上述程序中的所有错误。
答:(每错2 分,只要找出6 个则得满分)。
(1)宏定义非子程序定义,去掉宏定义体内的最后一条“RET”语句。(2)语句“PARITYO ENDM”有错,应为“ENDM”。
(3)标号为 START 处的指令有错:不能给DS 赋立即数。
(4)“MOV SI, CHRS”有错,应写成“MOV SI, OFFSET CHRS”。(5)“OUT 50H, AH”有错,只能将累加器AL 或AX 中的数据输 出。
(7)“OUT 166H, AL”指令有错,166H 超过255,应由DX 间 接寻址。
六、综合题(共13 分)
AD7541 是一个内部不含数据输入寄存器(锁存器)的12 位数/模转换器DAC。要求CPU 通过8255 接口芯片和AD7541 连接完成12 位D/A转换。下图是系统的部分连接图。图中锁存器是在G 输入正跳变时锁存数据。
(1)问:AD7541 的输入数据引脚能否不经过锁存器而直接与Intel8255 的数据输出引脚相连来实现12 位的D/A 转换?为什么?如果要用锁存器,需要用几个?(2 分)
答:不能。正常情况需要12 位的待转换数据同时出现在AD7541 的12个输入引脚(因一般要求DAC 转换后的信号保持到下次数据输入前不发生变化),而8255 的每个数据端口只有8 位,无法满足要求。要用两个锁存器,才能存放 12 位待转换数据。(2)完成8255 和AD7541 之间的连接。要具体的标明使用8255 芯片(B 口、C 口)的哪些引脚。(3 分)9(3)按照下图中CPU 和8255 的连接,写出8255 的各个端口地址。(3分)答:AAE4 h-AAE7 h(4)试编程完成将12 位数据111011110001B 送给AD7541 进行数/模转换的程序片段(包括8255 的初始化)。(5 分)8255 的方式控制字格式: 10 答案参考程序:
;8255 的初始化(2 分)MOV DX,0AAE7H MOV AL,1000000XB ;(80H 或81H)所有端口:方式0,输出 OUT DX,AL MOV AL, 1XXXXXXXB ;例如80H MOV DX, 0AAE6H OUT DX, AL ;保证PC7 为1 ;将12 位数据111011110001B 送给AD7541 进行数/模转换(3 分);首先送 8255 MOV AL,11110001B ;低8 位 MOV DX, 0AAE4H ;送A 口 OUT DX, AL MOV AL,1110B ;高4 位 MOV DX, 0AAE5H ;送B 口 OUT DX, AL ;产生锁存信号(PC7 上升沿)MOV AL, 0XXXXXXXB ;例如00H MOV DX, 0AAE6H OUT DX, AL ;使PC7 为0 MOV AL, 1XXXXXXXB ;例如80H MOV DX, 0AAE6H OUT DX, AL ;使PC7 为1,完成AD 转换
七、编程题(10 分)。在内存数据段符号地址为SDATA 处连续存放了50 个无符号字节数据,试统计该50 个数中不能被11 除尽的数的个数(该结果应存于数据段符号地址COUNT 处)。要求:(1)将“判断一个无符号字节数据能否被11 除尽”的功能写成子程序,入口参数须放在AL 中,而出口参数为ZF 标志位(ZF=1 表明AL 中的无符号字节数能被11 除尽);(2)写出完整的数据段(50 个数据可以象征性的定义)与代码段。;数据段写正确:2 分(以下SDATA 的定义随意不扣分)DATA SEGMENT SDATA DB 50 DUP(?);50 个无符号字节数据 COUNT DB 0 11 DATA ENDS CODE SEGMENT ASSUME CS:CODE, DS:DATA ;子程序写正确:3 分
;子程序:入口 AL;出口:ZF=1 表明AL 能被11 除尽 DIV11 PROC NEAR MOV AH, 0 MOV BL, 11 DIV BL OR AH, 0 RET DIV11 ENDP ;主程序写正确:5 分 START: MOV AX, DATA MOV DS, AX MOV SI, OFFSET SDATA MOV CX, 50 LP1: MOV AL, [SI] CALL DIV11 JZ LP2 INC COUNT LP2: INC SI LOOP LP1 MOV AH, 4CH INT 21H CODE ENDS END START__