PC-01 Lviv
http://pc01.lviv.ua/forum/

Ассемблеры
http://pc01.lviv.ua/forum/viewtopic.php?f=20&t=146
Page 2 of 2

Author:  sas9568635 [ 06 Jun 2012, 11:09 ]
Post subject:  Re: Ассемблеры

Quote:
...версия Андрея Лебедева, которые тоже можно посмотреть.
Жму на сслыку http://vector06c.narod.ru/source/bolder_and_secrets.zip
а она у меня не скачивается...
liberation, вышли плиз мылом

Author:  sas9568635 [ 06 Jun 2012, 11:24 ]
Post subject:  Re: Ассемблеры

Code:
0023   0010             
0024   0010 44          _IMUL:   MOV B,H
0025   0011 4D             MOV C,L
0026   0012 21 00 00       LXI H,0
0027   0015 3E 11          MVI A,17
0028   0017 3D          _IMUL1:   DCR A
0029   0018 C8             RZ
0030   0019 29             DAD H
0031   001A EB             XCHG
0032   001B 29             DAD H
0033   001C EB             XCHG
0034   001D D2 17 00       JNC _IMUL1
0035   0020 09             DAD B
0036   0021 C3 17 00       JMP _IMUL1
0037   0024             
0038   0024 7B          _IXOR:   MOV A,E
Еще один момент не пойму...
Дак а что номер строки в ДЕСятичн. а адре в в Шестнадцатеричном формате? (и байты в шестнад)
Странно как-то...

Author:  Zelya [ 06 Jun 2012, 11:38 ]
Post subject:  Re: Ассемблеры

sas9568635
Quote:
а она у меня не скачивается...
Странно, у меня скачивается. Попробуйте правой кнопкой и "save link as..."
Quote:
номер строки в ДЕСятичн. а адре в в Шестнадцатеричном формате
Вполне стандартный подход. Строки текстового редактора никогда не нумеруют в шестнадцатиричной.

Author:  b2m [ 06 Jun 2012, 11:49 ]
Post subject:  Re: Ассемблеры

Quote:
Еще один момент не пойму...
Дак а что номер строки в ДЕСятичн. а адре в в Шестнадцатеричном формате? (и байты в шестнад)
Странно как-то...
Листинг делается обычно для человека.
А ему удобнее знать номер строки в десятичном виде (чтобы искать в текстовом редакторе, где номер строки также десятичный).
А про адрес и коды объяснять, надеюсь, не надо. :)

Author:  liberation [ 06 Jun 2012, 12:26 ]
Post subject:  Re: Ассемблеры

Quote:
Жму на сслыку [...], а она у меня не скачивается...
Закинул исходники BD в файловое хранилище [открыть]. :)

Author:  sas9568635 [ 06 Jun 2012, 14:39 ]
Post subject:  Re: Ассемблеры

Ну вот "склепал".. Надо проверить... http://sas.forumbb.ru/viewtopic.php?id=287
При поверхностной проверке вроде все в порядке, хотя когда я листинг-файл(CAVE.LVT.01.asm.lst) которой от (CAVE.LVT) "подтянул" в "Башкирию" этот файл он почему-то не запустился вручную в эмуляторе т.е. по команде "Def usr=35832: x=usr(x)". Может я чего не так делал и делаю, а может есть место ошибкам, причем грубым.. Прошу помощи, раз это действительно будет нужно как говорил b2m :P :D

Еще интересный момент...
"Номер строки" выравнивается на 4 знака т.е. 0000,
а как быть с файлами которые 65000 строк, например?.. - ведь будет смещение... после 9999 ...иль это неважно?...
может всетаки выравнивать номер строки на 00000?...

Author:  sas9568635 [ 06 Jun 2012, 14:52 ]
Post subject:  Re: Ассемблеры

Quote:
слушай, а может сделать так, чтобы асм "заганял" ассемлируемую прогу в твой EMU-формат, но не запускал
Quote:
Что-то как-то сложно. Хотя я ничего не имею против. Берёшь в качестве шаблона записанный эмулятором файл, и изменяешь нужные байты памяти. Другое дело, что смещение может измениться, если изменить конфиг. Там в .emu весь обработанный конфиг хранится, плюс состояние компонентов конфига.
Да я уже понял, когда дизасм стал невсегда файлы EMU дизасемблировать правильно...
при жесткой зацепке за 1357 байт в файле EMU, как за начало памяти...
А можна ли зацепится вот так:
Найти (файле EMU) первую "memory"
+ поправка_несколько_байт
- это и будет начало памяти?...

Author:  b2m [ 06 Jun 2012, 15:14 ]
Post subject:  Re: Ассемблеры

