Нет никакой области дополнительных команд. В дос-5.30, когда вынесли основные коды BDOS в скрытый сегмент, то ОЗУ начиная с D400 стало свободно (BDOS весит примерно 8К, после выноса, в основном ОЗУ остается менеджер, который делает вызов БДОСа из сегмента, передавая ему параметры и забирая ответ, менеджер занимает примерно 1,5-2К, по идее, надо было бы освободить место, но авторы решили оставить все как есть (глупо!!!), а в свободные куски ОЗУ грузить резиденты. Решение корявое. Для размещения резидентов в основоной памяти я в Q-DOS сделал спец. функции, они отрезают часть ОЗУ сверху вниз, с шагом в 256 байт. Т.е. надо нам 256 - взяли. Куски растут от больших адресов к меньшим. Это и понятно, выше находится система. Так вот, авторы адаптации микродос которая называется "дос-5.30" протсо не могли изменить сам модуль БДОС, вот и довольствовались кривым решением.
---------- Post added at 11:30 ---------- Previous post was at 11:27 ----------
Скажу ещё, что начиная с адреса 0100H и до адреса который лежит 0006 (в ячейке 5 лежит команда JP BDOS) расположена область TPA - Transient Program Area - область транзитных программ. Именно в неё, с адреса 100H загружается COM файл. стек устанавливается на последнюю свободную ячейку. т.е. SP=BDOS (слову по адресу 6).
В МикроДОС был поддержан ещё один тип исполняемых файлов - SPR, они грузятся в верх TPA, т.е. впритык к концу TPA. Адреса пересчитываются используя таблицу бит, которая находится в самом SPR файле. Каждый бит соответстует байту программы, если бит =0, то пересчет не требуется, если 1, то требуется. Программы компилятся под адрес 0.






Ответить с цитированием
Размещение рекламы на форуме способствует его дальнейшему развитию 
