文档视界 最新最全的文档下载
当前位置:文档视界 › 《汇编语言程序设计》期末复习题_百度文库.

《汇编语言程序设计》期末复习题_百度文库.

《汇编语言程序设计》期末复习题_百度文库.
《汇编语言程序设计》期末复习题_百度文库.

一、填空题

1.一个十进制数 35.625其对应的二进制数为 100011.101B 、十六进制数为

23H

2.将 8存放在一个字单元中 , 则该单元中二进制代码是 0008H

3.计算机软件分为两个部分即系统软件和应用软件而汇编程序属于

系统软件 , 汇编语言应用程序属于应用软件

4.把汇编语言源程序翻译成计算机能够识别、执行的目标程序的软件称为汇编程序

5.8086/8088 CPU内部一般用来存放数据的寄存器有 AX BX CX DX

6.8086/8088 CPU内部用来存放段地址寄存器的有 CS DS SS ES

7.逻辑地址由段地址与偏移地址组成

8.一个语句的名字项可以是标号或变量 , 在程序中它们两个在书写形式上的主要区别是

标号以冒号结尾而变量不以冒号结尾

9. 在 PSW 中 , 用以记录当前运算结果特征信息的那些位称为状态标志位 , 一

般是由 CPU

自动设置。

10.存储器单元与物理地址的关系是一一对应 ,在一个逻辑段内 , 每个单元对应

的段地址是相同的 ,而偏移地址是不同的

11.在 I/O接口中 , 为每个可访问的寄存器分配的地址是端口地址

12.用以指示当前堆栈栈顶的指针寄存器是 SP

13.机器指令是一组规定计算机的操作类型及相关操作数的二进制代码

14. 假设执行指令前 BX=5678H, CL=8,指令 ROL BX, CL 执行后 BX 的内容是7856H

15.一条指令的基本结构一般由操作码字段和操作数字段两个部分

组成。

16.8086/8088 存储器地址分段时,每个段起始地址的特征是二进制表示的地址中低四

位都为 0

17.所谓“寻址方式”是指在指令中用以说明操作数所在地址或位置的方法

18.在指令中直接给出操作数的寻址方式称为立即数寻址

19.无符号数和带符号数的两组条件转移指令,每条指令都有完全等效的两个指令助记

符,例如, JL 指令另一个指令助记符是 JNGE

