Изменения

ARM-декомпилятор

51 байт добавлено, 22:44, 17 апреля 2011
м
Этап 1 — Дизассемблировать файл целиком
Номера условий удобно использовать не какие-нибудь, а такие, чтобы изменением одного бита условие можно было обратить. У меня сейчас сделаны свои номера, можно их переделать на стандартные ARM’овские: 0..13 это eq, ne, cs, cc, mi, pl, vs, vc, hi, ls, ge, lt, gt, le. А можно и не переделывать. Смысл «моих» номеров в том чтобы это было более человекочитаемо. Младший бит = 1, если это одно из сравнений на >/</>=/<=, знаковых или беззнаковых. Тогда биты выглядят как GUE1. G = Greater, U = Unsigned, E = allow Equal. Не сравнения - младший бит=1 и остаются только eq/ne (N010), vs/vc (N100), pl/mi (N110). Бит N = Negate, т.е. отрицание. Итак, получаются следующие номера:
<tab sep=bar class="wikitable sortable" head="top">Код | xx | ЗначениеСравнения| |
1111 | cs | беззнаковое >=
0111 | cc | беззнаковое <
1001 | gt | знаковое >
0001 | le | знаковое <=
Остальные| |
0010 | eq | ==
1010 | ne | !=