人人范文网 范文大全

练习题

发布时间:2020-03-03 23:46:39 来源:范文大全 收藏本文 下载本文 手机版

汇编语言练习题

1.已知: DATA SEGMENT

TA1 DW 0102H,0304H,0506H

TA2 DB 02H,03H,04H

MOV BX,DS:[0004H]

AND BX,0FFH

OR BH,[BX] 上述指令序列运行后,BX的内容是:(

) A.0605H

B.0402H

C.0206H

D.0204H 2.下列指令中,有语法错误的是:(

) A.mov [si],[di]

B.and ax,cx

C.jmp word ptr[bx] D idiv bx 3.若标志DF为0,则执行串操作MOVS指令后,寄存器SI,DI会:(

) A.不变

B.增量

C.减量

D.不定 4.下列(

)指令不合法。 A.in ax,278h

B.rcr dx,cl

C.cmpsb

D.ret 4 5.下列串操作指令中,在(

)指令前加重复前缀指令指令是没有实际价值的.A.movsb

B.stosb

C.lodsb

D.cmpsb 6.设DS=8200H,SI=3942H,指令\"INC BYTE PTR[SI]\"操作数的物理地址是(

)? A.85B92H

B.85942H

C.BB420H

D.12412H 7.执行如下\"mov sp,4320h\"和\"push bx\"之后,SP寄存器的值是(

)? A.4321H

B.4322H

C.431EH

D.431FH 8.假设SS=2000H,SP=0100H,AX=2021H,执行指令PUSH AX,存放数据21H的堆栈区的物理地址是(

)? A.20102H

B.20101H

C.200FEH

D.200FFH 9.将寄存器AX的内容乘以2的正确指令序列是(

)? A.shr ax,1

B.shl ax,1

C.ror ax,1

D.rcr ax,1 10.下面指令执行后,将改变AL寄存器内容的指令是(

)? A.test al,80h

B.0r al,al

C.and al,bl

D.cmp al,80h

11.执行除法指令后,影响的标志位是(

)? A.所有状态标志都不确定

B.CF,OF C.SF,ZF

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

)? A.CMP

B.SUB

C.AND

D.MOV 13.下面指令中,执行后对标志未发生改变的是(

)? A.cmp ax,ax

B.push ax

C.add ax,00ffh

D.scasb 14.下面指令中,不影响标志位的是(

)? A.sub ax,bx

B.ror al,1

C.jnc label

D.cmc 15.下面指令中,执行后,不改变标志位CF的是(

)? A.clc

B.and al,al

C.sal al,1

D.inc al 16.下面指令执行后,总是使CF=OF=0的是(

)? A.and

B.neg

C.not

D.inc 17.为使CX=-1时,执行“jz minus”转至标号minus而编制了一指令,其中错误的是(

)? A.inc cx

B.sub cx,offffh

C.and cx,offffh

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

)? A.JLE

B.JNL

C.JNLE

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

)? A.JNE

B.JZ

C.JS

D.JC 20.循环指令LOOPNZ继续循环的条件是(

)? 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”指令前的一条指令应该是(

)? A.TEST BL,4FH

B.XOR BL,4FH

C.AND BL,4FH

D.OR BL,4FH 22.执行REP MOVSW串操作指令时,错误的操作是(

)? A.置方向标志位

B.根据串操作指令设置重复次数并送入CX C.设置源操作数及目的操作数指针

D.源操作数和目的操作数都可以加段超越 23.CBW指令的功能是(

)? A.把源操作数的符号位扩展到目的操作数中 B.把AL中的符号位扩展到AH中 C.把AH中的符号位扩展到AL中

D.把AX中的符号位扩展到AL中 24.下列4条指令

MUL BX、DIV BL、IN AX,20H、OUT 21H,AL 中,有(

)条指令需要使用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.1234H

B.3412H

C.0046H

D.0034H 26.执行下列指令序列

MOV AL,81H ADD AL,AL ADC AL,AL 后,AL=(

)。 A.04H

B.05H

C.204H

D.205H 27.假定DS=4000H、DI=0100H、(40100H)=55H、(40102H)=AAH, 那么执行指令“lea bx,[di]”后,BX=(

)。 A.AA55H

B.55AAH

C.0100H

D.4100H 28.用一条指令实现AX=BX+SI的方法是(

)。 A.xchg ax,[bx][si] B.mov ax,[bx][si] C.mov ax,[bx+si]

D.lea ax,[bx][si] 29.条件转移指令JA产生程序转移的条件是(

) 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]”指令后,正确的结果是(

) 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标志位的状态分别是(

) A.0和0

B.0和1

C.1和0

D.1和1 32.若AX=1000H,则执行下列指令

NEG AX NOT AX 后,AX=(

)。 A.1001H

B.0FFFH

C.1000H

D.0111H 33.当执行指令\"ADD AX,BX\"后,设置的奇偶标志PF=1,则下面的叙述正确的是(

)。 A.表示结果中含1的个数为偶数或零

B.表示结果中含1的个数为奇数 C.表示该数为偶数

