Кроссассемблер ЭВМ Д3-28 для Windows 7,10

Сергей Журавлев

Из найденного мной материала по ЭВМ Д3-28 явно наблюдается крайняя скудность средств разработки програмного обеспечения Д3-28 на базе современных ПК. Можно отметить «On_Line дизассемблер Д3-28» и «Дизассемблер Д3-28 на базе x86» в среде Python. С другой стороны, на просторах интернета много литературы по внутреннему устройству Д3-28, структуре процессора и системе команд, а также наличие в Сети эмуляторов машины. Этот факт дает надежду на вторую жизнь этого проекта в современной технической реализации. Нехватку софта можно устранить разработкой кроссплатформенного ПО, используя современные машинные языки программирования и попытаться адаптировать уже наработанное ПО к использованию на платформе Д3-28.

Этот путь я попробовал реализовать созданием таблицы команд Д3-28 для табличного мультипроцессорного ассемблера (условно-бесплатный дистрибутив TASM – табличный ассемблер). Базовый дистрибутив от разработчика доступен на Гитхабе.

Из нескольких вариантов TASM, найденных в Сети, я использовал вариант, запускаемый в среде Windows 7,10. Таблица команд Д3-28 – файл TASM328.TAB составлен и содержит машинные коды и команды ассемблера процессора машины Д3-28, предельно приближенные к написанию в «Справочнике программиста» И5М3.857.100 Д3. Для компиляции ассемблерной програмы (например test-017.txt), кроме файла листинга в рабочий каталог необходимо поместить файл TASM328.TAB и TASM.EXE. Необходимо создать BAT-файл компиляции:

tasm -328 -g3 -c test-017.txt
pause

В результате компиляции получаем файл листинга ошибок test-017.lst и BIN-файл test-017.obj кодов исполняемого модуля.

К сожалению, в ассортименте выходных файлов кроме BIN, HEX и S9 форматов не нашлось 🙂 формата данных ЭВМ Д3-28. Для ввода написанных программ в эмулятор Д3-28 я написал программу конвертации Bin2Txt.EXE на PureBasic (исходники прилагаются в папке File_pb). Необходимо создать BAT-файл преобразования из test-017.obj в файл программы, понятной Д3-28 Obj2Txt.bat :

Bin2Txt.exe test-017.obj
pause

В результате работы программы получаем файл OutFile.txt который можно переименовать и применить для ввода в эмулятор машины.
Все необходимые файлы для знакомства с TASM находятся здесь.