Палучилось. !!!!!! Целый день, ё, мучался. Спасибо Иару 5 и принявшим участие в горькой судьбе начинающего армовладельца. Поправил на релятивный бранч и вставил ремап без проверки. Чего там проверять. Надеюсь, не будет неопознанных стартов с нулевого адреса.
Но до чего же странно устроены ихние армвские команды. Чтобы загнать число в регистр они делают вот что:
Требуется записать по адресу FFFF EE00 число 3. Берем инвертируем FF для получения FFFF FF00 MVN R0, #0xFF Потом инвертируем пару бит для получения FFFF EE00 BIC R0, R0, #0x1100.
Теперь в регистре R0 требуемый адрес. У него что, все команды только из одного слова состоятьт могут? И так Си с каждой константой мучается? Надо будет посмотреть.
O! А если использовать команду BL, то в R14 запишется PC? Это значит, я смогу узнать откуда стартовал и требуется ли ремап? Невреддно читать систему команд. Си как-то настраивает на леность в этом вопросе.
Сообщение отредактировал DpInRock - Mar 26 2009, 21:26
--------------------
On the road again (Canned Heat)
|