定义了两个字节变量,为什么它们的地址不连续?

bluerainbow 2003-03-18 07:34:18

......
f1 db 1h
f2 db 2h
......

在内存中的位置是:0000,和0002,我并没有使用even语句,为什么会这样?
...全文
142 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
hswxf 2003-03-19
  • 打赏
  • 举报
回复
你的定义是二个空间,不是连续定义,存储器是以奇偶地址来存放数据的,如果不是连续存放就如你所说,如果连续如:
f1 db 1h,2h
再看一下结果
如从数据结构上解说,同意楼上
LittleStar 2003-03-19
  • 打赏
  • 举报
回复
to:老猫
有什么汇编选项可以呀。
明明定义的是db怎么可能在内存中用dw存放呢?
solrac 2003-03-19
  • 打赏
  • 举报
回复
同意楼上的,字节对齐。
OldKitty 2003-03-19
  • 打赏
  • 举报
回复
跟汇编器和你的汇编选项以及你的处理器体系架构有关。如果处理器必须16bit对齐才能正确的访问变量,那就必须2字节对齐。
LittleStar 2003-03-19
  • 打赏
  • 举报
回复
仔细看一下完整的段定义。
刚才看了一下,斑竹所说的情况可能存在(实在我也不清楚,也要仔细看一下)。
bluerainbow 2003-03-19
  • 打赏
  • 举报
回复
多谢!
用户 昵称 2003-03-19
  • 打赏
  • 举报
回复
据说有编译选项
用户 昵称 2003-03-19
  • 打赏
  • 举报
回复
不会
whhif 2003-03-18
  • 打赏
  • 举报
回复
不会吧!
把你的程序完整贴上来

21,458

社区成员

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

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