日立MB-S1に関する情報

メモリ空間1
ルーチン番号$17

機能

実数の乗算を行います。

解説

FACCに格納されている実数データを被乗数、メモリ上の実数データを乗数として、乗算を行い、その結果をFACCに格納します。
単精度または倍精度型実数の区別は、システムが管理するシステム・レジスタをチェックして行います。
もし、FACCとメモリ上の変数の形が違っていても、そのまま演算をするので、結果は保証されません。
FACC=(FACC)×(メモリ上のデータ)

入力情報

  • AccB:乗数が格納されているメモリ空間番号
  • X:乗数が格納されているメモリ空間上のアドレス
  • FACC:被乗数

出力情報

  • FACC:乗数値(単精度または倍精度型実数)

サンプル・プログラム

内容

40と2の単精度型実数の乗算を行ない、その結果を整数に変換しAccDに格納します。
 0                          ORG  $C000
 1           C000   UFMULT  EQU  *          --SAMPLE OF "UFMULT" ROUTINE--
 2 C000   20 07             BRA  EXEC
 3 C002      8200   XDATA   FDB  $8200      SINGLE PRECISION DATA
 4 C004      0000           FDB  $0000      ( = 2)
 5 C006      0028   FACDT   FDB  40
 6 C008      0F     MAPNO   FCB  $0F        MAP NO.(EXEC)
 7           C009   EXEC    EQU  *          --- 40 * 2 ---
 8 C009   BE 8CFA           LDD  FACDT,PCR  D:40
 9                  *                       - FACC(SINGLE)<--ACCD(VARI.) -
10 C00C 103F                SWI2            CALL "UMOVFD" ROUTINE
11 C00E      41             FCB  $41
12 C00F      1F             FCB  $1F
13 C010   E6 8CF5           LDB  MAPNO,PCR  B:MAP NO
14 C013   30 8CEC           LEAX XDATA,PCR  X:TOP ADDR OF (X) DATA
15                  *                       --- FACC = FAXX * [X] ---
16 C016 103F                SWI2            CALL "UFMILT" ROUTINE
17 C018      41             FCB  $41
18 C019      17             FCB  $17
19                  *                       - ACCD(VARI.)<--FACC(SINGLE) -
20 C01A 103F                SWI2            CALL "UMOVDF" ROUTINE
21 C01C      41             FCB  $41
22 C01D      20             FCB  $20
23 C01E   3F                SWI
24                          END

実行結果

プログラムを実行し、計算結果がAccDに格納されていることを確認します。
Ready
EXEC &HC000
S=E1A6(F16B)CC=80(****)A=00 B=50 DP=00 X=EF56 Y=C000 U=0002 PC=C01E(3F69BEF010)
*

コメントをかく


「http://」を含む投稿は禁止されています。

利用規約をご確認のうえご記入下さい

どなたでも編集できます