Когда-то кто-то, уже не вспомню когда и кто, здесь на форуме, предложил идею дискомпилировать ПЗУ в HTML-формат таким образом, чтобы при нажатии на адрес-переход (в CALL или JMP и т.д.) далался бы переход как по HTML-ссылке на тот адрес (строку в том место страницы справочника).
Идея интересная. Я даже наброски делал и "примерялся". Вот только проблема, что я HTML не знаю да и изучать вообще-то ради (только) этого не хочу.

Вот часть примера:

Code: Select all
2.5.2 Прием байта ( RD_BYTE ).
.... В основу считывания бит положено определение
количества полупериодов сигнала на заданном интервале времени
( в бите ) оно выполняется подпрограммой E390H ( 58256 ) ( отри-
цательных или положительных взависимости от E ( см. выше).Ре-
зультат помещается в A и C. Если количество полупериодов больше
3, фиксируется ошибка и подпрограмма завершается с флагом C=1.
Если результат равен 2 или 3, считается, что принят бит "1", а
если меньше 2 - бит "0". Накопление байта происходит в D.
Подпрограмма выполняет сохранение и восстановление содержимого
используемых регистров.
Адрес(HEX):метка Комманда ассембл | Байты (HEX)|Байты (DEC)|КОИ |Адрес(DEC) | описание (при необходимости)
$E390:cE390: LDA $BE86 {dbPILOT_DUR3} |$3A $86 $BE |58 134 190 |: |58256 | описание (при необходимости)
$E393: MOV B,A |$47 |71 |G |58259 | описание (при необходимости)
$E394: MVI C, $00 |$0E $00 |14 0 | |58260 | описание (при необходимости)
$E396:jE396: IN $C2 |$DB $C2 |219 194 | |58262 | описание (при необходимости)
$E398: RLC |$07 |7 | |58264 | описание (при необходимости)
$E399: RLC |$07 |7 | |58265 | описание (при необходимости)
$E39A: RLC |$07 |7 | |58266 | описание (при необходимости)
$E39B: XRA E |$AB |171 | |58267 | описание (при необходимости)
$E39C: JP $E3A9 {jE3A9} |$F2 $A9 $E3 |242 169 227| |58268 | описание (при необходимости)
$E39F: MOV A,E |$7B |123 |ш |58271 | описание (при необходимости)
$E3A0: CMA |$2F |47 |/ |58272 | описание (при необходимости)
$E3A1: MOV E,A |$5F |95 |_ |58273 | описание (при необходимости)
$E3A2: INR C |$0C |12 | |58274 | описание (при необходимости)
$E3A3: DCR B |$05 |5 | |58275 | описание (при необходимости)
$E3A4: JNZ $E396 {jE396} |$C2 $96 $E3 |194 150 227| |58276 | описание (при необходимости)
$E3A7: MOV A,C |$79 |121 |ы |58279 | описание (при необходимости)
$E3A8: RET |$C9 |201 | |58280 | описание (при необходимости)
$E3A9:jE3A9: NОР |$00 |0 | |58281 | описание (при необходимости)
$E3AA: DCR B |$05 |5 | |58282 | описание (при необходимости)
$E3AB: JNZ $E396 {jE396} |$C2 $96 $E3|194 150 227 | |58283 | описание (при необходимости)
$E3AE: MOV A,C |$79 |121 |ы |58286 | описание (при необходимости)
$E3AF: RET |$C9 |201 | |58287 | описание (при необходимости)
Существенно:
1. Шрифт должень быть каким-то монохромным подобным как на скрине от Far Manager, так должен выглядеть этот пример в HTML.
2. в строках типа "$E390:cE390: LDA $BE86 {dbPILOT_DUR3}...", адреса и метки "$BE86", "dbPILOT_DUR3", "58256" должны быть ссылками на данное место в странице.
3. Думаю хорошо бы было применить жирность та цвета для адресов и определйнных типов команд.
4. "описание (при необходимости)" - возможно делать как всплывающее меню при наведении на строку (если это конечно будет удобным)
5. HTML-код должен быть таким, чтобы я мог написать без проблем генератор такого кода, а также вероятнее всего не только генератором нужно будет поработать но и "заменить все" в текст HTML-кода, например когда дописывать описания вручную. Такие как "2.5.2 Прием байта ( RD_BYTE )...." над самим кодом и т.д.
6.Возможно "Адрес(HEX)" и "Адрес(DEC)" поставить рядом в начале строки так будет удобно - я не буду против. Также можна и другие какие-то перемещения в колонках зделать. Но явный отказ от какой-то колонки, будь то "Байты (DEC)" или "Адрес(DEC)" по принцыпу "а нафига они нужны" - не приветствуються! Это всё таки полный справочник будет и вопросов никаких не должно возникать подобных "а какой же это адрес в DEC, а не только HEX".
Вообщем сделайте такой пример, какой вы считаете идеальным для HTML по ПЗУ ПК-01.
P.S. В данном примеры возможны ошибки кода ПЗУ.
P.S. Если будет готовый класнный пример, я могу подвинуть "SAS Screen Video Recorder & Player" которым я занимаюсь сейчас и займусь этим думаю более давно необходимым проектом.
P.S. Не всё получится сразу так как хочется. Будут пробы, черновики, ошибки дискомпиляции в коде-ПЗУ-ПК-01 и т.д.