ARMアセンブリ

ARM は RISC でありながら、個々の命令が複雑な機能を持っています。特にほとんどの命令が条件に従って実行されたり、されなかったりする条件実行の機能を持っている
スタックが使いやすく、比較的高機能な命令が多いため、アセンブラでプログラムしやすいCPUである
ARM系のCPUの場合、システムコールの方法やスタックの使い方を規定した Application Binary Interface (ABI) に 2種類ある

LR(リンクレジスタ)は、分岐命令(サブルーチン呼び出し)が行われたときに、サブルーチン終了後に呼び出し元に戻ってこられるよう、現在の PC 値(正確には、現在の PC 値の次の命令のアドレス)を覚えておくためのもの
プログラムの実行とともに「プログラムカウンタ(PC)」が更新されます。プログラムカウンタとは、CPU内にあるアドレス(番地)を収める場所で、そのCPUが次に実行する命令が置かれている番地が書かれている
Pentium系のCPUと比べて命令数は少ないのですが、 条件実行が可能なことや演算命令でフラグレジスタへの反映の有無を指定できることから、 それらの組み合わせでニーモニック(命令の表現)が多い