南京邮电大学通达学院 2014/2015学年第 二 学期
《微型计算机原理与接口技术》第二阶段试卷
本试卷共 4 页; 考试时间 90 分钟; 专业
班级 学号 姓名
一、单项选择题(每题2分,共20分)
1. 在段定义语句中,段长度参数USE16表示( A )。
A. 逻辑段长度最大允许为64KB B. 逻辑段长度最小允许为64KB
C. 最大存储空间为1M
D. 最大I/O 空间为64KB
2. 指令指针寄存器IP 中存放的是( D )。
A. 当前指令
B. 下一条要执行的指令
C. 操作数的地址
D. 下一条要执行指令的地址 3.汇编语言源程序中的每条指令可以由四个部分组成,不可缺少的部分是( B )。
A. 标号 B. 操作码 C. 操作数 D. 注释 4. 汇编语言程序中的标号代表( B )。
A. 变量地址
B. 指令地址
C.常数
D.返回指令 5. 条件转移指令JNE 条件是( C )。
A. C 标为0
B. C 标为1
C. Z 标为0
D. Z 标为1
6. BIOS 显示功能调用中,其中0EH 号功能的入口参数中待显示字符的ASCII 码保存在( A )寄存器中。
A. AL
B. BL
C. CL
D. DL 7. 下列指令中,格式合法的是( B )。
A. OUT 3F8H, AL B. IN AL, 60H
C. IN AL, [DX]
D. IN BL, DX
8. 一片可编程定时/计数器8254内部有3个独立的( C )计数器。
A. 4位
B. 8位
C. 16位
D. 32位 9. 8254定时/计数器中,每个计数器有( B )种工作方式。
A. 4
B. 6
C. 8
D.10 10. 8254定时/计数器在写入一次计数初值后,能输出连续波形的工作方式是( D )。
A. 方式0和方式1 B. 方式1和方式2
C. 方式0和方式2
D. 方式2和方式3
装 订 线 内 不 要 答 题
自
觉
遵 守 考 试 规 则,诚 信 考 试,绝 不
作 弊
二、填空题(每空1分,共20分)
1. 在汇编语言程序设计中,ASSUME语句通知汇编程序寻址逻辑段使用
哪一个段寄存器。
2. 80x86汇编语言程序中,逻辑段定义使用SEGMENT语句和ENDS语句定
界,过程定义使用PROC语句和ENDP语句定界,宏指令中宏体的定界语句为
MACRO语句和ENDM语句。
3. 汇编程序有两种编程格式,分别是EXE文件编程格式和COM文件编程格式。
4. 在COM文件的编程格式中,允许使用1个逻辑段,程序的启动指令必须在
代码段偏移地址为100H的单元。
5. DOS系统功能调用和BIOS功能调用的功能号应放在AH寄存器中。
6. 按传输信号的性质来分,微机系统中的总线可以分为三类,分别是数据总线、
控制总线和地址总线。
7. 总线的宽度指的是:总线一次可以传输的数据位数。
假设一条总线的宽度
为16位,频率为100MHz,则该总线的传输率为200MB/s。
8. 按端口存放信息的物理意义来分,端口可以分为数据端口、状态端口和控制端口。
9. 8254计数初值N与输入信号频率f clk、输出信号频率f out的关系为:
N = fclk / fout。
三、简答题(共25分)
1. 简述汇编语言的开发过程(步骤)及其生成文件的扩展名。
(6分)
开发的过程(步骤):编辑、编译(汇编)、链接
对应的生成文件的扩展名:.asm、.obj、exe或者.com
6个回答要点,每个1分,共6分。
2. 微机系统与输入输出接口设备交换信息的方式有哪些?其中哪一种方式不需要通
过CPU参与数据的交换?(5分)
四种方式:无条件传送、查询、中断控制、存储器直接存取(DMA)。
其中DMA方
式不需要CPU参与数据交换。
5个回答要点,每个1分,共5分。
3. I/O端口有哪两种编址方式?PC系列机采用哪种编址方式?(3分)
两种编址方式:统一编址(存储器映像)、I/O端口独立编址。
PC机采用I/O端口独
立编址方式。
3个回答要点,每个1分,共3分。
4. 子程序和宏指令的异同有哪些?(5分)
共同点:①子程序和宏指令都能够简化程序设计,增强程序可读性;
不同点:①子程序调用由CPU完成,宏指令调用时在汇编过程中由汇编程序完成的;②
子程序调用可以减小目标程序的体积(大小),宏指令不可以;③有参数的子程序和宏指
令的参数传递方式不同。
相同点1个,每个2分;不同点3个,每个1分,相同点和不同点总共5分。
5. 简述微机系统中8254三个计数器的作用。
(6分)
计数器0用于定时中断;计数器1用于动态存储器刷新定时;计数器2用于产生约900Hz 的方波发至扬声器。
3个回答要点,每个2分,共6分。
四、程序分析题(20分)
1. 将程序补充完整,并分析程序写出结果。
(每空2分,共10分)
.486
CODE SEGMENT USE16
ASSUME CS:CODE (2分)
BEG: MOV BL, 78H
MOV CX, 8 (2分)
LAST: MOV DL, ’0’
ROL BL, 1
JNC NEXT
MOV DL, ’1’
NEXT: MOV AH, 02H
INT 21H
LOOP LAST
MOV AH, 4CH (2分)
INT 21H
CODE ENDS
END BEG (2分)
该程序段执行后,在屏幕上显示的内容为:01111000(或78H的二进制串)(2分)。
2. 阅读下列程序段,完成相应空格。
(每空2分,共4分)
XOR AX, AX
MOV BX, 2
MOV CX, 10
AGA:ADD AX, BX
ADD BX, 2
LOOP AGA
(1)程序段完成的功能是0+2+4+6+8+10+12+14+16+18+20(2分)。
(2)程序段执行后,AX= 110(2分)。
3. 设状态口地址为200H,数据口地址为201H,使用状态端口的最低位作为标志位(为0表示外设数据准备好),请补全下面查询式输入程序。
(每空2分,共6分)RSCAN: MOV DX, 200H
IN AL, DX(2分)
TEST AL, 1(2分)
JNZ RSCAN(2分)
MOV DX, 201H
IN AL, DX
五、程序设计题(15分)
假设数据段从BUF单元开始,存有50个8位无符号数,编写一个完整的程
序实现:查找这50个数据中最小值,并将该数以十六进制的形式显示在屏幕
上。
(要求写出完整源程序)。
.486
DATA SEGMENT USE16
BUF DB 23, 45, 20, 32, 16, 129, 250, .....
COUNT EQU $ -BUF ;统计串长度
MESG DB 2 DUP(?), 'H', 0DH, 0AH, '$'
TAG DB 2
DATA ENDS 2分CODE SEGMENT USE16
ASSUME CS:CODE, DS:DATA
BEG: MOV AX, DATA
MOV DS, AX
MOV AL, 0FFH ;无符号最小数0 →AL
LEA BX, BUF ;串首址偏移量→BX3分
MOV CX, COUNT ;串长度→ CX
LAST: CMP [BX], AL ;比较
JNC NEXT
MOV AL, [BX] ;较小数→ AL
NEXT: INC BX
LOOP LAST ;循环计数
SAL AX, 8 3分
CALL N2_16ASC
MOV AH, 9 ;显示一个16进制数
MOV DX, OFFSET MESG
自
觉
遵
守
考
试
规
则
,
诚
信
考
试
,
绝
不
作
弊装
订
线
内
不
要
答
题
INT 21H
MOV AH, 4CH
INT 21H ;返回DOS 2分
N2_16ASC PROC ;二进数→十六进数ACSII码
MOV SI, OFFSET MESG ;输出缓冲区地址→SI LAST2: ROL AX, 4
AND AL, 0FH
CMP AL, 10
JC NEXT2
ADD AL, 7
NEXT2: ADD AL, 30H
MOV [SI], AL
INC SI ;地址加1
DEC TAG ;计数
JNZ LAST2
RET
N2_16ASC ENDP 5分
CODE ENDS
END BEG
满分15分,分步骤,视答题酌情给分。