roboforum.ru

Технический форум по робототехнике.
Текущее время: 30 ноя 2024, 04:32

Часовой пояс: UTC + 4 часа




Начать новую тему Ответить на тему  [ Сообщений: 26 ]  На страницу Пред.  1, 2
Автор Сообщение
 Заголовок сообщения: Re: Перевод ASM в СИ
СообщениеДобавлено: 12 мар 2015, 17:48 
Не в сети
Аватара пользователя

Зарегистрирован: 13 янв 2011, 15:25
Сообщения: 8033
Откуда: Санкт-Петербург
Romikgy писал(а):
иль ваш компилятор умный больно , иль это вы Tролль 80 lvl ....

Дык, какой ты указал - gcc :D

Romikgy писал(а):
PS для нормального возврата из функции , нормальные программисты используют return!

Чудак человек, там есть return - закрывающая скобка функции "}" :wink:
Он тебе даж в комменте написал "//остановить выполнение функции", панимаш? Не выйти, а остановить.
Romikgy писал(а):
ибо for это аналог while , а без for попробуйте !!! удивитесь!

Как я должен попробовать? Не возбуждай меня без нужды, тролляка :)
Так? Дык твой gcc также нормально отработает.
Код:
int main (void)
{
   unsigned int i=0;
   while (i<10)
   {
      //if(i==4) {break;}
      printf ("Hello World\n");
      i++;
   }
}


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Перевод ASM в СИ
СообщениеДобавлено: 12 мар 2015, 18:09 
Не в сети
Аватара пользователя

Зарегистрирован: 15 ноя 2009, 13:37
Сообщения: 750
Откуда: Porto Franco "Odessa"
Dmitry__ писал(а):
Не возбуждай меня без нужды

вы уже.... так что нужда не требуется ... считайте и далее что вы правы...

_________________
die Wahrheit ist irgendwo da draußen


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Перевод ASM в СИ
СообщениеДобавлено: 13 мар 2015, 02:03 
Не в сети
Аватара пользователя

Зарегистрирован: 19 янв 2009, 16:18
Сообщения: 50
Откуда: Хренсбург
Еще вопрос, правильно я понимаю что эти строки
Код:
    LADR_0x012E
CLRF STATUS          ; !!Bank!! STATUS - STATUS - RAM - RAM
MOVF LRAM_0x5D,W
ADDWF LRAM_0x5C,W
ADDWF LRAM_0x5B,W
XORWF LRAM_0x59,W
BTFSS STATUS,Z       ; !!Bank!! STATUS - STATUS - RAM - RAM
GOTO LADR_0x0139
MOVF LRAM_0x5A,W
XORLW 0x55           ;   b'01010101'  d'085'  "U"
BTFSC STATUS,Z       ; !!Bank!! STATUS - STATUS - RAM - RAM
GOTO LADR_0x013A
LADR_0x0139
    CALL LADR_0x01C8

