第二部 トロン仕様チップ命令詳細第十三章 ジャンプ命令
SCB
ジャンプ命令 <<L1R>>,<<L1>>,<<L2>>

【ニモニックとオペランド】

SCB step, vreg, limit, pcdisp

【機能】

Subtract, compare and branch
減算と比較と分岐

【オプション】

なし

【命令フォーマットと表記法】

【解説】 

 減算、比較、および条件分岐を一命令で行います。この命令はループのプリミティブで、処理は次頁の流れ図の点線で囲まれた部分に示されています。
 step,vreg,limitを符号付き整数として処理及び比較します。ループカウンタを減少するときに、vregのオーバフロー検査は行われません。
ループの終りに、ループを何回行ったかを示す数値をループカウンタに減算し、終了条件がテストされます。
 終了条件が満たされた場合には、次の命令でプログラムの実行が続行されます。終了条件が満たされない場合には、ループの先頭に戻ります。
 SCB命令では、sz ≠ 00のときには、pcdispのフィールドは使用せず(0にセット)、szで指定されたサイズのデータがpcdispの後に続きます。

【フラグ変化】

【発生EIT】

RIE step [Gen/r], limit [Gen/r]のアドレッシングモード違反
RIE sx,sy,sz = 11
OAJE/OAJT 分岐デスティネーションアドレスが奇数

【使用例】

 汎用レジスタR0から1を引いて、その結果をR1と比較します。R0とR1の値が等しい場合、またはR0の値がR1の値よりも大きい場合には、プログラムの実行はPCにH'1234を加えて得られるアドレスへ分岐します。R0の値がR1の値よりも小さい場合には、次の命令に進みます。