X68k/FEFUNC: Difference between revisions

From Data Crystal
Jump to navigation Jump to search
(Created page with ' <nowiki> - FE FUNCTION CALL MANUAL - ============================================================================== ・FEコール一覧 $fe00 __LMUL signed int 乗算 d0 …')
 
No edit summary
Line 1: Line 1:
  <nowiki> - FE FUNCTION CALL MANUAL -
  <nowiki> - IOCS WORK MANUAL -


==============================================================================
==============================================================================


・FEコール一覧
・IOCSワーク一覧(ROM IOCS version 1.00)


$fe00 __LMUL signed int 乗算 d0 *= d1
address size
$fe01 __LDIV signed int 除算 d0 /= d1
$800 16.b キーの押し下げ状態
$fe02 __LMOD signed int 除算の剰余 d0 %= d1
$810 1.b キーボード LED の点灯状態
$fe04 __UMUL unsigned int 乗算 d0 *= d1
$811 1.b シフトキー押し下げ状態
$fe05 __UDIV unsigned int 除算 d0 /= d1
$812 1.w キーバッファデータバイト数
$fe06 __UMOD unsigned int 除算の剰余 d0 %= d1
$814 1.l 〃     書き込みポインタ
$fe08 __IMUL unsigned int 乗算 d0d1 = d0*d1
$818 1.l 〃     読み込みポインタ
$fe09 __IDIV unsigned int 除算 d0...d1 = d0/d1
$81c 64.w キーバッファ
$fe0c __RANDOMIZE signed short 乱数初期化 seed = d0(-32768~32767)
$fe0d __SRAND unsigned short 乱数初期化 seed = d0(0~65535)
$fe0e __RAND signed int 乱数 d0 = rand()


$fe10 __STOL 10進文字列 → signed int d0 = (a0)~
$89c 1.w RS-232C 受信バッファデータバイト数
$fe11 __LTOS signed int → 10進文字列 (a0)~ = d0
$89e 1.l 〃 〃     書き込みポインタ
$fe12 __STOH 16進文字列 → unsigned int d0 = (a0)~
$8a2 1.l 〃 〃     読み込みポインタ
$fe13 __HTOS unsigned int → 16進文字列 (a0)~ = d0
$8a6 64.w 〃 受信バッファ
$fe14 __STOO 8進文字列 → unsigned int d0 = (a0)~
$926 1.w 〃 通信モード
$fe15 __OTOS unsigned int → 8進文字列 (a0)~ = d0
$928 1.b 〃 SI/SO  状態 0:SO  1:SI (bit0:受信 bit1:送信)
$fe16 __STOB 2進文字列 → unsigned int d0 = (a0)~
$929 1.b 〃 XON/XOFF 状態 0:XOFF 1:XON()
$fe17 __BTOS unsigned int → 2進文字列 (a0)~ = d0
$fe18 __IUSING signed int → 10進文字列 (a0)~ = d0,d1桁
$fe1a __LTOD signed int → double d0d1 = d0
$fe1b __DTOL double → signed int d0 = d0d1
$fe1c __LTOF signed int → float d0 = d0
$fe1d __FTOL float → signed int d0 = d0
$fe1e __FTOD float → double d0d1 = d0
$fe1f __DTOF double → float d0 = d0d1


$fe20 __VAL 文字列 → double d0d1 = (a0)~
$92a 1.w マウスデータ受信カウンタ
$fe21 __USING double → 10進文字列 (a0)~ = d0d1,d2.d3,d4
$92c 1.l 〃     受信バッファ書き込みポインタ
$fe22 __STOD 10進文字列 → double d0d1,d2,d3 = (a0)~
$930 3.b 〃     受信バッファ
$fe23 __DTOS double → 10進文字列 (a0)~ = d0d1
$933 1.b 現在の MSCTRL 端子の状態
$fe24 __ECVT double → 文字列 (a0),d0,d1 = d0d1,d2全体桁
$934 1.l マウス受信データ処理アドレス(ソフトキーボード)
$fe25 __FCVT double → 文字列 (a0),d0,d1 = d0d1,d2小数点桁
$948 1.l 〃     (マウスカーソル)
$fe26 __GCVT double → 文字列 (a0)~ = d0d1,d2全体桁
$93c 1.b CRT モード
$fe28 __DTST double 0 比較 Z,N = d0d1
$fe29 __DCMP double 比較 Z,C = d0d1-d2d3
$fe2a __DNEG double 符号反転 d0d1 = neg(d0d1)
$fe2b __DADD double 加算 d0d1 += d2d3
$fe2c __DSUB double 減算 d0d1 -= d2d3
$fe2d __DMUL double 乗算 d0d1 *= d2d3
$fe2e __DDIV double 除算 d0d1 /= d2d3
$fe2f __DMOD double 除算の剰余 d0d1 %= d2d3
$fe30 __DABS double 絶対値 d0d1 = abs(d0d1)
$fe31 __DCEIL double 小数切上 d0d1 = ceil(d0d1)
$fe32 __DFIX double 整数部 d0d1 = fix(d0d1)
$fe33 __DFLOOR double 小数切捨 d0d1 = floor(d0d1)
$fe34 __DFRAC double 小数部 d0d1 = frac(d0d1)
$fe35 __DSGN double 正負零 d0d1 = sgn(d0d1)
$fe36 __SIN double 正弦 d0d1 = sin(d0d1)
$fe37 __COS double 余弦 d0d1 = cos(d0d1)
$fe38 __TAN double 正接 d0d1 = tan(d0d1)
$fe39 __ATAN double 逆正接 d0d1 = atan(d0d1)
$fe3a __LOG double 自然対数 d0d1 = ln(d0d1)
$fe3b __EXP double 指数関数 d0d1 = exp(d0d1)
$fe3c __SQR double 平方根 d0d1 = sqr(d0d1)
$fe3d __PI double 円周率 d0d1 = pi()
$fe3e __NPI double 円周率乗算 d0d1 = pi(d0d1)
$fe3f __POWER double 羃乗 d0d1 = pow(d0d1,d2d3)
$fe40 __RND double 乱数 d0d1 = rnd()
$fe41 __SINH double 双曲正弦 d0d1 = sinh(d0d1)
$fe42 __COSH double 双曲余弦 d0d1 = cosh(d0d1)
$fe43 __TANH double 双曲正接 d0d1 = tanh(d0d1)
$fe44 __ATANH double 双曲逆正接 d0d1 = atanh(d0d1)
$fe45 __ASIN double 逆正弦 d0d1 = asin(d0d1)
$fe46 __ACOS double 逆余弦 d0d1 = acos(d0d1)
$fe47 __LOG10 double 常用対数 d0d1 = log10(d0d1)
$fe48 __LOG2 double 対数(底2) d0d1 = log2(d0d1)
$fe49 __DFREXP double 仮数指数分割 d0d1,d2 = d0d1
$fe4a __DLDEXP double 仮数指数結合 d0d1 = d0d1,d2
$fe4b __DADDONE double 1 加算 d0d1 += 1.0#
$fe4c __DSUBONE double 1 減算 d0d1 -= 1.0#
$fe4d __DDIVTWO double 2 除算 d0d1 /= 2.0#
$fe4e __DIEECNV double SHARP → IEEE d0d1 = d0d1
$fe4f __IEEDCNV double IEEE → SHARP d0d1 = d0d1


$fe50 __FVAL 文字列 → float d0 = (a0)~
$93d 1.b グラフィック画面のページ数
$fe51 __FUSING float → 10進文字列 (a0)~ = d0,d2.d3,d4
$93e 1.l テキスト1ラインのバイト数
$fe52 __STOF 10進文字列 → float d0,d2,d3 = (a0)~
$942 1.w テキスト操作対象ページ番号
$fe53 __FTOS float → 10進文字列 (a0)~ = d0
$944 1.l 〃 プレーンの先頭アドレス
$fe54 __FECVT float → 文字列 (a0),d0,d1 = d0,d2全体桁
$948 1.l テキスト表示開始アドレスオフセット
$fe55 __FFCVT float → 文字列 (a0),d0,d1 = d0,d2小数点桁
$94c 1.l ソフトキーボード描画プレーンの先頭アドレス(X68000 only)
$fe56 __FGCVT float → 文字列 (a0)~ = d0,d2全体桁
$950 1.w 〃 表示X座標
$fe58 __FTST float 0 比較 Z,N = d0
$952 1.w 〃     Y
$fe59 __FCMP float 比較 Z,C = d0-d1
$954 1.w テキストクリッピング範囲(X最小値)
$fe5a __FNEG float 符号反転 d0 = neg(d0)
$956 1.w 〃 (Y最小値)
$fe5b __FADD float 加算 d0 += d1
$958 1.w 〃 (X最大値+1)
$fe5c __FSUB float 減算 d0 -= d1
$95a 1.w 〃 (Y最大値+1)
$fe5d __FMUL float 乗算 d0 *= d1
$95c 1.l グラフィック操作対象ページの先頭アドレス
$fe5e __FDIV float 除算 d0 /= d1
$960 1.l 〃     1ラインのバイト数
$fe5f __FMOD float 除算の剰余 d0 %= d1
$964 1.w 〃     画面の色数-1(0なら使用不可)
$fe60 __FABS float 絶対値 d0 = abs(d0)
$966 1.w 〃     描画カラーコード
$fe61 __FCEIL float 小数切上 d0 = ceil(d0)
$968 1.w 〃     クリッピング範囲(X最小値)
$fe62 __FFIX float 整数部 d0 = fix(d0)
$96a 1.w 〃     (Y最小値)
$fe63 __FFLOOR float 小数切捨 d0 = floor(d0)
$96c 1.w 〃     (X最大値)
$fe64 __FFRAC float 小数部 d0 = frac(d0)
$96e 1.w 〃     (Y最大値)
$fe65 __FSGN float 正負零 d0 = sgn(d0)
$fe66 __FSIN float 正弦 d0 = sin(d0)
$fe67 __FCOS float 余弦 d0 = cos(d0)
$fe68 __FTAN float 正接 d0 = tan(d0)
$fe69 __FATAN float 逆正接 d0 = atan(d0)
$fe6a __FLOG float 自然対数 d0 = ln(d0)
$fe6b __FEXP float 指数関数 d0 = exp(d0)
$fe6c __FSQR float 平方根 d0 = sqr(d0)
$fe6d __FPI float 円周率 d0 = pi()
$fe6e __FNPI float 円周率乗算 d0 = pi(d0)
$fe6f __FPOWER float 羃乗 d0 = pow(d0,d1)
$fe70 __FRND float 乱数 d0 = rnd()
$fe71 __FSINH float 正弦 d0 = sinh(d0)
$fe72 __FCOSH float 双曲余弦 d0 = cosh(d0)
$fe73 __FTANH float 双曲正接 d0 = tanh(d0)
$fe74 __FATANH float 双曲逆正接 d0 = atanh(d0)
$fe75 __FASIN float 逆正弦 d0 = asin(d0)
$fe76 __FACOS float 逆余弦 d0 = acos(d0)
$fe77 __FLOG10 float 常用対数 d0 = log10(d0)
$fe78 __FLOG2 float 対数(底2) d0 = log2(d0)
$fe79 __FFREXP float 仮数指数分割 d0,d1 = d0
$fe7a __FLDEXP float 仮数指数結合 d0 = d0,d1
$fe7b __FADDONE float 1 加算 d0 += 1.0#
$fe7c __FSUBONE float 1 減算 d0 -= 1.0#
$fe7d __FDIVTWO float 2 除算 d0 /= 2.0#
$fe7e __FIEECNV float SHARP → IEEE d0 = d0
$fe7f __IEEFCNV float IEEE → SHARP d0 = d0