D.表示结果中低8位含1的个数为偶数或零 34.要完成将累加器AL清零,并使进位标志CF清零,下面指令中错误的是(

)? 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=(

)。 A.0016H

B.0016

C.0106H

D.0006H 36.执行下面指令

MOV AX,1234H MOV CL,2 SHL AX,CL 后,AX=(

)。 A.1230H

B.48C0H

C.048D0H

D.2468H 37.执行下列指令

MOV AL,100 MOV BL,-2 后,正确的结果是(

)。

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.0和0

B.0和1

C.1和0

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

)? 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寄存器中的指令是:(

) 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.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寄存器中的内容是(

) A.5678H

B.7856H

C.4444H

D.0004H 43.下面是80X86宏汇编语言中关于SHORT和NEAR的叙述,哪一个是正确的(

)? A.它们都可以直接指示无条件转移指令目标地址的属性

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

)? A.可以从任意地址开始

B.必须是偶地址 C.必须能被16整除

D.必须能被256整除

45.汇编语言选择题:指令“MOV CX,[BP+16]”的源操作数采用的段寄存器为(

) A.CS

B.SS

C.DS

D.ES 46.对于下列程序段:

AGAIN:MOV AL,[SI]

MOV ES:[DI],AL

INC SI

INC DI

LOOP AGAIN

也可用(

)指令完成同样的功能。 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中的内容为( )。 A.99

B.100

C.101

D.102 48.BUF1 DB 3 DUP(0,2 DUP (1,2),3)

COUNT EQU $ - BUF1

符号COUNT等价的值是(

) A.6

B.18

C.16

D.8 49.若计算机字长16位,则无符号整数表示为十六进制数的范围是(

)。 A.8000H~FFFFH B.0000H~8000H C.0000H~FFFFH

D.0001H~FFFFH

50.指令MOV BYTE PTR[BX+SI],0中目的操作数的寻址方式是(

)。 A.立即寻址 B.寄存器寻址

C.寄存器间接寻址

D.基址变址寻址

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

)。 A.12AH

B.12CH

C.130H

D.132H 52.8086CPU在基址加变址的寻址方式中,变址寄存器可以为(

)。 A.BX或CX

B.CX或SI

C.DX或SI

D.SI或DI 53.在汇编语言程序中,对END语句的叙述正确的是(

)。 A.END语句是一可执行语句

B.END语句表示程序执行到此结束 C.END语句表示源程序到此结束

D.END语句在汇编后要产生机器码 54.已知 CS=2300H,DS=2400H,执行下列指令序列后,CS和DS值是(

)。

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的指令是(

)。 A.INC [DI]

B.INC DI

C.INC BYTE PTR[DI] D.ADD [DI],1 56.有指令MOV AX, 1234H,指令中的立即数1234H是存储在(

)。 A.数据段

B.代码段

C.附加段

D.堆栈段

57.设数据段中已有:

DA1 DB 12H,34H

DA2 DW 56H,78H

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

)。 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,执行以下指令之后,其结果应是(

)。

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.下面指令执行后,改变目标寄存器内容的指令是(

)。 A.TEST AL,0EFH B.SHL AX,CL

C.CMP DH,BL

D.AND AL,FFH 60.十六进制数88H,可表示成下面几种形式,请找出错误的表示(

)。 A.无符号十进制数136

B.带符号十进制数-120 C.压缩型BCD码十进制数88

D.8位二进制数-8的补码表示

61.AL=0E3H,BL=0F4H,执行指令ADD AL,BL后,CF和OF的值分别是(

)。 A.1、1

B.1、0

C.0、1

D.0、0 62.当执行指令ADD AX,BX后,若AX的内容为2BA0H,设置的奇偶标志位PF=1,下面的叙述正确的是(

)。

A.表示结果中含1的个数为偶数

B.表示结果中低八位含1的个数为偶数 C.表示该数为偶数

D.表示结果中含1的个数为奇数

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

)。

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,则程序中数据段中的数据最多是(

)字节。 A.2K

B.4K

C.8K

D.16K 65 汇编语言语句格式中对名字项的规定如下,请找出其中错误的说法( )。 A.名字的第一个字符可以是大写英文字母及小写英文字母 B.名字的第一个字符可以是字母、数字及、@、_ C.名字的有效长度≤31个字符 D.在名字中不允许出现$ 66.汇编源程序时,出现语法错误的语句是(

)。 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中的值是( )。 A.\'AD\'

B.\'BC\'

C.\'DA\'

D.\'CB\' 68.无条件转移指令JMP实现段间间接转移,转移的目标地址在(

)。 A.某个字存储单元中

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

D.两个16位通用寄存器中 69.表示过程定义结束的伪指令是( )。 A.ENDP

B.ENDS

C.END

D.ENDM 70.下列寄存器中用来指示堆栈中任意数据区的偏移地址的是( )。 A.BX

B.BP

C.SI

D.DI

练习题

练习题

练习题

练习题

练习题

练习题

练习题

练习题

练习题

练习题

练习题
《练习题.doc》
将本文的Word文档下载到电脑,方便编辑。
推荐度:
点击下载文档
点击下载本文文档