练习题

2018-11-12 20:49

汇编语言练习题

1. 已知: DATA SEGMENT TA1 DW 0102H,0304H,0506H TA2 DB 02H,03H,04H … MOV BX,DS:[0004H] AND BX,0FFH OR BH,[BX]

上述指令序列运行后,BX的内容是:(C ) A.0605H B.0402H C.0206H D.0204H 2. 下列指令中,有语法错误的是:( A ) A.mov [si],[di] B.and ax,cx C.jmp word ptr[bx] D idiv bx 3. 若标志DF为0,则执行串操作MOVS指令后,寄存器SI,DI会:( B) A.不变 B.增量 C.减量 D.不定 4. 下列( A )指令不合法。 A.in ax,278h B.rcr dx,cl C.cmpsb D.ret 4

5. 下列串操作指令中,在( C )指令前加重复前缀指令指令是没有实际价值的. A.movsb B.stosb C.lodsb D.cmpsb

6. 设DS=8200H,SI=3942H,指令\操作数的物理地址是(B )? A.85B92H B.85942H C.BB420H D.12412H 7. 执行如下\和\之后,SP寄存器的值是(C )? A.4321H B.4322H C.431EH D.431FH

8. 假设SS=2000H,SP=0100H,AX=2021H,执行指令PUSH AX,存放数据21H的堆栈区的物

理地址是( C )? A.20102H B.20101H C.200FEH D.200FFH 9. 将寄存器AX的内容乘以2的正确指令序列是( B )? A.shr ax,1 B.shl ax,1 C.ror ax,1 D.rcr ax,1 10. 下面指令执行后,将改变AL寄存器内容的指令是( C )? A.test al,80h B.0r al,al C.and al,bl D.cmp al,80h

11. 执行除法指令后,影响的标志位是( A )? A.所有状态标志都不确定 B.CF,OF C.SF,ZF D.AF,PF

12. 编写分支程序,在进行条件判断前,可用指令构成条件,其中不能形成条件的指令是

( D )? A.CMP B.SUB C.AND D.MOV 13. 下面指令中,执行后对标志未发生改变的是( B )? A.cmp ax,ax B.push ax C.add ax,00ffh D.scasb 14. 下面指令中,不影响标志位的是( C )? A.sub ax,bx B.ror al,1 C.jnc label D.cmc 15. 下面指令中,执行后,不改变标志位CF的是( D )? A.clc B.and al,al C.sal al,1 D.inc al

16. 下面指令执行后,总是使CF=OF=0的是( A )? A.and B.neg C.not D.inc 17. 为使CX=-1时,执行“jz minus”转至标号minus而编制了一指令,其中错误的是( C)? A.inc cx B.sub cx,offffh C.and cx,offffh D.xor cx,offffh

18. 当一个带符号的数大于0FBH 时程序转移,在“CMP AL,OFBH”指令后,需选用的条件

转移指令是( C)? A.JLE B.JNL C.JNLE D.JL

19. 指令“TEST BH,1”测试BH中的数是否为奇数,若为奇数则转移,那么随后的条件指令

应为( A )? A.JNE B.JZ C.JS D.JC 20. 循环指令LOOPNZ继续循环的条件是(D )? A.CX=0,且ZF=0 B.CX=0,或ZF=1 C.CX≠0,且ZF≠0 D.CX≠0,且ZF=0

21. 测试BL寄存器内容是否与数据4FH相等,若相等则转换NEXT处执行,那么在“JZ

NEXT”指令前的一条指令应该是( B )? A.TEST BL,4FH B.XOR BL,4FH C.AND BL,4FH D.OR BL,4FH 22. 执行REP MOVSW串操作指令时,错误的操作是( D )? A.置方向标志位 B.根据串操作指令设置重复次数并送入CX C.设置源操作数及目的操作数指针 D.源操作数和目的操作数都可以加段超越 23. CBW指令的功能是(B )?

