读书人

汇编语言中为什么要求数据段的起始地

发布时间: 2012-04-06 12:22:24 作者: rapoo

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

[解决办法]

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

读书人网 >汇编语言

热点推荐