подхвачу инициативу Sergijj :)функция 49h/int 21h - освобождает память по адрессу ES:0000 (появилась в DOS 2+ ).на входе: AH - 49h, ES - сегментный адресс блока выделенной памяти для освобождения.Устанавливает cf в случае ошибки, в ax - код ошибки, только 09h, хотя в документации DOS упоминают еще код 07h.Смежные блоки памяти при освобождении не объединяются - это происходит только при выделении или изменении размера блока.Код функции одинаков в DOS 2.1-6.0, за исключением начальных и конечных вызовов критических секций в DOS 3.0+.DOS не допускает освобождения процессом памяти ему не принадлежащей (определяется по PID, сохраненному в MCB). Не документированная функция DOS 50h позволяет процессу обойти это ограничение и освободить память, ему не принадлежащую.Для TSR программ рекомендуется освобождать, по возможности, память для возможности ее использования другой программой.функция 50h/int 21h - установка PID (устанавливает адресс PSP) (внутреняя функция, появилась в DOS 2+ )на входе: AH - 50h, BX - сегментный адресс PSP нового процесса.Не возвращает ни каких значений.DOS использует текущий адресс PSP для определения принадлежности файлов и памяти.Он совпадает с PID-ми, используемыми другими ОСми под DOS 2.x. Функция не может быть вызвана из int 28h без предварительной установки флага критической ошибки.в MS-DOS 3.1+ и DR DOS 3.41+ эта функция не использует каких-либо внутренних стеков DOS, что позволяет вызывать ее в любое время, даже во время другого вызова int 21h.Некоторые прилажения Windows, такие как Quick C 2.51, используют сегмент 0000h-FFFFh и прямой доступ к SDA для определения - выполняются они в MS-DOS или в другой совместимой ОС.При вызове функции, любая программа, установившая хук на эту функцию, может заменить адрес PSP на не действительный.Функция поддерживается для совместимости с OS/2.Не документированна в версиях до DOS 5.0.Функция идентифицирует (сообщает DOS) PID в BX как текущий PID. Используется TSR для своей идентификации в DOS.Некоторые функции DOS (файловые, выделяющие память) обращаются к PSP текущего процесса и вносят в него изменения.TSR должны вызывать 51h и сохранять свой PSP в течении инициализации.Перед внедрением в адрессное пространство другого процесса (popping up), TSR должны использовать 51h для получения PID прерванной программы и через функцию 50h установить сохраненное значение(видимо свое, для получения доступа). Не забудьте вернуть PID после окончания подобного внедрения.Приведенный перевод сделан по ответу Sergijjи "Ralf Brown‘s Interrupt List" Release 61, 16jul00.PS:Sergijj, если не секрет, откуда брали информацию, тот же Interrupt List или есть другие документы?