armアセンブラ(thumb2)メモ
レジスタ
thumb命令の大半はr0-r7にしかアクセスできない
名称 | 別名 | 用途 |
---|---|---|
r0 | - | 引数1、返り値、破壊可能 |
r1 | - | 引数2、破壊可能 |
r2 | - | 引数3、破壊可能 |
r3 | - | 引数4、破壊可能 |
r4 | - | |
r5 | - | |
r6 | - | |
r7 | - | gccではfpとして利用(thumb命令時) |
r8 | - | |
r9 | - | プラットフォームレジスタ The meaning of this register is defined by the platform standard. |
r10 | - | |
r11 | fp | フレームポインタ |
r12 | ip | プロシージャ内部呼び出しスクラッチレジスタ |
r13 | sp | スタックポインタ |
r14 | lr | リンクレジスタ |
r15 | pc | プログラムカウンタ |
スタック
push {r4-r7, lr}
とすると下位アドレスからr4, r5, r6, r7, lrと並ぶ