汇编语言程序设计复习参考

更新时间:2024-04-03 23:26:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

汇编复习试题(仅供参考,全盘照抄出错后果自负)

1.

简答题

设A=186,B=273Q,C=0BBH,它们之间的关系是(D)@B=C=187 A.A>B>C B.A

下列指令执行后,能影响标志位的指令是( B ) A.PUSHF@把标志寄存器的内容压入堆栈 B.POPF@把当前堆栈顶的一个字传到标志寄存器 C.JNLE OPR @条件转移指令

D.LOOPE LOP@使寄存器cx-1,如果结果不为0则lop,否则顺序执行后面的。 循环控制指令LOOPNZ/LOOPNE继续执行循环的条件是( B ) A.CX≠0且ZF=1 B.CX≠0且ZF=0 C.CX≠0或ZF=1 D.CX≠0或ZF=0

设VARl和VAR2是已定义的变量名,非法的表达式是( B ) A.VARl-VAR2 B.VAR2-VARl[BX] C.VARl+VAR2 D.VARl[BX] 设NUM=11011011B,指令MOV AX,NUM SHL 3执行后AX中的值是( A ) A.11011011000B B.1l011000B C.00011011B D.00011011011B 8088/8086存储器分段,每个段不超过( ) A.64K个字 B.32K个字节 C.64K个字节 D.1兆个字节 若AX=-15要得到AX=15应执行的指令是( ) A.NEG AX B.NOT AX C.INC AX D.DEC AX

8086/8088系统执行传送指令MOV( A ) A.不影响标志位 B.影响DF方向标志 C.影响SF符号标志 D.影响CF进位标志 下列指令中操作数在代码段中的是( A ) A.MOV AL,42H B.ADD AL,BL C.SUB [BX],DI D.INC [DI] 表示过程定义结束的伪指令是( A ) A.ENDP B.ENDS@段结束 C.END@源程序结束 D.ENDM 条件转换指令JNBE产生转换的条件是( A ) A.CF=0 AND ZF=0 B.CF=0 AND ZF=1 C.CF=1 AND ZF=0 D.CF=1 AND ZF=l

设(SS)=338AH,(SP)=450H,执行PUSH BX,和PUSHF两条指令后,堆栈顶部的物理地址是( A )

2.

3. 4.

5.

6.

7.

8.

9.

10.

11.

12.

13.

14.

15.

16.

17.

18.

19.

20.

21.

22.

23.

24.

25.

A.33CECH B.33CF2H C.33CF4H D.33CE8H

要输入端口1234H中的8位数据,其指令应是( B ) A.MOV DX,1234H B.MOV DX,1234H OUT DX,AL IN AL,DX C.IN AX,1234H D.OUT DX,1234H

标志寄存器中属于控制标志位的是( B )@其余6个为状态标志位 A.DF,OF,SF B.DF,IF,TF C.OF,CF,PF D.AF,OF,SF

用一条指令实现将寄存器BX和SI中的内容相加,结果送入AX中,这条指令是( D )

A.ADD AX,[SI][BX] B.MOV AX,[BX+SI] C.AND AX,[BX+SI] D.LEA AX,[BX][SI]

已知AX,BX中均为带符号数,当进行字相除时,下面指令或指令序列正确的是( B ) A.DIV BX B.CWD

IDIV BX

C.XOR DX,DX D.CBW

DIV BX IDIV BX 下列有语法错误的语句是( A ) A.DB 1234H B.DW 4567H C.DD ′AB′,′CD′ D.DB ′ABCD′

下列寄存器组中在存储器操作数寻址时可用于提供偏移地址的是( B ) A.AX,BX,CX,DX B.SP,BP,SI,DI C.CS,ES,DS,SS D.BX,BP,SI,DI

某存储单元的段地址是0AB90H,偏移地址是1234H,该存储单元的物理地址是( B )@AB900+1234 A.0BDC4H B.0ACB34H C.0AD134H D.1CED0H

执行NEG指令时,要设置标志位CF。设置CF的正确说法是( C ) @NEG 0时,CF=0,否则为1 A.对正数求补时,CF置0 B.对负数求补时,CF置0

C.对全0数据求补时,CF置0 D.对非零数据求补时,CF置0

设DF=1,每次执行CMPSW指令时,SI和DI均要分别( D ) A.减1 B.减2 C.加1 D.加2

要使BL中的低四位变反,高四位不变,应执行指令(D ) A.NOT BL B.OR BL,0FH C.AND BL,0FH D.XOR BL,0FH

设(AL)=07H,要使(AL)=-07H应执行的指令是( B ) A.OR AL,80H B.NOT AL C.NEG AL D.ADD AL,80H

在8086/8088的立即数寻址方式中,下列说法正确的是( D ) A.使用AX,BX,CX,DX B.使用SI,DI,BP,SP

C.使用任一个通用寄存器 D.不使用任何寄存器 26. 下列指令执行时操作数在数据段的是( D )

