【发布时间】:2014-11-15 03:49:42
【问题描述】:
出于教育目的,我正在从头开始实施一个小型操作系统。
现在,我想使用程序集来获取 BIOS 时间。我为此搜索了很多,但找不到任何代码示例。
如果有人可以提供任何参考或代码示例或与此相关的任何内容,我将不胜感激。
【问题讨论】:
-
架构是i386
出于教育目的,我正在从头开始实施一个小型操作系统。
现在,我想使用程序集来获取 BIOS 时间。我为此搜索了很多,但找不到任何代码示例。
如果有人可以提供任何参考或代码示例或与此相关的任何内容,我将不胜感激。
【问题讨论】:
我不知道这对你有多大帮助,但我建议你开始阅读 osdev.org 上的文章。你可能会在 http://wiki.osdev.org/RTC 和 http://wiki.osdev.org/CMOS#Getting_Current_Date_and_Time_from_RTC 找到相关的东西。我猜你的操作系统会是16 位,因此您可以访问 BIOS 中断,您也可以在他们的论坛上找到一些有用的答案。我还写了一个非常基本的 32 位操作系统(它不包括任何时钟),但是如果您想查看源代码,请随意:http://os.sourcecodeplease.net/
【讨论】:
现在这可能是错误的,但它是 i386 时代的一个中断。我想说那是11点。
【讨论】:
见time-of-day interrupt 1a documentation。所以试试:
mov ah, 0
int 01ah
从午夜开始的时钟滴答数将在cx:dx 中返回。每天有0x1800B0 时钟滴答。
【讨论】: