BIOS 从不同的端口连续读取两次到同一个寄存器

Jiahao Cai

我是组装新手。在试图弄清楚 BIOS 做什么时,我使用gdb来跟踪它。然而,我发现了一些对我来说很奇怪的事情。
代码段是这样的:

[f000:d129]    0xfd129: mov    eax,0x8f
[f000:d12f]    0xfd12f: out    0x70,al
[f000:d131]    0xfd131: in     al,0x71
[f000:d133]    0xfd133: in     al,0x92
[f000:d135]    0xfd135: or     al,0x2
[f000:d137]    0xfd137: out    0x92,al

我想知道为什么 BIOS 会连续从端口 0x71 和 0x92 读取。第二条指令会覆盖从端口 0x71 读取的值吗?那么为什么它从端口 0x71 读取呢?

谢谢!

布伦丹

IO口0x70为“CMOS/RTC索引寄存器”,IO口0x71为“CMOS/RTC数据寄存器”。要访问 CMOS 中的某些内容,您应该设置索引,然后读取/写入数据寄存器。

对于某些 RTC 芯片,如果您设置索引并且不读取或写入数据寄存器,则芯片处于未定义状态。这意味着如果你想为以后设置一个索引,你必须从数据寄存器中读取以避免现在和以后之间的“未定义状态”。

换句话说; 读取的值不相关 - 读取会导致副作用,而重要的是副作用。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何读取BIOS闪存?

来自分类Dev

MIPS:将两个连续的“加载字”指令放入同一个寄存器是否合法?

来自分类Dev

MIPS:将两个连续的“加载字”指令放入同一个寄存器是否合法?

来自分类Dev

我可以刷写与PC附带的BIOS不同的BIOS吗?

来自分类Dev

从aptio BIOS引导到Windows

来自分类Dev

BIOS如何准确读取第一个扇区

来自分类Dev

BIOS如何读取驱动器?

来自分类Dev

为什么在调用一个函数后两次将此代码弹出到同一寄存器中两次?

来自分类Dev

如何防止Windows 7读取BIOS时间?

来自分类Dev

引导到VMWare Player中的BIOS

来自分类Dev

如何从终端正确重启到BIOS?

来自分类Dev

是在启动时从BIOS芯片中读取BIOS还是将其复制到RAM中?

来自分类Dev

如何从外部监视器访问BIOS?

来自分类Dev

BIOS无法检测驱动器

来自分类Dev

连接驱动器时BIOS黑屏

来自分类Dev

一个指针寄存器可以使用两次吗?

来自分类Dev

使用BIOS浏览器会使我的BIOS受到威胁吗?

来自分类Dev

BIOS连续按一个键,在内部填充键盘缓冲区

来自分类Dev

处理器如何从SPI闪存读取BIOS?

来自分类Dev

DualBoot,BIOS级别有两个磁盘

来自分类Dev

BIOS升级后,ThinkServer TS140没有开机自检(两次哔哔声)

来自分类Dev

戴尔 BIOS 启动顺序中的相同操作系统 (Windows 10) 两次

来自分类Dev

BIOS中仅识别最新使用的SATA端口

来自分类Dev

使用错误的BIOS修改Asus Z170板上的ia32功能控制寄存器

来自分类Dev

无法从USB闪存驱动器启动,我的BIOS与其他任何BIOS都不一样

来自分类Dev

Windows 7 GPT到MBR?EFI到BIOS

来自分类Dev

如何使用BIOS中断读取第二张软盘

来自分类Dev

如何正确从Bios数据区域中的地址读取值?

来自分类Dev

如何从Linux CLI读取/写入所有BIOS设置?

Related 相关文章

  1. 1

    如何读取BIOS闪存?

  2. 2

    MIPS:将两个连续的“加载字”指令放入同一个寄存器是否合法?

  3. 3

    MIPS:将两个连续的“加载字”指令放入同一个寄存器是否合法?

  4. 4

    我可以刷写与PC附带的BIOS不同的BIOS吗?

  5. 5

    从aptio BIOS引导到Windows

  6. 6

    BIOS如何准确读取第一个扇区

  7. 7

    BIOS如何读取驱动器?

  8. 8

    为什么在调用一个函数后两次将此代码弹出到同一寄存器中两次?

  9. 9

    如何防止Windows 7读取BIOS时间?

  10. 10

    引导到VMWare Player中的BIOS

  11. 11

    如何从终端正确重启到BIOS?

  12. 12

    是在启动时从BIOS芯片中读取BIOS还是将其复制到RAM中?

  13. 13

    如何从外部监视器访问BIOS?

  14. 14

    BIOS无法检测驱动器

  15. 15

    连接驱动器时BIOS黑屏

  16. 16

    一个指针寄存器可以使用两次吗?

  17. 17

    使用BIOS浏览器会使我的BIOS受到威胁吗?

  18. 18

    BIOS连续按一个键,在内部填充键盘缓冲区

  19. 19

    处理器如何从SPI闪存读取BIOS?

  20. 20

    DualBoot,BIOS级别有两个磁盘

  21. 21

    BIOS升级后,ThinkServer TS140没有开机自检(两次哔哔声)

  22. 22

    戴尔 BIOS 启动顺序中的相同操作系统 (Windows 10) 两次

  23. 23

    BIOS中仅识别最新使用的SATA端口

  24. 24

    使用错误的BIOS修改Asus Z170板上的ia32功能控制寄存器

  25. 25

    无法从USB闪存驱动器启动,我的BIOS与其他任何BIOS都不一样

  26. 26

    Windows 7 GPT到MBR?EFI到BIOS

  27. 27

    如何使用BIOS中断读取第二张软盘

  28. 28

    如何正确从Bios数据区域中的地址读取值?

  29. 29

    如何从Linux CLI读取/写入所有BIOS设置?

热门标签

归档