汇编期中考试试卷(第二版)

绝世美人儿
820次浏览
2020年09月09日 03:47
最佳经验
本文由作者推荐

暑假中的一件事-朋友祝福语大全


期中测试

计算机科学与技术专业(本科)《汇编语言程序设计》试卷

一、 单项选择题(每题0.5分,共18分)
1. 某系列微机对存储器进行分 段管理,如果每一个段最多的字存储单元(16位二进制)
是32KB,那么表示段内字节单元偏移地址 的二进制位数应是( )。
A. 20位 B. 16位 C. 15位 D. 12位
2. 用一条指令仅实现将(BX)+(SI)==>(AX)的方法正确的是( )。
A. XCHG AX,[BX][SI] B. MOV AX,[BX+SI]
C. LEA AX,BX[SI] D. LEA AX,[BX][SI]
3. 条件转移指令JB产生程序转移的条件是( )。
A. CF=1 B. CF=0 C. CF=1 和ZF=1 D. CF=1 和ZF=0
4. 设(AL)=20 H,(SI)=0500H,(DS)=3000H,(30500H)=0C0H,CF=1。执行SBB AL,[SI]
后,正确的结果是( )。
A. AL=5FH SF=1 CF=1 B. AL=60H SF=1 CF=0
C. AL=5FH SF=0 CF=1 D. AL=60H SF=0 CF=0
5. 设(AX)=1000H,执行下述指令后,正确的结果是( )。
NEG AX
NOT AX
A. (AX)=1001H B. (AX)=0FFFH C. (AX)=1000H D. (AX)=0111H
6. 有如下定义,则数据为3000H 字存储单元的偏移地址是( )。
ORG 0030H
DA1 DB 0,‘0’,30H
DW DA1
A. 0034H B. 0031H C. 0032H D. 0033H
7. 下述数据定义语句中,NUM1和NUM2字节单元的内容分别是( )。
NUM1 DB(12 OR 6 AND 2)GE 0EH
NUM2 DB(12 XOR 6 AND 2)LE 0EH
A. NUM1=0,NUM2=0 B. NUM1=0,NUM2=0FFH
C. NUM1=0FFH,NUM2=0 D. NUM1=0FFH,NUM2=0FFH
8. 要求将字母A,B的ASCⅡ码顺序存放在两个连续存储单元中,可选用( )。
A. DA1 DB ‘AB’ B. DA1 DW ‘AB’ C. DA1 DB 0ABH D. DA1 DW 0ABH
9. 下述指令序列执行后,DA2字存储单元的内容是( )。
DA1 EQU BYTE PTR DA2
DA2 DW 0ABCDH

SHL DA1,1
SHR DA2,1
A. 0ABCDH B. 0AB9AH C. 55CDH D. 559AH
10. 下面语句中有语法错误的是( )。
A. DB 45H B. DW OABCDH C. DW ‘ABCD’ D. DD ‘AB’
11. 假设(AX)=0012H,(BX)=0034H,那么下述程序段执行后,AX中的结果是( )。
MOV CL,8
ROL AX,CL

1


OR AX,BX

A. 1234H B. 3412H C. 0046H D. 0034H
12. 执行下列指令序列后,正确的结果是( )。
MOV AL,81H
ADD AL,AL
ADC AL,AL
A. AL=05H B. AL=204H C. AL=04H D. AL=205H
13. 已知数据段中有如下定义,则下述指令序列运行后,CX的内容是( )。
DA2 DB 12H,34H,56H,0ABH
DB$$-DA2
BUF1 DB 10H,20H,30H

LEA SI,DA2
MOV CL,4[SI]
MOV CH,LENGTH BUF1
A. 03ABH B. 01ABH C. 0304H D. 0104H
14. 在一连续 的存储单元中依次存放数据41H,42H,43H,44H,45H,46H,可选用的数据
定义语句 是( )。
A.DB 41,42,43,44,45,46 B.DW 4142H,4344H,4546H
C.DW ‘AB’,‘CD’,‘EF’ D.DW ‘BA’,‘DC’,‘FE’
15. 在同一程序段中,定义下面伪指令,正确的是( )。
A.PORT EQU AL B.CO&NT EQU 3500H AND OFFH
PORT EQU 2000H
C.STRl DD‘ABCD’ D.STR2 DW‘ABCD’
16. 上述语句执行后AX中的值是( )。
DA2 DB‘AB’,‘CD’

MOV AX,WORD PTR DA2+1
A.‘AD’ B.‘BC’ C.‘DA’ D.‘CB’
17. 下列数据定义语句中可实现留空20H个字节存储单元的是( )。
A.DB 20 DUP(?) B.DW 20H DUP(?)
C.DB 10H DUP(4 DUP(?)) D.DD 08H DUP(?)