перевел так
Код:
void LADR_0X012E (void)
{
W=LRAM_0x5D;
W=(W+LRAM_0x5C);
W=(W+LRAM_0x5B);
W=(LRAM_0x59^W); //значение в регистре 0x59 ксорим со считанным значением в регистре W и сохраняем в W
if(W!=0) //если значение не равно 0 то делаем ьо что в скобках
{
LADR_0x0139();
}
W=(LRAM_0x5A^0x55);
if(W!=0) //если значение не равно 0 то делаем ьо что в скобках
{
LADR_0x013A();
}
LADR_0x01C8();
вроде все правильно, поправте если где-то тупанул.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Перевод ASM в СИ
СообщениеДобавлено: 14 мар 2015, 00:09 
Не в сети
Аватара пользователя

Зарегистрирован: 19 янв 2009, 16:18
Сообщения: 50
Откуда: Хренсбург
Скажите чем отличаются эти строки
Код:
MOVF LRAM_0x68,F

Код:
MOVF LRAM_0x68,W

я так понял что после запятой туда и сохраняется значение полученное в результате выполненной операции.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Перевод ASM в СИ
СообщениеДобавлено: 14 мар 2015, 00:59 
Не в сети
Аватара пользователя

Зарегистрирован: 18 апр 2009, 22:18
Сообщения: 10668
это не серьезно, прекращайте. тыц, тыц, тыц


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Перевод ASM в СИ
СообщениеДобавлено: 14 мар 2015, 01:31 
Не в сети
Аватара пользователя

Зарегистрирован: 13 янв 2011, 15:25
Сообщения: 8033
Откуда: Санкт-Петербург
Raf00084 писал(а):
Еще вопрос, правильно я понимаю что эти строки

В коде есть неоднозначности, что есть "LADR_0x012E", "LADR_0x0139" метки? Тогда их нельзя переводить в си как функции. Если это куски чего-то, то надо уточнять...
Raf00084 писал(а):
Скажите чем отличаются эти строки

Raf00084 писал(а):
я так понял что после запятой туда и сохраняется значение полученное в результате выполненной операции.

Правильно понял, pic - риск процессор, за счет удлинения поля команды, появляются всякие дополнительные няшки, которые позволяют за одну операцию выполнять несколько действий. Но за это надо платить странным на вид кодом. "MOVF LRAM_0x68,F " берет число из LRAM_0x68 и оставляет его там же :D Эта операция используется для проверки регистра на "0", имеет альтернативное название "test r". В нормальном ассемблере есть дефаулты на операции, и там можно не указывать приемник. Но т.к. ты имеешь дело с реверс инжинирингом, то тебе дизасм выдает все что видит.
Angel71 писал(а):
это не серьезно, прекращайте

Думаю ангел прав. Дизассемблируют прошивки люди, которые все зубы сьели на написании программ на конкретном контроллере. А а ты хочешь колупнуть контроллер, который раньше в глаза не видел...


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Перевод ASM в СИ
СообщениеДобавлено: 14 мар 2015, 01:50 
Не в сети
Аватара пользователя

Зарегистрирован: 18 апр 2009, 22:18
Сообщения: 10668
не совсем про это. с реверсом всё просто - мозги, повёрнутые в нужную сторону, желание, упорство и смекалка. бегать на форумы что бы получить ответ, который элементарно на 1-2 страницах выдачи поисковика будет...


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Перевод ASM в СИ
СообщениеДобавлено: 14 мар 2015, 02:32 
Не в сети
Аватара пользователя

Зарегистрирован: 24 окт 2011, 23:32
Сообщения: 803
Откуда: Севастополь
прог. языки: асм
ТС, а давайте, я вам подробные комментарии к дизассемблированной прошивке напишу ? Задорого ).


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Перевод ASM в СИ
СообщениеДобавлено: 14 мар 2015, 02:56 
Не в сети
Аватара пользователя

Зарегистрирован: 19 янв 2009, 16:18
Сообщения: 50
Откуда: Хренсбург
ALS писал(а):
ТС, а давайте, я вам подробные комментарии к дизассемблированной прошивке напишу ? Задорого ).

Это юмор??? Мне комментарии не нужны, Я пытаюсь понять как работает программа на асм в какой очередности выполняются команды, значение команд есть в дш. Есть реальные предложения пишите лс.

Добавлено спустя 6 минут 7 секунд:
Dmitry__ писал(а):
Думаю ангел прав. Дизассемблируют прошивки люди, которые все зубы сьели на написании программ на конкретном контроллере. А а ты хочешь колупнуть контроллер, который раньше в глаза не видел...

Я не спорю, что это трудно, для начала я создал тему чтоб найти такого человека но увы все только написали, что нету времени. Поэтому решил сам заняться темболее полезно, за неделю узнал уже много. Есть желание помочь пишите личку. Задаю вопросы на форуме потому, что не понимаю как работает та или иная команда, или форум создан не для этих целей?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Перевод ASM в СИ
СообщениеДобавлено: 14 мар 2015, 03:32 
Не в сети
Аватара пользователя

Зарегистрирован: 13 янв 2011, 15:25
Сообщения: 8033
Откуда: Санкт-Петербург
Raf00084 писал(а):
Задаю вопросы на форуме потому, что не понимаю как работает та или иная команда, или форум создан не для этих целей?

Ну, я, вроде, помогаю :oops: На меня тут тож наезжает кулхацкер тролль :)


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Перевод ASM в СИ
СообщениеДобавлено: 14 мар 2015, 04:26 
Не в сети
Аватара пользователя

Зарегистрирован: 18 апр 2009, 22:18
Сообщения: 10668
Raf00084, вам писали, что это занимает много времени, т.е. намекали, что по деньгам такие услуги стоят соответственно. дело не в самом асме, в таких мк он простой как 5 копеек. трудности начинаются, например когда в оригинале попадаются куски, которые до каждого тактика/битика оптимизированы или в коде хорошенько пошаманили, что бы потом мозг выворачиволо у тех, кто будет в него вникать и т.д. потом вы ещё уточняли, что это всё для портирования. это мягко другой уровень. портировать между мк одного семейства может оказаться проблематичным или невозможным, а вы вообще на другое семейство хотите. короче не важно, может позже столкнётесь и сами поймёте. с форумом всё банально. ответы на простые вопросы во-первых намного быстрей нагуглить. во-вторых изучая документацию, статьи по теме, даташиты, справочники и т.д. вы получаете больше информации. хотите тратить больше времени и меньше полезного узнавать, ну удачи.
http://www.covingtoninnovations.com/noppp/picassem2004.pdf


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 26 ]  На страницу Пред.  1, 2

Часовой пояс: UTC + 4 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 10


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB
phpBB SEO