您的当前位置:首页正文

微机原理期末试卷(有答案)

2023-07-25 来源:步旅网
装订线内 不要答题

北京大学信息科学技术学院考试试卷

考试科目: 微机原理B 姓名: 学号: 考试时间: 2008年 1 月 9 日 任课教师: 王志军

题号 一 二 三 四 五 六 七 八 总分 分数 阅卷人

考 场 纪 律 1. 请持学生证入场考试,并按指定座位就座;除必要的文具和教师指定的用 具用书外,其他所有物品包括手机、呼机、MP3、电子词典、书籍、笔记、 纸张等严禁带入座位,必须放在指定位置。凡有试题印制问题请向监考教2. 师提出,不得向其他考生询问。 认真、诚实、独立并在规定时间内完成答卷,严禁任何形式的违纪作弊行为;否则,本答卷成绩以以下以下为答题纸,共0分记,并根据《北京大学本科考试工作与学术 页 3. 规范条例》给予纪律处分。 提前交卷的考生不要在考场逗留,不要在门口、窗外大声喧哗。考试结束 时间到,请停止答卷,在座位等候监考教师收卷并清点完毕,方可离开考 场;考题和试卷不得带出考场。

以下为试题和答题纸,共 10 页。

1

一、填空题(每空1分,共20分)

计算机按照存1. 在冯.诺依曼计算机中,指令和数据以 二进制 的形式表示,储程序 、程序控制执行的方式进行工作。

2. 微机系统的硬件部分包括五个基本组成部分:运算器、控制器、主存储器 、输入设备和输出设备。

3. 8086CPU最小模式基本总线读操作包括 4 个时钟周期,当存储器或I/O速度较慢时,则需要插入 等待周期 。

4. 对于8086CPU,物理地址是由段基址和偏移地址两部分构成,若某存储单元的段基址为1000H,偏移地址为2345H,则该存储单元的物理地址为 12345 H。 5. 对于8086系统,若SS=1000H,SP=1000H,执行PUSH BX指令之后,SS= 1000 H,SP=_0FFE H。

6. 已知AL= 10001010B,BL= 11000110B,执行指令ADD AL,BL之后,ZF= 0, OF= 1 。

7. 当前微机的存储系统分为三级,即 Cache 、主存和外存。这种层次结构设计的依据是 程序和数据访问的局部性原理 。

8. DMA方式是在 DMAC 的控制下,实现主机与外设之间数据传送的一种方式。它除了可以直接在I/O接口与存储器之间交换数据外,还可以实现内存与内存之间、 外设与外设 之间的数据交换。8237进行内存与内存之间数据交换时,需占用 0和1 通道。

9. 异步串行接口芯片8251,引脚 TxRDY 作为发送中断请求信号。 10. 总线可分类为:片总线、内总线和外总线。USB总线属于 外总线 ,USB1.0规范规定:一台PC机最多可连接 127 个USB外设。PCI属于 内总线 ,其有三种地址空间,即存储器空间、I/O空间和 配置地址 空间。

二、单选题(本大题共10小题,每小题1分,共10分)

1.关于8086CPU指令构成,以下说法错误的是 ( B )。

A.指令中可以只包含操作码 B. 指令中可以只包含操作数 C.指令长度是可变的 D.操作数在操作码之后

2.下列8086指令中,指令执行后,AX的结果与其他三条指令不同的是( D ) 。 A.MOV AX,0 B.XOR AX,AX C.SUB AX,AX D.OR AX,0

2

装订线内 不要答题 3.执行IN AL,70H时,8086CPU外部管脚状态是( D )。

A.RD=0、WR=1、M/IO=1

B.RD=1、WR=0、M/IO=1 C.RD=1、WR=0、M/IO=0

D.RD=0、WR=1、M/IO=0

4.8086指令MOV AX,[BX] 中源操作数的寻址方式为( B )。

A.寄存器寻址 B.寄存器间接寻址 C.直接寻址 D.立即寻址 5.在下列伪指令中定义字节变量的是 ( A )。 A.DB B.DW C.DD

D.DT

6.8086CPU,若NMI、除法中断和INTR同时产生,则CPU执行完当前指令后对中断请求的检测顺序为( D )。