18. 为使ADR1+2字存储单元中内容为0030H,下述指令中空格中应选用的是( )。
DATA SEGMENT
______________
VAR1 DB 12H,34H
VAR2 DB 10H DUP(O)
ADR1 DW VAR1,VAR2
DATA ENDS
A.ORG 30H B.DB 2EH DUP(0) C.DB 30H DUP(0) D.ORG $$+30H
19. DA1 DB 04H DUP(3 DUP(2),2 DUP(3))在数据区能构成数据0203H共有( )个。
A.07个 B.04个 C.03个 D.02个
20. 下面有语法错误的指令是( )
A.LDS BL,VAR[SI] B.LEA BX,VAR[SI]
C.LES DI,VAR[BX] D.LEA DI,VAR[BP]
21. 执行PUSH BP指令时,目的操作数的物理地址表达式是( )

2


A.16*SS+BP B.16*DS+BP C.16*CS+IP D.16*SS+SP
22. 结果为零就跳转的条件转移指令,其测试条件是( )
A.ZF=1 B.ZF=0 C.SF=l D.SF=0
23. 下面程序段完成测试DA-BYTE字节单元中数是否为 负数,若是则将全l送DH中,否则
全0送DH中,那么程序段中空格里应填的语句是( )
MOV CH,0
TEST DA-BYTE,80H
______________
MOV CH,0FFH
ZERO:MOV DH,CH
A.JNZ ZERO B.JS ZERO C.JZ ZERO D.JC ZERO
24. 下列指令执行后影响CF值的是( )
A.DEC B.XCHG C.LEA D.SHL
25. 设(CL)=8,(AL)=0C8H,执行SAR AL,CL后,AL中的数据是( )
A.0FFH B.80H C.00H D.0FEH
26.
已 知(BX)=028AH,(SI)=0294H,(DS:051EH)=5432H。执行语句LEA BX,[BX+SI]后,
BX中的内容是( )

A.051EH B.5423H C.1E05H D.3254H
27. 判断AX和BX是否同时为偶数或同时为奇数。若是转YES的正确指令序列是( )。
AX,BX AX,BX
AND AX,1 AND AX,1
JE YES JE YES
AX,BX AX,BX
AND AX,1 AND AX,1
JE YES JE YES
28. 某程序装入内存后(DS)=1200H,(CS)=1400H,则其数据段中数据最多是( )个字节。
A.2K B.4K C.8K D.16K
29. 以寄存器DI间接寻址的存储器字节单元内容加1的指令是( )。
[DI] DI BYTE PTR[DI] [DI],1
30. 有定义语句:COUNT EQU 256,下列叙述中,正确的是( )。
是变量 占用一个字节存储单元
是符号常数 占用二个字节存储单元
31. 下面指令中,源操作数的寻址方式为立即寻址的是( )。
AX,OFFSET A AX,A
AX,A+1 AX,A[BX]
32. 已知SP=2110H,执行POP AX后,SP寄存器的值是( )。
A.2111H B.2112H C.210FH D.210EH
33. 将AX中有符号数除以2的正确指令是( )。
AX,1 AX,1 AX,1 AX,1
34. BX和SI存放两个存储单元地址,若(BX)≥(SI)则转向HIGH的正确指令是( )。
HIGH HIGH HIGH HIGH
35. 检查BUF单元的内容是否为正偶数,下面程序段正确的是( )
A. MOV AL,BUF B. MOV AL,BUF
JS K1 AND AL,11H
SHR AL,1 JNE K1
JC K1 …… ;是正偶数

3


…… ;是正偶数 K1:……
K1:……
AL,BUF D. MOV AL,BUF
JNP K1 TEST AL,81H


TEST AL,80H JNE K1
JNE K1 …… ;是正偶数
…… ;是正偶数 K1:……
K1:……
36. 下列指令执行后,不改变AL寄存器内容的指令是( )。
AL,1 AL,DL AL,AL AL,DL

二、
判断题(判断正误,每小题1分,共7分)

1.同一地址即可以看作是字节单元的地址,也可以看作是字单元的地址。 ( )
AX,[1000H]指令中的源操作是立即寻址。 ( )
3.指令PUSH CS是错误的,原因是CS不能做PUSH的操作数。 ( )
4.指令ADD AX,BX 与ADC AX,BX 得到的结果肯定是不同的。 ( )
5.对于MOV 指令,不可以将一个存储单元的内容直接送入另一个存储单元。( )
6.无符号数跳转指令和有符号数跳转指令在任何情况下都不可互换。 ( )
7.数据定义中,DUP 操作不可以嵌套。 ( )
三、
填空题(在横线上写出正确的答案,每空1分,共16分)

1. 已知[-Y]

=7001H,则[Y]

