《汇编语言程序设计》期末复习题及答案
一、选择(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 )
D、 A<B=C
6.用一条指令实现寄存器BX和SI的内容相加,并将结果送入AX中,这条指令是(D )
D、 LEA AX, [BX] [SI]
7.要从端口 1234H中读入8位数据,其指令应是(C )
C、 MOV DX, 1234H
IN AL, DX
8.循环控制指令LOOPNZ/LOOPNE继续执行循环的条件是(B )
B、CX尹。且 ZF=O
9.8088/8086存储器分段,每个段不超过(D )
D、 64K个字节
10.表示过程定义结束的伪指令是(A )
A、 ENDP
11.用来存放下一条将要执行的指令代码段地址的段寄存器是(D )
D、CS
12.假定(SS) =1000H, (SP) =0100H, (AX) =5609H,执行指令 PUSH AX 后,存放数据
56H的物理地址是(D )
D、 100FFH
13.执行“SUB AX, [BP] [DI] ”指令,取源操作数时,使用的物理地址表达式是(A )
A、 16*SS+BP+DI
14.设AX中有一带符号数8520H,执行“SAR AX, 1”指令后,AX中的值是(C )
C、 0C290H
15.设(BX) =1234H, (DS) =2000H, (21234H) =5678H,则指令 “LEA SI, [BX] ” 执行
后的结果是:(B )
B、 SI=1234H
16.测试BL中的数是否为负数,若为负数则转移至AA1处,横线处的指令应为(A )
A、JNE
17.设 DF=O, (SI) =20H, (CX) =10,执行 “REP LODSW"指令后,SI 中的内容是(C )
C、34H
18.在程序执行过程中,IP寄存器中始终保存的是(B )
B、 下一条指令的首地址
19.设SP初值为2000H,执行指令“POP AX”后,SP的值是(A )
A、 2002H
20.若 AX=3500H, CX=56B8H,当 AND AX, CX 指令执行后,AX= ( A )
A、 1400H
21.汇编源程序时,出现语法错误的语句是(A )
A、 MOV 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 )
C、AH
27.提供串指令中目的操作数地址的是(C )
C、 ES: [DI]
28.在寄存器间接寻址方式下,能够提供有效地址的寄存器有(B )
B、 BX, BP, SI, DI
29.已知某操作数的物理地址是2117AH,则它的段地址和偏移地址可能是(A )
A、 2025 : 0F2A
30.中断向量表中的每个中断向量所占内存空间为:(B )
B、 4个字节
二、填空(30题)
1.在用直接寻址方式寻址操作数时,系统对段地址的默认值在段寄存器DS 中。 参见P40
2.与指令“NEG AX”功能等效的两条指令依次是 NOT AX 和INC AX 。
参见 P85、94、84
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.变量和标号均具有三种属性,即:段属性、偏移属性、类型属性。
参见P56、59
7.在做乘法运算时,如果是做字运算,乘积放在DX 和 两个寄存器中,做除法 运算时,若做字节运算,余数放在 中,商放在AL 中。
参见P86、87
8.用以访问存储器操作的地址表达式中,只要出现BP寄存器,系统就默认以段寄存 器的内容作为存储器操作数的段地址。
参见P40〜44
9.在数据段或代码段的最开始,常用伪指令“ORG n”来定义本段的偏移地址初值,该
初值的范围是 OOOOH~FFFFH 。
参见P66、28
10. 指令“CWD”能实现对某寄存器中内容进行扩展,该寄存器是: o
参见P89
11.8088/8086CPU能寻址的最大存储空间为1MB,因此CPU的地址总线是20条。
参见P28
12.在应用串处理指令M0VSB时,源串首地址存放在寄存器SI 中,目的串首地址存
放在寄存器DI中,并且目的串必须在 附加 段中,执行串处理指令时,用方向标 志位DF控制地址自动增减,数据串的长度存放在寄存器 CX中。
参见 P125、126
13.程序状态字PSW中的ZF位,当结果为0时,ZF= ,结果为1时,ZF=_0_o
参见P33
14.十六进制数0D6H,当把它看作无符号数时,它表示的十进制正数为214 ,当把它
看作带符号数时,它表示的十进制负数为 22 。
参见P22、23
15. IBM PC机中用来存放段地址的段寄存器有四个:CS、 DS、 SS 、 ES
参见P31、32 | |||
.、判断题(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 | BX与CL数据宽度不一致 |
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 | (错 | ) | |
参见P62、46 SEG VARY是立即数, | 而DS不能接受立即数 | ||
错
MOV VARY[SI], ES: BL
)
12.
参见P40 对寄存器不能使用段跨越前缀
13.
CMP BLOCK, [100H]
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论