Quote:
хотя когда я листинг-файл(CAVE.LVT.01.asm.lst) которой от (CAVE.LVT) "подтянул" в "Башкирию" этот файл он почему-то не запустился вручную в эмуляторе
При загрузке листинга память не меняется, т.е. нужно сначала загрузить .lvt как обычно, а затем в отладчике "подключить" листинг. Листинг влияет только на окно дизассемблера, т.е. вместо дизассемблирования будут показаны строки из листинга (при условии, что байты совпадают).
Quote:
"Номер строки" выравнивается на 4 знака т.е. 0000,
а как быть с файлами которые 65000 строк, например?.. - ведь будет смещение... после 9999 ...иль это неважно?...
может всетаки выравнивать номер строки на 00000?...
Я уже говорил, номер строки не используется, главное - чтобы после него был минимум один пробел (но можно и больше, т.е. выравнивать адрес за счёт количества пробелов).
Quote:
А можна ли зацепится вот так:
Найти (файле EMU) первую "memory"
+ поправка_несколько_байт
- это и будет начало памяти?...
Можно и так. Вряд-ли в файле встретится такая строка до содержимого памяти.
После слова memory будет 4 байта (длина блока памяти), а затем сама память.

Author:  Zelya [ 06 Jun 2012, 15:17 ]
Post subject:  Re: Ассемблеры

Quote:
т.е. выравнивать адрес за счёт количества пробелов
Табуляция же! Все выравнивается автоматически!

Author:  b2m [ 06 Jun 2012, 15:23 ]
Post subject:  Re: Ассемблеры

Quote:
Табуляция же! Все выравнивается автоматически!
А вот символ табуляции использовать не рекомендую :)

Author:  sas9568635 [ 06 Jun 2012, 15:35 ]
Post subject:  Re: Ассемблеры

Quote:
Quote:
Табуляция же! Все выравнивается автоматически!
А вот символ табуляции использовать не рекомендую :)
Да я его и не использую... :-)
Хотя в моем асме при ассемблировании и "встрече" кода 09 - он "понимает" его как разделитель, как тотже "пробел"... :-)

Поэтому пользователи моим асмом, могут вместо "пробела" смело пользоваться "табом"... :-):-):-)
Да людей с больн... т.е с широкой фантазией, мой асм в таком - очень даже подойдет !!!:-):-):-)

Author:  liberation [ 06 Jun 2012, 15:44 ]
Post subject:  Re: Ассемблеры

Quote:
Еще интересный момент...
"Номер строки" выравнивается на 4 знака т.е. 0000,
а как быть с файлами которые 65000 строк, например?.. - ведь будет смещение... после 9999 ...иль это неважно?...
может всетаки выравнивать номер строки на 00000?...
Если я не ошибаюсь, то общее правило таково: ширина поля должна быть кратна 4-м или 8-м символам. Резервируйте под номера строк восемь символов, делайте выравнивание по правому краю, пустые символы забивайте пробелами и все будет хоккей.

Author:  sas9568635 [ 06 Jun 2012, 17:38 ]
Post subject:  Re: Ассемблеры

Quote:
Ну вот "склепал".. Надо проверить... http://sas.forumbb.ru/viewtopic.php?id=287
...а может есть место ошибкам, причем грубым.. Прошу помощи, раз это действительно будет нужно как говорил b2m :P :D
Почему молчим?... :-) Кто нить скачивал?... Смотрел?... Ну... И что не так?...

Author:  sadfsdfsdaf [ 28 Jul 2020, 14:05 ]
Post subject:  Re: Ассемблеры

Раз тема про ассемблеры в целом, то прикреплю конвертер из внутренного представления какого-то Львовского ассемблера в текстовое.
Перебирал файлы и нашёл исходник программатора, в своё время этот файл был помечен как "неизвестный". В принципе, так оно и есть, исходные тексты у этого ассемблера в токенизированной форме, токенами служат коды команд, неизвестные опкоды выступают служебными директивами.
Сказать что-то точнее не могу. Мне повезло, т.к. рядом лежали как исходник так и его скомпилированная форма, это и позволило написать конвертер.

Авось кому пригодится, если исходники у кого-то ещё сохранились в файловой форме и было непонятно что с ними делать.

o32asm.pl это сам конвертер
o32asm.txt это пример работы (исходный текст какого-то программатора, брался тут: warez-d4.rar\ARCHIVE\SYSTEM.BIN\O32.LV0)

Attachments:
File comment: "Assembler source converter" (C) 28-Jul-2020y by *HW*
o32asm.zip [5.57 KiB]
Downloaded 714 times

Page 2 of 2 All times are UTC+03:00
Powered by phpBB® Forum Software © phpBB Limited
https://www.phpbb.com/