С любовью к вам, Yandex.Direct
Размещение рекламы на форуме способствует его дальнейшему развитию
Первый проход завершён, файл обновлён. Теперь проверка ссылок - код или данные. Особенно в тестах, где работает в том числе вариант - переслать из режима HALT в нормальный режим блок из ПЗУ и запустит код в нормальном режиме. Там используются не только ячейки памяти 17000-17776 (77000-77776), но и диапазоны 14000-14776 и 15000-15776 (из того, что заметил). Но это по мере работы с кодом - в выходные другие дела есть.
Последний раз редактировалось Hunta; 01.02.2019 в 08:02.
Простите, это на макроассемблере текст 134 ПЗУ? Как будто смесь бейсика с паскалем текст выглядит.
Это на макроассемблере Ключевое слово - МАКРО То есть плюс ещё набор макросов структуированных операторов (насколько я в курсе - изначально от DEC плюс немного моего).
Позволяет (почти) избавиться от меток (особенно локально-одноразовых) и легче отследить логику работу программы.
Ну и - с одной стороны первоначальный разработчик видимо - любитель Паскаля, а с другой - я, когда добавлял своё - был любителем Модулы-2
Но в силу того, что а) на имена макросов накладываются определённые ограничения и б) использование макроса - это всегда ИМЯ_МАКРОСА ЗНАЧЕНИЕ_ДЛЯ_ПАРАМЕТРА1, ЗНАЧЕНИЕ_ДЛЯ_ПАРАМЕТРА2, ... или ИМЯ_МАКРОСА ИМЯ_ПАРАМЕТРА1=ЗНАЧЕНИЕ, ИМЯ_ПАРАМЕТРА2=ЗНАЧЕНИЕ, ... для оператора := первоначальным авторам пришлось извратиться - сделать что то типа бейсиковского LET
По любому, мне так легче понять логику, поэтому в таком варианте. Ещё немного причешу код и выложу файлы самих макроопределений
- - - Добавлено - - -
Вдогонку
Ну и поскольку всё таки ни Паскаль, ни Модула и ни Бейсик - логические выражения тоже отличаются некоторой.. своеобразностью
Не помню, как было во времена, когда только начинал использовать, но сейчас за пару дней переделки начал переделывать-писать практически влёт-без-раздумий
Последний раз редактировалось Hunta; 01.02.2019 в 15:16.
134 писали из нескольких блоков разных авторов, соединяли DESSoм и ручным перебором текста ( в DESS ).
*
Если не сложно - пожалуйста, выложите 134-ю в минимальном патче - что бы все адреса СОЗУ были в диапазоне 017000-017777.
*
Очень бы неплохо было бы пропатчить Т4 ( тест ДОЗУ ) на предмет :
1.При запуске - ввод к-ва проходов, максимум не менее 377 ( 8 ).
2.При ошибке должен воспроизводится звонок не менее 2 сек ( порядка 20 кодов 000007 с паузой 0.2 сек ).
3.При конце каждого цикла теста ( прохода ) должен быть одинарный звонок ( код 000007 ).
4.Индикация текущего номера прохода.
Блог : http://collectingrd.kxk.ru/ . В ЛС прошу не писать, все сообщения [email protected]
Буду иметь ввиду, но сделать это можно будет после полного анализа кода, что бы найти и (возможно) не явные ссылки на этот диапазон, а пока не сильно много свободного времени.
В текущем варианте содержимого ПЗУ практически нет свободного места (учитывая, что код вплотную подошёл к 14000, а адреса в диапазоне 14000-14776 и 15000-15776, далеко не все, конечно, задействованы в обычном режиме - при тестировании и загрузке. Так что для начала код нужно причесать, полностью отследить логику и хорошо отрефакторить-переписать, в частности - выделить блоки командного монитора, загрузчиков, тестирования и общие подпрограммы. Только после этого я буду что то менять. Когда всё это получится - не знаю.
На очереди - ПЗУ 377 с доведением кода до примерно такого же уровня, как сейчас 134
Немного не так. В ПЗУхе просто нет этих адресов. То есть, если считать, что у РЕ2 4 банка по 4000 адресов каждый, то в 134-й, как и в 377-й последний банк отключен. В ней 3К слов (6К байт). Именно поэтому, если все остальные дополнительные прошивки за дополнительные деньги (через кооператив, или что-то в том же духе) распространялись в РР1, то 377-я только в РЕшках.
А зачем? Все просто. Пультовой программе необходимо некоторое количество рабочей памяти, а где ее взять? В ВМ1 и ВМ2 памяти ставилось 64К, а нужны из них только 56К, вот, в этой лишней памяти и размещали рабочие поля пультовой программы. Но у ВМ3-го лишней памяти нет, если там, конечно, не 4М на борту. Поэтому решили, что пультовой программе хватит и 6К, а оставшиеся 2К отдали под ОЗУ пультовой программы. Потом оказалось, что пульту хватит и 512 байт, туда сунули две РУ8, и вперед, причем старшие разряды адреса, вроде-бы, просто бросили, из-за чего эти 512 байт (1000) повторяются на адресах с 14000, 15000, 16000 и 17000. Это в адресном пространстве HALT-mode.
Последний раз редактировалось AFZ; 02.02.2019 в 14:24.
Кто мешает тебе выдумать порох непромокаемый? (К.Прутков, мысль № 133)
Немного так. Не учитываешь, что часть кода ПЗУ работает в HALT режиме, а часть - копируется в основное ОЗУ и отрабатывает там. Текст есть - возьми и посмотри сам.
Не знаю, что имеется ввиду под словом ВСЕ, но если ты имеешь ввиду, что на РЕ доступна только 377, а ВСЕ остальные - ТОЛЬКО на РР - то уже как минимум - ошибаешься. Мои 1201.01 и .02 и даже .04 - на РЕ2
Это-то понятно, тесты, загрузчики и пр. действительно копируются, но какое отношение это имеет к HALT-mode?
То, что продавалось отдельно, как расширение - улучшение - дополнение, это когда Квант начал пытаться продавать софт. Прошивки 183, 184, 093, 279, еще что-то.
- - - Добавлено - - -
В этом же ряду лежит и 377, но она, в отличие от остальных, в РЕшке, остальные - в РР1.
Кто мешает тебе выдумать порох непромокаемый? (К.Прутков, мысль № 133)
Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)