Top / ARM

ARMメモ

ARMに関するメモ。

アセンブラと逆アセンブラ

binutilsを使用。pmgr収録。

% cat a.s
mov pc, lr
% arm-wince-pe-as a.s
% arm-wince-pe-objdump -d a.out

a.out:     file format pe-arm-wince-little

Disassembly of section .text:

00000000 <.text>:
   0:   e1a0f00e        mov     pc, lr

レジスタ

r0~r15の16個。r9~r15には別名がある。

レジスタ別名由来説明
r9sbStatic Base
r10slStack Limit
r11fpFrame Pointerx86のBPに相当
r12ipx86のIPとは別物。プロローグで使用される
r13spStack Pointerx86のSPに相当
r14lrLink Registerreturn先を示す。mov pc,lrがx86のretに相当
r15pcProgram Counterx86のIPに相当

cf. あらかじめ宣言された ARM レジスタ名

プロローグ

ARM

mov ip, sp
stmfd sp!, {fp, ip, lr, pc}
sub fp, ip, #4

x86

push    ebp
mov     ebp, esp

エピローグ

ARM

ldmfd sp, {fp, sp, pc}

x86

pop     ebp
ret

コメント



トップ   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS