日立MB-S1に関する情報

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

機能

実数の加算を行います。

解説

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

入力情報

  • AccB:加数が格納されているメモリ空間番号
  • X:加数が格納されているメモリ空間上の先頭アドレス
  • FACC:被加数(単精度または倍精度型実数)

出力情報

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

サンプル・プログラム

内容

40と2の単精度型実数の加算を行い、その結果を整数に変換し、AccDに格納します。
 0                          ORG  $C000
 1           C000   UFADD   EQU  *          --SAMPLE OF "UFADD" ROUTINE--
 2 C000   20 07             BRA  EXEC
 3 C002      8200   XDATA   FDB  $8200      $82 00 00 00 (SINGLE)
 4 C004      0000           FDB  $0000
 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 = ACCD ---
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 "UFADD" ROUTINE
17 C018      41             FCB  $41
18 C019      15             FCB  $15
19                  *                       --- D <-- FACC SINGLE CONV. ---
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=E1A0(F16B)CC=80(****)A=00 B=2A DP=00 X=EF56 Y=C000 U=0002 PC=C01E(3F69BEF010)
*

コメントをかく


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

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

どなたでも編集できます