Глава 1. Системные ресурсы.

Раздел 3. Управление программами.

1.3.3 Использование команд интерфейса с пользователем из программы.

Программа может иметь в своем распоряжении полный набор команд интерфейса с пользователем DOS, таких как DIR или CHKDSK. Kогда эти команды используются из программы, загружается и запускается вторая копию COMMAND.COM. Хотя такой подход может сэкономить много усилий при программировании, для его успешной реализации требуется достаточное количество памяти для этой второй копии и Ваша программа может попасть в ловушку если памяти недостаточно.

Средний уровень.

В этом случае к примеру, приведенному в {1.3.2} нужно добавить командную строку. Обычно она начинается с байта длины строки, затем следует сама командная строка и, наконец, код ASCII 13. При передаче команды COMMAND.COM Вы должны указать /C перед строкой (см. пункт "Вызов вторичного командного процессора" руководства по MS DOS). Вы должны также указать накопитель, на котором находится COMMAND.COM, поместив имя накопителя в начале командной строки. Чтобы вывести каталог накопителя A:, а COMMAND.COM при этом находится на накопителе B:, нужна строка:

 COMMAND_LINE DB 12,'B: /C DIR A:',13 

Следующий кусочек кода устанавливает адрес командной строки в блок параметров, используемый в примере {1.3.2}:
LEA BX,PARAMETERS ;получение адреса блока пар-ров
MOV AX,OFFSET COMMAND_LINE ;получение смещения ком. строки
MOV [BX]+2,AX ;пересылка в 1-е 2 байта блока
MOV AX,SEG COMMAND_LINE ;получение сегмента ком. строки
MOV [BX]+4,AX ;пересылка во 2-е 2 байта блока


<~-1.3.2 Запуск одной программы из другой.
Содержание
1.3.4 Сохранение программы в памяти после завершения.-~>

Сайт управляется системой uCoz