$fee0 __CLMUL signed int 乗算 (sp) *= (4,sp)
$970 1.w テキスト桁数-1
$fee1 __CLDIV signed int 除算 (sp) /= (4,sp)
$972 1.w 〃 行数-1
$fee2 __CLMOD signed int 除算の剰余 (sp) %= (4,sp)
$974 1.w カーソルX座標
$fee3 __CUMUL unsigned int 乗算 (sp) *= (4,sp)
$976 1.w 〃 Y座標
$fee4 __CUDIV unsigned int 除算 (sp) /= (4,sp)
$978 1.l BEEP 音 PCM データアドレス
$fee5 __CUMOD unsigned int 除算の剰余 (sp) %= (4,sp)
$97c 1.w 〃     データ長
$fee6 __CLTOD signed int → double (sp)(4,sp) = (sp)
$97e 1.l 拡張ESCシーケンス処理アドレス
$fee7 __CDTOL double → signed int (sp) = (sp)(4,sp)
$982 1.l ESC シーケンスバッファ書き込みポインタ
$fee8 __CLTOF signed int → float (sp) = (sp)
$986 10.b ESC シーケンスバッファ(ESC の次から)
$fee9 __CFTOL float → signed int (sp) = (sp)
$990 1.b 2バイト文字の1バイト目
$feea __CFTOD float → double (sp)(4,sp) = (sp)
$991 1.b カーソル表示状態(0:消灯 !0:点灯)
$feeb __CDTOF double → float (sp) = (sp)(4,sp)
$992 1.b カーソル点滅スイッチ(0:off !0:on)
$feec __CDCMP double 比較 Z,C = (sp)(4,sp)-(8,sp)(12,sp)
$993 1.b アプリケーション用カーソル点滅スイッチ(0:on !0:off)
$feed __CDADD double 加算 (sp)(4,sp) += (8,sp)(12,sp)
$994 1.b テキスト表示色
$feee __CDSUB double 減算 (sp)(4,sp) -= (8,sp)(12,sp)
$995 1.b 〃       保存バッファ
$feef __CDMUL double 乗算 (sp)(4,sp) *= (8,sp)(12,sp)
$996 1.l カーソル座標保存バッファ
$fef0 __CDDIV double 除算 (sp)(4,sp) /= (8,sp)(12,sp)
$fef1 __CDMOD double 除算の剰余 (sp)(4,sp) %= (8,sp)(12,sp)
$fef2 __CFCMP float 比較 Z,C = (sp)-(4,sp)
$fef3 __CFADD float 加算 (sp) += (4,sp)
$fef4 __CFSUB float 減算 (sp) -= (4,sp)
$fef5 __CFMUL float 乗算 (sp) *= (4,sp)
$fef6 __CFDIV float 除算 (sp) /= (4,sp)
$fef7 __CFMOD float 除算の剰余 (sp) %= (4,sp)
$fef8 __CDTST double 0 比較 Z,N = (sp)(4,sp)
$fef9 __CFTST float 0 比較 Z,N = (sp)
$fefa __CDINC double 1 加算 (sp)(4,sp) += 1.0#
$fefb __CFINC float 1 加算 (sp) += 1.0#
$fefc __CDDEC double 1 減算 (sp)(4,sp) -= 1.0#
$fefd __CFDEC float 1 減算 (sp) -= 1.0#


$fefe __FEVARG 数値演算ドライバ種別検査 d0,d1={HS86,IEEE},{SOFT,FPCP}
$99a 1.1 外字グループ0のフォントアドレス
$feff __FEVECS 処理アドレス変更 d0 = intvcs(d0,a0)
$99e 1.l 〃     1〃
$9a2 1.l 〃     2〃
$9a6 1.l 〃     3〃
$9aa 1.l 〃     4〃
$9ae 1.l 〃     5〃


==============================================================================
$9b2 1.w マウスデータ受信タイマ初期値
 
$9b4 1.w タイマカウンタ
・浮動小数点データ形式
$9b6 1.l 処理アドレス
 
$9ba 1.w カーソル点滅 タイマ初期値
・SHARP フォーマット(FLOAT1.X でのみ使用)
$9bc 1.w タイマカウンタ
 
$9be 1.l 〃 処理アドレス
単精度(32bit)
$9c2 1.w FDモータ停止 タイマ初期値
| 31 | 30 29 …  9  8 |  7  6 … 1 0 |
$9c4 1.w 〃 タイマカウンタ
| ↑ |  仮数部 23bit  |  指数部  8bit  |
$9c6 1.l 処理アドレス
  仮数部の符号
$9ca 1.w アラーム電源オフタイマ初期値
 
$9cc 1.w 〃 タイマカウンタ
倍精度(64bit)
$9ce 1.l 処理アドレス
| 63 | 62 61 … 12 11 | 10  9 …  1  0 |
| ↑ |  仮数部 52bit  |  指数部 11bit  |
  仮数部の符号
 
・IEEE フォーマット
 
単精度(32bit)
| 31 | 30 29 … 24 23 | 22 21 …  1  0 |
| ↑ |  指数部  8bit  |  仮数部 23bit  |
  仮数部の符号
 
倍精度(64bit)
| 63 | 62 61 … 53 52 | 51 50 …  1  0 |
| ↑ |  指数部 11bit  | 仮数部 52bit  |
  仮数部の符号
 
仕様 単精度 倍精度
  正規化数の表現 -1*1.f*2・・・・ -1*1.f*2・・・・・
非〃 -1*0.f*2・・・・ -1*0.f*2・・・・・
表現可能な数の絶対値(概数)
  正規化数最大 3.4*10・・ 1.8*10・・・
    最小 1.2*10・・・ 2.2*10・・・・
非正規化数最小 1.4*10・・・ 4.9*10・・・・
(s:仮数部の符号,f:仮数部,e:指数部)
 
・実際の表現方法
 
  実数を ±(1.mmmm‥‥)*2^(±eeee‥‥) と表わす. その時先頭の符号が仮数部の符
号、mmmm‥‥ が仮数となる. 指数部は、単/倍精度で (±eeee‥‥)+$7F / (±eeee‥‥
)+$3ff を与える. これはそれぞれ 1~$fe / 1~$7fe の範囲でなければならない.
 
  演算の結果、指数が最大で仮数が 0 ならば±∞を表わす(符号は MSB による). また、
指数が最大で仮数が 0 以外ならば非数を表わす. 指数・仮数ともに 0 の場合は、数値
0 を表わす.
 
特殊な実数データのフォーマット
指数 仮数
  最小値<指数<最大値 任意のビットパタン 正規化数(通常)
0 All 0 以外の任意のビットパタン 非正規化数
(アンダフロー限界付近の値)
0 0 零
最大値 0 無限大
〃 All 0 以外の任意のビットパタン NAN(Not A Number)
 
・非数及び無限大の文字列表現
 
非数 '#NAN','-#NAN'
無限大 '#INF','-#INF'
 
 
なお、演算においてエラーが起きた場合、返値は不定となる.
 
==============================================================================
 
$fe00 __LMUL signed int 乗算 d0 *= d1
 
引数 d0.l 被乗数
d1.l 乗数
 
返値 d0.l 演算結果
 
CCR C : エラーの時セット
 
ロングワード符号付き整数同士の乗算を行なう.
演算結果がロングワード符号付き整数の範囲を超えた場合はエラーとなる.
 
==============================================================================
 
$fe01 __LDIV signed int 除算 d0 /= d1
 
引数 d0.l 被除数
d1.l 除数
 
返値 d0.l 演算結果
 
CCR C : エラーの時セット
 
ロングワード符号付き整数同士の除算を行なう.
除数が 0 の場合はエラーとなる.
 
==============================================================================
 
$fe02 __LMOD signed int 除算の剰余 d0 %= d1
 
引数 d0.l 被除数
d1.l 除数
 
返値 d0.l 演算結果
 
CCR C : エラーの時セット
 
ロングワード符号付き整数同士の除算の剰余を計算する.
除数が 0 の場合はエラーとなる.
 
==============================================================================
 
$fe04 __UMUL unsigned int 乗算 d0 *= d1
 
引数 d0.l 被乗数
d1.l 乗数
 
返値 d0.l 演算結果
 
CCR C : エラーの時セット
 
ロングワード符号なし整数同士の乗算を行なう.
演算結果がロングワード符号なし整数の範囲を超えた場合はエラーとなる.
 
==============================================================================
 
$fe05 __UDIV unsigned int 除算 d0 /= d1
 
引数 d0.l 被除数
d1.l 除数
 
返値 d0.l 演算結果
 
CCR C : エラーの時セット
 
ロングワード符号なし整数同士の除算を行なう.
除数が 0 の場合はエラーとなる.
 
==============================================================================
 
$fe06 __UMOD unsigned int 除算の剰余 d0 %= d1
 
引数 d0.l 被除数
d1.l 除数
 
返値 d0.l 演算結果
 
CCR C : エラーの時セット
 
ロングワード符号なし整数同士の除算の剰余を計算する.
除数が 0 の場合はエラーとなる.
 
==============================================================================
 
$fe08 __IMUL unsigned int 乗算 d0d1 = d0*d1
 
引数 d0.l 被乗数
d1.l 乗数
 
返値 d0.l 演算結果の上位 4 バイト
d1.l   下位 〃
 
ロングワード符号なし整数同士の乗算を行なう.
演算結果は 64 ビットまで対応しているので、エラーは発生しない.
 
==============================================================================
 
$fe09 __IDIV unsigned int 除算 d0...d1 = d0/d1
 
引数 d0.l 被除数
d1.l 除数
 
返値 d0.l 演算結果(商)
d1.l 〃 (剰余)
 
CCR C : エラーの時セット
 
ロングワード符号なし整数同士の除算を行なう.
除数が 0 の場合はエラーとなる.
 
==============================================================================
 
$fe0c __RANDOMIZE signed short 乱数初期化 seed = d0(-32768~32767)
 
引数 d0.l ランダム・シード
 
-3,2768~3,2767 の範囲でランダム・シードを与え、乱数を初期化する.
引数の範囲が正しくない場合は乱数を初期化しない.
 
==============================================================================
 
$fe0d __SRAND unsigned short 乱数初期化 seed = d0(0~65535)
 
引数 d0.l ランダム・シード
 
0~6,5535 の範囲でランダム・シードを与え、乱数を初期化する.
引数の範囲が正しくない場合は乱数を初期化しない.
 
==============================================================================
 
$fe0e __RAND signed int 乱数 d0 = rand()
 
返値 d0.l 乱数(0~3,2767)
 
ロングワード符号付き整数の乱数を返す.
 
==============================================================================
 
$fe10 __STOL 10進文字列 → signed int d0 = (a0)~
 
引数 a0.l 文字列のアドレス
 
返値 d0.l 変換されたロングワード符号付き整数
 
CCR C : エラーの時セット
N : (C = 1)数値の記述法がおかしい場合セット
V : (C = 1)オーバーフローが発生した場合セット
 
文字列をロングワード符号付き整数に変換する.
 
==============================================================================
 
$fe11 __LTOS signed int → 10進文字列 (a0)~ = d0
 
引数 d0.l ロングワード符号付き整数
a0.l バッファのアドレス
 
返値 (a0)~ 変換された文字列
 
ロングワード符号付き整数を文字列に変換する.
 
==============================================================================
 
$fe12 __STOH 16進文字列 → unsigned int d0 = (a0)~
 
引数 a0.l 文字列のアドレス
 
返値 d0.l 変換されたロングワード符号なし整数
 
CCR C : エラーの時セット
N : (C = 1)数値の記述法がおかしい場合セット
V : (C = 1)オーバーフローが発生した場合セット
 
16進数を表わす文字列をロングワード符号なし整数に変換する.
 
==============================================================================
 
$fe13 __HTOS unsigned int → 16進文字列 (a0)~ = d0
 
引数 d0.l ロングワード符号なし整数
a0.l バッファのアドレス
 
返値 (a0)~ 変換された文字列
 
ロングワード符号なし整数を16進数表現の文字列に変換する.
 
==============================================================================
 
$fe14 __STOO 8進文字列 → unsigned int d0 = (a0)~
 
引数 a0.l 文字列のアドレス
 
返値 d0.l 変換されたロングワード符号なし整数
 
CCR C : エラーの時セット
N : (C = 1)数値の記述法がおかしい場合セット
V : (C = 1)オーバーフローが発生した場合セット
 
8進数を表わす文字列をロングワード符号なし整数に変換する.
 
==============================================================================
 
$fe15 __OTOS unsigned int → 8進文字列 (a0)~ = d0
 
引数 d0.l ロングワード符号なし整数
a0.l バッファのアドレス
 
返値 (a0)~ 変換された文字列
 
ロングワード符号なし整数を8進数表現の文字列に変換する.
 
==============================================================================
 
$fe16 __STOB 2進文字列 → unsigned int d0 = (a0)~
 
引数 a0.l 文字列のアドレス
 
返値 d0.l 変換されたロングワード符号なし整数
 
CCR C : エラーの時セット
N : (C = 1)数値の記述法がおかしい場合セット
V : (C = 1)オーバーフローが発生した場合セット
 
2進数を表わす文字列をロングワード符号なし整数に変換する.
 
==============================================================================
 
$fe17 __BTOS unsigned int → 2進文字列 (a0)~ = d0
 
引数 d0.l ロングワード符号なし整数
a0.l バッファのアドレス
 
返値 (a0)~ 変換された文字列
 
ロングワード符号なし整数を2進数表現の文字列に変換する.
 
==============================================================================
 
