ds存放段地址
答案:2 悬赏:10
解决时间 2021-04-21 13:19
- 提问者网友:优雅ぉ小姐
- 2021-04-20 17:42
ds存放段地址怎是1000H,不是内存单元是10000H吗?物理地址=段地址×10H+偏移地址,段地址×10H+偏移地址=1000H×10H+0000H=10000H。我只知道这个。另外指令 mov [0],al 可否用 mov [0000],al 表示?
最佳答案
- 二级知识专家网友:我颠覆世界
- 2021-04-20 18:49
ds段不一定非得是1000,用这个只是为了方面计算。
如:内存地址12345,那么可以是:
ds=1234, mov al, ds:[5]
或者
ds=1000, mov al, ds:[2345]
这些是相等的。
mov [0],al 和 mov [0000],al 是相等的。
全部回答
- 1楼网友:闲懒诗人
- 2021-04-20 19:52
楼主应该多了解什么是物理地址,什么是逻辑地址的问题。。。~~~~~
ds是数据段的开始·~~~~~~ 对应内存的物理地址就是你说的 物理地址=段地址×10H+偏移地址
也就是说,从那个物理地址开始存放的是本程序的用到的代码
即:
data1 segment
str db ‘36H’
data1 ends
好好再看看汇编里的分段机制~~~~
学汇编,我感觉就是学内存的存储机制问题,当然还有那些寄存器~~
仅仅个人意见
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