早教吧 育儿知识 作业答案 考试题库 百科 知识分享

汇编指令求解释每一行的意思和运行的结果是什么啊?OEG2000HNUM1DB200,2DUP(1,2),'ABC'NUM2DW12,'9',1234H,5678HCNTEQU$-NUM2LEABX,NUM1ADDBX,CNTMOVAL,BYTEPTRNUM2+2寄存器BX的值?

题目详情
汇编指令求解释 每一行的意思和运行的结果是什么啊?
OEG 2000H
NUM1 DB 200,2 DUP(1,2),'ABC'
NUM2 DW 12,'9',1234H,5678H
CNT EQU $-NUM2
LEA BX,NUM1
ADD BX,CNT
MOV 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