【问题标题】:How to get BIOS time using assembly ?如何使用程序集获得 BIOS 时间?
【发布时间】:2014-11-15 03:49:42
【问题描述】:

出于教育目的,我正在从头开始实施一个小型操作系统。
现在,我想使用程序集来获取 BIOS 时间。我为此搜索了很多,但找不到任何代码示例。
如果有人可以提供任何参考或代码示例或与此相关的任何内容,我将不胜感激。

【问题讨论】:

  • 架构是i386

标签: c time interrupt bios


【解决方案1】:

我不知道这对你有多大帮助,但我建议你开始阅读 osdev.org 上的文章。你可能会在 http://wiki.osdev.org/RTChttp://wiki.osdev.org/CMOS#Getting_Current_Date_and_Time_from_RTC 找到相关的东西。我猜你的操作系统会是16 位,因此您可以访问 BIOS 中断,您也可以在他们的论坛上找到一些有用的答案。我还写了一个非常基本的 32 位操作系统(它不包括任何时钟),但是如果您想查看源代码,请随意:http://os.sourcecodeplease.net/

【讨论】:

    【解决方案2】:

    现在这可能是错误的,但它是 i386 时代的一个中断。我想说那是11点。

    【讨论】:

      【解决方案3】:

      time-of-day interrupt 1a documentation。所以试试:

      mov ah, 0
      int 01ah
      

      从午夜开始的时钟滴答数将在cx:dx 中返回。每天有0x1800B0 时钟滴答。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2021-06-20
        • 2010-09-24
        • 2011-08-02
        • 2015-02-17
        • 2018-04-17
        • 2014-09-05
        • 2015-06-09
        相关资源
        最近更新 更多