日立MB-S1に関する情報

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

機能

単精度型実数のべき乗を計算します。

解説

メモリ上に格納されている単精度型実数を定数とし、FACCに格納されている単精度型実数をべき乗として演算を行い、その結果をFACCに格納します。
また、演算するデータが倍精度型実数の場合は、単精度型実数に変換して演算を行ないます。
整数または文字型の場合もそのまま演算するので、結果は保証されません。
FACC=(メモリ上のデータ)^(FACC)

入力情報

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

出力情報

  • FACC:べき乗値(単精度型実数)

サンプル・プログラム

内容

単精度型実数Aの2乗を計算し、その結果を画面に表示します。
100 CLEAR ,&HC000
105 DEF MAP = 2
110 LOADM"UFPWR"
120 MLST = &HC000
130 A = 100
140 VADR = VARPTR(A)
150 MSB = INT(VADR / 256)
160 LSB = VADR - MSB * 256
170 POKE MLST+2,MSB
180 POKE MLST+3,LSB
190 EXEC MLST
 0 C000                     ORG  $C000      --SAMPLE OF "UFPWR" ROUTINE--
 1           C000   UFPWR   EQU  *
 2 C000   20 0C             BRA  EXEC
 3           EF9E   FILNUM  EQU  $EF9E      FILE NUMBER VEC.
 4           F014   PFBUF   EQU  $F014
 5 C002      0000   VALADR  FDB  $0000      TOP ADDR. OF VAL (INPUT PARM.)
 6 C004      0E     MAPNO   FCB  $0E        DEF MAP = 2
 7 C005      41     MSG     FCC  /A ^ 2 = /
 8 C006      20
 9 C007      5E
10 C008      20
11 C009      32
12 C00A      20
13 C00B      3D
14 C00C      20
15 C00D      00             FCB  $00        MESSAGE END CODE
16           C00E   EXEC    EQU  *          --- PROGRAM START ---
17 C00E   30 8CF4           LEAX MSG,PCR    X:TOP ADDR OF MESSAGE AREA
18 C011   34 10             PSHS X
19 C013   A6 8CEE           LDA  MAPNO,PCR  A:MAP NO = 14
20 C016   5F                CLRB
21 C017   F7 EF9E           STB  FILNUM     FILNUM:0 ON DISPLAY
22 C01A 103F                SWI2            CALL "STOUT2" ROUTINE
23 C01C      41             FCB  $41
24 C01D      39             FCB  $39
25                  *                       ---- BUFFER <--- ARGUMENT ---- 
26 C01E   35 10             PULS X          X:TOP ADDR OF MESSAGE
27 C020 10BE F014           LDY  PFBUF      Y:PFBUF VEC.
28 C024   A6 04             LDA  4,X        A:"2"
29 C026   A7 A4             STA  ,Y
30                  *                       --- FACC <--- ARGUMENT (DBL) --- 
31 C028   C6 01             LDB  #$01       B:LENGTH OF ARGUMENT
32 C02A 103F                SWI2            CALL "UVAL1" ROUTINE
33 C02C      41             FCB  $41
34 C02D      21             FCB  $21
35                  *                       ---- FACC DATA CONV. (SINGLE) --- 
36 C02E   86 04             LDA  #$04
37 C030 103F                SWI2            CALL "FRCTYP" ROUTINE
38 C032      41             FCB  $41
39 C033      23             FCB  $23
40                  *                       --- FACC = MEMORY ^ FACC ---
41 C034   E6 8CCD           LDB  MAPNO,PCR  MAP NO = 14
42 C037   AE 8CC8           LDX  VALADR,PCR X:TOP ADDR OF VARIABLE
43 C03A 103F                SWI2            CALL "UFPWR" ROUTINE
44 C03C      41             FCB  $41
45 C03D      51             FCB  $51
46                  *                       --- FACC DATA PRINT USING ---
47 C03E   86 88             LDA  #$88       "#."
48 C040   C6 62             LDB  #$62       "######.#"
49 C042 103F                SWI2            CALL "UFOUT" ROUTINE
50 C044      41             FCB  $41
51 C045      22             FCB  $22
52                  *                       --- DATA DISPLAY ---
53 C046   A6 8CBB           LDA  MPANO,PCR  A:MAP NO = 14
54 C049 103F                SWI2            CALL "STOUT2" ROUTINE
55 C04B      41             FCB  $41
56 C04C      39             FCB  $39
57 C04D   39                RTS
58                          END

コメントをかく


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

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

どなたでも編集できます