汇编语言程序设计模拟题

22、现有一子程序: SUB1 PROC

TEST BL,80H JE PLUS

TEST AL,80H JNE EXITO JMP XCHANGE

PLUS:TEST BL,80H JE EXITO

XCHANGE:XCHG AL,BL EXITO:RET

SUB1 ENDP

试回答:(1)子程序的功能是什么? (2)若调用子程序前AL=9AH,BL=77H,返回主程序时,AL=______,BL=______。 23、阅读程序段:

BLOCK DB 20H,1FH,08H,81H,0FFH,? RESULT DB ?

?

START:LEA SI,BLOCK

MOV CX,[SI] INC SI

MOV AL,[SI]

LOP1: CMP AL,[SI+1]

JNG NEXT

MOV AL,[SI+1] NEXT:INC SI

LOOP LOP1

MOV RESULT,AL

HLT

请问:(1)该程序完成的功能是什么?

(2)该程序循环的次数是多少?

24、阅读如下程序段,回答所提出的问题,假定X1,X2,XN为无符号数。 ORG 100H

BLOK DW X1,X2,…,XN COUNT EQU($-BLOLOK)/2 RESULT DW COUNT,? LEA BX,BLOK-2 MOV CX,RESULT XOR AX,AX

GOON:ADD BX,2 CMP AX,[BX] JAE NEXT

MOV AX,[BX]

NEXT:LOOP GOON

25

MOV RESULT+2,AX

程序段执行完,回答下述问题

RESULT+2字存储单元的内容=______;BX=______;程序循环次数=______ 25、对于下面的数据定义,各条MOV的指令单独执行后,有关寄存器的内容是什么? FLDB DB ?

TAB1 DW 20 DUP(?) TAB2 DB ?ABCD?

A. MOV AX,TYPE FLDB B. MOV AX,TYPE TAB1 C. MOV CX,LENGTH TAB1 D. MOV DX,SIZE TAB1

E. MOV CX,LENGTH TAB2

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

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

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

29、MOV AX, 9090H

SUB AX, 4AE0H JC L1 JO L2 JMP L3

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

26

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

上述程序段执行后AX=_______ ,DX=_______ 程序功能是_______

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

?

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

REP STOSB

该程序段执行后,BUF中的内容是_______ ,方向标志DF=_______ 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=_______,DL=_______ 用数学表达式指明程序功能:_______ 33、A DW 1234H

B DW 5678H :

PUSH A PUSH B POP A POP B

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

MOV AX,6540H MOV DX,3210H MOV CL,04 SHL DX,CL MOV BL,AH SHL AX,CL SHR BL,CL

27

OR DL,BL 试问上述程序段运行后,

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

MOV AL,200 SAR AL,1 MOV BL,AL MOV CL,2 SAR AL,CL ADD AL,BL

试问程序段执行后(BL)= ,(AL)= 。 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)= ,(BL)= 。 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 DL,[BX]

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

试回答:(1)上述程序段的功能是什么?

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

38、 AND AL,AL

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

28

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