A.MOV AX,32768H B.ADD AL,AH C.NEG BX D.INC [DI] 27. 下述指令执行后,AL的值是( A )

MOV AL,-1 NEG AL

XOR AL,65 A.01H B.40H C.61H D.64H

28. 设SP=4AH,执行段内返回指令RET 4后,SP的值是( D )

A.44H B.48H C.4CH D.50H

29. 在查错程序DEBUG中,为查看或修改内存单元的内容使用的是(A) @偏移地址

A.逻辑地址 B.物理地址 C.逻辑地址或物理地址 D.由用户指定选择逻辑地址或物理地址 30. 设NUM=60H,表达式:

(NUM LT 60H AND 30)OR(NUM GE 60H AND 40)的值是(A ) A.0 B.3EH C.40 D.0FFFFH

31. 指令MOV CL,55H XOR 0F0H执行后CL中的值是( C )

A.05H B.50H C.0A5H D.0F5H

32. 下面语句中能和指令MOV AX,NOT 0FH等效的是( C )

A.MOV AX,0FFFFH B.MOV AX,0FH C.MOV AX,0FFF0H D.MOV AX,0F0FFH 33. 对CS段寄存器赋段地址的方法是( A )

A.MOV AX,CODE B.ASSUME CS:CODE MOV CS,AX

C.END 起始地址 D.MOV CS,2050H 34. 有数据定义BUF DB 8DUP(3 DUP(2),2 DUP(3)),在BUF中能构成数据0302H

有( C ) A.5个 B.6个 C.7个 D.8个 35. 下面指令执行后BX的内容是( D )

X DW 1234H,0A9BH Y DB 7EH,8DH ┇

MOV BH,TYPE X MOV BL,TYPE Y A.0102H B.0101H C.1234H D.0201H

36. 下面有语法错误的指令是( B )@不包括段寄存器cs,不能同时是存储单元,不

能有立即数

37.

38.

39.

40.

41.

42.

43.

44. (

45.

46.

47.

A.XCHG AX,[BX] B.XCHG AX,DS C.XCHG AX,SI D.XCHG AX,BP 条件转移指令JBE产生转移的条件是( D ) A.CF=0 OR ZF=0 B.CF=0 OR ZF=1 C.CF=1 OR ZF=0 D.CF=1 OR ZF=1 下述程序段产生分支的条件是( A )@异或:相同为0,相异为1,执行后CF=0,OF=0。JZ转移条件:ZF=1 XOR AX, 426H JZ DONE

A.执行前AX=426H B.执行前AX≠426H C.执行前AX=全0 D.执行前AX=全1 CPU要访问的某一存储单元的实际地址称( C ) A.段地址 B.偏移地址 C.物理地址 D.逻辑地址

某存储单元的物理地址是12345H,可以作为它的段地址有( D ) A.2345H B.12345H C.12340H D.1234H 执行后使BX=0的同时也使CF=0,OF=0的指令是( A ) A.XOR BX,BX B.OR BX,BX C.AND BX,BX D.CMP BX,BX

AND,OR,XOR,NOT为四条逻辑运算指令,下面的解释正确的是( C ) A.指令XOR AX,AX执行后,AX内容不变,但设置了标志位

B.指令OR DX,1000H执行后,将DX最高位置1,其余各位置0 @高四位 C.指令AND AX,0FH执行后,分离出AL低四位 D.NOT AX,执行后,将AX清0 @取反

在执行下列指令时,需要使用段寄存器DS的指令是( D ) A.STOSW B.ADD AL,CL C.NEG BX D.INC DA[BX]

无论BH中原有的数是奇数或偶数,若要使BH中的数一定为奇数,应执行的指令是 B )

A.ADD BH,01H B.OR BH,01H C.XOR BH,01H D.TEST BH,01H

完成对CL寄存器的内容乘以4的正确操作是( A ) A.ROL CL,1 B.MUL 4 ROL CL,1 C.SHL CL,1 D.MOV CL,2 SHL CL,1 SHL CL,CL 下面各传送指令中,正确的是(A)

A.MOV [DI],[SI] B.MOV[DX+DI],AL C.MOV WORD PTR [BX],0100H D.MOV AL,BX

汇编语言语句格式中对名字项的规定如下,请找出其中错误的说法( B ) A.名字的第一个字符可以是大写英文字母及小写英文字母

B.名字的第一个字符可以是字母、数字及?、@ @不能以数字开头

C.名字的有效长度≤31个字符 D.在名字中不允许出现$

48. 要实现使BETA的值为56,应采用语句为( C )

A.BETA DB 56 B.BETA DB 56H C.BETA EQU 56 D.BETA EQU 56H

49. REPZ CMPSW指令,重复执行的终止条件是( A )

A.CX=0或ZF=0 B.CX=0且ZF=0 C.CX=0或ZF=1 D.CX=0且ZF=1 50. 下面程序段执行后,AL中的内容是(B )

MOV AX,8833H ADD AL,AH DAA A.21 B.21H C.0C1H D.0DDH

