最終更新:ID:4mHyealEgA 2017年02月04日(土) 21:03:40履歴
メモリ空間 | 7 |
---|---|
ルーチン番号 | $19 |
ドライブ1にセットされているディスケットの中に、ファイル名"SAMPLE.BAS"のファイルが記録されているか否かをチェックし、もし記録されていればSWI(ブレイク・ポイント・ルーチン)を実行し、AccA、AccBおよびXにセクタ番号、トラック番号およびセクタ・バッファ内のアドレスが格納されていることを確認します。
0 C000 ORG $C000 1 C000 CHKFIL EQU * --A SAMPLE OF "CHKFIL" ROUTINE-- 2 F014 PFBUF EQU $F014 BUFFER (IN SYSTEM WORK AREA) 3 C000 20 0D BRA EXEC 4 C002 22 FIELDI FCC /"/ 5 C003 53 FCC /S/ 6 C004 41 FCC /A/ 7 C005 4D FCC /M/ 8 C006 50 FCC /P/ 9 C007 4C FCC /L/ 10 C008 45 FCC /E/ 11 C009 2E FCC /./ 12 C00A 42 FCC /B/ 13 C00B 41 FCC /A/ 14 C00C 53 FCC /S/ 15 C00D 22 FCC /"/ 16 C00E 00 FCB $00 17 C00F EXEC EQU * --- BUF. <-- FILE DISCRIPTOR --- 18 C00F BE F014 LDX PFBUF X:BUFFER ADDR. 19 C012 34 10 PSHS X 20 C014 31 8CEB LEAY FIELDI,PCR Y:TOP ADDR. OF FILE DISCRIPTOR DA 21 C017 A6 A0 LOOP LDA ,Y+ 22 C019 A7 80 STA ,X+ 23 C01B 26 FA BNE LOOP 24 * --- FILE CHECK --- 25 C01F 35 10 PULS X X:FILE DISCRI. ADDR(IN SYSTEM AR 26 C020 103F SWI2 CALL "CHKFIL" ROUTINE 27 C021 47 FCB $47 28 C022 19 FCB $19 29 C023 27 01 BEQ EXECE IF FOLE NOT FOUND THEN RTS 30 C025 3F SWI 31 C026 39 EXECE RTS 32 END
コメントをかく