我正在尝试在VGA中打开图形模式(在我们的课程内核中 - JOS)
我发现要这样做,我需要从实模式调用中断10h(8086)。
但是,在进入保护模式后进入实模式是一个问题所以我正在尝试使用V86模式
我发现为了使用V86模式,我需要将其作为一项任务运行,所以现在我正在努力增加对V86进程的支持。
我的内核是有限的,并且不包含正确的文件系统,因此为了加载实模式代码,我正在尝试编译并将它们全部链接在一起(内核和v86任务)。
那么有谁知道如何为真实模式创建精灵? 另外,如果有人能给我提示如何将它与内核链接起来那就太棒了!
谢谢,
晒。
答案 0 :(得分:1)
这必须是一个快速回答,但是:
我不知道如何/如何直接将实模式和保护模式代码链接在一起。但是,您可以尝试两件事:
直接将机器代码添加到与内核链接的程序集文件中。我没有一个真实的例子,但它可能看起来像这样:
EnterRealMode:
db 0b8h, 00h, 00h ; mov ax, 00h
db 0fe, 0ebh ; jmp $
etc.
此外,您可能希望实际上沉入真实模式而不是使用虚拟8086模式。如果你不这样做,BIOS调用的内存映射和中断可能都会很糟糕。 Advice on thunking down to real mode.