汇编常考试题(含有详解)

MOV AX,VAR1 MOV BX,VAR2

A.都是立即数寻址 B.前一条指令是立即数寻址,后一条指令是直接寻址 C.前一条指令是直接寻址,后一条指令是立即数寻址 D.都是直接寻址 155、ARRAY DW 6,9,$+4,10H,1,$+4

MOV AX, ARRAY+4

设变量ARRAY的偏移量是0084H,上述指令执行后AX中的内容是( )。

A.0009 B.008CH C.0090H D.0010H 156、设AX=0CCBBH,CF=1

AND AX,7FFEH RCR AX,1

上述两条指令执行后,AX和CF中的内容分别是( )。

A.AX=265DH,CF=0 B.AX=265DH,CF=1 C.AX=A65DH,CF=0 D.AX=A65DH,CF=1 157、DA_B EQU BYTE PTR DA_W

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

MOV BX,DA_W+3 MOV BH,DA_B+3

执行上述两条指令后,BX中的内容是( )。

A.‘EF' B.‘FC' C.‘CC' D.‘FF' 158、指令语句中标号的错误定义是( )

A.在代码段中的名字项定义,后面紧跟冒号 B.用EQU伪指令定义 C.用LABEL伪指令定义 D.由“JMP标号”指令定义 159、设VAR1和VAR2是已定义的变量名,非法的表达式是( )。

A.VAR1-VAR2 B.VAR2-VAR1[BX] C.VAR1+VAR2 D.VAR1[BX]

160、为在一连续的存储单元中依次存放数据41H,42H,…,48H,下面的数据定义语句中有语法错误的是( )。

A.DB 41H,42H,43H,44H,45H,46H,47H,48H B.DW 4142H,4344H,4546H,4748H C.DB ‘ABCDEFGH'

D.DW ‘BA',‘DC',‘FE',‘HG'

161、设NUM=11011011B,指令“MOV AH,NUM SHL 3”执行后AX中的值是( )。

A.11011011000B B.11011000B C.00011011B D.00011011011B 162、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

13

163、如某循环程序是对两个数组进行某种运算处理,当数组处理完毕或运算处理的结果不为某一指定值时(每次循环时,对运算结果已进行了测试),就结束循环。如要求一定使用循环控制指令,这时应选用的指令是( )。

A.LOOP B.JMP C.LOOPNE/LOOPNZ D.JCXZ 164、在DEBUG上机调试程序时,存储器地址表示为12FA:015F,它的物理地址是( )。 A. 12FAH B. 1305FH C. 130FFH D. 015FH 165、IP指令指针寄存器是属于( )。

A. 通用寄存器 B. 段寄存器 C. 变址寄存器 D. 控制寄存器 166、下面有语法错误的指令是( )。

A. ADD AL,AH B. ADD [BX+3],AL

C. ADD AH,[DI] D. ADD [BP+2],DA1;(DA1是变量名) 167、完成对DX的有符号数除以2的指令是( )。

A. IDIV 2 B. SAR DX,1 C. ROR DX,1 D. RCR DX,1 168、使进位位置1的指令是( )。

A. CLC B. CMC C. STC D. NOP 169、设AL=-15,要使AL=15应执行的指令是( )。

A. NEG AL B. NOT AL C. INC AL D. DEC AL 170、在条件转移指令中,结果为负数则转移的指令是( )。

A. JNS B. JX C. JS D. JP 171、下面的XCHG指令中,语法正确的是( )。

A. XCHG AL,DS B. XCHG BL,[BX] C. XCHG AL,0FH D. XCHG BUF1,BUF2 172、一条指令中目的操作数不允许使用的寻址方式是( )。

A. 寄存器寻址 B. 立即数寻址 C. 变址寻址 D. 寄存器间接寻址 173、设SP=1FFEH,执行下列指令后,SP寄存器的值是( )。 POPF PUSH AX

A.. 2000H B. 2002H C. 1FFCH D. 1FFEH 174、LDS SI,ES:[2000H]指令的全部功能是( )。 A. 把地址2000H送SI

B. 把地址2000H字单元的内容送SI

C. 把地址2000H字单元内容送SI,把2002H字单元内容送DS D. 把地址2000H字单元内容送DS,把2002H字单元内容送SI

175、设AL=04H,BL=0F8H,执行MUL BL指令后,结果是( )。

A. AX=0032H B. AX=00E0H C. AX=03E0H D. AX=0FFE0H

176、设ES=3000H,DI=00FFH,CX=0005H,AL=41H,DF=0,从300FFH开始的连续5个字节单元内容分别是44H,43H,42H,41H,41H。 执行REPNZ SCASB指令后,正确的结果是( )。

