设DATA=4000H,ABC=4050H,CODE=8000H, STACK1=6000H。
DATA SEGMENT
ABC DB 100, 10, 1
DATA ENDS
STACK1 SEGMENT STACK
DB 20 DUP(0)
STACK1 ENDS
CODE SEGMENT
ASSUME CS: CODE, DS: DATA, SS: STACK1
ORG 200H
BEGIN: MOV AX, DATA
MOV DS, AX
MOV AL, OF3H
LEA BX, ABC ;
MOV CX, 3
LOP: MOV DL, 30H ;
LOP1: SUB AL, [BX]
JB LOP2
INC DL
JMP LOP1
LOP2: ADD AL, [BX]
PUSH AX
MOV AH, 2
INT 21H
POP AX
LOOP LOP
MOV AH, 4CH
INT 21H
CODE ENDS
END BEGIN
第一次执行SUB AL,[BX]时,源操作数所在存储器的物理地址是什么。通过执行INC DL,其中在DL中出现过的最大值是 多少 。由指令LOOP LOP引起的循环有 几次。程序执行的最后结果,在屏幕上显示 什么。程序执行结束时,寄存器AL中的最后结果是 多少 。CPU直接执行该程序应从地址 哪里 开始。
源操作数所在存储器的物理地址是:4050H (ABC 的起始地址)
DL 中出现过的最大值是:33H
循环执行了 3 次
最后结果在屏幕上显示出来的是:一个数字序列,每个数字表示当前DL的值
程序执行结束时,寄存器AL中的最后结果是:0
CPU直接执行该程序应从地址 800:2000H 开始。