![]() |
![]() |
Probel |
![]()
Сообщение
#1
|
![]() Новичок ![]() Группа: Пользователи Сообщений: 25 Пол: Мужской Репутация: ![]() ![]() ![]() |
Доброго времени суток!
Хочу вот процедуры для TMT Pascal для: - перезагрузки компьютера (желательно холодную и теплую) - выключения компьютера (это где есть поддержка APM) - и другие, вроде остановки компа (Hang Mashine) есть исходник модуля для TP со всеми этими делами, кроме вырубления компа, но там ассемблер 16-битный и в TMT не пашет ![]() дело в том что как-то я смотрел одну операционку "MenuetOS"(может кто слыхал) она вся на асме написана, но главное что все эти процедуры там есть и на сколько я понял, они пашут в 32-битном PMode... вот к примеру я выдрал для выключения компа: написано на fasm. можно ли это как-нить внидрить в TMT Pascal? Сообщение отредактировано: volvo - 3.11.2006 0:47 -------------------- на этом все и заканчивается
|
![]() ![]() |
Probel |
![]()
Сообщение
#2
|
![]() Новичок ![]() Группа: Пользователи Сообщений: 25 Пол: Мужской Репутация: ![]() ![]() ![]() |
спасиб, просто я не очень то селен в асме, думал что у кого-нить завалялись исходники по сабжу...
а вырубать камп я как-то странно умудрился %) просто поменял все цыфорки(там где ax) из шестнацатиричной->десятичную систему счисления и камп стал вырубаться в TMT... хотелось бы перезагрузку как-нибудь сделать... вот была у меня для fasm: Код Org 100h mov ax, 40h mov es, ax mov di, 72h xor ax, ax db 0eah, 0, 0, 0ffh, 0ffh ret переделал в pascal 32bit(если похоже ![]() Код procedure Reboot; asm mov eax, 40h mov es, ax mov edi, 72h xor ax, ax db 0eah, 0, 0, 0ffh, 0ffh ret end; и получаю RunError 216 ![]() такая же фигня, когда мне посоветовали на другом форуме: Код type с чем это может быть связано?p_word = ^word; Var hook : p_word; Procedure Reboot(Cold : Boolean); begin hook := p_word(ptr($472)); if (Cold = True) then hook^ := $0000 else hook^ := $1234; ExitProc := pointer(ptr($FFFF0)); end; begin Reboot(False); Halt; end. Сообщение отредактировано: Probel - 7.12.2005 21:32 -------------------- на этом все и заканчивается
|
![]() ![]() |
![]() |
Текстовая версия | 27.07.2025 11:24 |