微机原理中的一道题目请教大家

若程序的数据段定义如下,写出各指令语句独立执行后的结果:DSEGSEGMENTDATA1DB10H,20H,30HDATA2DW10DUP(?)STRIGNDB'123'... 若程序的数据段定义如下,写出各指令语句独立执行后的结果:
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

答案给出的解释是这样的:
(1) 取变量DATA1的值。 指令执行后是, AL = 10H.
(2) 变量DATA2的偏移地址。指令执行后, BX = 0003H.
(3) 先取变量STRING的偏移地址送寄存器SI,之后将SI的内容与DI 的内容相加并将结果送DI。指令执行后,SI = 0017H;DI = DI+0017H.
我现在不明白关于第二个问题中,为什么BX = 0003H, 第三个问题中,为什么执行后SI =0017H,
展开
tudou0digua
推荐于2016-12-02 · TA获得超过375个赞
知道小有建树答主
回答量:269
采纳率:0%
帮助的人:337万
展开全部
data1,data2和string都在同一数据段,所以在内存中存放是从上往下存的
|10h|
|20h|
|30h|
20个空的内存单元(dw 10 dup()十个字)
31h (‘1’的assic码)
32h
33h
所以data2的偏移地址为0003h(从上往下第四个,10h的偏移地址为0000h)
string为0017h(即十进制的23)
追问
这么说来,DATA1,DATA2,STRING之间的相对偏移地址都是有关联的啊,我还以为他们是完全独立的的呢。
武汉多贝斯特
2024-10-09 广告
实验台对于实验室而言,是其核心组件之一,承载着实验室日常工作的核心任务。它不仅是实验操作的平台,更是科学研究和技术创新的基地。首先,实验台提供了稳定的工作空间。在进行各类实验时,无论是化学分析、物理测量还是生物实验,都需要一个稳定、平整的台... 点击进入详情页
本回答由武汉多贝斯特提供
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式