从ACPI Spec 4.0第299页,有一些示例代码显示如何将机器置于S3睡眠状态。我只是想知道导致硬件睡眠的最后指令是什么?下面的代码后会发生什么?为什么?
mov edx, PM1a_SLP_TYP ; get address for PM1a_SLP_TYP
out dx, ax ; start h/w sequencing
mov edx, PM1b_SLP_TYP ; get address for PM1b_SLP_TYP
out dx, ax ; start h/w sequencing
答案 0 :(得分:2)
基本上,这两个位置的系统上有一些硬件(PM1a_SLP_TYP和PM1b_SLP_TYP)。
'mov'指令指定硬件中睡眠功能的端口,out dx,ax将指令发送到端口。
现在你不要说这是AX的价值。可能性是不同睡眠类型的价值变化。
但是,简单地说,这些指令正在将睡眠命令发送到电源管理硬件以执行该功能。