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

 
 
> Перевод дизассемблера обратно в исходник
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
Ответов
gem
сообщение Jun 14 2018, 14:24
Сообщение #2





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



В этом все и дело, сам код без проблем компилируется, а вот блок данных нет, именно в нем ошибки и идут. Как их вернуть в исходное или рабочее состояние. Код написан на АСМе, с данными там вообще не понятка, т.к если смотреть по IDA то видно слова типа "Подключение к БД", Меню и т д... Соответственно без данных программа включается, но не работает как надо и соотвественно 20% кода который компилируется в hex получается лажой.

Сообщение отредактировал gem - Jun 14 2018, 14:26
Go to the top of the page
 
+Quote Post
Smen
сообщение Jun 15 2018, 06:22
Сообщение #3


Местный
***

Группа: Участник
Сообщений: 211
Регистрация: 18-03-13
Из: Питер
Пользователь №: 76 081



Цитата(gem @ Jun 14 2018, 18:24) *
Как их вернуть в исходное или рабочее состояние.

Помнится проделывал подобное для 51 МК.
В принципе, выше вкратце уже сказали.
Единственно что, данные не обязательно являются текстом, а если являются, то вряд ли в МК будет юникод.
А собственно для чего Вам это надо?
У меня тогда стояла задача дополнить старт устройства дополнительной фичей.
Поэтому, немного разобравшись с программой (по дизасму), сделал в самом начале переход на конец программы (где было свободное место) и там уже написАл необходимую вставку с возвратом в точку перехода.
Дальше уже более для интереса, нашёл куски текста, указал дизасму адреса, дизассэмблировал.
Опять засунул в ИДЕ (точнее не весь, а только обновлённые куски, так как по ходу в листинге менял названия меток и добавлял коментарии), стал анализировать программу и находить блоки данных.
По-новой в дизасм и т.д.
Периодически, после изменений АСМа, компилировал в BIN и сверял с исходным (пользовался вот программкой Dronf).
И, да! Удовольствие получил обалденное. biggrin.gif
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
- - 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 17 2018, 17:40) Поэт...   Jun 19 2018, 10:33
- - 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 Текстовая версия Сейчас: 5th August 2025 - 08:39
Рейтинг@Mail.ru


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