汇编语言练习题2

一、 单项选择题 (共20题)

1.对于有符号的数来说,下列哪个值最大( D) A:0F8H B:11010011B C:82

D:123Q

2.下列有关汇编语言中标号的命名规则中,错误的是(D )

A:通常由字母打头的字符、数字串组成 B:标号长度不能超过31个字符 C:?和$不能单独作为标号 D: .号不可位于标号首 3.设A=0.4H,B=0.8H,C=0.4,D=0.4Q,它们之间的关系是(C )。

A.C+D=B B.A+D=B C.B=D D.A>C>D

4.下列四个寄存器中,可作为十六位寄存器的是(C )

A.DL B.CL C.BP D.EBX 5.8088/8086存储器分段,每个段不超过( D)

A.64K个字 B. 32K个字节 C.1兆个字节 D.64K个字节 6.寻址指令MOV CX, [BX + DI + 20]使用的是哪一种寻址方式( B) A:寄存器寻址 C:变址寻址

B:相对基址变址寻址 D:基址变址寻址

7.连接程序把汇编语言源程序生成的目标文件(.OBJ文件)转换成( B)。

A..OBJ文件 B..EXE文件 C..LST文件 D..CRF文件

8.在程序运行过程中,确定下一条指令的物理地址的计算表达式是( A)。

A. (CS)×16+(IP) B. (DS)×16+(DI) C. (SS)×16+(SP) D.(ES)×16+(SI) 9.若AX= - 15要得到AX=15应执行的指令是(A ) A.NEG AX B.NOT AX C.INC AX D.DEC AX

10.8086/8088系统执行传送指令MOV时(A ) A.不影响标志位 B.影响DF方向标志 C.影响SF符号标志 D.影响CF进位标志 11.执行下列程序后,(AL)=(D )H。

DATA SEGMENT

TAB DB ‘0123456789’ DATA ENDS CODE SEGMENT

ASSUME CS:CODE,DS:DATA START:MOV AX, DATA

- 1 -

MOV DS, AX

MOV BX, OFFSET TAB MOV AL, 04

XLAT TAB …

A.04 B.0400

C.33 D.34

12.下列指令中操作数在代码段中的是(A )。

A.MOV AL, 25H B.ADD AH, BL C.INC BYTE PTR [25H] D.CMP BL, AL

13.若要求一个操作数中的若干位维持不变,若干位置“1”,可以使用( B) A:NOT

B:OR

C:AND

D:XOR

14.下列指令中段默认为堆栈段的是(C ) A.MOV AX,[BX+SI+10]

B.ADD AX,ES:[SI]

C.SUB [BX],[BP][DI] D. MOV DX,[1000H] 15.设BL=05H,要使结果BL=0AH,应执行的指令是( C)。

A.NOT BL B.AND BL C.XOR BL, 0FH D.OR BL, 0FH 16.表示一条指令的存储单元的符号地址称(A )。

A.标号 B.变量 C.偏移量 D.类型 17.关于8086/8088微机系列,下列说法哪个是正确的( D) A:一个存储单元由16个二进制位组成,简称字。

B:当存储一个字数据时,低字节放高地址位,高字节放低地址位。 C:在内存空间中,可以无限分配段,且段的大小不受限制。 D:段与段之间可以邻接,也可以重叠。 18.下列关于堆栈的说法,错误的是(D ) A:以“先入后出”为原则。

B:栈区最高地址单元的前一个单元为栈底。 C:运行中SP寄存器动态跟踪栈顶位置。

D:压栈和弹出都是以字节为单位。

19.分配给INT 12H在中断向量表中的物理地址是 ( D)。

A.12H B.24H C.36H D.48H

20.DOS调用INT 21H的键盘输入功能1和功能8的区别是( B )。

A.功能1不回显而功能8回显 B.功能1回显而功能8不回显 C.功能1和功能8都不回显 D.功能1和功能8都回显

- 2 -

二、填空题(共27题)。(最后二题有备选答案)

1.设一存储单元中的二进制代码是83H,其对应的一个无符号数是 148 ,一

个带符号数是 -108 。

2.8086/8088系统中,I/O端口地址范围是 0000H~FFFFH。

3.8086/8088系统中,段内一个单元相对段的起始地址的距离称为 偏移地

址 , 它小于 64K 。

4.8086/8088CPU内部用来存放段地址的寄存器有 CS,DS,ES,SS 。 5.在PC机中,使用 SS 、 SP 合成20位的物理地址,用以指向当前堆栈桟顶的位置。 6.一个字单元由二个连续的 字节 单元组成,其中数据的低8位存放在 低

