首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 嵌入开发 > 汇编语言 >

汇编语言中,为什么要求数据段的起始地址必须为16的倍数?该如何处理

2012-04-06 
汇编语言中,为什么要求数据段的起始地址必须为16的倍数?不理解,另外代码段、栈段也是一样的要求。这是为什么

汇编语言中,为什么要求数据段的起始地址必须为16的倍数?
不理解,另外代码段、栈段也是一样的要求。这是为什么??

[解决办法]

探讨
这个对齐,和数据访问上的对齐不是一个意思吧。
段的起始地址对齐,完全是由于其地址组成方式决定的。完整的地址当初被设计为 段址*16+偏址,所以就要求段对齐在 16 的倍数上了。定为 16 应该是和当时内存容量的预期有关。这样的地址形成方式可以访问到 1M 的内存空间,对当时来说,应该很大了。

热点排行