寻址是我觉得入门时遇到的最难的最大的问题, 因为这是有许多年轻人不知道的历史典故的, 必须有历史的积淀
看orange‘s的时候, 寻址是最先的一个坎, 8086的历史告诉我们, 20位地址线 16位的寄存器 所产生的是无法直接寻址的痛苦, 这里的直接是 单用一个16位的寄存器来提交给cpu 因为毕竟还有4位的空间告诉我们 可以寻址1MB=1024KB=2^20B的内存地址空间 而非仅仅2^16B
(当然那时候的寄存器没有32位, 更没有32的地址线, 不然这问题就没有了), 这就引出了经典的著名的 段地址:偏移 这样的模式, 由16位的段寄存器 和 16位的普通寄存器组成, 稳稳地寻址1MB+
可是时代进步了, 32位替代了16位寄存器和16位地址线, 而计算机插电启动后仍是按照16位寻址, 为了向上兼容, 而向32位就是所谓的保护模式转换就另辟奚径 引入了新的数据结构 GDT 选择子……