《 汇编语言与接口技术 》课程期末考试卷
(适用班级 A13计算机 ; )
一、选择题(每题2分,共40分) 1. 存储器分段时表示偏移地址是18位二进制代码,则一个段最多有( B ) A.128KB B.256KB C.512KB D.1MB 2. Intel 8086CPU 的地址线有( C ) A.8位 B.16位 C.20位 D. 32位 3. 伪指令在程序( B )阶段被处理 A.编写 B.汇编 C.连接 D.运行 4. 可能改变标志寄存器的值的指令有( D ) A.LODSB B.LODSW C.POP D.POPF 5. 如果当前(BL )=57H ,执行指令ADD BL,0F0H 后,OF 标志位的值为( B ) A.1 B.0 C.不确定 D.与执行该指令前的取值保持一致 6. DOS 中断21号中断中,2号功能调用要输出的字符放在( D )寄存器中 A.AH B.AL C.DH D.DL 7. MOV AX,[DI]指令中,源操作数寻址时使用( B )段寄存器 A.CS B.DS C.ES D.SS 8. 下列指令有语法错误的是( C ) A.PUSH AL B.ADC AX,0050H C.MOV [SI],[DI] D.JMP WORD PTR[BX+5] 9. 已知内存单元20510H 中存放31H ,内存单元20511H 中存放32H ,内存单元30510H 中存放42H ,内存单元30511H 中存放43H 且AX = 3A7BH ,DS=2000H, SS=3000H, BP = 0500H ,则语句“MOV AL, [BP+10H]”,则执行后AX 的值为( A ) A. 3A31H B. 3231H C. 427BH D. 3A42H 10. 数据段中有如下定义: ORG 0030H DA1 DB 0,30H ,30H DW DA1 数据为3000H 字存储单元的偏移地址是( A )
A. 0030H
B. 0031H
C. 0032H
D. 0033H
11. 栈操作的默认地址是( D )
学院专业班级姓名学号
A.CS:IP
B.DS:SI
C.ES:DI
D.SS:SP
12.对于下列程序段:
AGAIN:MOV AL,[SI]
MOV ES:[DI],AL
INC SI
INC DI
LOOP AGAIN
也可用指令( A )完成同样的功能。
A. REP MOVSB
B.REP LODSB
C. REP STOSB
D.REPE SCASB
13.已知AX=1025H,BL=03H,则语句“MUL BL”执行后AX的值为( C )
A.3075H B.0075H C.006FH D.306FH
14.下列条件转移指令中,哪一个是针对带符号数比较的( B )
A. JB B.JL C.JAE D.JC
15.中断类型号为10H的中断向量存放在内存地址( B )开始的四个物理存
储单元中。
A.21H B.40H C.43H D.128H
16.已知以下数据段:
DATA SEGMENT
VAR1 DB 8 dup (2, 3 dup(?))
VAR2 DW VAR3, VAR1, 10h
VAR3 DW 10, ?, 8 dup(?)
DATA ENDS
数据段DATA中定义的三个变量共占用( C )字节空间
A. 78
B. 68
C. 58
D. 47
17.有如下程序段:
MOV CL,8
ROL AX,CL
OR AX,BX
假设AX=0012H,BX=0034H,上述程序段执行后,AX中的结果是( A )
A. 1234H
B. 3412H
C. 0046H
D. 0034H
18.8259A芯片中可以用来设置IR0的中断类型号的初始化命令字是( B)
A.ICW1 B. ICW2 C. ICW3 D. ICW4
19.8255A中即可以作数据输入、输出端口,又可提供控制信息、状态信号的端
口是( C )
A. B口
B. A口
C. C口
D. 以上三个端口均可以
20.在80x86微机系统中存储空间和I/O空间的编址方式采用( A )
A. 两者独立编址,通过硬件连接线来区分两个空间;
B. 两者统一编址,通过地址范围来区分两个空间;
C. 采用混合编址,即独立编址和统一编址均采用;
D. 软件编址。
二、判断题(每题1分,共10分)
1.MOV DS,BX和MOV CX,AX这两条指令都能正确执行。…………(√)
2.V1是用DW定义的变量,指令mov dx,offset V1表示把V1的偏移地址传
输给DX寄存器…………………………………………………………(√)
3.8253计数/定时接口芯片的最大计数初值为256……………………(×)
4.在指令MOV AX,[BX+SI]中,源操作数的寻址方式是基址变址寻址(√)
5.8259通过NMI引脚向CPU发出中断请求。…………………………(×)
6.8086/8088系统中,硬件中断服务子程序入口地址在中断向量表中的存放位
置由中断类型码决定。………………………………………………(√)
7.用IN和OUT指令对端口进行输入输出时端口的编号最大为255。(×)
8.TEST指令与AND指令的运算方式一样,对标志位的影响也一样,所以功能
也一样,可以互相替代。……………………………………………(×)
9.中断处理子程序最后需写入RET指令以返回主程序。……………(×)
10.串操作指令中的目的变址寄存器只能与ES段寄存器搭配使用。…(√)
三、填空题(每空1分共20分)
1.若定义D1 DW 1234H ,执行MOV BL,BYTE PTR D1指令后,(BL)= 34H 。
2.在实模式下,地址3015:002A存储单元的物理地址是 3017AH 。
3.如果采用四片8259A级联,CPU的可屏蔽硬中断最多可扩展为 29 级。
4.一条完整的汇编指令通常由标号、操作码、操作数和注释组成。
5.8253的端口个数为 4 个。
6.8255是一个可编程并行接口芯片,有A、B和C三个8位端口,其中只可工
作在方式0,1下的端口为 B 端口。
7.在外部中断源的中断服务程序结束时,一般应向8259发送中断结束命令是
让ISR (填IRR/IMR/ISR/Flags)中的相应位清零。
8.设X、Y为WORD型变量。理解以下程序,填写空白。
计算Y=|X|
MOV AX,X ;传输X的值到AX寄存器
TEST AX, 8000H ;
JZ POS ;
NEG AX
POS:MOV Y , AX ;
9.阅读下面的汇编程序,判断分析该程序的功能,并从题后的选项中选择合
适的语句填充到程序中的缺失部分,使程序完整无误且回答问题。
DATA SEGMENT
BUF DB ‘ABCDYUGZF’
COUNT EQU $-BUF
DATA ENDS
CODE SEGMENT
ASSUME CS :CODE,DS :DATA
START:
MOV AX, DATA
MOV DS, AX
MOV AL, 0
LEA BX, BUF
MOV CX, COUNT
LAST:
JC NEXT
MOV AL,[BX]
NEXT:
B ;
LOOP LAST
MOV AH,4CH
INT 21H
CODE ENDS
D ;
(14)供选择的项:A.DEC CX B.INC BX
(15)供选择的项:C.END BEG D.END START
11·阅读下列程序回答:程序执行完变量RESULT= 11 H DATA SEGMENT
BUF DB 32H ,75H, 0C9H, 85H;共4个数据
RESULT DB ?
DATA ENDS
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,1
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
四、程序设计题(每题10分,共30分)
1.编写一个过程,以二进制数形式输出AX寄存器中的值;AGAIN:
MOV CX ,16
SHL BX ,1
JC L1
MOV DL ,’0’
L1: MOV DL ,’1’
NEXT: MOV AH ,2
INT 21H
LOOP AGAIN
2.设数据段ARRAY单元开始有50个有符号数的字节数,要求统计其中负数的
个数,并存入到数据段中的RESULT变量中。写出实现该功能的汇编程序(要求完整的汇编程序结构)。
START: MOV AX ,DATA
MOV DS ,AX
MOV BX ,OFFSET ARRAY
MOV SI ,0
MOV OX ,50
AGAIN: MOV AL ,[BX+SI]
TEST AL ,80H
JZ NEXT
INC RESULT
NEXT:ZNC SI
LOOP AGAIN
3.假设定时/计数器8253的端口地址范围为80H – 83H, 2#计数器的CLK端
的时钟输入频率为6MHz,要求在2#计数器的输出端OUT上输出频率为1000Hz的方波,计数初值以BCD码方式表达,写出相应地8253初始化程序片断,并给出初始值的计算过程。
附录
8253的方式控制字格式:
1.计数器选择
D7 D6 = 00 计数器#0;
D7 D6 = 01 计数器#1;
D7 D6 = 10 计数器#2;
D7 D6 = 11 读出控制字标志
2.读/写方式选择
D5 D4 = 00锁存当前计数器的值供读出;
D5 D4 = 01 只读/写低8位;
D5 D4 = 10只读/写高8位;
D5 D4 = 11先读/写低8位,后读/写高8位;
3.工作方式选择
D3 D2 D1的值用于设定工作在方式0~5;
4.计数器计数制选择
D0=0,计数值以二进制方式计数;D0=1,计数值以十进制方式计数;
MOV AL A7H
OUT 83H ,AL
MOV AL ,60H
OUT 82H ,AL