Доброго времени суток!
Хочу вот процедуры для TMT Pascal для:
- перезагрузки компьютера (желательно холодную и теплую)
- выключения компьютера (это где есть поддержка APM)
- и другие, вроде остановки компа (Hang Mashine)
есть исходник модуля для TP со всеми этими делами, кроме вырубления компа, но там ассемблер 16-битный и в TMT не пашет Скажите: возможно ли вообще перезагрузиться вырубить комп и др. под защищенным режимом?
дело в том что как-то я смотрел одну операционку "MenuetOS"(может кто слыхал) она вся на асме написана, но главное что все эти процедуры там есть и на сколько я понял, они пашут в 32-битном PMode... вот к примеру я выдрал для выключения компа:
написано на fasm. можно ли это как-нить внидрить в TMT Pascal?
org 100h
use16 ; это я для проверки написал, на самом деле
; там все в 32-битном пашет...
call APM_PowerOff
APM_PowerOff:
mov ax,0x5300
xor bx,bx
int 0x15
push ax
mov ax,0x5301
xor bx,bx
int 0x15
mov ax,0x5308
mov bx,1
mov cx,bx
int 0x15
mov ax,0x530E
xor bx,bx
pop cx
int 0x15
mov ax,0x530D
mov bx,1
mov cx,bx
int 0x15
mov ax,0x530F
mov bx,1
mov cx,bx
int 0x15
mov ax,0x5307
mov bx,1
mov cx,3
int 0x15
А в чем проблемы? Есть же встроенный асм... Попробуй, внедри.
To: Probel
Я тебе же говорил, что нужен 32-битный асм!
Исправь все
ax->eax
dx->edx
и т.д.
спасиб, просто я не очень то селен в асме, думал что у кого-нить завалялись исходники по сабжу...
а вырубать камп я как-то странно умудрился %) просто поменял все цыфорки(там где ax) из шестнацатиричной->десятичную систему счисления и камп стал вырубаться в TMT... хотелось бы перезагрузку как-нибудь сделать...
вот была у меня для fasm: