ARMのレジスタ達

x86_64のレジスタ名なら知っているけど、armのレジスタ名はまた違うからややこしい。armのリファレンスを読むときに混乱しないように、ここでまとめておく。

レジスタ 役割
r0~r12 汎用レジスタ
r13 (sp) スタックポインタ
r14 (lp) リンクレジスタまたは汎用レジスタ
r15 (pc) プログラムカウンタ

r14 (lp)には復帰アドレスを格納する。ただし、スタックに復帰アドレスを積む場合には、汎用レジスタとしてつかえる。

r15 (pc)にはmov命令でアドレスがロードできる。サブルーチンから戻るには、 MOV pc,lr とすれば良い。