51. 比较两个带符号的数A、B,当A=B时程序转移,测试的条件为( A )

A.ZF=1 B.ZF=0 C.SF=1 D.SF=0

52. 检查二个无符号数的关系,若要实现AL≥BL时分支去LOP1处,那么在“CMP AL,

BL”指令后应跟的分支指令是( A ) A.JNC LOP1 B.JA LOP1 C.JC LOP1 D.JGE LOP1

53. 在下列串操作指令中,同时使用源串和目的串地址指针的指令是( D )

A.STOSW B.LODSW C.SCASW D.CMPSW 54. 设AL=0AH,下列指令执行后能使AL=05H的是( A )

A.NOT AL B.AND AL,0FH C.XOR AL,0FH D.OR AL,0FH

55. 已有数据定义及指令如下,指令执行后AX中的内容是( A )

DA1 DW‘AB’,‘CD’,‘EF’,‘GH’ ┇ MOV AX,DA1+3

A.‘EF’ B.‘CD’ C.‘BC’ D.‘FC’

56. 使用DOS系统功能调用时,使用的软中断指令是( D )

A.INT 21 B.INT 10H C.INT 16H D.INT 21H 57. 为在一连续的存储单元中,依次存放数据41H,42H,43H,44H,45H,46H,可选用

的数据定义语句是( B ) A.DB 41,42,43,44,45,46 B.DW 4142H,4344H,4546H C.DW ‘AB’,‘CD’,‘EF’ D.DW ‘BA’,‘DC’,‘FE’

58. 在同一程序段中,定义下面伪指令,正确的是( D )

59.

60.

61.

62.

63.

64.

65.

66.

67.

68.

A.PORT EQU AL B.CONT EQU 3500H AND OFFH PORT EQU 2000H C.STRl DD ‘ABCD’ D.STR2 DW ‘ABCD’ 下述语句执行后AX中的值是( C ) DA2 DB ‘AB’,‘CD’ ┇

MOV AX,WORD PTR DA2+1 A.‘AD’ B.‘BC’ C.‘DA’ D.‘CB’

下列数据定义语句中可实现留空20H个字节存储单元的是( D ) A.DB 20 DUP(?) B.DW 20H DUP(?) C.DB 10H DUP(4 DUP(?)) D.DD 08H DUP(?) 为使ADR1+2字存储单元中内容为0030H,下述方框中应选用的语句是( D ) DATA SEGMENT

VAR1 DB 12H,34H VAR2 DB 10H DUP(O) ADR1 DW VAR1,VAR2 DATA ENDS A.ORG 30H B.DB 2EH DUP(0) C.DB 30H DUP(0) D.ORG $+30H 如某存储器分段时,表示偏移地址是17位二进制代码,那么一个段最多的存储单元数是( B ) A.32K字节 B.32K字 C.64K字节 D.64K字

下列寄存器中用来指示堆栈中任意数据区的偏移地址的是( B ) A.BX B.BP C.SI D.DI 下列指令中有语法错误的是( C ) A.PUSH AX B.PUSH [20H+SI+BX] C.POP CS D.PUSH CS 下面有语法错误的指令是( A ) A.LDS BL,VAR[SI] B.LEA BX,VAR[SI] C.LES DI,VAR[BX] D.LEA DI,VAR[BP]

执行PUSH BP指令时,目的操作数的物理地址表达式是( D ) A.16*SS+BP B.16*DS+BP C.16*CS+IP D.16*SS+SP 把BL中的数据输出到端口8CH中正确指令是( C ) A.OUT 8CH,BL B.IN 8CH,BL C.MOV AL,BL D.MOV AL,BL OUT 8CH,AL IN 8CH,AL

结果为零的条件转移指令,其测试条件是( A ) A.ZF=1 B.ZF=0

C.SF=l D.SF=0

69. 下面程序段完成测试DA-BYTE字节单元中数是否为负数,若是则将全l送DH中,否

则全0送DH中,那么程序段中方框里应填的语句是 MOV CH,0

TEST DA-BYTE,80H MOV CH,0FFH ZERO:MOV DH,CH( B ) A.JNZ ZERO B.JS ZERO C.JZ ZERO D.JC ZERO

汇编源程序时,出现语法错误的语句是( C ) A.MOV [BX+SI],BX B.MOV CL,[BP+DI] C.MOV CS,AX D.MOV DS,AX

设SP初值为3050H,执行指令PUSH BX后,SP的值是( B ) A.304FH B.304EH C.3048H D.3049H 下列指令执行后影响CF值的是( D ) A.DEC B.XCHG C.LEA D.SHL

串操作指令中,每次操作后使SI/DI为减量应设置( C ) A.DF=0 B.TF=1 C.DF=1 D.TF=0

设AL=57H,BL=24H,执行指令SUB AL,BL后,寄存器内容为( B ) A.AL=57H,BL=24H B.AL=33H,BL=24H C.AL=57H,BL=33H D.AL=33H,BL=0

设CL=8,AL=0C8H,执行SAR AL,CL后,AL中的数据是( C ) A.0FFH B.80H C.00H D.0FEH

