CARL qqrr: Call subroutine at relative location qqrr (5MIN/6MAXcycle) 機能 ■MODEL0/1 [SP-1]←PC(H), [SP-2]←PC(L), SP←SP-2, PC←PC+qqrr+2  ■MODEL2/3(ミニマムモード) [SP-1]←PC(H), [SP-2]←PC(L), SP←SP-2, PC←PC+qqrr+2, CB←NB  ■MODEL2/3(マキシマムモード) [SP-1]←CB, [SP-2]←PC(H),[SP-3]←PC(L), SP←SP-3, PC←PC+qqrr+2, CB←NB 本命令の先頭アドレス+3の値をリターンアドレスとしてスタックに退避後、サブル ーチンを無条件にコールします。分岐先(サブルーチンの先頭アドレス)は、本命令 の先頭アドレス+2に符号付き16ビット絶対アドレスqqrr(-32768〜32767)を加算し たアドレスになります。 MODEL2/3のマキシマムモードでは、リターンアドレスの退避時に現在選択されてい るバンクアドレス(CBの内容)の退避も行われます。また、MODEL2/3では、分岐時に NBに設定されているバンクアドレスがCBにロードされ、バンクの変更も行われます。 コード MSB LSB 1 1 1 1 0 0 1 0 F2H r r rr q q qq フラグ  I1 I0 U D N V C Z − − − − − − − − モード 符号付き16ビットPC相対 例 MODEL2/3においてNB=02Hの場合、物理アドレス9000H番地にあるCARL $+2000H命令を 実行。  NB CB PC(論理アドレス) SP 実行前 02H 01H 9000H 0000H 9002H+(2000H-2) 実行後 02H 02H B000H FFFDH 上記の例では物理アドレス013000Hへ分岐します。 MODEL0/1ではNB,CBがないため物理アドレスB000Hへ分岐します。 実行後のスタック内容 (1)MODEL2/3(マキシマムモード) (2)MODEL2/3(ミニマムモード) MODEL0/1 00FFFDH 03H(PC(L)) 00FFFEH 90H(PC(H)) 00FFFEH 03H(PC(L)) 00FFFFH 01H(CB) 00FFFFH 90H(PC(H)) CARL cc1, qqrr: Call subroutine at relative location qqrr                     if condition cc1 is true (5MIN/6MAXcycle) 機能 ■MODEL0/1 If cc1 is true then CARL qqrr else PC←PC+3  ■MODEL2/3 If cc1 is true then CARL qqrr else PC←PC+3, NB←CB 条件cc1が成立している場合に"CARL qqrr"命令を実行し、条件不成立の場合は次の 命令を実行します。  ⇒"CARL qqrr"命令 MODEL2/3では、分岐先バンクを指定するNBの内容が条件不成立の場合に現在のバン クアドレス(CBの内容)に戻されます。 条件cc1は以下の4種類です。 cc1 条 件 C Carry (キャリーフラグC=1) NC Non Carry (キャリーフラグC=0) Z Zero (ゼロフラグZ=1) NZ Non Zero (ゼロフラグZ=0) バスサイクルはミニマムモード/マキシマムモード、条件成立/不成立により以下の ようになります。      モード   条件  バスサイクル     ミニマム   成立   5cycle     ミニマム   不成立  3cycle     マキシマム  成立   6cycle     マキシマム  不成立  5cycle コード MSB LSB 1 1 1 0 1 0 cc1 E8H〜EBH ※ r r rr q q qq ※ cc1 ニーモニック コード C 00 CARL, C,qqrr E8H NC 01 CARL, NC,qqrr E9H Z 10 CARL, Z,qqrr EAH NZ 11 CARL, NZ,qqrr EBH フラグ  I1 I0 U D N V C Z − − − − − − − − モード 符号付き16ビットPC相対 例 条件成立時はCARLqqrr命令と同じ動作をします。条件不成立時、物理アドレス9000H 番地のCARL cc1,qqrrの動作は下記のとおりです。スタックは行いません。  NB CB PC(論理アドレス) SP 実行前 02H 01H 9000H 0000H 実行後 01H 01H 9003H 0000H MODEL0/1ではNB,CBはありません。