汇编语言复习资料
第一部分 选择题
第一章 基础知识
1. 数组array在数据段的定义如下所示,在内存空间的存储值是什么,选出正确的一
项( B )
array db 1,‘1’,0AH,‘A’,-2 A、1H B、1H C、1
D、31H A、a A、q
1H 31H 1
31H
0AH 0AH 0A 41H B、d B、g
0AH 82h 41H FEH 0A 12h 41H 02h
C、e C、t
D、r
D、u
2. debug命令中显示内存单元内容的命令是( B ) 3. debug命令中反汇编命令是(D )
4. 在DEBUG下,修改寄存器AX的命令是___B_。 A.U AX B.R AX C.R D.A AX 5. 从200H开始反汇编的DEBUG命令是A____。
A.U 200 B.R 200 C.D 200 D.U
6. 仅查看用户程序中数据段10号存储单元的DEBUG命令是A____。 A.D DS:A A B.D DS:A C.D DS:10 10 D.D DS:10 7. 计算机编程语言的发展顺序是(A ) A、机器语言 汇编语言 高级语言
B、汇编语言 机器语言 高级语言 D、高级语言 机器语言 汇编语言
C、高级语言 汇编语言 机器语言
8. 将124转换成十六进制数的结果是_A____。 A.7CH B.7DH C.7EH D.7BH
9. 计算机对字符、符号采用统一的二进制编码。其编码采用的是_C_____。
A.BCD码 B.二进制码 C.ASCII D.十六进制码
第二章 80x86计算机组织
10. 对汇编语言源程序进行翻译的程序是__B___。
A.连接程序 B.汇编程序 C.编译程序 D.目标程序 11. 在汇编语言中,能够翻译成二进制代码的指令是__A__。 A.汇编指令 B.伪指令 C.机器指令 D.宏指令
1
12. 将高级语言程序翻译成机器语言代码的实用程序是___A___。 A.编译程序 B.汇编程序 C.解释程序 D.目标程序 13. 下列寄存器中,哪一个不能用来保存偏移地址( A )
A、AX A、BP
B、SI B、SP
C、DI C、SI
D、BX D、DI
D、ES: DI
14. 下列哪个寄存器是用来保存堆栈栈顶元素的地址( B ) 15. 程序流程是由下列那对寄存器组来控制的( C )
A、DS: SI
A、CS
B、SS: SP
C、CS: IP
16. ????用来保存现场状态的寄存器是下列哪一个(C )
B、AX
C、FLAGS
D、IP
17. 在标志寄存器中表示溢出的标志是__C___。
A.AF B.CF C.OF D.SF
18. 某存储单元的物理地址是56789H,可以作为它的段地址有( D )
A.6789H
19. 在数据段偏移地址1000H~1003H的内容为:12H 34H 56H 78H,执行指令
MOV AX , [1002H] 后,AX寄存器的内容为( D )
A、3456H
B、5634H
C、5678H
D、7856H
20. 已知DS=12A0H,ES=22A0H,SS=33A0H,BP=0174H,指令MOV AX,DS:[BP]
源操作数的物理地址是( D )。 A.12A074H
B.22B74H
C.33B74H
D.12B74H
21. 已知(DS)=2000H,(BX)=1002H,(21001H)=12H,(21002H)=34H,(21003H)=56H,
则执行 MOV AX, [BX]之后,AX的值是(B ) A.1002H
B.5634H
C.3456H
D.1234H
22. 两个操作数运算时,下列哪种结果会发生溢出__B__。 A.两个负数相加,结果为负 B.两个正数相加,结果为负 C.一正一负相加,结果为负 D.两个正数相加,结果为正 23. 堆栈段的逻辑地址由___D___组成。
A.DS:BX B.ES:DI C.CS:IP D.SS:SP
B.56789H
C.56780H
D.5678H
188.执行后是BX=0的同时也使CF=0,OF=0的指令是 XOR BX,BX
24. 物理地址的计算公式是 C 。 A.段地址╳10+偏移地址
B.偏移地址╳10+段地址 C.段地址╳10H+偏移地址
2
D.偏移地址╳10H+段地址
25. 在8086系统中,数据寄存器组为__B__。 A.SI、DI、SP、BP B.AX、BX、CX、DX
C.CS、DS、ES、SS D.CF、SF、ZF、OF
第三章 寻址方式和指令系统
26. 指令MOV AX,DS:[1000H],源操作数的寻址方式是_B____。 A.立即寻址 B.直接寻址 C.寄存器寻址 D.基址变址寻址 27. 指令MOV DX,[BP][DI] 源操作数的寻址方式是__D___。
A.立即寻址 B.直接寻址 C.寄存器寻址 D.基址变址寻址
28. 若(AX)=2530H,(BX)=18E6H,MOV [BX],AL指令正确的执行结果为C_____。 A.BX寄存器的值为2530H B.BL寄存器的值为30H C.18E6H单元的值为30H D.18E6H单元的值为2530H
29. 指令MOV AX,COUNT[BX](寄存器相对寻址) 完成的操作是___A___。 A.从存储单元读出一个字送入AX B.从存储单元读出一个字节送入AX C.将AX中的一个字写入存储单元 D.将AX中的一个字节写入存储单元 30. 指令MOV DX,DELTA[BX][Si](相对基址变址寻址)的源操作数保存在__???C_。 A.代码段 B.堆栈段 C.数据段 D.附加段
31. 操作数地址由BX寄存器指出,则它的寻址方式是___D__。Mov ax,[bx] A.直接寻址 B.寄存器寻址 C.立即寻址 D.寄存器间接寻址 32. 一条指令中目的操作数不允许使用的寻址方式是__B___。
A.寄存器寻址 B.立即寻址 C.变址寻址 D.寄存器间接寻址 33. 用直接寻址将AL的内容保存到16号单元,可用__C____指令。
A.MOV DS:[0016H],AL B.MOV AL,DS:[0016H] C.MOV DS:[0010H],AL D.MOV AL,DS:[0010H] 34. 指令MOV BX,-2+1执行后,BX中的内容(16进制)为( B )????
A.0FFFEH B.0FFFFH C.0001H D.8001H
341.有128个字的数据区 起始地址是12ABH:00ABH 请给出这个数据区末尾字的物理地址 :12C59H??
342.基址变址寻址方式中 基址寄存器可以是 BX 或BP 变址寄存器可以是SI或DI 35. 串操作指令中,目的串操作数的段地址一定在(D )寄存器中。 A. CS
A.DX
B. SS B.DL
C. DS
D. ES
D.CL
36. 重复前缀指令rep规定重复次数必定在( C )寄存器中。
C.CX
37. 在LOOP、LOOPE、LOOPNE类指令里隐含的计数器是( C )
A、AX
B、BX
C、CX
3
D、DX
371.循环指令LoopNE\\LoopNZ控制循环继续执行的条件是CX≠0且ZF=0 38. 若AX=3500H,CX=56B8H,当AND AX,CX指令执行后,AX=(B)????
A. 1400H
B. 77F8H
C. 0000H
D. 0FFFFH
381.指令AND AX,OFH 后分离出AL低四位。
382.执行 NEG BX时需要使用段寄存器 DS的指令。 382.指令 JMP FAR PTR DONE 属于段间转移直接寻址。 39. 设AL=0AH,下列指令执行后能使AL=05H的是( A )
A.XOR AL,0FH
B.AND AL,0FH
C.TEST AL,0FH D.OR AL,0FH
40. 数据定义num db 2 dup (3,4,5) / len equ $-num ,其中len为(A )。
A.6 B. 2 C. 3 D. 5 41. 下列程序段执行后LEN的值是( )???? ADDR DB 3,4,5,‘6789’ EADDR DB 1
LEN EQU EADDR - ADDR
A.6H A.字
B.6H
C.7H
D.8H
D.四字
42. DEC BYTE PTR [SI] 指令中的操作数的数据类型是( B )
B. 字节
C. 双字
43. 下面各传送指令中,正确的是( )
A.MOV [DI],[SI]
B.MOV [DX+DI],AL
D.MOV AL, BX
C.MOV WORD PTR [BX],0100H
44. 关于字节乘法指令错误的说法是_C_____。
A.被乘数隐含在AL中 B.乘数和被乘数都是字节型 C.被乘数隐含在AX中 D.乘积是字型
45. 关于字除法错误的说法是__A____。
A.16位被除数AX与8位源操作数相除
B.32位被除数DX、AX与16位源操作数相除 C.商在AX寄存器,余数在DX寄存器中 D.带符号除法的商和余数都是补码表示的数
第四章 指令格式
46. 经过汇编产生的二进制目标文件是__B____。
A..ASM B..OBJ C..EXE D..MAP
47. 汇编语言源程序是指____B__。
A.系统提供的MASM B.用户编写的.asm C.汇编生成的.LST D.连接生成的.EXE
48. 不能用MOV指令赋初值的段寄存器是__C____。
A.DS B.ES C.CS D.SS
49. 在COUNT DB 5这条存储单元定义伪指令中,COUNT称为__B____。
A.助记符 B.变量 C.符号 D.标号
4
50. 将10个字数据3456H存放在存储单元中的伪指令是__B____。
A.DW 10H DUP(3456H) B.DW 10 DUP(3456H) C.DW 10H DUP(5634H) D.DW 10 DUP(5634H)
51. 将字符串“INPUT”保存到存储单元MESS,正确的伪指令是__D____。
A.INPUT DB MESS B.MESS DB INPUT C.INPUT DB “MESS” D.MESS DB“INPUT”
52. _____A_可用来指出一条汇编指令所在存储单元的符号地址。
A.变量 B.数组名 C.标号 D.偏移量
53. 用指令MOV BX,SEG COUNT指令,可以得到存储单元COUNT的__A___。
A.物理地址 B.段地址 C.偏移地址 D.属性
54. SP栈指针内容是1200H,执行两条PUSH指令之后,SP的值为___B__。
A.1202H B.1204H C.11FCH D.11FEH
55. 获得BUFFER单元有效地址的汇编指令为___B__。
A.MOV BX,BUFFER B.LEA BX,BUFFER C.MOV BX, [BUFFER] D.LDS BX,BUFFER
56. 有数据定义LIST DB 21H,36H,18H,39H,执行MOV AX,WORD PTR LIST+2,
则AX=( )。 A.3600H
B.0036H
C.1839H
D.3918H
57. 8086的存储器是分段的,定义一个段的伪指令是( D )。 A.PROC和ENDP
B.NAME和END
C.SEGMENT和ENDS 第五章 循环与分支指令
58. 在分支指令中,利用符号进行判断的指令是__B___。 A.JC B.JS C.JZ D.JO
59. 在执行条件转移指令前,不能形成条件的指令有___C__。 A.CMP B.SUB C.AND D.MOV
60. 在条件转移指令中,结果不为0则转移的指令是__D___。 A.JNS B.JZ C.JS D.JNZ
61. 两个带符号数比较,不大于则转移的指令是___A__。 A.JLE/JNG B.JBE C.JL D.JAE 62. 在条件判断时,采用操作数相与运算的判断指令是_C____。 A.TEST B.CMP C.AND D.JCXZ
63. 将AL的2、6位屏蔽为0,其余位保持不变,指令为__B___。 A.AND AL,42H B.AND AL,0BBH C.OR AL,26H D.ADD AL,0FBH
64. 用户程序中的数据段的段地址(CS),__D___指令给出. Mov cs,ax A.MOV AX,CODE B.MOV CS,CODE MOV CS,AX MOV DS.CS
D.SEGMENT和ASSUME
5