已知BX=028AH,SI=0294H,(DS:051EH)=5432H。执行语句LEA BX,[BX+SI]后,BX中的内容是( C ) A.051EH B.5423H C.1E05H D.3254H

已知某操作数的物理地址是2117AH,则它的段地址和偏移地址可能是( A )。 A.2025∶0F2A B.2108∶00EA C.2000∶017A D.2100∶117A

某程序装入内存后,DS=1200H,CS=1400H,则程序中数据段中的数据最多是( C )字节。 A.2K B.4K C.8K D.16K

以寄存器DI间接寻址的存储器字节单元内容加1的指令是( C )。 A.INC [DI] B.INC DI C.INC BYTE PTR[DI] D.ADD [DI],1

有语句:COUNT EQU 256,下列四种叙述中,正确的是( C )。 A.COUNT是变量 B.COUNT占用一个字节存储单元

70.

71.

72.

73.

74.

75.

76.

77.

78.

79.

80.

C.COUNT是符号常数 D.COUNT占用二个字节存储单元 81. 下面指令中,源操作数的寻址方式为立即寻址的是( A )。

A.MOV AX,OFFSET A B.MOV AX,A C.MOV AX,A+1 D.MOV AX,A[BX] 82. 已知SP=2110H,执行POP AX后,SP寄存器的值是( B)。

A.2111H B.2112H C.210FH D.210EH

83. 将AX中有符号数除以2的正确指令是( B )。

A.SHR AX,1 B.SAR AX,1 C.ROR AX,1 D.RCR AX,1

84. 比较BX和SI中的两个存储器地址,若BX≥SI转向HIGH的正确指令是( A )。

A.JAE HIGH B.JBE HIGH C.JEG HIGH D.JLE HIGH

85. 指令SCASB操作数的段地址一定在( B )寄存器中。

A.CS B.DS C.ES D.SS

86. 有数据定义语句BUF DW 0ABH,1,10 DUP(3 DUP(1,0),2)汇编后,为变量BUF分

配的存储单元字节数是( C )。 A.48H B.90H C.120 D.60

87. 下列指令执行后,不改变AL寄存器内容的指令是( B )。

A.AND AL,1 B.CMP AL,DL C.XOR AL,AL D.SUB AL,DL

88. 执行1号DOS系统功能调用,从键盘输入的字符值存放在( A )寄存器中。

A.AL B.BL C.CL D.DL 89. 执行下面指令语句,则AX=(C )。

MOV AL,95H CBW A.0095H B.0F95H C.0FF95H D.9095H

90. 将DX,AX中32位数左移一位的指令序列是( A )。

A.SHL AX,1 B. RCL AX,1 RCL DX,1 SHL DX,1 C.SHL AX,1 D.RCL AX,1 SHL DX,1 RCL DX,1 91. 将CX寄存器低4位清零的正确指令是( B )。

A.AND CX,0F0H B.AND CX,0FFF0H C.AND CX,1110H D.MOV CX,0 92. 判断AX和BX是否同时为偶数或同时为奇数。若是转YES的正确指令序列是( B)。

A.OR AX,BX B.XOR AX,BX AND AX,1 AND AX,1 JE YES JE YES C.CMP AX,BX D.SUB AX,BX

AND AX,1 AND AX,1 JE YES JE YES

93. 当执行ADD AX,BX指令后,若AX的内容为4E52H时,设置的奇偶标志位PF=0,

下面的叙述正确的是( D )

A.表示结果中含1的个数是奇数 B.表示结果中含1的个数是偶数

C.表示该数是奇数 D.表示结果中低8位中含1的个数是奇数 94. 设物理地址(21000H)=20H,(21001H)=30H,(21002H)=40H。如从地址21001H中取出一

个字的内容是( D ) A.2030H B.3040H C.3020H D.4030H 95. 转移指令JMP NEAR PTR PROCA的转移范围是( A )

A.8000H~7FFFH B.7FFFH~0FFFH C.80H~7FH D.0FH~7FH 96. 设CF=1,实现AL内容乘2的指令是( C )

A.RCL AL,1 B.SAR AL,1 C.SHL AL,1 D.ROR AL,1

97. 算术右移指令SAR和逻辑右移指令SHR,两条指令执行结果完全相同的条件是

( A )

A.目的操作数最高位为0 B.目的操作数最高位为1

C.目的操作数为任意情况 D.无论什么情况都不可能完全相同 98. 没有语法错误的输入指令是( A )

A.IN AL,30H B.IN 30H,AL C.IN DX,AL D.IN AL,[BX] 99. 与LEA BX,BUF指令完全等效的指令是( C )

A.MOV BX, BUF B.LDS BX,BUF C.MOV BX,OFFSET BUF D.MOV BX,WOKD PTR BUF 100. 设有变量VAR和标号LAB,不正确的指令是( C )

A.LEA AX,VAR B.LEA AX,LAB C.JMP NEAR PTR VAR D.JMP SHORT LAB

