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 >
Text File  |  1995-07-16  |  4KB  |  103 lines

  1. CARL qqrr: Call subroutine at relative location qqrr (5MIN/6MAXcycle)
  2.  
  3. 機能 ■MODEL0/1
  4.         [SP-1]←PC(H), [SP-2]←PC(L), SP←SP-2, PC←PC+qqrr+2
  5.      ■MODEL2/3(ミニマムモード)
  6.         [SP-1]←PC(H), [SP-2]←PC(L), SP←SP-2, PC←PC+qqrr+2, CB←NB
  7.      ■MODEL2/3(マキシマムモード)
  8.         [SP-1]←CB, [SP-2]←PC(H),[SP-3]←PC(L), SP←SP-3, PC←PC+qqrr+2, CB←NB
  9.       本命令の先頭アドレス+3の値をリターンアドレスとしてスタックに退避後、サブル
  10.       ーチンを無条件にコールします。分岐先(サブルーチンの先頭アドレス)は、本命令
  11.       の先頭アドレス+2に符号付き16ビット絶対アドレスqqrr(-32768~32767)を加算し
  12.       たアドレスになります。
  13.  
  14.       MODEL2/3のマキシマムモードでは、リターンアドレスの退避時に現在選択されてい
  15.       るバンクアドレス(CBの内容)の退避も行われます。また、MODEL2/3では、分岐時に
  16.       NBに設定されているバンクアドレスがCBにロードされ、バンクの変更も行われます。
  17.  
  18. コード MSB                   LSB
  19.          1 1 1 1 0 0 1 0   F2H
  20.  
  21.                   r  r             rr
  22.  
  23.                   q  q             qq
  24.  
  25. フラグ  I1 I0 U D N V C Z
  26.          - - - - - - - -
  27.  
  28. モード 符号付き16ビットPC相対
  29.  
  30. 例 MODEL2/3においてNB=02Hの場合、物理アドレス9000H番地にあるCARL $+2000H命令を
  31.     実行。
  32.        NB   CB   PC(論理アドレス)  SP
  33. 実行前  02H  01H       9000H        0000H
  34.                   9002H+(2000H-2)
  35. 実行後  02H  02H       B000H        FFFDH
  36.     上記の例では物理アドレス013000Hへ分岐します。
  37.     MODEL0/1ではNB,CBがないため物理アドレスB000Hへ分岐します。
  38. 実行後のスタック内容
  39. (1)MODEL2/3(マキシマムモード)      (2)MODEL2/3(ミニマムモード)
  40.                                       MODEL0/1
  41.    00FFFDH  03H(PC(L))
  42.    00FFFEH  90H(PC(H))                00FFFEH  03H(PC(L))
  43.    00FFFFH   01H(CB)                  00FFFFH  90H(PC(H))
  44.  
  45.  
  46. CARL cc1, qqrr: Call subroutine at relative location qqrr
  47.                     if condition cc1 is true (5MIN/6MAXcycle)
  48.  
  49. 機能 ■MODEL0/1
  50.         If cc1 is true then CARL qqrr
  51.                        else  PC←PC+3
  52.      ■MODEL2/3
  53.         If cc1 is true then CARL qqrr
  54.                        else  PC←PC+3, NB←CB
  55.       条件cc1が成立している場合に"CARL qqrr"命令を実行し、条件不成立の場合は次の
  56.       命令を実行します。
  57.        ⇒"CARL qqrr"命令
  58.  
  59.       MODEL2/3では、分岐先バンクを指定するNBの内容が条件不成立の場合に現在のバン
  60.       クアドレス(CBの内容)に戻されます。
  61.  
  62.       条件cc1は以下の4種類です。
  63.           cc1           条 件
  64.           C      Carry      (キャリーフラグC=1)
  65.           NC     Non Carry  (キャリーフラグC=0)
  66.           Z      Zero       (ゼロフラグZ=1)
  67.           NZ     Non Zero   (ゼロフラグZ=0)
  68.  
  69.       バスサイクルはミニマムモード/マキシマムモード、条件成立/不成立により以下の
  70.       ようになります。
  71.      モード   条件  バスサイクル
  72.     ミニマム   成立   5cycle
  73.     ミニマム   不成立  3cycle
  74.     マキシマム  成立   6cycle
  75.     マキシマム  不成立  5cycle
  76.  
  77. コード MSB                   LSB
  78.          1 1 1 0 1 0  cc1    E8H~EBH ※
  79.  
  80.                   r  r             rr
  81.  
  82.                   q  q             qq
  83.  
  84.      ※   cc1 ニーモニック コード
  85.         C  00 CARL, C,qqrr  E8H
  86.         NC 01 CARL, NC,qqrr E9H
  87.         Z  10 CARL, Z,qqrr  EAH
  88.         NZ 11 CARL, NZ,qqrr EBH
  89.  
  90. フラグ  I1 I0 U D N V C Z
  91.          - - - - - - - -
  92.  
  93. モード 符号付き16ビットPC相対
  94.  
  95. 例 条件成立時はCARLqqrr命令と同じ動作をします。条件不成立時、物理アドレス9000H
  96.     番地のCARL cc1,qqrrの動作は下記のとおりです。スタックは行いません。
  97.        NB   CB   PC(論理アドレス)  SP
  98. 実行前  02H  01H       9000H        0000H
  99. 実行後  01H  01H       9003H        0000H
  100.     MODEL0/1ではNB,CBはありません。
  101.  
  102.  
  103.