什么是导致机器进入S3睡眠状态的最后一条指令?

时间:2011-04-15 22:48:33

标签: assembly bios suspend acpi

从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

1 个答案:

答案 0 :(得分:2)

基本上,这两个位置的系统上有一些硬件(PM1a_SLP_TYP和PM1b_SLP_TYP)。

'mov'指令指定硬件中睡眠功能的端口,out dx,ax将指令发送到端口。

现在你不要说这是AX的价值。可能性是不同睡眠类型的价值变化。

但是,简单地说,这些指令正在将睡眠命令发送到电源管理硬件以执行该功能。