Дизассемблер Yozh
Moderator: Shaos
-
- Senior
- Posts: 181
- Joined: 17 Jun 2014 04:29
- Location: 93.80.157.217
Re: Дизассемблер Yozh
975
You do not have the required permissions to view the files attached to this post.
-
- Admin
- Posts: 24053
- Joined: 08 Jan 2003 23:22
- Location: Silicon Valley
Re: Дизассемблер Yozh
да - теперь совсем-совсем предел 

Я тут за главного - если что шлите мыло на me собака shaos точка net
-
- Doomed
- Posts: 355
- Joined: 14 Oct 2019 18:10
- Location: Tashkent
Re: Дизассемблер Yozh
Внесу и свою лепту в это творчество!
Уместил в 926 (только i8080) байтов, но имеются недоработки (за сутки это просто так не отладишь) - нужно более тщательнее всё писать/отлаживать (вылетать перестал - уже хорошо!).
(Вообще-то, особого настроения нет - сложно всё это, да и ваш код не переплюнуть.
)

Уместил в 926 (только i8080) байтов, но имеются недоработки (за сутки это просто так не отладишь) - нужно более тщательнее всё писать/отлаживать (вылетать перестал - уже хорошо!).
(Вообще-то, особого настроения нет - сложно всё это, да и ваш код не переплюнуть.

You do not have the required permissions to view the files attached to this post.
-
- Senior
- Posts: 181
- Joined: 17 Jun 2014 04:29
- Location: 93.80.157.217
Re: Дизассемблер Yozh
... и тут подумалось ...
половину таблицы disassm_table_8085 занимают команды MOV, OR, ANA и т.д. а в тоже время, все данные уже находятся в коде команды. если сделать отдельный обработчик для этих команд, то таблицу disassm_table_8085 можно уполовинить, а это АЖ 256 байт!
половину таблицы disassm_table_8085 занимают команды MOV, OR, ANA и т.д. а в тоже время, все данные уже находятся в коде команды. если сделать отдельный обработчик для этих команд, то таблицу disassm_table_8085 можно уполовинить, а это АЖ 256 байт!
-
- Admin
- Posts: 24053
- Joined: 08 Jan 2003 23:22
- Location: Silicon Valley
Re: Дизассемблер Yozh
Ну это же сдвинутая половина и потом там есть исключение - HLT (MOV M,M), а в-принципе, наверное можно процедурно эту часть таблицы заполучить - типа разбить таблицу на четверти, первая и четвёртая четверти будут храниться и обрабатываться как сейчас, а вторая и третья - процедурноvital72 wrote:... и тут подумалось ...
половину таблицы disassm_table_8085 занимают команды MOV, OR, ANA и т.д. а в тоже время, все данные уже находятся в коде команды. если сделать отдельный обработчик для этих команд, то таблицу disassm_table_8085 можно уполовинить, а это АЖ 256 байт!

типа:
Code: Select all
; =============================================================================
; ДИЗАССЕМБЛИРОВАНИЕ БЛОКА КОДА ______________________________________________
; вход: HL - начальный адрес блока
; DE - конечный адрес блока
disassm:
inx d
call CMP_DE_HL
jnc MONITOR_PROMPT
push d
push h ; addr of first byte
lxi d, disassm_out
push d
mov e, m
mvi d, 0
inx h
push h
; vvvvvvvvvv
mov a,e
cpi 40h
jc old
cpi 0C0h
jnc old
; procedural
...
jmp DALEE
; ^^^^^^^^^^
old: lxi h, disassm_table_8085
dad d
dad d
...

Ну или просто на четверти разбить и иметь четыре таблички - с адресами хранимыми в массиве из 4 слов (просто второй и третий адреса будут по другому использоваться)...
Я тут за главного - если что шлите мыло на me собака shaos точка net
-
- Admin
- Posts: 24053
- Joined: 08 Jan 2003 23:22
- Location: Silicon Valley
Re: Дизассемблер Yozh
Я хочу CI/CD нахлобучить на гитлаб-репу (когда выложу заточенную под pdp11asm85 версию), чтобы оно при каждом коммите собирало и прогоняло тесты (для этого надо дописать мой текстовый эмулятор рк), чтобы удостовериться, что ничего не сломалось в обновляемой версии...Alikberov wrote:Внесу и свою лепту в это творчество!![]()
Уместил в 926 (только i8080) байтов, но имеются недоработки (за сутки это просто так не отладишь) - нужно более тщательнее всё писать/отлаживать (вылетать перестал - уже хорошо!).
(Вообще-то, особого настроения нет - сложно всё это, да и ваш код не переплюнуть.)
Я тут за главного - если что шлите мыло на me собака shaos точка net
-
- Senior
- Posts: 181
- Joined: 17 Jun 2014 04:29
- Location: 93.80.157.217
Re: Дизассемблер Yozh
766 байт
... и жопой чую, что это не пердел.
... и жопой чую, что это не пердел.
You do not have the required permissions to view the files attached to this post.
-
- Admin
- Posts: 24053
- Joined: 08 Jan 2003 23:22
- Location: Silicon Valley
-
- Doomed
- Posts: 355
- Joined: 14 Oct 2019 18:10
- Location: Tashkent
Re: Дизассемблер Yozh
Кстати, попытался избавиться от таблицы - дороговато!
Таблицей - компактнее и гибче:
Таблицей - компактнее и гибче:
Last edited by Alikberov on 11 Feb 2024 15:25, edited 1 time in total.
-
- Doomed
- Posts: 355
- Joined: 14 Oct 2019 18:10
- Location: Tashkent
Дизассемблер «A…»…
На данный момент - 938 байт (все инструкции i8080) с адреса 0038 по 03E2.
В качестве демонстрации код использует служебные ячейки Журнального Монитора для трюкового запуска директивой «G,<начало>,<конец>» для дизассемблирования любого фрагмента памяти…
Прерывание - по F4/УС+C.
Внимание!
Параметр «<начало>» нельзя указывать ниже 0010 и выше 7600/!\
В качестве демонстрации код использует служебные ячейки Журнального Монитора для трюкового запуска директивой «G,<начало>,<конец>» для дизассемблирования любого фрагмента памяти…
Прерывание - по F4/УС+C.
Внимание!
Параметр «<начало>» нельзя указывать ниже 0010 и выше 7600/!\
You do not have the required permissions to view the files attached to this post.
-
- Admin
- Posts: 24053
- Joined: 08 Jan 2003 23:22
- Location: Silicon Valley
Re: Дизассемблер Yozh
А трюкового это как? 

Я тут за главного - если что шлите мыло на me собака shaos точка net
-
- Senior
- Posts: 181
- Joined: 17 Jun 2014 04:29
- Location: 93.80.157.217
Re: Дизассемблер Yozh
740 байт.
каждый байт даётся с большим трудом.
для тестов прилагаю откомпилированный файл дизассемблера, код располагается с адреса 7000H и запускатель дизассемблера директивой Монитора "G,<начало>,<конец>" (скоммуниженно у Руслана)
каждый байт даётся с большим трудом.
для тестов прилагаю откомпилированный файл дизассемблера, код располагается с адреса 7000H и запускатель дизассемблера директивой Монитора "G,<начало>,<конец>" (скоммуниженно у Руслана)
You do not have the required permissions to view the files attached to this post.
-
- Senior
- Posts: 181
- Joined: 17 Jun 2014 04:29
- Location: 93.80.157.217
Re: Дизассемблер Yozh
ну и как всегда, сразу же нашёл как ещё два байта срезать
-
- Senior
- Posts: 181
- Joined: 17 Jun 2014 04:29
- Location: 93.80.157.217
Re: Дизассемблер Yozh
хехе 734
You do not have the required permissions to view the files attached to this post.
-
- Doomed
- Posts: 355
- Joined: 14 Oct 2019 18:10
- Location: Tashkent
Re: Дизассемблер Yozh
В данном контексте слово трюк употребляется в том смысле, что до него, на сколько мне известно, никто не додумывался до сих пор.Shaos wrote:А трюкового это как?

Здесь развёрнуто и подробно.
vital72 wrote:(скоммуниженно у Руслана)

Last edited by Alikberov on 12 Feb 2024 07:02, edited 1 time in total.