汇编当中数据段的问题

plane_more 2016-08-30 10:43:11
刚刚在定义多个段的时候发现了一个问题,比如:

data segment
dw 0,0,0,0,0,0,0,0
data ends
code segment
start:
......//汇编指令
ends
end start

比如这个例子,我在开头定义了一个8字大小的空间,然后我在debug中比较了一下data数据段的段地址和代码段的段地址,发现这两个段地址是连续的,我data段空间大小应该是16字节,也就是说data段的段地址和代码段的段地址应该至少相差16字节才对,可为什么实际运行的时候这两个段的段地址的是连续的,比如data段的段地址是076A,code段的就会是076B,求大神指教,为什么会是这样
...全文
1801 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
wintertwinkle 2017-01-14
  • 打赏
  • 举报
回复
076A0-076B0=16
qq_36675988 2016-11-10
  • 打赏
  • 举报
回复
段地址是要乘以16的,他们这两个段地址都乘以16后,不刚好多出了16个字节的内存吗
zara 2016-08-31
  • 打赏
  • 举报
回复
段,起始地址如果不是特殊处理,都是从 0000 开始的;这样,数据段是 076A:0000 DS=076A 的话,大小为 16 字节,那下一可用的自然就是 076A:0010 = 076B:0000 了,所以 CS=076B;段址,其单位是 10h 字节,即在计算最后有效地址时是要左移 4 位的。
xiaooooming 2016-08-30
  • 打赏
  • 举报
回复
连续是不是应该这样:数据段 076A:0000然后代码段076A:0010 我是在刚学。。。
plane_more 2016-08-30
  • 打赏
  • 举报
回复
如图,为何这两段地址中的值完全不一样,按说应该有交集才对啊
plane_more 2016-08-30
  • 打赏
  • 举报
回复
在线等,急!!!!
plane_more 2016-08-30
  • 打赏
  • 举报
回复
最后ends那里掉了个code

21,458

社区成员

发帖
与我相关
我的任务
社区描述
汇编语言(Assembly Language)是任何一种用于电子计算机、微处理器、微控制器或其他可编程器件的低级语言,亦称为符号语言。
社区管理员
  • 汇编语言
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