home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
DOS/V Power Report 1998 January (DVD)
/
VPR980100.ISO
/
DRIVER
/
IBM
/
VW200
/
VW200_2.EXE
/
DEVINFO
/
SMC88G.TXT
< prev
next >
Wrap
Text File
|
1995-07-16
|
4KB
|
103 lines
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はありません。