20.8086/8088指令系统中 , 用以描述 (说明寄存器操作数的寻址方式是寄存器寻址方

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

址变址寻址方式

22.CPU执行“ JMP BX”指令只改变 2P 内容 ,而不改变 CS 内容。

23. 每次进行串扫描指令 SCAS 时,要进行递增或递减修改的变址寄存器是 DI

24. 段间间接基址 BX 变址 SI 寻址的无条件转移指令是 JMP DW ORD

PTR(BX+SI

25.使用“ MUL BX”指令时 , 乘数放在 BX 中 , 被乘数放在 AX 中 , 执行该指令

后结果在 DX-AX 中

26. 执行带符号数字节相乘指令 IMUL BL后, CF=1, OF=1意味着乘积的高八位不是

低八位的符号扩展

27.在串操作指令中 , 使地址自动加 1或加 2必须使用指令 CLD 将方向标志 DF 置

源串必须在数据段中 , 而目的串必须在附加段中。

28.若要测试 AL 中操作数的第 0,1,2,7位是否为 0, 根据结果实现条件转移 , 可使用 TEST

AL 87H

指令。

29.8086/8088 CPU允许最大的存储空间为 1MB, 因此 CPU 的地址总线是 20 位

30. 与 LOOP yeqianyi指令功能等效的两条指令依次是 DEC CX 和 JNE

yeqianyi

31.将 AX 寄存器清零的逻辑指令是 AND AX,0 或 XOR AX,AX

32. 在指令语句操作数项上,引用一个段名,就是获取段地址的立即数据

33.执行查表指令 XLAT 时 , 要先将表地址存放在 BX 中 , 将位移量存放在 AL

34.十进制调整指令 DAA 或 AAA 必须放置在 ADD或 ADC 指令之后 , 只对AL 内容进行修正。

35. 假设执行前 AX=7862H,指令 XOR AX, AX 执行后 AX 中的值是 0

36.指令 CBW 只能实现对寄存器 AL 的内容进行扩展 , 而它当中存放的数据应该是一

带符号数。

37.比较两个带符号 A 与 B 的大小 , 若 (OF (SF=0,则 A-B >0

38.变量的类型属性指的是该变量对应存储单元的字节数

39. VAR1 DD 10H DUP(?语句实现留空 40 个字节单元。

40.在源程序中定义一个逻辑段 , 使用 SEGMNT 语句表示一个段的开始 , 用

语句表示一个段的结束。

41.汇编语言源程序中的语句有三种类型 , 它们是宏指令语句 , 指令语句及伪

指令语句

42.ARRAY DB 0, 2 DUP(1, 2 , 0, 3汇编时生成的数据依次是 0,1,2,1,2,0,3 43.在指令语句和伪指令语句中常用符号 $ 表示地址计数器的当前值。

44.指令 MOV AX, SEG BUF的执行,是把 BUF的段地址送到 AX 中。

45. 用 DW 1200H 语句定义的一个字 , 如改用 DB 语句定义时 , 该语句是 DB 00H, 12H

45.如果过程与调用的主程序处在同一代码段 , 这样的过程属性是 NEAR ,与调用

它的主程序处于不同的代码段 , 则该过程属性是 FAR

47.在数据段或代码段中 , 常用伪指令“ ORG n” 来定义本段的偏移地址初值 , 该初值的

范围是 0000H-0FFFFH

48.在存储单元 yeqianyi 开始 , 欲保留 100个字长的存储单元 , 应使用的数据定义伪指令

是 yeqianyi Dw100 Dup(?

49. 在存取一个存储器操作数时,段地址必须由段寄存器提供。

二、选择题

1. 能够将目标模块或子程序连接起来 , 生成可执行文件的系统程序是 2

DEBUG LINK ● MASM ? EDIT

2. 用汇编语言编写的程序称为 2

汇编程序源程序●可执行文件?目标程序

3. 汇编语言源程序文件的扩展名为 4

4. 设 (101 x =(41

16

求 x= 3

6 10 ● 8 ? 2

5. 内存某字节单元中存放的二进制代码为 94H, 若将它看作是一个压缩 BCD 码 , 则其对应的数值为 4

148 -20 ● -108 ? 94

6. 当执行 ADD AX, BX 指令后,若 AX 的内容为 4E52H 时,设置的奇偶标志位PF=0,下面的叙述正确的是 4

①表示结果中含 1的个数是奇数②表示结果中含 1的个数是偶数

③表示该数是奇数④表示结果中低 8位中含 1的个数是奇数 7. 要输入端口1234H 中的 8位数据,其指令应是 2

① MOV DX,1234H ② MOV DX,1234H

OUT DX,AL IN AL,DX

③ IN AX,1234H ④ OUT DX,1234H

8. 下列寄存器组中,在访问存储器操作数地址时,可以提供偏移地址的是 1 ①BP、 BX 、 SI 、 DI ② AX、 BX 、 CX 、 DX

③ SP、 IP ④ BX、 SI 、 DI 、 DS

9. IBM PC机的存储器单元的物理地址是用 2 表示的。

① 5位十进制数② 20位无符号二进制数

③ 4位十六进制数④ 20位带符号二进制数

10. 能够与 SS 寄存器组合形成堆栈区物理地址的寄存器是 2

① BX ② BP ③ IP ④ SI

11. 若 AX=-15要得到 AX=15应执行的指令是 1

① NEG AX ② NOT AX

③ INC AX ④ DEC AX

12. 取指令的物理地址表达式为 4

① (DS×10H+(BX ② (SS×10H+(SP

③ (ES×10H+(SI ④ (CS×10H+(IP

13. 可以作为一个段的起始地址的是 3

① 21002H ② 00104H ③ 01000H ④ F0008H

14. 在标志寄存器 FLAGS 中 , 用以记录当前运算结果是否为零的标志是 4

① CF ② OF ③ SF ④ ZF

15.8086/8088对 I/O端口寻址范围是 3

① 16KB ② 32KB ③ 64KB ④ 1MB

16.8086/8088系统执行传送指令 MOV 时 1

③影响 SF 符号标志④影响 CF 进位标志

17. 设物理地址 (21000H=20H,(21001H=30H,(21002H=40H, 如从地址 21001H 中取出一个字的内容是 4

① 2030H ② 3040H ③ 3020H ④ 4030H

18. 若内存中有 100个字节数据区 , 其首地址为 10210H, 那么其最末一个字节

单元的地址是 3

① 10274H ② 10310H ③ 1021H:0063H ④ 1021H:0064H

19. 假设存储器中从 7462H 单元开始的四个相邻字节单元中的内容依次是 32H , 46H , 52H , OFEH ,则存放字数据 0FE52H 的字地址是 3

① 7462H ② 7463H ③ 7464H ④ 7465H

20. 将 -1存入 AX 中 , 其内容为 1

① FFFFH ② -0001H ③ FFH ④ 8001H

21. 在段内寻址时 , 可以提供偏移地址的寄存器组是 2

① AX,BX,CX,DX ② BX,BP,SI,DI

③ SP,BP,SI,DI ④ DS,ES,CS,SS

22. 将 AX 的内容存入堆栈正确的指令是 3

① MOV [SP],AX ② POP AX

③ PUSH AX ④ MOV SS:[SP],AX

23. MOV AL,79

ADD AL,0B1H

上面指令执行后 , 设置的标志位 CF 和 OF 的值是 4

① CF=0,OF=1 ② CF=1,OF=1

③ CF=0,OF=0 ④ CF=1,OF=0

24. 能够将 BL 的低四位清“ 0”的指令是 1

① AND BL,0F0H ② OR BL,00H

③ OR BL,0F0H ④ AND BL,00H

25. 已知 AX 、 BX 中均为带符号数,当进行字相除时,下面指令或指令序列正确的是 2 ① DIV BX ② CWD

IDIV BX

③ XOR DX,DX ④ CBW

DIV BX IDIV BX

26. 没有语法错误的输入指令是 1

① IN AL, 30H ② IN 30H, AL

③ IN DX, AL ④ IN AL, [BX]

27. 设 (AL=63H (BL=29H 执行下面指令后

DAS

AX的内容是 3

① (AX=0304H ② (AX=0034

③ (AX=0034H ④ (AX=0304

28. 算术右移指令 SAR 和逻辑右移指令 SHR ,两条指令执行结果完全相同的条件是 1 ①目的操作数最高位为 0 ②目的操作数最高位为 1

③目的操作数为任意情况④无论什么情况都不可能完全相同

29. 设 OP1、 OP2是变量 , 下面哪条指令是非法的 2

① CMP AX,OP1 ② CMP OP1,OP2

③ CMP BX,OP2 ④ CMP OP,0FFH

30.在执行十进制调整指令前 , 必须先把需要调整的数送入 1

① AL ② AX ③ DL ④ DX

31. 下列指令中操作数在代码段中的是 1

① MOV EAX,123400FEH ② ADD EBP,EAX

③ SUB [BX],DI ④ INC WORD PTR[BX]

32. 设 AL=0A8H, CL=23H,执行乘法指令 MUL CL后,标志位 OF , CF 的值分别是 1 ① OF=1, CF=1 ② OF=1, CF=0

③ OF=0, CF=1 ④ OF=0, CF=0

33. 设 DF=0, SI=20H, CX=10,执行 REP LODSW指令后, SI 中的内容是 3

① 20H ② 30H ③ 34H ④ 40H

34. 在串操作指令中 , 使用重复操作前缀不正确的是 2

① REP MOVSB ② REP LODSB

③ REP STOSB ④ REPNZ SCASB

35. 设有变量 VAR 和标号 LAB ,不正确的指令是 3

① LEA AX, VAR ② LEA AX, LAB

③ JMP NEAR PTR VAR ④ JMP SHORT LAB

36. 指令 CALL DWORD PTR VALUE 属于 4 寻址方式。

①段内直接调用②段内间接调用

③段间直接调用④段间间接调用

37. 用 REPE SCASB指令对字符串进行扫描,如CX ≠ 0时,扫描结束,那么表示 4

①在字符串中遇上第一个 AL 中指定的字符

②在字符串中有一个 AL 中指定的字符

③在字符串中有一个不是 AL 中指定的字符

④在字符串中遇上第一个不是 AL 中指定的字符

38. 指令 LOOPNE LOP的循环条件是 2

① (ZF=0,(CX=0 ② (ZF=0,(CX≠ 0

③ (ZF=1,(CX=0 ④ (ZF=1,(CX≠ 0

39. 累加器 AX 内的内容为 01H, 执行 CMP AX,01H指令后 ,(AX= 2

① 0H ② 1H ③ -2H ④ 2H

40. 指令执行后可能改变了累加器内容的是 3

① OR AL,00H ② AND AL,0FFH

③ XOR AL,AL ④ TEST AL,0FFH

41. 在指令 PUSH AX的执行过程中 , 要进行 1 操作

① (SP-2 SP ② (SP+1 SP

③ (SP-1 SP ④ (SP+2 SP

42. 设 A 、 B 均为无符号数 , 若A ≥ B 则转向 VALUE 处 , 给出错误的条件转移指令是 4 ① JNB VALUE ② JAE VALUE

③ JNC VALUE ④ JNS VALUE

43. 设 SP 的初值为 1000H ,执行指令 PUSH AX后 SP 的值是 3

① 0FFFH ② 1001H ③ 0FFEH ④ 1002H

44. 下列指令中 , 非法的是 1

① MOV AL,DX ② SHR DX,CL

③ IN AL,DX ④ OUT 02,AL

45. 下列指令执行后对源操作数和目的操作数均无影响的是 4

① MOV [BX+2],AX ② SUB AX,2476H

③ SBB [SI],BX ④ CMP AX,BX

46. 设 AX 中存放的是带符号数 , 对其进行除 8操作 , 能够完成此项功能的指令序列是 4 ① SHR AX,2 ② SAR AX,2

SHR AX,2 SAR AX,1

③ MOV CL,3 ④ MOV CL,3

SHR AX,CL SAR AX,CL

47. 设 AL 中是无符号数 , 试将 AL 内容扩展后送入 BX 中 , 能够完成此项功能的指令序列是 2

① CBW ② MOV AH,0

MOV BX,AX MOV BX,AX

③ MOV AH,0FFH ④ MOV BL,AL

MOV BX,AX MOV BH,AH

48. 若 (AX=1234H,(DX=89ABH,执行 XCHG AX,DX指令后 ,AX 、 DX 中的内容应是 3 ① (AX=1234H (DX=1234H ② (AX=12ABH (DX=8934H

③ (AX=89ABH (DX=1234H ④ (AX=89ABH (DX=89ABH

49.(CF=1时转移到目标地址的条件转移指令是 2

① JNC ② JC ③ JZ ④ JS

50. 汇编语言源程序,可以是 4

①可以直接由机器执行

②必须由编译程序生成目标程序才能执行

③必须由解释程序生成目标程序才能执行

④必须由汇编程序汇编成目标程序才能执行

51. 完成 (BX-(CX AX 的错误指令是 2

① SUB BX,CX ② XCHG AX,CX

MOV AX,BX SUB AX,BX

③ XCHG AX,BX ④ MOV AX,BX

SUB AX,CX SUB AX,CX

52. 下列指令中操作数在代码中的是 2

① MOV AL,[100H] ② MOV AL,00H

③ MOV [20H],AL ④ MOV AL,BL

53. 下列指令中,影响或修改 PSW 内容的指令是 2

① PUSHF ② POPF ③ JCXZ ④ LOOPZ

54. 下列有语法错误的语句是 3

① DB 12H ② DW 4567H

③ DD ‘ ABCD ’ ④ DB ‘ ABCD ’

55.AL 、 BL 中都是无符号数,若 (AL>(BL时,转到 NEXT 处。在执行 CMP AL, BL 指令后应选用的指令是 1

① JNBE NEXT ② JNLE NEXT

③ JBE NEXT ④ JLE NEXT

56. 使状态标志位 CF 清零的错误指令是 4

① CLC ② XOR AX,AX ③ SUB AX,AX ④ MOV CF,0

57. 执行 POP AX 指令正确的 CPU 操作过程是 3

① i(SP+1 SP,((SP AL ② i (SP+1 SP,((SP AH

ii(SP+1 SP,((SP AH ii (SP+1 SP,((SP AL

③ i((SP AL,(SP+1 SP ④ i((SP AH, (SP+1 SP

ii((SP AH,(SP+1 SP ii((SP AL, (SP+1 SP

58. MOV BX, 0FFFEH

NEG BX

NOT BX

上述三条指令执行后, BX 中的内容是 3

① -1 ② -2 ③ -3 ④ -4

59. ORG 200H

BUF DB 12H, 34H

MOV AX, WORD PTR BUF

上述指令语句执行后, AX 中的内容是 1

① 3412H ② 1234H ③ 0200H ④ 0012H

60. 执行 NEG 指令对状态标志位 CF 有影响,其规则是 3

①对正数求补时 ,(CF=0 ②对负数求补时 ,(CF=0

③对非零数求补时 ,(CF=1 ④对零求补时 ,(CF=1

61. 已知 AL 内容为压缩 BCD 码,对它进行加“ 1”操作,其中错误的指令序列是 3

① INC AL ② ADD AL,1

DAA DAA

③ ADC AL,1 ④ STC

DAA ADC AL,0

DAA

62. 设数据段有:DA1 DB XX;是任一数据

DA2 DB 0FEH

则下列两条指令:MOV DL, DA1

OR DL, DA2

执行后, DL 中的内容可能是 1

① 0FFH或 0FEH ②只能是 0FEH

③只能是 0FFH ④只能是 01H

63. DB1 DB 8 DUP(2 DUP(3 , 3 DUP(2

MOV AX, WORD PTR DB1[04H]

上面指令执行后, AX 的内容是 1

① 0302H ② 0203H

③ 0202H ④ 0303H

64. 伪指令 DA1 DB 04H DUP(3 DUP(2 , 2 DUP(3 在数据区中能构成 0203H 操作数共有 3

① 7个② 4个③ 3个④ 2个

65. 设 BUF1和 BUF2均为变量名,操作数部分合法的指令是 4

① ADD AL,BUF1*BUF2 ② ADD AL,BUF1/BUF2

③ ADD AL,BUF1+BUF2 ④ ADD AL,BUF2-BUF1

66.MOV BL,80H

MOV CL,2

SAR BL,CL

上述指令序列执行后,结果是 4

① (BL=40H ② (BL=20H

③ (BL=0C0H ④ (BL=0E0H

67. 已知 (SP=1FFFH,执行下列指令后, (SP= 4

POPF

PUSH AX

① 2000H ② 2002H ③ 1FFCH ④ 1FFFH

68. 设 NUM1 EQU 100

NUM2=64H

下面指令执行后,使 BL 中全为 1的指令是 1

① MOV BL, NUM1 EQ NUM2 ② MOV BL, NUM1 LT NUM2 ③ MOV BL, NUM1 NE NUM2 ④ MOV BL, NUM1 GT NUM2

69. 设 (AL=04H,(BL=0F8H,执行 MUL BL指令后,结果为 1

① (AX=03E0H ② (AX=0FEE0H ③ (AX=0032H ④ (AX=00E0H

70. ORG 100H

NUM EQU 8042H

DA1 DB 56H

MOV BX, OFFSET DA1

上述程序段执行后 BX 中的值是 2

① 56H ② 100H ③ 101H ④ 102H

71. 设 (AL=63H (BL=29H 执行下面指令后

SUB AL,BL

DAS

AX的内容是 3

① (AX=0304H ② (AX=0034

③ (AX=0034H ④ (AX=0304

72. 实现对 AX 中的带符号数除以 2的指令是 2

① IDIV 2 ② SAR AX,1 ③ ROR AX,1 ④ SHR AX,1

73.MOV AL,-1

NEG AL

XOR AL,65

上述程序段执行后, AL 的内容是 1

① 40H ② 64H ③ 01H ④ 61H

74. 设数据段中定义语句

DA1 DB 12H, 34H

DA2 DW 12H, 34H

下面有语法错误的语句是 2

① BUF1 DW DA1 ② MOV DA1+1, AX

③ MOV BYTE PTR DA2+1, AL ④ MOV WORD PTR DA1, AX

75. DA1 DW 2A05H

DA2 DB 0FAH

MOV AL,BYTE PTR DA1

SUB DA2,AL

上述指令执行后, DA2中的内容是 3

① 0DAH ② 0FAH

③ 0F5H ④ 0D0H

76. 在执行 POP [BX]指令,寻找目的操作数时,段地址和偏移地址分别是 1 ①在DS 和 BX 中②在 ES 和 BX 中

③在 SS 和 BX 中④在 CS 和 BX 中

77.MOV AL, 79

ADD AL,0B1H

执行上述指令后,标志位 CF 和 OF 的值是 3

① (CF=0,(OF=0 ② (CF=0,(OF=1

③ (CF=1,(OF=0 ④ (CF=1,(OF=1

78.DA1 EQU WORD PTR DA2

DA2 DB 0ABH, 0CDH

SHL DA1, 1

SHR DA2, 1

上述两条指令执行后, DA2中两字节单元内容分别是 2

① 0ABH, 0CDH ② 2BH, 9BH

③ 4DH, 57H ④ 56H, 9BH

79. TEST VAR,55H

JE ZER0

ZER0:……

上述程序段执行 JE ZER0指令后能够产生分支的条件是 4

① VAR=0 ② VAR=55H

③ VAR中第 1, 3, 5, 7位均为 0 ④ VAR中第 0, 2, 4, 6位均为 0

80. XOR AX,AX

MOV AL,90H

CWD

执行上述指令后,结果为 4

① (DX=0000, (AX=FF90H ② (DX=FFFFH,(AX=0090H

③ (DX=FFFFH,(AX=FF90H ④ (DX=0000, (AX=0090H

81. 在程序采用 DOS 系统功能调用退出用户程序时,在使用 INT 21H指令前,应选用 3 指令

① MOV AX,4CH ② MOV AL,4CH

相关文档