导致机器进入 S3 睡眠状态的最后一条指令是什么?
从 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
From ACPI Spec 4.0 page 299, there is some sample code to show how to put the machine into S3 sleep. I just wondering what are the last instructions to cause the hardware to sleep? What happens after following code, and why?
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
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
本质上,系统上有一些硬件位于这两个位置(PM1a_SLP_TYP 和 PM1b_SLP_TYP)。
“mov”指令指定硬件中睡眠功能的端口,out dx、ax 将指令发送到端口。
现在你不要说这里AX的值是什么。不同睡眠类型的值很可能会发生变化。
但是,简单地说,这些指令将睡眠命令发送到电源管理硬件以执行该功能。
Essentially, there's some hardware on the system at those two locations (PM1a_SLP_TYP and PM1b_SLP_TYP).
The 'mov' instructions specify the ports for the sleep function in the hardware, and the out dx, ax sends the instructions to the ports.
Now you don't say here was the value of AX is. Odds are that value changes for the different sleep types.
But, simply put, these instructions are sending the sleep commands to the power management hardware to perform the function.