реклама на сайте
подробности

 
 
> Перевод дизассемблера обратно в исходник
gem
сообщение Jun 13 2018, 15:08
Сообщение #1





Группа: Участник
Сообщений: 12
Регистрация: 27-05-18
Пользователь №: 104 674



Приветствую Уважаемые!
Есть дизассемблированный код процессора pic18ф4620/2620, пытаюсь собрать исходник обратно с помощью МПЛАБ IDE МPASMWIN, чтобы потихоньку разбираться что к чему и как работает.
Естественно вылазит куча ошибок.
Самая распространенная это Error[126] 32273 : Argument out of range (8423 not between FC00 and 03FF). В коде данных строк стоит переход BRA 720.
Про команду эту почитал, и вроде метка есть L720. Но ругается я так понимаю на диапазон. Как узнать почему ?
Та же ошибка, только тут уже не нравиться RCALL
L1903 RCALL 987
NOP
BRA L1850
BRA L1851
NOP
NOP
BNC L1852.

и еще

Error[126] 27724 : Argument out of range (9FF8 not between 0000 and FFFF) // CALL 0x0F9FF8,FAST
Error[126] 27769 : Argument out of range (D29A not between 0000 and FFFF) // GOTO 0x1ED29A


Понятно что, тут возможно код так дизассемблировался и в идеале он уже не тот, но все же 80% кода собирается и выглядит один в один с исходником хекса, если все убрать где начинаются это ошибки. Помогите исправить, чтобы программа компилировалась.

https://mega.nz/#!FMZlGLzZ!EtARv8iv...7F1VN1M4MkJKPFA

Сам код.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Марк_Я
сообщение Jun 19 2018, 10:33
Сообщение #2


Частый гость
**

Группа: Свой
Сообщений: 178
Регистрация: 19-09-07
Из: М.О. г.Фрязино
Пользователь №: 30 656



Цитата(k155la3 @ Jun 17 2018, 17:40) *
Поэтому я начинаю "разбор" с них.

Разбор обычно начинают с КОМАНД, а не с полей констант. Тем более, что таблицы констант в ассемблере PIC18 могут быть оформлены и как табличное чтение и как функция команды retlw <const>. Если последний вариант дизассемблируется достаточно очевидно (там нечего искать, достаточно начального адреса стандартного блока с retlw), то вариант с табличным чтением программного флеша совершенно неопределенное занятие без разбора адресующего эту таблицу кода. Ибо при побайтной упаковке таблицы во флеш эта таблица ничем от исполняемого кода внешне не отличается.
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- gem   Перевод дизассемблера обратно в исходник   Jun 13 2018, 15:08
- - Baser   Встроенные в IDE дизассемблеры, как правило, не об...   Jun 13 2018, 15:52
|- - kovigor   Цитата(Baser @ Jun 13 2018, 18:52) Тут ну...   Jun 14 2018, 05:46
|- - jcxz   Цитата(kovigor @ Jun 14 2018, 08:46) Если...   Jun 14 2018, 06:27
- - gem   Тут использовался не встроенный в МПЛАБ дизассембл...   Jun 13 2018, 15:55
- - k155la3   IDA. Посмотрите, возможно есть PIC. Более удобного...   Jun 13 2018, 17:44
|- - Smen   Цитата(k155la3 @ Jun 13 2018, 22:44) Боле...   Jun 14 2018, 11:20
- - k155la3   Посмотрел листинг. Всего - около 500 страниц текст...   Jun 14 2018, 09:38
- - gem   В этом все и дело, сам код без проблем компилирует...   Jun 14 2018, 14:24
|- - Smen   Цитата(gem @ Jun 14 2018, 18:24) Как их в...   Jun 15 2018, 06:22
- - k155la3   литералы смотрите в FAR. По адресу или смещению на...   Jun 14 2018, 15:45
- - gem   Чтобы что-то дополнить нужно исходник иметь, для э...   Jun 15 2018, 16:09
|- - k155la3   Цитата(gem @ Jun 15 2018, 19:09) (1)Как д...   Jun 15 2018, 17:10
- - Марк_Я   В системе команд PIC18 (как и других PIC-ов) под л...   Jun 16 2018, 04:11
|- - k155la3   Цитата(Марк_Я @ Jun 16 2018, 07:11) . . ....   Jun 17 2018, 14:40
- - k155la3   Под "разбором" с литералами-константами ...   Jun 19 2018, 12:14
- - Марк_Я   Цитата(k155la3 @ Jun 19 2018, 15:14) напр...   Jun 19 2018, 14:45
- - k155la3   Цитата(Марк_Я @ Jun 19 2018, 17:45) Извин...   Jun 19 2018, 18:21


Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 17th July 2025 - 23:52
Рейтинг@Mail.ru


Страница сгенерированна за 0.01365 секунд с 7
ELECTRONIX ©2004-2016