微机原理汇编语言x86题如何解决

设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直接执行该程序应从地址   ⑥   开始。

使用DEBUG单步执行,根据执行结果回答。

①40000H②34H③3④243⑤33H⑥80200H