ВУЗ:
Составители:
123
4.5 Использование командной строки
При запуске программы DOS формирует префикс программного
сегмента (PSP), который загружается в память перед программой. Сразу
после загрузки DS:0000 и ES:0000 указывают на начало PSP этой
программы. Информация, содержащаяся в PSP позволяет выделить имена
файлов и всевозможные ключи из командной строки, узнать объем
доступной памяти, определить окружение и т. д.
Структура префикса программного
сегмента приведена ниже. Для
использования командной строки ее следует считать из PSP, учитывая, что
сразу после запуска программы .EXE сегментные регистры DS и ES
настроены на начало PSP. В случае программы .COM на начало PSP
настроены все сегментные регистры (CS, DS, ES, SS).
Ниже приведен фрагмент программы выполняющей анализ
командной строки.
Смещ. Длина Содержимое
+0 2 int 20h Выход в DOS
+2 2
Mem
Top Вершина доступной памяти в параграфах
+4 1 (Резерв)
+5 5 Call смещ. сегмент Вызов диспетчера функций DOS
+0ah 4 смещ. сегмент Адрес завершения (см. int 22h)
+0eh 4 смещ. сегмент Адрес обр. Ctrl-Break (см. int 23h)
+12h 4 смещ. сегмент Обраб. критич. ошибок (см. int 24h)
+16h 16h Резервная область DOS
+2ch 2 Env Seg Сегментный адрес окружения
+2eh 2eh Резервная область DOS
+5ch 10h FCB1 FCB первого параметра команды
+6ch 14h FCB2 FCB второго параметра команды
+80h 1 len Длина области UPA (с адр. 81h) или DTA
+81h 7fh Неформ. обл. параметров Символы ком. строки DOS
123
4.5 Использование командной строки
При запуске программы DOS формирует префикс программного
сегмента (PSP), который загружается в память перед программой. Сразу
после загрузки DS:0000 и ES:0000 указывают на начало PSP этой
программы. Информация, содержащаяся в PSP позволяет выделить имена
файлов и всевозможные ключи из командной строки, узнать объем
доступной памяти, определить окружение и т. д.
Структура префикса программного сегмента приведена ниже. Для
использования командной строки ее следует считать из PSP, учитывая, что
сразу после запуска программы .EXE сегментные регистры DS и ES
настроены на начало PSP. В случае программы .COM на начало PSP
настроены все сегментные регистры (CS, DS, ES, SS).
Ниже приведен фрагмент программы выполняющей анализ
командной строки.
Смещ. Длина Содержимое
+0 2 int 20h Выход в DOS
+2 2 Mem Top Вершина доступной памяти в параграфах
+4 1 (Резерв)
+5 5 Call смещ. сегмент Вызов диспетчера функций DOS
+0ah 4 смещ. сегмент Адрес завершения (см. int 22h)
+0eh 4 смещ. сегмент Адрес обр. Ctrl-Break (см. int 23h)
+12h 4 смещ. сегмент Обраб. критич. ошибок (см. int 24h)
+16h 16h Резервная область DOS
+2ch 2 Env Seg Сегментный адрес окружения
+2eh 2eh Резервная область DOS
+5ch 10h FCB1 FCB первого параметра команды
+6ch 14h FCB2 FCB второго параметра команды
+80h 1 len Длина области UPA (с адр. 81h) или DTA
+81h 7fh Неформ. обл. параметров Символы ком. строки DOS
Страницы
- « первая
- ‹ предыдущая
- …
- 121
- 122
- 123
- 124
- 125
- …
- следующая ›
- последняя »