101. 设SP的初值为1000H,执行指令PUSH AX后SP的值是( C )

A.0FFFH B.1001H C.0FFEH D.1002H

102. 下列指令执行后既能使AX=0同时又使CF=0,OF=0的是( A )

A.XOR AX,AX B.AND AX,AX C.OR AX,AX D.TEST AX,0

103. 在指令的操作数字段中,允许出现表达式,若BUF1与BUF2均为变量名,下面指令中

正确的是( D )

A.MOV DX,BUF1*BUF2 B.MOV DX,BUF1/BUF2

C.MOV DX,(BUF1*BUF2)-BUF1

D.MOV DX,BUF2-BUF1 104. 汇编语言源程序,可以是( D )

A.可以直接由机器执行 B.必须由编译程序生成目标程序才能执行 C.必须由解释程序生成目标程序才能执行 D.必须由汇编程序汇编成目标程序才能执行 105. 下述指令语句执行后AX中的内容是( A )

ORG 200H

BUF DB 12H,34H ?

MOV AX, WORD PTR BUF

A.3412H B.1234H C.0200H D.0012H

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

A.07个 B.04个 C.03个 D.02个 107. 设NUM1 EQU 100,NUM2= 64H,下面指令执行后,使BL中为全1的指令是( A )

A.MOV BL,NUM1 EQ NUM2 B.MOV BL,NUM1 LT NUM2

C.MOV BL,NUM1 NE NUM2 D.MOV BL,NUM1 GT NUM2

108. 设非压缩BCD码(AL)=09H,(BL)=04H在执行SUB AL,BL指令后应选的校正指令是 ( B )

A.DAA B.AAS C.DAS D.AAA

109. 设AX=9ABCH,DX=8765H,下述4条指令执行后,AX,DX中内容分别是( D ) PUSH AX PUSH DX POP AX POP DX

A.AX=9ABCH DX=8765H B.AX=9ABCH DX=9ABCH

C.AX=8765H DX=8765H D.AX=8765H DX=9ABCH

110. 下述两条指令执行后,DA2中两字节单元内容分别是( B )

DA1 EQU WORD PTR DA2 DA2 DB OABH,OCDH ?

SHL DA1,1 SHR DA2,1

A.0ABH,0CDH B.2BH,9BH C.4DH,57H D.56H,9BH

111. 无条件转移指令JMP实现段间间接转移,转移的目标地址在( B )

A.某个字存储单元中 B.某个双字存储单元中 C.某个16位通用寄存器中 D.两个16位通用寄存器中

112. 假设存储器中从7462H单元开始的四个相邻字节单元中的内容依次是32H,46H,52H,

OFEH,则存放字数据OFE52H的字地址是( C ) A.7462H B.7463H C.7464H D.7465H

113. 当堆栈为空时,如SS=0805H,SP=40H,栈底字单元的物理地址是( A )

A.08090H B.08089H C.0808EH D.08450H

114. 设ADRT=100H,不符合语法规则的语句是( D )

A.MOV AX,ADRT B.MOV AX,[ADRT+SI] C.MOV [ADRT],AX D.MOV ADRT[SI],AX 115. 下面XCHG指令语句中,语法正确的是( B )

A.XCHG AX,DS B.XCHG BL,[BX] C.XCHG AL,0FH D.XCHG[SI],[DI] 116. 设(AL)=63H (BL)=29H执行下面指令后( C )

SUB AL,BL DAS

AX的内容是

A.(AX)=0304H B.(AX)=0034 C.(AX)=0034H D.(AX)=0304

117. 设BX=1234H,DS=2000H,(21234H)=5678H,则指令“LEA SI,[BX]”执行后的结果是 ( A )

A.SI=5678H B.SI=1234H C.SI=2000H D.SI=3234H

118. 设DF=0,SI=20H,CX=10,执行REP LODSW指令后,SI中的内容是( D )

A.20H B.30H C.34H D.40H 119. 设AL=0A8H,CL=23H,执行乘法指令MUL CL后,标志位OF,CF的值分别是( A )

A.OF=1,CF=1 B.OF=1,CF=0 C.OF=0,CF=1 D.OF=0,CF=0 120. 下述三条指令执行后,BX中的内容是( A )

MOV BX,0FFFEH NEG BX NOT BX A.-1 B.-2 C.-3 D.-4 121. 设数据段有:DA1 DB XX ;是任一数据

DA2 DB OFEH

下列两条指令:MOV DL, DA1 OR DL,DA2

执行后,DL中的内容可能是( A ) A.0FFH或0FEH B.只能是0FEH C.只能是0FFH D.只能是01H

122. NUM1=200

NUM2=0C8H ?

MOV AL,NUM1 XOR NUM2

上述语句执行后AL中的值是( C ) A.200 B.0C8H C.0 D.0FFH 123. ORG 100H

NUM EQU 8042H DA1 DB 56H ?

MOV BX,0FFSET DA1

上述程序段执行后BX中的值是(B ) A.56H B.100H C.101H D.102H 124. 设数据段中定义语句

