2

X86指令中已涵盖APM关闭以实模式关闭计算机?

如何重新启动而不是关闭计算机?请在您的回答中引用并解释相关文档/标准。

我了解 APM 和 ACPI 是两种主要方法,我对这两种方法都感兴趣。让我知道是否还有其他人。

我发现 ACPI 规范位于http://uefi.org/specifications但它需要太多的脑力来解析它,我发现它值得一个问题。

我找不到 APM 规范的 URL,这里只有 Microsoft RTF 的 Google 缓存。

如果您需要一种方法来测试您的答案,这个最小的 APM 关闭引导扇区示例可能是一个很好的起点。目标是将其转换为重新启动示例。

我已经在arch/x86/realmode/rm/reboot.S阅读了 Linux 内核 4.2 代码,但我不明白它是如何工作的,因为我找不到这些命令和我的工作关闭示例之间的区别。

与超级用户相关的更通用:https ://superuser.com/questions/294681/how-does-a-computer-restart-itself

保护模式的相关问题:在保护模式下重新启动

4

2 回答 2

3

如果引导介质上不存在内核文件,我将在软盘引导映像中使用以下代码来重置 pc。

Reboot:
    db 0x0ea 
    dw 0x0000 
    dw 0xffff 

它基本上汇编为以下指令:

jmp     far ptr 0FFFFh:0 

我认为这是一个热重启,即相当于按Ctrl-Alt-Delete,而不是按机器前面的重置按钮。

于 2015-09-21T02:36:29.773 回答
0

适用于我的旧电脑 8086:

mov ds, ax
mov ax,0000
mov [0472], ax
jmp FFFF:000
于 2016-02-02T15:20:48.240 回答