C++ - 32位保护模式

C++ - 32 bit Protected Mode

本文关键字:模式 保护 32位 C++      更新时间:2023-10-16

我正在开发一个操作系统内核,它将以 32 位C++编写。我需要弄清楚如何启用 32 位保护模式/启用 a20 门C++。那么,你能告诉我这是否可能,如果可能,如何?谢谢。

C 和 C++ 不知道"a20 门"是什么以及如何启用它。与"32 位保护模式"相同。这将需要通过特定的机器代码来完成。现在,正确的问题是如何从C++程序中调用此代码。根据编译器C++,可能有几种不同的方法可以做到这一点:

1)最简单的方法是使用asm__asm__asm__块的嵌入式汇编代码。仔细阅读您的C++编译器文档,了解如何使用它。我不确定所有编译器都支持这一点。

2) 使用汇编程序使用汇编代码编写代码,以便可以从C++应用程序调用它。使用 extern "C" 在程序中声明函数C++以便可以调用它。

3)更讨厌的是:把你的汇编代码放到一个字节数组中,把数组的地址转换成一个指向函数的指针,然后调用它。对机器代码和 C/C++ 调用约定的大量了解是工作所必需的。