《汇编语言程序设计》期末复习题及答案
一、选择(30题)
1.下列是8位带符号二进制数的补码,其中最大的是(B )。
B、    00000001
2.在一段汇编语言程序中多次调用另一段程序,用宏指令比用子程序实现
(C )
C、    占内存空间大,但速度快
3.数据定义为: EE DB 3, 4
CC DW 3456H, 6789H
执行指令 “MOV CX, WORD PTR EE+1” 后,(CX) = ( B )
B    5604H
4.有如下指令序列:
MOV AL, 95H
MOV CL, 2
SAR AL, CL
上述指令序列执行后,AL的内容是(D )
D    0E5H
5.A=186m B=273r, C=0BBe把这三个数看成无符号数,则它们之间的关系是(D
DA<B=C
6.用一条指令实现寄存器BXSI的内容相加,并将结果送入AX中,这条指令是(D )
D、    LEA AX, [BX] [SI]
7.要从端口 1234H中读入8位数据,其指令应是(C )
C、    MOV DX, 1234H
IN AL, DX
8.循环控制指令LOOPNZ/LOOPNE继续执行循环的条件是(B
BCX尹。且 ZF=O
9.8088/8086存储器分段,每个段不超过(D
D、    64K个字节
10.表示过程定义结束的伪指令是(A
A    ENDP
11.用来存放下一条将要执行的指令代码段地址的段寄存器是(D )
DCS
12.假定(SS) =1000H, (SP) =0100H, (AX) =5609H,执行指令 PUSH AX 后,存放数据
56H的物理地址是(D
D100FFH
13.执行“SUB AX, [BP] [DI] ”指令,取源操作数时,使用的物理地址表达式是(A )
A、    16*SS+BP+DI
14.AX中有一带符号数8520H,执行“SAR AX, 1”指令后,AX中的值是(C )
C0C290H
15.(BX) =1234H, (DS) =2000H, (21234H) =5678H,则指令 “LEA SI, [BX] ” 执行
后的结果是:(B )
B、    SI=1234H
16.测试BL中的数是否为负数,若为负数则转移至AA1处,横线处的指令应为(A )
AJNE
17.DF=O, (SI) =20H, (CX) =10,执行 “REP LODSW"指令后,SI 中的内容是(C
C34H
18.在程序执行过程中,IP寄存器中始终保存的是(B )
B、    下一条指令的首地址
19.SP初值为2000H,执行指令“POP AX”后,SP的值是(A
A    2002H
20.AX=3500H, CX=56B8H,AND AX, CX 指令执行后,AX= ( A )
A1400H
21.汇编源程序时,出现语法错误的语句是(A )
AMOV DS, 1200H
22.将数据1234H存放在存储单元中的伪指令是(C
C、    DATA1 DB 34H, 12H
23.下面指令执行后,可能改变AL寄存器内容的指令是(D
D    AND AL, BL
24.操作数地址存放在寄存器的寻址方式称为(B
B、寄存器间接寻址
25.用户为了解决自己的问题,用汇编语言所编写的程序,称为(B
B、汇编语言程序
26.DOS功能调用时,子功能调用的编号应放在(C
CAH
27.提供串指令中目的操作数地址的是(C
C    ES: [DI]
28.在寄存器间接寻址方式下,能够提供有效地址的寄存器有(B )
BBX, BP, SI, DI
29.已知某操作数的物理地址是2117AH,则它的段地址和偏移地址可能是(A
A、    2025 : 0F2A
30.中断向量表中的每个中断向量所占内存空间为:(B )
B、    4个字节
二、填空(30题)
1.在用直接寻址方式寻址操作数时,系统对段地址的默认值在段寄存器DS 中。 参见P40
2.与指令“NEG AX”功能等效的两条指令依次是    NOT AX INC AX
参见 P859484
3.语句"VAR DB 3 DUP (3, 3 DUP (3))”经过汇编后应分配    12个字节单元。
参见P58
4.指令“MOV AX, SEG VAR”的执行,是把 变量VAR的段地址 送到AX中- 参见P62
5.(DS) =1000H, (ES) =2000H, (SS) =3000H, (BP) =4000H
计算下列各指令中源操作数的物理地址:
MOV AX, [1000H]    物理地址    11000H
MOV AX, ES: [BP]    物理地址    24000H
参见P29
6.变量和标号均具有三种属性,即:段属性、偏移属性、类型属性。
参见P5659
7.在做乘法运算时,如果是做字运算,乘积放在DX 和 两个寄存器中,做除法 运算时,若做字节运算,余数放在 中,商放在AL 中。
参见P8687
8.用以访问存储器操作的地址表达式中,只要出现BP寄存器,系统就默认以段寄存 器的内容作为存储器操作数的段地址。
参见P40〜44
9.在数据段或代码段的最开始,常用伪指令“ORG n”来定义本段的偏移地址初值,该
初值的范围是 OOOOH~FFFFH
参见P6628
10. 指令“CWD”能实现对某寄存器中内容进行扩展,该寄存器是: o
参见P89
11.8088/8086CPU能寻址的最大存储空间为1MB,因此CPU的地址总线是20条。
参见P28
12.在应用串处理指令M0VSB时,源串首地址存放在寄存器SI 中,目的串首地址存
放在寄存器DI中,并且目的串必须在 附加 段中,执行串处理指令时,用方向标 志位DF控制地址自动增减,数据串的长度存放在寄存器    CX中。
参见 P125126
13.程序状态字PSW中的ZF位,当结果为0时,ZF= ,结果为1时,ZF=_0_o
参见P33
14.十六进制数0D6H,当把它看作无符号数时,它表示的十进制正数为214 ,当把它
看作带符号数时,它表示的十进制负数为 22   
参见P2223
15. IBM PC机中用来存放段地址的段寄存器有四个:CSDSSS ES
参见P3132
.、判断题(15题)
1. SHL AL, 2
(错
)参见P95
2改为CL
2. INC 2
(错
)参见P84
83 不能用立即数
3. ADD BX, 1
(对
)参见P83

4.MOV [SI][DI], BX
5.SUB BX, CL
(对
(错
参见P44
)参见P84
BXCL数据宽度不一致
6. OUT 34H, AL
(对
)参见P170
7. IN AL, OAH
(对
)参见P169
8. MOV CX, [SP]
(错
参见P42
SP不能做间址寄存器
9. MUL AL
(对
补码的最小负数参见P86
.87
10. SUB BX, BP
(对
参见P84
11. MOV DS, SEG VARY
(错
)
参见P6246 SEG VARY是立即数,
DS不能接受立即数
MOV VARY[SI], ES: BL
)
12.
参见P40    对寄存器不能使用段跨越前缀
13.
CMP BLOCK, [100H]

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。