一、选择题(每空2分,共10分。)
1、设机器字长为8位,十进制123与十进制345相加,所得结果的二进制表示为(A )。
A.11010100B,进位标志CF为1
B.11010100B
C.468
D.1D4H
2、冯·诺伊曼结构的组成部分包括( A )、计算器、存储器、输入设备和输出设备。
A.控制器
B.电子管
C.晶体管
D.DMA通道
3、执行指令AND AX,00H后,AX的值为( C )。
A.1
B.10H
C.0
D.10
4、指令ADD 15H,BX 执行的效果是(C )。
A.BX值为15H
B.15H的值为BX
C.立即数不能做目的操作数,不能编译和执行
D.BX中的值与15H相加,所得结果存入BX
5、状态标志位ZF的作用是 (A )。
A.全零标志
B.符号位
C.奇偶校验位
D.溢出标志
二、简答题(每题10分,共50分。)
1、设计I/O接口电路时一般遵循“输出要锁存,输入要缓冲”的原则,为什么?
答:CPU运行速度较快,外设速度相对较慢,通过锁存器保持CPU的输出信号;CPU的数据线是公用的,任何外设都不能单独占用数据线,通过缓冲器可以将外设和数据线在不需要的时候隔离。
2、8086 CPU能处理哪些类型的中断,这些中断的优先级是如何排列的?
答:内部中断和外部中断,内部中断包括内部硬中断和内部软中断,外部中断包括可屏蔽和不可屏蔽中断。
中断优先级为:
内部中断>不可屏蔽中断>可屏蔽中断>单步中断
3、8086微处理器内部结构如下图所示,请指出CS,DS,SS,ES,SI寄存器的作用。
答: 段地址寄存器包括代码地址寄存器CS、数据段寄存器DS,堆栈段寄存器SS,附加段寄存器ES。IP是指令指针寄存器。
4、分别给出以下指令中目标操作数和源操作数的寻址方式。
(7)MOV AX,[DI] ;寄存器间接寻址
(8)JMP BX ;段内间接寻址
(9)IN AL,23H ;直接端口寻址
(10)IN AL,DX ;间接端口寻址
5、设字长为8位,用二进制计算12+34的结果,并说明对以下状态标志的影响
CF:进位标志
AF:辅助进位
SF:符号位
PF:奇偶校验位
OF:溢出标志
答:
00001100
+ 00100010
- - - - - - - -
00101110
CF:进位标志 0
AF:辅助进位 0
SF:符号位 0
PF:奇偶校验位 1
OF:溢出标志 0
三、程序阅读题(每题10分,共40分。)
1、阅读下述代码,回答问题。
MOV AX,0
MOV BX,1
MOV CX,100
L1:ADD AX,BX
INC BX
DEC CX
JNZ L1
(1)程序实现的功能是什么?
(2)程序执行后,AX,BX,CX中的值分别是多少?
答:
计算1+2+3+…+100的值,最终保存在AX中
程序执行后
AX=5050
BX=101
CX=0
2、阅读下述代码,回答问题。
STR DB 'COMPUTER'
MOV CX,8
MOV AL,1
LEA BX,STR ①
L1:CMP BYTE PTR [BX],‘U’ ②
JZ L2
INC BX
INC AL
LOOP L1
L2: HALT
(1)代码①的作用是什么?
(2)代码②的作用是什么?
(3)分析程序实现的功能,并说明执行后AL寄存器的值是什么。
3、阅读下述代码,回答问题。
MOV AX,00H
PUSH AX
POP BX
MOV AX,3F5FH
MOV CX,4
ROR AL,CL
AND AL,0FH
每行代码执行后,寄存器AX,BX的值如何变化?
4、阅读下述原理图及代码,回答问题。
CLK0输入信号为2MHz.
io2 = 400h
code segment 'code' ;定义代码段
assume cs:code
start:
mov al, 00110100b; 计数器0,16位,方式2,二进制
mov dx,io2+6; 8086 A0A1,8253 A0A1 = 11,奇地址,控制端地址
out dx,al
mov ax,20000
mov dx,io2 ; 计数器0 2e6/s / 2e4 = 100 hz
out dx,al
mov al,ah
out dx,al
mov al,01010110b; 计数器1,低8位,方式3,二进制
mov dx,io2+6
out dx,al
mov al,100
mov dx,io2+2 ; 计数器1
out dx,al
; 20000*100 = 2E6
wait1: jmp wait1
code ends ;代码段结束
end start
回答程序的功能,并判断发光二级管的状态如何变化,示波器上的方波频率为多少Hz?
答:
方波频率1Hz,LED每0.5秒点亮,0.5秒熄灭。
N = 计数器0 初值 20000 * 计算机1初值 100;
输入信号2E6 / N =>输出 1 sec。