CALL [hhll]: Call subroutine at location [hhll] (7MIN/8MAXcycle) 機能 ■MODEL0/1 [SP-1]←PC(H), [SP-2]←PC(L), SP←SP-2, PC(L)←[hhll],PC(H)←[hhll+1]  ■MODEL2/3(ミニマムモード) [SP-1]←PC(H), [SP-2]←PC(L), SP←SP-2, PC(L)←[hhll],PC(H)←[hhll+1], CB←NB  ■MODEL2/3(マキシマムモード) [SP-1]←CB, [SP-2]←PC(H),[SP-3]←PC(L), SP←SP-3, PC(L)←[hhll], PC(H)←[hhll+1], CB←NB 本命令の先頭アドレス+3の値をリターンアドレスとしてスタックに退避後、サブル ーチンを無条件にコールします。分岐先アドレス(サブルーチンの先頭アドレス)と しては、16ビット絶対アドレスhhllで指定されたデータメモリの内容が下位バイト、 その次のアドレスの内容が上位バイトとなります。 MODEL2/3のマキシマムモードでは、リターンアドレスの退避時に現在選択されてい るバンクアドレス(CBの内容)の退避も行われます。また、MODEL2/3では、分岐時に NBに設定されているバンクアドレスがCBにロードされ、バンクの変更も行われます。 EPレジスタの内容がデータメモリのページアドレスになります。 コード MSB LSB 1 1 1 1 1 0 1 1 FBH l l ll h h hh フラグ  I1 I0 U D N V C Z − − − − − − − − モード 16ビット間接 例 MODEL2/3においてNB=02Hの場合、物理アドレス9000H番地にあるCALL[2000H]命令を実   行。  NB CB PC(論理アドレス) EP M(032000H) SP 実行前 02H 01H 9000H 03H ABCDH 0000H 実行後 02H 02H ABCDH 03H ABCDH FFFDH 上記の例では物理アドレス012BCDHへ分岐します。 MODEL0/1ではEPがないためM(2000H)の内容がPCに転送され、M(2000H)の内容がABCDH であればNB,CBもないため物理アドレスABCDHへ分岐します。 実行後のスタック内容 (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))