汇编常考试题(含有详解) 下载本文

D. MOV DX,SIZE TAB1 DX=40 E. MOV CX,LENGTH TAB2 CX=1

26、下面程序段执行完后,AL的内容是什么? MOV AL,10 ADD AL,AL SHL AL,1 MOV BL,AL SHL AL,1 ADD AL,BL

AL=120

27、试问下面的程序段完成的功能是什么? SAL AX,1 RCL DX,1

第一条指令是把AX算术左移一位;第二条指令是把DX带进位循环左移一位。

28、假设X和X+2单元的内容为双精度数P,Y和Y+2单元的内容为双精度数Q(X和Y为低位字),试说明下列程序段做什么工作? MOV DX,X+2 MOV AX,X ADD AX,X ADC DX,X+2 CMP DX,Y+2 JL L2 JG L1

CMP AX,Y JBE L2

L1:MOV AX,1 JMP SHORT EXIT L2:MOV AX,2 EXIT:INT 20H

首先把P乘上2,然后比较2P的高16位与Q的高16位,如果前者小于后者,则把AX置上1,如果前者大于后者,则把AX置上2,如果相等,则比较2P的低16位和Q的低16位,如果前者小于等于后者,则把AX置上2,如果前者大于后者,则把AX置上1。

29、MOV AX, 9090H

SUB AX, 4AE0H JC L1 JO L2 JMP L3

上述程序执行后AX=__45B0H _____,程序转向__ L3 _____ 30、假设寄存器AX=1234H,DX=0A000H

MOV BX, 0 MOV CX, BX SUB CX, AX SBB BX, DX

29

MOV AX, CX MOV DX, BX

上述程序段执行后AX=_ EDCCH ______ ,DX=_5FFFH ______ 程序功能是___对两个数求补 ____

31、 BUF DB 45H, 68H, 7AH, 35H, 39H

?

MOV DI, OFFSET BUF MOV CX, 5 MOV AL, ‘a' CLD

REP STOSB

该程序段执行后,BUF中的内容是_61H ______ ,方向标志DF=_0 _____ 32、假设寄存器AX=5AH,CX=23H

?

MOV DL, 0 LOP:SUB AX, CX

JC NEXT INC DL

JMP SHORT LOP NEXT:ADD AX, CX

HLT

上述程序段执行后,AX=__14H _____,DL=___2____

用数学表达式指明程序功能:实现DL=AX/CX AX=AX MOD CX 33、A DW 1234H

B DW 5678H :

PUSH A PUSH B POP A POP B

试回答:A.上述程序段执行后(A)= 5678H ,(B)= 1234H 。 B.设执行前SP=2000H,执行后SP= 2000H 。 34、现有下列程序段:

MOV AX,6540H MOV DX,3210H MOV CL,04 SHL DX,CL MOV BL,AH SHL AX,CL SHR BL,CL OR DL,BL 试问上述程序段运行后,

(AX)=5400H ,(BL)= 06H ,(DX)= 2106H 。 35、分析下面程序段,

30

MOV AL,200 AL=1100 1000 SAR AL,1 AL=1110 0100 MOV BL,AL AL=BL=1110 0100 MOV CL,2 CL=2

SAR AL,CL AL=1111 1001

ADD AL,BL AL=AL+BL=1111 1001 + 1110 0100 =1101 1101

试问程序段执行后(BL)= 0E4H ,(AL)= 0DDH 。 36、程序段如下:

BLK1 DB 46,84,34,-5,20,122,73 :

MOV CX,7 LEA S1,BLK1

NEXT: MOV AL,[SI] INC SI

TEST AL,81H LOOPZ NEXT MOV BL,[SI] :

请回答程序段运行后:(AL)=-5或0FBH ,(BL)= 14H或20 。 37、STRING DB ‘ABCDEFGHI’

:

MOV AH,01;从键盘输入字符1~9 INT 21H

AND AL,0FH DEC AL

XOR AH,AH

MOV BX,OFFSET STRING ADD BX,AX MOV BL,[BX]

MOV AH,02H ;显示输出 INT 21H :

试回答:(1)上述程序段的功能是什么? 程序段功能:根据从键盘输入的字符‘1’~‘9’,确定在显示器上显示STRING中第几个字符。

(2)如从键盘输入字符‘4’,程序段有什么结果?

显示器显示字符‘D’

38、 AND AL,AL

JZ BRCH1 RCR AL,1 JZ BRCH2 RCL AL,1 INC AL JZ BRCH3

31

:

上述程序运行后,试回答:

(1)当(AL)= 0 时,程序转向BRCH1 (2)当(AL)= 1 时,程序转向BRCH2 (3)当(AL)= -1 时,程序转向BRCH3 39、MOV AX,0BC5FH MOV BX,0C0FBH XOR AX,BX XOR AX,BX

上述程序段运行后,AX=_305FH __________,CF=___不变__________ 40、HEX DB ‘0123456789ABCDEF’ HCOD DB ?,? ┇

MOV BX,OFFSET HEX MOV AL,1AH MOV AH,AL AND AL,0FH XLAT HEX

MOV HCOD[1],AL MOV CL,12 SHR AX,CL

XLAT HEX MOV HCOD,AL

上述程序段运行后,HCOD和HCOD+1两字节单元内容是什么?

HCOD和HCOD+1两字节单元内容是1和A。 41、DATA SEGMENT ORG 3040H

YY1 DB 30H,40H YY2 DW 3040H DATA ENDS ┇

MOV BX,OFFSET YY1 MOV AX,[BX]

MOV CL,BYTE PTR YY2+1 MOV CH,TYPE YY2

上述程序段运行后,AX=___4030H_________,BX=____3040H CX=___0230H__________ 42、A DB 0F8H

B DB 3 DUP(?)

LEA DI,B MOV CX,3

MOV AL,A LOP:SAR AL,1 MOV [DI],AL INC DI

32

________,