A.把源操作数的符号位扩展到目的操作数中 B.把AL中的符号位扩展到AH中 C.把AH中的符号位扩展到AL中 D.把AX中的符号位扩展到AL中 24. 下列4条指令

MUL BX、 DIV BL、IN AX,20H、 OUT 21H,AL 中,有(A )条指令需要使用DX寄存器。 A.1 B.2 C.3 D.4 25. 设AX=0012H、BX=0034H,那么下述程序段

MOV CL,8 ROL AX,CL OR AX,BX

执行后,AX=( A )。 A.1234H B.3412H C.0046H D.0034H 26. 执行下列指令序列

MOV AL,81H ADD AL,AL ADC AL,AL 后,AL=(B )。 A.04H B.05H C.204H D.205H 27. 假定DS=4000H、 DI=0100H、(40100H)=55H、(40102H)=AAH, 那么执行指令“lea bx,[di]”后,BX=(C )。 A.AA55H B.55AAH C.0100H D.4100H 28. 用一条指令实现AX=BX+SI的方法是(D )。 A.xchg ax,[bx][si] B.mov ax,[bx][si] C.mov ax,[bx+si] D.lea ax,[bx][si] 29. 条件转移指令JA产生程序转移的条件是( B )

A.CF=0和ZF=1 B.CF=0和ZF=0 C.CF=1和ZF=1 D.AL=60H和ZF=0 30. 设AL=20H、SI=0500H、DS=3000H、[30500H]=0C0H、CF==1.

执行“SBB AL,[SI]”指令后,正确的结果是( C ) A.AL=5FH、SF=1、CF=1 B.AL=60H、SF=1、CF=0 C.AL=5FH、SF=0、CF=1 D.AL=60H、SF=0、CF=0

31. 若AX=2891H,则执行“NEG AX”指令后,CF和SF标志位的状态分别是( D) A.0和0 B.0和1 C.1和0 D.1和1 32. 若AX=1000H,则执行下列指令

NEG AX NOT AX

后,AX=(B )。 A.1001H B.0FFFH C.1000H D.0111H

33. 当执行指令\后,设置的奇偶标志PF=1,则下面的叙述正确的是( A )。 A.表示结果中含1的个数为偶数或零 B.表示结果中含1的个数为奇数 C.表示该数为偶数 D.表示结果中低8位含1的个数为偶数或零 34. 要完成将累加器AL清零,并使进位标志CF清零,下面指令中错误的是(A )? A.MOV AL,0 B.AND AL,0 C.XOR AL,AL D.SUB AL,AL 35. 执行下列三条指令

MOV AX,9 ADD AL,7 AAA

后,AX=(C )。 A.0016H B.0016 C.0106H D.0006H 36. 执行下面指令

MOV AX,1234H MOV CL,2 SHL AX,CL 后,AX=(C )。 A.1230H B.48C0H C.048D0H D.2468H 37. 执行下列指令

MOV AL,100 MOV BL,-2

后,正确的结果是( B )。

A.AL=100H,BL=02H B.AL=64H,BL=FEH C.AL=64H,BL=82h D.AL=100H,BL=FEH 38. 假设(AL)=0FFH,依次执行ADD,AL,12和AND AL,0FH指令后,标志位ZF和SF

的状态分别为( A ) A.0和0 B.0和1 C.1和0 D.1和1

39. 执行下列哪一条指令后,就能用条件转移指令判断AL和BL寄存器中的最高位是否相

同(D )? A.TEST AL,BL B.CMP AL,BL C.AND AL,BL D.XOR AL,BL 40. 若有BUF DW 1,2,3,4,则可将数据02H取到AL寄存器中的指令是:( B) A.MOV AL,BYTE PTR[BUF+1] B.MOV AL,BYTE PTR[BUF+2] C.MOV AL,BYTE PTR[BUF+3] D.MOV AL, BUF[2]

41. 为了将AX和BX寄存器中存放的32位数据左移一位(其中AX寄存器中的数据为高

16为),下面的程序段中应填写一条什么指令? SHL AX,1 SHL BX,1 ( A ) A.ADC AX,0 B.SHL AX,1 C.ROL AX,1 D.RCL AX,1 42. 根据下面定义的数据段:

