16.
MOV AL,80H MOV CL,2 SAR AL,CL
上述指令序列执行后,结果是________。 17. 某数据段如下:
DATA SEGMENT ORG 20H X DB 12H Y DW 789H DATA ENDS
Y单元的偏移地址是________。 18.
DATA SEGMENT DA1 DB 32 DUP(?) DA2 DW 1456H,798AH DA3 DW DA2 DATA ENDS ┆
MOV BX,DA3
上述指令执行后,BX中的内容是________。
19. 下面程序段执行后,从A1单一开始的10个字节内容是什么?A1 DB 10 DUP(0)
A2 DB 1,2,3,?,0AH;10个数 ┆
MOV CX,LENGTH A1
MOV SI,SIZE A1-TYPE A1
LOP MOV AL,A2[SI] MOV AL[SI],AL
SUB SI,TYPE A1 DEC CX JNE LOP ┆
20. 分析下面程序段,回答下列问题。 ⑴ 该程序段是什么结构的程序?
⑵ 程序执行后,DL=_____,屏幕上显示的字符是_________。 BUF DB 0CH ┆
MOV AL,BUF
9
CALL FAR PTR HECA ┆
HECA PROC FAR CMP AL,10 JC K1 ADD AL,7 K1: ADD AL,30H MOV DL,AL
MOV AH,2 INT 21H RET
HECA ENDP 21.
DB1 DW 1456 ┆
MOV AX,DB1
MOV CX,4
MOV DL,10 LOP : DIV DL MOV BL,AH MOV BH,0 PUSH BX MOV AH,0
LOOP LOP
上述程序段执行后,试回答: A. 向堆栈中压入了几个数据?
B. 按压如的先后顺序,用十六进制数表示压入堆栈的数据。 22. 现有一子程序:
SUB1 PROC
TEST AL,80H JE PLUS TEST BL,80H JNE EXIT0 JMP XCHANGE PLUS: TEST BL,80H JE EXIT0 XCHANGE: XCHG AL,BL EXIT0: RET SUB1 ENDP 试回答:
A. 子程序的功能是什么?
B. 如调用子程序前AL=9AH,BL=77H,那么返回主程序时,AL=________,BL=
10
_______。
23.
XOR AL,AL MOV AH,AL ADD AH,0 JZ NEXT XCHG AH,AL JMP K1
NEXT: MOV AH,0FFH K1: ?
上述程序运行后,AH=__________,AL=____________。 24. XOR AL,AL INC AL NEG AL INC AL
MOV BL,7FH ADC AL,BL C
25.已知
AX=1234H MOV BX,AX NEG BX ADD AX,BX
执行上述三条指令后,AX=__________,ZF=____________,CF=____________。 26.
BUF1 DB 41H,42H,43H,44H,45H,46H BUF2 DB 6 DUP(?) ┆
MOV SI,OFFFSET BUF1 MOV DI,OFFFSET BUF2 MOV CX,6 LOP: MOV AL,[SI]
SUB AL,7 AND AL,0FH MOV [DI],AL INC SI INC DI LOOP LOP
试回答:
11
A. 上述程序段执行后,BUF2开始的6个字节的存储单元的内容是什么? B. 在程序单元不变的情况下,AND AL,0FH指令可否用SUB AL,30H指令代替。
27.
BUFF DB’ABD & QC % $ A?XYZ’ CONT EQU 4 –BUFF ┆ CLD
LEA DI,BUFF MOV CX,CONT MOV AL,’$’ XOR DX,DX
NEXT: REPNZ SCASB CMP CX,0 JZ K1 INC DX JMP NEXT K1: ?
上述程序段运行后,DX中的值表示的意义是什么? 28.
DA-BY DB 83H,72H,61H,94H,5AH ┆
MOV CX,WORD PTR DA-BY AND CX,0FH MOV AL,DA-BY+3 AHL AL,CL
上述指令序列后,AL=__________,CL=____________。 29.
ADBX ┆
MOV AX,0
MOV AL,BYTE PTR A MOV CL,10 MUL CL
该程序段完成的功能的数学表达式是__________,结果放在__________中。 30.
ORG 1000H DA1 DB ┆
12