2012年12月8日土曜日

PythonでARMv7Mの逆アセンブラをつくる

mbedのコンパイラがどんなコードを出力するのか知りたかったので、PythonでARMv7Mの逆アセンブラをつくってみました。

dasv7m

GAEでも動くようにしてみました。

disassembler

たとえばLEDチカチカを逆アセンブラすると次のようになります。
(printf("%p\n", main);はmain()のアドレスを知るために追加してあります)
#include "mbed.h"
DigitalOut myled(LED1);
int main() {
    printf("%p\n", main);
    while(1) {
        myled = 1;
        wait(0.2);
        myled = 0;
        wait(0.2);
    }
}


(2012/12/8)
---

0 件のコメント: