Сейчас на форуме: zombi-vadim, zds (+4 невидимых) |
eXeL@B —› Программирование —› ARM Дисассемблер |
Посл.ответ | Сообщение |
|
Создано: 17 августа 2013 12:45 · Личное сообщение · #1 Привет. Подскажите, как правильно разбирать команды ARM. К примеру мы знаем что ARM занимает 4 байта, а THUMB занимает 2 байта, если мы начнем разбирать ARM команду, то мы переводим 4 байта в 31 бит, с 31 по 28 бит это condition code flags, с 27 по 8 бит это reserved, с 8 по 0 бит это control bits, а теперь, как правильно разобрать биты с 27 по 0, чтоб не получить неправильную команду. Смотреть книгу ARM7-TDMI-manual, но не нашел нужной страницу по разбору команды, может ткнете носом или подскажите хорошую книгу, статью, код(можно на любом языке) с хорошими комментариями, или подскажете алгоритм разбора команд. Извиняюсь, если ошибся разделом. |
|
Создано: 17 августа 2013 12:53 · Личное сообщение · #2 |
|
Создано: 17 августа 2013 16:42 · Поправил: zolodei · Личное сообщение · #3 reversecode зачем мне напирать в гугле и искать, если я нашёл ARM7-TDMI-manual и там все написано, и мне только надо, чтоб кто то объяснил хорошо, как разобрать опкоды, сам пытался, но чего-то не понимаю, вот и пришёл на форум чтоб хорошо объяснили как разобрать опкоды. К примеру почему команда e1a0f00e mov r15, r14 пишется так, а не по-другому, и как они определили, что она является Data Processing Instructions, а не Branch Instructions, я не могу понять этого. |
|
Создано: 17 августа 2013 17:00 · Поправил: reversecode · Личное сообщение · #4 |
|
Создано: 20 августа 2013 15:04 · Личное сообщение · #5 http://re-eject.gbadev.org/files/armref.pdf Чуть более наглядный вариант | Сообщение посчитали полезным: zolodei |
|
Создано: 20 августа 2013 18:16 · Личное сообщение · #6 reversecode, на PureBasic Veliant, спасибо, но я, эту ссылку сам нашёл и еще две ссылки http://subjects.ee.unsw.edu.au/elec2041/tutorial-sol/tutorial09-sol.pdf http://forums.ngemu.com/showthread.php?t=146432 по которым начал делать наброски дисассемблера, но всё равно есть вопросы, которые сам пытаюсь решить. |
|
Создано: 21 августа 2013 05:32 · Поправил: sen · Личное сообщение · #7 zolodei не знаю какой ты manual нашел, но в оригинальном мануале ARM7DI Data Sheet Document Number: ARM DDI 0027D Issued: Dec 1994 на странице 25 показано чем Data Processing Instructions отличается от Branch Instructions (см аттач) и зачем все эти 'наглядные варианты', есть же первоисточник на arm.com e855_21.08.2013_EXELAB.rU.tgz - arm_p25.jpg |
|
Создано: 21 августа 2013 09:11 · Поправил: reversecode · Личное сообщение · #8 |
eXeL@B —› Программирование —› ARM Дисассемблер |