gpt4 book ai didi

c - 在 C 中使用 BIOS 显示数据

转载 作者:太空宇宙 更新时间:2023-11-03 23:57:00 24 4
gpt4 key购买 nike

有没有办法在c中使用bios打印数据。我知道在汇编中你可以使用 int 0x10,但是 C 有什么等价物吗?

最佳答案

这取决于操作系统是否已经在运行。
如果是,则取决于正在运行的操作系统。但通常情况下,如果使用 C,C stdlib 应该可用。所以使用 printf() 和/或标准输出...

如果没有可用的操作系统,则取决于 CPU 模式。

如果 CPU 在实模式下运行,则使用 10h BIOS 中断。
你甚至可以在 C 中做到这一点。大多数 C 编译器允许内联汇编。
例如,对于 GCC,使用 __asm 关键字。

如果您处于 32 位保护模式,您需要手动管理视频,因为 BIOS 中断不再可用。

在这种情况下,打印数据只是写入包含视频缓冲区的内存区域。您需要知道您处于哪种视频模式,以便以正确的格式写入数据,以及内存缓冲区的内存地址是多少。
在这种情况下,只需声明一个指向内存区域的字符指针,然后写入字符...

关于c - 在 C 中使用 BIOS 显示数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3303879/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com