vak: (Улыбка)
[personal profile] vak
Сижу в центре кремниевой долины и программирую на фортране для БЭСМ-6. На дворе 2016 год, а вот поди ж ты, возникла настоятельная потребность. Нужно извлечь с диска некий бинарный образ и преобразовать в текстовый HEX файл. Надо сказать, Фортран-ГДР отличный инструмент для подобных задач. Мониторная система Дубна, симулятор ОС Диспак, книжки Мазного и Салтыкова-Макаренко под рукой. Решение выглядит так: hexdump.b6

История вопроса следующая. Есть процессор микро-БЭСМ, и для него есть тест системы команд. Тест написан на языке ассемблера, а сам ассемблер имеется в исходных текстах для БЭСМ-6. К ассебмлеру также прилагается линкер. Всё это запускается под мониторной системой "Дубна" на симуляторе ОС Диспак. На самом деле написана эта кросс-система была под ОС Дубна, и пользуется некоторыми её особенностями, поэтому пришлось на скорую руку привинтить несколько дубненских экстракодов к симулятору Диспака. Но это всё мелочи. В конце концов ассемблер с линкером заработали и на диске получился двоичный образ теста, размером около 24 килобайт. Как его извлечь оттуда? Тем более, что хранится он под управлением некой "библиотеки виртуальной памяти", и формат хранения не описан. Но есть API, набор фортрановских вызовов. Не вопрос: пишем програмулину и получаем нужный результат. Теперь можно смело запускать тест на симуляторе Verilog.

Date: 2016-11-24 13:43 (UTC)
From: [identity profile] Евгений Х. (from livejournal.com)
Это просто высший пилотаж!

Date: 2016-11-25 17:52 (UTC)
From: [identity profile] andy-scott.livejournal.com
так возможность описывать структуры в виде common-блоков вроде ж во всех фортранах была? IBM FORTRAN-H, DEC F-77, не?

Date: 2016-11-26 15:29 (UTC)
From: [identity profile] andy-scott.livejournal.com
Да, в классическом фортране таких штук не было. Мы писали подпрограммки на асмёблере для таких вещей. Одно радует, не сильно и не часто было нужно.