首页 文章

x86指令集路线图

提问于
浏览
7

经过长时间的高级编程后,我只是触摸了x86指令集的表面 . 大约20年来,我第一次阅读x86汇编编程,从我的谷歌搜索中我得到了大量的指令集引用;从那些将新一代处理器(286,386,486 ......)与其他添加更新x86指令的处理器混合在一起的处理器 . 更不用说AMD的变化 .

由于我打算构建一个引导装载程序,我首先想到的是完全符合'标准x86',但我无法弄清楚它的位置,甚至它是否存在于任何地方 .

甚至英特尔的文档似乎都遵循相同的路径,就像另一个人说的那样,“我们需要x86指令集标准化,操作码的演变是混乱的” .

持有标准化旗帜并不是我的想法 . 我只想看看路,了解哪里是安全的行走地点 . 如果有人可以提供帮助,我会非常感激!

2 回答

  • 1

    从历史上看,x86一直非常向后兼容 . x86-64抛弃了一些非常旧的指令(比如BCD指令),但这种更改不太可能再次发生(至少在64位地址空间转换发生之前不会发生) .

    如果要确保代码几乎适用于所有x86处理器,请坚持使用386指令集(如果您的代码是32位)或早期的x86-64指令集(如果它是64位) .

  • 5

    引导加载程序以16位实模式执行(尽管您可以通过操作数大小前缀访问32位寄存器) . 获得386指令参考,您将是安全的 .

相关问题