Дизассемблер Yozh
Moderator: Shaos
-
- Fanat
- Posts: 88
- Joined: 21 Feb 2017 06:54
- Location: Казань
Re: Дизассемблер Yozh
Попрактиковался немного в ассемблере PDP11asm85, использовал свой текст, набранный в ассемблере RK86.ru , не сразу но получилось скомпилировать. Этот ассемблер не принимает такое выражение MVI A, 08 , пока не исправил его на MVI A, 08h .
Перекомпилировал YOZH для Специалиста , получилось сразу и вот, теперь и на Специалисте работает :
Перекомпилировал YOZH для Специалиста , получилось сразу и вот, теперь и на Специалисте работает :
You do not have the required permissions to view the files attached to this post.
-
- Admin
- Posts: 24078
- Joined: 08 Jan 2003 23:22
- Location: Silicon Valley
-
- Fanat
- Posts: 88
- Joined: 21 Feb 2017 06:54
- Location: Казань
Re: Дизассемблер Yozh
Задам здесь вопрос про ассемблер PDP11asm85, у него в самом хвосте добавляется строка :
make_radio86rk_rom "yozh.rkr"
т.е. он добавляет в БИН файл коды, превращающие его в RKR магнитофонный файл.
если в асме ОРГ 0000 - то все нормально, файл правильный
но если стоит например ORG 3800h , те не с нуля, то RKR файл делается все равно с 0000h , добавляя с 0000 по 3800 коды 00
и длина файла увеличивается на 15К
почему он так делает ?
make_radio86rk_rom "yozh.rkr"
т.е. он добавляет в БИН файл коды, превращающие его в RKR магнитофонный файл.
если в асме ОРГ 0000 - то все нормально, файл правильный
но если стоит например ORG 3800h , те не с нуля, то RKR файл делается все равно с 0000h , добавляя с 0000 по 3800 коды 00
и длина файла увеличивается на 15К
почему он так делает ?
-
- Maniac
- Posts: 324
- Joined: 14 Oct 2023 06:59
Re: Дизассемблер Yozh
а нет ли бинаря со всеми опкодами для теста дизассемблера?
-
- Doomed
- Posts: 481
- Joined: 25 Aug 2009 07:02
- Location: Москва
Re: Дизассемблер Yozh
/dev/urandom попросите такой бинарь сделатьshiny wrote:а нет ли бинаря со всеми опкодами для теста дизассемблера?

Достаточной длины. Или несколько разных. Там будет больше, чем просто все опкоды.
Дизасм должен без замечаний отрабатывать любой ввод, иначе он не может называться инструментом.
-
- Admin
- Posts: 24078
- Joined: 08 Jan 2003 23:22
- Location: Silicon Valley
Re: Дизассемблер Yozh
Так вот жежshiny wrote:а нет ли бинаря со всеми опкодами для теста дизассемблера?
Я этот блоб совмещённый с дизассемблером выкладываю каждый раз в архиве Yozh - например тут и тут (в последнем случае я приложил его 2 раза - один раз с дизассемблером 8085 yozh0005-i8085.rkr и другой - только с определением 8080 инструкций yozh0005-i8080.rkr)vital72 wrote:также я добавил файл i8080.bin.rk для проверки дизассемблирования всех инструкций, включая инструкции 8085, он загружается по адресу 1000H.
чтобы его дизассемблировать надо в HL загрузить 1000H, в DE 1163H
Я тут за главного - если что шлите мыло на me собака shaos точка net
-
- Admin
- Posts: 24078
- Joined: 08 Jan 2003 23:22
- Location: Silicon Valley
Re: Дизассемблер Yozh
Поглядел исходник - да, там нужно задавать аргументы, если начало не с нуля - start и опционально stop (если второй не задавать, то он его посчитает сам - также как если совсем без аргументов писать):Damir wrote:Задам здесь вопрос про ассемблер PDP11asm85, у него в самом хвосте добавляется строка :
make_radio86rk_rom "yozh.rkr"
т.е. он добавляет в БИН файл коды, превращающие его в RKR магнитофонный файл.
если в асме ОРГ 0000 - то все нормально, файл правильный
но если стоит например ORG 3800h , те не с нуля, то RKR файл делается все равно с 0000h , добавляя с 0000 по 3800 коды 00
и длина файла увеличивается на 15К
почему он так делает ?
Code: Select all
if(p.ifToken("make_radio86rk_rom"))
{
p.needToken(ttString2);
Parser::TokenText fileName;
strcpy(fileName, p.loadedText);
size_t start = 0, stop = out.writePtr;
if(p.ifToken(","))
{
start = ullong2size_t(readConst3());
if(p.ifToken(",")) stop = ullong2size_t(readConst3());
}
if(step2)
{
if(stop<=start || stop>sizeof(out.writeBuf)) p.syntaxError();
size_t length = stop - start;
char error_buf[256];
if(!make_radio86rk_rom(fileName, start, out.writeBuf+start, length, error_buf, sizeof(error_buf)))
p.syntaxError(error_buf);
lstWriter.writeFile(fileName);
}
return true;
}
Я тут за главного - если что шлите мыло на me собака shaos точка net
-
- Maniac
- Posts: 324
- Joined: 14 Oct 2023 06:59
Re: Дизассемблер Yozh
и как это я сразу не догадался?Mixa64 wrote:/dev/urandom попросите такой бинарь сделать
Достаточной длины. Или несколько разных. Там будет больше, чем просто все опкоды.
Дизасм должен без замечаний отрабатывать любой ввод, иначе он не может называться инструментом.
You do not have the required permissions to view the files attached to this post.
-
- Admin
- Posts: 24078
- Joined: 08 Jan 2003 23:22
- Location: Silicon Valley
Re: Дизассемблер Yozh
а как проверить, что там всё ок надекодилось? 