A. DI=0104H,CX=0000H B. DI=0103H,CX=0001H C. DI=0102H,CX=0002H D. DI=0101H,CX=0003H 176、某数据段如下:

DATA SEGMENT

ORG 20H X DB 12H

14

Y DW 789AH

DATA ENDS

Y 单元的偏移地址是( )。

A. 0 B. 20H C. 21H D. 12H 177、下面指令语句中,语法正确的是( )。

A. INC [BX] B. CMP [BX],60

C. JMP FAR OPR D. MOV WORD PTR [BX],5 178、 DATA SEGMENT

DA1 DB 32 DUP(?) DA2 DW 1456H,789AH DA3 DW DA2

DATA ENDS ?

MOV BX, DA3

上述指令执行后,BX中的内容是( )。

A. 20H B. 31 C. 32H D. 21H 179、 已定义数据段

DATA SEGMENT

ORG 0213H

DA1 DB 15H,34H,55H ADR DW DA1

DATA ENDS

能使AX中数据为偶数的语句是( )。

A. MOV AX, WORD PTR DA1 B. MOV AL, DA1+2

C. MOV AL, BYTE PTR ADR+1 D. MOV AX, WORD PTR DA1+2 180、 如代数据段名为DATA_SEG,它的起始地址为20A00H,对数据段寄存器DS赋值段地址值的方法是( )。

A. MOV DS,20A0H B. ASSUME DS:DATA_SEG C. DATA_SEG SEGMENT D. MOV AX,DATA_SEG MOV DS,AX 181、OV AL,-1 NEG AL

XOR AL,65

上述程序段执行后,AL中的内容是( )。

A. 40H B. 64H C. 01H D. 61H

182、用CMP指令对两个无符号数进行A-B的比较后,如A=B或A>B,则分别产生转移,这种情况应选择的条件转移指令是( )。 A. 先用JE指令,再用JNC指令 B. 先用JNC指令,再用JE指令

C. 上述两条条件转移指令(JE和JNC)无先后次序 D. 用上述两个条件转移指令不能完成上述功能要求 二、填空题

15

1.假设某个字的值是1234H,其低位字节地址是20H,高位字节地址是21H,那么该字的字地址是________。

2.“SHL OPR,CNT”指令中OPR可以是除______以外的任何寻址方式。 3.“VAR DB 5 DUP(8,2 DUP(5))”语句汇编应分配______个字节单元。 4.指令“MOV AX,20H[SI]”中源操作数的物理地址表达式是______。 5.乘法指令语句“MUL CL”,16位的乘积存放在______中。

1.在8086/8088系统中,存储器是分段的,每段最大长度是_______字节,段内偏移地址从_______到_______。

2.在程序调试时,显示某指令存放地址是2340H:0056H,则物理地址是_______。

3.汇编语言源程序中的语句有三种类型,它们是_______语句,_______语句和_______语句。 4.指令MOV AX,[BX+SI+10H]源操作数寻址方式是_______。

5.执行段间返回指令RET时,将栈顶的一个字弹出到_______后,又弹出一个字到_______寄存器中。

6.已知DS=3000H,DI=1200H,(31200H)=64H,(31201H)=93H,执行NEG WORD PTR[DI]后,(31200H)=_______,(31201H)=_______。 7.执行下列指令序列 MOV AL,80H MOV BL,08H CBW IDIV BL

则AH=_______AL=_______。 8.已知数据定义语句 ORG 120H

VECT1 DW 200H VECT2 DW VECT1

执行 MOV AX,VECT1 AX=_______ MOV BX,VECT2 BX=_______。 三、简答题

1、在指令系统中,段内、段间返回均为RET指令。试回答: (1)执行段内返回RET指令时,执行的操作是:

(IP)←((SP),(SP)+1)

(2)执行段间返回RET指令时,执行的操作是:

(IP)←((SP),(SP)+1) (CS) ←((SP)+2,(SP)+3)

2、用两种办法,分别只用一条指令实现将DA1数据区中数据个数送入CX。

DA1 DB 20H DUP(?) DA2 DW 10H,45H,7856H

(1) MOV CX ,LENGTH DAT1 (2) MOV CX,DAT2-DAT1

3、已知:BX=1357H,BP=2468H,SI=1000H,DI=2000H,SS=1000H,DS=2000H,ES=3000H,试分别指出下列各指令中存储器操作数的物理地址。

MOV AL,[BP+20H]的*物理地址是 : 12488H MOV [BX+DI-80H],AL的物理地址是:232D7H MOV BL,ES:[SI+40H]的物理地址是:31040H

16

联系客服:779662525#qq.com(#替换为@)