DA1 DB 12H,34H DA2 DW 12H,34H

下面有语法错误的语句是( B ) A.BUF1 DW DA1 B.MOV DA1+1,AX C.MOV BYTE PTR DA2+1,AL D.MOV WORD PTR DA1,AX 125. 在同一程序段中,定义下面伪指令,错误的是( D )

A.PORT1 EQU AL B.PORT2=AL C.PORT2=2A50H AND 0FFH D.PORT3 EQU 2A50H PORT3 EQU 2A50H AND 0FFH 126. X DB 20H DUP(0)

Y DW ‘7A’,‘8B’ ?

MOV CH,LENGTH Y MOV CL, LENGTH X

执行上述指令后,CX中的内容是 ( A ) A.0120H B.2010H C.207AH D.7A20H

127. 执行SUB AX,[BP][DI]指令,取源操作数时,使用的物理地址表达式是(A )

A.16*SS+BP+DI B.16*ES+BP+DI C.16*DS+BP+DI D.16*CS+BP+DI 128. 指令MOV BYTE PTR[BX+SI],0目的操作数的寻址方式是( D )。

A.立即寻址 B.寄存器寻址 C.寄存器间接寻址 D.基址变址寻址 129. 已知DS=12A0H,ES=22A0H,SS=33A0H,BP=0174H,指令MOV AX,DS:[BP]源

操作数的物理地址是( D )。 A.12A074H B.22B74H C.33B74H D.12B74H 130. 某数组共有4个字,第一个字的物理地址是1F100H,则第4个字的物理地址是

( D )。 A.1F105H B.1F106H C.1F107H D.1F108H 131. 循环指令Loop规定循环次数必定在( C )寄存器中。

A.DX B.DL C.CX D.CL

132. 指令LODSB操作数的段地址一定在( B )寄存器中。

A.CS B.DS C.ES D.SS

133. 有数据定义LIST DB 45H,36H,18H,76H,执行MOV AX,WORD PTR LIST+2,则

AX=( D )。 A.3600H B.0036H C.1876H D.7618H 134. 下列数据定义语句错误的是( C )。

A.ERR DW ‘ERROR!’ B.BUF DB 9 DUP(?) C.FLAG DB 1 D.DAT1 DW ? 135. 8086的存储器是分段的,定义一个段的伪指令是( C )。

A.PROC和ENDP B.NAME和END C.SEGMENT和ENDS D.SEGMENT和ASSUME 136. 已知AX=1200H,能使CF置’1’的指令是( D )。

A.OR AX,AX B.NEG AX C.NOT AX D.DEC AL

137. 已知SP=12EH,执行段间返回指令RET后,SP的值是( D )。

A.12AH B.12CH C.130H D.132H 138. 已知AX=0139H,BL=36H,执行下列指令序列,则AX=( A )。

ADD AL,BL AAA A.016FH B.0175H C.0205H D.0115H

139. 将AX中有符号数除以4的正确指令序列是( B )。

A.SHR AX,1 B.SAR AX,1 SHR AX,1 SAR AX,1 C.IDIV 4 D.DIV 4

140. 已知CS=2300H,DS=2400H,执行下列指令序列后,CS和DS值是( B )。

PUSH CS POP DS A.CS=0 B.CS=2400H DS=2300H DS=2300H C.CS=2400H D.CS=2300H DS=2400H DS=2300H

141. 用转移表法的多分支程序设计,分支表是建在( C )中。

A.代码段 B.数据段 C.附加段 D.堆栈段

142. 扩展名是EXE的汇编语言可执行程序用DOS功能调用返回操作系统指令是( B )。

A.MOV AX,4CH B.MOV AX,4C00H C.MOV AL,4CH D.MOV AH,2CH

143. 串比较指令REPE CMPSB重复比较执行的条件是( B )。

A.CX≠0 并且 ZF=0 B.CX≠0 并且 ZF=1 C.CX≠0 或者 ZF=0 D.CX≠0 或者 ZF=1 144. 用REPE SCASB指令对字符串进行扫描,如CX?0时,扫描结束,那么表示( D )

A.在字符串中遇上第一个AL中指定的字符 B.在字符串中有一个AL中指定的字符 C.在字符串中有一个不是AL中指定的字符

D.在字符串中遇上第一个不是AL中指令的字符

145. 下列指令执行后对源和目的操作数均无影响的是( D )

A.MOV [BX+2],AX B.SUB AX,2467H C.SBB [SI],BX D.CMP AX,BX 146. 表示宏定义结束的伪指令是( D )

A.ENDP B.ENDS C.END D.ENDM 147. 下列有语法错误的语句是( C )

A.DB 12H B.DW 4567H C.DD ˋBCDˊ D.DB ˋCDˊ 148. 下面指令执行后,AX的内容是( A )

DB1 DB 8 DUP(2 DUP(3),3 DUP(2)) ┇ MOV AX,WORD PTR DB1 [04H] A.0302H B.0203H