A.NMI、除法中断、INTR B.NMI、INTR、除法中断 C.INTR、除法中断、NMI D.除法中断、NMI、INTR 7. 8086CPU执行算术运算指令不会影响的标志位是( D )。 A.溢出标志 B.符号标志 C.零标志

D.方向标志

8.采用虚拟存储器技术的目的是( D )。 A.提高CPU访问主存速度 B.扩大外存的存储空间 C.提高CPU访问外存速度 D.扩大存储器的寻址空间 9.6片8259A级联最多可以管理( D )个中断。 A.48 B.40 C.44 D.43 10. 8251在数据传输过程中,不能检测到的错误是( A )。 A.同步字符错 B.数据溢出错 C.奇偶校验错 D.帧格式错

三、改错题(下列每题均有错,请改正。每题1分,共8分)

1. 异步通信格式中,起始位和停止位均为逻辑0。

停止位为逻辑1

2. 半导体静态随机存储器是靠电荷存储器件(电容)存储信息。

半导体动态存储器

3. 8086 CPU从功能上分为EU和BIU两部分,EU和BIU按照串行的方式进行工作。按照并行方式

4. 程序直接控制、中断和DMA三种数据传送方式中,中断方式的传输速率最高。DMA方式

3

5. 8086是16位CPU,80286是32位CPU。

80286是16位CPU

6. 8086CPU从奇地址读出1个字时,需要1 个总线周期。

2个

7. 8251异步通信格式中,停止位只能选择1位或2位。

还可选1.5位

8. 8086CPU通过控制总线读取I/O端口的状态信息。

通过数据总线

四、简答题(每小题4分,共12分)

1. 比较8086CPU子程序调用和执行中断服务操作的异同。

相同:两者均发生断点保护、程序转移和程序返回

差异:子程序调用是确定的,中断多数是随机的;子程序调用时保护IP、CS,中断服务保护IP、CS、FLAG。

2. 简述I/O端口两种编址方式的优缺点。

单独编址:译码电路简单、内存空间大;需专用I/O指令和引脚信号 与存储器统一编址:指令、引脚信号统一;译码电路复杂、内存减少。

3. 比较异步串行通信和同步串行通信的异同。

相同:均为串行通信,即信道上一位一位地传送数据。 差异:

异步通信:以字符为单位传送,每个字符需加起始位和停止位,收发时钟可独立; 同步通信:以数据块为单位传送,字符块前需加同步字符,收发时钟也需同步;

4

装订线内 不要答题 五、汇编语言编程(每小题5分,共20分) 1. 分析填空。

MOV AX, 01H MOV BX, 02H PUSH BX PUSH AX POP BX ;执行后 BX=__01H ____ POP AX ;执行后 AX=__02H ____MOV AX,3F5FH ;执行后 AL=___5FH____ MOV CX,4 ROR AL,CL ;执行后 AL=___0F5H___ AND AL,0FH ;执行后 AL=___05H___

2. 若STR是字符串的首地址,指出下列程序的功能,并在所给程序段的划线处将

语句加上注解。 LEA BX,STR ;取STR 的偏移量放到BX中 MOV CX,20 LP : CMP [BX],‘*’ JNZ NEXT ;BX所指单元内容不为‘*’,则转移至NEXT MOV [BX],‘$’ ;将BX所指单元用‘$’替代NEXT: INC BX LOOP LP HLT

程序的功能:将STR开始的前20个字符中的‘*’用‘$’替代

3. 在BUF开始有一个字节型数组,共有100个元素,以下程序段用于计算这个数

组中非零元素的个数,并将结果存入内存COUNT单元,在所给程序段的划线处填入适当指令或指令的一部分,使其完成指定功能。 BUF DB 100 DUP (?) COUNT DB 0 …………..

START: MOV AX,DATA MOV DS,AX

LEA SI, BUF MOV CX,100

CON: MOV AL,[SI]

CMP AL,0 (转下页)

5

JZ NEXT

INC COUNT NEXT: INC SI LOOP CON HLT

4. 以下程序实现的功能是冒泡排序算法,对起始地址为VAR的字型数组进行排

序,请根据要求在所给程序段的划线处填空。 DSEG SEGMENT VAR DW 100 DUP(?) N EQU ($-VAR)/TYPE VAR ;计算N的值:N=_ 100__DSEG ENDS

CSEG SEGMENT

