; =============================================================== ; =============================================================== name REBOOT ; =============================================================== ; === Начало программы: === CSEG segment assume cs:cseg, ds:cseg, ss:cseg, es:cseg org 100h ; COM файл ; =============================================================== Start: mov ah,0dh ; сбрасывает (пишет на диск) все файловые буфера. int 21h mov cx,0010h ; старшие 16 бит 32-битовой задержки в микросекундах mov dx,0000h ; младшие 16 бит 32-битовой задержки в микросекундах mov ah,86h int 15h ; пауза 1 секунда mov ax,5301h xor bx,bx int 15h ; активизация функции управления питанием jnc OK1 lea dx, msg1 jmp short error OK1: mov ax,530Eh xor bx,bx mov cx,102h int 15h ; запрос версии APM 1.2 jnc OK2 lea dx, msg2 jmp short error OK2: mov ax,5307h xor bx,bx inc bx mov cx,3 int 15h ; выключить компьютер ret error: mov ah, 09h ; вывод строки int 21h ret ; =============================================================== ; информационные сообщения об ошибках: msg1 db 'No APM', 0Dh,0Ah, 24h msg2 db 'No APM 1.2', 0Dh,0Ah, 24h CSEG ends end Start ; =============================================================== ; =============================================================== |