日立MB-S1に関する情報

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

機能

ランダム・ファイルのレコードをアクセスします(GET、PUT)。

解説

AccAに格納されているPUT/GETの情報に従って、AccBに格納されているファイル番号のXに格納されているレコード番号を、アクセスします。
AccBに指定したファイル番号のファイルが、オープンされていないとエラーになります。

入力情報

  • AccA:PUT/GETフラグ
    • 0…レコードをフィールド・バッファに読み込む。
    • 1…レコードにフィールド・バッファの内容を書き込む。
  • AccB:ファイル番号
  • X:レコード番号

サンプル・プログラム

内容

BASICで作成されたファイル名DATA1の1番目のレコードを、フィールド・バッファに読み込みます。
 0 C000                     ORG  $C000
 1           C000   RPUT    EQU  *          --SAMPLE OF "RPUT" ROUTINE--
 2           F014   PFBUF   EQU  $F014      BUFFER VAC.
 3 C000   20 09             BRA  EXEC
 4 C002      01     FILENO  FCB  1
 5 C003      22     FNAME   FCC  /"/
 6 C004      53             FCC  /D/
 7 C005      41             FCC  /A/
 8 C006      54             FCC  /T/
 9 C007      41             FCC  /A/
10 C008      31             FCC  /1/
11 C009      22             FCC  /"/
12 C00A      00             FCB  $00
13           C00B   EXEC    EQU  *          --- BUF. <-- FILE DISCRIPTOR ---
14 C00B   BE F014           LDX  PFBUF      X:BUFFER ADDR.
15 C00E   34 10             PSHS X
16 C010   31 8CF0           LEAY FNAME,PCR  Y:FILE DISCRIPTOR ADR(USER AREA)
17 C013   A6 A0     LOOP    LDA  ,Y+
18 C015   A7 80             STA  ,X+
19 C017   26 FA             BNE  LOOP
20                  *                       --- FILE OPEN ---
21 C019   35 10             PULS X          X:FILE DISCRIPTOR ADR(USER AREA)
22 C01B   86 52             LDA  #$52       A:FILE MODE("R")
23 C01D   E6 8CE2           LDB  FILENO,PCR B:FILE NO
24 C020 103F                SWI2            CALL "ZOPEN" ROUTINE
25 C022      41             FCB  $41
26 C023      0E             FCB  $0E
27                  *                       --- RECORD GET/PUT ---
28 C024   86 00             LDA  #$00       A:GET/PUT FLAG
29 C026   E6 8CD9           LDB  FILENO,PCR B:FILE NO
30 C029   8E 0001           LDX  #$0001     X:RECORD NO
31 C02C 103F                SWI2            CALL "RPUT" ROUTINE
32 C02E      47             FCB  $47
33 C02F      1A             FCB  $1A
34                  *                       --- FILE CLOSE ---
35 C030   A6 8CCF           LDA  FILENO,PCR A:FILE NO
36 C033 103F                SWI2            CALL "ZCLOSE" ROUTINE
37 C035      41             FCB  $41
38 C036      0F             FCB  $0F
39 C037   39                RTS
40                          END

コメントをかく


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

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

どなたでも編集できます