DESG SEGMENT

DAT1 DB '1234' DAT2 DW 5678H

ADDR EQU DAT2-DAT1 DESG ENDS

执行指令MOV AXADDR后,AX寄存器中的内容是(D ) A.5678H B.7856H C.4444H D.0004H

43. 下面是80X86宏汇编语言中关于SHORT和NEAR的叙述,哪一个是正确的( D)? A.它们都可以直接指示无条件转移指令目标地址的属性

B.它们都必须借助于PTR才能指示无条件转移指令目标地址的属性 C.SHORT必须借助于PTR才能指示无条件转移指令目标地址的属性 D.NEAR必须借助于PTR才能指示无条件转移指令目标地址的属性 44. 若汇编语言源程序中段的定位类型设定为PARA,则该程序目标代码在内存中的段起始

地址应满足什么条件( C )? A.可以从任意地址开始 B.必须是偶地址 C.必须能被16整除 D.必须能被256整除

45. 汇编语言选择题:指令“MOV CX,[BP+16]”的源操作数采用的段寄存器为(B ) A.CS B.SS C. DS D.ES 46. 对于下列程序段:

AGAIN:MOV AL,[SI] MOV ES:[DI],AL INC SI INC DI

LOOP AGAIN

也可用( A)指令完成同样的功能。 A.REP MOVSB B.REP LODSB C.REP STOSB D.REPE SCASB 47. 执行如下程序:

MOV AX,0 MOV BX,1 MOV CX,100 A:ADD AX,BX INC BX LOOP A HLT

执行后BX中的内容为( C )。 A.99 B.100 C.101 D.102

48. BUF1 DB 3 DUP(0,2 DUP (1,2),3) COUNT EQU $ - BUF1

符号COUNT等价的值是(B ) A.6 B.18 C.16 D.8 49. 若计算机字长16位,则无符号整数表示为十六进制数的范围是( C )。 A.8000H~FFFFH B. 0000H~8000H C.0000H~FFFFH D.0001H~FFFFH 50. 指令MOV BYTE PTR[BX+SI],0中目的操作数的寻址方式是( D )。 A.立即寻址

B.寄存器寻址

C.寄存器间接寻址

D.基址变址寻址

51. 已知 SP=12EH ,执行段间返回指令 RET 后, SP 的值是( D )。 A.12AH B.12CH C.130H D.132H 52. 8086CPU在基址加变址的寻址方式中,变址寄存器可以为( D )。 A.BX或CX B.CX或SI C.DX或SI D.SI或DI 53. 在汇编语言程序中,对END语句的叙述正确的是( C)。 A.END语句是一可执行语句 B.END语句表示程序执行到此结束 C.END语句表示源程序到此结束 D.END语句在汇编后要产生机器码 54. 已知 CS=2300H,DS=2400H,执行下列指令序列后,CS和DS值是(D )。 PUSH CS POP DS A.CS=0 DS=2300H B.CS=2400H DS=2300H C.CS=2400H DS=2400H D.CS=2300H DS=2300H 55. 以寄存器DI间接寻址的存储器字节单元内容加1的指令是( C )。 A.INC [DI] B.INC DI C.INC BYTE PTR[DI] D.ADD [DI],1 56. 有指令MOV AX, 1234H,指令中的立即数1234H是存储在( B )。 A.数据段 B.代码段 C.附加段 D.堆栈段 57. 设数据段中已有:

DA1 DB 12H,34H DA2 DW 56H,78H 下面有语法错误的语句是(B )。 A.ADR1 DW DA1 B.MOV DA1+1,AX C.MOV BYTE PTR DA2+1,AL D.MOV WORD PTR DA1+1,AX 58. 设AH=0,AL=06H,BL=09H,执行以下指令之后,其结果应是(A )。

ADD AL,BL AAA

