関数の頭で
subsp,#0x0c
のようにスタックポインタを後退させて
↓のような感じで
strr0,[rp,#0x00]
ldrr0,[rp,#0x00]
スタックを使っているソースを見たことがあります。
この方法で沢山の数値を保存できるとは思うのですが
スタックは無限ではないので↑のように
勝手にスタックポインタを動かすことに抵抗があります。

そういえばpush/popをするとき
スタックの限界なんて意識するひとはいないようですが
それが原因でバグがおきたなんて話しも聞いたことがありません。

一体どうしてなんでしょ?