Я тут за главного - если что шлите мыло на me собака shaos точка net
-
- Maniac
- Posts: 324
- Joined: 14 Oct 2023 06:59
Re: Дизассемблер Yozh
Там это где?Shaos wrote:а как проверить, что там всё ок надекодилось?
скормил бинарь онлайн-дизассемблеру, который упоминался в разделе. Визуально код норм, но последние 5 байт неверны. Dasmx 1.40 обработал корректно, сравнил с исходником Telemark Assembler.
Других способов я не знаю.
-
- Admin
- Posts: 24078
- Joined: 08 Jan 2003 23:22
- Location: Silicon Valley
Re: Дизассемблер Yozh
там - это в случайно нагенерённой последовательности
если есть другие эталонные дизасмы, то это хорошо
если есть другие эталонные дизасмы, то это хорошо
Я тут за главного - если что шлите мыло на me собака shaos точка net
-
- Maniac
- Posts: 324
- Joined: 14 Oct 2023 06:59
Re: Дизассемблер Yozh
Вооот) Поэтому и спросил набор опкодов - хватит для начальной отладки.Shaos wrote:там - это в случайно нагенерённой последовательности
если есть другие эталонные дизасмы, то это хорошо
-
- Admin
- Posts: 24078
- Joined: 08 Jan 2003 23:22
- Location: Silicon Valley
Re: Дизассемблер Yozh
А он тут пролетааалshiny wrote:Вооот) Поэтому и спросил набор опкодов - хватит для начальной отладки.Shaos wrote:там - это в случайно нагенерённой последовательности
если есть другие эталонные дизасмы, то это хорошо

см. выше:
viewtopic.php?p=172617#p172617
Я тут за главного - если что шлите мыло на me собака shaos точка net
-
- Senior
- Posts: 181
- Joined: 17 Jun 2014 04:29
- Location: 93.80.157.217
Re: Дизассемблер Yozh
а какой онлайн-дизассемблер упоминался? я, вроде, свой не упоминал, если речь о нём и в нём всё нормально.shiny wrote: скормил бинарь онлайн-дизассемблеру, который упоминался в разделе. Визуально код норм, но последние 5 байт неверны. Dasmx 1.40 обработал корректно, сравнил с исходником Telemark Assembler.
Других способов я не знаю.
-
- Maniac
- Posts: 324
- Joined: 14 Oct 2023 06:59
Re: Дизассемблер Yozh
https://86rk.ru/disassm/vital72 wrote:а какой онлайн-дизассемблер упоминался? я, вроде, свой не упоминал, если речь о нём и в нём всё нормально.shiny wrote: скормил бинарь онлайн-дизассемблеру, который упоминался в разделе. Визуально код норм, но последние 5 байт неверны. Dasmx 1.40 обработал корректно, сравнил с исходником Telemark Assembler.
Других способов я не знаю.
меня это смутило
You do not have the required permissions to view the files attached to this post.