A.AH=01H, AL=05 B.AH=01H, AL=15 C.AH=0, AL=0FH D.AH=0, AL=05 59. 下面指令执行后,改变目标寄存器内容的指令是(B )。 A.TEST AL,0EFH B.SHL AX,CL C.CMP DH,BL D.AND AL,FFH 60. 十六进制数88H,可表示成下面几种形式,请找出错误的表示(D )。 A.无符号十进制数136 B.带符号十进制数-120 C.压缩型BCD码十进制数88 D.8位二进制数-8的补码表示

61. AL=0E3H,BL=0F4H,执行指令ADD AL,BL后,CF和OF的值分别是(B)。 A.1、1 B.1、0 C.0、1 D.0、0

62. 当执行指令ADD AX,BX后,若AX的内容为2BA0H,设置的奇偶标志位PF=1,下

面的叙述正确的是(A )。 A.表示结果中含1的个数为偶数 B.表示结果中低八位含1的个数为偶数 C.表示该数为偶数 D.表示结果中含1的个数为奇数

63. 在指令的操作数字段中,允许出现表达式,若BUF1与BUF2均为变量名,下面指令中正确的是(D )。

A.MOV DX,BUF1*BUF2 B.MOV DX,BUF1/BUF2 C.MOV DX,(BUF1*BUF2)-BUF1 D.MOV DX,BUF2-BUF1

64. 某程序装入内存后,DS=1200H,CS=1400H,则程序中数据段中的数据最多是(C )字节。 A.2K B.4K C.8K D.16K 65 汇编语言语句格式中对名字项的规定如下,请找出其中错误的说法(B )。 A.名字的第一个字符可以是大写英文字母及小写英文字母 B.名字的第一个字符可以是字母、数字及、@、_ C.名字的有效长度≤31个字符 D.在名字中不允许出现$

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

MOV AX , WORD PTR DA2+1

上述语句执行后AX中的值是( D )。 A.'AD' B.'BC' C.'DA' D.'CB' 68. 无条件转移指令JMP实现段间间接转移,转移的目标地址在(B )。 A.某个字存储单元中 B.某个双字存储单元中 C.某个16位通用寄存器中 D.两个16位通用寄存器中 69. 表示过程定义结束的伪指令是(A )。 A.ENDP B.ENDS C.END D.ENDM 70. 下列寄存器中用来指示堆栈中任意数据区的偏移地址的是(B )。 A. BX B.BP C.SI D.DI

面的叙述正确的是(A )。 A.表示结果中含1的个数为偶数 B.表示结果中低八位含1的个数为偶数 C.表示该数为偶数 D.表示结果中含1的个数为奇数

63. 在指令的操作数字段中,允许出现表达式,若BUF1与BUF2均为变量名,下面指令中正确的是(D )。

A.MOV DX,BUF1*BUF2 B.MOV DX,BUF1/BUF2 C.MOV DX,(BUF1*BUF2)-BUF1 D.MOV DX,BUF2-BUF1

64. 某程序装入内存后,DS=1200H,CS=1400H,则程序中数据段中的数据最多是(C )字节。 A.2K B.4K C.8K D.16K 65 汇编语言语句格式中对名字项的规定如下,请找出其中错误的说法(B )。 A.名字的第一个字符可以是大写英文字母及小写英文字母 B.名字的第一个字符可以是字母、数字及、@、_ C.名字的有效长度≤31个字符 D.在名字中不允许出现$

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

MOV AX , WORD PTR DA2+1

上述语句执行后AX中的值是( D )。 A.'AD' B.'BC' C.'DA' D.'CB' 68. 无条件转移指令JMP实现段间间接转移,转移的目标地址在(B )。 A.某个字存储单元中 B.某个双字存储单元中 C.某个16位通用寄存器中 D.两个16位通用寄存器中 69. 表示过程定义结束的伪指令是(A )。 A.ENDP B.ENDS C.END D.ENDM 70. 下列寄存器中用来指示堆栈中任意数据区的偏移地址的是(B )。 A. BX B.BP C.SI D.DI


练习题.doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:书面作业_4

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: