main=65011720;なんだよ
main=195;とか楽しそうだなーと思ってたので、じゃあMIPSだとどうなるの?って思ったのでやってみた。
※main=195が分からない奴はこっちを嫁:
mainとは何なのか(1) - バリケンのRuby日記 - Rubyist
mainとは何なのか(2) - バリケンのRuby日記 - Rubyist
mainとは何なのか(3) - バリケンのRuby日記 - Rubyist
MIPSでreturnする時は
jr ra
という命令を実行する。
これはmipsel(MIPSのlittle endian)だと0x03e00008になる。
これを更にintに直して10進表記すると65011720になる。
ってことは、
main=65011720;
ってしてあげれば良い訳ね。
で、念の為逆アセンブルしてみると、
セクション .data の逆アセンブル: 00440970 <__data_start>: ... 00440980 <__dso_handle>: ... 00440990 <p.2354>: 440990: 00440960 0x440960 ... 004409a0 <main>: 4409a0: 03e00008 jr ra 4409a4: 00000000 nop
となっているので正しそう。
qemu-mipsel -L /usr/mipsel-linux-gnu/ ./main