$fe18 __IUSING signed int → 10進文字列 (a0)~ = d0,d1桁
 
引数 d0.l ロングワード符号付き整数
d1.l 桁数
a0.l バッファのアドレス
 
返値 (a0)~ 変換された文字列
 
ロングワード符号付き整数を文字列に変換する. 変換後の文字列が指定した桁
数に満たない場合は、ゼロ・サプレスを行った後で右詰めにして返す.
指定桁数より文字列が長くなる場合は、桁数を無視して必要なだけの長さの文
字列を返す.
 
==============================================================================
 
$fe1a __LTOD signed int → double d0d1 = d0
 
引数 d0.l ロングワード符号付き整数
 
返値 d0/d1 変換された倍精度浮動小数点数
 
ロングワード符号付き整数を倍精度浮動小数点数に変換する.
 
==============================================================================
 
$fe1b __DTOL double → signed int d0 = d0d1
 
引数 d0/d1 倍精度浮動小数点数
 
返値 d0.l 変換されたロングワード符号付き整数
 
CCR C : エラーの時セット
 
倍精度浮動小数点数をロングワード符号付き整数に変換する. 小数部は切り捨
てられる.
変換結果がロングワード符号付き整数の範囲を超えた場合はエラーとなる.
 
==============================================================================
 
$fe1c __LTOF signed int → float d0 = d0


引数 d0.l ロングワード符号付き整数
$9d2 1.l 電源オフまでの時間
$9d6 1.l 稼働時間(1分単位)
$9da 1.b OPM レジスタ $1b の設定値
$9db 1.b 未使用
$9dc 1.b グラフィック画面使用モード
$9dd 1.b テキスト    〃
$9de 1.b ROM デバッガ起動スイッチ(0:off !0:on)
$9df 1.b 起動方法
$9e0 1.b 起動ユニット番号(PDA)


返値 d0.l 変換された単精度浮動小数点数
$9e1 1.b FDドライブの状態(bit 7=1:アクセス中 bit 6=1:モータon)
%10... アクセス中、モータ on
%01... アクセス終了、モータ on(Timer-C 割り込みで off にする)
%00... アクセス終了、モータ off
$9e2 1.b FDC LEDCTRL/EJECTMASK の設定
$9e6 4.w 〃  ドライブステータス/ディスク交換フラグ
$9ee 10.b 〃  コマンド生成用バッファ
$9f8 6.b SASI コマンド生成用バッファ
$9fe 16.b 〃  容量フラグ
$a0e 1.w 実行中のIOCSコール番号(-1なら実行していない)


ロングワード符号付き整数を単精度浮動小数点数に変換する.
$a10 1.b プリンタアボートフラグ
$a11 1.b 〃 漢字モードフラグ(0:英数字 !0:漢字)
$a12 1.b 〃 2バイト文字の1バイト目
$a13 1.b 現在までの印刷行数
$a14 1.w 〃   印刷桁数
$a16 98.b プリンタパラメータ
$a78 1.b 1頁の行数-1
$a79 1.b 1行の桁数-1


==============================================================================
$a7a 1.l ソフトキーボード表示プレーン開始アドレス(プレーン3)
$a7e 1.l 〃 (プレーン2)
$a82 1.w マウスカーソル描画時の垂直同期検査フラグ(0:off !0:on)
$a84 1.w ドラッグと見なす最小移動量-1
$a86 1.w マウスカーソルのアニメーション速度
$a88 1.w 不明($0000)
$a8a 1.w 不明($00f6)
$a8c 1.w マウスカーソルが表示可能なカラム開始位置(0)
$a8e 1.w 〃   ライン開始位置(0)
$a90 1.w 〃   カラム終了位置(128)
$a92 1.w 〃   ライン終了位置(1008)
$a94 1.w 不明(1024)
$a96 1.w 不明(1008)
$a98 1.w テキスト1ラインのバイト数
$a9a 1.w マウスカーソル移動範囲(X最小値)
$a9c 1.w 〃       (Y最小値)
$a9e 1.w 〃       (X最大値)
$aa0 1.w 〃       (Y最大値)
$aa2 1.b マウスカーソル表示スイッチ(0:消去 !0:表示)
$aa3 1.b 未使用
$aa4 7.l パターンデータ本体へのポインタ(6+1個分)
$ac0 1.w マウスカーソルアニメーションの表示番号
$ac2 1.w 〃       速度カウンタ
$ac4 1.w マウスカーソルのアニメーションフラグ(-1:アニメーションする)
$ac6 1.w マウス左ボタンの状態(0:押していない -1:押している)
$ac8 1.w 〃    右ボタン〃
$aca 1.w マウスX方向移動量
$acc 1.w 〃    Y方向〃
$ace 1.w マウスカーソルX座標
$ad0 1.w 〃       Y座標
$ad2 1.w 〃       X座標保存バッファ
$ad4 1.w 〃       Y座標〃
$ad6 1.w ホットスポットX座標
$ad8 1.w 〃       Y座標
$ada 1.w マウスカーソル表示開始カラム
$adc 1.w 〃       ライン
$ade 1.w マウス IOCS コール処理フラグ(-1:処理中)
$ae4 6.w 〃     レジスタ一時保存バッファ
$af0 64.b テキスト保存バッファ(プレーン2)
$b30 64.b 〃     (プレーン3)
$b70 16.l マウスカーソルのパターンデータへのポインタ
$bb0 1.w ソフトキーボードX座標
$bb2 1.w 〃 Y座標
$bb4 1.w ドラッグ開始時のX座標
$bb6 1.w 〃 Y座標
$bb8 1.w ソフトキーボード上で押しているキーのキーコード
$bba 1.l 〃     キーデータアドレス
$bbe 1.b 前回処理時のマウスステータス(ボタンの状態)
$bbf 1.b マウス受信データ処理フラグ(bit7=1:マウス受信データ処理中
  bit0=1:ソフトキーボード表示中)
$bc0 1.b ソフトキーボードのキー入力リピートカウンタ
$bc1 1.b ソフトキーボード制御モード
$bc2 1.b マウスカーソル/ソフトキーボード表示状態
$bc3 1.b ソフトキーボードのキー押し下げフラグ(0:押していない 1:押している)
$bc4 1.b ソフトキーボード処理フラグ(-1:処理中)
$bc5 1.b 特殊キー処理フラグ(bit0~3:trap #10~13に対応)


$fe1d __FTOL float → signed int d0 = d0
$bc6 1.b 電卓表示フラグ(0:消去 1:表示)
$bc7 1.b 〃  基数(0:10進数 1:16進数)
$bc8 1.b 〃  加減乗除(1:+ 2:- 3:* 4:/)
$bc9 1.b 〃  小数点フラグ(0:整数 1:小数)
$bca 1.w 〃  出力カウンタ
$bcc 1.l 〃  出力読み込みポインタ
$bd0 22.w 〃  出力バッファ
$bfc 1.w 〃  X座標
$bfe 1.w 〃  Y座標
$c00 2.l 〃  記憶数値(浮動小数点数値)
$c08 2.l 〃  計算結果(〃)
$c10 2.l 〃  作業用  (〃)
$c18 1.w 〃  入力桁数
$c1a 1.b 〃  エラー発生フラグ(0:正常 1:エラー)
$c1b 16.b 〃  数字文字列バッファ
$c2b 6.b 〃  基数〃
$c31 1.b 未使用


引数 d0.l 単精度浮動小数点数
$c32 1.b ADPCM 再生/録音モード(bit8=1:分割転送モード)
$c33 1.b 〃    DMA 転送エラーステータス
$c34 1.b DMA チャンネル2転送モード
$c35 1.b 〃 エラーステータス


返値 d0.l 変換されたロングワード符号付き整数
$c36 16.b 6*12フォント収得用バッファ
$c46 72.b フォント作成用バッファ
$c8e 1.b 未使用


CCR C : エラーの時セット
$c8f 1.b FDD リザルト受信フラグ
$c90 8.b FD0 リザルトステータス受信バッファ
$c98 8.b FD1 〃
$ca0 8.b FD2 〃
$ca8 8.b FD3 〃


単精度浮動小数点数をロングワード符号付き整数に変換する. 小数部は切り捨
$cb0 1.b 未使用
てられる.
$cb1 3.b マウス受信データ(3バイト揃った後に転送)
変換結果がロングワード符号付き整数の範囲を超えた場合はエラーとなる.
$cb4 1.b SASI-HD 接続台数
$cb5 1.b RS-232C 受信データマスク(ビット長だけ下位ビットが1になる)


==============================================================================
==============================================================================


$fe1e __FTOD float → double d0d1 = d0
・IOCSワーク一覧(ROM IOCS version 1.10 以降)
 
引数 d0.l 単精度浮動小数点数
 
返値 d0/d1 変換された倍精度浮動小数点数


単精度浮動小数点数を倍精度浮動小数点数に変換する.
$cb6 1.b システムポート MPU種類(0:68000 1:68010 2:68020 3:68030 4:68040)
$cb7 1.b 〃       MPUクロック(0:10 1:16 2:20 3:25 4:33 5:40 6:50 MHz単位)
$cb8 1.w ROMウェイトループ回数(dbra空ループで1msの回数)
$cba 1.w RAM〃


==============================================================================
==============================================================================


$fe1f __DTOF double → float d0 = d0d1
・IOCSワーク一覧(ROM IOCS version 1.30 以降)
 
引数 d0/d1 倍精度浮動小数点数
 
返値 d0.l 変換された単精度浮動小数点数


CCR C : エラーの時セット
$cbc 1.b MPU 種別(0:68000 1:68010 2:68020 3:68030 4:68040 6:68060)
$cbd 1.b FPU 有無(0:無し -1:有り)
$cbe 1.b MMU 有無(0:無し -1:有り)
$cbf 1.b 起動情報(0:電源オン -1:リセット -2:ホットスタート)
$cc0 1.w SCSI 転送サイズ
$cc2 1.b 本体 ID 適合性検査フラグ(-1:検査済み)
$cc3 1.b SCSI 未接続フラグ(ID ごとのビットが 1 で使用不可能)


倍精度浮動小数点数を単精度浮動小数点数に変換する.
$d00 1.l FD 拡張 PDA の定数表アドレス収得処理アドレス
変換できなかった場合はエラーとなる.
$d04 1.l 拡張 FDD モータオン処理のアドレス
$d08 1.w テキストスクロール方法(0:ラスタコピー -1:ソフトスクロール)
$d0a 1.w スムーススクロールモード(0:ジャンプ 4,8,16:スムース)
$d0c 1.w カーソル点滅許可スイッチ(0:点滅 -1:表示したまま)
$d0e 1.w 〃 反転開始ライン×4
$d10 2.b 〃 反転パターン
$d12 1.l BEEP 音処理アドレス(BEEP 音アドレスが -1 の時に有効)
$d16 1.l ESC 処理アドレス(^[[ 系のみ、0 なら標準)
$d1a 1.w グラフィック描画モード(0:通常 1:反転)
$d1c 1.w _TXXLINE/_TXYLINE 長さ減少値


==============================================================================
==============================================================================


$fe20 __VAL 文字列 → double d0d1 = (a0)~
・SCHDISK(version 1.04)
 
引数 a0.l 文字列のアドレス
 
返値 d0/d1 変換された倍精度浮動小数点数
d2.w 整数フラグ(文字列が10進数だった場合に有効)
d3.l 整数値   (〃)
 
CCR C : エラーの時セット
N : (C = 1)数値の記述法がおかしい場合セット
V : (C = 1)オーバーフローが発生した場合セット


文字列を倍精度浮動小数点数に変換する. 文字列の先頭に"&H","&O","&B"がつ
$cc0 1.l IOCS _B_SEEK 処理アドレス保存バッファ
いていている場合は、それぞれ16,8,2進数で表現されているものと扱う.
$cc4 1.l IOCS _B_VERIFY 〃
文字列が10進数だった場合、返値として d2,d3 が有効になる. 文字列が整数
$cc8 1.l IOCS _B_DSKINI 〃
でかつロングワード符号付き整数で表現可能な場合、整数フラグ d2 は -1
$ccc 1.l IOCS _B_DRVSNS 〃
なり d3 にはその整数値が入る. それ以外の場合は d2 = 0 になる.
$cd0 1.l IOCS _B_WRITE 〃
$cd4 1.l IOCS _B_READ 〃
$cd8 1.l IOCS _B_RECALI 〃
$cdc 1.l IOCS _B_ASSIGN 〃
$ce0 1.l IOCS _B_BADFMT 〃
$ce4 1.l IOCS _B_FORMAT 〃
$ce8 1.l IOCS _B_EJECT 〃


==============================================================================
$cec 1.b SCHDISK 組み込み済みフラグ(ID ごとのビットが 1 で組み込み済み)


$fe21 __USING double → 10進文字列 (a0)~ = d0d1,d2.d3,d4
注意:$cc0~$cc3 は X68030 の ROM では別の用途で使われているが、SCHDISK の持つ
    SCSI IOCS は組み込まれないので問題はない.


引数 d0/d1 倍精度浮動小数点数
=============================================================================
d2.l 整数部の桁数
d3.l 小数部の桁数
d4.l 属性
bit 6 正数の場合スペースを、負数の場合"-"を最後尾に付加する
bit 5 正数の場合"+"を、負数の場合"-"を最後尾に付加する
bit 4 正数の場合"+"を先頭に付加する
bit 3 指数形式で表現する
bit 2 整数部分を3桁ごとに","で区切る
bit 1 先頭に"\"を付加する
bit 0 整数部の指定桁数に満たない部分(左側)を"*"で埋める
(通常はスペース)
a0.l バッファのアドレス
 
返値 (a0)~ 変換された文字列
 
倍精度浮動小数点数を属性 d4 で指定した形で文字列に変換する.
属性は各ビットをセットすることで、その機能が有効になる. 複数のビットを
セットすることは可能だが、矛盾する設定を行なってはいけない.
 
==============================================================================
 
$fe22 __STOD 10進文字列 → double d0d1,d2,d3 = (a0)~
 
引数 a0.l 文字列のアドレス
 
返値 d0/d1 変換された倍精度浮動小数点数
d2.w 整数フラグ
d3.l 整数値
 
CCR C : エラーの時セット
N : (C = 1)数値の記述法がおかしい場合セット
V : (C = 1)オーバーフローが発生した場合セット
 
文字列を倍精度浮動小数点数に変換する.
文字列が整数で、かつロングワード符号付き整数で表現可能な場合、整数フラ
グ d2 は -1 になり d3 にはその整数値が入る. それ以外の場合は d2 = 0 に
なる.
 
==============================================================================
 
$fe23 __DTOS double → 10進文字列 (a0)~ = d0d1
 
引数 d0/d1 倍精度浮動小数点数
a0.l バッファのアドレス
 
返値 (a0)~ 変換された文字列
 
倍精度浮動小数点数を文字列に変換する.
 
==============================================================================
 
$fe24 __ECVT double → 文字列 (a0),d0,d1 = d0d1,d2全体桁
 
引数 d0/d1 倍精度浮動小数点数
d2.b 全体の桁数
a0.l バッファのアドレス
 
返値 d0.l 小数点の位置
d1.l 符号(0:正 1:負)
(a0)~ 変換された文字列
 
倍精度浮動小数点数を全体の桁数を指定して文字列に変換する.
 
==============================================================================
 
$fe25 __FCVT double → 文字列 (a0),d0,d1 = d0d1,d2小数点桁
 
引数 d0/d1 倍精度浮動小数点数
d2.b 小数点以下の桁数
a0.l バッファのアドレス
 
返値 d0.l 小数点の位置
d1.l 符号(0:正 1:負)
(a0)~ 変換された文字列
 
倍精度浮動小数点数を、小数点以下の桁数を指定して文字列に変換する.
 
==============================================================================
 
$fe26 __GCVT double → 文字列 (a0)~ = d0d1,d2全体桁
 
引数 d0/d1 倍精度浮動小数点数
d2.b 全体の桁数
a0.l バッファのアドレス
 
返値 d0.l 小数点の位置
d1.l 符号(0:正 1:負)
(a0)~ 変換された文字列
 
倍精度浮動小数点数を、全体の桁数を指定した浮動小数点表記または指数表現
に変換する. 負数の場合は文字列の先頭に"-"が付加される. 通常は浮動小数
点表記に変換されるが、桁数 d2 で表現できない場合に指数表現に変換される.
 
==============================================================================
 
$fe28 __DTST double 0 比較 Z,N = d0d1
 
引数 d0/d1 倍精度浮動小数点数
 
CCR Z : d0/d1 が 0 の時セット
N : d0/d1 が負数の時セット
 
d0/d1 で与える倍精度浮動小数点数と 0 を比較し、結果をフラグで返す.
 
==============================================================================
 
$fe29 __DCMP double 比較 Z,C = d0d1-d2d3
 
引数 d0/d1 被比較数
d2/d3 比較数
 
CCR N : 比較した結果が負数の時セット
Z : 〃     0 の時セット
C : ボローが発生した時セット
 
倍精度浮動小数点数同士を比較する. 被比較数 d0/d1 から比較数 d2/d3 を引
いた結果がフラグにのみ返される.
フラグの結果によって次のような関係を導き出すことが出来る.
 
d0/d1 > d2/d3 C=0,Z=0,N=0
d0/d1 = d2/d3 C=0,Z=1,N=0
d0/d1 < d2/d3 C=1,Z=0,N=1
 
==============================================================================
 
$fe2a __DNEG double 符号反転 d0d1 = neg(d0d1)
 
引数 d0/d1 倍精度浮動小数点数
 
返値 d0/d1 演算結果
 
倍精度浮動小数点数の符号を反転する.
 
==============================================================================
 
$fe2b __DADD double 加算 d0d1 += d2d3
 
引数 d0/d1 被加算数
d2/d3 加算数
 
返値 d0/d1 演算結果
 
CCR C : エラーの時セット
V : (C = 1)オーバーフローの場合はセット、アンダーフローの場合はクリア
 
倍精度浮動小数点数同士を加算する.
 
==============================================================================
 
$fe2c __DSUB double 減算 d0d1 -= d2d3
 
引数 d0/d1 被減算数
d2/d3 減算数
 
返値 d0/d1 演算結果
 
CCR C : エラーの時セット
V : (C = 1)オーバーフローの場合はセット、アンダーフローの場合はクリア
 
倍精度浮動小数点数同士を減算する.
 
==============================================================================
 
$fe2d __DMUL double 乗算 d0d1 *= d2d3
 
引数 d0/d1 被乗数
d2/d3 乗数
 
返値 d0/d1 演算結果
 
CCR C : エラーの時セット
V : (C = 1)オーバーフローの場合はセット、アンダーフローの場合はクリア
 
倍精度浮動小数点数同士を乗算する.
 
==============================================================================
 
$fe2e __DDIV double 除算 d0d1 /= d2d3
 
引数 d0/d1 被除数
d2/d3 除数
 
返値 d0/d1 演算結果
 
CCR C : エラーの時セット
V : (C = 1)オーバーフローの場合はセット、アンダーフローの場合はクリア
Z : (C = 1)0 で割った時セット
 
倍精度浮動小数点数同士を除算する.
 
==============================================================================
 
$fe2f __DMOD double 除算の剰余 d0d1 %= d2d3
 
引数 d0/d1 被除数
d2/d3 除数
 
返値 d0/d1 演算結果
 
CCR C : エラーの時セット
V : (C = 1)オーバーフローの場合はセット、アンダーフローの場合はクリア
Z : (C = 1)0 で割った時セット
 
倍精度浮動小数点数同士の剰余を求める.
 
==============================================================================
 
$fe30 __DABS double 絶対値 d0d1 = abs(d0d1)
 
引数 d0/d1 倍精度浮動小数点数
 
返値 d0/d1 演算結果
 
倍精度浮動小数点数の絶対値を求める.
 
==============================================================================
 
$fe31 __DCEIL double 小数切上 d0d1 = ceil(d0d1)
 
引数 d0/d1 倍精度浮動小数点数
 
返値 d0/d1 演算結果
 
d0/d1 で与えた倍精度浮動小数点数と等しいか、それ以上の最小の整数を返す.
 
==============================================================================
 
$fe32 __DFIX double 整数部 d0d1 = fix(d0d1)
 
引数 d0/d1 倍精度浮動小数点数
 
返値 d0/d1 演算結果
 
d0/d1 で与えた倍精度浮動小数点数の整数部を求める.
 
==============================================================================
 
$fe33 __DFLOOR double 小数切捨 d0d1 = floor(d0d1)
 
引数 d0/d1 倍精度浮動小数点数
 
返値 d0/d1 演算結果
 
d0/d1 で与えた倍精度浮動小数点数と等しいか、それより小さい最大の整数を
返す.
 
==============================================================================
 
$fe34 __DFRAC double 小数部 d0d1 = frac(d0d1)
 
引数 d0/d1 倍精度浮動小数点数
 
返値 d0/d1 演算結果
 
d0/d1 で与えた倍精度浮動小数点数の小数部を求める.
 
==============================================================================
 
$fe35 __DSGN double 正負零 d0d1 = sgn(d0d1)
 
引数 d0/d1 倍精度浮動小数点数
 
返値 d0/d1 結果(倍精度浮動小数点数)
 
d0/d1 で与えた倍精度浮動小数点数が正か負か 0 かを調べる.
正なら +1、負なら -1、0 なら 0 を返す.
 
==============================================================================
 
$fe36 __SIN double 正弦 d0d1 = sin(d0d1)
 
引数 d0/d1 角度(ラジアン単位、倍精度浮動小数点数)
 
返値 d0/d1 演算結果
 
角度(ラジアン単位)を与えて正弦を計算する.
 
==============================================================================
 
$fe37 __COS double 余弦 d0d1 = cos(d0d1)
 
引数 d0/d1 角度(ラジアン単位、倍精度浮動小数点数)
 
返値 d0/d1 演算結果
 
角度(ラジアン単位)を与えて余弦を計算する.
 
==============================================================================
 
$fe38 __TAN double 正接 d0d1 = tan(d0d1)
 
引数 d0/d1 角度(ラジアン単位、倍精度浮動小数点数)
 
返値 d0/d1 演算結果
 
CCR C : エラーの時セット
 
角度(ラジアン単位)を与えて正接を計算する.
結果が無限大になるような角度を与えた場合はエラーになる.
 
==============================================================================
 
$fe39 __ATAN double 逆正接 d0d1 = atan(d0d1)
 
引数 d0/d1 角度(ラジアン単位、倍精度浮動小数点数)
 
返値 d0/d1 演算結果
 
角度(ラジアン単位)を与えて逆正接を計算する.
 
==============================================================================
 
$fe3a __LOG double 自然対数 d0d1 = ln(d0d1)
 
引数 d0/d1 倍精度浮動小数点数
 
返値 d0/d1 演算結果
 
CCR C : エラーの時セット
 
自然対数を計算する. 引数が 0 以下の場合はエラーになる.
 
==============================================================================
 
$fe3b __EXP double 指数関数 d0d1 = exp(d0d1)
 
引数 d0/d1 倍精度浮動小数点数
 
返値 d0/d1 演算結果
 
CCR C : エラーの時セット
 
指数関数を計算する. オーバーフローが発生した場合はエラーになる.
 
==============================================================================
 
$fe3c __SQR double 平方根 d0d1 = sqr(d0d1)
 
引数 d0/d1 倍精度浮動小数点数
 
返値 d0/d1 演算結果
 
CCR C : エラーの時セット
Z : (C = 1)引数が 0 の場合セット???
 
平方根を計算する. オーバーフローが発生した場合はエラーになる.
 
==============================================================================
 
$fe3d __PI double 円周率 d0d1 = pi()
 
返値 d0/d1 円周率
 
円周率を倍精度浮動小数点数の範囲内で返す.
 
==============================================================================
 
$fe3e __NPI double 円周率乗算 d0d1 = pi(d0d1)
 
引数 d0/d1 倍精度浮動小数点数
 
返値 d0/d1 演算結果
 
CCR C : エラーの時セット
 
円周率の引数倍の値を倍精度浮動小数点数の範囲内で返す.
オーバーフローが発生した場合はエラーになる.
 
==============================================================================
 
$fe3f __POWER double 羃乗 d0d1 = pow(d0d1,d2d3)
 
引数 d0/d1 被羃乗数
d2/d2 羃乗数
 
返値 d0/d1 演算結果
 
CCR C : エラーの時セット
V : (C = 1)オーバーフローの場合はセット、アンダーフローの場合はクリア
 
羃乗を計算する. オーバーフロー/アンダーフローが発生した場合はエラーに
なる.
 
==============================================================================
 
$fe40 __RND double 乱数 d0d1 = rnd()
 
返値 d0/d1 乱数(倍精度浮動小数点数)
 
倍精度浮動小数点数で 0 以上 1 未満の乱数を返す.
 
==============================================================================
 
$fe41 __SINH double 双曲正弦 d0d1 = sinh(d0d1)
 
引数 d0/d1 角度(ラジアン単位、倍精度浮動小数点数)
 
返値 d0/d1 演算結果
 
CCR C : エラーの時セット
V : (C = 1)オーバーフローの時セット
 
角度(ラジアン単位)を与えて双曲正弦を計算する.
 
==============================================================================
 
$fe42 __COSH double 双曲余弦 d0d1 = cosh(d0d1)
 
引数 d0/d1 角度(ラジアン単位、倍精度浮動小数点数)
 
返値 d0/d1 演算結果
 
CCR C : エラーの時セット
V : (C = 1)オーバーフローの時セット
 
角度(ラジアン単位)を与えて双曲余弦を計算する.
 
==============================================================================
 
$fe43 __TANH double 双曲正接 d0d1 = tanh(d0d1)
 
引数 d0/d1 角度(ラジアン単位、倍精度浮動小数点数)
 
返値 d0/d1 演算結果
 
CCR C : エラーの時セット
V : (C = 1)オーバーフローの時セット
 
角度(ラジアン単位)を与えて双曲正接を計算する.
 
==============================================================================
 
$fe44 __ATANH double 双曲逆正接 d0d1 = atanh(d0d1)
 
引数 d0/d1 角度(ラジアン単位、倍精度浮動小数点数)
 
返値 d0/d1 演算結果
 
CCR C : エラーの時セット
 
角度(ラジアン単位)を与えて逆正接を計算する.
 
==============================================================================
 
$fe45 __ASIN double 逆正弦 d0d1 = asin(d0d1)
 
引数 d0/d1 角度(ラジアン単位、倍精度浮動小数点数)
 
返値 d0/d1 演算結果
 
CCR C : エラーの時セット
 
角度(ラジアン単位)を与えて逆正弦を計算する.
 
==============================================================================
 
$fe46 __ACOS double 逆余弦 d0d1 = acos(d0d1)
 
引数 d0/d1 角度(ラジアン単位、倍精度浮動小数点数)
 
返値 d0/d1 演算結果
 
CCR C : エラーの時セット
 
角度(ラジアン単位)を与えて逆余弦を計算する.
 
==============================================================================
 
$fe47 __LOG10 double 常用対数 d0d1 = log10(d0d1)
 
引数 d0/d1 倍精度浮動小数点数
 
返値 d0/d1 演算結果
 
CCR C : エラーの時セット
 
常用対数を計算する. 引数が 0 以下の場合はエラーになる.
 
==============================================================================
 
$fe48 __LOG2 double 対数(底2) d0d1 = log2(d0d1)
 
引数 d0/d1 倍精度浮動小数点数
 
返値 d0/d1 演算結果
 
CCR C : エラーの時セット
 
底が 2 の対数を計算する. 引数が 0 以下の場合はエラーになる.
 
==============================================================================
 
$fe49 __DFREXP double 仮数指数分割 d0d1,d2 = d0d1
 
引数 d0/d1 倍精度浮動小数点数
 
返値 d0/d1 仮数部を示す倍精度浮動小数点数
d2.l 指数部を示すロングワード符号付き整数
 
倍精度浮動小数点数の仮数部と指数部を分ける.
返値の d0/d1 は、引数の仮数部はそのままで指数部を 1 に変えたものを返す.
 
==============================================================================
 
$fe4a __DLDEXP double 仮数指数結合 d0d1 = d0d1,d2
 
引数 d0/d1 仮数部データ(倍精度浮動小数点数)
d2.l 指数部データ(ロングワード符号付き整数)
 
返値 d0/d1 引数を結合した倍精度浮動小数点数
 
CCR C : エラーの時セット
 
引数の仮数部データ d0/d1 と指数部データ d2 を結合した倍精度浮動小数点
数を返す.
 
==============================================================================
 
$fe4b __DADDONE double 1 加算 d0d1 += 1.0#
 
引数 d0/d1 倍精度浮動小数点数
 
返値 d0/d1 演算結果
 
引数の倍精度浮動小数点数に 1 を加える.
 
==============================================================================
 
$fe4c __DSUBONE double 1 減算 d0d1 -= 1.0#
 
引数 d0/d1 倍精度浮動小数点数
 
返値 d0/d1 演算結果
 
引数の倍精度浮動小数点数から 1 を引く.
 
==============================================================================
 
$fe4d __DDIVTWO double 2 除算 d0d1 /= 2.0#
 
引数 d0/d1 倍精度浮動小数点数
 
返値 d0/d1 演算結果
 
CCR C : エラーの時セット
 
引数の倍精度浮動小数点数を 2 で割る.
アンダーフローが発生した場合はエラーになる.
 
==============================================================================
 
$fe4e __DIEECNV double SHARP → IEEE d0d1 = d0d1
 
引数 d0/d1 SHARP フォーマット倍精度浮動小数点数
 
返値 d0/d1 IEEE 〃
 
SHARP フォーマット倍精度浮動小数点数を IEEE フォーマットに変換する.
FLOAT1.X 以外では意味を持たない.
 
==============================================================================
 
$fe4f __IEEDCNV double IEEE → SHARP d0d1 = d0d1
 
引数 d0/d1 IEEE フォーマット倍精度浮動小数点数
 
返値 d0/d1 SHARP 〃
 
SHARP フォーマット倍精度浮動小数点数を IEEE フォーマットに変換する.
FLOAT1.X 以外では意味を持たない.
 
==============================================================================
 
$fe50 __FVAL 文字列 → float d0 = (a0)~
 
引数 a0.l 文字列のアドレス
 
返値 d0.l 変換された単精度浮動小数点数
d2.w 整数フラグ(文字列が10進数だった場合に有効)
d3.l 整数値   (〃)
 
CCR C : エラーの時セット
N : (C = 1)数値の記述法がおかしい場合セット
V : (C = 1)オーバーフローが発生した場合セット
 
文字列を単精度浮動小数点数に変換する. 文字列の先頭に"&H","&O","&B"がつ
いていている場合は、それぞれ16,8,2進数で表現されているものと扱う.
文字列が10進数だった場合、返値として d2,d3 が有効になる. 文字列が整数
でかつロングワード符号付き整数で表現可能な場合、整数フラグ d2 は -1 に
なり d3 にはその整数値が入る. それ以外の場合は d2 = 0 になる.
 
==============================================================================
 
$fe51 __FUSING float → 10進文字列 (a0)~ = d0,d2.d3,d4
 
引数 d0.l 単精度浮動小数点数
d2.l 整数部の桁数
d3.l 小数部の桁数
d4.l 属性
bit 6 正数の場合スペースを、負数の場合"-"を最後尾に付加する
bit 5 正数の場合"+"を、負数の場合"-"を最後尾に付加する
bit 4 正数の場合"+"を先頭に付加する
bit 3 指数形式で表現する
bit 2 整数部分を3桁ごとに","で区切る
bit 1 先頭に"\"を付加する
bit 0 整数部の指定桁数に満たない部分(左側)を"*"で埋める
(通常はスペース)
a0.l バッファのアドレス
 
返値 (a0)~ 変換された文字列
 
単精度浮動小数点数を属性 d4 で指定した形で文字列に変換する.
 
==============================================================================
 
$fe52 __STOF 10進文字列 → float d0,d2,d3 = (a0)~
 
引数 a0.l 文字列のアドレス
 
返値 d0.l 変換された単精度浮動小数点数
d2.w 整数フラグ
d3.l 整数値
 
CCR C : エラーの時セット
N : (C = 1)数値の記述法がおかしい場合セット
V : (C = 1)オーバーフローが発生した場合セット
 
文字列を単精度浮動小数点数に変換する.
文字列が整数で、かつロングワード符号付き整数で表現可能な場合、整数フラ
グ d2 は -1 になり d3 にはその整数値が入る. それ以外の場合は d2 = 0 に
なる.
 
==============================================================================
 
$fe53 __FTOS float → 10進文字列 (a0)~ = d0
 
引数 d0.l 単精度浮動小数点数
a0.l バッファのアドレス
 
返値 (a0)~ 変換された文字列
 
単精度浮動小数点数を文字列に変換する.
 
==============================================================================
 
$fe54 __FECVT float → 文字列 (a0),d0,d1 = d0,d2全体桁
 
引数 d0.l 単精度浮動小数点数
d2.b 全体の桁数
a0.l バッファのアドレス
 
返値 d0.l 小数点の位置
d1.l 符号(0:正 1:負)
(a0)~ 変換された文字列
 
単精度浮動小数点数を全体の桁数を指定して文字列に変換する.
 
==============================================================================
 
$fe55 __FFCVT float → 文字列 (a0),d0,d1 = d0,d2小数点桁
 
引数 d0.l 単精度浮動小数点数
d2.b 小数点以下の桁数
a0.l バッファのアドレス
 
返値 d0.l 小数点の位置
d1.l 符号(0:正 1:負)
(a0)~ 変換された文字列
 
単精度浮動小数点数を、小数点以下の桁数を指定して文字列に変換する.
 
==============================================================================
 
$fe56 __FGCVT float → 文字列 (a0)~ = d0,d2全体桁
 
引数 d0.l 単精度浮動小数点数
d2.b 全体の桁数
a0.l バッファのアドレス
 
返値 d0.l 小数点の位置
d1.l 符号(0:正 1:負)
(a0)~ 変換された文字列
 
単精度浮動小数点数を、全体の桁数を指定した浮動小数点表記または指数表現
に変換する. 負数の場合は文字列の先頭に"-"が付加される. 通常は浮動小数
点表記に変換されるが、桁数 d2 で表現できない場合に指数表現に変換される.
 
==============================================================================
 
$fe58 __FTST float 0 比較 Z,N = d0
 
引数 d0.l 単精度浮動小数点数
 
CCR Z : d0 が 0 の時セット
N : d0 が負数の時セット
 
d0 で与える単精度浮動小数点数と 0 を比較し、結果をフラグで返す.
 
==============================================================================
 
$fe59 __FCMP float 比較 Z,C = d0-d1
 
引数 d0.l 被比較数
d1.l 比較数
 
CCR N : 比較した結果が負数の時セット
Z : 〃     0 の時セット
C : ボローが発生した時セット
 
単精度浮動小数点数同士を比較する. 被比較数 d0 から比較数 d1 を引いた結
果がフラグにのみ返される.
フラグの結果によって次のような関係を導き出すことが出来る.
 
d0 > d1 C=0,Z=0,N=0
d0 = d1 C=0,Z=1,N=0
d0 < d1 C=1,Z=0,N=1
 
==============================================================================
 
$fe5a __FNEG float 符号反転 d0 = neg(d0)
 
引数 d0.l 単精度浮動小数点数
 
返値 d0.l 演算結果
 
単精度浮動小数点数の符号を反転する.
 
==============================================================================
 
$fe5b __FADD float 加算 d0 += d1
 
引数 d0.l 被加算数
d1.l 加算数
 
返値 d0.l 演算結果
 
CCR C : エラーの時セット
V : (C = 1)オーバーフローの場合はセット、アンダーフローの場合はクリア
 
単精度浮動小数点数同士を加算する.
 
==============================================================================
 
$fe5c __FSUB float 減算 d0 -= d1
 
引数 d0.l 被減算数
d1.l 減算数
 
返値 d0.l 演算結果
 
CCR C : エラーの時セット
V : (C = 1)オーバーフローの場合はセット、アンダーフローの場合はクリア
 
単精度浮動小数点数同士を減算する.
 
==============================================================================
 
$fe5d __FMUL float 乗算 d0 *= d1
 
引数 d0.l 被乗数
d1.l 乗数
 
返値 d0.l 演算結果
 
CCR C : エラーの時セット
V : (C = 1)オーバーフローの場合はセット、アンダーフローの場合はクリア
 
単精度浮動小数点数同士を乗算する.
 
==============================================================================
 
$fe5e __FDIV float 除算 d0 /= d1
 
引数 d0.l 被除数
d1.l 除数
 
返値 d0.l 演算結果
 
CCR C : エラーの時セット
V : (C = 1)オーバーフローの場合はセット、アンダーフローの場合はクリア
Z : (C = 1)0 で割った時セット
 
単精度浮動小数点数同士を除算する.
 
==============================================================================
 
$fe5f __FMOD float 除算の剰余 d0 %= d1
 
引数 d0.l 被除数
d1.l 除数
 
返値 d0.l 演算結果
 
CCR C : エラーの時セット
V : (C = 1)オーバーフローの場合はセット、アンダーフローの場合はクリア
Z : (C = 1)0 で割った時セット
 
単精度浮動小数点数同士の剰余を求める.
 
==============================================================================
 
$fe60 __FABS float 絶対値 d0 = abs(d0)
 
引数 d0.l 単精度浮動小数点数
 
返値 d0.l 演算結果
 
単精度浮動小数点数の絶対値を求める.
 
==============================================================================
 
$fe61 __FCEIL float 小数切上 d0 = ceil(d0)
 
引数 d0.l 単精度浮動小数点数
 
返値 d0.l 演算結果
 
d0 で与えた単精度浮動小数点数と等しいか、それ以上の最小の整数を返す.
 
==============================================================================
 
$fe62 __FFIX float 整数部 d0 = fix(d0)
 
引数 d0.l 単精度浮動小数点数
 
返値 d0.l 演算結果
 
d0 で与えた単精度浮動小数点数の整数部を求める.
 
==============================================================================
 
$fe63 __FFLOOR float 小数切捨 d0 = floor(d0)
 
引数 d0.l 単精度浮動小数点数
 
返値 d0.l 演算結果
 
d0 で与えた単精度浮動小数点数と等しいか、それより小さい最大の整数を返
す.
 
==============================================================================
 
$fe64 __FFRAC float 小数部 d0 = frac(d0)
 
引数 d0.l 単精度浮動小数点数
 
返値 d0.l 演算結果
 
d0 で与えた単精度浮動小数点数の小数部を求める.
 
==============================================================================
 
$fe65 __FSGN float 正負零 d0 = sgn(d0)
 
引数 d0.l 単精度浮動小数点数
 
返値 d0.l 結果(単精度浮動小数点数)
 
d0 で与えた単精度浮動小数点数が正か負か 0 かを調べる.
正なら +1、負なら -1、0 なら 0 を返す.
 
==============================================================================
 
$fe66 __FSIN float 正弦 d0 = sin(d0)
 
引数 d0.l 角度(ラジアン単位、単精度浮動小数点数)
 
返値 d0.l 演算結果
 
角度(ラジアン単位)を与えて正弦を計算する.
 
==============================================================================
 
$fe67 __FCOS float 余弦 d0 = cos(d0)
 
引数 d0.l 角度(ラジアン単位、単精度浮動小数点数)
 
返値 d0.l 演算結果
 
角度(ラジアン単位)を与えて余弦を計算する.
 
==============================================================================
 
$fe68 __FTAN float 正接 d0 = tan(d0)
 
引数 d0.l 角度(ラジアン単位、単精度浮動小数点数)
 
返値 d0.l 演算結果
 
CCR C : エラーの時セット
 
角度(ラジアン単位)を与えて正接を計算する.
結果が無限大になるような角度を与えた場合はエラーになる.
 
==============================================================================
 
$fe69 __FATAN float 逆正接 d0 = atan(d0)
 
引数 d0.l 角度(ラジアン単位、単精度浮動小数点数)
 
返値 d0.l 演算結果
 
角度(ラジアン単位)を与えて逆正接を計算する.
 
==============================================================================
 
$fe6a __FLOG float 自然対数 d0 = ln(d0)
 
引数 d0.l 単精度浮動小数点数
 
返値 d0.l 演算結果
 
CCR C : エラーの時セット
 
自然対数を計算する. 引数が 0 以下の場合はエラーになる.
 
==============================================================================
 
$fe6b __FEXP float 指数関数 d0 = exp(d0)
 
引数 d0.l 単精度浮動小数点数
 
返値 d0.l 演算結果
 
CCR C : エラーの時セット
 
指数関数を計算する. オーバーフローが発生した場合はエラーになる.
 
==============================================================================
 
$fe6c __FSQR float 平方根 d0 = sqr(d0)
 
引数 d0.l 単精度浮動小数点数
 
返値 d0.l 演算結果
 
CCR C : エラーの時セット
Z : (C = 1)引数が 0 の場合セット???
 
平方根を計算する. オーバーフローが発生した場合はエラーになる.
 
==============================================================================
 
$fe6d __FPI float 円周率 d0 = pi()
 
返値 d0.l 円周率
 
円周率を単精度浮動小数点数の範囲内で返す.
 
==============================================================================
 
$fe6e __FNPI float 円周率乗算 d0 = pi(d0)
 
引数 d0.l 単精度浮動小数点数
 
返値 d0.l 演算結果
 
CCR C : エラーの時セット
 
円周率の引数倍の値を単精度浮動小数点数の範囲内で返す.
オーバーフローが発生した場合はエラーになる.
 
==============================================================================
 
$fe6f __FPOWER float 羃乗 d0 = pow(d0,d1)
 
引数 d0.l 被羃乗数
d1.l 羃乗数
 
返値 d0.l 演算結果
 
CCR C : エラーの時セット
V : (C = 1)オーバーフローの場合はセット、アンダーフローの場合はクリア
 
羃乗を計算する. オーバーフロー/アンダーフローが発生した場合はエラーに
なる.
 
==============================================================================
 
$fe70 __FRND float 乱数 d0 = rnd()
 
返値 d0.l 乱数(単精度浮動小数点数)
 
単精度浮動小数点数で 0 以上 1 未満の乱数を返す.
 
==============================================================================
 
$fe71 __FSINH float 正弦 d0 = sinh(d0)
 
引数 d0.l 角度(ラジアン単位、単精度浮動小数点数)
 
返値 d0.l 演算結果
 
CCR C : エラーの時セット
V : (C = 1)オーバーフローの時セット
 
角度(ラジアン単位)を与えて双曲正弦を計算する.
 
==============================================================================
 
$fe72 __FCOSH float 双曲余弦 d0 = cosh(d0)
 
引数 d0.l 角度(ラジアン単位、単精度浮動小数点数)
 
返値 d0.l 演算結果
 
CCR C : エラーの時セット
V : (C = 1)オーバーフローの時セット
 
角度(ラジアン単位)を与えて双曲余弦を計算する.
 
==============================================================================
 
$fe73 __FTANH float 双曲正接 d0 = tanh(d0)
 
引数 d0.l 角度(ラジアン単位、単精度浮動小数点数)
 
返値 d0.l 演算結果
 
CCR C : エラーの時セット
V : (C = 1)オーバーフローの時セット
 
角度(ラジアン単位)を与えて双曲正接を計算する.
 
==============================================================================
 
$fe74 __FATANH float 双曲逆正接 d0 = atanh(d0)
 
引数 d0.l 角度(ラジアン単位、単精度浮動小数点数)
 
返値 d0.l 演算結果
 
CCR C : エラーの時セット
 
角度(ラジアン単位)を与えて逆正接を計算する.
 
==============================================================================
 
$fe75 __FASIN float 逆正弦 d0 = asin(d0)
 
引数 d0.l 角度(ラジアン単位、単精度浮動小数点数)
 
返値 d0.l 演算結果
 
CCR C : エラーの時セット
 
角度(ラジアン単位)を与えて逆正弦を計算する.
 
==============================================================================
 
$fe76 __FACOS float 逆余弦 d0 = acos(d0)
 
引数 d0.l 角度(ラジアン単位、単精度浮動小数点数)
 
返値 d0.l 演算結果
 
CCR C : エラーの時セット
 
角度(ラジアン単位)を与えて逆余弦を計算する.
 
==============================================================================
 
$fe77 __FLOG10 float 常用対数 d0 = log10(d0)
 
引数 d0.l 単精度浮動小数点数
 
返値 d0.l 演算結果
 
CCR C : エラーの時セット
 
常用対数を計算する. 引数が 0 以下の場合はエラーになる.
 
==============================================================================
 
$fe78 __FLOG2 float 対数(底2) d0 = log2(d0)
 
引数 d0.l 単精度浮動小数点数
 
返値 d0.l 演算結果
 
CCR C : エラーの時セット
 
底が 2 の対数を計算する. 引数が 0 以下の場合はエラーになる.
 
==============================================================================
 
$fe79 __FFREXP float 仮数指数分割 d0,d1 = d0
 
引数 d0.l 単精度浮動小数点数
 
返値 d0.l 仮数部を示す単精度浮動小数点数
d1.l 指数部を示すロングワード符号付き整数
 
単精度浮動小数点数の仮数部と指数部を分ける.
返値の d0 は、引数の仮数部はそのままで指数部を 1 に変えたものを返す.
 
==============================================================================
 
$fe7a __FLDEXP float 仮数指数結合 d0 = d0,d1
 
引数 d0.l 仮数部データ(単精度浮動小数点数)
d1.l 指数部データ(ロングワード符号付き整数)
 
返値 d0.l 引数を結合した単精度浮動小数点数
 
CCR C : エラーの時セット
 
引数の仮数部データ d0 と指数部データ d1 を結合した単精度浮動小数点数を
返す.
 
==============================================================================
 
$fe7b __FADDONE float 1 加算 d0 += 1.0#
 
引数 d0.l 単精度浮動小数点数
 
返値 d0.l 演算結果
 
引数の単精度浮動小数点数に 1 を加える.
 
==============================================================================
 
$fe7c __FSUBONE float 1 減算 d0 -= 1.0#
 
引数 d0.l 単精度浮動小数点数
 
返値 d0.l 演算結果
 
引数の単精度浮動小数点数から 1 を引く.
 
==============================================================================
 
$fe7d __FDIVTWO float 2 除算 d0 /= 2.0#
 
引数 d0.l 単精度浮動小数点数
 
返値 d0.l 演算結果
 
CCR C : エラーの時セット
 
引数の単精度浮動小数点数を 2 で割る.
アンダーフローが発生した場合はエラーになる.
 
==============================================================================
 
$fe7e __FIEECNV float SHARP → IEEE d0 = d0
 
引数 d0.l SHARP フォーマット単精度浮動小数点数
 
返値 d0.l IEEE 〃
 
SHARP フォーマット単精度浮動小数点数を IEEE フォーマットに変換する.
FLOAT1.X 以外では意味を持たない.
 
==============================================================================
 
$fe7f __IEEFCNV float IEEE → SHARP d0 = d0
 
引数 d0.l IEEE フォーマット単精度浮動小数点数
 
返値 d0.l SHARP 〃
 
SHARP フォーマット単精度浮動小数点数を IEEE フォーマットに変換する.
FLOAT1.X 以外では意味を持たない.
 
==============================================================================
 
$fee0 __CLMUL signed int 乗算 (sp) *= (4,sp)
 
引数 (sp).l 被乗数
(4,sp).l 乗数
 
返値 (sp).l 演算結果
 
ロングワード符号付き整数同士の乗算を行なう.
演算結果がロングワード符号付き整数の範囲を超えた場合はエラーとなる.
 
==============================================================================
 
$fee1 __CLDIV signed int 除算 (sp) /= (4,sp)
 
引数 (sp).l 被除数
(4,sp).l 除数
 
返値 (sp).l 演算結果
 
ロングワード符号付き整数同士の除算を行なう.
除数が 0 の場合はエラーとなる.
 
==============================================================================
 
$fee2 __CLMOD signed int 除算の剰余 (sp) %= (4,sp)
 
引数 (sp).l 被除数
(4,sp).l 除数
 
返値 (sp).l 演算結果
 
CCR C : エラーの時セット
 
ロングワード符号付き整数同士の除算の剰余を計算する.
除数が 0 の場合はエラーとなる.
 
==============================================================================
 
$fee3 __CUMUL unsigned int 乗算 (sp) *= (4,sp)
 
引数 (sp).l 被乗数
(4,sp).l 乗数
 
返値 (sp).l 演算結果
 
CCR C : エラーの時セット
 
ロングワード符号なし整数同士の乗算を行なう.
演算結果がロングワード符号なし整数の範囲を超えた場合はエラーとなる.
 
==============================================================================
 
$fee4 __CUDIV unsigned int 除算 (sp) /= (4,sp)
 
引数 (sp).l 被除数
(4,sp).l 除数
 
返値 (sp).l 演算結果
 
CCR C : エラーの時セット
 
ロングワード符号なし整数同士の除算の剰余を計算する.
除数が 0 の場合はエラーとなる.
 
==============================================================================
 
$fee5 __CUMOD unsigned int 除算の剰余 (sp) %= (4,sp)
 
引数 (sp).l 被除数
(4,sp).l 除数
 
返値 (sp).l 演算結果
 
CCR C : エラーの時セット
 
ロングワード符号なし整数同士の除算の剰余を計算する.
除数が 0 の場合はエラーとなる.
 
==============================================================================
 
$fee6 __CLTOD signed int → double (sp)(4,sp) = (sp)
 
引数 (sp).l ロングワード符号付き整数
 
返値 (sp)/(4,sp) 変換された倍精度浮動小数点数
 
ロングワード符号付き整数を倍精度浮動小数点数に変換する.
引数は 4 バイト、返値は 8 バイトであることに注意すること.
 
==============================================================================
 
$fee7 __CDTOL double → signed int (sp) = (sp)(4,sp)
 
引数 (sp)/(4,sp) 倍精度浮動小数点数
 
返値 (sp).l 変換されたロングワード符号付き整数
 
CCR C : エラーの時セット
 
倍精度浮動小数点数をロングワード符号付き整数に変換する. 小数部は切り捨
てられる.
変換結果がロングワード符号付き整数の範囲を超えた場合はエラーとなる.
引数は 8 バイト、返値は 4 バイトであることに注意すること.
 
==============================================================================
 
$fee8 __CLTOF signed int → float (sp) = (sp)
 
引数 (sp).l ロングワード符号付き整数
 
返値 (sp).l 変換された単精度浮動小数点数
 
ロングワード符号付き整数を単精度浮動小数点数に変換する.
 
==============================================================================
 
$fee9 __CFTOL float → signed int (sp) = (sp)
 
引数 (sp).l 単精度浮動小数点数
 
返値 (sp).l 変換されたロングワード符号付き整数
 
CCR C : エラーの時セット
 
単精度浮動小数点数をロングワード符号付き整数に変換する.
変換結果がロングワード符号付き整数の範囲を超えた場合はエラーとなる.
 
==============================================================================
 
$feea __CFTOD float → double (sp)(4,sp) = (sp)
 
引数 (sp).l 単精度浮動小数点数
 
返値 (sp)/(4,sp) 変換された倍精度浮動小数点数
 
単精度浮動小数点数を倍精度浮動小数点数に変換する.
引数は 4 バイト、返値は 8 バイトであることに注意すること.
 
==============================================================================
 
$feeb __CDTOF double → float (sp) = (sp)(4,sp)
 
引数 (sp)/(4,sp) 倍精度浮動小数点数
 
返値 (sp).l 変換された単精度浮動小数点数
 
CCR C : エラーの時セット
 
倍精度浮動小数点数を単精度浮動小数点数に変換する.
引数が単精度浮動小数点数で表現できない場合はエラーとなる.
 
==============================================================================
 
$feec __CDCMP double 比較 Z,C = (sp)(4,sp)-(8,sp)(12,sp)
 
引数   (sp)/(4,sp) 被比較数
(8,sp)/(12,sp) 比較数
 
返値 (sp)/(4,sp) 演算結果
 
CCR N : 比較した結果が負数の時セット
Z : 〃     0 の時セット
C : ボローが発生した時セット
 
倍精度浮動小数点数同士を比較する. 被比較数 (sp)/(4,sp) から比較数
(8,sp)/(12,sp) を引いた結果がフラグにのみ返される.
フラグの結果によって次のような関係を導き出すことが出来る.
 
(sp)/(4,sp) > (8,sp)/(12,sp) C=0,Z=0,N=0
(sp)/(4,sp) = (8,sp)/(12,sp) C=0,Z=1,N=0
(sp)/(4,sp) < (8,sp)/(12,sp) C=1,Z=0,N=1
 
==============================================================================
 
$feed __CDADD double 加算 (sp)(4,sp) += (8,sp)(12,sp)
 
引数   (sp)/(4,sp) 被加算数
(8,sp)/(12,sp) 加算数
 
返値 (sp)/(4,sp) 演算結果
 
CCR C : エラーの時セット
V : (C = 1)オーバーフローの場合はセット、アンダーフローの場合はクリア
 
倍精度浮動小数点数同士を加算する.
 
==============================================================================
 
$feee __CDSUB double 減算 (sp)(4,sp) -= (8,sp)(12,sp)
 
引数   (sp)/(4,sp) 被減算数
(8,sp)/(12,sp) 減算数
 
返値 (sp)/(4,sp) 演算結果
 
CCR C : エラーの時セット
V : (C = 1)オーバーフローの場合はセット、アンダーフローの場合はクリア
 
倍精度浮動小数点数同士を減算する.
 
==============================================================================
 
$feef __CDMUL double 乗算 (sp)(4,sp) *= (8,sp)(12,sp)
 
引数   (sp)/(4,sp) 被乗数
(8,sp)/(12,sp) 乗数
 
返値 (sp)/(4,sp) 演算結果
 
CCR C : エラーの時セット
V : (C = 1)オーバーフローの場合はセット、アンダーフローの場合はクリア
 
倍精度浮動小数点数同士を乗算する.
 
==============================================================================
 
$fef0 __CDDIV double 除算 (sp)(4,sp) /= (8,sp)(12,sp)
 
引数   (sp)/(4,sp) 被除数
(8,sp)/(12,sp) 除数
 
返値 (sp)/(4,sp) 演算結果
 
CCR C : エラーの時セット
V : (C = 1)オーバーフローの場合はセット、アンダーフローの場合はクリア
Z : (C = 1)0 で割った時セット
 
倍精度浮動小数点数同士を除算する.
 
==============================================================================
 
$fef1 __CDMOD double 除算の剰余 (sp)(4,sp) %= (8,sp)(12,sp)
 
引数   (sp)/(4,sp) 被除数
(8,sp)/(12,sp) 除数
 
返値 (sp)/(4,sp) 演算結果
 
CCR C : エラーの時セット
V : (C = 1)オーバーフローの場合はセット、アンダーフローの場合はクリア
Z : (C = 1)0 で割った時セット
 
倍精度浮動小数点数同士の剰余を求める.
 
==============================================================================
 
$fef2 __CFCMP float 比較 Z,C = (sp)-(4,sp)
 
引数 (sp).l 被比較数
(4,sp).l 比較数
 
CCR N : 比較した結果が負数の時セット
Z : 〃     0 の時セット
C : ボローが発生した時セット
 
単精度浮動小数点数同士を比較する. 被比較数 (sp) から比較数 (4,sp) を引
いた結果がフラグにのみ返される.
フラグの結果によって次のような関係を導き出すことが出来る.
 
(sp) > (4,sp) C=0,Z=0,N=0
(sp) = (4,sp) C=0,Z=1,N=0
(sp) < (4,sp) C=1,Z=0,N=1
 
==============================================================================
 
$fef3 __CFADD float 加算 (sp) += (4,sp)
 
引数 (sp).l 被加算数
(4,sp).l 加算数
 
返値 (sp).l 演算結果
 
CCR C : エラーの時セット
V : (C = 1)オーバーフローの場合はセット、アンダーフローの場合はクリア
 
単精度浮動小数点数同士を加算する.
 
==============================================================================
 
$fef4 __CFSUB float 減算 (sp) -= (4,sp)
 
引数 (sp).l 被減算数
(4,sp).l 減算数
 
返値 (sp).l 演算結果
 
CCR C : エラーの時セット
V : (C = 1)オーバーフローの場合はセット、アンダーフローの場合はクリア
 
単精度浮動小数点数同士を減算する.
 
==============================================================================
 
$fef5 __CFMUL float 乗算 (sp) *= (4,sp)
 
引数 (sp).l 被乗数
(4,sp).l 乗数
 
返値 (sp).l 演算結果
 
CCR C : エラーの時セット
V : (C = 1)オーバーフローの場合はセット、アンダーフローの場合はクリア
 
単精度浮動小数点数同士を乗算する.
 
==============================================================================
 
$fef6 __CFDIV float 除算 (sp) /= (4,sp)
 
引数 (sp).l 被除数
(4,sp).l 除数
 
返値 (sp).l 演算結果
 
CCR C : エラーの時セット
V : (C = 1)オーバーフローの場合はセット、アンダーフローの場合はクリア
Z : (C = 1)0 で割った時セット
 
単精度浮動小数点数同士を除算する.
 
==============================================================================
 
$fef7 __CFMOD float 除算の剰余 (sp) %= (4,sp)
 
引数 (sp).l 被除数
(4,sp).l 除数
 
返値 (sp).l 演算結果
 
CCR C : エラーの時セット
V : (C = 1)オーバーフローの場合はセット、アンダーフローの場合はクリア
Z : (C = 1)0 で割った時セット
 
単精度浮動小数点数同士の剰余を求める.
 
==============================================================================
 
$fef8 __CDTST double 0 比較 Z,N = (sp)(4,sp)
 
引数 (sp)/(4,sp) 倍精度浮動小数点数
 
CCR Z : (sp)/(4,sp) が 0 の時セット
N : (sp)/(4,sp) が負数の時セット
 
(sp)/(4,sp) で与える倍精度浮動小数点数と 0 を比較し、結果をフラグで返
す.
 
==============================================================================
 
$fef9 __CFTST float 0 比較 Z,N = (sp)
 
引数 (sp).l 単精度浮動小数点数
 
CCR Z : (sp) が 0 の時セット
N : (sp) が負数の時セット
 
(sp) で与える単精度浮動小数点数と 0 を比較し、結果をフラグで返す.
 
==============================================================================
 
$fefa __CDINC double 1 加算 (sp)(4,sp) += 1.0#
 
引数 (sp)/(4,sp) 倍精度浮動小数点数
 
返値 (sp)/(4,sp) 演算結果
 
引数の倍精度浮動小数点数に 1 を加える.
 
==============================================================================
 
$fefb __CFINC float 1 加算 (sp) += 1.0#
 
引数 (sp).l 単精度浮動小数点数
 
返値 (sp).l 演算結果
 
引数の単精度浮動小数点数に 1 を加える.
 
==============================================================================
 
$fefc __CDDEC double 1 減算 (sp)(4,sp) -= 1.0#
 
引数 (sp)/(4,sp) 倍精度浮動小数点数
 
返値 (sp)/(4,sp) 演算結果
 
引数の倍精度浮動小数点数から 1 を引く.
 
==============================================================================
 
$fefd __CFDEC float 1 減算 (sp) -= 1.0#
 
引数 (sp).l 単精度浮動小数点数
 
返値 (sp).l 演算結果
 
引数の単精度浮動小数点数から 1 を引く.
 
==============================================================================
 
$fefe __FEVARG 数値演算ドライバ種別検査 d0,d1=[FORMAT],[MODE]
 
返値 d0.l 数値演算ドライバ名(1)
d1.l 〃   (2)
 
組み込まれている数値演算デバイスドライバの種類を調べる.
 
d0.l d1.l
FLOAT1.X 'HS86' 'SOFT'
FLOAT2.X 'IEEE' 'SOFT'
FLOAT3.X 'IEEE' 'FPCP'
FLOAT4.X 'IEEE' 'FP20'
 
==============================================================================
 
$feff __FEVECS 処理アドレス変更 d0 = intvcs(d0,a0)
 
引数 d0.l FETBL 番号($fe00~$fefe)
a0.l 処理アドレス
 
返値 d0.l 前の処理アドレス
 
d0 で指定した FE ファンクションの処理アドレスを変更する.
範囲外の番号を入れた場合、エラーとなり d0 に -1 が返る.
 
==============================================================================
</nowiki>
</nowiki>

Revision as of 02:06, 19 December 2011

	- IOCS WORK MANUAL -

==============================================================================

・IOCSワーク一覧(ROM IOCS version 1.00)

address	size
$800	16.b	キーの押し下げ状態
$810	 1.b	キーボード LED の点灯状態
$811	 1.b	シフトキー押し下げ状態
$812	 1.w	キーバッファデータバイト数
$814	 1.l	〃	    書き込みポインタ
$818	 1.l	〃	    読み込みポインタ
$81c	64.w	キーバッファ

$89c	 1.w	RS-232C 受信バッファデータバイト数
$89e	 1.l	〃	〃	    書き込みポインタ
$8a2	 1.l	〃	〃	    読み込みポインタ
$8a6	64.w	〃	受信バッファ
$926	 1.w	〃	通信モード
$928	 1.b	〃	 SI/SO   状態 0:SO   1:SI (bit0:受信 bit1:送信)
$929	 1.b	〃	XON/XOFF 状態 0:XOFF 1:XON(〃)

$92a	 1.w	マウスデータ受信カウンタ
$92c	 1.l	〃	    受信バッファ書き込みポインタ
$930	 3.b	〃	    受信バッファ
$933	 1.b	現在の MSCTRL 端子の状態
$934	 1.l	マウス受信データ処理アドレス(ソフトキーボード)
$948	 1.l	〃			    (マウスカーソル)
$93c	 1.b	CRT モード

$93d	 1.b	グラフィック画面のページ数
$93e	 1.l	テキスト1ラインのバイト数
$942	 1.w	テキスト操作対象ページ番号
$944	 1.l	〃		プレーンの先頭アドレス
$948	 1.l	テキスト表示開始アドレスオフセット
$94c	 1.l	ソフトキーボード描画プレーンの先頭アドレス(X68000 only)
$950	 1.w	〃		表示X座標
$952	 1.w	〃		    Y
$954	 1.w	テキストクリッピング範囲(X最小値)
$956	 1.w	〃			(Y最小値)
$958	 1.w	〃			(X最大値+1)
$95a	 1.w	〃			(Y最大値+1)
$95c	 1.l	グラフィック操作対象ページの先頭アドレス
$960	 1.l	〃	    1ラインのバイト数
$964	 1.w	〃	    画面の色数-1(0なら使用不可)
$966	 1.w	〃	    描画カラーコード
$968	 1.w	〃	    クリッピング範囲(X最小値)
$96a	 1.w	〃			    (Y最小値)
$96c	 1.w	〃			    (X最大値)
$96e	 1.w	〃			    (Y最大値)

$970	 1.w	テキスト桁数-1
$972	 1.w	〃	行数-1
$974	 1.w	カーソルX座標
$976	 1.w	〃	Y座標
$978	 1.l	BEEP 音 PCM データアドレス
$97c	 1.w	〃	    データ長
$97e	 1.l	拡張ESCシーケンス処理アドレス
$982	 1.l	ESC シーケンスバッファ書き込みポインタ
$986	10.b	ESC シーケンスバッファ(ESC の次から)
$990	 1.b	2バイト文字の1バイト目
$991	 1.b	カーソル表示状態(0:消灯 !0:点灯)
$992	 1.b	カーソル点滅スイッチ(0:off !0:on)
$993	 1.b	アプリケーション用カーソル点滅スイッチ(0:on !0:off)
$994	 1.b	テキスト表示色
$995	 1.b	〃	      保存バッファ
$996	 1.l	カーソル座標保存バッファ

$99a	 1.1	外字グループ0のフォントアドレス
$99e	 1.l	〃	    1〃
$9a2	 1.l	〃	    2〃
$9a6	 1.l	〃	    3〃
$9aa	 1.l	〃	    4〃
$9ae	 1.l	〃	    5〃

$9b2	 1.w	マウスデータ受信タイマ初期値
$9b4	 1.w	〃		タイマカウンタ
$9b6	 1.l	〃		処理アドレス
$9ba	 1.w	カーソル点滅	タイマ初期値
$9bc	 1.w	〃		タイマカウンタ
$9be	 1.l	〃		処理アドレス
$9c2	 1.w	FDモータ停止	タイマ初期値
$9c4	 1.w	〃		タイマカウンタ
$9c6	 1.l	〃		処理アドレス
$9ca	 1.w	アラーム電源オフタイマ初期値
$9cc	 1.w	〃		タイマカウンタ
$9ce	 1.l	〃		処理アドレス

$9d2	 1.l	電源オフまでの時間
$9d6	 1.l	稼働時間(1分単位)
$9da	 1.b	OPM レジスタ $1b の設定値
$9db	 1.b	未使用
$9dc	 1.b	グラフィック画面使用モード
$9dd	 1.b	テキスト    〃
$9de	 1.b	ROM デバッガ起動スイッチ(0:off !0:on)
$9df	 1.b	起動方法
$9e0	 1.b	起動ユニット番号(PDA)

$9e1	 1.b	FDドライブの状態(bit 7=1:アクセス中 bit 6=1:モータon)
		%10...	アクセス中、モータ on
		%01...	アクセス終了、モータ on(Timer-C 割り込みで off にする)
		%00...	アクセス終了、モータ off
$9e2	 1.b	FDC LEDCTRL/EJECTMASK の設定
$9e6	 4.w	〃  ドライブステータス/ディスク交換フラグ
$9ee	10.b	〃  コマンド生成用バッファ
$9f8	 6.b	SASI コマンド生成用バッファ
$9fe	16.b	〃   容量フラグ
$a0e	 1.w	実行中のIOCSコール番号(-1なら実行していない)

$a10	 1.b	プリンタアボートフラグ
$a11	 1.b	〃	漢字モードフラグ(0:英数字 !0:漢字)
$a12	 1.b	〃	2バイト文字の1バイト目
$a13	 1.b	現在までの印刷行数
$a14	 1.w	〃	  印刷桁数
$a16	98.b	プリンタパラメータ
$a78	 1.b	1頁の行数-1
$a79	 1.b	1行の桁数-1

$a7a	 1.l	ソフトキーボード表示プレーン開始アドレス(プレーン3)
$a7e	 1.l	〃					(プレーン2)
$a82	 1.w	マウスカーソル描画時の垂直同期検査フラグ(0:off !0:on)
$a84	 1.w	ドラッグと見なす最小移動量-1
$a86	 1.w	マウスカーソルのアニメーション速度
$a88	 1.w	不明($0000)
$a8a	 1.w	不明($00f6)
$a8c	 1.w	マウスカーソルが表示可能なカラム開始位置(0)
$a8e	 1.w	〃			  ライン開始位置(0)
$a90	 1.w	〃			  カラム終了位置(128)
$a92	 1.w	〃			  ライン終了位置(1008)
$a94	 1.w	不明(1024)
$a96	 1.w	不明(1008)
$a98	 1.w	テキスト1ラインのバイト数
$a9a	 1.w	マウスカーソル移動範囲(X最小値)
$a9c	 1.w	〃		      (Y最小値)
$a9e	 1.w	〃		      (X最大値)
$aa0	 1.w	〃		      (Y最大値)
$aa2	 1.b	マウスカーソル表示スイッチ(0:消去 !0:表示)
$aa3	 1.b	未使用
$aa4	 7.l	パターンデータ本体へのポインタ(6+1個分)
$ac0	 1.w	マウスカーソルアニメーションの表示番号
$ac2	 1.w	〃			      速度カウンタ
$ac4	 1.w	マウスカーソルのアニメーションフラグ(-1:アニメーションする)
$ac6	 1.w	マウス左ボタンの状態(0:押していない -1:押している)
$ac8	 1.w	〃    右ボタン〃
$aca	 1.w	マウスX方向移動量
$acc	 1.w	〃    Y方向〃
$ace	 1.w	マウスカーソルX座標
$ad0	 1.w	〃	      Y座標
$ad2	 1.w	〃	      X座標保存バッファ
$ad4	 1.w	〃	      Y座標〃
$ad6	 1.w	ホットスポットX座標
$ad8	 1.w	〃	      Y座標
$ada	 1.w	マウスカーソル表示開始カラム
$adc	 1.w	〃		      ライン
$ade	 1.w	マウス IOCS コール処理フラグ(-1:処理中)
$ae4	 6.w	〃	    レジスタ一時保存バッファ
$af0	64.b	テキスト保存バッファ(プレーン2)
$b30	64.b	〃		    (プレーン3)
$b70	16.l	マウスカーソルのパターンデータへのポインタ
$bb0	 1.w	ソフトキーボードX座標
$bb2	 1.w	〃		Y座標
$bb4	 1.w	ドラッグ開始時のX座標
$bb6	 1.w	〃		Y座標
$bb8	 1.w	ソフトキーボード上で押しているキーのキーコード
$bba	 1.l	〃				    キーデータアドレス
$bbe	 1.b	前回処理時のマウスステータス(ボタンの状態)
$bbf	 1.b	マウス受信データ処理フラグ(bit7=1:マウス受信データ処理中
					   bit0=1:ソフトキーボード表示中)
$bc0	 1.b	ソフトキーボードのキー入力リピートカウンタ
$bc1	 1.b	ソフトキーボード制御モード
$bc2	 1.b	マウスカーソル/ソフトキーボード表示状態
$bc3	 1.b	ソフトキーボードのキー押し下げフラグ(0:押していない 1:押している)
$bc4	 1.b	ソフトキーボード処理フラグ(-1:処理中)
$bc5	 1.b	特殊キー処理フラグ(bit0~3:trap #10~13に対応)

$bc6	 1.b	電卓表示フラグ(0:消去 1:表示)
$bc7	 1.b	〃  基数(0:10進数 1:16進数)
$bc8	 1.b	〃  加減乗除(1:+ 2:- 3:* 4:/)
$bc9	 1.b	〃  小数点フラグ(0:整数 1:小数)
$bca	 1.w	〃  出力カウンタ
$bcc	 1.l	〃  出力読み込みポインタ
$bd0	22.w	〃  出力バッファ
$bfc	 1.w	〃  X座標
$bfe	 1.w	〃  Y座標
$c00	 2.l	〃  記憶数値(浮動小数点数値)
$c08	 2.l	〃  計算結果(〃)
$c10	 2.l	〃  作業用  (〃)
$c18	 1.w	〃  入力桁数
$c1a	 1.b	〃  エラー発生フラグ(0:正常 1:エラー)
$c1b	16.b	〃  数字文字列バッファ
$c2b	 6.b	〃  基数〃
$c31	 1.b	未使用

$c32	 1.b	ADPCM 再生/録音モード(bit8=1:分割転送モード)
$c33	 1.b	〃    DMA 転送エラーステータス
$c34	 1.b	DMA チャンネル2転送モード
$c35	 1.b	〃		エラーステータス

$c36	16.b	6*12フォント収得用バッファ
$c46	72.b	フォント作成用バッファ
$c8e	 1.b	未使用

$c8f	 1.b	FDD リザルト受信フラグ
$c90	 8.b	FD0 リザルトステータス受信バッファ
$c98	 8.b	FD1 〃
$ca0	 8.b	FD2 〃
$ca8	 8.b	FD3 〃

$cb0	 1.b	未使用
$cb1	 3.b	マウス受信データ(3バイト揃った後に転送)
$cb4	 1.b	SASI-HD 接続台数
$cb5	 1.b	RS-232C 受信データマスク(ビット長だけ下位ビットが1になる)

==============================================================================

・IOCSワーク一覧(ROM IOCS version 1.10 以降)

$cb6	 1.b	システムポート MPU種類(0:68000 1:68010 2:68020 3:68030 4:68040)
$cb7	 1.b	〃	       MPUクロック(0:10 1:16 2:20 3:25 4:33 5:40 6:50 MHz単位)
$cb8	 1.w	ROMウェイトループ回数(dbra空ループで1msの回数)
$cba	 1.w	RAM〃

==============================================================================

・IOCSワーク一覧(ROM IOCS version 1.30 以降)

$cbc	 1.b	MPU 種別(0:68000 1:68010 2:68020 3:68030 4:68040 6:68060)
$cbd	 1.b	FPU 有無(0:無し -1:有り)
$cbe	 1.b	MMU 有無(0:無し -1:有り)
$cbf	 1.b	起動情報(0:電源オン -1:リセット -2:ホットスタート)
$cc0	 1.w	SCSI 転送サイズ
$cc2	 1.b	本体 ID 適合性検査フラグ(-1:検査済み)
$cc3	 1.b	SCSI 未接続フラグ(ID ごとのビットが 1 で使用不可能)

$d00	 1.l	FD 拡張 PDA の定数表アドレス収得処理アドレス
$d04	 1.l	拡張 FDD モータオン処理のアドレス
$d08	 1.w	テキストスクロール方法(0:ラスタコピー -1:ソフトスクロール)
$d0a	 1.w	スムーススクロールモード(0:ジャンプ 4,8,16:スムース)
$d0c	 1.w	カーソル点滅許可スイッチ(0:点滅 -1:表示したまま)
$d0e	 1.w	〃	反転開始ライン×4
$d10	 2.b	〃	反転パターン
$d12	 1.l	BEEP 音処理アドレス(BEEP 音アドレスが -1 の時に有効)
$d16	 1.l	ESC 処理アドレス(^[[ 系のみ、0 なら標準)
$d1a	 1.w	グラフィック描画モード(0:通常 1:反転)
$d1c	 1.w	_TXXLINE/_TXYLINE 長さ減少値

==============================================================================

・SCHDISK(version 1.04)

$cc0	 1.l	IOCS _B_SEEK 処理アドレス保存バッファ
$cc4	 1.l	IOCS _B_VERIFY	〃
$cc8	 1.l	IOCS _B_DSKINI	〃
$ccc	 1.l	IOCS _B_DRVSNS	〃
$cd0	 1.l	IOCS _B_WRITE	〃
$cd4	 1.l	IOCS _B_READ	〃
$cd8	 1.l	IOCS _B_RECALI	〃
$cdc	 1.l	IOCS _B_ASSIGN	〃
$ce0	 1.l	IOCS _B_BADFMT	〃
$ce4	 1.l	IOCS _B_FORMAT	〃
$ce8	 1.l	IOCS _B_EJECT	〃

$cec	 1.b	SCHDISK 組み込み済みフラグ(ID ごとのビットが 1 で組み込み済み)

注意:$cc0~$cc3 は X68030 の ROM では別の用途で使われているが、SCHDISK の持つ
     SCSI IOCS は組み込まれないので問題はない.

=============================================================================