Для образов системы некоторое количество неточностей и ошибок исправлено. Ещё тесты - на других образах и .TSK файлах
Вид для печати
Для образов системы некоторое количество неточностей и ошибок исправлено. Ещё тесты - на других образах и .TSK файлах
При разборе полётов в образе P/OS обнаружился забавный нюанс оной. Даже в поставке для разработчиков из файла глобальных символов (может, конечно, мне с конкретной поставкой так свезло) ака .STB - отсутствуют символы для слов масок фич 2, 3, 4 и 5. Почему так - могу только предположить, но выглядит так, как будто DEC старательно тормозило сторонних разработчиков всякого, имеющего доступ к ядру системы. Потом гляну на другие варианты P/OS, для которых так же есть .STB - как оно там.
Уф.. Что-то задолбался руками тесты прогонять (большая часть из которых - загрузить файл и сгенерить исходники. Надо посмотреть, что там сломалось в работе из командной строки при очередной доработке и пофиксить
Вспомнил, что сломалось в разборке командной строки :) Стали по другому (доработка в плане избавления части DisAsm от PDP-11 зависимости) передаваться некоторые параметры в методы парсинга. По быстрому сделал фикс под образы RSX, так что теперь тесты можно гонять командниками.
Очередная порция обнаруженных ошибок и не доработок пофиксина. Но всё ещё тесты..
Устал от DisAsm-а :) И по взаимосвязанным секциям пока ничего путного в голову не приходит - значит - перерыв.
Начал разбирать файлопомойку и как обычно - постоянно используемый инструмент - ImageUtils :) Налетел на ошибки - и переключился на него. Дальше в его теме :)
Она до какой-то степени разобрана, но есть большой каталог, где пока конь не валялся - а там есть и относящееся к DEC, но есть ли что-то интересное - пока не знаю..
Кроме того - много образов дисков и лент, до которых я ещё не добрался ImageUtils - в их содержимом тоже может быть что-то интересеное...
Плюс есть некоторое количество зеркал (полный и не очень) сайтов - та же хрень :)
Для возможности использовать функционал DisAsm11 в других программах (типа - API) - внутренняя перетряска и резка зависимостей. Не могу сказать, что уже все сделано - но ещё некоторое количество подвижек.
Использовал функционал в ImageUtilsX для дизасма (пока) первичного загрузчика дисков RT-11 :)
Но свободное время закончилось, опять рабочие дни..
Как обычно после более-менее существенной доработки, а часто и без неё - некоторый рефакторинг по результатам понимания процесса и написанного кода :)
Вожусь с внутренней перетряской DisAsm11 (более правильный вариант работы с WPF - шаблон MVVM). Да, надо было с самого начала делать "по правильному", но.. Некоторые вещи не понятно было как сделать в WPF - и сделал, как получилось :) Постепенно набрался опыта - и много из непонятного стало понятным :) Но... Снаружи это не как не видно, это больше вариант - как сделать проще написание, в том числе - DisAsm11 :)
Так вот.. Возился я, возился, и вдруг пришло в голову странное :) Попробовал.. хм.. Работает :) Итак, вниманию всех представляется...
Метка на .TITLE :)
Если посмотреть таблицу символов, видно, что метка TEST - относительная и - раз ни какой секции ещё на было заявлено - она в секции .PSECT :)Код:
Test MACRO V05.06R Thursday 31-Jul-25 00:04 Page 1
1 000000 TEST: .TITLE Test
2 .IDENT /KXX.01/
3
4 .MCALL .EXIT, .PRINT
5
6 000044 $JSW =: <^o44>
7 000400 CHAIN$ =: <^o400>
8
9 000054 $SYPTR =: <^o54>
10
11 000300 CONFIG =: <^o300>
12 000040 CLK50$ =: <^o40>
13 100000 CLOCK$ =: <^o100000>
14
15 000000 .ASECT
16
17 000044 .=$JSW
18 000044 000400 .WORD CHAIN$
19
20 000500 .=^O<500>
21
22 000500 START:
23 000500 012737 000100 000004 MOV #100, @#4
24 000506 012737 000340 000006 MOV #340, @#6
25
26 000514 013705 000054 MOV @#$SYPTR, R5 ;Get the pointer to the base of the RMON
27 000520 052765 100040 000300 BIS #CLOCK$!CLK50$, CONFIG(R5)
28 000526 010701 MOV PC, R1
29 000530 062701 000020 ADD #MESS-., R1
30 000534 .PRINT R1
31 000540 .PRINT #MESS-.
32
33 000546 .EXIT
34 000550 MESS:
35 000550 124 105 123 .ASCIZ /TEST/
000553 124 000
36 .EVEN
37
38 000500 .END START
Test MACRO V05.06R Thursday 31-Jul-25 00:04 Page 1-1
Symbol table
CHAIN$ 000400 CLOCK$ 100000 MESS 000550 TEST 000000R $SYPTR 000054
CLK50$ 000040 CONFIG 000300 START 000500 $JSW 000044 ...V1 = 000003
. ABS. 000556 000 (RW,I,GBL,ABS,OVR)
000000 001 (RW,I,LCL,REL,CON)
Errors detected: 0
*** Assembler statistics
Work file reads: 0
Work file writes: 0
Size of work file: 10565 Words ( 42 Pages)
Size of core pool: 16128 Words ( 63 Pages)
Operating system: RT-11
Elapsed time: 00:00:00.01
DK:TEST,DK:TEST=DK:TEST
НА вопрос - нафига такое нужно - у меня ответа (возможно пока) - нет :)