программы. В [1.3.1] объяснено как это сделать с помощью функции
SETBLOCK. После того как память освобождена, Вы должны просто
поместить в BX требуемое число 16-байтных параграфов, заслать 4AH
в AH и выполнить прерывание 21H, делая доступным программе именно
то число параграфов, которое ей требуется.
Блок параметров, на который должны указывать ES:BX это
14-байтный блок блок памяти, в который Вы должны поместить сле-
дующую информацию:
DW сегментный адрес строки среды
DD сегмент и смещение командной строки
DD сегмент и смещение первого FCB
DD сегмент и смещение второго FCB
Строка среды - это строка, состоящая из одной или более специ-
фикаций, которым следует MS DOS при выполнении программы. Элемен-
ты строки среды такие же, как и те что можно обнаружить в диско-
вом файле CONFIG.SYS. Например, в строку может быть помещено
VERIFY = ON. Просто начните строку с первого элемента, завершив
его символом ASCII 0, потом запишите следующий и т.д. За послед-
ним элементом должны следовать два символа ASCII 0. Строка должна
начинаться на границе параграфа (т.е. ее адрес по модулю 16 дол-
жен быть равен нулю). Это вызвано тем, что соответствующий вход в
блоке параметров, указывающий на строку, содержит только 2-байт-
ное сегментное значение. Все это не нужно, если новая программа
может работать с той же строкой среды, что и программа "роди-
тель". В этом случае надо просто поместить два символа ASCII 0 в
первые 2 байта блока параметров.
Следующие 4 байта блока параметров указывают на командную
Предыдущая страница 51 Следующая страница
1744811570
|