C.0202H D.0303H 149. 符号COUNT等价的值是( B )

BUF1 DB 3 DUP(0,2 DUP (1,2),3) COUNT EQU $ -BUF1 A.6 B.18 C.16 D.8

150. 下述指令执行后,DA2中的内容是( C )

DA1 DW 2A05H DA2 DB 0FAH ┇ MOV AL,BYTE PTR DA1

SUB DA2,AL A.0DAH B.0FAH

C.0F5H D.0D0H 151. 设(SS)=338AH,(SP)=450H,执行PUSH BX,和PUSHF两条指令后,堆栈顶部

的物理地址是( A ) A.33CECH B.33CF2H C.33CF4H D.33CE8H

152. 设(SP)=0028H,执行段内返回指令RET 6后,SP的内容是(C )

A.0036H B.0022H C.0030H D.0020H

153. 设DL=55H,执行指令后能使DL中的数据为OAAH的指令是( D ) A.TEST DL, 0AAH B.OR DL, 0AAH C.NEG DL D.XOR DL, 0FFH 154. 当SS=9876H, SP=4328H,执行POPF指令后,堆栈顶部的物理地址是( A) A.9CA8AH B.9CA90H

C.9CA86H D.0DB00H

155. 下述定义的数据单元中,能构成0303H字存储单元的个数是(D )

DW 10H DUP (2 DUP(3),300H) A.10H B.20H