ASSUME CS:CSEG,DS:DSEG

START: MOV AX, DSEG ;补齐此处程序代码

MOV DS, AX MOV CX, N-1

LOOP1: MOV DI, CX

LEA BX, VAR

LOOP2: MOV AX, [BX]

CMP AX, [BX+2] JGE CONTINUE XCHG AX, [BX+2] MOV [BX], AX

CONTINUE: ADD BX, TYPE VAR ;补齐此处程序代码

LOOP LOOP2 MOV CX, DI LOOP LOOP1 MOV AH , 4CH ;补齐此处程序代码 INT 21H

CSEG ENDS

END START

程序执行结束后,起始地址为VAR字型数组中数据元素大小的排列顺序为:由大至小 。

6

装订线内 不要答题 六、(本题8分)

8086系统使用8255A扩展键盘接口电路如下图所示。8255A的端口A工作于方式0、输入;端口C输出。设8255A端口地址范围为:80H~83H。 Vcc PC0PC1 PC2系PC3

统PA0 总PA1线

PA2 PA3PA4 PA58255APA6

PA7(1)编写8255A的初始化程序(控制字无关位置0),并加简要注释; MOV AL, 10010000B ;端口A方式0,输入;端口C输出 OUT 83H, AL

(2)编写CPU扫描键盘程序段(无键按下时,循环扫描;确认有键按下时,退出),并加简要注释。 SCAN: MOV AL,0BH OUT 83H, AL ;扫描第一行 IN AL, 80H CMP AL, FFH JNZ DSCAN ;判断是否有键按下 MOV AL,07H OUT 83H, AL ;扫描第二行 IN AL, 80H CMP AL, FFH JZ SCAN ;判断是否有键按下 DSCAN: MOV BL, AL

CALL DELAY-20MS ;延时20ms

IN AL, 80H CMP AL, BL

7

JNZ SCAN ;判断是否同一键 HLT ;确认有键按下 七、(第一小题4分,第二小题6分,共10分)

1、利用4K×4位的RAM芯片构建8086系统存储器,给定存储地址空间为:A4000H~C7FFFH,则需要这样的RAM芯片 72 片,系统需译码出片选线 36 条。

2、8086系统存储器部分电路如下图所示

D7 ~ D0 D15~D8

A13~A1M/IOA17A19A16A15A14G1G2AG2BCBA74LS138A0Y1BHED7~D0A12~A0D7~D0A12~A0SRAM1≥1≥1CSSRAM2CS(1)该存储系统总容量为 8KW / 16KB ; (2)存储器译码方式为 部分译码 方式; (3)SRAM1的地址空间为 04000H~07FFEH(偶) ;

与其重叠地址空间为 44000H~47FFEH(偶) ;

(4)SRAM2的地址空间为 04001H~07FFFH(奇) ;

与其重叠地址空间为 44001H~47FFFH(奇) 。

8

装订线内 不要答题 八、(本题12分)

利用计数器/定时器8253设计数字频率计。其基本思想为:使用8253对被测数字信号进行为期1秒的计数,其计数值即为被测信号的频率。 测量启动脉冲信号

系GATE0 CLK0OUT0Vcc

统GATE11MHz

时钟

CLK1总OUT1 GATE2被测方波信号

线CLK2 8253OUT2给CPU中断信号

(1)简要说明设计方案、8253各通道工作方式和计数初值,并连线上图;(必要时可添加1个门电路)

利用CNT0、CNT1产生秒脉冲(由启动脉冲启动),秒脉冲作为CNT2计数器门控信号;秒脉冲结束后中断CPU,CPU读取CNT2计数值,计算信号频率。 CNT0: 方式3,计数初值 100 ;100分频1MHz,产生10KHz时钟; CNT1: 方式1,计数初值 10000;产生秒脉冲; CNT2: 方式1,计数初值 0 ;对被测信号计数

(2)说明该频率计可测量信号频率的上限值为多少;

被测信号最多在1秒钟内计数65536次,上限频率为:65535Hz

(3)画出8086CPU完成一次测量的软件流程图。

9

附件:8255A有关控制字和状态字

(1)8255A方式选择控制字:

(2)8255A端口C置1/置0控制字:

10

因篇幅问题不能全部显示,请点此查看更多更全内容