微机原理中偏移地址

微机原理中偏移地址若程序的数据段定义如下,写出各指令语句独立执行后的结果:
DSEG SEGMENT
DATA1 DB 10H,20H,30H
DATA2 DW 10 DUP(?)
STRIGN DB '123'
DSEG ENDS
(1) MOV AL,DATA1
(2) MOV BX,OFFSET DATA2
(3) LEA SI,STRING
ADD DI,SI

麻烦详细的说一下(2)(3)中的偏移地址怎么求

MOV BX,OFFSET DATA2
取变量DATA1的值. 指令执行后,(AL)=10H. 变量DATA2的偏移地址. 指令执行后,(BX)=0003H.
LEA SI,STRING
取变量DATA1的值. 指令执行后,(AL)=10H. 变量DATA2的偏移地址. 指令执行后,(BX)=0003H
温馨提示:答案为网友推荐,仅供参考
第1个回答  2018-05-10
求偏移地址就是求在数据段开始时的位置,本题中数据是从data1开始,所以data1第一个位置即data1偏移地址(10h)偏移地址为0000h,因为data1中有三个字节所以占了0000h到0002h,所以data2偏移地址为0003h。又因为data2为字形数据所以每个数据占一个字,所以偏移量为20+3也就是0017h。平板打字不易,望采纳。
相似回答