Вход и выход из спящего режима - Assembler
Формулировка задачи:
Доброе время суток. необходимо написать программу для входа и выхода из спящего режима на компьютере. Необходимо, чтобы в приложении можно было контролировать спящий режим. Что может помочь мне? Есть ли пример или листинг подобной программы. Заранее спасибо!
Решение задачи: «Вход и выход из спящего режима»
textual
Листинг программы
org 100h mov ax, 5301h sub bx, bx int 15h ; APM BIOS Services - Real mode interface connect ; BX = Power device ID (0000h = APM BIOS) jc short gtfo mov ax, 530Eh sub bx, bx mov cx, 102h int 15h ; APM BIOS Services - APM driver version jc short gtfo mov ax, 5307h mov bx, 1 mov cx, 3 ; Power state = OFF int 15h ; APM BIOS Services - Set power state gtfo: int 20h ; DOS - PROGRAM TERMINATION
Объяснение кода листинга программы
Код на языке Assembler выполняет следующие действия:
- Подключается к интерфейсу реального режима APM BIOS Services с помощью функции int 15h.
- Вызывает функцию APM BIOS Services для получения номера версии драйвера APM с помощью функции int 15h.
- Если номер версии драйвера не равен нулю, код переходит к выполнению других действий.
- Перемещает значение 1 в регистр bx.
- Перемещает значение 3 в регистр cx.
- Вызывает функцию APM BIOS Services для установки состояния питания в режим выключения с помощью функции int 15h.
- Если произошло исключение, код переходит к выполнению других действий.
- Вызывает функцию DOS для завершения программы с помощью функции int 20h.
Переменные:
- ax — 5301h: Регистр ax содержит номер услуги, которую необходимо выполнить в APM BIOS Services.
- bx — bx: Регистр bx используется в качестве второго параметра при вызове функции int 15h для подключения к APM BIOS Services.
- cx — 102h: Регистр cx используется в качестве параметра при вызове функции int 15h для получения номера версии драйвера APM.
- cx — 3: Регистр cx используется в качестве параметра при вызове функции int 15h для установки состояния питания в режим выключения. Номера регистров и указанные в скобках значения являются представлениями, а не реальными именами регистров.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д