Какая последняя инструкция переводит компьютер в спящий режим S3?

#assembly #bios #suspend #acpi

#сборка #bios #приостановить #acpi

Вопрос:

На странице 299 спецификации ACPI 4.0 приведен пример кода, показывающий, как перевести компьютер в спящий режим 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:

По сути, в этих двух местах в системе есть некоторое оборудование (PM1a_SLP_TYP и PM1b_SLP_TYP).

Инструкции ‘mov’ определяют порты для функции сна в аппаратном обеспечении, а out dx, ax отправляет инструкции на порты.

Теперь вы не говорите, что здесь было значение AX is. Скорее всего, значение меняется для разных типов спящего режима.

Но, проще говоря, эти инструкции отправляют команды перехода в спящий режим на аппаратное обеспечение управления питанием для выполнения функции.