=_______。
2. 如下指令执行前(AL)=86,(AH)=07,指令执行后CF=___,(AL)=___,AF=___ 。
SUB AL,AH
DAS
3. 有如下指令,指令执行前,(DS)=0F800H,(DI)=180AH,(0F980A)=0064H 则指
令执行后,(0F980A)=_______,CF=_________。
MOV CL,5
SAR [DI],CL
4. 已知(SP)=1000H,(SS)= 3000H,(31000H)=2000H,(DS)=4000H,(BX)=1200H,
则POP [BX] 指令执行完后,(SP)= (41200H)=
5. 以下数据定义中数据段共分配 个字节存储单元,变量BUF的偏移地址是____。
DATA SEGMENT
ORG $$+20H
DA1 DB 10H DUP(2,3)
DA2 DW 10H DUP(2,3)
ORG $$+20H
BUF DD DA1,DA2
DATA ENDS
6. 假设DS=2000H,BX=0100H,(20100H)=30H,(20101H)=1 0H,则执行指令
MOV DX,[BX] 后,(DX)=_____ ,执行LEA DX,[BX] 后(DX)=_____
7. 如果执行NEG AL指令后AL中的内容仍 保持不变,那么AL中的值是_____,标志
位OF的值是________。
8. 设 (DS)=2000H,(BX)=1256H,变量TABLE的偏移地址为20A1H,(232F7H)= 3280H。
执行指令JMP BX后,(IP)=______,执行指令JMP TABLE[BX]后,(IP)=____。
四、
程序阅读分析题(每空3分,共39分)

1.下面程序段实现把DA1字单元内容取绝对值后送到DA2中,请在横线处各填一条指令。
DA1 DW ?

4


DA2 D2 ?

MOV AX,DA1

JNS K

K: MOV DA2,AX
2.NUM和NUM+1 单元分别存有一个8位带符号数,下面程序段将两数中大者送入NUM单
元,小者送入NUM+1单元, 请在方框处各填一条指令补充完整。
MOV AL,NUM
CMP AL,NUM+1


MOV NUM,AL
DONE:…
3.已知有如下程序段,阅读程序做题。
BUF1 DB -1,2,-3,4,-5,6,-7,8,-9
BUF2 DB 9 DUP(O)

XOR BL,BL
MOV SI,O
MOV CX,9
LOP:MOV AL,BUF1[SI]
TEST AL,80H
JZ K
INC BL
NEG AL
K:XOR AL,01H
MOV BUF2[SI],AL
INC SI
LOOP LOP
……
程序执行完后,(BL)=_____________
4.已知有如下程序段,阅读程序做题
DD2 DB 0,l,2,3,4,5,6,7,8,9

LEA SI,DD2
LEA DI,DD2+1
MOV CX,5
LOP:MOV AL,[SI]
XCHG AL,[DI]
MOV [SI],AL
ADD SI,2
ADD DI,2
DEC CX
JNZ LOP

5


上述程序段执行后,
A. 该程序段完成什么功能? _____________
B. DD2开始的l0个字节数应是什么值? _______________
5.如下程序段,
XOR BL, BL
NEG BL
JZ NEXT
ADD BL, 5
JMP DONE
NEXT:NOT BL
DONE:……
程序段执行后,(BL)=_____________,CF=______________
6.阅读如下程序段
R1 DB 246

XOR BH,BH
MOV AL,R1
MOV DL,10
LOP:CMP AL,0
JBE NEXT
MOV AH,0
DIV DL
MOV BL,AH
PUSH BX
JMP LOP
NEXT:……

上述程序段执行后共向堆栈压入___个字节数据,按压入的先后次序该数列为_______。
7.阅读如下程序段
VAR1 DB 56H,76H,87H,98H,0A9H

MOV CX,WORD PTR VAR1
AND CX,0AH
MOV BX,WORD PTR VAR1+3
SAR BX,CL
程序段运行后,(BX)=_____________ ,(CX)=______________。
五、
程序设计题(第1小题6分,第2小题9分,第3题7分,共22分)

1. 编程实 现如下功能。将DB1中的二进制数按位倒排送DB2中,即DB1第0位送DB2
第7位,DB1第1 位送DB2第6位,依次类推(其中DB1和DB2为字节变量)。
2. 编写程序实现如下功能:从 键盘输入一个两位的十六进制数,然后输出该数据的
二进制表现形式。实例如下:
67 此为从键盘上的输入值,为十六进制数据
01100111 此为屏幕上的输出值,为二进制数据
3. 选用逻辑指令编写一指令序列,实现将AL第0位,第2位同时置1,其他位变反。

6

共享宝马-酒店管理本科


重庆招生信息网-qq群公告


红色经典图书-小学二年级体育教案


四川志愿填报-天津医科大学分数线


倒数的认识-就读方式


上海高招热线-青岛海关网


守纪律讲规矩-性爱技巧


宁夏地税局-教师年终述职报告