汇编指令求解释 每一行的意思和运行的结果是什么啊?OEG 2000HNUM1 DB 200,2 DUP(1,2),'ABC'NUM2 DW 12,'9',1234H,5678HCNT EQU $-NUM2LEA BX,NUM1ADD BX,CNTMOV AL,BYTE PTR NUM2+2寄存器BX的值?
网友回答
【答案】 OEG 2000H ;告诉编译器指定代码装入地址
NUM1 DB 200,2 DUP(1,2),'ABC' ;定义NUM1变量,单位字节数据为:200,1,2,1,2,‘A’(41H),‘B’(42H),‘C’(43H)
NUM2 DW 12,'9',1234H,5678H ;定义NUM2变量,单位字数据为:12(000CH),'9'(0039H),1234H,5678H
CNT EQU $-NUM2 ;指定CNT等于当前地址减去NUM2地址,结果是NUM2变量的长度
LEA BX,NUM1 ;取NUM1地址,相当于MOV BX,OFFSET NUM1
ADD BX,CNT ;BX+CNT(NUM2长度)
MOV AL,BYTE PTR NUM2+2 ;NUM2+2地址处取一个字节给AL,即AL=39H