最終更新:ID:4mHyealEgA 2017年02月04日(土) 22:24:25履歴
メモリ空間 | 7 |
---|---|
ルーチン番号 | $2E |
AccAに格納されているEOF/LOFのフラグに従って、AccBに格納されているファイル番号のファイルの終わりの判定、または最大のレコード番号を調べ、その結果をAccDに格納します。
AccBで指定したファイル番号のファイルがオープンされていないと、エラーになります。
AccBで指定したファイル番号のファイルがオープンされていないと、エラーになります。
現在ファイル番号1でオープンされている、ランダム・ファイルの最大レコード番号を画面に表示します。
100 CLEAR ,&HC000 110 LOADM "ULEOF" 120 OPEN "R",#1,"DATA1" 170 EXEC &HC000 180 CLOSE #1 0 C000 ORG $C000 1 C000 ULEOF EQU * --SAMPLE OF "ULEOF" ROUTINE 2 EF9E FILNUM EQU $EF9E FILE NUMBER REG. 3 C000 20 05 BRA EXEC 4 C002 4C MSG FCC /L/ 5 C003 4F FCC /O/ 7 C004 46 FCC /F/ 8 C005 3D FCC /=/ 9 C006 00 FCB $00 10 C007 EXEC EQU * --- "LOF=" DISPLAY 11 C007 30 8CF8 LEAX MSG,PCR X:TOP ADDR. OF MESSAGAGE 12 C00A 8D 17 BSR MESSAG 13 * ---- DISK LOF/EOF CHECK ---- 14 C00C 86 10 LDA #$10 A:LOF/EOF FLAG 24 C00E C6 01 LDB #$01 B:FILE NO 15 C010 103F SWI2 CALL "ULEOF" ROUTINE 16 C012 47 FCB $47 17 C013 2E FCB $2E 19 * --- FACC = ACCD --- 20 C014 103F SWI2 CALL "UMOVFD" ROUTINE 21 C016 41 FCB $41 22 C017 1F FCB $1F 23 C018 86 80 LDA #$80 "#." 24 C01A C6 60 LDB #$60 "######" 25 C01C 103F SWI2 CALL "UFOUT" ROUTINE 26 C01E 41 FCB $41 27 C01F 22 FCB $22 19 * --- LOF DISPLAY --- 28 C020 8D 01 BSR MESSAG 29 C022 39 RTS 30 C023 MESSAG EQU * --- MESSAGE OUT SUB ROUTINE --- 31 C023 7F EF9E CLR FILNUM 32 C026 86 0F LDA #$0F A:MAP NO 33 C028 103F SWI2 CALL "STOUT2" ROUTINE 34 C02A 41 FCB $41 35 C02B 39 FCB $39 36 C02C 39 RTS 37 END
コメントをかく