home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
DOS/V Power Report 1998 January (DVD)
/
VPR980100.ISO
/
DRIVER
/
IBM
/
VW200
/
VW200_2.EXE
/
DEVINFO
/
SMC88T.TXT
< prev
next >
Wrap
Text File
|
1995-07-13
|
5KB
|
162 lines
JRS rr: Jump to relative location rr (2cycle)
機能 ■MODEL0/1
PC←PC+rr+1
■MODEL2/3
PC←PC+qqrr+1 , CB←NB
8ビット相対アドレスrr(-128~127)を本命令の先頭アドレス+1からのオフセットと
してプログラムカウンタ(PC)に加え、そのアドレスに無条件に分岐します。
MODEL2/3では、分岐時にNBに設定されているバンクアドレスがCBにロードされ、
バンクの変更も行われます。
コード MSB LSB
1 1 1 1 0 0 0 0 F1H
r r rr
フラグ I1 I0 U D N V C Z
- - - - - - - -
モード 符号付き8ビットPC相対
例 MODEL2/3においてNB=02Hの場合、物理アドレス9000H番地にあるJRS $+20H命令を実行。
NB CB PC(論理アドレス)
実行前 02H 01H 9000H
9001H+(2000H-1)
実行後 02H 02H 9020H
上記の例では物理アドレス011020Hへ分岐します。
MODEL0/1ではNB,CBがないため物理アドレス9020Hへ分岐します。
JRS cc1, rr: Jump to relative location rr
if condition cc1 is true (2cycle)
機能 ■MODEL0/1
If cc1 is true then JRS rr
else PC←PC+2
■MODEL2/3
If cc1 is true then JRS rr
else PC←PC+2, NB←CB
条件cc1が成立している場合に"JRS rr"命令を実行し、条件不成立の場合は次の命令
を実行します。
⇒"JRS rr"命令
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)
コード MSB LSB
1 1 1 0 0 1 cc1 E4H~E7H ※
r r rr
※ cc1 ニーモニック コード
C 00 JRS, C,rr E4H
NC 01 JRS, NC,rr E5H
Z 10 JRS, Z,rr E6H
NZ 11 JRS, NZ,rr E7H
フラグ I1 I0 U D N V C Z
- - - - - - - -
モード 符号付き8ビットPC相対
例 条件成立時はJRSrr命令と同じ動作をします。条件不成立時、物理アドレス9000H番地
のJRS cc1,rrの動作は下記のとおりです。
NB CB PC(論理アドレス)
実行前 02H 01H 9000H
実行後 01H 01H 9002H
MODEL0/1ではNB,CBはありません。
JRS cc2, rr: Jump to relative location rr
if condition cc2 is true (3cycle)
機能 ■MODEL0/1
If cc2 is true then PC←PC+rr+2
else PC←PC+3
■MODEL2/3
If cc2 is true then PC←PC+rr+2, CB←NB
else PC←PC+3, NB←CB
条件cc2が成立している場合、8ビット相対アドレスrr(-128~127)を本命令の先頭
アドレス+1からのオフセットとしてプログラムカウンタ(PC)に加え、そのアドレス
に無条件に分岐します。条件不成立の場合は次の命令を実行します。
MODEL2/3では、分岐時にNBに設定されているバンクアドレスがCBにロードされ、バ
ンクの変更も行われます。また、条件不成立の場合には、NBの内容が現在のバンク
アドレス(CBの内容)に戻されます。
条件cc2は以下の16種類です。
cc2 条 件
LT Less Than ([N∀V]=1)
LE Less or Equal (Z∨[N∀V]=1)
GT Greater Than (Z∨[N∀V]=0)
GE Greater or Equal ([N∀V]=0)
V Overflow (V=1)
NV Non Overflow (V=0)
P Plus (N=0)
M Minus (N=1)
F0 F0 is set (F0=1)
F1 F1 is set (F1=1)
F2 F2 is set (F2=1)
F3 F3 is set (F3=1)
NF0 F0 is reset (F0=0)
NF1 F1 is reset (F1=0)
NF2 F2 is reset (F2=0)
NF3 F3 is reset (F3=0)
コード MSB LSB
1 1 0 0 1 1 1 0 CEH
1 1 1 0 cc2 E0H~EFH ※
r r rr
※ cc2 ニーモニック コード
LT 0000 JRS LT,rr E0H
LE 0001 JRS LE,rr E1H
GT 0010 JRS GT,rr E2H
GE 0011 JRS GE,rr E3H
V 0100 JRS V,rr E4H
NV 0101 JRS NV,rr E5H
P 0110 JRS P,rr E6H
M 0111 JRS M,rr E7H
F0 1000 JRS F0,rr E8H
F1 1001 JRS F1,rr E9H
F2 1010 JRS F2,rr EAH
F3 1011 JRS F3,rr EBH
NF0 1100 JRS NF0,rr ECH
NF1 1101 JRS NF1,rr EDH
NF2 1110 JRS NF2,rr EEH
NF3 1111 JRS NF3,rr EFH
フラグ I1 I0 U D N V C Z
- - - - - - - -
モード 符号付き8ビットPC相対
例 MODEL2/3においてNB=02Hの場合、条件成立時の物理アドレス9000H番地にある
JRS cc2, $+20Hの動作は下記のとおりです。
NB CB PC(論理アドレス)
実行前 02H 01H 9000H
9002H+(20H-2)
実行後 02H 02H 9020H
上記の例では物理アドレス011020Hへ分岐します。
MODEL0/1ではNB,CBがないため物理アドレス9020Hへ分岐します。
条件不成立時、物理アドレス9000H番地のJRS cc2,rrの動作は下記のとおりです
スタックは行いません。
NB CB PC(論理アドレス)
実行前 02H 01H 9000H
実行後 01H 01H 9003H
MODEL0/1ではNB,CBはありません。