Hello All !
Люди! По поводу резидентов на Паскале могу дать пару советов.
1. Писать их можно не хуже, чем на Си (хотя "настоящие профессионалы"
предпочитают Ассемблер, но попробуйте сваять 100-200k монстра со свопингом
в EMS/XMS/HDD), только надо точно знать, что при этом происходит как в
системе, так и в Паскале, и не по-наслышке, а все на собственном опыте
проверив.
2. Слушай других, и делай по-своему (глобальный принцип).
В частности, зачем использовать Keep(ExitCode), наживая проблемы
с выгрузкой резидента и его отладкой, когда есть Exec(Path,CmdLine).
Попробуйте нижепришитый исходник - его же можно
ОТЛАЖИВАТЬ ПРЯМО В СРЕДЕ !
Ремарк к исходнику:
IntRegisters заимствовано из Turbo Professional 4.0;
Pardon для поклонников Асма за оформление Proc CallInt -
стиль у меня такой :);
а вообще, прог этот для хохмы блокирует открытие сишных манускриптов.
Такой вот скрытый намек...
А велики ли системные издержки за удовольствие писать на Паскале ?
Всего 7Kb в памяти вместе со стеком (2Kb) и клочком из DOS.TPU
(и то, и другое можно хэкерскими приемами урезать) - ну, если и не драйвер
клавиатуры/дисплея, конечно, но что посерьезнее можно на Asm даже и не
переписывать (к тем, кто на ASMе пишет быстрее, чем PASСALе, это не относится
- им PAS вовсе ненужен).
Это, понятно, почти голая идея, так что до(пере)писывайте сами. Могу так же
бесплатно поделиться организацией многозадачности внутри паскалевской
программы с динамическим старт/стопом процессов (вроде Модулы), обработкой
исключений (в смысле exeption, как в C++), системным драйвером (типа SYS, для
Config) и много чем еще. Пишите письма, кому надо и не надо, и кто не верит, что
на Пасе пишется все, что угодно, из того что может Си. Все это работает на BP
7.0 (наверное и на TP 4.0 ?).
Cincerelly yours
Lion.
Good luck ! Lion.
Data,Fax - 846-256-1948 - CM
Voice - 846-256-1815 - 11-20 Msk
--- GoldED 2.42.G1218+
* Origin: , Russia, SamaraMedNet (FidoNet 2:5057/4.10)
|