横槍失礼します。
それだけで完結している(別ルーチンを呼ばない)サブルーチンではPRを保
存する必要がないので速くなります。アセンブラでプログラムを書くとPRレジ
スタのありがたみがわかります。コンパイラだと、恩恵にあずかれないかもしれ
ません。
たとえば、R1が指す番地が0かどうか、R1を1バイトづつインクリメントしな
がら調べるサブルーチンがあったとします。
CHKZ MOV.B @R1+,R0
RTS
CMP/EQ #0,R0
H8なら
CHKZ MOV.B @ER1+,R0L
CMP.B #0,R0L
RTS
ですね。このサブルーチンをループ中から呼んだ場合、H8の場合毎回PCのス
タックへの保存と復帰が起こりますが、SHだと一回もスタックアクセスしませ
ん。バスが外部バスで16ビットだったり8ビットだったりすると大きな差にな
りそうです。
A.Hiramatsu