Вход:
AH=26h
DX - адрес сегмента (параграфа) для нового PSP
CS - сегмент PSP, используемый как шаблон для нового PSP
(Таблица Б-4)
Описание.
Устанавливает PSP для порождаемого процесса по адресу DX:0000.
Текущий PSP (lOOh байт, начиная с CS:0) копируется в DX:OOOOh, поле
МетТор соответственно корректируется, векторы Terminate, Ctrl-Break
и Critical Error копируются в PSP из векторов прерываний INT 22h,
INT 23h и INT 24h. После этого можно загрузить программу с диска
и передать ей управление посредством FAR JMP.
Примечание.
Если перехватывается INT 21h, нужно позаботиться о помещении в стек
корректного CS:IP. Еще лучше использовать функцию 4Ch.
Таблица Б-4. Формат PSP.
| Смещ. | Размер | Описание | |
| +00h | 2 байта | Инструкция INT 20h | |
| +02h | слово | Сегмент первого байта памяти, выделенной программе | |
| +04h | байт | Неиспользуемый заполнитель | |
| +05h | байт | СР/М системный вызов | |
| +06h | слово | Первый сегмент для СОМ-файла | |
| +08h | 2 байта | Запоминаются FARJMP 05h | |
| +OAh | двойное слово | Хранит INT 22h (адрес завершения) | |
| +OEh | двойное слово | Хранит INT 23h (адрес обработчика Ctrl-Break) | |
| +12h | двойное слово | Хранит INT 24h (адрес обработчика критической ошибки) |
|
| +16h | слово | Сегмент родительского PSP | |
| +18h | 20 байт | Рабочая таблица файлов. Один байт на файл (FFh - закрыт) |
|
| +2Ch | слово | Сегмент среды окружения для процесса | |
| +2Eh | двойное слово | SS:SP на входе при последнем вызове прерывания INT 21 h |
|
| +32h | слово | Количество входов в рабочей таблице файлов (по умолчанию 20) |
|
| +34h | двойное слово | Указатель на рабочую таблицу файлов (по умолчанию PSP:0018h) |
|
| +38h | двойное слово | Указатель на предыдущий PSP | |
| +3Ch | 4 байта | Зарезервировано | |
| +40h | 2 байта | Версия при возврате на INT 2 lh (AH=30h) | |
| +42h | 26 байт | Зарезервировано (используется MS Windows и версиями DOS выше 6.00) |
|
| +5Ch | 16 байт | Первый FCB по умолчанию ' | |
| +6Ch | 16 байт | Второй FCB по умолчанию | |
| +7Ch | 4 байта | Не используются | |
| -i-ent, | 1 Ой Й-.Д.Т. |