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)该程序循环的次数是多少?
(1)该程序完成的功能是从20H(32)个有符号数中找出最小的数送入RESULT单元中。
(2)该程序的循环次数是1FH(31)。
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 MOV RESULT+2,AX
36
程序段执行完,回答下述问题
RESULT+2字存储单元的内容=______;BX=______;程序循环次数=______ RESULT+2字存储单元的内容是MAX(X1, X2, ? XN) BX= 100H + 2×(COUNT-1) 程序循环次数=COUNT
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
A. AX=1 B. AX=2 C. CX=20 D. DX=40 E. 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
37
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 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
38
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=04H_____,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)=,(B)=。B.设执行前SP=2000H,执行后SP=。 ①(A)=5678H (B)=1234H ②SP=2000H
34、现有下列程序段: MOV AX,6540H MOV DX,3210H MOV CL,04 SHL DX,CL MOV BL,AH SHL AX,CL SHR BL,CL
39
OR DL,BL
试问上述程序段运行后,
(AX)=5400H (BL)=06H (DX)=2106H
35、分析下面程序段, MOV AL,200 SAR AL,1 MOV BL,AL MOV CL,2 SAR AL,CL ADD AL,BL
试问程序段执行后(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
40