【发布时间】:2015-05-06 15:44:47
【问题描述】:
我想为 16 位保护模式编写一些代码,特别是一个带有一些程序的简单操作系统。我知道这听起来很傻,而且可能确实如此,但我有兴趣了解如何在这些限制下编写程序。
我想知道在 16 位保护模式下工作的各种操作系统(例如 OS/2 和 Win 3.1)中采用了哪些类型的约定。他们使用了什么 ABI? far 指针是如何传递的?是否有针对不同代码模型的多个 ABI?
为了澄清,我知道什么是远指针以及它们在 API 级别上的使用方式。我想知道的是这在装配级别上是如何工作的。远指针的段是否在堆栈上传递?有什么特殊约定吗?
【问题讨论】:
标签: assembly abi protected-mode 80286