
DSEG SEGMENT DATA1 DB 10H,20H,30H DATA2 DW 10 DUP(?) STRING DB ‘123’ DSEG ENDS
写出各指令语句独立执行后的结果(1)MOVAL,DATA1(2)MOVBX,OFFSETDATA2(3)LEASI,STRINGADDDI,SI解:1)取变量DATA1的...
写出各指令语句独立执行后的结果
(1) MOV AL,DATA1
(2) MOV BX,OFFSET DATA2
(3) LEA SI,STRING
ADD DI,SI
解:
1)取变量DATA1的值. 指令执行后,(AL)=10H.
2)变量DATA2的偏移地址. 指令执行后,(BX)=0003H.
3)先取变量STRING的偏移地址送寄存器SI,之后送SI的内容与DI的内容相加并将结果送DI.指令执行后,(SI)=0017H;(DI)=(DI)+0017H.
问:怎么知道(BX)=0003H,,(SI)=0017H??????? 展开
(1) MOV AL,DATA1
(2) MOV BX,OFFSET DATA2
(3) LEA SI,STRING
ADD DI,SI
解:
1)取变量DATA1的值. 指令执行后,(AL)=10H.
2)变量DATA2的偏移地址. 指令执行后,(BX)=0003H.
3)先取变量STRING的偏移地址送寄存器SI,之后送SI的内容与DI的内容相加并将结果送DI.指令执行后,(SI)=0017H;(DI)=(DI)+0017H.
问:怎么知道(BX)=0003H,,(SI)=0017H??????? 展开
1个回答
展开全部
Result DW ?,'$' DATA ENDS STACK SEGMENT PARA STACK DB 20H DUP(0)STRING+2同理表示后面100 DUP(?)个字节数的首地址 lea dx,String mov
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询