А не получится подстроиться под CCP. Ведь это может быть требуемым условием - чтобы файл не оканчивался переводом строки (например если этот файл - часть полученная split-ом большого файла), и тогда type (если оно аналог CPM и MSDOS) или cat (если аналог unix) пришлось бы чтобы подстраиваясь к выводу на экран добавлять в конце вывода отсебятину. Что не давало бы обратно собрать из кусочков оригинальный файл: внедрялась бы отсебятина.
Кстати, все еще актуален вопрос - чем в estex принято просматривать файл в CCP (type,cat,...) ?
Сразу задам еще вопросики. Потом объединю в первом посте, будет шпаргалка для начинающих.
Есть ли дока по устройству estex? В которой было бы описано:
1) откуда стартует и где заканчивается TPA (область в адресном пространстве процессора где программа пользователя может использовать ОЗУ адресного пространства CPU без подключения доп. страниц и с гарантией что ее там никто не пропилит). Интересует окружение когда прога запущена из CCP как "стандарт" (FN по-хорошему при старте чужой проги должен отдавать ей такое же окружение, да FN и вообще может не быть. FN же для запуска DSS 40h (64) EXEC использует или что-то своё? А DSS 40h (64) EXEC - стандарт окружения или тоже не гарантия?).
Ну т.е. по остаточной памяти в 16к сегменте 0 сидит BIOS/DSS, с 4000h где-то еще вкрапления экранов, и с какого то адреса должна начаться "безопасная область". 8000..BFFF "взятые с потолка" как в большинстве примеров, это слишком мало. Вопрос со стеком тут ранее уже задавали, тоже осталось не совсем понятно: DSS при выполнении "чреватых" операций уносит стек на свой безопасный с восстановлением оригинального при выходе из п/п или нет? Стек ниже BFFF - это неудобно.
2) Как приложению передается строка параметров ОС (то что мы наколотили в строке ввода shell) - в каком-то буфере? Или адрес буфера не гарантирован и требуются функции типа 43h (67) GSWITCH (Get command line switch), довольно странного вида?
3) Estex делает ли предразбор строки (как делали CPM и MSDOS заполняя FCB1 и FCB2)?
4) установка текстовых режимов в начале каждого консольного приложения как я вижу в некоторых исходниках - это требование или перестраховка? По логике вряд ли могло так случиться, чтобы каждый командер позволял себе запускать стартуемое приложение в абы как включенных экранных режимах и абы каких страницах?
Это вопросы, сразу возникающие при первом helloworld, и сходу (без лазания в чужие проги) не освещенные (или не на поверхности). Т.е. to be continued...КМК, статья, которая тут получится (или FAQ), будет полезна всем. В т.ч. как и общий знаменатель чтобы не плодить зоопарк.





КМК, статья, которая тут получится (или FAQ), будет полезна всем. В т.ч. как и общий знаменатель чтобы не плодить зоопарк.
Ответить с цитированием