地址 单元、高8位存放在 高地址 单元。 7. 在指令中直接给出操作数的寻址方式称为 立即寻址方式 。

8.设MASK为一个变量,在“MOV AX, MASK[SI+BX]”指令中,源操作数的寻址方式是

相对基址变址寻址方式 ,其物理地址是 (DS)×16+(SI)+(BX)+OFFSET MASK ,目的操作数的寻址方式是 寄存器寻址方式 。

9.若(SS)=1100H,(SP)=0150H,那么执行PUSH EAX指令后SP的内容是 014CH ,再执行POP CX指令后桟顶的物理地址是 1114EH 。 10. CPU执行“JMP BX”指令只改变 IP ,而不改变 CS内容。 11.执行CALL NEAR PTR SUBROUT时,在修改IP/EIP内容之前应该 PUSH IP或PUSH EIP 。

12. STRING DB ‘ABCDEFG’

COUNT EQU $-STRING

COUNT的值是 7 ,表示的意义是 表示变量STRING所分配的字节数 。

13. 数据定义语句:TAB DW 100 DUP(?)

执行MOV BX, LENGTH TAB指令后,BX的内容是 100 。

14. 循环程序可由三个部分组成:设置循环初始部分、循环体和 循环控制部分 。

15. 在多个模块中传递参数的时候,在本模块中要使用另一个模块中的符号要用

EXTRN 伪操作进行说明符号,本模块中的符号要提供给另一个模块使用要用

PUBLIC 伪操作进行说明符号,

16. 宏汇编的三个步骤是: 宏定义 、宏调用和宏展开。 17. 每种类型的中断都由相应的 中断处理程序 来处理。

18.下列程序段求数组FLD的平均值,结果在AL中。请将程序填写完整(不考虑溢出) FLD DW 10, -20, 30, -60, -71, 80, 79, 56 LEA SI,___FLD___ MOV CX, 8 XOR AX, AX

R1:ADD AX ,_ [SI]____

- 3 -

ADD SI, 2 LOOP R1 MOV CL, 8 IDIV CL HLT

19.MOV AX, 1090H SUB AX, 4AE0H JC L1 JO L2 JMP L3

上述程序执行后AX=___C5BO____,程序转向___L1____ 20.假设寄存器AX=1234H,DX=0A000H MOV BX, 0 MOV CX, BX SUB CX, AX SBB BX, DX MOV AX, CX MOV DX, BX

上述程序段执行后AX=___OEDCCH____ ,DX=__5FFFH_____ 21.MOV AX, 234H MOV CL, 3 ROL AX, CL DEC AX MOV CX, 4 MUL CX

此段程序执行完后,(AX)= __467CH_____ , (CX)= ___4____ 22.DA1 DB 83H,72H,61H,94H,5AH MOV CX,WORD PTR [DA1] AND CX,0FH MOV AL,[DA1+3]

- 4 -

SHL AL,CL

上述指令序列执行后,AL=____OAOH___,CL=___03H____。

23.阅读如下程序片段 MOV AL,4CH MOV BL,86H ADD AL,BL

执行上述程序片段后,(AL)= 0D2H ,(BL)= 86H , CF= 0 ,OF= 0

24.以下程序求出首地址为BUF的M字数组的内容之和。 DATA SEGMENT

BUF DW X1,X2,?,XM COUNT EQU ($一BUF)/2 SUM DW ? DATA ENDS CODE SEGMENT

ASSUME CS:CODE, DS:DATA START:MOV AX, DATA MOV DS, AX

MOV BX,OFFSET BUF MOV CX,COUNT

MOV AX, 0

LOP1:ADD AX, [BX]

ADD BX, 2

LOOP LOP1 MOV SUM,AX MOV AH, 4CH INT 21H CODE ENDS

END START

25.以下程序完成将键盘输入的小写字母转换成大写字母并输出显示,直到输入字符“$”结束。

DATA SEGMENT

ERROR DB “INPUT EXCEEDS ‘a’~‘z’,PLEASE INPUT AGAIN!”,0DH,0AH,‘$’ DATA ENDS CODE SEGMENT

ASSUME CS:CODE, DS:DATA

START: MOV AX, DATA MOV DS, AX NEXT: MOV AH, 1 INT 21H

CMP AL,‘$’ JE EXIT

- 5 -

联系客服:779662525#qq.com(#替换为@) 苏ICP备20003344号-4