繁体   English   中英

在C中使用BIOS显示数据

[英]Displaying data using BIOS in C

有什么办法可以使用c中的bios打印数据。 我知道在汇编中您可以使用int 0x10 ,但是C是否有等效项?

这取决于操作系统是否已经在运行。
如果是,则取决于正在运行的操作系统。 但是通常,如果使用C,则C stdlib应该可用。 因此,请使用printf()和/或stdout ...

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

如果CPU在实模式下运行,请使用10h BIOS中断。
您甚至可以在C语言中执行此操作。大多数C编译器都允许内联汇编。
例如,对于GCC,请使用__asm关键字。

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM