00000000: 01 04 1F 04 01 00 8F 20 2A 2A 2A 2A 2A 2A 2A 2A |....... ********|
00000010: 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 00 |***************.|
00000020: 3D 04 02 00 8F 20 2A 20 20 20 20 20 20 45 58 41 |=.... * EXA|
00000030: 4D 50 4C 45 20 20 20 20 20 20 20 20 2A 00 5B 04 |MPLE *.[.|
00000040: 03 00 8F 20 2A 20 20 52 45 41 44 20 41 4E 44 20 |... * READ AND |
00000050: 57 52 49 54 45 20 41 20 20 20 2A 00 79 04 04 00 |WRITE A *.y...|
00000060: 8F 20 2A 20 20 53 45 51 55 45 4E 54 49 41 4C 20 |. * SEQUENTIAL |
00000070: 44 41 54 41 20 20 20 20 2A 00 97 04 05 00 8F 20 |DATA *...... |
00000080: 2A 20 20 46 49 4C 45 20 55 53 49 4E 47 20 44 52 |* FILE USING DR|
00000090: 49 56 45 20 30 20 2A 00 B5 04 09 00 8F 20 2A 2A |IVE 0 *...... **|
000000A0: 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A |****************|
000000B0: 2A 2A 2A 2A 2A 00 E4 04 14 00 86 41 24 28 32 35 |*****......A$(25|
000000C0: 29 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3A |) :|
000000D0: 8F 20 20 20 20 20 20 20 53 45 54 20 41 24 20 41 |. SET A$ A|
000000E0: 52 52 41 59 00 12 05 1E 00 86 42 28 32 35 29 20 |RRAY......B(25) |
000000F0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3A 8F | :.|
00000100: 20 20 20 20 20 20 20 53 45 54 20 42 20 41 52 52 | SET B ARR|
00000110: 41 59 00 57 05 46 00 43 52 24 B2 C7 28 31 33 29 |AY.W.F.CR$..(13)|
00000120: 20 20 20 20 20 20 20 20 20 20 20 3A 8F 20 20 20 | :. |
00000130: 20 20 20 20 53 45 54 20 53 54 52 49 4E 47 20 43 | SET STRING C|
00000140: 52 24 20 54 4F 20 41 20 43 41 52 52 49 41 47 45 |R$ TO A CARRIAGE|
00000150: 20 52 45 54 55 52 4E 00 6F 05 5A 00 99 22 12 57 | RETURN.o.Z..".W|
00000160: 52 49 54 45 20 54 45 53 54 20 46 49 4C 45 22 00 |RITE TEST FILE".|
00000170: 8D 05 64 00 8F 20 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A |..d.. **********|
00000180: 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 00 AB 05 |*************...|
00000190: 66 00 8F 20 2A 20 20 20 57 52 49 54 45 20 54 45 |f.. * WRITE TE|
000001A0: 53 54 20 46 49 4C 45 20 20 20 2A 00 C9 05 69 00 |ST FILE *...i.|
000001B0: 8F 20 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A |. **************|
000001C0: 2A 2A 2A 2A 2A 2A 2A 2A 2A 00 0D 06 6E 00 CD 23 |*********...n..#|
000001D0: 32 2C 22 54 45 53 54 20 46 49 4C 45 22 2C 57 20 |2,"TEST FILE",W |
000001E0: 3A 8F 20 20 20 20 20 20 20 4F 50 45 4E 20 44 49 |:. OPEN DI|
000001F0: 53 4B 20 46 49 4C 45 20 32 20 4F 4E 20 44 52 49 |SK FILE 2 ON DRI|
00000200: 56 45 20 30 20 54 4F 20 57 52 49 54 45 00 3C 06 |VE 0 TO WRITE.<.|
00000210: 73 00 8D 31 30 30 30 20 20 20 20 20 20 20 20 20 |s..1000 |
00000220: 20 20 20 20 3A 8F 20 20 20 20 20 20 20 43 48 45 | :. CHE|
00000230: 43 4B 20 46 4F 52 20 45 52 52 4F 52 00 7C 06 78 |CK FOR ERROR.|.x|
00000240: 00 87 41 24 2C 42 3A 8F 20 20 20 20 20 20 20 20 |..A$,B:. |
00000250: 20 20 20 20 20 20 20 20 20 20 20 20 20 52 45 41 | REA|
00000260: 44 20 4E 41 4D 45 2C 20 4E 55 4D 42 45 52 20 49 |D NAME, NUMBER I|
00000270: 4E 54 4F 20 41 24 20 41 4E 44 20 42 00 AF 06 82 |NTO A$ AND B....|
00000280: 00 8B 41 24 B2 22 45 4E 44 22 A7 20 31 36 30 20 |..A$."END". 160 |
00000290: 20 20 20 3A 8F 20 20 20 20 20 20 20 53 54 4F 50 | :. STOP|
000002A0: 20 54 48 45 20 44 41 54 41 20 49 4E 50 55 54 00 | THE DATA INPUT.|
000002B0: EF 06 8C 00 98 32 2C 41 24 43 52 24 42 20 20 20 |.....2,A$CR$B |
000002C0: 20 20 20 20 20 3A 8F 20 20 20 20 20 20 20 57 52 | :. WR|
000002D0: 49 54 45 20 44 41 54 41 20 54 4F 20 46 49 4C 45 |ITE DATA TO FILE|
000002E0: 20 57 49 54 48 20 44 45 4C 49 4D 49 54 45 52 00 | WITH DELIMITER.|
000002F0: 1E 07 91 00 8D 20 31 30 30 30 20 20 20 20 20 20 |..... 1000 |
00000300: 20 20 20 20 20 20 3A 8F 20 20 20 20 20 20 20 43 | :. C|
00000310: 48 45 43 4B 20 46 4F 52 20 45 52 52 4F 52 00 28 |HECK FOR ERROR.(|
00000320: 07 96 00 89 20 31 32 30 00 56 07 A0 00 CE 23 32 |.... 120.V....#2|
00000330: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3A 8F | :.|
00000340: 20 20 20 20 20 20 20 43 4C 4F 53 45 20 44 49 53 | CLOSE DIS|
00000350: 4B 20 46 49 4C 45 00 74 07 C8 00 8F 20 2A 2A 2A |K FILE.t.... ***|
00000360: 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A |****************|
00000370: 2A 2A 2A 2A 00 92 07 CA 00 8F 20 2A 20 20 20 52 |****...... * R|
00000380: 45 41 44 20 54 45 53 54 20 46 49 4C 45 20 20 20 |EAD TEST FILE |
00000390: 20 2A 00 B0 07 CD 00 8F 20 2A 2A 2A 2A 2A 2A 2A | *...... *******|
000003A0: 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A |****************|
000003B0: 00 C7 07 CE 00 99 22 12 52 45 41 44 20 54 45 53 |......".READ TES|
000003C0: 54 20 46 49 4C 45 22 00 08 08 D2 00 CD 23 32 2C |T FILE"......#2,|
000003D0: 22 54 45 53 54 20 46 49 4C 45 22 20 20 20 3A 8F |"TEST FILE" :.|
000003E0: 20 20 20 20 20 20 20 4F 50 45 4E 20 44 49 53 4B | OPEN DISK|
000003F0: 20 46 49 4C 45 20 54 4F 20 52 45 41 44 20 4F 4E | FILE TO READ ON|
00000400: 20 44 52 49 56 45 20 30 00 37 08 D7 00 8D 20 31 | DRIVE 0.7.... 1|
00000410: 30 30 30 20 20 20 20 20 20 20 20 20 20 20 20 3A |000 :|
00000420: 8F 20 20 20 20 20 20 20 43 48 45 43 4B 20 46 4F |. CHECK FO|
00000430: 52 20 45 52 52 4F 52 00 78 08 DC 00 84 32 2C 41 |R ERROR.x....2,A|
00000440: 24 28 49 29 2C 42 28 49 29 20 20 20 20 3A 8F 20 |$(I),B(I) :. |
00000450: 20 20 20 20 20 20 52 45 41 44 20 53 54 52 49 4E | READ STRIN|
00000460: 47 20 49 4E 54 4F 20 41 24 2C 20 4E 55 4D 42 45 |G INTO A$, NUMBE|
00000470: 52 20 49 4E 54 4F 20 42 00 A8 08 E0 00 53 B2 53 |R INTO B.....S.S|
00000480: 54 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 |T |
00000490: 20 20 20 3A 8F 20 20 20 20 20 20 20 53 54 4F 52 | :. STOR|
000004A0: 45 20 53 54 41 54 55 53 00 DC 08 E1 00 8D 20 31 |E STATUS...... 1|
000004B0: 30 30 30 20 20 20 20 20 20 20 20 20 20 20 20 3A |000 :|
000004C0: 8F 20 20 20 20 20 20 20 43 48 45 43 4B 20 46 4F |. CHECK FO|
000004D0: 52 20 44 49 53 4B 20 45 52 52 4F 52 00 0F 09 E6 |R DISK ERROR....|
000004E0: 00 99 41 24 28 49 29 2C 42 28 49 29 20 20 20 20 |..A$(I),B(I) |
000004F0: 20 20 20 3A 8F 20 20 20 20 20 20 20 50 52 49 4E | :. PRIN|
00000500: 54 20 57 48 41 54 20 57 41 53 20 52 45 41 44 00 |T WHAT WAS READ.|
00000510: 4B 09 F0 00 8B 20 53 B2 36 34 20 A7 20 33 30 30 |K.... S.64 . 300|
00000520: 20 20 20 20 20 20 3A 8F 20 20 20 20 20 20 20 43 | :. C|
00000530: 48 45 43 4B 20 46 4F 52 20 45 4E 44 20 4F 46 20 |HECK FOR END OF |
00000540: 46 49 4C 45 20 53 54 41 54 55 53 00 89 09 FA 00 |FILE STATUS.....|
00000550: 8B 20 53 B3 B1 30 20 A7 20 34 30 30 20 20 20 20 |. S..0 . 400 |
00000560: 20 20 3A 8F 20 20 20 20 20 20 20 43 48 45 43 4B | :. CHECK|
00000570: 20 46 4F 52 20 45 52 52 4F 52 20 49 4E 20 46 49 | FOR ERROR IN FI|
00000580: 4C 45 20 53 54 41 54 55 53 00 C3 09 04 01 49 B2 |LE STATUS.....I.|
00000590: 49 AA 31 20 20 20 20 20 20 20 20 20 20 20 20 20 |I.1 |
000005A0: 20 20 20 20 3A 8F 20 20 20 20 20 20 20 41 44 44 | :. ADD|
000005B0: 20 31 20 54 4F 20 41 52 52 41 59 20 50 4F 49 4E | 1 TO ARRAY POIN|
000005C0: 54 45 52 00 CD 09 0E 01 89 20 32 32 30 00 FB 09 |TER...... 220...|
000005D0: 2C 01 CE 23 32 20 20 20 20 20 20 20 20 20 20 20 |,..#2 |
000005E0: 20 20 20 3A 8F 20 20 20 20 20 20 20 43 4C 4F 53 | :. CLOS|
000005F0: 45 20 54 45 53 54 20 46 49 4C 45 00 36 0A 36 01 |E TEST FILE.6.6.|
00000600: 80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 |. |
00000610: 20 20 20 20 3A 8F 20 20 20 20 20 20 20 45 4E 44 | :. END|
00000620: 20 54 48 45 20 50 52 4F 47 52 41 4D 20 45 58 45 | THE PROGRAM EXE|
00000630: 43 55 54 49 4F 4E 00 53 0A 90 01 99 22 12 42 41 |CUTION.S....".BA|
00000640: 44 20 44 49 53 4B 20 53 54 41 54 55 53 20 49 53 |D DISK STATUS IS|
00000650: 20 22 53 00 81 0A 9A 01 CE 23 32 20 20 20 20 20 | "S......#2 |
00000660: 20 20 20 20 20 20 20 20 20 3A 8F 20 20 20 20 20 | :. |
00000670: 20 20 43 4C 4F 53 45 20 54 45 53 54 20 46 49 4C | CLOSE TEST FIL|
00000680: 45 00 BC 0A A4 01 80 20 20 20 20 20 20 20 20 20 |E...... |
00000690: 20 20 20 20 20 20 20 20 20 20 3A 8F 20 20 20 20 | :. |
000006A0: 20 20 20 45 4E 44 20 54 48 45 20 50 52 4F 47 52 | END THE PROGR|
000006B0: 41 4D 20 45 58 45 43 55 54 49 4F 4E 00 DA 0A E8 |AM EXECUTION....|
000006C0: 03 8F 20 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A |.. *************|
000006D0: 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 00 F8 0A E9 03 8F |**********......|
000006E0: 20 2A 20 50 52 49 4E 54 20 45 52 52 4F 52 20 4D | * PRINT ERROR M|
000006F0: 45 53 53 41 47 45 20 2A 00 16 0B ED 03 8F 20 2A |ESSAGE *...... *|
00000700: 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A |****************|
00000710: 2A 2A 2A 2A 2A 2A 00 50 0B F2 03 8B 20 44 53 B3 |******.P.... DS.|
00000720: 32 30 20 A7 20 8E 20 3A 8F 20 20 20 20 20 20 20 |20 . . :. |
00000730: 45 52 52 4F 52 20 23 20 4C 45 53 53 20 54 48 41 |ERROR # LESS THA|
00000740: 4E 20 32 30 20 49 53 20 4E 4F 20 45 52 52 4F 52 |N 20 IS NO ERROR|
00000750: 00 86 0B FC 03 99 20 44 53 24 20 20 20 20 20 20 |...... DS$ |
00000760: 20 20 20 20 20 20 3A 8F 20 20 20 20 20 20 20 50 | :. P|
00000770: 52 49 4E 54 20 54 48 45 20 45 52 52 4F 52 20 4D |RINT THE ERROR M|
00000780: 45 53 53 41 47 45 00 B8 0B 06 04 CE 20 20 20 20 |ESSAGE...... |
00000790: 20 20 20 20 20 20 20 20 20 20 20 3A 8F 20 20 20 | :. |
000007A0: 20 20 20 20 43 4C 4F 53 45 20 41 4C 4C 20 44 49 | CLOSE ALL DI|
000007B0: 53 4B 20 46 49 4C 45 53 00 EE 0B 10 04 80 20 20 |SK FILES...... |
000007C0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | |
000007D0: 3A 8F 20 20 20 20 20 20 20 45 4E 44 20 50 52 4F |:. END PRO|
000007E0: 47 52 41 4D 20 45 58 45 43 55 54 49 4F 4E 00 36 |GRAM EXECUTION.6|
000007F0: 0C D0 07 83 20 22 41 53 44 46 22 2C 31 2C 22 47 |.... "ASDF",1,"G|
00000800: 48 4A 4B 22 2C 32 2C 22 51 57 45 52 54 22 2C 33 |HJK",2,"QWERT",3|
00000810: 2C 22 59 55 49 4F 50 22 2C 34 2C 22 5A 58 43 56 |,"YUIOP",4,"ZXCV|
00000820: 42 4E 4D 22 2C 35 2C 22 50 4C 4D 4B 4F 49 4A 4E |BNM",5,"PLMKOIJN|
00000830: 48 55 22 2C 32 38 00 60 0C D5 07 83 20 22 50 4F |HU",28.`.... "PO|
00000840: 49 55 59 22 2C 36 35 2C 22 45 4E 44 20 4F 46 20 |IUY",65,"END OF |
00000850: 44 41 54 41 22 2C 35 2C 22 45 4E 44 22 2C 36 39 |DATA",5,"END",69|
00000860: 00 00 00 4E |...N |
....... ***********************.=.... *
EXAMPLE *.[.... * READ AND
WRITE A *.Y.... * SEQUENTIAL DATA
*...... * FILE USING DRIVE 0 *...... **
*********************......A$(25)
:. SET A$ ARRAY......B(25)
:. SET B ARRAY.W.F.C
R$.G(13) :. SET STRING C
R$ TO A CARRIAGE RETURN.O.Z..".WRITE TES
T FILE"...D.. ***********************...
F.. * WRITE TEST FILE *.I.I.. ******
*****************...N.M#2,"TEST FILE",W
:. OPEN DISK FILE 2 ON DRIVE 0 TO
WRITE.<.S..1000 :. CHE
CK FOR ERROR.|.X..A$,B:.
READ NAME, NUMBER INTO A$ AND B....
..A$."END". 160 :. STOP THE DAT
A INPUT......2,A$CR$B :. WR
ITE DATA TO FILE WITH DELIMITER...... 10
00 :. CHECK FOR ERROR.(
.... 120.V. .N#2 :. C
LOSE DISK FILE.T.H.. *******************
****...J.. * READ TEST FILE *...M..
***********************.G.N..".READ TES
T FILE"...R.M#2,"TEST FILE" :. O
PEN DISK FILE TO READ ON DRIVE 0.7.W.. 1
000 :. CHECK FOR ERROR.
X....2,A$(I),B(I) :. READ STRIN
G INTO A$, NUMBER INTO B.....S.ST
:. STORE STATUS...... 1
000 :. CHECK FOR DISK E
RROR......A$(I),B(I) :. PRIN
T WHAT WAS READ.K.... S.64 . 300 :.
CHECK FOR END OF FILE STATUS.....
. S..0 . 400 :. CHECK FOR ERR
OR IN FILE STATUS.C...I.I.1
:. ADD 1 TO ARRAY POINTER.M...
. 220...,.N#2 :. CLOS
E TEST FILE.6.6.. :.
END THE PROGRAM EXECUTION.S....".BA
D DISK STATUS IS "S.....N#2
:. CLOSE TEST FILE......
:. END THE PROGRAM EXECU
TION.Z.... ***********************......
* PRINT ERROR MESSAGE *...... *********
**************.P.... DS.20 . . :.
ERROR # LESS THAN 20 IS NO ERROR...... D
S$ :. PRINT THE ERROR M
ESSAGE.....N :. CLOS
E ALL DISK FILES......
:. END PROGRAM EXECUTION.6.P.. "AS
DF",1,"GHJK",2,"QWERT",3,"YUIOP",4,"ZXCV
BNM",5,"PLMKOIJNHU",28.`.U.. "POIUY",65,
"END OF DATA",5,"END",69...N
×
C64 Image
> CLICK IMAGE PREVIEW FOR FULL MODAL