日立MB-S1に関する情報

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

機能

実数の比較を行います。

解説

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

入力情報

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

出力情報

CCREFHINZVC
FACC>メモリ----0001
FACC=メモリ----0100
FACC<メモリ----1001
  • 転送先のメモリ:FACCから転送された単精度型実数

サンプル・プログラム

内容

キーボードより2つの実数データを入力し、最初に入力したデータが大きければ、"FACC "、後に入力したデータが大きければ、"MEMORY"、また等しければ"EQUAL "のメッセージをそれぞれ表示します。
100 CLEAR ,&HC000
110 LOADM"UFCOMP"
115 DEF MAP = 2
120 MLST = &HC000
130 INPUT "FACC DATA = ",D1
140 VADR = VARPTR(D1):I=2
150 GOSUB 500
160 INPUT "MEMORY DATA = ",D2
170 VADR = VARPTR(D2):I=4
180 GOSUB 500
190 EXEC MLST
192 PRINT
199 GOTO 130
500 REM *** ADDRESS SET ***
510 MSB = INT(VADR / 256)
520 LSB = VADR - MSB * 256
530 POKE MLST+I,MSB
540 POKE MLST+I+1,LSB
550 RETURN
 0                          ORG  $C000
 1           C000   UFCOMP  EQU  *          --SAMPLE OF "UFCOMP" ROUTINE--
 2           EF9E   FILNUM  EQU  $EF9E
 3 C000   20 1A             BRA  EXEC
 4 C002      0000   DADDR1  FDB  $0000      TOP ADDR OF 1ST DATA
 5 C004      0000   DADDR2  FDB  $0000      TOP ADDR OF 2ND DATA
 6 C006      0E     MAPNO   FCB  14         DEF MAP = 2
 7 C007      46     MSG1    FCC  /FACC  /
 8 C008      41
 9 C009      43
10 C00A      43
11 C00B      20
12 C00C      20
13 C00D      00             FCB  $00
14 C00E      4D     MSG2    FCC  /MEMORY/
15 C00F      45
16 C010      4D
17 C011      4F
18 C012      52
19 C013      59
20 C014      00             FCB  $00
21 C015      45     MSG2    FCC  /EQUAL /
22 C016      51
23 C017      55
24 C018      41
25 C019      4C
26 C01A      20
27 C01B      00             FCB  $00
28           C01C   EXEC    EQU  *          ---- FACC <--- MEMORY ---
29 C01C   E6 8CE7           LDB  MAPNO,PCR  B:MAP NO
30 C01F   AE 8CE0           LEAX DADDR1,PCR X:TOP ADDR OF 1ST DATA
31 C022   86 04             LDA  #$04       A:SINGLE PRECISION SET
32 C024 103F                SWI2            CALL "UMOVFM" ROUTINE
33 C026      41             FCB  $41
34 C027      1A             FCB  $1A
35                  *                       ---- FACC : MEMORY ----
36 C028   E6 8CDB           LDB  MAPNO,PCR  B:MAP NO
37 C02B   AE 8CD6           LEAX DADDR2,PCR X:TOP ADDR OF 2ND DATA
38 C02E 103F                SWI2            CALL "UFCOMP" ROUTINE
39 C030      41             FCB  $41
40 C031      1C             FCB  $1C
41 C032   26 05             BNE  STEP2
42 C034   AE 8CD6           LEAX MSG3,PCR   X:TOP ADDR OF MSG3
43 C037   20 0A             BRA  MSGOUT
44 C039   2D 05     STEP2   BLT  STEP3
45 C03B   AE 8CC9           LEAX MSG1,PCR   X:TOP ADDR OF MSG1
46 C03E   20 0A             BRA  MSGOUT
47 C040   AE 8CCB   STEP3   LEAX MSG2,PCR   X:TOP ADDR OF MSG2
48 C043   5F        MSGOUT  CLRB
49 C044   F7 EF9E           STB  FILNUM     FILNUM: 0=MSG OUT TO DISPLAY
50 C047   A6 8CBC           LDA  MAPNO,PCR  A:MAP NO
51 C04A 103F                SWI2            CALL "STOUT2" ROUTINE
52 C04C      41             FCB  $41
53 C04D      39             FCB  $39
54 C04E   39                RTS
55                          END

コメントをかく


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

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

どなたでも編集できます