может этот устроит?
http://archive.pdp-11.org.ru/ukdwk_a...mplekt/DISSAV/
Я уж собрался купить 5.25" дисковод с хранения Правильной марки в Москве ( Дорого ), как появился ценный пушной зверек на территории ОКБ Э. - теперь
вообще ни о каких покупках нельзя даже думать...
Оригинал DES.SAV - или 16, или 19 блоков. Работа только через командную строку.
Его обычно писали в подвале А. на винты в составе ОС для проверки на ЭВМ клиента.
Блог : http://collectingrd.kxk.ru/ . В ЛС прошу не писать, все сообщения [email protected]
Этого добра имеется, в т.ч. особых вариантов.
Речь идет о программе, в входных параметрах которой пишется файл типа .SAV, а в выходных - имя текстового файла, в котором будет текстовая ( латинский заглавный ) дизассемблированная версия, но без заголовка. Для повторного прогона дизассемблированной программы через MACRO-LINK надо добавить единичные текстовые стоки заголовка.
Блог : http://collectingrd.kxk.ru/ . В ЛС прошу не писать, все сообщения [email protected]
Нашел в своей коллекции оригинальный дизассемблер. Его сотворил мой старый друг Островерх Валерий Николаевич, году, так, в 87-89-м. Программа называется MORV11. MO - это личный префикс Островерха, RV - это сокращение от "Реставратор" (первый реставратор он сочинил еще для ЭВМ "Минск-32", тогда еще и слова такого - дизассемблер - не знали, потом был реставратор для Системы-360, они, увы, потерялись вместе с теми ЭВМ. Еще у меня сохранился кросс-реставратор для 8080, исполняемый на PDP-11), ну, а 11, думаю, всем понятно...
Ему нужны: файл задания (набирается руками, что вспомнил - написал в MORV11.TXT) и реставрируемый .SAV-файл. Выходных файла тоже два: .MAC и выходной листинг.
Задание на реставрацию пишется в виде набора строк, в каждой из которых с начала строки идет адрес, затем через пробел двухбуквенный код представления. С этого адреса и до следующего результат дизассемблирования представляется в заявленном виде. Кроме таких кодов есть еще т.наз. уточняющие коды, они действуют только на точке адреса этого кода. Например, указание, каким образом представлять операнды команд, указание метки для какой-то команды, и т.п.
В архиве, кроме самой программы, лежит пример дизассемблирования мелкой вещи - загрузчика УКНЦ по RS232 (С2). Первое задание на реставрацию я сделал после беглого просмотра дампа этой самой BOURS (BOot Uknc through RS-232). Этот просмотр показал, что с 1000 начинается код (MN), а на 1052 программа заканчивается (EN). Результаты - BOURS.MAC и BOURS.OUT. Реставратор запускал командой MORV11 BOURS(.TSK,.SAV .MAC,.OUT), что эквивалентно MORV11 BOURS.TSK,BOURS.SAV BOURS.MAC,BOURS.OUT (грубо говоря, BOURS вынесено за скобки).
Далее, после разбирательства с форматом операндов получилось задание, которое я сохранил, как BOU2RS. Его результаты - BOU2RS, .MAC и .OUT. Последним движением я придумал осмысленные метки для переходов в программе - BOU3RS, .TSK, .MAC и .OUT. Осталось выкинуть содержимое нулевого блока, и вперед!
В этой программуле, конечно, все по фиг - она и так мелкая, а если программа чуть побольше, то осмысленные метки переходов очень способствуют пониманию программы.
- - - Добавлено - - -
Да, под RT-11 V5.07 (то, что дефолтно загружается в эмуляторе Патрона) он почему-то не пошел, примеры я гонял под любимой RT11DS(SJ) V5.01...
Кто мешает тебе выдумать порох непромокаемый? (К.Прутков, мысль № 133)
С любовью к вам, Yandex.Direct
Размещение рекламы на форуме способствует его дальнейшему развитию
Вообще то сообщение не про УК-НЦ, но поскольку проверка была сделана на УК-НЦ - решил здесь
Из 6105.11 (ака Колольчик, донор электроники и корпуса, у кинескопа отломали трубку вакуумирования) и 6105.хренЕЁзнатьКАКОЙномер (ака параллелепипед, донор кинескопа, нет высоковольтного трансформатора(?) соорудил работающий 6105.11 Колокольчик
Из доработок - с кинескопа донора пришлось спилить ушки крепления. Ну, по честному я спилил только два, а оставшиеся два надпилил и отломал покачиванием плоскогубцами Острое убрал напильником
Так что у меня теперь 6105.02, 6105.11 и два 6105 параллелепипеда (у обоих надо подшерстить электронику - есть претензии к устойчивости картинки).
В планах добавить к параллелепипедам разъем под КВАНТ. Забыл, как его кличут
- - - Добавлено - - -
Проблема с новым моником - слишком широкое изображение по горизонтали....
- - - Добавлено - - -
В общем, надо смотреть и регулировать. Потом как-нибудь
- - - Добавлено - - -
Нуу... я бы сказал так - с БК (конкретней - с БК-0011М) он работает (в плане изображения) чуть лучше. Надо будет какую-нибудь картинку на БК вывести и посмотреть границы изображения. А потом тоже самое на УК-НЦ
С чего начинались мои УК-НЦ
http://www.KpXX.Ru/Зелакс-Секунда
SKcorp. хотел поменять его у меня на УК-НЦ, но... как то это всё тянулось тянулось и когда он наконец созрел - интерес с моей стороны пропал..
В размышлениях, чего с сим девайсом делать...
Последний раз редактировалось Hunta; 11.04.2019 в 19:45.
А БП у этого Зелакса тот самый, паспорт которого я на днях опубликовал.
Кто мешает тебе выдумать порох непромокаемый? (К.Прутков, мысль № 133)
Достаточно фиговое +12 в
- - - Добавлено - - -
Воспользовался новой игрушкой - достал из девайса пзу-хи, считал. Почесал затылок, набросал нижеприведённый скрипт
вторая версия (текст которой приведён выше) успешно преобразовала и объединила байты. На выходе уже имеем код PDP-11Код:$a1=Get-Content -Path .\M1.128 -Encoding Byte $a2=Get-Content -Path .\M2.128 -Encoding Byte If ($a1.Length -eq $a2.Length) { $a = New-Object byte[] ($a1.Length*2) For ($i=0; $i -lt $a1.Length; $i++) { # $j=$i $j=$a1.Length-$i-1 $a[$i*2] = 255-$a1[$j] $a[$i*2+1] = 255-$a2[$j] } Set-Content -Path .\M.128 -Encoding Byte -Value $a } Else { Write-Host 'Файлы не одинаковой длины' }
Общее время написания этой программы - порядка пяти минут. Скорость работы на двух ПЗУ-хах по 16 кб - порядку полусекунды
- - - Добавлено - - -
В догонку. Надо бы конечно проверить - чего там получилось - дизассемблированием. Как руки дойдут. Но судя по нормально читаемым текстовым строкам - должно быть зер гут
Последний раз редактировалось Hunta; 12.04.2019 в 10:32. Причина: Неточность в скрипте
Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)