type чёто поломался. толи исходник битый, толи не понятно. не работает. надо чинить.
так исторически сложилось, что "система" при запуске какой то программы выдаёт этой проге N памяти. если она до 16кб, то 1 страница. если больше, то больше. например, зачем твоему helloword`у тпа в 60кб? не нужно. а если вдруг потребовалось, то, опять же, так сложилось, что прога запрашивает у системы сколько ей нужно памяти. Вопрос - правильно это или нет тут не стоит. оно просто есть 20 лет как и меняться уже не будет. страницу воткнуть можно 2мя способами - системный вызов (медленно) и "ручками" через порты (быстро) можно перед установкой нужной страницы, старое содержимое прочитать и запомнить. вообще, тпа тут такая штука, что если надо, то все 64кб тебе доступны. ведь выделенную страницу можно воткнуть в 0е окно. но, при выходе надо восстановить в ней системную страницу.откуда стартует и где заканчивается TPA
ты почти всё верно сказал, кроме одного момента - строка ком.строки начинается по смещению -128 от адреса старта программы. а вот по смещению -3 от комстроки есть ещё 3 переменные:Как приложению передается строка параметров ОС
CMD line size(IX+0)
File handle for preloader(IX-3)
Memory handle(IX-2)
Level(IX-1)
есть функция разбора строки. но при запуске программы её нет смысла разбирать (не разбирает).Estex делает ли предразбор строки
какой то определённой системы в этом плане у нас не сформировалось. это конечно плохо. надо как то исправлять.установка текстовых режимов в начале каждого консольного приложения как я вижу в некоторых исходниках - это требование или перестраховка?





Ответить с цитированием