C.1EH D.OFH 156. 设AX中有一带符号数8520H,执行SAR AX,1指令后,AX中的值是( A.4290H B.0A40H

C.0C290H D.0C260H

157. 下列中指令执行后,能影响标志位的指令是( B ) A.PUSHF B.POPF

C.JNLE OPR D.LOOPZ LOP 158. 下面两个传送指令语句中源操作数寻址方式是( C ) VAR1 DW 32H VAR2 EQU 32H ┇

MOV AX,VAR1 MOV BX,VAR2 A.都是立即数寻址

B.前一条指令是立即数寻址,后一条指令是直接寻址 C.前一条指令是直接寻址,后一条指令是立即数寻址 D.都是直接寻址

159. 设变量ARRAY的偏移量是0084H,下述指令执行后AX中的内容是( B ARRAY DW 6, 9, $+4, 10H, 1,$+4 ┇

MOV AX, ARRAY+4 A.0009 B.008CH C.0090H D.0010H 160. 设AX=0CCBBH, CF=1 AND AX, 7FFEH RCR AX, 1

上述两条指令执行后,AX和CF中的内容分别是( C ) A.AX=265DH,CF=0 B.AX=265DH,CF=1 C.AX=A65DH, CF=0 D.AX=A65DH, CF=1 161. DA_B EQU BYTE PTR DA_W

DA_W DW ‘AB’ ‘CD’,‘EF'’,‘GH’ ┇

MOV BX,DA_W+3

C )

MOV BH,DA_B+3

执行上述两条指令后,BX中的内容是( B ) A.‘EF’ B.‘FC’

C.‘CC’ D.‘FF’ 162. 指令语句中标号的错误定义是( C )

A.在供码段中的名字项定义,后面紧跟冒号

B.用EQU伪指令定义

C.用LABEL伪指令定义 D.由“JMP标号”指令定义

163. 下述程序段执行的结果是( A ) XOR AX,AX MOV CX,5

NEXT:ADD AL,6 AAA

LOOP NEXT

A.AX=0030H B.AX=0300H

C.AX=30 D.AX=001EH 164. 如某循环程序是对两个数组进行某种运算处理,当数组处理完毕或运算处理的结果不为

某一指定值时(每次循环时,对运算结果已进行了测试),就结束循环。如要求一定使用循环控制指令,这时应选用的指令是(C ) A.LOOP B.LOOPE/LOOPZ

C.LOOPNE/LOOPNZ D.JCXZ 165. CPU发出的访问存储器的地址是( A ) A.物理地址 B.偏移地址 C.逻辑地址 D.段地址

166. 将高级语言的程序翻译成机器码程序的实用程序是( A ) A.编译程序 B.汇编程序 C.解释程序 D.目标程序

167. DEC BYTE PTR[BX]指令中的操作数的数据类型是( C ) A.字 B.双字

C.字节 D.四字 168. 在下列语句中,BUFFER称为( B ) BUFFER DB 01H,0AH A.符号 B.变量

C.助记符 D.标号

169. 串操作指令中,源串操作数的段地址一定在( C )寄存器中。 A. CS B. SS

C. DS D. ES 170. 使计算机执行某种操作的命令是( B ) A.伪指令 B.指令

C.标号 D.助记符

171. 将数据5618H存放在存储单元中的伪指令是( B ) A. DATA1 DW 1856H B. DATA1 DB 18H,56H C. DATA1 EQU 5618H

D. DATA1 DB 18H,00H,56H,00H

172. 若AX=3500H,CX=56B8H,当AND AX,CX指令执行后,AX=( A ) A. 1400H B. 77F8H

C. 0000H D. 0FFFFH

173. 计算机处理问题中会碰到大量的字符、符号,对此必须采用统一的二进制编码。目前,

微机中普遍采用的是( C )码。 A. BCD码 B.二进制码

C.ASCII码 D.十六进制码

174. 用指令的助记符、符号地址、标号和伪指令、宏指令以及规定的格式书写程序的语言称

为( A ) A.汇编语言 B.高级语言 C.机器语言 D.低级语言

175. 用DEBUG调试汇编语言程序时,显示某指令的地址是2F80:F400,此时段寄存器CS

的值是( B ) A.F400H B.2F80H C.F4000H D.2F800H 176. 设DS=1100H,(12000H)=80H,(12001H)=20H,(12002H)=30H,执行MOV AX, [1000H]

则AX=( C )

A.8000H B.0080H C.2080H D.8020H 177. 下列四条指令中错误的是( D )

A.MOV AX, [SI] B.MOV AX, [DI] C.MOV AX, [SI+DI] D.MOV AX, [SI-DI] 178. 下列四条指令执行后不影响标志位的是( A )

A.JNC NEXT B.CMP AX, BX C.SHL AX, 1 D.OR AL, AL

179. 已知AX=0001H,下列四条指令执行后,不能使ZF=1的语句是( C )

A.DEC AX B.SUB AX, 1 C.AND AX , 1 D.CMP AX,1

180. 在8086/8088系统中,约定用于形成堆栈段数据物理地址的寄存器有( A )

A.SS, SP, BP B.SS, SP, BX C.DS, BX, BP D.DS, SP, BP

181. 有指令MOV AX, 1234H,指令中的立即数1234H是存储在( B )

A.数据段 B.代码段 C.附加段 D.堆栈段

182. 要在程序中定义缓冲区BUF,保留9个字节存储空间的语句是( C )

A.BUF DW 9 B.BUF DB 9 C.BUF DB 9 DUP (?) D.BUF DW 9 DUP (?) 183. 已知AL=56H,BL=34H,都是压缩BCD码,要执行二数相加,正确的指令是( A )

A.ADD AL,BL B.ADC AL,BL DAA DAA

C.ADD BL,AL D.ADC BL,AL DAA DAA

184. 在执行子程序段内调用CALL SUBR指令后,SP的值( D )

A.加1 B.减1 C.加2 D.减2 185. 完成将AX清零,并且使CF清零,下面错误的指令是( D )

A.SUB AX, AX B.AND AX, 0 C.XOR AX,AX D.MOV AX,0 186. 定义宏指令的伪指令是( D )

A.PROC和ENDP B.CODE和ENDS C.EQU和END D.MACRO和ENDM 187. 在汇编语言源程序中,表达式的计算是由( C )完成的。

A.编程者 B.汇编程序 C.程序执行时 D.连接程序

188. 为了使执行串操作指令时,地址按减量方式处理应使用指令( D )

A.CLI B.STI C.CLD D.STD 189. 有数据定义NUM DB '12345' ,经汇编后,NUM占有( B )字节存储单元。

A.1 B.5 C.6 D.7 190. 汇编语言源程序每个语句可以由四项组成,如语句要完成一定功能,那么该语句中不可

省略的项是( B )

A.名字项 B.操作项 C.操作数项 D.注释项

下面这九道大题正在进行中ing

1. 编写一子程序,将AL中一位十六进制数转移为对应的ASCII码并用2号DOS功能调

用显示出来,输入参数:被转换的十六进制数已在AL中。

2. 已知在数据区BUF1和BUF2分别存放20个字节数据。编程检查两数据区中的数据是

否相同。若完全一致,则将标志单元FLAG置FFH,否则置0,并将第一次出现的不同数据的地址分别存放在ADDR1和ADDR2单元中。

3. 把2个非压缩BCD码组合为一个压缩BCD码,并存入DA3中。

4. 已知DAT1字节单元有一个数据,试编制一程序段将该数据的低4位变为1010B,最高

位(第7位)置1,其余3位不变,结果送DAT2字节单元。

5. 以二进制位串的形式,从高位到底位,在屏幕上显示AL中值,例如,AL=6AH,显示:

01101010。编写此程序段。

6. 已知在以BUF为首地址的数据区中,存放10个八位无符号 数,编程求出最大偶数存

入BIG单元,并将它的偏移地址存入ADDR中。

7. 已知三个带符号的字节数据a,b,c存放在ADR开始的连续单元中,若a,b,c同时

为正数则FLAG单元置0,若同时为负数,则FLAG单元置1,否则FLAG单元置全1,请编写完整源程序。

8. 编写一完整源程序,将DB1中的二进制数按位倒排送DB2中,即DB1第0位送DB2

第7位,DB1第1位送DB2第6位,依次类推。

9. 编写程序实现从键盘输入10个学生的成绩,排序后将结果输出到屏幕上,要求输入、

输出、排序分别用子程序实现。

本文来源:https://www.bwwdw.com/article/90vr.html

Top