Arnor BCPL (UK) (Face B) (1986) (Version CPM) [UTILITAIRE].dsk
   
Choose sector :
Size : 512 (Real : 512)
000000: 00 42 43 50 4C 20 20 20 20 43 4F 4D 00 00 00 78 .BCPL COM...x
000010: 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F 10 00 ................
000020: 00 42 43 50 4C 4D 31 20 20 20 20 20 00 00 00 80 .BCPLM1 ....
000030: 11 12 13 14 15 16 17 18 19 1A 1B 1C 1D 1E 1F 20 ...............
000040: 00 42 43 50 4C 4D 31 20 20 20 20 20 01 00 00 80 .BCPLM1 ....
000050: 21 22 23 24 25 26 27 28 29 2A 2B 2C 2D 2E 2F 30 !"#$%&'()*+,-./0
000060: 00 42 43 50 4C 4D 31 20 20 20 20 20 02 00 00 04 .BCPLM1 ....
000070: 31 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 1...............
000080: 00 42 43 50 4C 4D 32 20 20 20 20 20 00 00 00 80 .BCPLM2 ....
000090: 32 33 34 35 36 37 38 39 3A 3B 3C 3D 3E 3F 40 41 23456789:;<=>?@A
0000A0: 00 42 43 50 4C 4D 32 20 20 20 20 20 01 00 00 80 .BCPLM2 ....
0000B0: 42 43 44 45 46 47 48 49 4A 4B 4C 4D 4E 4F 50 51 BCDEFGHIJKLMNOPQ
0000C0: 00 42 43 50 4C 4D 32 20 20 20 20 20 02 00 00 08 .BCPLM2 ....
0000D0: 52 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 R...............
0000E0: 00 42 43 50 4C 4D 33 20 20 20 20 20 00 00 00 80 .BCPLM3 ....
0000F0: 53 54 55 56 57 58 59 5A 5B 5C 5D 5E 5F 60 61 62 STUVWXYZ[\]^_`ab
000100: 00 42 43 50 4C 4D 33 20 20 20 20 20 01 00 00 35 .BCPLM3 ...5
000110: 63 64 65 66 67 68 69 00 00 00 00 00 00 00 00 00 cdefghi.........
000120: 00 42 C5 44 43 20 20 20 20 42 20 A0 00 00 00 80 .B.DC B .....
000130: 6A 6B 6C 6D 6E 6F 70 71 72 73 74 75 76 77 78 79 jklmnopqrstuvwxy
000140: 00 42 C5 44 43 20 20 20 20 42 20 A0 01 00 00 29 .B.DC B ....)
000150: 7A 7B 7C 7D 7E 7F 00 00 00 00 00 00 00 00 00 00 z{|}~...........
000160: 00 42 45 44 43 20 20 20 20 43 4F 4D 00 00 00 76 .BEDC COM...v
000170: 80 81 82 83 84 85 86 87 88 89 8A 8B 8C 8D 8E 00 ................
000180: 00 43 CC 49 42 48 44 52 20 20 20 20 00 00 00 49 .C.IBHDR ...I
000190: 8F 90 91 92 93 94 95 96 97 98 00 00 00 00 00 00 ................
0001A0: 00 43 4C 49 42 48 44 52 31 20 20 20 00 00 00 29 .CLIBHDR1 ...)
0001B0: 99 9A 9B 9C 9D 9E 00 00 00 00 00 00 00 00 00 00 ................
0001C0: 00 C3 4F 50 59 20 20 20 20 42 20 20 00 00 00 07 ..OPY B ....
0001D0: 9F 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0001E0: 00 44 45 42 55 47 20 20 20 20 20 20 00 00 00 28 .DEBUG ...(
0001F0: A0 A1 A2 A3 A4 00 00 00 00 00 00 00 00 00 00 00 ................
Size : 512 (Real : 512)
000000: 00 4B 45 59 44 45 46 53 20 50 43 57 00 00 00 03 .KEYDEFS PCW....
000010: A5 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
000020: 00 54 49 44 59 20 20 20 20 42 20 20 00 00 00 44 .TIDY B ...D
000030: A6 A7 A8 A9 AA AB AC AD AE 00 00 00 00 00 00 00 ................
000040: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000050: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000060: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000070: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000080: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000090: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0000A0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0000B0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0000C0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0000D0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0000E0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0000F0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000100: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000110: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000120: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000130: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000140: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000150: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000160: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000170: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000180: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000190: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0001A0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0001B0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0001C0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0001D0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0001E0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0001F0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
Size : 512 (Real : 512)
000000: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000010: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000020: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000030: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000040: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000050: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000060: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000070: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000080: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000090: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0000A0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0000B0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0000C0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0000D0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0000E0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0000F0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000100: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000110: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000120: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000130: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000140: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000150: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000160: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000170: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000180: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000190: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0001A0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0001B0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0001C0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0001D0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0001E0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0001F0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
Size : 512 (Real : 512)
000000: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000010: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000020: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000030: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000040: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000050: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000060: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000070: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000080: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000090: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0000A0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0000B0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0000C0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0000D0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0000E0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0000F0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000100: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000110: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000120: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000130: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000140: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000150: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000160: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000170: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000180: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000190: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0001A0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0001B0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0001C0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0001D0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0001E0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0001F0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
Size : 512 (Real : 512)
000000: C3 76 03 00 00 00 00 00 00 00 00 CD 5C 01 F5 78 .v..........\..x
000010: 06 10 29 CB 11 17 30 01 19 10 F7 F1 CB 7F C8 EB ..)...0.........
000020: 21 00 00 A7 ED 52 C9 CD 5C 01 F5 3E 10 CB 21 CB !....R..\..>..!.
000030: 10 CB 15 CB 14 A7 ED 52 38 03 03 18 01 19 3D 20 .......R8.....=
000040: EC 50 59 EB F1 A7 C8 7C EE FF 67 7D EE FF 6F 23 .PY....|..g}..o#
000050: C9 44 4D 21 00 00 3E 00 CB 78 28 0A A7 ED 42 44 .DM!..>..x(...BD
000060: 4D 21 00 00 3E 80 CB 7A C8 EE 80 A7 ED 52 EB 21 M!..>..z.....R.!
000070: 00 00 C9 A7 28 17 EB 4E 23 46 23 EB A7 ED 42 28 ....(..N#F#...B(
000080: 0C 09 EB 23 23 3D 20 EF 5E 23 56 EB E9 EB 5E 23 ...##= .^#V...^#
000090: 56 EB E9 32 15 01 32 14 01 E5 EB 78 B1 28 11 5E V..2..2....x.(.^
0000A0: 23 56 23 D5 5E 23 56 23 E3 73 23 72 E1 0B 18 EB #V#.^#V#.s#r....
0000B0: CB 45 28 01 23 22 12 01 22 10 01 ED 43 0E 01 C1 .E(.#".."...C...
0000C0: CD 78 03 F9 00 00 60 69 CD 9D 01 C3 00 00 00 00 .x....`i........
0000D0: 00 00 00 00 00 00 D1 DD E5 ED 4B 10 01 C5 ED 4B ..........K....K
0000E0: 12 01 ED 43 10 01 09 22 12 01 EB E9 7A B3 C8 29 ...C..."....z..)
0000F0: 1B 18 F9 7A B3 C8 CB 3C CB 1D 1B 18 F6 C1 E1 E5 ...z...<........
000100: C5 29 ED 5B 10 01 73 23 72 23 ED 5B 12 01 73 23 .).[..s#r#.[..s#
000110: 72 23 DD E5 D1 73 23 72 23 EB 21 04 00 39 EB 73 r#...s#r#.!..9.s
000120: 23 72 C9 C1 C1 E1 29 5E 23 56 23 ED 53 10 01 5E #r....)^#V#.S..^
000130: 23 56 23 ED 53 12 01 5E 23 56 23 D5 DD E1 5E 23 #V#.S..^#V#...^#
000140: 66 6B F9 60 69 E9 E1 C1 D1 D5 C5 E5 2A 10 01 E5 fk.`i.......*...
000150: D5 2A 12 01 22 10 01 CB 3C CB 1D E5 EB 23 29 38 .*.."...<....#)8
000160: 49 EB 2A 10 01 19 38 42 22 12 01 EB 21 CE FF 39 I.*...8B"...!..9
000170: A7 ED 52 38 35 60 69 CD 9D 01 E1 E1 2A 10 01 22 ..R85`i.....*.."
000180: 12 01 E1 22 10 01 C9 D1 DD E5 ED 4B 10 01 C5 ED ...".......K....
000190: 4B 12 01 ED 43 10 01 09 38 10 22 12 01 44 4D 21 K...C...8."..DM!
0001A0: CE FF 39 A7 ED 42 38 02 EB E9 CD CC 02 53 74 61 ..9..B8......Sta
0001B0: 63 6B 20 6F 76 65 72 66 6C 6F 77 0D 0A 00 C3 D6 ck overflow.....
0001C0: 01 E1 7E 23 E5 A7 C8 CD D7 02 18 F5 0E 02 5F C3 ..~#.........._.
0001D0: 05 00 3A 14 01 3D 32 14 01 C0 3A 15 01 32 14 01 ..:..=2...:..2..
0001E0: CD 66 03 A7 C8 E5 C5 F5 3A 0E 01 FE 08 28 0E 4F .f......:....(.O
0001F0: 06 00 21 D9 01 09 3C 32 0E 01 F1 77 F5 F1 C1 E1 ..!...<2...w....
Size : 512 (Real : 512)
000000: FE 03 28 03 FE FC C0 CD 66 03 A7 28 FA FE 03 28 ..(.....f..(...(
000010: 03 FE FC C0 0E 6C 11 00 FF CD 05 00 CD CC 02 0D .....l..........
000020: 0A 2A 2A 20 42 52 45 41 4B 20 2A 2A 0D 0A 00 C3 .** BREAK **....
000030: D6 01 3A 0E 01 A7 28 19 3A 0E 01 3D 32 0E 01 4F ..:...(.:..=2..O
000040: 06 00 3A D9 01 28 10 21 DA 01 11 D9 01 ED B0 18 ..:..(.!........
000050: 06 CD 66 03 A7 28 FA 5F 16 00 C9 E5 D5 C5 DD E5 ..f..(._........
000060: 0E 06 1E FF CD 05 00 DD E1 C1 D1 E1 C9 2A 06 00 .............*..
000070: 2B CB 45 C8 2B C9 ED 73 22 3E CD 68 05 2A 06 00 +.E.+..s">.h.*..
000080: 2B 7D E6 01 28 01 2B 22 4B 3E 21 70 3F 22 4D 3E +}..(.+"K>!p?"M>
000090: 2A 4B 3E ED 5B 4D 3E A7 ED 52 CB 3C CB 1D CB 3C *K>.[M>..R.<...<
0000A0: CB 1D EB 2A 4B 3E A7 ED 52 22 1C 3E 2B 22 2A 3E ...*K>..R".>+"*>
0000B0: 22 2C 3E 21 00 01 22 2E 3E 21 2A 3E 22 CB 3E 21 ",>!..".>!*>".>!
0000C0: 00 00 22 31 3E 3E 00 32 21 3E 3A 80 00 5F 16 00 .."1>>.2!>:.._..
0000D0: 21 81 00 19 36 0D 21 81 00 22 C9 3E CD DC 0B E5 !...6.!..".>....
0000E0: C5 78 A7 CA CE 09 11 08 3E 7E FE 2E 28 05 12 23 .x......>~..(..#
0000F0: 13 10 F6 3E 20 12 CD DC 0B 78 A7 28 0C 11 08 3E ...> ....x.(...>
000100: 7E 12 23 13 10 FA 3E 20 12 CD 2C 0B C1 E1 CD B8 ~.#...> ..,.....
000110: 08 CD 92 05 ED 7B 4B 3E ED 73 57 3E 21 2A 04 22 .....{K>.sW>!*."
000120: 59 3E 0E 6C 11 00 00 CD 05 00 CD 71 35 CD 07 0F Y>.l.......q5...
000130: E5 21 D2 04 CD 24 08 2A 2C 3E ED 5B 2A 3E A7 ED .!...$.*,>.[*>..
000140: 52 CD 37 08 21 0E 05 CD 24 08 2A 5B 3E CD 37 08 R.7.!...$.*[>.7.
000150: 2A 5B 3E 7C B5 C2 84 34 3E 00 32 67 3E 21 00 00 *[>|...4>.2g>!..
000160: 22 35 3E E1 E5 CD B8 14 2A 5B 3E 7C B5 28 1B 21 "5>.....*[>|.(.!
000170: F0 04 CD 24 08 21 00 00 CD 37 08 21 1F 05 CD 24 ...$.!...7.!...$
000180: 08 2A 5B 3E CD 37 08 C3 84 34 21 08 3E 22 C9 3E .*[>.7...4!.>".>
000190: CD DC 0B DD 21 CD 3E CD 48 0A 3E 01 32 67 3E 2A ....!.>.H.>.2g>*
0001A0: 6C 3E 22 35 3E E1 CD B8 14 DD 21 CD 3E CD D2 0A l>"5>.....!.>...
0001B0: 21 F0 04 CD 24 08 2A 35 3E ED 5B 6C 3E A7 ED 52 !...$.*5>.[l>..R
0001C0: CD 37 08 21 1F 05 CD 24 08 21 00 00 CD 37 08 C3 .7.!...$.!...7..
0001D0: 84 34 0D 50 68 61 73 65 20 31 20 63 6F 6D 70 6C .4.Phase 1 compl
0001E0: 65 74 65 2E 20 54 72 65 65 20 73 69 7A 65 3A 00 ete. Tree size:.
0001F0: 0D 50 68 61 73 65 20 32 20 63 6F 6D 70 6C 65 74 .Phase 2 complet
Size : 512 (Real : 512)
000000: 65 2E 20 43 6F 64 65 20 73 69 7A 65 3A 00 0D 50 e. Code size:..P
000010: 68 61 73 65 20 31 20 65 72 72 6F 72 73 3A 00 0D hase 1 errors:..
000020: 50 68 61 73 65 20 32 20 65 72 72 6F 72 73 3A 00 Phase 2 errors:.
000030: 02 00 00 0D 41 72 6E 6F 72 20 42 43 50 4C 20 63 ....Arnor BCPL c
000040: 6F 6D 70 69 6C 65 72 20 76 00 20 28 63 29 20 50 ompiler v. (c) P
000050: 4A 42 20 26 20 41 72 6E 6F 72 20 4C 74 64 2E 2C JB & Arnor Ltd.,
000060: 20 31 39 38 36 0D 0D 00 21 33 05 CD 24 08 3A 30 1986...!3..$.:0
000070: 05 C6 30 CD D6 07 3E 2E CD D6 07 3A 31 05 C6 30 ..0...>....:1..0
000080: CD D6 07 3A 32 05 C6 30 CD D6 07 21 4A 05 CD 24 ...:2..0...!J..$
000090: 08 C9 2A 4B 3E CD 10 06 21 40 3C 06 20 36 00 23 ..*K>...!@<. 6.#
0000A0: 10 FB 21 04 3B 7E A7 28 22 11 60 3C 7E FE 80 30 ..!.;~.(".`<~..0
0000B0: 05 12 23 13 18 F6 1B 1A F6 80 12 E5 21 60 3C CD ..#.........!`<.
0000C0: D7 34 D1 1A E6 7F 77 EB 23 18 DA 21 0A 06 CD D7 .4....w.#..!....
0000D0: 34 22 33 3E 36 4F 21 0B 06 CD D7 34 22 49 3E 36 4"3>6O!....4"I>6
0000E0: 4F 21 00 00 22 5B 3E 3E 05 32 66 3E 3E FF 32 C6 O!.."[>>.2f>>.2.
0000F0: 3E 32 C5 3E 3E 0A 32 C8 3E 3E 00 32 06 3E 32 07 >2.>>.2.>>.2.>2.
000100: 3E 32 5D 3E 3E 0D 32 21 3E C9 A4 73 74 61 72 F4 >2]>>.2!>..star.
000110: 2B CB 45 28 01 2B 22 AE 3E C9 CD 29 06 FE 41 D8 +.E(.+".>..)..A.
000120: FE 5B D0 C6 20 32 21 3E C9 E5 D5 C5 DD E5 DD 2A .[.. 2!>.......*
000130: CB 3E CD EE 0A 38 02 3E 1A DD E1 FE 8A 28 12 FE .>...8.>.....(..
000140: 90 28 E9 FE 7F 28 E5 FE 80 38 08 FE 8D 30 04 18 .(...(...8...0..
000150: DB 3E 0A F5 CD AA 07 F1 C1 D1 E1 32 21 3E FE 0A .>.........2!>..
000160: 28 C7 3A 5D 3E A7 28 0A 3A 21 3E FE 1A 28 03 CD (.:]>.(.:!>..(..
000170: D6 07 3A 21 3E C9 3E 00 32 C7 3E E1 ED 7B 57 3E ..:!>.>.2.>..{W>
000180: E5 3A 5D 3E A7 CC 79 07 CD 8D 33 E1 CD 24 08 21 .:]>..y...3..$.!
000190: EE 06 CD 24 08 2A 31 3E CD 37 08 CD 22 07 CD 24 ...$.*1>.7.."..$
0001A0: 08 CD FC 0B FE FC CA B3 38 FE 03 CA B3 38 2A 5B ........8....8*[
0001B0: 3E 23 22 5B 3E 3A 5D 3E F5 3E 00 32 30 3E 32 5D >#"[>:]>.>.20>2]
0001C0: 3E 3A 1E 3E FE 48 28 1B FE 49 28 17 FE 16 28 13 >:.>.H(..I(...(.
0001D0: FE 01 28 0F FE 40 28 0B 3A 30 3E A7 20 05 CD 71 ..(..@(.:0>. ..q
0001E0: 35 18 DE F1 32 5D 3E CD 8D 33 2A 59 3E E9 20 6E 5...2]>..3*Y>. n
0001F0: 65 61 72 20 6C 69 6E 65 20 00 0D 0A 45 53 43 20 ear line ...ESC
Size : 512 (Real : 512)
000000: 74 6F 20 61 62 6F 72 74 2C 20 61 6E 79 20 6F 74 to abort, any ot
000010: 68 65 72 20 6B 65 79 20 63 6F 6E 74 69 6E 75 65 her key continue
000020: 73 00 CD 2B 0C FE 30 30 04 21 FA 06 C9 2A 01 00 s..+..00.!...*..
000030: 11 57 00 19 23 7E 32 45 07 23 7E 32 46 07 21 E3 .W..#~2E.#~2F.!.
000040: 00 22 47 07 CD 00 00 00 00 A7 28 DD 21 50 07 C9 ."G.......(.!P..
000050: 0D 0A 53 54 4F 50 20 74 6F 20 61 62 6F 72 74 2C ..STOP to abort,
000060: 20 61 6E 79 20 6F 74 68 65 72 20 6B 65 79 20 63 any other key c
000070: 6F 6E 74 69 6E 75 65 73 00 3A 07 3E 47 3A 06 3E ontinues.:.>G:.>
000080: B8 28 1E 58 16 00 21 C6 3D 19 7E FE 1A 28 07 FE .(.X..!.=.~..(..
000090: 0A 28 03 CD D6 07 3A 07 3E CD CD 07 32 07 3E 18 .(....:.>...2.>.
0000A0: D8 3E 00 32 06 3E 32 07 3E C9 F5 3A 06 3E 5F 16 .>.2.>2.>..:.>_.
0000B0: 00 21 C6 3D 19 F1 77 3A 06 3E CD CD 07 32 06 3E .!.=..w:.>...2.>
0000C0: 5F 3A 07 3E BB C0 CD CD 07 32 07 3E C9 FE 3F 30 _:.>.....2.>..?0
0000D0: 02 3C C9 3E 00 C9 FE 0D 20 07 3E 0A CD 12 0C 3E .<.>.... .>....>
0000E0: 0D CD 12 0C C9 E5 D5 2A CB 3E 11 A3 00 19 ED 5B .......*.>.....[
0000F0: 2A 3E A7 ED 52 D2 9B 32 2A 2A 3E 77 2B 22 2A 3E *>..R..2**>w+"*>
000100: D1 E1 C9 D5 E5 2A CB 3E 11 A5 00 19 ED 5B 2A 3E .....*.>.....[*>
000110: A7 ED 52 D2 9B 32 D1 2A 2A 3E 72 2B 73 2B 22 2A ..R..2.**>r+s+"*
000120: 3E EB D1 C9 7E A7 C8 CB 7F 20 06 CD D6 07 23 18 >...~.... ....#.
000130: F3 E6 7F CD D6 07 C9 E5 D5 C5 F5 7C B5 20 0A 3E ...........|. .>
000140: 30 CD 12 0C F1 C1 D1 E1 C9 0E 01 11 10 27 CD 6B 0............'.k
000150: 08 11 E8 03 CD 6B 08 11 64 00 CD 6B 08 11 0A 00 .....k..d..k....
000160: CD 6B 08 11 01 00 CD 6B 08 18 D9 3E 2F 3C A7 ED .k.....k...>/<..
000170: 52 30 FA 19 FE 30 20 05 79 A7 C0 3E 30 0E 00 CD R0...0 .y..>0...
000180: 12 0C C9 E5 D5 C5 F5 3A 67 3E A7 28 14 F1 F5 DD .......:g>.(....
000190: E5 DD 21 CD 3E CD 80 0A DD E1 2A 35 3E 23 22 35 ..!.>.....*5>#"5
0001A0: 3E 2A 37 3E 23 22 37 3E F1 C1 D1 E1 C9 7D CD 83 >*7>#"7>.....}..
0001B0: 08 7C CD 83 08 C9 46 23 DD E5 E5 2A CB 3E 11 A3 .|....F#...*.>..
0001C0: 00 19 3A 21 3E 77 23 3A 31 3E 77 23 3A 32 3E 77 ..:!>w#:1>w#:2>w
0001D0: 23 22 CB 3E 19 23 23 ED 5B 2A 3E A7 ED 52 30 1C #".>.##.[*>..R0.
0001E0: E1 E5 C5 DD 2A CB 3E CD 05 0A 30 22 C1 E1 21 00 ....*.>...0"..!.
0001F0: 00 22 31 3E 3E 0D 32 21 3E DD E1 C9 CD 4A 34 54 ."1>>.2!>....J4T
Size : 512 (Real : 512)
000000: 6F 6F 20 6D 61 6E 79 20 66 69 6C 65 73 00 C1 E1 oo many files...
000010: E5 C5 21 28 09 CD 24 08 C1 E1 78 A7 28 07 7E CD ..!(..$...x.(.~.
000020: D6 07 23 10 F9 C3 45 34 0D 0A 43 61 6E 27 74 20 ..#...E4..Can't
000030: 6F 70 65 6E 20 00 C5 1A DD 77 09 13 1A DD 77 0A open ....w....w.
000040: 13 1A DD 77 0B 06 08 DD E5 D1 13 3E 20 12 13 10 ...w.......> ...
000050: FA C1 DD E5 D1 DD 36 00 00 DD 36 0C 00 DD 36 20 ......6...6...6
000060: 00 CD F9 09 38 5C FE 20 28 58 13 12 CD F9 09 D8 ....8\. (X......
000070: 0E 08 FE 3A 20 16 DD 7E 01 D6 40 DD 77 00 CD F9 ...: ..~..@.w...
000080: 09 38 3F FE 20 28 3B 12 CD F9 09 D8 FE 2E 28 0F .8?. (;.......(.
000090: FE 20 28 2C 0D 28 2B 13 12 CD F9 09 D8 18 ED DD . (,.(+.........
0000A0: 36 09 20 DD 36 0A 20 DD 36 0B 20 11 09 00 DD 19 6. .6. .6. .....
0000B0: DD E5 D1 0E 04 CD F9 09 D8 0D 28 06 12 13 18 F5 ..........(.....
0000C0: 37 C9 A7 C9 D5 59 57 CD 36 09 D1 D8 EB E9 CD 4A 7....YW.6......J
0000D0: 34 42 61 64 20 53 4F 55 52 43 45 20 6E 61 6D 65 4Bad SOURCE name
0000E0: 00 CD 4A 34 42 61 64 20 44 45 53 54 49 4E 41 54 ..J4Bad DESTINAT
0000F0: 49 4F 4E 20 6E 61 6D 65 00 78 FE 01 D8 05 7E CD ION name.x....~.
000100: 33 0C 23 A7 C9 DD E5 DD E5 DD E5 11 45 0A 7A 4B 3.#.........E.zK
000110: 11 CE 09 CD C4 09 0E 0F D1 CD 05 00 3C 28 0F DD ............<(..
000120: E1 D1 21 A3 00 19 DD 75 21 DD 74 22 37 C9 DD E1 ..!....u!.t"7...
000130: DD 7E 09 FE 20 20 0A DD 36 09 42 DD E5 DD E5 18 .~.. ..6.B.....
000140: D5 DD E1 A7 C9 20 20 20 DD E5 DD E5 DD E5 11 7D ..... .......}
000150: 0A 7A 4B 11 E1 09 CD C4 09 DD E1 DD 36 0C 00 DD .zK.........6...
000160: 36 20 00 DD E5 D1 0E 16 CD 05 00 3C CA C5 0A E1 6 .........<....
000170: 11 23 00 19 DD E1 DD 75 21 DD 74 22 C9 43 4F 4D .#.....u!.t".COM
000180: DD E5 E1 11 A3 00 19 DD 5E 21 DD 56 22 A7 ED 52 ........^!.V"..R
000190: 20 0D F5 CD A8 0A DD E5 E1 11 23 00 19 EB F1 12 .........#.....
0001A0: 13 DD 73 21 DD 72 22 C9 DD E5 DD E5 DD E5 E1 11 ..s!.r".........
0001B0: 23 00 19 EB 0E 1A CD 05 00 D1 0E 15 CD 05 00 B7 #...............
0001C0: 20 03 DD E1 C9 CD 4A 34 44 69 73 63 20 46 75 6C .....J4Disc Ful
0001D0: 6C 00 DD E5 E1 11 23 00 19 DD 5E 21 DD 56 22 A7 l.....#...^!.V".
0001E0: 28 03 CD A8 0A 0E 10 DD E5 D1 CD 05 00 C9 DD E5 (...............
0001F0: D1 21 A3 00 19 DD 5E 21 DD 56 22 A7 ED 52 20 22 .!....^!.V"..R "
Size : 512 (Real : 512)
000000: DD E5 DD E5 DD E5 E1 11 23 00 19 EB 0E 1A CD 05 ........#.......
000010: 00 D1 D5 0E 14 CD 05 00 DD E1 D1 B7 C0 21 23 00 .............!#.
000020: 19 EB 1A 13 DD 73 21 DD 72 22 37 C9 21 08 3E 22 .....s!.r"7.!.>"
000030: C9 3E CD DC 0B DD 21 70 3F 11 7D 0A 7A 4B 11 E1 .>....!p?.}.zK..
000040: 09 CD C4 09 0E 0F 11 70 3F CD 05 00 3C C8 21 AC .......p?...<.!.
000050: 0B CD 24 08 3A 79 3F CB 7F 28 06 21 D0 0B CD 24 ..$.:y?..(.!...$
000060: 08 21 BF 0B CD 24 08 CD FC 0B CD 33 0C FE 59 28 .!...$.....3..Y(
000070: 19 1E 4E 0E 02 CD 1D 0C CD 8D 33 CD 4A 34 46 69 ..N.......3.J4Fi
000080: 6C 65 20 69 6E 74 61 63 74 00 0E 02 5F CD 1D 0C le intact..._...
000090: CD 8D 33 3A 79 3F E6 7F 32 79 3F 11 70 3F 0E 1E ..3:y?..2y?.p?..
0000A0: CD 05 00 11 70 3F 0E 13 CD 05 00 C9 4F 75 74 70 ....p?......Outp
0000B0: 75 74 20 66 69 6C 65 20 65 78 69 73 74 73 00 3A ut file exists.:
0000C0: 20 44 65 6C 65 74 65 20 28 59 2F 4E 29 3F 20 00 Delete (Y/N)? .
0000D0: 20 61 6E 64 20 69 73 20 52 2F 4F 00 2A C9 3E 2B and is R/O.*.>+
0000E0: 06 00 23 7E FE 20 28 FA FE 0D C8 E5 04 23 7E FE ..#~. (......#~.
0000F0: 20 28 04 FE 0D 20 F5 22 C9 3E E1 C9 CD 02 0C 30 (... .".>.....0
000100: FB C9 C5 D5 0E 06 1E FF CD 1D 0C A7 28 01 37 D1 ............(.7.
000110: C1 C9 D5 C5 0E 02 5F CD 1D 0C C1 D1 C9 E5 D5 C5 ......_.........
000120: DD E5 CD 05 00 DD E1 C1 D1 E1 C9 C5 0E 0C CD 1D ................
000130: 0C C1 C9 FE 61 D8 FE 7B D0 D6 20 C9 3A 1E 3E FE ....a..{.. .:.>.
000140: 2E 28 08 FE 0C 28 04 FE 4F 20 09 2A 1F 3E E5 CD .(...(..O .*.>..
000150: 71 35 E1 C9 FE 4D 20 0C 2A 1F 3E CD 67 0D E5 CD q5...M .*.>.g...
000160: 71 35 E1 C9 FE 41 20 13 CD 71 35 3E 00 CD 75 0D q5...A ..q5>..u.
000170: E5 3E 42 21 9D 10 CD 60 14 E1 C9 FE 38 20 02 3E .>B!...`....8 .>
000180: 26 FE 17 28 04 FE 26 20 0D F5 CD 71 35 3E 23 CD &..(..& ...q5>#.
000190: 75 0D F1 C3 67 0D FE 35 20 09 CD 71 35 3E 22 CD u...g..5 ..q5>".
0001A0: 75 0D C9 FE 3D 20 26 CD 71 35 3E 22 CD 75 0D 7E u...= &.q5>".u.~
0001B0: FE 4D 20 14 E5 E5 2B 56 2B 5E 21 00 00 A7 ED 52 .M ...+V+^!....R
0001C0: EB E1 2B 72 2B 73 E1 C9 3E 43 C3 67 0D FE 20 20 ..+r+s..>C.g..
0001D0: 0D CD 71 35 3E 18 CD 75 0D 3E 20 C3 67 0D FE 33 ..q5>..u.> .g..3
0001E0: 20 0B CD 71 35 CD 02 11 3E 33 C3 67 0D FE 2F 20 ..q5...>3.g../
0001F0: 0B CD 71 35 CD AE 10 3E 2F C3 67 0D FE 4E 20 1C ..q5...>/.g..N .
Size : 512 (Real : 512)
000000: 2A 2A 3E E5 3E 4E CD E5 07 21 C6 3C 46 04 7E CD **>.>N...!.<F.~.
000010: E5 07 23 10 F9 CD 71 35 E1 3E 4E C9 FE 52 20 24 ..#...q5.>N..R $
000020: CD 76 06 3F 20 69 73 20 6F 6E 6C 79 20 61 6C 6C .v.? is only all
000030: 6F 77 65 64 20 69 6E 20 64 65 66 69 6E 69 74 69 owed in definiti
000040: 6F 6E 73 00 FE 60 20 0D CD 71 35 3E 23 CD 75 0D ons..` ..q5>#.u.
000050: 3E 60 C3 67 0D CD 76 06 42 61 64 20 65 78 70 72 >`.g..v.Bad expr
000060: 65 73 73 69 6F 6E 00 D5 ED 5B 2A 3E CD E5 07 CD ession...[*>....
000070: 03 08 EB D1 C9 57 D5 CD 3C 0C D1 22 24 3E 3A 30 .....W..<.."$>:0
000080: 3E A7 C0 21 B2 0E 3A 1E 3E 5F 7E A7 20 04 2A 24 >..!..:.>_~. .*$
000090: 3E C9 BB 28 06 23 23 23 23 18 EF 23 46 23 7E 23 >..(.####..#F#~#
0000A0: 66 6F 3A 1E 3E E9 0E 1E 18 01 48 7A B8 38 04 2A fo:.>.....Hz.8.*
0000B0: 24 3E C9 2A 24 3E E5 C5 D5 79 F5 CD 71 35 F1 CD $>.*$>...y..q5..
0000C0: 75 0D 22 24 3E E1 22 28 3E E1 22 26 3E 3A 28 3E u."$>."(>."&>:(>
0000D0: D1 2A 24 3E CD D4 0F E5 ED 4B 26 3E ED 5B 28 3E .*$>.....K&>.[(>
0000E0: E1 C3 7B 0D 7A FE 0D 38 04 2A 24 3E C9 2A 24 3E ..{.z..8.*$>.*$>
0000F0: C5 D5 E5 CD 71 35 3E 00 CD 75 0D 3A 1E 3E FE 36 ....q5>..u.:.>.6
000100: 28 0F CD 76 06 45 78 70 65 63 74 69 6E 67 20 2C (..v.Expecting ,
000110: 00 E5 CD 71 35 3E 00 CD 75 0D 3E 3C D1 CD D4 0F ...q5>..u.><....
000120: EB E1 CD 03 08 EB D1 C1 C3 7B 0D 2A 24 3E D5 C5 .........{.*$>..
000130: E5 CD 71 35 3A 1E 3E FE 42 28 05 CD AE 10 18 03 ..q5:.>.B(......
000140: 21 00 00 E5 3E 42 21 9D 10 CD 60 14 E1 D1 3E 4B !...>B!...`...>K
000150: CD D4 0F C1 D1 C3 7B 0D 7A 2A 24 3E FE 1E 38 01 ......{.z*$>..8.
000160: C9 D5 E5 D5 CD 71 35 3E 1E CD 75 0D 22 24 3E D1 .....q5>..u."$>.
000170: 7B D1 CD D4 0F EB 3A 1E 3E 4F 21 AB 0E 7E A7 20 {.....:.>O!..~.
000180: 05 EB D1 C3 7B 0D B9 28 03 23 18 F1 D5 2A 24 3E ....{..(.#...*$>
000190: E5 C5 CD 71 35 3E 1E CD 75 0D 22 24 3E C1 79 D1 ...q5>..u."$>.y.
0001A0: CD D4 0F D1 3E 1B CD D4 0F 18 CA 08 1F 18 10 19 ....>...........
0001B0: 11 00 24 23 AA 0D 39 23 AA 0D 3B 23 AA 0D 35 22 ..$#..9#..;#..5"
0001C0: AA 0D 3D 22 AA 0D 38 28 AA 0D 51 28 AA 0D 41 00 ..="..8(..Q(..A.
0001D0: 2B 0E 08 00 58 0E 1F 00 58 0E 18 00 58 0E 10 00 +...X...X...X...
0001E0: 58 0E 19 00 58 0E 11 00 58 0E 1D 19 A6 0D 25 19 X...X...X.....%.
0001F0: A6 0D 1B 17 AA 0D 1A 17 AA 0D 09 15 AA 0D 21 15 ..............!.
Size : 512 (Real : 512)
000000: AA 0D 3C 00 E4 0D 00 2A 57 3E E5 2A 59 3E E5 ED ..<....*W>.*Y>..
000010: 73 57 3E 21 2B 0F 22 59 3E 3E 37 CD 4B 13 3A 1E sW>!+."Y>>7.K.:.
000020: 3E FE 16 20 31 CD 71 35 CD E0 0F 3A 1E 3E FE 01 >.. 1.q5...:.>..
000030: 20 0F E5 CD 71 35 CD E0 0F 3E 01 D1 CD D4 0F 18 ...q5...>......
000040: EA E5 CD 07 0F 3E 16 D1 CD D4 0F D1 ED 53 59 3E .....>.......SY>
000050: D1 ED 53 57 3E C9 FE 49 28 04 FE 40 20 05 21 00 ..SW>..I(..@ .!.
000060: 00 18 E8 FE 1E 28 08 FE 2B 28 04 FE 12 20 15 F5 .....(..+(... ..
000070: CD 71 35 21 5B 13 CD EB 13 E5 CD 07 0F D1 F1 CD .q5![...........
000080: D4 0F 18 C7 CD E4 10 3A 1E 3E FE 49 28 BD FE 40 .......:.>.I(..@
000090: 28 B9 C3 09 11 CD AC 0F 3A 1E 3E FE 36 C0 E5 CD (.......:.>.6...
0000A0: 71 35 CD 95 0F D1 3E 36 CD D4 0F C9 3A 1E 3E FE q5....>6....:.>.
0000B0: 4F 28 18 CD 76 06 45 78 70 65 63 74 69 6E 67 20 O(..v.Expecting
0000C0: 69 64 65 6E 74 69 66 69 65 72 00 2A 1F 3E E5 CD identifier.*.>..
0000D0: 71 35 E1 C9 E5 EB CD 67 0D D1 EB CD 03 08 EB C9 q5.....g........
0000E0: CD 95 0F 3A 1E 3E FE 08 20 41 E5 CD 71 35 FE 32 ...:.>.. A..q5.2
0000F0: 28 0A CD AA 10 D1 3E 44 CD D4 0F C9 E1 E5 7E FE (.....>D......~.
000100: 4F 20 0F CD 71 35 3E 00 CD 75 0D D1 3E 45 CD D4 O ..q5>..u..>E..
000110: 0F C9 CD 76 06 42 61 64 20 76 65 63 74 6F 72 20 ...v.Bad vector
000120: 64 65 66 69 6E 69 74 69 6F 6E 00 FE 41 20 52 7E definition..A R~
000130: FE 4F C2 B3 0F E5 CD 71 35 3A 1E 3E FE 4F 20 05 .O.....q5:.>.O .
000140: CD 95 0F 18 03 21 00 00 E5 3E 42 21 9D 10 CD 60 .....!...>B!...`
000150: 14 3A 1E 3E FE 02 20 19 CD 71 35 CD 02 11 3E 47 .:.>.. ..q5...>G
000160: CD 99 14 E3 C1 D1 C5 CD D4 0F D1 EB CD 03 08 EB ................
000170: C9 FE 08 20 0C CD 71 35 3E 00 CD 75 0D 3E 46 18 ... ..q5>..u.>F.
000180: DF CD 76 06 42 61 64 20 50 52 4F 43 45 44 55 52 ..v.Bad PROCEDUR
000190: 45 20 64 65 66 69 6E 69 74 69 6F 6E 00 CD 76 06 E definition..v.
0001A0: 4D 69 73 73 69 6E 67 20 29 00 3E 01 18 02 3E 00 Missing ).>...>.
0001B0: F5 A7 28 11 3A 1E 3E FE 52 20 0A CD 67 0D E5 CD ..(.:.>.R ..g...
0001C0: 71 35 E1 18 05 3E 00 CD 75 0D 3A 1E 3E FE 36 20 q5...>..u.:.>.6
0001D0: 11 F1 E5 F5 CD 71 35 F1 CD B0 10 D1 3E 36 CD D4 .....q5.....>6..
0001E0: 0F C9 F1 C9 3E 37 CD 4B 13 CD 02 11 3A 1E 3E FE ....>7.K....:.>.
0001F0: 49 28 0E FE 40 28 0A E5 CD E4 10 D1 3E 4A CD D4 I(..@(......>J..
Size : 512 (Real : 512)
000000: 0F C9 CD 53 11 7C B5 20 15 CD 76 06 45 78 70 65 ...S.|. ..v.Expe
000010: 63 74 69 6E 67 20 63 6F 6D 6D 61 6E 64 00 3A 1E cting command.:.
000020: 3E FE 27 28 09 FE 28 28 05 FE 29 28 01 C9 CD 70 >.'(..((..)(...p
000030: 14 F5 E5 CD 71 35 E1 F1 FE 27 28 04 FE 5A 20 05 ....q5...'(..Z .
000040: CD 67 0D 18 D9 F5 E5 3E 00 CD 75 0D D1 F1 CD D4 .g.....>..u.....
000050: 0F 18 CB 3A 1E 3E 47 21 71 11 7E A7 20 04 21 00 ...:.>G!q.~. .!.
000060: 00 C9 B8 20 07 23 5E 23 56 EB 78 E9 23 23 23 18 ... .#^#V.x.###.
000070: E9 4F C0 11 4D C0 11 2E C0 11 0C C0 11 17 C0 11 .O..M...........
000080: 26 C0 11 38 C0 11 41 C0 11 0F F9 11 22 F9 11 14 &..8..A....."...
000090: 07 12 31 07 12 34 07 12 30 07 12 2D 1F 12 0D D8 ..1..4..0..-....
0000A0: 12 1C 5A 12 03 5A 12 23 5A 12 0E 5A 12 0B 5A 12 ..Z..Z.#Z..Z..Z.
0000B0: 2A 66 12 05 9B 12 07 C4 12 48 95 12 50 3F 13 00 *f.......H..P?..
0000C0: CD AE 10 3A 1E 3E FE 3E 20 0E E5 CD 71 35 CD AE ...:.>.> ...q5..
0000D0: 10 3E 3E D1 CD D4 0F C9 FE 3F 20 14 7E FE 4F C2 .>>......? .~.O.
0000E0: B3 0F E5 CD 71 35 CD 53 11 D1 3E 3F CD D4 0F C9 ....q5.S..>?....
0000F0: 7E FE 4B C2 09 11 36 4C C9 F5 CD 71 35 3E 00 CD ~.K...6L...q5>..
000100: 75 0D F1 CD 67 0D C9 F5 CD 71 35 3E 00 CD 75 0D u...g....q5>..u.
000110: E5 3E 06 CD 4B 13 CD 02 11 D1 F1 CD D4 0F C9 CD .>..K...........
000120: 71 35 3E 00 CD 75 0D 3E 06 CD 4B 13 E5 CD 02 11 q5>..u.>..K.....
000130: E5 3E 0A 21 49 12 CD 60 14 CD 02 11 D1 3E 2D CD .>.!I..`.....>-.
000140: D4 0F D1 EB CD 03 08 EB C9 CD 76 06 45 4C 53 45 ..........v.ELSE
000150: 20 65 78 70 65 63 74 65 64 00 2A 2A 3E CD E5 07 expected.**>...
000160: E5 CD 71 35 E1 C9 CD 71 35 3E 00 CD 75 0D E5 3E ..q5...q5>..u..>
000170: 15 21 84 12 CD 60 14 21 E4 10 CD EB 13 D1 3E 2A .!...`.!......>*
000180: CD D4 0F C9 CD 76 06 49 4E 54 4F 20 65 78 70 65 .....v.INTO expe
000190: 63 74 65 64 00 21 07 0F C3 EB 13 CD 71 35 3E 00 cted.!......q5>.
0001A0: CD 75 0D E5 3E 3F 21 B6 12 CD 60 14 CD 53 11 D1 .u..>?!...`..S..
0001B0: 3E 05 CD D4 0F C9 CD 76 06 3A 20 65 78 70 65 63 >......v.: expec
0001C0: 74 65 64 00 CD 71 35 3E 3F 21 B6 12 CD 60 14 CD ted..q5>?!...`..
0001D0: 53 11 3E 07 CD 67 0D C9 CD 71 35 CD AC 0F E5 21 S.>..g...q5....!
0001E0: 2F 13 3E 08 CD 60 14 3E 00 CD 75 0D E5 3E 2C 21 /.>..`.>..u..>,!
0001F0: 2F 13 CD 60 14 3E 00 CD 75 0D E5 21 00 00 3A 1E /..`.>..u..!..:.
Size : 512 (Real : 512)
000000: 3E FE 04 20 08 CD 71 35 3E 00 CD 75 0D E5 3E 06 >.. ..q5>..u..>.
000010: CD 4B 13 CD 02 11 3E 0D CD 70 14 D1 CD D4 0F E3 .K....>..p......
000020: CD 03 08 E1 E3 CD 03 08 E1 E3 CD 03 08 E1 C9 CD ................
000030: 76 06 42 61 64 20 46 4F 52 20 6C 6F 6F 70 00 CD v.Bad FOR loop..
000040: 71 35 CD AE 10 3E 50 CD 67 0D C9 E5 21 1E 3E BE q5...>P.g...!.>.
000050: 28 02 E1 C9 F5 CD 71 35 F1 E1 C9 2A 57 3E E5 2A (.....q5...*W>.*
000060: 59 3E E5 21 00 00 E5 21 00 00 39 E5 E5 ED 73 57 Y>.!...!..9...sW
000070: 3E 21 D1 13 22 59 3E CD AC 0F 3A 1E 3E FE 08 28 >!.."Y>...:.>..(
000080: 2A FE 3F 28 26 CD 76 06 4E 65 65 64 20 3A 20 6F *.?(&.v.Need : o
000090: 72 20 3D 20 69 6E 20 63 6F 6E 73 74 61 6E 74 20 r = in constant
0000A0: 64 65 66 69 6E 69 74 69 6F 6E 00 E3 CD 71 35 3E definition...q5>
0000B0: 00 CD 75 0D D1 D5 3E 1E CD D4 0F E3 21 00 00 CD ..u...>.....!...
0000C0: 03 08 C1 DD E1 DD 71 00 DD 70 01 21 FA FF 09 E5 ......q..p.!....
0000D0: E5 3E 37 CD 4B 13 3A 1E 3E FE 4F 28 9A E1 E1 E1 .>7.K.:.>.O(....
0000E0: D1 ED 53 59 3E D1 ED 53 57 3E C9 ED 5B 1F 3E D5 ..SY>..SW>..[.>.
0000F0: E5 3E 48 21 47 14 CD 60 14 E1 CD 6F 14 3A 1E 3E .>H!G..`...o.:.>
000100: FE 49 28 0E CD 76 06 4D 69 73 73 69 6E 67 20 24 .I(..v.Missing $
000110: 29 00 EB 2A 1F 3E C1 A7 ED 42 28 24 2A 33 3E ED )..*.>...B($*3>.
000120: 4B 1F 3E A7 ED 42 20 1D CD 76 06 53 65 63 74 69 K.>..B ..v.Secti
000130: 6F 6E 20 74 61 67 20 6D 69 73 6D 61 74 63 68 00 on tag mismatch.
000140: D5 CD 71 35 D1 EB C9 CD 76 06 4D 69 73 73 69 6E ..q5....v.Missin
000150: 67 20 24 28 00 E1 7E 23 E5 A7 C8 CD D6 07 18 F5 g $(..~#........
000160: C5 D5 47 3A 1E 3E B8 20 06 CD 71 35 D1 C1 C9 E9 ..G:.>. ..q5....
000170: F5 3A C5 3E A7 20 02 F1 C9 F1 E5 C5 47 21 8D 14 .:.>. ......G!..
000180: 7E B8 28 04 23 23 18 F8 23 7E C1 E1 C9 27 5A 28 ~.(.##..#~...'Z(
000190: 5B 29 5C 34 5D 30 5E 0D 5F C5 F5 3A C5 3E A7 28 [)\4]0^._..:.>.(
0001A0: 02 3E 01 47 3A C6 3E A7 28 02 04 04 78 87 47 28 .>.G:.>.(...x.G(
0001B0: 03 C6 0C 47 F1 80 C1 C9 E5 2A 4D 3E 22 6C 3E CD ...G.....*M>"l>.
0001C0: C3 16 2A 2E 3E 22 37 3E 21 00 00 22 39 3E 22 41 ..*.>"7>!.."9>"A
0001D0: 3E 22 43 3E 22 47 3E 22 55 3E 2A 4B 3E 3E 00 32 >"C>"G>"U>*K>>.2
0001E0: 3C 3E 2A 2A 3E 22 3D 3E 2A 1C 3E 11 5A 00 19 22 <>**>"=>*.>.Z.."
0001F0: 3F 3E 3E 40 32 72 3E 32 76 3E 32 6E 3E 32 7A 3E ?>>@2r>2v>2n>2z>
Size : 512 (Real : 512)
000000: 32 7E 3E CD 74 16 CD 12 16 CD 63 16 CD 0A 17 E1 2~>.t.....c.....
000010: CD 6E 15 2A 2A 3E ED 5B 3D 3E A7 ED 52 CB 3C CB .n.**>.[=>..R.<.
000020: 1D CB 3C CB 1D EB 2A 68 3E 73 23 72 ED 5B 37 3E ..<...*h>s#r.[7>
000030: 2A 6A 3E 73 23 72 2A 3D 3E ED 5B 2A 3E A7 ED 52 *j>s#r*=>.[*>..R
000040: 28 0C 19 06 04 23 7E CD 83 08 10 F9 18 EF 2A AE (....#~.......*.
000050: 3E CD AD 08 2A 47 3E 7E 23 B6 C0 CD 4A 34 55 6E >...*G>~#...J4Un
000060: 64 65 66 69 6E 65 64 20 53 54 41 52 54 00 7C B5 defined START.|.
000070: C8 E5 2A 3F 3E ED 5B 41 3E 19 EB 21 CE FF 39 A7 ..*?>.[A>..!..9.
000080: ED 52 DA 9B 32 E1 7E EB 21 8E 15 C3 F6 31 4A 3F .R..2.~.!....1J?
000090: 17 16 52 17 3E 30 1B 50 A9 1C 1E 02 1D 14 88 1D ..R.>0.P........
0000A0: 31 8C 1D 4C EA 1D 2D 7C 1E 34 E5 1E 5D E5 1E 30 1..L..-|.4..]..0
0000B0: EF 1E 5E EF 1E 22 70 1F 03 D8 1F 1C B4 1F 27 07 ..^.."p.......'.
0000C0: 21 5A 07 21 28 4C 21 5B 4C 21 29 56 21 5C 56 21 !Z.!(L![L!)V!\V!
0000D0: 2B DA 21 2A 70 22 05 65 23 07 D3 23 0B EA 23 0D +.!*p".e#..#..#.
0000E0: 15 24 5F 15 24 23 AB 1F 12 3C 1D 0F 32 20 3F 41 .$_.$#...<..2 ?A
0000F0: 20 0E 6A 25 00 CD 4A 34 45 72 72 6F 72 20 69 6E .j%..J4Error in
000100: 20 74 72 61 6E 73 6C 61 74 69 6F 6E 20 6E 6F 64 translation nod
000110: 65 00 3E 21 CD 83 08 CD F0 20 22 47 3E CD 58 16 e.>!..... "G>.X.
000120: 36 00 23 36 00 3E 11 CD 83 08 CD F0 20 22 6A 3E 6.#6.>...... "j>
000130: CD 58 16 3E 01 CD 83 08 CD F0 20 22 68 3E CD 58 .X.>...... "h>.X
000140: 16 3E 3E CD 83 08 3A C8 3E CD 83 08 3E C3 CD 83 .>>...:.>...>...
000150: 08 2A 98 3E CD AD 08 C9 7E CD 83 08 23 7E CD 83 .*.>....~...#~..
000160: 08 2B C9 21 03 01 11 73 02 7E CD 83 08 23 1B 7A .+.!...s.~...#.z
000170: B3 20 F6 C9 ED 4B 37 3E 21 0E 00 09 44 4D DD 21 . ...K7>!...DM.!
000180: 8A 3E 21 9D 16 5E 23 56 23 7A A3 FE FF C8 EB 09 .>!..^#V#z......
000190: DD 75 00 DD 74 01 EB DD 23 DD 23 18 E8 00 00 02 .u..t...#.#.....
0001A0: 00 04 00 08 00 24 00 70 00 8F 00 90 00 C8 00 D3 .....$.p........
0001B0: 00 E9 00 F0 00 FA 00 20 01 43 01 84 01 CF 01 2F ....... .C...../
0001C0: 02 FF FF DD 21 B0 3E 21 E8 16 7E A7 C8 E5 DD E5 ....!.>!..~.....
0001D0: CD D7 34 DD E1 DD 75 00 DD 74 01 DD 23 DD 23 E1 ..4...u..t..#.#.
0001E0: 7E 23 CB 7F 20 E4 18 F8 6C 65 76 65 EC 6C 6F 6E ~#.. ...leve.lon
0001F0: 67 6A 75 6D F0 61 70 74 6F 76 65 E3 72 64 76 64 gjum.aptove.rdvd
Size : 512 (Real : 512)
000000: F5 00 A2 3E A4 3E A6 3E AC 3E 21 B0 3E DD 21 02 ...>.>.>.>!.>.!.
000010: 17 06 04 C5 5E 23 56 23 E5 DD E5 CD 26 32 DD E1 ....^#V#....&2..
000020: 2B 36 00 23 36 02 23 36 01 23 DD 5E 00 DD 56 01 +6.#6.#6.#.^..V.
000030: 1A 77 13 23 1A 77 E1 DD 23 DD 23 C1 10 D5 C9 EB .w.#.w..#.#.....
000040: 2B 56 2B 5E E5 EB CD 6E 15 E1 2B 56 2B 5E EB C3 +V+^...n..+V+^..
000050: 6E 15 2A 51 3E E5 3A 3B 3E F5 2A 39 3E E5 2A 1C n.*Q>.:;>.*9>.*.
000060: 3E E5 EB 2B 56 2B 5E 2B E5 EB CD CC 17 E1 56 2B >..+V+^+......V+
000070: 5E EB CD 6E 15 E1 22 1C 3E C1 2A 39 3E ED 43 39 ^..n..".>.*9>.C9
000080: 3E CD 90 17 C1 3A 3B 3E CD D3 33 E1 22 51 3E C9 >....:;>..3."Q>.
000090: 54 5D A7 ED 42 C8 D5 DD E1 DD 7E 05 FE 09 20 24 T]..B.....~... $
0000A0: D5 C5 DD 5E 02 DD 56 03 CD 64 33 55 6E 64 65 66 ...^..V..d3Undef
0000B0: 69 6E 65 64 20 69 64 65 6E 74 69 66 69 65 72 2C ined identifier,
0000C0: A0 C1 DD E1 DD 6E 00 DD 66 01 18 C4 7E FE 01 20 .....n..f...~..
0000D0: 53 2B E5 2B 2B 56 2B 5E 1A 21 F0 17 CD F6 31 E1 S+.++V+^.!....1.
0000E0: 56 2B 5E 2B E5 EB CD CC 17 E1 56 2B 5E EB 18 3D V+^+......V+^..=
0000F0: 47 55 18 46 55 18 54 55 18 55 55 18 56 55 18 57 GU.FU.TU.UU.VU.W
000100: 55 18 58 55 18 59 55 18 44 74 18 45 D0 18 00 CD U.XU.YU.Dt.E....
000110: 4A 34 44 65 63 6C 61 72 61 74 69 6F 6E 20 65 72 J4Declaration er
000120: 72 6F 72 00 E5 EB 21 F0 17 CD F6 31 E1 7E EB 21 ror...!....1.~.!
000130: 35 18 C3 F6 31 44 54 18 45 54 18 47 27 19 46 27 5...1DT.ET.G'.F'
000140: 19 54 27 19 55 27 19 56 27 19 57 27 19 58 27 19 .T'.U'.V'.W'.X'.
000150: 59 27 19 00 C9 EB 2B 56 2B 5E D5 CD 26 32 2B 36 Y'....+V+^..&2+6
000160: 00 23 36 02 23 36 00 23 E5 CD F0 20 EB E1 73 23 .#6.#6.#... ..s#
000170: 72 EB C1 C9 EB 2B 56 2B 5E 2B 46 2B 4E 1A FE 36 r....+V+^+F+N..6
000180: 20 21 0A FE 36 20 21 EB 2B 56 2B 5E 2B E5 60 69 !..6 !.+V+^+.`i
000190: 2B 46 2B 4E 2B E5 CD C2 18 E1 46 2B 4E E1 56 2B +F+N+.....F+N.V+
0001A0: 5E 18 DA 0A FE 36 20 1A CD 3F 33 45 78 70 72 65 ^....6 ..?3Expre
0001B0: 73 73 69 6F 6E 2F 69 64 20 6D 69 73 6D 61 74 63 ssion/id mismatc
0001C0: E8 C9 C5 CD EE 1C E1 CD 76 25 3E E5 CD 83 08 C9 ........v%>.....
0001D0: D5 DD E1 DD 6E FC DD 66 FD CD 19 30 23 29 ED 5B ....n..f...0#).[
0001E0: 51 3E 19 22 51 3E D5 ED 4B 53 3E A7 ED 42 38 04 Q>."Q>..KS>..B8.
0001F0: 09 22 53 3E DD 6E FE DD 66 FF CD ED 1C 3E 2A CD ."S>.n..f....>*.
Size : 512 (Real : 512)
000000: 83 08 2A 8C 3E CD AD 08 E1 7C B5 28 0D 3E 11 CD ..*.>....|.(.>..
000010: 83 08 CD AD 08 3E 19 CD 83 08 21 21 19 CD CC 1C .....>....!!....
000020: C9 05 CB 3C CB 1D E5 D5 3A 3C 3E A7 28 0D 3E C3 ...<....:<>.(.>.
000030: CD 83 08 CD F0 20 CD 58 16 E3 E5 2A 55 3E E3 22 ..... .X...*U>."
000040: 55 3E 2B 56 2B 5E 2B E5 2A 49 3E A7 ED 52 20 0A U>+V+^+.*I>..R .
000050: 2A 47 3E ED 4B 37 3E 71 23 70 CD AC 32 ED 5B 37 *G>.K7>q#p..2.[7
000060: 3E CD 98 33 D1 2A 53 3E E5 2A 4F 3E E5 2A 39 3E >..3.*S>.*O>.*9>
000070: E5 2A 1C 3E E5 3A 3B 3E F5 3E 7F 32 3B 3E 3A 3C .*.>.:;>.>.2;>:<
000080: 3E 3C 32 3C 3E 21 00 00 22 53 3E 22 51 3E EB 56 ><2<>!.."S>"Q>.V
000090: 2B 5E 2B E5 EB CD D5 1C CD 49 1A D1 2A 7A 3E E5 +^+......I..*z>.
0000A0: 2A 7C 3E E5 3A 3B 3E 67 2E 00 22 7A 3E CD F0 20 *|>.:;>g.."z>..
0000B0: 22 7C 3E EB CD 18 1A ED 5B 37 3E DD 21 7A 3E CD "|>.....[7>.!z>.
0000C0: BA 33 E1 22 7C 3E E1 22 7A 3E 2A 53 3E 7C B5 21 .3."|>."z>*S>|.!
0000D0: E8 1A 20 03 21 15 1B CD 6F 14 ED 5B 53 3E 2A 4F .. .!...o..[S>*O
0000E0: 3E 73 23 72 3A 3C 3E 3D 32 3C 3E F1 32 3B 3E E1 >s#r:<>=2<>.2;>.
0000F0: 22 1C 3E C1 2A 39 3E ED 43 39 3E CD 90 17 E1 22 ".>.*9>.C9>...."
000100: 4F 3E E1 22 53 3E E1 22 55 3E 3A 3C 3E A7 C8 E1 O>."S>."U>:<>...
000110: ED 5B 37 3E 73 23 72 C9 E5 DD E1 56 2B 5E EB DD .[7>s#r....V+^..
000120: 7E 05 FE 46 28 10 FE 54 28 0C FE 56 28 08 FE 58 ~..F(..T(..V(..X
000130: 28 04 CD 6E 15 C9 7E FE 33 20 05 EB CD D1 26 C9 (..n..~.3 ....&.
000140: CD 76 25 3E EB CD 83 08 C9 E5 D5 3E 21 CD 83 08 .v%>.......>!...
000150: CD F0 20 22 4F 3E CD 58 16 3E CD CD 83 08 CD 97 .. "O>.X.>......
000160: 1A CD AD 08 3E DD CD 83 08 3E 21 CD 83 08 3A 3B ....>....>!...:;
000170: 3E D6 06 32 3B 3E 3C 5F 16 00 21 00 00 A7 ED 52 >..2;><_..!....R
000180: CD AD 08 3E DD CD 83 08 3E 39 CD 83 08 2A 55 3E ...>....>9...*U>
000190: 7E CD B3 1A D1 E1 C9 2A 55 3E 7E FE 46 28 10 FE ~......*U>~.F(..
0001A0: 47 28 0C FE 54 28 08 FE 55 28 04 2A A8 3E C9 2A G(..T(..U(.*.>.*
0001B0: 9C 3E C9 FE 54 28 23 FE 55 28 1F FE 58 28 1B FE .>..T(#.U(..X(..
0001C0: 59 28 17 FE 5A 28 13 FE 5B 28 0F FE 5C 28 0B FE Y(..Z(..[(..\(..
0001D0: 5D 28 07 FE 5E 28 03 FE 5F C0 3E CD CD 83 08 E5 ](..^(.._.>.....
0001E0: 2A AA 3E CD AD 08 E1 C9 3E 2A CD 83 08 2A 8C 3E *.>.....>*...*.>
0001F0: CD AD 08 3E 22 CD 83 08 2A 8E 3E CD AD 08 3E E1 ...>"...*.>...>.
Size : 512 (Real : 512)
000000: CD 83 08 3E 22 CD 83 08 2A 8C 3E CD AD 08 21 2C ...>"...*.>...!,
000010: 1B CD CC 1C C9 3E E1 CD 83 08 3E 22 CD 83 08 2A .....>....>"...*
000020: 8C 3E CD AD 08 21 2C 1B CD CC 1C C9 03 DD E1 C9 .>...!,.........
000030: EB 2B 56 2B 5E 2B 46 2B 6E 60 1A FE 36 20 2B E5 .+V+^+F+n`..6 +.
000040: EB 2B 46 2B 4E 2B 56 2B 5E E1 D5 C5 7E FE 36 20 .+F+N+V+^...~.6
000050: 14 2B 46 2B 4E 2B 56 2B 5E E1 D5 EB 60 69 CD 6A .+F+N+V+^...`i.j
000060: 1B E1 D1 18 D5 E1 E1 C3 A8 18 7E FE 36 CA A8 18 ..........~.6...
000070: 1A FE 4F 28 12 FE 26 28 1C FE 38 CA F8 1B FE 51 ..O(..&(..8....Q
000080: CA 1E 1C CD C3 31 C9 D5 CD 76 25 D1 CD AC 32 38 .....1...v%...28
000090: 03 CD A8 31 C9 CD A2 1C 28 1F D5 CD 76 25 3E E5 ...1....(...v%>.
0000A0: CD 83 08 E1 2B 56 2B 5E EB CD 76 25 21 B3 1B CD ....+V+^..v%!...
0000B0: CC 1C C9 05 29 D1 73 23 72 E5 EB 2B 56 2B 5E EB ....).s#r..+V+^.
0000C0: CD 76 25 3E 29 CD 83 08 E1 E5 EB CD 3B 30 38 0B .v%>).......;08.
0000D0: D1 CD 57 2C 21 F4 1B CD CC 1C C9 3E 36 CD 83 08 ..W,!......>6...
0000E0: 7B CD 83 08 3E 23 CD 83 08 3E 36 CD 83 08 7A CD {...>#...>6...z.
0000F0: 83 08 E1 C9 03 73 23 72 CD A2 1C 28 14 D5 CD 76 .....s#r...(...v
000100: 25 3E E5 CD 83 08 D1 CD C7 28 21 B3 1B CD CC 1C %>.......(!.....
000110: C9 E5 CD C7 28 3E 29 CD 83 08 E1 C3 C9 1B CD A2 ....(>).........
000120: 1C 28 17 D5 CD 76 25 3E E5 CD 83 08 E1 CD 7B 2B .(...v%>......{+
000130: 21 37 1C CD CC 1C C9 02 D1 73 E5 EB CD 7B 2B D1 !7.......s...{+.
000140: D5 CD 3B 30 30 0B 3E 36 CD 83 08 7B CD 83 08 D1 ..;00.>6...{....
000150: C9 D1 CD AC 32 D8 DD 7E 05 FE 02 30 13 3E DD CD ....2..~...0.>..
000160: 83 08 3E 7E CD 83 08 DD 7E 08 3D CD 83 08 18 2C ..>~....~.=....,
000170: FE 04 30 20 DD 7E 06 A7 28 0C 3E 36 CD 83 08 DD ..0 .~..(.>6....
000180: 7E 07 CD 83 08 C9 3E 11 CD 83 08 CD D9 31 3E 73 ~.....>......1>s
000190: CD 83 08 C9 3E 3A CD 83 08 CD D9 31 3E 77 CD 83 ....>:.....1>w..
0001A0: 08 C9 7E FE 4F C8 FE 4D C9 EB 2B 56 2B 5E EB 7E ..~.O..M..+V+^.~
0001B0: FE 36 20 10 2B 56 2B 5E E5 EB CD C4 1C E1 2B 56 .6 .+V+^......+V
0001C0: 2B 5E 18 EA CD 19 30 7D CD 83 08 C9 46 23 7E CD +^....0}....F#~.
0001D0: 83 08 10 F9 C9 7C B5 C8 7E FE 36 20 10 2B E5 2B .....|..~.6 .+.+
0001E0: 2B 56 2B 5E EB CD D5 1C E1 56 2B 5E EB EB CD 26 +V+^.....V+^...&
0001F0: 32 36 00 23 36 01 23 23 3A 3B 3E 77 3D 3D 32 3B 26.#6.##:;>w==2;
Size : 512 (Real : 512)
000000: 3E C9 EB 2B 56 2B 5E 2B E5 EB 7C B5 20 0B E1 56 >..+V+^+..|. ..V
000010: 2B 5E EB 7C B5 C8 C3 6E 15 2B 56 2B 5E 2B D5 56 +^.|...n.+V+^+.V
000020: 2B 5E E3 E5 EB CD 19 30 D1 E5 CD 26 32 36 04 23 +^.....0...&26.#
000030: 23 D1 73 23 72 E1 2B 56 2B 5E 18 CD EB 2B 56 2B #.s#r.+V+^...+V+
000040: 5E E5 D5 CD 1A 22 D1 CD 53 1D E1 2B 56 2B 5E EB ^...."..S..+V+^.
000050: C3 6E 15 7A B3 C8 EB 2B 56 2B 5E E5 CD 68 1D E1 .n.z...+V+^..h..
000060: 2B 2B 2B 56 2B 5E 18 EB 3E 08 F5 CD 26 32 F1 2B +++V+^..>...&2.+
000070: 36 00 23 77 23 36 01 23 ED 5B 45 3E 73 23 72 62 6.#w#6.#.[E>s#rb
000080: 6B 13 13 ED 53 45 3E C9 3E 00 18 02 3E FF CD B0 k...SE>.>...>...
000090: 20 21 00 00 22 82 3E 22 86 3E CD F0 20 22 84 3E !..".>".>.. ".>
0000A0: CD F0 20 22 88 3E EB 2B 56 2B 5E 2B F5 E5 F5 EB .. ".>.+V+^+....
0000B0: CD E2 2C F1 ED 5B 37 3E CD D1 1D E1 56 2B 5E EB ..,..[7>....V+^.
0000C0: CD 6E 15 F1 EE FF ED 5B 37 3E CD D1 1D CD C3 20 .n.....[7>.....
0000D0: C9 DD E5 DD 21 82 3E A7 28 04 DD 21 86 3E DD 6E ....!.>.(..!.>.n
0000E0: 02 DD 66 03 73 23 72 DD E1 C9 EB 2B 3A 3B 3E F5 ..f.s#r....+:;>.
0000F0: E5 2B 2B 56 2B 5E EB CD 47 1E E1 56 2B 5E EB E5 .++V+^..G..V+^..
000100: 7E FE 4F 20 22 EB CD AC 32 38 33 DD 7E 05 FE 02 ~.O "...283.~...
000110: 28 04 FE 03 20 11 E1 3E CD CD 83 08 CD D9 31 C1 (... ..>......1.
000120: 3A 3B 3E CD D3 33 C9 E1 CD 76 25 3E CD CD 83 08 :;>..3...v%>....
000130: 2A 96 3E CD AD 08 C1 3A 3B 3E CD D3 33 C9 E1 C1 *.>....:;>..3...
000140: 3A 3B 3E CD D3 33 C9 47 7C B5 20 02 78 C9 04 3A :;>..3.G|. .x..:
000150: 3B 3E 3D 3D 32 3B 3E 7E FE 36 28 0C 78 F5 CD 76 ;>==2;>~.6(.x..v
000160: 25 3E E5 CD 83 08 F1 C9 2B E5 2B 2B 56 2B 5E 78 %>......+.++V+^x
000170: EB CD 47 1E E1 F5 56 2B 5E EB 18 E2 CD B0 20 21 ..G...V+^..... !
000180: 00 00 22 82 3E 22 86 3E CD F0 20 22 84 3E CD F0 ..".>".>.. ".>..
000190: 20 22 88 3E EB 2B E5 2B 2B 2B 2B 56 2B 5E EB 3E ".>.+.++++V+^.>
0001A0: 00 CD E2 2C DD 21 82 3E ED 5B 37 3E CD BA 33 E1 ...,.!.>.[7>..3.
0001B0: 56 2B 5E E5 EB CD 6E 15 3E C3 CD 83 08 CD F0 20 V+^...n.>......
0001C0: E5 CD 58 16 ED 5B 37 3E DD 21 86 3E CD BA 33 E1 ..X..[7>.!.>..3.
0001D0: E3 2B 56 2B 5E EB CD 6E 15 E1 ED 5B 37 3E 73 23 .+V+^..n...[7>s#
0001E0: 72 CD C3 20 C9 CD 8A 20 CD B0 20 3E 00 18 08 CD r.. ... .. >....
0001F0: 8A 20 CD B0 20 3E FF 44 4D F5 3E 00 32 72 3E 32 . .. >.DM.>.2r>2
Size : 512 (Real : 512)
000000: 82 3E 32 86 3E 3C 32 76 3E 3A 3B 3E 32 77 3E 32 .>2.><2v>:;>2w>2
000010: 73 3E 2A 37 3E 22 78 3E CD F0 20 22 74 3E CD F0 s>*7>"x>.. "t>..
000020: 20 22 84 3E CD F0 20 22 88 3E 1A CD B3 1A F1 EB ".>.. ".>......
000030: 2B 56 2B 5E 2B F5 E5 F5 EB CD E2 2C F1 ED 5B 37 +V+^+......,..[7
000040: 3E CD D1 1D E1 56 2B 5E EB CD 6E 15 3E C3 2A 78 >....V+^..n.>.*x
000050: 3E CD 80 2D F1 EE FF ED 5B 37 3E CD D1 1D ED 5B >..-....[7>....[
000060: 37 3E DD 21 72 3E CD BA 33 CD C3 20 CD 9D 20 C9 7>.!r>..3.. .. .
000070: EB 2B 56 2B 5E EB CD 76 25 3E EB CD 83 08 3A 6E .+V+^..v%>....:n
000080: 3E F6 80 32 6E 3E DD 21 6E 3E 21 8F 1F 18 50 CD >..2n>.!n>!...P.
000090: 3F 33 52 45 53 55 4C 54 49 53 20 6F 75 74 73 69 ?3RESULTIS outsi
0000A0: 64 65 20 61 20 56 41 4C 4F C6 C9 DD 21 7A 3E 21 de a VALO...!z>!
0000B0: 10 20 18 2B DD 21 76 3E 21 BD 1F 18 22 CD 3F 33 . .+.!v>!...".?3
0000C0: 4C 4F 4F 50 20 66 6F 75 6E 64 20 6F 75 74 73 69 LOOP found outsi
0000D0: 64 65 20 6C 6F 6F F0 C9 DD 21 72 3E 21 F4 1F DD de loo...!r>!...
0000E0: CB 00 76 28 01 E9 DD 46 01 3A 3B 3E CD DA 33 3E ..v(...F.:;>..3>
0000F0: C3 C3 6D 2D CD 3F 33 42 52 45 41 4B 20 66 6F 75 ..m-.?3BREAK fou
000100: 6E 64 20 6F 75 74 73 69 64 65 20 6C 6F 6F F0 C9 nd outside loo..
000110: CD 3F 33 52 45 54 55 52 4E 20 66 6F 75 6E 64 20 .?3RETURN found
000120: 6F 75 74 73 69 64 65 20 46 55 4E 43 2F 50 52 4F outside FUNC/PRO
000130: C3 C9 EB 2B 56 2B 5E EB CD 76 25 3E E9 CD 83 08 ...+V+^..v%>....
000140: C9 EB 2B 56 2B 5E E5 CD AC 32 38 35 DD 7E 05 FE ..+V+^...285.~..
000150: 08 28 1D FE 09 28 19 CD 3F 33 4C 61 62 65 6C 73 .(...(..?3Labels
000160: 20 6E 65 65 64 20 61 20 67 6C 6F 62 61 EC 18 11 need a globa...
000170: DD 36 05 08 ED 5B 37 3E DD 4E 07 DD 46 08 CD 61 .6...[7>.N..F..a
000180: 22 E1 2B 56 2B 5E EB C3 6E 15 C1 2A 76 3E E5 2A ".+V+^..n..*v>.*
000190: 78 3E E5 2A 72 3E E5 2A 74 3E E5 C5 C9 C1 E1 22 x>.*r>.*t>....."
0001A0: 74 3E E1 22 72 3E E1 22 78 3E E1 22 76 3E C5 C9 t>."r>."x>."v>..
0001B0: C1 2A 82 3E E5 2A 84 3E E5 2A 86 3E E5 2A 88 3E .*.>.*.>.*.>.*.>
0001C0: E5 C5 C9 C1 E1 22 88 3E E1 22 86 3E E1 22 84 3E .....".>.".>.".>
0001D0: E1 22 82 3E C5 C9 DD CB 00 46 28 0A DD 6E 02 DD .".>.....F(..n..
0001E0: 66 03 CD AD 08 C9 DD 6E 02 DD 66 03 CD 58 16 C9 f......n..f..X..
0001F0: D5 2A 6C 3E E5 23 23 22 6C 3E ED 5B 3D 3E A7 ED .*l>.##"l>.[=>..
Size : 512 (Real : 512)
000000: 52 D2 9B 32 E1 D1 C9 CD 8A 20 3E 00 32 72 3E 3C R..2..... >.2r><
000010: 32 76 3E CD F0 20 22 74 3E 2A 37 3E 22 78 3E 3A 2v>.. "t>*7>"x>:
000020: 3B 3E 32 77 3E 32 73 3E 1A CD B3 1A EB 2B 56 2B ;>2w>2s>.....+V+
000030: 5E EB CD 6E 15 3E C3 2A 78 3E CD 80 2D ED 5B 37 ^..n.>.*x>..-.[7
000040: 3E DD 21 72 3E CD BA 33 CD 9D 20 C9 CD 8A 20 CD >.!r>..3.. ... .
000050: B0 20 3E FF 18 08 CD 8A 20 CD B0 20 3E 00 F5 3E . >..... .. >..>
000060: 00 32 72 3E 32 76 3E 32 82 3E 32 86 3E CD F0 20 .2r>2v>2.>2.>..
000070: 22 74 3E CD F0 20 22 78 3E CD F0 20 22 84 3E CD "t>.. "x>.. ".>.
000080: F0 20 22 88 3E 3A 3B 3E 32 77 3E 32 73 3E 2A 37 . ".>:;>2w>2s>*7
000090: 3E F1 F5 E5 F5 1A CD B3 1A EB 2B 56 2B 5E 2B E5 >.........+V+^+.
0000A0: EB CD 6E 15 ED 5B 37 3E DD 21 76 3E CD BA 33 E1 ..n..[7>.!v>..3.
0000B0: 56 2B 5E EB F1 CD E2 2C D1 F1 F5 EE FF CD D1 1D V+^....,........
0000C0: F1 ED 5B 37 3E CD D1 1D ED 5B 37 3E DD 21 72 3E ..[7>....[7>.!r>
0000D0: CD BA 33 CD C3 20 CD 9D 20 C9 EB 2B 56 2B 5E 2B ..3.. .. ..+V+^+
0000E0: E5 D5 CD 1A 22 D1 CD F1 21 E1 56 2B 5E EB C3 6E ...."...!.V+^..n
0000F0: 15 7A B3 C8 EB 2B E5 2B 2B 56 2B 5E EB CD 19 30 .z...+.++V+^...0
000100: EB ED 4B 45 3E CD 61 22 E1 56 2B 5E E5 CD 68 1D ..KE>.a".V+^..h.
000110: DD E1 DD 5E FC DD 56 FD 18 D7 21 00 00 7A B3 28 ...^..V...!..z.(
000120: 0D 23 23 D5 DD E1 DD 5E FA DD 56 FB 18 EF E5 ED .##....^..V.....
000130: 5B 37 3E 19 7B E6 01 20 01 23 23 23 23 3E C3 CD [7>.{.. .####>..
000140: 83 08 CD AD 08 3A 37 3E E6 01 28 05 3E 00 CD 83 .....:7>..(.>...
000150: 08 2A 37 3E 22 45 3E E1 7C B5 C8 CD 83 08 2B 18 .*7>"E>.|.....+.
000160: F7 2A 3D 3E 72 2B 73 2B 70 2B 71 2B 22 3D 3E C9 .*=>r+s+p+q+"=>.
000170: 2A 7E 3E E5 2A 80 3E E5 3E 00 32 7E 3E 3A 3B 3E *~>.*.>.>.2~>:;>
000180: 32 7F 3E CD F0 20 22 80 3E EB 2B 56 2B 5E E5 EB 2.>.. ".>.+V+^..
000190: CD 76 25 CD F0 20 54 5D 3E 11 CD 83 08 CD 58 16 .v%.. T]>.....X.
0001A0: 3E 3E CD 83 08 CD F0 20 7E CD 83 08 3E C3 CD 83 >>..... ~...>...
0001B0: 08 2A 94 3E CD AD 08 E1 D5 EB 2A 43 3E E5 21 00 .*.>......*C>.!.
0001C0: 00 22 43 3E 2A 41 3E E5 EB 2B 56 2B 5E EB CD 6E ."C>*A>..+V+^..n
0001D0: 15 D1 D5 2A 41 3E A7 ED 52 23 23 3E C3 CD 83 08 ...*A>..R##>....
0001E0: ED 5B 37 3E 19 23 23 CD AD 08 D1 E1 DD E1 E5 D5 .[7>.##.........
0001F0: 2A 37 3E DD 75 00 DD 74 01 2A 41 3E A7 ED 52 CB *7>.u..t.*A>..R.
Size : 512 (Real : 512)
000000: 3C CB 1D CB 3C CB 1D DD 75 02 45 7D A7 28 2B 2A <...<...u.E}.(+*
000010: 41 3E ED 5B 3F 3E 19 2B 2B 2B 2B E5 DD E1 DD 6E A>.[?>.++++....n
000020: 00 DD 66 01 CD AD 08 DD 6E 02 DD 66 03 CD AD 08 ..f.....n..f....
000030: DD 2B DD 2B DD 2B DD 2B 10 E4 2A 43 3E 7C B5 20 .+.+.+.+..*C>|.
000040: 05 2A 37 3E 23 23 CD AD 08 E1 22 41 3E E1 22 43 .*7>##...."A>."C
000050: 3E ED 5B 37 3E DD 21 7E 3E CD BA 33 E1 22 80 3E >.[7>.!~>..3.".>
000060: E1 22 7E 3E C9 3A 7E 3E CB 77 28 28 1B 1B D5 CD ."~>.:~>.w((....
000070: 3F 33 43 41 53 45 2F 44 45 46 41 55 4C 54 20 6F ?3CASE/DEFAULT o
000080: 75 74 73 69 64 65 20 61 20 53 57 49 54 43 48 4F utside a SWITCHO
000090: CE C3 CA 23 EB 2B 56 2B 5E E5 EB CD 19 30 EB 2A ...#.+V+^....0.*
0000A0: 3F 3E ED 4B 41 3E 09 44 4D 21 CE FF 39 A7 ED 42 ?>.KA>.DM!..9..B
0000B0: DA 9B 32 60 69 73 23 72 ED 5B 37 3E 23 73 23 72 ..2`is#r.[7>#s#r
0000C0: 2A 41 3E 23 23 23 23 22 41 3E E1 2B 56 2B 5E EB *A>####"A>.+V+^.
0000D0: C3 6E 15 3A 7E 3E CB 77 C2 6E 23 2A 37 3E 22 43 .n.:~>.w.n#*7>"C
0000E0: 3E EB 2B 56 2B 5E EB C3 6E 15 DD 21 7E 3E 21 F4 >.+V+^..n..!~>!.
0000F0: 23 C3 DF 1F CD 3F 33 45 4E 44 43 41 53 45 20 75 #....?3ENDCASE u
000100: 73 65 64 20 6F 75 74 73 69 64 65 20 53 57 49 54 sed outside SWIT
000110: 43 48 4F CE C9 D5 DD E1 CD 8A 20 2A 64 3E E5 3E CHO....... *d>.>
000120: 2A CD 83 08 CD F0 20 22 64 3E CD 58 16 3E E5 CD *..... "d>.X.>..
000130: 83 08 3A 3B 3E 3D 3D 32 3B 3E DD 6E FA DD 66 FB ..:;>==2;>.n..f.
000140: CD 76 25 21 20 25 CD CC 1C 2A 64 3E CD 58 16 DD .v%! %...*d>.X..
000150: 6E F8 DD 66 F9 CD 76 25 2A 37 3E E5 DD 7E 00 CD n..f..v%*7>..~..
000160: B3 1A ED 4B 37 3E 03 2A 64 3E 71 23 70 DD 6E FE ...K7>.*d>q#p.n.
000170: DD 66 FF 7C B5 20 05 21 01 00 18 03 CD 19 30 E5 .f.|. .!......0.
000180: CB 7C 21 26 25 28 03 21 34 25 CD CC 1C CD F0 20 .|!&%(.!4%.....
000190: 22 74 3E CD 58 16 3E C5 CD 83 08 3A 3B 3E 67 2E "t>.X.>....:;>g.
0001A0: 00 22 72 3E 25 25 22 76 3E CD F0 20 22 78 3E 2A ."r>%%"v>.. "x>*
0001B0: 39 3E E5 2A 1C 3E E5 DD 6E F6 DD 66 F7 CD ED 1C 9>.*.>..n..f....
0001C0: DD 6E FC DD 66 FD CD 6E 15 3A 3B 3E C6 04 32 3B .n..f..n.:;>..2;
0001D0: 3E E1 22 1C 3E C1 2A 39 3E ED 43 39 3E CD 90 17 >.".>.*9>.C9>...
0001E0: ED 5B 37 3E DD 21 76 3E CD BA 33 3E E1 CD 83 08 .[7>.!v>..3>....
0001F0: D1 21 4D 25 CD 0B 32 3E C3 E1 CD 80 2D ED 5B 37 .!M%..2>....-.[7
Size : 512 (Real : 512)
000000: 3E DD 21 72 3E CD BA 33 3E E1 CD 83 08 3E 22 CD >.!r>..3>....>".
000010: 83 08 2A 64 3E CD 58 16 E1 22 64 3E CD 9D 20 C9 ..*d>.X.."d>.. .
000020: 05 7C EE 80 67 22 0D 11 00 00 EB 42 4B 7A EE 80 .|..g".....BKz..
000030: 57 ED 52 DA 0C 11 00 00 44 4D 7C EE 80 67 ED 52 W.R.....DM|..g.R
000040: DA 3E 23 CD 83 08 C9 3E 2B CD 83 08 C9 03 01 00 .>#....>+.......
000050: 41 25 FF FF 47 25 00 00 4C 25 3E 11 CD 83 08 60 A%..G%..L%>....`
000060: 69 CD AD 08 3E 19 CD 83 08 C9 3E C3 CD 83 08 2A i...>.....>....*
000070: 9A 3E CD AD 08 C9 7E EB 21 7E 25 C3 F6 31 4D 06 .>....~.!~%..1M.
000080: 26 4F 17 26 52 16 26 4B 7B 26 60 AA 26 43 90 26 &O.&R.&K{&`.&C.&
000090: 33 C8 26 2E 31 27 0C 3D 27 17 49 27 26 E6 27 20 3.&.1'.='.I'&.'
0000A0: FC 27 4E 4B 28 2F 66 28 35 C7 28 3D 18 29 39 4C .'NK(/f(5.(=.)9L
0000B0: 29 3B 27 2A 24 76 2A 08 9B 28 1F B1 28 19 40 2A );'*$v*..(..(.@*
0000C0: 18 56 2A 11 36 2A 10 60 2A 38 8A 2A 51 6C 2B 21 .V*.6*.`*8.*Ql+!
0000D0: A9 2A 09 94 2A 1B BA 2A 1A CB 2A 1D DC 2A 25 EB .*..*..*..*..*%.
0000E0: 2A 3C FA 2A 00 CD 4A 34 55 6E 65 78 70 65 63 74 *<.*..J4Unexpect
0000F0: 65 64 20 6E 6F 64 65 20 69 6E 20 65 78 70 72 65 ed node in expre
000100: 73 73 69 6F 6E 00 3E 21 CD 83 08 1B 1B 1A CD 83 ssion.>!........
000110: 08 13 1A CD 83 08 C9 DD E5 CD AC 32 38 18 DD 7E ...........28..~
000120: 05 FE 04 20 14 3E 21 CD 83 08 DD 7E 07 CD 83 08 ... .>!....~....
000130: DD 7E 08 CD 83 08 DD E1 C9 FE 02 30 24 3E DD CD .~.........0$>..
000140: 83 08 3E 66 CD 83 08 DD 7E 08 CD 83 08 3E DD CD ..>f....~....>..
000150: 83 08 3E 6E CD 83 08 DD 7E 08 3D CD 83 08 DD E1 ..>n....~.=.....
000160: C9 FE 04 30 0B 3E 21 CD 83 08 CD D9 31 DD E1 C9 ...0.>!.....1...
000170: 3E 2A CD 83 08 CD D9 31 DD E1 C9 DD E5 CD EA 1D >*.....1........
000180: 3E EB CD 83 08 DD E1 C9 DD E5 CD EA 1D DD E1 C9 >...............
000190: EB 2B 56 2B 5E EB CD 76 25 21 A0 26 CD CC 1C C9 .+V+^..v%!.&....
0001A0: 09 7C EE FF 67 7D EE FF 6F 23 EB 2B 56 2B 5E EB .|..g}..o#.+V+^.
0001B0: CD 76 25 21 BA 26 CD CC 1C C9 0D CB 7C 28 09 7C .v%!.&......|(.|
0001C0: EE FF 67 7D EE FF 6F 23 CD D1 26 3E EB CD 83 08 ..g}..o#..&>....
0001D0: C9 DD E5 2A 6E 3E E5 2A 70 3E E5 3E 00 32 6E 3E ...*n>.*p>.>.2n>
0001E0: 3A 3B 3E 32 6F 3E CD F0 20 22 70 3E EB 2B 56 2B :;>2o>.. "p>.+V+
0001F0: 5E EB CD 6E 15 DD 21 6E 3E DD CB 00 7E 20 20 CD ^..n..!n>...~ .
Size : 512 (Real : 512)
000000: 3F 33 56 41 4C 4F 46 20 6D 75 73 74 20 63 6F 6E ?3VALOF must con
000010: 74 61 69 6E 20 52 45 53 55 4C 54 49 D3 18 07 ED tain RESULTI....
000020: 5B 37 3E CD BA 33 E1 22 70 3E E1 22 6E 3E DD E1 [7>..3."p>."n>..
000030: C9 3E 21 CD 83 08 21 FF FF CD AD 08 C9 3E 21 CD .>!...!......>!.
000040: 83 08 21 00 00 CD AD 08 C9 EB 2B 56 2B 5E 1A 21 ..!.......+V+^.!
000050: 55 27 C3 F6 31 4F 7C 27 38 C7 28 26 DD 27 00 CD U'..1O|'8.(&.'..
000060: 3F 33 49 6E 76 61 6C 69 64 20 61 70 70 6C 69 63 ?3Invalid applic
000070: 61 74 69 6F 6E 20 6F 66 20 4C D6 C9 DD E5 CD AC ation of L......
000080: 32 38 20 DD 7E 05 FE 04 28 D5 FE 02 30 18 21 CD 28 .~...(...0.!.
000090: 27 CD CC 1C DD 6E 08 2D 26 00 CD AD 08 21 D2 27 '....n.-&....!.'
0000A0: CD CC 1C DD E1 C9 3E 21 CD 83 08 DD CB 06 46 20 ......>!......F
0000B0: 0C CD D9 31 21 D8 27 CD CC 1C DD E1 C9 DD 6E 07 ...1!.'.......n.
0000C0: DD 66 08 CB 3C CB 1D CD AD 08 DD E1 C9 04 DD E5 .f..<...........
0000D0: E1 11 05 19 CB 3C CB 1D 04 CB 3C CB 1D EB 2B 56 .....<....<...+V
0000E0: 2B 5E EB C3 76 25 EB 2B 56 2B 5E EB CD 76 25 21 +^..v%.+V+^..v%!
0000F0: F6 27 CD CC 1C C9 05 29 5E 23 56 EB EB 2B 56 2B .'.....)^#V..+V+
000100: 5E EB CD 76 25 21 0C 28 CD CC 1C C9 08 7C EE FF ^..v%!.(.....|..
000110: 67 7D EE FF 6F 3E 21 CD 83 08 2A 37 3E 01 03 00 g}..o>!...*7>...
000120: 7D CB 3C CB 1D 23 23 23 E6 01 20 03 01 04 00 CD }.<..###.. .....
000130: AD 08 3E C3 CD 83 08 CD F0 20 E5 CD 58 16 2A 37 ..>...... ..X.*7
000140: 3E 7D E6 01 28 03 CD 83 08 E1 C9 CD 15 28 1B 1A >}..(........(..
000150: 4F 06 00 03 1A CD 83 08 1B 0B 78 B1 20 F6 ED 5B O.........x. ..[
000160: 37 3E 73 23 72 C9 CD 15 28 E5 EB 2B 56 2B 5E CD 7>s#r...(..+V+^.
000170: 7B 28 E1 ED 5B 37 3E 73 23 72 C9 EB 7C B5 C8 7E {(..[7>s#r..|..~
000180: FE 36 20 10 2B 56 2B 5E 2B E5 EB CD 94 28 E1 56 .6 .+V+^+....(.V
000190: 2B 5E 18 E7 CD 19 30 CD AD 08 C9 CD E8 2B 21 A5 +^....0......+!.
0001A0: 28 CD CC 1C C9 0B A7 ED 52 21 FF FF 28 03 21 00 (.......R!..(.!.
0001B0: 00 CD E8 2B 21 BB 28 CD CC 1C C9 0B A7 ED 52 21 ...+!.(.......R!
0001C0: FF FF 20 03 21 00 00 D5 EB 2B 2B 2B 56 2B 5E CD .. .!....+++V+^.
0001D0: 3B 30 38 0A D1 CD E8 2B 3E 19 CD 83 08 C9 E1 D5 ;08....+>.......
0001E0: 2B 56 2B 5E EB CD 76 25 D1 21 EF 28 C3 0B 32 03 +V+^..v%.!.(..2.
0001F0: 01 00 0C 29 FF FF 12 29 00 00 17 29 3E 11 CD 83 ...)...)...)>...
Size : 512 (Real : 512)
000000: 08 60 69 CD AD 08 3E 19 CD 83 08 C9 3E 23 CD 83 .`i...>.....>#..
000010: 08 C9 3E 2B CD 83 08 C9 D5 EB 2B 2B 2B 56 2B 5E ..>+......+++V+^
000020: CD 3B 30 38 0F D1 CD E8 2B 21 30 29 CD CC 1C C9 .;08....+!0)....
000030: 03 A7 ED 52 E1 D5 2B 56 2B 5E EB CD 76 25 D1 21 ...R..+V+^..v%.!
000040: 00 00 A7 ED 52 EB 21 EF 28 C3 0B 32 D5 EB 2B 2B ....R.!.(..2..++
000050: 2B 56 2B 5E CD 3B 30 38 10 D1 CD E8 2B 3E CD CD +V+^.;08....+>..
000060: 83 08 2A 90 3E CD AD 08 C9 E1 D5 2B 56 2B 5E EB ..*.>......+V+^.
000070: CD 76 25 D1 21 7A 29 C3 0B 32 0E 01 00 DC 29 02 .v%.!z)..2....).
000080: 00 C9 29 03 00 DD 29 04 00 C9 29 05 00 E3 29 06 ..)...)...)...).
000090: 00 E9 29 07 00 EF 29 08 00 C9 29 09 00 F5 29 0A ..)...)...)...).
0000A0: 00 FB 29 10 00 C9 29 20 00 C9 29 40 00 C9 29 00 ..)...) ..)@..).
0000B0: 01 C9 29 3E 11 CD 83 08 60 69 CD AD 08 3E CD CD ..)>....`i...>..
0000C0: 83 08 2A 90 3E CD AD 08 C9 3E 00 CB 38 CB 19 38 ..*.>....>..8..8
0000D0: 03 3C 18 F7 47 3E 29 CD 83 08 10 F9 C9 21 01 2A .<..G>)......!.*
0000E0: C3 CC 1C 21 06 2A C3 CC 1C 21 0C 2A C3 CC 1C 21 ...!.*...!.*...!
0000F0: 12 2A C3 CC 1C 21 19 2A C3 CC 1C 21 20 2A C3 CC .*...!.*...! *..
000100: 1C 04 54 5D 29 19 05 54 5D 29 29 19 05 54 5D 29 ..T])..T]))..T])
000110: 19 29 06 54 5D 29 19 29 19 06 54 5D 29 29 29 19 .).T]).)..T]))).
000120: 06 29 54 5D 29 29 19 CD E8 2B 3E CD CD 83 08 2A .)T]))...+>....*
000130: 92 3E CD AD 08 C9 CD 6F 2F 21 4A 2A CD CC 1C C9 .>.....o/!J*....
000140: CD 62 2F 21 4A 2A CD CC 1C C9 0B A7 ED 52 21 FF .b/!J*.......R!.
000150: FF 38 03 21 00 00 CD 6F 2F 21 6A 2A CD CC 1C C9 .8.!...o/!j*....
000160: CD 62 2F 21 6A 2A CD CC 1C C9 0B A7 ED 52 21 FF .b/!j*.......R!.
000170: FF 30 03 21 00 00 CD E8 2B 3E CD CD 83 08 2A 92 .0.!....+>....*.
000180: 3E CD AD 08 3E EB CD 83 08 C9 CD C7 28 21 F6 27 >...>.......(!.'
000190: CD CC 1C C9 CD E8 2B 21 9E 2A CD CC 1C C9 0A 7C ......+!.*.....|
0001A0: AA EE FF 67 7D AB EE FF 6F CD E8 2B 21 B3 2A CD ...g}...o..+!.*.
0001B0: CC 1C C9 06 7C AA 67 7D AB 6F CD E8 2B 21 C4 2A ....|.g}.o..+!.*
0001C0: CD CC 1C C9 06 7C A2 67 7D A3 6F CD E8 2B 21 D5 .....|.g}.o..+!.
0001D0: 2A CD CC 1C C9 06 7C B2 67 7D B3 6F CD E8 2B 3E *.....|.g}.o..+>
0001E0: CD CD 83 08 2A 9E 3E CD AD 08 C9 CD E8 2B 3E CD ....*.>......+>.
0001F0: CD 83 08 2A A0 3E CD AD 08 C9 CD B0 20 DD E5 D5 ...*.>...... ...
Size : 512 (Real : 512)
000000: DD E1 21 00 00 22 82 3E 22 86 3E CD F0 20 22 84 ..!..".>".>.. ".
000010: 3E CD F0 20 22 88 3E DD 6E FA DD 66 FB 3E 00 DD >.. ".>.n..f.>..
000020: E5 CD E2 2C DD 21 82 3E ED 5B 37 3E CD BA 33 DD ...,.!.>.[7>..3.
000030: E1 DD 6E FE DD 66 FF CD 76 25 3E C3 CD 83 08 CD ..n..f..v%>.....
000040: F0 20 E5 CD 58 16 DD E5 DD 21 86 3E ED 5B 37 3E . ..X....!.>.[7>
000050: CD BA 33 DD E1 DD 6E FC DD 66 FD CD 76 25 E1 ED ..3...n..f..v%..
000060: 5B 37 3E 73 23 72 DD E1 CD C3 20 C9 EB CD 7B 2B [7>s#r.... ...{+
000070: 21 77 2B CD CC 1C C9 03 6E 26 00 DD E5 E5 DD E1 !w+.....n&......
000080: 06 06 21 B8 3E 5E 23 56 23 D5 10 F9 3A C4 3E F5 ..!.>^#V#...:.>.
000090: 21 CF 2B 11 B8 3E 01 0D 00 ED B0 DD E5 E1 DD 21 !.+..>.........!
0000A0: B8 3E 2B 56 2B 5E 2B DD 72 06 DD 73 05 56 2B 5E .>+V+^+.r..s.V+^
0000B0: DD 72 09 DD 73 08 21 C4 3E CD 76 25 F1 32 C4 3E .r..s.!.>.v%.2.>
0000C0: 06 06 21 C4 3E D1 2B 72 2B 73 10 F9 DD E1 C9 02 ..!.>.+r+s......
0000D0: 00 4D BA 3E 00 00 39 00 00 BF 3E 35 EB 2B 56 2B .M.>..9...>5.+V+
0000E0: 5E 2B 46 2B 6E 60 18 0B EB 2B 46 2B 4E 2B 56 2B ^+F+n`...+F+N+V+
0000F0: 5E 60 69 7E FE 4D 28 32 FE 4F 28 2E 1A FE 4D 28 ^`i~.M(2.O(...M(
000100: 4D FE 4F 28 49 E5 EB 7E CD D6 2C 30 0B EB CD 88 M.O(I..~..,0....
000110: 26 3E D5 CD 83 08 18 08 CD 76 25 3E E5 CD 83 08 &>.......v%>....
000120: E1 CD 76 25 3E D1 CD 83 08 C9 1A FE 4D 28 1F FE ..v%>.......M(..
000130: 4F 28 1B E5 EB 7E CD D6 2C 30 06 EB CD 88 26 18 O(...~..,0....&.
000140: 08 CD 76 25 3E EB CD 83 08 E1 CD 76 25 C9 D5 CD ..v%>......v%...
000150: 76 25 D1 CD 57 2C C9 1A FE 4F 28 11 3E 11 CD 83 v%..W,...O(.>...
000160: 08 1B 1B 1A CD 83 08 13 1A CD 83 08 C9 DD E5 CD ................
000170: AC 32 38 18 DD 7E 05 FE 04 20 14 3E 11 CD 83 08 .28..~... .>....
000180: DD 7E 07 CD 83 08 DD 7E 08 CD 83 08 DD E1 C9 FE .~.....~........
000190: 02 30 24 3E DD CD 83 08 3E 56 CD 83 08 DD 7E 08 .0$>....>V....~.
0001A0: CD 83 08 3E DD CD 83 08 3E 5E CD 83 08 DD 7E 08 ...>....>^....~.
0001B0: 3D CD 83 08 DD E1 C9 FE 04 30 0B 3E 11 CD 83 08 =........0.>....
0001C0: CD D9 31 DD E1 C9 3E ED CD 83 08 3E 5B CD 83 08 ..1...>....>[...
0001D0: CD D9 31 DD E1 C9 FE 4B 28 06 FE 4C 28 02 A7 C9 ..1....K(..L(...
0001E0: 37 C9 DD E5 47 3A 63 3E F5 78 32 63 3E EB 21 FC 7...G:c>.x2c>.!.
0001F0: 2C 1A CD F6 31 F1 32 63 3E DD E1 C9 19 B5 2D 18 ,...1.2c>.....-.
Size : 512 (Real : 512)
000000: C6 2D 10 CD 2D 11 D4 2D 08 DB 2D 1F 4A 2E 1B 98 .-..-..-..-.J...
000010: 2E 1A DE 2E 20 24 2F 2E 74 2E 0C 86 2E 4D 52 2F .... $/.t....MR/
000020: 4F 52 2F 00 EB CD 76 25 21 34 2D CD CC 1C 3E CA OR/...v%!4-...>.
000030: CD 37 2D C9 02 7C B5 F5 3A 63 3E A7 28 14 21 59 .7-..|..:c>.(.!Y
000040: 2D C1 7E B8 28 04 23 23 18 F8 23 7E DD 21 82 3E -.~.(.##..#~.!.>
000050: 18 1B F1 DD 21 86 3E 18 14 C2 CA CA C2 D2 DA DA ....!.>.........
000060: D2 C3 C3 C2 20 CA 28 D2 30 DA 38 C3 18 DD CB 00 .... .(.0.8.....
000070: 46 20 07 CD 83 08 CD D6 20 C9 DD 6E 02 DD 66 03 F ...... ..n..f.
000080: F5 44 4D ED 5B 37 3E A7 ED 52 11 7E 00 19 7C A7 .DM.[7>..R.~..|.
000090: 20 19 F1 E5 21 63 2D BE 28 04 23 23 18 F9 23 7E ...!c-.(.##..#~
0000A0: CD 83 08 E1 7D C6 80 CD 83 08 C9 F1 CD 83 08 60 ....}..........`
0000B0: 69 CD AD 08 C9 CD 62 2F 3E D2 21 70 2E F5 CD CC i.....b/>.!p....
0000C0: 1C F1 CD 37 2D C9 CD 6F 2F 3E DA 18 ED CD 62 2F ...7-..o/>....b/
0000D0: 3E DA 18 E6 CD 6F 2F 3E D2 18 DF 3E C2 F5 CD 4E >....o/>...>...N
0000E0: 2E D5 DD E1 D5 DD 56 FD DD 5E FC CD 3B 30 30 4F ......V..^..;00O
0000F0: E1 EB 7C B5 20 4A EB 2B 56 2B 5E 1A FE 4F 20 31 ..|. J.+V+^..O 1
000100: D5 CD AC 32 D1 38 34 DD 7E 05 FE 02 30 23 3E DD ...2.84.~...0#>.
000110: CD 83 08 3E 7E CD 83 08 DD 7E 08 CD 83 08 3E DD ...>~....~....>.
000120: CD 83 08 3E B6 CD 83 08 DD 7E 08 3D CD 83 08 18 ...>.....~.=....
000130: 0A EB CD 76 25 21 34 2D CD CC 1C F1 C3 37 2D D1 ...v%!4-.....7-.
000140: CD E8 2B 21 70 2E F1 C3 BD 2D 3E CA 18 8F D5 EB ..+!p....->.....
000150: 2B 56 2B 5E CD 3B 30 38 03 D1 A7 C9 E1 E5 2B 56 +V+^.;08......+V
000160: 2B 5E 2B 46 72 2B 4E 73 23 23 71 23 70 D1 37 C9 +^+Fr+Ns##q#p.7.
000170: 03 A7 ED 52 3A 63 3E A7 C8 3E C3 CD 83 08 DD 21 ...R:c>..>.....!
000180: 82 3E CD D6 20 C9 3A 63 3E A7 C0 3E C3 CD 83 08 .>.. .:c>..>....
000190: DD 21 86 3E CD D6 20 C9 2A 82 3E E5 2A 84 3E E5 .!.>.. .*.>.*.>.
0001A0: 3A 63 3E F5 21 00 00 22 82 3E CD F0 20 22 84 3E :c>.!..".>.. ".>
0001B0: EB 2B 56 2B 5E E5 EB 3E 00 CD E2 2C ED 5B 37 3E .+V+^..>...,.[7>
0001C0: DD 21 82 3E CD BA 33 D1 F1 32 63 3E E1 22 84 3E .!.>..3..2c>.".>
0001D0: E1 22 82 3E EB 2B 56 2B 5E EB CD E2 2C C9 2A 86 .".>.+V+^...,.*.
0001E0: 3E E5 2A 88 3E E5 3A 63 3E F5 21 00 00 22 86 3E >.*.>.:c>.!..".>
0001F0: CD F0 20 22 88 3E EB 2B 56 2B 5E E5 EB 3E FF CD .. ".>.+V+^..>..
Size : 512 (Real : 512)
000000: E2 2C ED 5B 37 3E DD 21 86 3E CD BA 33 D1 F1 32 .,.[7>.!.>..3..2
000010: 63 3E E1 22 88 3E E1 22 86 3E EB 2B 56 2B 5E EB c>.".>.".>.+V+^.
000020: CD E2 2C C9 CD 35 2F 3A 63 3E EE FF EB 2B 56 2B ..,..5/:c>...+V+
000030: 5E EB CD E2 2C 2A 82 3E ED 4B 86 3E ED 43 82 3E ^...,*.>.K.>.C.>
000040: 22 86 3E 2A 84 3E ED 4B 88 3E ED 43 84 3E 22 88 ".>*.>.K.>.C.>".
000050: 3E C9 D5 CD 3B 30 E1 D2 25 2D 7A B3 CA 86 2E C3 >...;0..%-z.....
000060: 74 2E EB 2B 46 2B 4E 2B 56 2B 5E 60 69 18 0A EB t..+F+N+V+^`i...
000070: 2B 56 2B 5E 2B 46 2B 6E 60 D5 E5 CD 3B 30 38 1C +V+^+F+n`...;08.
000080: D1 D5 CD 3B 30 38 58 E1 D1 CD F3 2B 21 93 2F CD ...;08X....+!./.
000090: CC 1C C9 08 7C EE 80 67 7A EE 80 57 E1 C1 D5 E5 ....|..gz..W....
0000A0: EB CD 3B 30 38 1D E1 CD 76 25 21 BE 2F CD CC 1C ..;08...v%!./...
0000B0: 3E 11 CD 83 08 E1 7C EE 80 67 CD AD 08 C9 04 7C >.....|..g.....|
0000C0: EE 80 67 3E 21 CD 83 08 7A EE 80 67 6B CD AD 08 ..g>!...z..gk...
0000D0: 3E 11 CD 83 08 E1 E1 7C EE 80 67 CD AD 08 C9 E1 >......|..g.....
0000E0: E1 D5 7E FE 4F 28 15 CD D6 2C 30 06 EB CD 88 26 ..~.O(...,0....&
0000F0: 18 0E CD 76 25 3E EB CD 83 08 18 04 EB CD 57 2C ...v%>........W,
000100: 21 14 30 CD CC 1C 3E 21 CD 83 08 E1 7C EE 80 67 !.0...>!....|..g
000110: CD AD 08 C9 04 7A EE 80 57 EB CD 3B 30 EB D8 CD .....z..W..;0...
000120: 3F 33 4E 65 65 64 20 63 6F 6E 73 74 61 6E 74 20 ?3Need constant
000130: 65 78 70 72 65 73 73 69 6F EE C9 1A 21 42 30 C3 expressio...!B0.
000140: F6 31 4F 6C 30 4D 8C 30 35 A8 30 3D B0 30 39 BA .1Ol0M.05.0=.09.
000150: 30 3B C4 30 24 CE 30 1B D9 30 1A E5 30 1D 0E 31 0;.0$.0..0..0..1
000160: 25 FB 30 2E F1 30 0C F6 30 00 A7 C9 DD E5 CD AC %.0..0..0.......
000170: 32 38 15 DD 7E 05 FE 04 28 04 DD E1 A7 C9 DD 5E 28..~...(......^
000180: 07 DD 56 08 DD E1 37 C9 DD E1 A7 C9 EB 2B 56 2B ..V...7......+V+
000190: 5E 37 C9 EB 2B 56 2B 5E E5 CD 3B 30 E1 D0 D5 2B ^7..+V+^..;0...+
0001A0: 56 2B 5E CD 3B 30 E1 C9 CD 93 30 D0 19 EB 37 C9 V+^.;0....0...7.
0001B0: CD 93 30 D0 A7 ED 52 EB 37 C9 CD 93 30 D0 CD 21 ..0...R.7...0..!
0001C0: 31 EB 37 C9 CD 93 30 D0 CD 3D 31 EB 37 C9 CD 93 1.7...0..=1.7...
0001D0: 30 D0 CD 3D 31 60 69 37 C9 CD 93 30 D0 7C A2 57 0..=1`i7...0.|.W
0001E0: 7D A3 5F 37 C9 CD 93 30 D0 7C B2 57 7D B3 5F 37 }._7...0.|.W}._7
0001F0: C9 11 FF FF 37 C9 11 00 00 37 C9 CD 93 30 D0 7A ....7....7...0.z
Size : 512 (Real : 512)
000000: B3 28 07 CB 3C CB 1D 1B 18 F5 54 5D 37 C9 CD 93 .(..<.....T]7...
000010: 30 D0 7A B3 28 07 CB 25 CB 14 1B 18 F5 54 5D 37 0.z.(..%.....T]7
000020: C9 CD 67 31 F5 78 06 10 29 CB 11 17 30 01 19 10 ..g1.x..)...0...
000030: F7 F1 CB 7F C8 EB 21 00 00 A7 ED 52 C9 CD 67 31 ......!....R..g1
000040: F5 3E 10 CB 21 CB 10 CB 15 CB 14 A7 ED 52 38 03 .>..!........R8.
000050: 03 18 01 19 3D 20 EC 50 59 EB F1 A7 C8 7C EE FF ....= .PY....|..
000060: 67 7D EE FF 6F 23 C9 44 4D 21 00 00 3E 00 CB 78 g}..o#.DM!..>..x
000070: 28 0A A7 ED 42 44 4D 21 00 00 3E 80 CB 7A C8 EE (...BDM!..>..z..
000080: 80 A7 ED 52 EB 21 00 00 C9 6F 3E DD CD 83 08 3E ...R.!...o>....>
000090: 74 CD 83 08 7D CD 83 08 3E DD CD 83 08 3E 75 CD t...}...>....>u.
0000A0: 83 08 7D 3D CD 83 08 C9 DD 7E 05 FE 02 30 07 DD ..}=.....~...0..
0000B0: 7E 08 CD 89 31 C9 FE 08 38 09 3E 22 CD 83 08 CD ~...1...8.>"....
0000C0: D9 31 C9 CD 3F 33 49 6E 76 61 6C 69 64 20 61 73 .1..?3Invalid as
0000D0: 73 69 67 6E 6D 65 6E F4 C9 DD 7E 06 A7 28 0D DD signmen...~..(..
0000E0: 7E 07 CD 83 08 DD 7E 08 CD 83 08 C9 DD 6E 07 DD ~.....~......n..
0000F0: 66 08 CD 58 16 C9 4F 7E A7 20 02 23 E9 B9 20 06 f..X..O~. .#.. .
000100: 23 4E 23 46 C5 C9 23 23 23 18 EC 7E 23 42 4B 5E #N#F..###..~#BK^
000110: 23 56 23 EB A7 ED 42 28 07 EB 23 23 3D 20 F0 E9 #V#...B(..##= ..
000120: EB 5E 23 56 EB E9 2A 1C 3E 01 09 00 09 44 4D 21 .^#V..*.>....DM!
000130: CE FF 39 A7 ED 42 DA 1C 35 60 69 ED 4B 3F 3E A7 ..9..B..5`i.K?>.
000140: ED 42 38 33 D5 2A 3F 3E ED 4B 41 3E 78 B1 28 1C .B83.*?>.KA>x.(.
000150: 0B 09 54 5D 01 5A 00 09 44 4D 21 CE FF 39 A7 ED ..T].Z..DM!..9..
000160: 42 38 38 60 69 ED 4B 41 3E EB ED B8 2A 3F 3E 11 B88`i.KA>...*?>.
000170: 5A 00 19 22 3F 3E D1 2A 1C 3E E5 ED 4B 39 3E 71 Z.."?>.*.>..K9>q
000180: 23 70 23 73 23 72 23 3A 3C 3E 77 11 05 00 19 22 #p#s#r#:<>w...."
000190: 1C 3E E1 22 39 3E 11 05 00 19 C9 CD 4A 34 4F 75 .>."9>......J4Ou
0001A0: 74 20 6F 66 20 6D 65 6D 6F 72 79 00 2A 39 3E 7C t of memory.*9>|
0001B0: B5 20 42 2A 1C 3E E5 D5 2A 37 3E 7D E6 01 20 0C . B*.>..*7>}.. .
0001C0: 3E 18 CD 83 08 3E 02 CD 83 08 18 0F 3E C3 CD 83 >....>......>...
0001D0: 08 2A 37 3E 23 23 23 23 CD AD 08 2A 37 3E 22 45 .*7>####...*7>"E
0001E0: 3E 3E 00 CD 83 08 CD 83 08 D1 3E 09 CD 6A 1D E1 >>........>..j..
0001F0: E5 DD E1 A7 C9 E5 DD E1 DD 6E 02 DD 66 03 A7 ED .........n..f...
Size : 512 (Real : 512)
000000: 52 20 33 3A 3C 3E 47 DD 7E 04 B8 28 24 A7 28 21 R 3:<>G.~..($.(!
000010: CD 64 33 44 79 6E 61 6D 69 63 20 66 72 65 65 20 .d3Dynamic free
000020: 76 61 72 69 61 62 6C 65 20 75 73 65 64 2C A0 37 variable used,.7
000030: C9 DD E5 E1 A7 C9 DD 6E 00 DD 66 01 C3 AF 32 3E .......n..f...2>
000040: 00 32 C7 3E CD 8D 33 E1 7E 23 CB 7F 20 05 CD D6 .2.>..3.~#.. ...
000050: 07 18 F5 E6 7F CD D6 07 E5 2A 5B 3E 23 22 5B 3E .........*[>#"[>
000060: CD 0D 34 C9 3E 00 32 C7 3E CD 8D 33 E1 D5 7E 23 ..4.>.2.>..3..~#
000070: CB 7F 20 05 CD D6 07 18 F5 E6 7F CD D6 07 E3 CD .. .............
000080: 3E 34 2A 5B 3E 23 22 5B 3E CD 0D 34 C9 3E 0D CD >4*[>#"[>..4.>..
000090: 12 0C 3E 0A CD 12 0C C9 42 4B E5 DD E1 DD 7E 06 ..>.....BK....~.
0000A0: A7 C0 DD 5E 07 DD 56 08 DD 71 07 DD 70 08 DD 36 ...^..V..q..p..6
0000B0: 06 01 EB 7C B5 C8 71 23 70 C9 DD CB 00 46 C0 DD ...|..q#p....F..
0000C0: CB 00 C6 DD 6E 02 DD 66 03 DD 73 02 DD 72 03 42 ....n..f..s..r.B
0000D0: 4B 18 E0 4F 78 32 3B 3E 47 79 4F 78 91 C8 FE 02 K..Ox2;>GyOx....
0000E0: 20 06 3E E1 CD 83 08 C9 FE 04 20 0B 3E E1 CD 83 .>....... .>...
0000F0: 08 3E E1 CD 83 08 C9 6F 26 00 3E 21 CD 83 08 CD .>.....o&.>!....
000100: AD 08 3E 39 CD 83 08 3E F9 CD 83 08 C9 21 28 34 ..>9...>.....!(4
000110: CD 24 08 2A 55 3E 7C B5 28 07 2B 56 2B 5E EB 18 .$.*U>|.(.+V+^..
000120: 03 21 29 34 CD 3E 34 C9 20 69 6E A0 67 6C 6F 62 .!)4.>4. in.glob
000130: 61 6C 20 64 65 66 69 6E 69 74 69 6F 6E F3 23 23 al definition.##
000140: 23 CD 24 08 C9 21 6C 34 18 0A E1 CD 8D 33 CD 24 #.$..!l4.....3.$
000150: 08 21 6B 34 ED 7B 22 3E CD 24 08 3E 00 32 C7 3E .!k4.{">.$.>.2.>
000160: 0E 6C 11 00 FF CD 05 00 C3 84 34 2E 0D 43 6F 6D .l........4..Com
000170: 70 69 6C 61 74 69 6F 6E 20 61 62 61 6E 64 6F 6E pilation abandon
000180: 65 64 2E 00 2A 5B 3E 7C B5 28 08 0E 6C 11 00 FF ed..*[>|.(..l...
000190: CD 05 00 CD 8D 33 CD 2B 0C FE 30 D2 00 00 21 AA .....3.+..0...!.
0001A0: 34 CD 24 08 CD FC 0B C3 00 00 50 6C 65 61 73 65 4.$.......Please
0001B0: 20 69 6E 73 65 72 74 20 73 79 73 74 65 6D 20 64 insert system d
0001C0: 69 73 63 20 74 68 65 6E 20 70 72 65 73 73 20 61 isc then press a
0001D0: 6E 79 20 6B 65 79 00 E5 CD 56 35 7A B3 CA FE 34 ny key...V5z...4
0001E0: E1 E5 D5 13 13 13 1A BE 20 08 FE 80 30 0C 23 13 ........ ...0.#.
0001F0: 18 F4 D1 EB 23 5E 23 56 18 E1 E1 D1 A7 C9 E3 54 ....#^#V.......T
Size : 512 (Real : 512)
000000: 5D 01 03 00 03 7E 23 CB 7F 28 F9 2A 1C 3E 09 E5 ]....~#..(.*.>..
000010: 21 CE FF 39 44 4D E1 A7 ED 42 38 17 CD 4A 34 4F !..9DM...B8..J4O
000020: 75 74 20 6F 66 20 73 79 6D 62 6F 6C 20 73 70 61 ut of symbol spa
000030: 63 65 00 EB E3 ED 5B 1C 3E 72 2B 73 EB D1 E5 36 ce....[.>r+s...6
000040: 00 23 36 00 23 36 00 23 1A 77 23 13 FE 80 38 F8 .#6.#6.#.w#...8.
000050: 22 1C 3E E1 37 C9 0E 00 7E 81 4F 7E 23 FE 80 38 ".>.7...~.O~#..8
000060: F7 79 E6 0F CB 27 4F 06 00 21 40 3C 09 5E 23 56 .y...'O..!@<.^#V
000070: C9 21 CE FF 39 44 4D 2A 1C 3E A7 ED 42 D2 1C 35 .!..9DM*.>..B..5
000080: 3E 00 32 30 3E 3A 21 3E FE 20 20 05 CD 1A 06 18 >.20>:!>. .....
000090: F4 FE 09 28 F7 FE 0D 20 20 2A 31 3E 23 22 31 3E ...(... *1>#"1>
0000A0: 3E FF 32 30 3E 3A 66 3E 3D 32 66 3E CC 97 38 CD >.20>:f>=2f>..8.
0000B0: 1A 06 FE 3E 20 CF C3 C8 36 CD EA 3A 30 24 CD B3 ...> ...6..:0$..
0000C0: 39 21 60 3C CD D7 34 22 1F 3E 30 07 3E 4F 77 32 9!`<..4".>0.>Ow2
0000D0: 1E 3E C9 7E 32 1E 3E FE 13 CA E3 38 FE 53 CA FE .>.~2.>....8.S..
0000E0: 38 C9 CD F9 3A 30 11 D6 30 6F 26 00 CD D2 39 22 8...:0..0o&...9"
0000F0: 1F 3E 3E 4D 32 1E 3E C9 FE 23 20 7A 3E 4D 32 1E .>>M2.>..# z>M2.
000100: 3E CD 1A 06 FE 62 20 14 CD 1A 06 CD D6 3A 38 52 >....b ......:8R
000110: 6F 26 00 CD FB 39 22 1F 3E 3E 4D C9 FE 6F 20 14 o&...9".>>M..o .
000120: CD 1A 06 CD D6 3A 38 3A 6F 26 00 CD E7 39 22 1F .....:8:o&...9".
000130: 3E 3E 4D C9 FE 78 20 14 CD 1A 06 CD D6 3A 38 22 >>M..x ......:8"
000140: 6F 26 00 CD 0D 3A 22 1F 3E 3E 4D C9 FE 30 38 12 o&...:".>>M..08.
000150: FE 38 30 0E D6 30 6F 26 00 CD E7 39 22 1F 3E 3E .80..0o&...9".>>
000160: 4D C9 CD 76 06 45 78 70 65 63 74 69 6E 67 20 6E M..v.Expecting n
000170: 75 6D 62 65 72 00 FE 27 20 21 CD 29 06 CD 29 3A umber..' !.)..):
000180: 6F 26 00 30 02 26 01 22 1F 3E CD 1A 06 FE 27 C2 o&.0.&.".>....'.
000190: 7D 38 CD 1A 06 3E 4D 32 1E 3E C9 21 C6 38 47 7E }8...>M2.>.!.8G~
0001A0: A7 28 10 B8 20 09 23 CD 1A 06 7E 32 1E 3E C9 23 .(.. .#...~2.>.#
0001B0: 23 18 EC 78 FE 2F 20 51 CD 1A 06 FE 5C 20 05 3E #..x./ Q....\ .>
0001C0: 1B C3 8A 37 FE 2F 20 0A CD 1A 06 FE 0D 20 F9 C3 ...7./ ...... ..
0001D0: 85 35 FE 2A 28 06 3E 3B 32 1E 3E C9 CD 1A 06 FE .5.*(.>;2.>.....
0001E0: 1A CA CA 37 FE 0D 20 07 2A 31 3E 23 22 31 3E FE ...7.. .*1>#"1>.
0001F0: 2A 20 E9 CD 1A 06 FE 1A CA CA 37 FE 2A 28 F4 FE * ........7.*(..
Size : 512 (Real : 512)
000000: 2F 20 D9 CD 1A 06 C3 85 35 FE 5C 20 19 CD 1A 06 / ......5.\ ....
000010: FE 2F 20 04 3E 1A 18 72 FE 3D 20 04 3E 1F 18 6A ./ .>..r.= .>..j
000020: 3E 20 32 1E 3E C9 FE 3C 20 19 CD 1A 06 FE 3D 20 > 2.>..< .....=
000030: 04 3E 18 18 55 FE 3C 20 04 3E 1D 18 4D 3E 19 32 .>..U.< .>..M>.2
000040: 1E 3E C9 FE 3E 20 19 CD 1A 06 FE 3D 20 04 3E 10 .>..> .....= .>.
000050: 18 38 FE 3E 20 04 3E 25 18 30 3E 11 32 1E 3E C9 .8.> .>%.0>.2.>.
000060: FE 2D 20 11 CD 1A 06 FE 3E 20 04 3E 3C 18 1B 3E .- .....> .><..>
000070: 3D 32 1E 3E C9 FE 3A 20 1A CD 1A 06 FE 3D 20 04 =2.>..: .....= .
000080: 3E 3E 18 06 3E 3F 32 1E 3E C9 F5 CD 1A 06 F1 32 >>..>?2.>......2
000090: 1E 3E C9 FE 24 20 2F CD 1A 06 FE 28 20 0F 3E 24 .>..$ /....( .>$
0000A0: CD B3 39 21 60 3C CD D7 34 3E 48 18 12 FE 29 C2 ..9!`<..4>H...).
0000B0: 6C 38 3E 24 CD B3 39 21 60 3C CD D7 34 3E 49 32 l8>$..9!`<..4>I2
0000C0: 1E 3E 22 1F 3E C9 FE 2E 20 25 2A CB 3E 2B 7E 32 .>".>... %*.>+~2
0000D0: 32 3E 2B 7E 32 31 3E 2B 7E 32 21 3E 11 A3 00 A7 2>+~21>+~2!>....
0000E0: ED 52 22 CB 3E A7 C2 85 35 3E 40 32 1E 3E C9 FE .R".>...5>@2.>..
0000F0: 1A 28 D7 FE 3D 20 1B CD 1A 06 FE 3E 20 05 3E 10 .(..= .....> .>.
000100: C3 8A 37 FE 3C 20 05 3E 18 C3 8A 37 3E 08 32 1E ..7.< .>...7>.2.
000110: 3E C9 FE 22 20 3D 21 C6 3C 0E 00 CD 29 06 FE 22 >.." =!.<...).."
000120: 20 09 21 C6 3C 71 3E 4E C3 8A 37 CD 29 3A 30 05 .!.<q>N..7.):0.
000130: CD 3A 38 3E 0A CD 3A 38 18 E1 23 0C 77 79 A7 C0 .:8>..:8..#.wy..
000140: CD 76 06 53 74 72 69 6E 67 20 74 6F 6F 20 6C 6F .v.String too lo
000150: 6E 67 00 FE 7E 20 10 CD 1A 06 FE 3D 3E 1F CA 8A ng..~ .....=>...
000160: 37 3E 20 32 1E 3E C9 3E 20 32 21 3E CD 76 06 42 7> 2.>.> 2!>.v.B
000170: 61 64 20 63 68 61 72 61 63 74 65 72 00 CD 76 06 ad character..v.
000180: 42 61 64 20 63 68 61 72 61 63 74 65 72 20 63 6F Bad character co
000190: 6E 73 74 61 6E 74 00 3E 05 32 66 3E CD 02 0C D0 nstant.>.2f>....
0001A0: FE EF 28 F8 CD C0 38 C0 CD FC 0B FE EF 28 F9 CD ..(...8......(..
0001B0: C0 38 C0 CD 4A 34 42 72 6F 6B 65 6E 20 69 6E 00 .8..J4Broken in.
0001C0: FE FC C8 FE 03 C9 2B 35 2C 36 3B 37 40 17 26 1B ......+5,6;7@.&.
0001D0: 7C 1A 21 38 2A 39 28 41 29 42 5B 41 5D 42 25 51 |.!8*9(A)B[A]B%Q
0001E0: 3F 52 00 CD 71 35 FE 4E 28 0B CD 76 06 42 61 64 ?R..q5.N(..v.Bad
0001F0: 20 47 45 54 00 21 C6 3C CD B6 08 C3 85 35 CD AB GET.!.<.....5..
Size : 512 (Real : 512)
000000: 39 18 03 CD A8 39 21 5D 3E FE 6C CA 62 39 21 C5 9....9!]>.l.b9!.
000010: 3E FE 62 20 44 CD A8 39 FE 2B 28 0D FE 2D C2 6E >.b D..9.+(..-.n
000020: 39 3E 00 32 C5 3E C3 89 39 3E FF 32 C5 3E CD A8 9>.2.>..9>.2.>..
000030: 39 FE 2C CA 8C 39 FE 3B CA 8C 39 FE 0D CA 8C 39 9.,..9.;..9....9
000040: FE 1A CA 8C 39 CD 71 35 FE 4D C2 6E 39 3A 1F 3E ....9.q5.M.n9:.>
000050: 32 C8 3E CD AB 39 C3 8C 39 21 C6 3E FE 73 28 02 2.>..9..9!.>.s(.
000060: 18 0C E5 CD A8 39 FE 2B 28 17 FE 2D 28 17 CD 76 .....9.+(..-(..v
000070: 06 42 61 64 20 6F 70 74 69 6F 6E 20 6C 69 6E 65 .Bad option line
000080: 00 3E FF 18 02 3E 00 E1 77 CD A8 39 FE 3B CA A2 .>...>..w..9.;..
000090: 39 FE 0D CA 71 35 FE 1A CA 71 35 FE 2C CA 03 39 9...q5...q5.,..9
0000A0: 18 CC CD 1A 06 C3 71 35 CD 1A 06 3A 21 3E FE 20 ......q5...:!>.
0000B0: 28 F6 C9 21 60 3C 77 23 CD 1A 06 CD F5 3A 38 08 (..!`<w#.....:8.
0000C0: FE 2E 28 04 FE 5F 20 04 77 23 18 EC 2B 7E F6 80 ..(.._ .w#..+~..
0000D0: 77 C9 CD 1A 06 CD F9 3A D0 29 5D 54 29 29 19 D6 w......:.)]T))..
0000E0: 30 5F 16 00 19 18 EB CD 1A 06 FE 30 D8 FE 38 D0 0_.........0..8.
0000F0: 29 29 29 D6 30 5F 16 00 19 18 EC CD 1A 06 FE 30 ))).0_.........0
000100: D8 FE 32 D0 29 D6 30 5F 16 00 19 18 EE CD 1A 06 ..2.).0_........
000110: CD F9 3A 38 08 FE 61 D8 FE 67 D0 D6 27 D6 30 29 ..:8..a..g..'.0)
000120: 29 29 29 5F 16 00 19 18 E4 FE 0D CA 7D 38 FE 2A )))_........}8.*
000130: 37 3F C0 E5 D5 CD 29 06 21 B2 3A 5F 7E 23 BB 28 7?....).!.:_~#.(
000140: 29 A7 20 F8 7B FE 78 CA 94 3A FE 58 CA 94 3A 5F ). .{.x..:.X..:_
000150: 21 B7 3A 7E A7 CA 7D 38 BB 28 04 23 23 18 F4 23 !.:~..}8.(.##..#
000160: 7E A7 20 03 3E 0D 37 D1 E1 C9 7B FE 0D 20 07 2A ~. .>.7...{.. .*
000170: 31 3E 23 22 31 3E CD 29 06 FE 2A 28 0F 21 B2 3A 1>#"1>.)..*(.!.:
000180: 5F 7E 23 A7 CA 7D 38 BB 28 E0 18 F5 D1 E1 CD 29 _~#..}8.(......)
000190: 06 C3 29 3A CD 1A 06 CD D6 3A DA 7D 38 87 87 87 ..):.....:.}8...
0001A0: 87 F5 CD 1A 06 CD D6 3A DA 7D 38 47 F1 B0 D1 E1 .......:.}8G....
0001B0: A7 C9 20 09 0D 0A 00 27 27 2A 2A 22 22 4E 00 6E .. ....''**""N.n
0001C0: 00 54 09 74 09 53 20 73 20 42 08 62 08 50 0C 70 .T.t.S s B.b.P.p
0001D0: 0C 43 0D 63 0D 00 CD F9 3A 38 0B FE 61 D8 FE 67 .C.c....:8..a..g
0001E0: 38 02 37 C9 D6 27 D6 30 A7 C9 FE 61 38 05 FE 7B 8.7..'.0...a8..{
0001F0: D0 37 C9 A7 C9 CD EA 3A D8 FE 30 38 05 FE 3A D0 .7.....:..08..:.
Size : 512 (Real : 512)
000000: 37 C9 A7 C9 61 6E 64 81 62 65 82 62 72 65 61 6B 7...and.be.break
000010: 83 62 79 84 63 61 73 65 85 64 6F 86 64 65 66 61 .by.case.do.defa
000020: 75 6C 74 87 65 71 88 65 71 76 89 65 6C 73 65 8A ult.eq.eqv.else.
000030: 65 6E 64 63 61 73 65 8B 66 61 6C 73 65 8C 66 6F endcase.false.fo
000040: 72 8D 66 69 6E 69 73 68 8E 67 6F 74 6F 8F 67 65 r.finish.goto.ge
000050: 90 67 72 91 67 74 91 67 6C 6F 62 61 6C 92 67 65 .gr.gt.global.ge
000060: 74 93 69 66 94 69 6E 74 6F 95 69 6E 6C 69 6E 65 t.if.into.inline
000070: D0 6C 65 74 96 6C 76 97 6C 65 98 6C 73 99 6C 74 .let.lv.le.ls.lt
000080: 99 6C 6F 67 6F 72 9A 6C 6F 67 61 6E 64 9B 6C 6F .logor.logand.lo
000090: 6F 70 9C 6C 73 68 69 66 74 9D 6D 61 6E 69 66 65 op.lshift.manife
0000A0: 73 74 9E 6E 65 9F 6E 6F 74 A0 6E 65 71 76 A1 6F st.ne.not.neqv.o
0000B0: 72 8A 72 65 73 75 6C 74 69 73 A2 72 65 74 75 72 r.resultis.retur
0000C0: 6E A3 72 65 6D A4 72 73 68 69 66 74 A5 72 76 A6 n.rem.rshift.rv.
0000D0: 72 65 70 65 61 74 A7 72 65 70 65 61 74 77 68 69 repeat.repeatwhi
0000E0: 6C 65 A8 72 65 70 65 61 74 75 6E 74 69 6C A9 73 le.repeatuntil.s
0000F0: 77 69 74 63 68 6F 6E AA 73 74 61 74 69 63 AB 74 witchon.static.t
000100: 6F AC 74 65 73 74 AD 74 72 75 65 AE 74 68 65 6E o.test.true.then
000110: 86 74 61 62 6C 65 AF 75 6E 74 69 6C B0 75 6E 6C .table.until.unl
000120: 65 73 73 B1 76 65 63 B2 76 61 6C 6F 66 B3 77 68 ess.vec.valof.wh
000130: 69 6C 65 B4 6F 70 74 69 6F 6E D3 61 62 73 E0 00 ile.option.abs..
000140: 1C F1 CD 37 2D C9 CD 6F 2F 3E DA 18 ED CD 62 2F ...7-..o/>....b/
000150: 3E DA 18 E6 CD 6F 2F 3E D2 18 DF 3E C2 F5 CD 4E >....o/>...>...N
000160: 2E D5 DD E1 D5 DD 56 FD DD 5E FC CD 3B 30 30 4F ......V..^..;00O
000170: E1 EB 7C B5 20 4A EB 2B 56 2B 5E 1A FE 4F 20 31 ..|. J.+V+^..O 1
000180: 1A AC 74 65 73 74 AD 74 72 75 65 AE 74 68 65 6E ..test.true.then
000190: 86 74 61 62 6C 65 AF 75 6E 74 69 6C B0 75 6E 6C .table.until.unl
0001A0: 65 73 73 B1 76 65 63 B2 76 61 6C 6F 66 B3 77 68 ess.vec.valof.wh
0001B0: 69 6C 65 B4 6F 70 74 69 6F 6E D3 61 62 73 E0 00 ile.option.abs..
0001C0: 1C F1 CD 37 2D C9 CD 6F 2F 3E DA 18 ED CD 62 2F ...7-..o/>....b/
0001D0: 3E DA 18 E6 CD 6F 2F 3E D2 18 DF 3E C2 F5 CD 4E >....o/>...>...N
0001E0: 2E D5 DD E1 D5 DD 56 FD DD 5E FC CD 3B 30 30 4F ......V..^..;00O
0001F0: E1 EB 7C B5 20 4A EB 2B 56 2B 5E 1A FE 4F 20 31 ..|. J.+V+^..O 1
Size : 512 (Real : 512)
000000: 00 42 43 50 4C 4D 31 20 20 20 20 20 00 00 00 00 .BCPLM1 ....
000010: 00 00 0A 00 00 C6 06 00 3E 81 00 00 00 00 00 00 ........>.......
000020: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
000030: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
000040: 3E 81 00 93 04 70 72 6F 64 75 63 65 20 74 68 65 >....produce the
000050: 20 65 72 72 6F 72 20 6D 65 73 73 61 67 65 20 27 error message '
000060: 64 79 6E 61 6D 69 63 20 66 72 65 65 20 76 61 72 dynamic free var
000070: 69 61 62 6C 65 20 75 73 65 64 27 2E 0D 0A 3E 70 iable used'...>p
000080: 3E 2D 2D 2D 21 2D 2D 2D 2D 2D 21 2D 2D 2D 2D 2D >---!-----!-----
000090: 21 2D 2D 2D 2D 2D 2D 2D 21 2D 2D 2D 2D 2D 2D 2D !-------!-------
0000A0: 21 2D 2D 2D 2D 2D 2D 2D 21 2D 2D 2D 2D 2D 2D 2D !-------!-------
0000B0: 21 2D 2D 2D 2D 2D 2D 2D 21 2D 2D 2D 2D 2D 2D 2D !-------!-------
0000C0: 21 2D 2D 2D 2D 52 0D 0A 3E 74 6D 20 33 0D 0A 3E !----R..>tm 3..>
0000D0: 62 6D 20 31 31 0D 0A 3E 68 6D 20 30 0D 0A 3E 66 bm 11..>hm 0..>f
0000E0: 6D 20 32 0D 0A 0D 0A 3E 63 65 E2 20 EC 42 43 50 m 2....>ce. .BCP
0000F0: 4C EC 0D 0A 0D 0A 3E 63 65 20 EC 54 48 45 20 53 L.....>ce .THE S
000100: 59 53 54 45 4D 53 20 50 52 4F 47 52 41 4D 4D 49 YSTEMS PROGRAMMI
000110: 4E 47 20 4C 41 4E 47 55 41 47 45 EC 0D 0A 0D 0A NG LANGUAGE.....
000120: 0D 0A 3E 63 65 20 EC 41 6D 73 74 72 61 64 20 50 ..>ce .Amstrad P
000130: 43 57 38 32 35 36 2F 38 35 31 32 EC 0D 0A 0D 0A CW8256/8512.....
000140: 3E 63 65 20 EC 41 6D 73 74 72 61 64 20 43 50 43 >ce .Amstrad CPC
000150: 36 31 32 38 2F 36 36 34 2F 34 36 34 EC 0D 0A E2 6128/664/464....
000160: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
000170: 20 20 20 20 20 20 0D 0A 0D 0A 0D 0A 3E 63 65 20 ......>ce
000180: E2 62 79 20 50 68 69 6C 6C 69 70 20 42 6C 65 6E .by Phillip Blen
000190: 6B 69 6E 73 6F 70 70 E2 0D 0A 0D 0A 0D 0A 0D 0A kinsopp.........
0001A0: 3E 63 65 20 20 20 20 20 20 20 20 20 20 20 20 20 >ce
0001B0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
0001C0: 20 20 20 E2 43 4F 4E 54 45 4E 54 53 E2 0D 0A 0D .CONTENTS....
0001D0: 0A 09 09 31 20 20 41 62 6F 75 74 20 42 43 50 4C ...1 About BCPL
0001E0: 09 09 09 20 09 20 09 20 33 0D 0A 09 09 32 20 20 ... . . 3....2
0001F0: 55 73 69 6E 67 20 41 72 6E 6F 72 20 42 43 50 4C Using Arnor BCPL
Size : 512 (Real : 512)
000000: 20 75 6E 64 65 72 20 43 50 2F 4D 09 09 20 35 0D under CP/M.. 5.
000010: 0A 09 09 33 20 20 55 73 69 6E 67 20 41 72 6E 6F ...3 Using Arno
000020: 72 20 42 43 50 4C 20 75 6E 64 65 72 20 41 4D 53 r BCPL under AMS
000030: 44 4F 53 09 09 20 38 0D 0A 09 09 34 20 20 43 6F DOS.. 8....4 Co
000040: 6D 70 69 6C 65 72 20 6F 70 74 69 6F 6E 73 09 09 mpiler options..
000050: 09 20 09 31 32 0D 0A 09 09 35 20 20 53 6F 6D 65 . .12....5 Some
000060: 20 6B 65 79 20 66 61 63 74 73 20 61 62 6F 75 74 key facts about
000070: 20 42 43 50 4C 09 09 09 31 34 0D 0A 09 09 36 20 BCPL...14....6
000080: 20 54 77 6F 20 42 43 50 4C 20 70 72 6F 67 72 61 Two BCPL progra
000090: 6D 73 09 09 09 09 31 36 0D 0A 09 09 37 20 20 53 ms....16....7 S
0000A0: 75 6D 6D 61 72 79 20 6F 66 20 74 68 65 20 42 43 ummary of the BC
0000B0: 50 4C 20 6C 61 6E 67 75 61 67 65 09 09 31 38 0D PL language..18.
0000C0: 0A 09 09 38 20 20 54 68 65 20 41 72 6E 6F 72 20 ...8 The Arnor
0000D0: 42 43 50 4C 20 6C 69 62 72 61 72 69 65 73 09 09 BCPL libraries..
0000E0: 09 32 36 0D 0A 09 09 39 20 20 44 69 66 66 65 72 .26....9 Differ
0000F0: 65 6E 63 65 73 20 66 72 6F 6D 20 73 74 61 6E 64 ences from stand
000100: 61 72 64 20 42 43 50 4C 09 09 34 39 0D 0A 0D 0A ard BCPL..49....
000110: 09 09 20 20 20 41 50 50 45 4E 44 49 43 45 53 0D .. APPENDICES.
000120: 0A 0D 0A 09 09 31 20 20 54 65 63 68 6E 69 63 61 .....1 Technica
000130: 6C 20 69 6E 66 6F 72 6D 61 74 69 6F 6E 09 09 09 l information...
000140: 35 31 0D 0A 09 09 32 20 20 53 75 6D 6D 61 72 79 51....2 Summary
000150: 20 61 6E 64 20 69 6E 64 65 78 20 6F 66 20 6C 69 and index of li
000160: 62 72 61 72 79 20 72 6F 75 74 69 6E 65 73 09 35 brary routines.5
000170: 34 0D 0A 09 09 33 20 20 50 6F 72 74 61 62 69 6C 4....3 Portabil
000180: 69 74 79 09 09 09 09 35 36 09 09 09 09 09 09 09 ity....56.......
000190: 0D 0A 09 09 34 20 20 45 72 72 6F 72 20 6D 65 73 ....4 Error mes
0001A0: 73 61 67 65 73 09 09 09 09 35 37 0D 0A 0D 0A 0D sages....57.....
0001B0: 0A 43 6F 70 79 72 69 67 68 74 20 28 63 29 20 41 .Copyright (c) A
0001C0: 72 6E 6F 72 20 4C 74 64 2E 2C 90 31 39 38 36 20 rnor Ltd.,.1986
0001D0: 20 20 20 20 20 20 20 20 20 20 20 20 49 73 73 75 Issu
0001E0: 65 20 31 2C 20 31 39 38 36 20 28 76 31 2E 30 30 e 1, 1986 (v1.00
0001F0: 2F 32 2E 30 30 29 0D 0A 0D 0A 41 4D 53 54 52 41 /2.00)....AMSTRA
Size : 512 (Real : 512)
000000: 44 20 69 73 20 61 20 72 65 67 69 73 74 65 72 65 D is a registere
000010: 64 20 74 72 61 64 65 6D 61 72 6B 20 6F 66 20 41 d trademark of A
000020: 6D 73 74 72 61 64 20 43 6F 6E 73 75 6D 65 72 20 mstrad Consumer
000030: 45 6C 65 63 74 72 6F 6E 69 63 73 20 70 6C 63 2E Electronics plc.
000040: 0D 0A 43 50 2F 4D 20 61 6E 64 20 43 50 2F 4D 20 ..CP/M and CP/M
000050: 50 6C 75 73 20 61 72 65 20 74 72 61 64 65 6D 61 Plus are tradema
000060: 72 6B 73 20 6F 66 20 44 69 67 69 74 61 6C 20 52 rks of Digital R
000070: 65 73 65 61 72 63 68 20 49 6E 63 2E 0D 0A 0D 0A esearch Inc.....
000080: 09 41 6C 6C 20 72 69 67 68 74 73 20 72 65 73 65 .All rights rese
000090: 72 76 65 64 2E 20 49 74 20 69 73 20 69 6C 6C 65 rved. It is ille
0000A0: 67 61 6C 20 74 6F 20 72 65 70 72 6F 64 75 63 65 gal to reproduce
0000B0: 20 6F 72 20 74 72 61 6E 73 6D 69 74 20 65 69 74 or transmit eit
0000C0: 68 65 72 20 0D 8A 74 68 69 73 20 6D 61 6E 75 61 her ..this manua
0000D0: 6C 20 6F 72 20 74 68 65 20 61 63 63 6F 6D 70 61 l or the accompa
0000E0: 6E 79 69 6E 67 90 20 63 6F 6D 70 75 74 65 72 90 nying. computer.
0000F0: 20 70 72 6F 67 72 61 6D 20 69 6E 20 61 6E 79 20 program in any
000100: 66 6F 72 6D 20 77 69 74 68 6F 75 74 20 0D 8A 74 form without ..t
000110: 68 65 20 77 72 69 74 74 65 6E 20 70 65 72 6D 69 he written permi
000120: 73 73 69 6F 6E 20 6F 66 90 20 74 68 65 90 20 63 ssion of. the. c
000130: 6F 70 79 72 69 67 68 74 90 20 68 6F 6C 64 65 72 opyright. holder
000140: 2E 90 20 53 6F 66 74 77 61 72 65 20 70 69 72 61 .. Software pira
000150: 63 79 20 69 73 20 0D 8A 74 68 65 66 74 2E 0D 0A cy is ..theft...
000160: 0D 0A 09 54 68 65 20 42 43 50 4C 20 63 6F 6D 70 ...The BCPL comp
000170: 69 6C 65 72 20 77 61 73 20 64 65 76 65 6C 6F 70 iler was develop
000180: 65 64 20 75 73 69 6E 67 20 74 68 65 20 4D 41 58 ed using the MAX
000190: 41 4D 20 61 73 73 65 6D 62 6C 65 72 20 52 4F 4D AM assembler ROM
0001A0: 2E 0D 0A 09 54 68 69 73 20 6D 61 6E 75 61 6C 20 ....This manual
0001B0: 77 61 73 20 77 72 69 74 74 65 6E 20 6F 6E 20 74 was written on t
0001C0: 68 65 90 20 50 52 4F 54 45 58 54 20 77 6F 72 64 he. PROTEXT word
0001D0: 20 70 72 6F 63 65 73 73 6F 72 20 61 6E 64 20 63 processor and c
0001E0: 68 65 63 6B 65 64 20 0D 8A 75 73 69 6E 67 20 50 hecked ..using P
0001F0: 52 4F 53 50 45 4C 4C 2E 0D 0A 0D 0A 3E 63 65 20 ROSPELL.....>ce
Size : 512 (Real : 512)
000000: E2 41 72 6E 6F 72 20 4C 74 64 2E 2C 20 31 31 38 .Arnor Ltd., 118
000010: 20 57 68 69 74 65 68 6F 72 73 65 20 52 6F 61 64 Whitehorse Road
000020: 2C 20 43 72 6F 79 64 6F 6E 2C 20 43 52 30 20 32 , Croydon, CR0 2
000030: 4A 46 2E E2 0D 0A 3E 6F 70 0D 0A 3E 66 6F 20 20 JF....>op..>fo
000040: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
000050: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
000060: 25 20 20 20 20 20 20 20 20 20 20 20 20 0D 0A 3E % ..>
000070: 63 65 20 E2 31 2E 20 41 42 4F 55 54 20 42 43 50 ce .1. ABOUT BCP
000080: 4C E2 0D 0A 0D 0A 0D 0A 09 42 43 50 4C 20 69 73 L........BCPL is
000090: 20 6F 66 74 65 6E 20 64 65 73 63 72 69 62 65 64 often described
0000A0: 20 61 73 90 20 61 20 22 73 79 73 74 65 6D 73 20 as. a "systems
0000B0: 70 72 6F 67 72 61 6D 6D 69 6E 67 20 6C 61 6E 67 programming lang
0000C0: 75 61 67 65 22 2E 20 54 68 69 73 20 0D 8A 6D 61 uage". This ..ma
0000D0: 6B 65 73 20 42 43 50 4C 20 73 6F 75 6E 64 20 76 kes BCPL sound v
0000E0: 65 72 79 20 67 72 61 6E 64 20 61 6E 64 90 20 74 ery grand and. t
0000F0: 65 63 68 6E 69 63 61 6C 2C 90 20 62 75 74 20 74 echnical,. but t
000100: 68 69 73 20 69 73 20 6E 6F 74 20 74 68 65 20 63 his is not the c
000110: 61 73 65 2E 20 0D 8A 42 43 50 4C 20 69 73 20 63 ase. ..BCPL is c
000120: 65 72 74 61 69 6E 6C 79 20 61 20 76 65 72 79 90 ertainly a very.
000130: 20 67 6F 6F 64 90 20 6C 61 6E 67 75 61 67 65 90 good. language.
000140: 20 66 6F 72 20 77 72 69 74 69 6E 67 20 70 72 6F for writing pro
000150: 67 72 61 6D 73 20 73 75 63 68 20 61 73 20 0D 8A grams such as ..
000160: 6F 70 65 72 61 74 69 6E 67 20 73 79 73 74 65 6D operating system
000170: 73 2C 20 63 6F 6D 70 69 6C 65 72 73 20 61 6E 64 s, compilers and
000180: 20 77 6F 72 64 20 70 72 6F 63 65 73 73 6F 72 73 word processors
000190: 20 62 75 74 20 74 68 65 20 66 65 61 74 75 72 65 but the feature
0001A0: 73 20 74 68 61 74 20 0D 8A 6D 61 6B 65 20 42 43 s that ..make BC
0001B0: 50 4C 20 69 64 65 61 6C 90 20 66 6F 72 90 20 74 PL ideal. for. t
0001C0: 68 65 73 65 90 20 61 70 70 6C 69 63 61 74 69 6F hese. applicatio
0001D0: 6E 73 90 20 61 6C 73 6F 90 20 6D 61 6B 65 90 20 ns. also. make.
0001E0: 69 74 20 61 6E 20 65 78 63 65 6C 6C 65 6E 74 20 it an excellent
0001F0: 0D 8A 67 65 6E 65 72 61 6C 20 70 75 72 70 6F 73 ..general purpos
Size : 512 (Real : 512)
000000: 65 20 6C 61 6E 67 75 61 67 65 2E 0D 0A 09 57 68 e language....Wh
000010: 61 74 20 61 72 65 20 74 68 65 73 65 20 66 65 61 at are these fea
000020: 74 75 72 65 73 3F 20 46 69 72 73 74 2C 20 66 6C tures? First, fl
000030: 65 78 69 62 69 6C 69 74 79 2E 20 42 43 50 4C 20 exibility. BCPL
000040: 70 72 6F 67 72 61 6D 73 20 61 72 65 20 6E 6F 74 programs are not
000050: 20 0D 8A 63 6F 6E 73 74 72 61 69 6E 65 64 20 62 ..constrained b
000060: 79 20 72 75 6C 65 73 20 61 73 20 74 6F 20 77 68 y rules as to wh
000070: 69 63 68 90 20 6F 70 65 72 61 74 69 6F 6E 73 20 ich. operations
000080: 63 61 6E 20 62 65 20 70 65 72 66 6F 72 6D 65 64 can be performed
000090: 20 6F 6E 20 77 68 69 63 68 20 0D 8A 74 79 70 65 on which ..type
0000A0: 20 6F 66 20 76 61 72 69 61 62 6C 65 2E 20 49 6E of variable. In
0000B0: 64 65 65 64 20 74 68 65 72 65 20 61 72 65 90 20 deed there are.
0000C0: 6E 6F 20 64 69 66 66 65 72 65 6E 74 20 76 61 72 no different var
0000D0: 69 61 62 6C 65 20 74 79 70 65 73 20 2D 2D 20 61 iable types -- a
0000E0: 6C 6C 20 0D 8A 76 61 72 69 61 62 6C 65 73 20 61 ll ..variables a
0000F0: 72 65 90 20 73 69 6D 70 6C 65 90 20 6E 75 6D 62 re. simple. numb
000100: 65 72 73 90 20 61 6E 64 90 20 6F 74 68 65 72 90 ers. and. other.
000110: 20 74 79 70 65 73 90 20 61 6E 64 90 20 73 74 72 types. and. str
000120: 75 63 74 75 72 65 73 20 61 72 65 20 0D 8A 61 63 uctures are ..ac
000130: 68 69 65 76 65 64 90 20 62 79 90 20 75 73 69 6E hieved. by. usin
000140: 67 90 20 76 61 72 69 61 62 6C 65 73 90 20 64 69 g. variables. di
000150: 66 66 65 72 65 6E 74 6C 79 2E 90 90 20 54 68 69 fferently... Thi
000160: 73 90 20 6D 61 6B 65 73 90 20 42 43 50 4C 90 20 s. makes. BCPL.
000170: 76 65 72 79 20 0D 8A 64 69 66 66 65 72 65 6E 74 very ..different
000180: 20 66 72 6F 6D 20 6F 74 68 65 72 20 6C 61 6E 67 from other lang
000190: 75 61 67 65 73 20 73 75 63 68 20 61 73 90 20 42 uages such as. B
0001A0: 41 53 49 43 90 20 61 6E 64 20 50 41 53 43 41 4C ASIC. and PASCAL
0001B0: 2E 20 41 20 73 74 72 69 6E 67 20 69 73 20 0D 8A . A string is ..
0001C0: 74 72 65 61 74 65 64 20 61 73 20 61 20 76 61 72 treated as a var
0001D0: 69 61 62 6C 65 20 70 6F 69 6E 74 69 6E 67 20 74 iable pointing t
0001E0: 6F 90 20 61 90 20 73 74 72 69 6E 67 2C 20 73 69 o. a. string, si
0001F0: 6D 69 6C 61 72 6C 79 20 61 20 76 65 63 74 6F 72 milarly a vector
Size : 512 (Real : 512)
000000: 2E 20 45 76 65 6E 20 0D 8A 70 72 6F 63 65 64 75 . Even ..procedu
000010: 72 65 73 90 20 61 72 65 90 20 73 69 6D 70 6C 79 res. are. simply
000020: 90 20 76 61 72 69 61 62 6C 65 73 90 20 63 6F 6E . variables. con
000030: 74 61 69 6E 69 6E 67 90 90 20 74 68 65 90 20 61 taining.. the. a
000040: 64 64 72 65 73 73 90 20 6F 66 90 20 74 68 65 20 ddress. of. the
000050: 0D 8A 70 72 6F 63 65 64 75 72 65 2C 20 61 6E 64 ..procedure, and
000060: 20 74 68 65 73 65 20 6D 61 79 20 62 65 20 61 73 these may be as
000070: 73 69 67 6E 65 64 20 74 6F 20 6F 72 20 70 61 73 signed to or pas
000080: 73 65 64 20 61 73 20 70 61 72 61 6D 65 74 65 72 sed as parameter
000090: 73 2E 0D 0A 09 54 68 69 73 20 66 6C 65 78 69 62 s....This flexib
0000A0: 69 6C 69 74 79 20 61 6C 6C 6F 77 73 20 74 68 65 ility allows the
0000B0: 20 42 43 50 4C 20 70 72 6F 67 72 61 6D 6D 65 72 BCPL programmer
0000C0: 90 20 74 6F 20 61 63 63 65 73 73 20 61 6E 79 20 . to access any
0000D0: 70 61 72 74 20 6F 66 20 0D 8A 6D 65 6D 6F 72 79 part of ..memory
0000E0: 20 28 69 6E 64 65 65 64 20 61 6E 79 20 69 6E 64 (indeed any ind
0000F0: 69 76 69 64 75 61 6C 20 62 69 74 29 20 61 6E 64 ividual bit) and
000100: 90 20 73 6F 20 64 6F 20 74 68 69 6E 67 73 20 74 . so do things t
000110: 68 61 74 20 63 61 6E 20 6E 6F 72 6D 61 6C 6C 79 hat can normally
000120: 20 0D 8A 6F 6E 6C 79 20 62 65 20 64 6F 6E 65 20 ..only be done
000130: 69 6E 20 6D 61 63 68 69 6E 65 20 63 6F 64 65 2E in machine code.
000140: 20 4F 66 20 63 6F 75 72 73 65 20 66 72 65 65 64 Of course freed
000150: 6F 6D 20 61 6C 77 61 79 73 20 63 61 72 72 69 65 om always carrie
000160: 73 20 61 20 70 72 69 63 65 20 0D 8A 2D 2D 20 72 s a price ..-- r
000170: 65 73 70 6F 6E 73 69 62 69 6C 69 74 79 2E 20 49 esponsibility. I
000180: 6E 20 6C 61 6E 67 75 61 67 65 73 20 73 75 63 68 n languages such
000190: 20 61 73 20 50 41 53 43 41 4C 20 74 68 65 20 63 as PASCAL the c
0001A0: 6F 6D 70 69 6C 65 72 20 64 65 74 65 63 74 73 20 ompiler detects
0001B0: 61 6E 20 0D 8A 61 74 74 65 6D 70 74 20 74 6F 20 an ..attempt to
0001C0: 70 65 72 66 6F 72 6D 20 61 6E 90 20 69 6C 6C 65 perform an. ille
0001D0: 67 61 6C 90 20 6F 72 90 20 6D 65 61 6E 69 6E 67 gal. or. meaning
0001E0: 6C 65 73 73 90 20 6F 70 65 72 61 74 69 6F 6E 2E less. operation.
0001F0: 20 49 6E 20 42 43 50 4C 20 69 74 20 0D 8A 72 61 In BCPL it ..ra
Size : 512 (Real : 512)
000000: 72 65 6C 79 20 64 6F 65 73 20 73 6F 90 20 61 6E rely does so. an
000010: 64 90 20 69 74 90 20 69 73 90 20 71 75 69 74 65 d. it. is. quite
000020: 90 20 70 6F 73 73 69 62 6C 65 90 20 74 6F 90 20 . possible. to.
000030: 63 72 61 73 68 90 20 74 68 65 20 73 79 73 74 65 crash. the syste
000040: 6D 20 62 79 20 0D 8A 63 6F 72 72 75 70 74 69 6E m by ..corruptin
000050: 67 20 74 68 65 20 73 79 73 74 65 6D 20 6D 65 6D g the system mem
000060: 6F 72 79 20 6F 72 20 6A 75 6D 70 69 6E 67 20 74 ory or jumping t
000070: 6F 20 61 6E 20 69 6C 6C 65 67 61 6C 20 61 64 64 o an illegal add
000080: 72 65 73 73 2E 0D 0A 0D 0A 0D 0A E2 41 6E 20 65 ress........An e
000090: 73 73 65 6E 74 69 61 6C 20 62 6F 6F 6B 20 74 6F ssential book to
0000A0: 20 72 65 61 64 E2 0D 0A 0D 0A 09 54 68 69 73 20 read......This
0000B0: 6D 61 6E 75 61 6C 20 67 69 76 65 73 20 61 6E 20 manual gives an
0000C0: 69 6E 74 72 6F 64 75 63 74 69 6F 6E 90 20 74 6F introduction. to
0000D0: 90 20 63 65 72 74 61 69 6E 20 61 73 70 65 63 74 . certain aspect
0000E0: 73 20 6F 66 20 42 43 50 4C 2C 20 61 73 20 0D 8A s of BCPL, as ..
0000F0: 77 65 6C 6C 20 61 73 20 61 20 73 75 6D 6D 61 72 well as a summar
000100: 79 20 6F 66 90 20 74 68 65 90 20 66 61 63 69 6C y of. the. facil
000110: 69 74 69 65 73 90 20 69 6D 70 6C 65 6D 65 6E 74 ities. implement
000120: 65 64 20 69 6E 20 74 68 69 73 20 76 65 72 73 69 ed in this versi
000130: 6F 6E 2E 20 49 74 20 0D 8A 64 6F 65 73 20 6E 6F on. It ..does no
000140: 74 20 61 74 74 65 6D 70 74 20 74 6F 90 20 62 65 t attempt to. be
000150: 90 20 61 90 20 63 6F 6D 70 6C 65 74 65 90 20 67 . a. complete. g
000160: 75 69 64 65 90 20 74 6F 90 20 42 43 50 4C 20 70 uide. to. BCPL p
000170: 72 6F 67 72 61 6D 6D 69 6E 67 2C 20 61 6E 64 20 rogramming, and
000180: 0D 8A 61 73 73 75 6D 65 73 20 73 6F 6D 65 20 6B ..assumes some k
000190: 6E 6F 77 6C 65 64 67 65 20 6F 66 90 20 70 72 6F nowledge of. pro
0001A0: 67 72 61 6D 6D 69 6E 67 90 20 28 66 6F 72 90 20 gramming. (for.
0001B0: 65 78 61 6D 70 6C 65 90 20 69 6E 20 42 41 53 49 example. in BASI
0001C0: 43 29 2E 20 4E 6F 74 65 20 0D 8A 74 68 61 74 20 C). Note ..that
0001D0: 65 78 61 6D 70 6C 65 73 20 6F 66 20 74 68 65 20 examples of the
0001E0: 75 73 65 90 20 6F 66 90 20 6D 6F 73 74 90 20 66 use. of. most. f
0001F0: 65 61 74 75 72 65 73 90 20 6F 66 90 20 42 43 50 eatures. of. BCP
Size : 512 (Real : 512)
000000: 4C 20 61 72 65 20 74 6F 20 62 65 20 66 6F 75 6E L are to be foun
000010: 64 20 0D 8A 61 6D 6F 6E 67 20 74 68 65 20 65 78 d ..among the ex
000020: 61 6D 70 6C 65 20 70 72 6F 67 72 61 6D 73 20 63 ample programs c
000030: 6F 6E 74 61 69 6E 65 64 20 6F 6E 20 74 68 65 20 ontained on the
000040: 64 69 73 63 2E 0D 0A 0D 0A 09 54 68 65 20 64 65 disc......The de
000050: 66 69 6E 69 74 69 76 65 90 20 62 6F 6F 6B 90 20 finitive. book.
000060: 6F 6E 90 20 42 43 50 4C 2C 90 20 62 6F 74 68 90 on. BCPL,. both.
000070: 20 61 73 90 20 61 6E 90 20 69 6E 74 72 6F 64 75 as. an. introdu
000080: 63 74 69 6F 6E 90 20 61 6E 64 20 61 20 0D 8A 72 ction. and a ..r
000090: 65 66 65 72 65 6E 63 65 20 69 73 20 20 22 42 43 eference is "BC
0000A0: 50 4C 90 20 2D 2D 90 20 74 68 65 90 20 6C 61 6E PL. --. the. lan
0000B0: 67 75 61 67 65 90 20 61 6E 64 90 20 69 74 73 90 guage. and. its.
0000C0: 20 63 6F 6D 70 69 6C 65 72 22 90 20 62 79 20 4D compiler". by M
0000D0: 61 72 74 69 6E 20 0D 8A 52 69 63 68 61 72 64 73 artin ..Richards
0000E0: 20 61 6E 64 20 43 6F 6C 69 6E 20 57 68 69 74 62 and Colin Whitb
0000F0: 79 2D 53 74 72 65 76 65 6E 73 2E 0D 0A 09 54 68 y-Strevens....Th
000100: 69 73 20 62 6F 6F 6B 20 69 73 20 65 73 73 65 6E is book is essen
000110: 74 69 61 6C 90 20 72 65 61 64 69 6E 67 90 20 66 tial. reading. f
000120: 6F 72 90 20 74 68 65 90 20 42 43 50 4C 90 20 70 or. the. BCPL. p
000130: 72 6F 67 72 61 6D 6D 65 72 2E 20 49 74 20 69 73 rogrammer. It is
000140: 20 0D 8A 70 75 62 6C 69 73 68 65 64 20 62 79 20 ..published by
000150: 43 61 6D 62 72 69 64 67 65 90 20 55 6E 69 76 65 Cambridge. Unive
000160: 72 73 69 74 79 90 20 50 72 65 73 73 90 20 61 74 rsity. Press. at
000170: 90 20 61 90 20 72 65 61 73 6F 6E 61 62 6C 65 90 . a. reasonable.
000180: 20 70 72 69 63 65 20 69 6E 20 0D 8A 70 61 70 65 price in ..pape
000190: 72 62 61 63 6B 2E 20 4D 61 72 74 69 6E 20 52 69 rback. Martin Ri
0001A0: 63 68 61 72 64 73 20 6F 72 69 67 69 6E 61 6C 6C chards originall
0001B0: 79 90 20 64 65 73 69 67 6E 65 64 90 20 42 43 50 y. designed. BCP
0001C0: 4C 90 20 69 6E 20 43 61 6D 62 72 69 64 67 65 20 L. in Cambridge
0001D0: 69 6E 20 0D 8A 31 39 36 37 2E 20 54 68 69 73 20 in ..1967. This
0001E0: 62 6F 6F 6B 20 77 69 6C 6C 20 68 65 6E 63 65 66 book will hencef
0001F0: 6F 72 74 68 20 62 65 20 72 65 66 65 72 72 65 64 orth be referred
Size : 512 (Real : 512)
000000: 20 74 6F 20 61 73 20 22 74 68 65 20 42 43 50 4C to as "the BCPL
000010: 20 62 6F 6F 6B 22 2E 0D 0A 09 49 6E 20 70 61 72 book"....In par
000020: 74 69 63 75 6C 61 72 20 74 68 65 20 62 6F 6F 6B ticular the book
000030: 20 63 6F 6E 74 61 69 6E 73 90 20 61 6E 20 65 78 contains. an ex
000040: 63 65 6C 6C 65 6E 74 20 73 65 63 74 69 6F 6E 20 cellent section
000050: 6F 6E 20 22 41 64 76 61 6E 63 65 64 20 0D 8A 66 on "Advanced ..f
000060: 61 63 69 6C 69 74 69 65 73 22 90 20 77 68 69 63 acilities". whic
000070: 68 90 20 63 6F 76 65 72 73 2C 90 90 20 61 6D 6F h. covers,.. amo
000080: 6E 67 90 90 20 6F 74 68 65 72 90 90 20 74 68 69 ng.. other.. thi
000090: 6E 67 73 2C 90 90 20 70 6F 69 6E 74 65 72 73 2C ngs,.. pointers,
0000A0: 90 20 62 69 74 20 0D 8A 6F 70 65 72 61 74 69 6F . bit ..operatio
0000B0: 6E 73 2C 20 72 65 63 75 72 73 69 6F 6E 20 61 6E ns, recursion an
0000C0: 64 20 73 63 6F 70 65 20 72 75 6C 65 73 2E 20 0D d scope rules. .
0000D0: 0A 09 46 6F 72 20 74 68 65 20 70 75 72 70 6F 73 ..For the purpos
0000E0: 65 73 20 6F 66 90 20 74 68 69 73 90 20 6D 61 6E es of. this. man
0000F0: 75 61 6C 2C 90 20 74 68 65 90 20 42 43 50 4C 90 ual,. the. BCPL.
000100: 20 62 6F 6F 6B 20 69 73 20 72 65 67 61 72 64 65 book is regarde
000110: 64 20 61 73 20 0D 8A 64 65 66 69 6E 69 6E 67 20 d as ..defining
000120: 22 73 74 61 6E 64 61 72 64 22 20 42 43 50 4C 2C "standard" BCPL,
000130: 20 61 6E 64 20 61 6E 79 90 20 6D 69 6E 6F 72 20 and any. minor
000140: 76 61 72 69 61 74 69 6F 6E 73 20 6F 72 20 65 6E variations or en
000150: 68 61 6E 63 65 6D 65 6E 74 73 20 74 6F 20 0D 8A hancements to ..
000160: 74 68 69 73 20 73 74 61 6E 64 61 72 64 20 61 72 this standard ar
000170: 65 20 70 6F 69 6E 74 65 64 20 6F 75 74 2E 0D 0A e pointed out...
000180: 3E 6F 70 0D 0A 3E 63 65 20 E2 32 2E 20 55 53 49 >op..>ce .2. USI
000190: 4E 47 20 41 52 4E 4F 52 20 42 43 50 4C 20 55 4E NG ARNOR BCPL UN
0001A0: 44 45 52 20 43 50 2F 4D E2 0D 0A 0D 0A 0D 0A 09 DER CP/M........
0001B0: 43 50 43 20 75 73 65 72 73 20 6D 61 79 90 20 75 CPC users may. u
0001C0: 73 65 90 20 42 43 50 4C 90 20 75 6E 64 65 72 90 se. BCPL. under.
0001D0: 20 43 50 2F 4D 90 20 28 65 69 74 68 65 72 90 20 CP/M. (either.
0001E0: 32 2E 32 90 20 6F 72 20 50 6C 75 73 29 2E 20 54 2.2. or Plus). T
0001F0: 68 65 20 0D 8A 73 75 70 70 6C 69 65 64 20 64 69 he ..supplied di
Size : 512 (Real : 512)
000000: 73 63 20 68 61 73 20 74 68 65 20 43 50 2F 4D 20 sc has the CP/M
000010: 76 65 72 73 69 6F 6E 20 6F 66 20 74 68 65 20 70 version of the p
000020: 72 6F 67 72 61 6D 20 6F 6E 20 6F 6E 65 20 73 69 rogram on one si
000030: 64 65 2C 20 61 6E 64 20 74 68 65 20 0D 8A 41 4D de, and the ..AM
000040: 53 44 4F 53 20 76 65 72 73 69 6F 6E 20 6F 6E 20 SDOS version on
000050: 74 68 65 20 6F 74 68 65 72 2E 20 0D 0A 0D 0A 4E the other. ....N
000060: 6F 74 65 3A 20 50 43 57 38 32 35 36 2F 38 35 31 ote: PCW8256/851
000070: 32 20 75 73 65 72 73 20 73 68 6F 75 6C 64 20 69 2 users should i
000080: 67 6E 6F 72 65 20 74 68 65 20 41 4D 53 44 4F 53 gnore the AMSDOS
000090: 20 73 69 64 65 20 6F 66 20 74 68 65 20 64 69 73 side of the dis
0000A0: 63 20 61 6E 64 20 0D 8A 74 68 65 20 45 50 52 4F c and ..the EPRO
0000B0: 4D 2C 20 61 73 90 20 77 65 6C 6C 90 20 61 73 90 M, as. well. as.
0000C0: 20 61 6E 79 90 20 72 65 66 65 72 65 6E 63 65 73 any. references
0000D0: 90 20 74 6F 90 20 41 6D 73 64 6F 73 90 20 6F 72 . to. Amsdos. or
0000E0: 20 74 68 65 20 45 50 52 4F 4D 2F 52 4F 4D 20 0D the EPROM/ROM .
0000F0: 8A 76 65 72 73 69 6F 6E 2C 20 74 68 72 6F 75 67 .version, throug
000100: 68 6F 75 74 20 74 68 69 73 20 6D 61 6E 75 61 6C hout this manual
000110: 2E 20 54 68 65 73 65 20 61 72 65 20 66 6F 72 20 . These are for
000120: 43 50 43 20 75 73 65 72 73 20 6F 6E 6C 79 2E 20 CPC users only.
000130: 0D 0A 0D 0A 09 54 68 65 20 6E 65 77 63 6F 6D 65 .....The newcome
000140: 72 20 74 6F 20 74 68 65 20 6C 61 6E 67 75 61 67 r to the languag
000150: 65 20 69 73 20 61 64 76 69 73 65 64 20 74 6F 20 e is advised to
000160: 70 61 73 73 20 6F 76 65 72 20 63 68 61 70 74 65 pass over chapte
000170: 72 73 20 32 2C 20 33 20 0D 8A 61 6E 64 20 34 20 rs 2, 3 ..and 4
000180: 6F 6E 20 74 68 65 20 66 69 72 73 74 20 72 65 61 on the first rea
000190: 64 69 6E 67 20 61 73 20 74 68 65 79 20 64 65 73 ding as they des
0001A0: 63 72 69 62 65 20 74 68 65 20 6D 65 63 68 61 6E cribe the mechan
0001B0: 69 63 73 20 6F 66 20 75 73 69 6E 67 20 74 68 65 ics of using the
0001C0: 20 0D 8A 63 6F 6D 70 69 6C 65 72 2C 20 72 61 74 ..compiler, rat
0001D0: 68 65 72 20 74 68 61 6E 20 64 65 74 61 69 6C 73 her than details
0001E0: 20 6F 66 20 74 68 65 20 6C 61 6E 67 75 61 67 65 of the language
0001F0: 2E 0D 0A 0D 0A E2 4C 69 73 74 20 6F 66 20 66 69 ......List of fi
Size : 512 (Real : 512)
000000: 6C 65 73 20 63 6F 6E 74 61 69 6E 65 64 20 6F 6E les contained on
000010: 20 74 68 65 20 64 69 73 63 20 2D 2D 20 43 50 2F the disc -- CP/
000020: 4D 20 73 69 64 65 E2 0D 0A 0D 0A 54 68 65 20 6D M side.....The m
000030: 61 69 6E 20 66 69 6C 65 73 20 61 72 65 3A 0D 0A ain files are:..
000040: 0D 0A 42 43 50 4C 2E 43 4F 4D 09 09 74 68 65 20 ..BCPL.COM..the
000050: 6D 61 69 6E 20 63 6F 6D 70 69 6C 65 72 20 70 72 main compiler pr
000060: 6F 67 72 61 6D 0D 0A 43 4C 49 42 48 44 52 09 09 ogram..CLIBHDR..
000070: 74 68 65 20 6D 61 69 6E 20 49 2F 4F 20 6C 69 62 the main I/O lib
000080: 72 61 72 79 0D 0A 43 4C 49 42 48 44 52 31 09 09 rary..CLIBHDR1..
000090: 74 68 65 20 65 78 74 72 61 20 49 2F 4F 20 6C 69 the extra I/O li
0000A0: 62 72 61 72 79 20 63 6F 6E 74 61 69 6E 69 6E 67 brary containing
0000B0: 20 6C 65 73 73 20 75 73 65 64 20 72 6F 75 74 69 less used routi
0000C0: 6E 65 73 0D 0A 44 45 42 55 47 09 09 61 20 72 6F nes..DEBUG..a ro
0000D0: 75 74 69 6E 65 20 75 73 65 66 75 6C 20 66 6F 72 utine useful for
0000E0: 20 64 65 62 75 67 67 69 6E 67 20 42 43 50 4C 20 debugging BCPL
0000F0: 70 72 6F 67 72 61 6D 73 0D 0A 0D 0A 54 68 65 20 programs....The
000100: 64 69 73 63 20 61 6C 73 6F 20 63 6F 6E 74 61 69 disc also contai
000110: 6E 73 20 74 68 65 20 66 6F 6C 6C 6F 77 69 6E 67 ns the following
000120: 20 65 78 61 6D 70 6C 65 20 66 69 6C 65 73 3A 0D example files:.
000130: 0A 0D 0A 3E 2D 2D 2D 21 2D 2D 2D 2D 2D 21 2D 2D ...>---!-----!--
000140: 2D 2D 2D 4C 2D 2D 2D 2D 2D 2D 2D 21 2D 2D 2D 2D ---L-------!----
000150: 2D 2D 2D 21 2D 2D 2D 2D 2D 2D 2D 21 2D 2D 2D 2D ---!-------!----
000160: 2D 2D 2D 21 2D 2D 2D 2D 2D 2D 2D 21 2D 2D 2D 2D ---!-------!----
000170: 2D 2D 2D 21 2D 2D 2D 2D 52 0D 0A 41 53 36 35 30 ---!----R..AS650
000180: 32 2E 42 09 09 61 20 36 35 30 32 20 63 72 6F 73 2.B..a 6502 cros
000190: 73 20 61 73 73 65 6D 62 6C 65 72 2C 20 77 72 69 s assembler, wri
0001A0: 74 74 65 6E 20 69 6E 20 42 43 50 4C 0D 0A 42 45 tten in BCPL..BE
0001B0: 44 43 2E 42 09 09 42 43 50 4C 20 65 64 69 74 6F DC.B..BCPL edito
0001C0: 72 20 73 6F 75 72 63 65 20 63 6F 64 65 2C 20 43 r source code, C
0001D0: 50 2F 4D 20 76 65 72 73 69 6F 6E 0D 0A 42 45 44 P/M version..BED
0001E0: 43 2E 43 4F 4D 09 09 42 43 50 4C 20 65 64 69 74 C.COM..BCPL edit
0001F0: 6F 72 20 6F 62 6A 65 63 74 20 63 6F 64 65 2C 20 or object code,
Size : 512 (Real : 512)
000000: 43 50 2F 4D 20 76 65 72 73 69 6F 6E 0D 0A 43 4F CP/M version..CO
000010: 50 59 2E 42 09 09 61 20 73 69 6D 70 6C 65 20 65 PY.B..a simple e
000020: 78 61 6D 70 6C 65 20 70 72 6F 67 72 61 6D 20 77 xample program w
000030: 68 69 63 68 20 63 6F 70 69 65 73 20 20 61 20 66 hich copies a f
000040: 69 6C 65 0D 0A 4B 45 59 44 45 46 53 2E 50 43 57 ile..KEYDEFS.PCW
000050: 09 61 20 6B 65 79 20 64 65 66 69 6E 69 74 69 6F .a key definitio
000060: 6E 20 66 69 6C 65 90 20 66 6F 72 90 20 75 73 65 n file. for. use
000070: 90 20 77 69 74 68 90 20 42 45 44 43 2E 43 4F 4D . with. BEDC.COM
000080: 20 6F 6E 20 74 68 65 20 0D 8A 09 09 09 50 43 57 on the .....PCW
000090: 38 32 35 36 2F 38 35 31 32 2E 0D 0A 54 49 44 59 8256/8512...TIDY
0000A0: 2E 42 09 09 41 20 42 43 50 4C 20 70 72 6F 67 72 .B..A BCPL progr
0000B0: 61 6D 20 74 6F 20 66 6F 72 6D 61 74 20 42 43 50 am to format BCP
0000C0: 4C 20 73 6F 75 72 63 65 20 63 6F 64 65 20 74 69 L source code ti
0000D0: 64 69 6C 79 0D 0A 3E 2D 2D 2D 21 2D 2D 2D 2D 2D dily..>---!-----
0000E0: 21 2D 2D 2D 2D 2D 21 2D 2D 2D 2D 2D 2D 2D 21 2D !-----!-------!-
0000F0: 2D 2D 2D 2D 2D 2D 21 2D 2D 2D 2D 2D 2D 2D 21 2D ------!-------!-
000100: 2D 2D 2D 2D 2D 2D 21 2D 2D 2D 2D 2D 2D 2D 21 2D ------!-------!-
000110: 2D 2D 2D 2D 2D 2D 21 2D 2D 2D 2D 52 0D 0A 0D 0A ------!----R....
000120: 0D 0A E2 43 72 65 61 74 69 6E 67 20 61 20 77 6F ...Creating a wo
000130: 72 6B 69 6E 67 20 64 69 73 63 E2 0D 0A 0D 0A 4E rking disc.....N
000140: 4F 54 45 3A 20 55 6E 64 65 72 20 6E 6F 20 63 69 OTE: Under no ci
000150: 72 63 75 6D 73 74 61 6E 63 65 73 20 73 68 6F 75 rcumstances shou
000160: 6C 64 90 20 74 68 65 90 20 6F 72 69 67 69 6E 61 ld. the. origina
000170: 6C 90 20 64 69 73 63 90 20 62 65 20 75 73 65 64 l. disc. be used
000180: 20 61 73 20 61 20 0D 8A 77 6F 72 6B 69 6E 67 20 as a ..working
000190: 64 69 73 63 20 66 6F 72 20 6E 6F 72 6D 61 6C 20 disc for normal
0001A0: 75 73 65 2E 20 54 68 65 90 20 72 65 71 75 69 72 use. The. requir
0001B0: 65 64 20 66 69 6C 65 73 20 73 68 6F 75 6C 64 20 ed files should
0001C0: 62 65 20 63 6F 70 69 65 64 20 6F 6E 74 6F 20 0D be copied onto .
0001D0: 8A 61 20 73 79 73 74 65 6D 20 64 69 73 63 20 61 .a system disc a
0001E0: 6E 64 20 74 68 65 20 6F 72 69 67 69 6E 61 6C 20 nd the original
0001F0: 72 65 74 61 69 6E 65 64 20 69 6E 20 61 20 73 61 retained in a sa
Size : 512 (Real : 512)
000000: 66 65 20 70 6C 61 63 65 2C 20 61 73 20 61 20 62 fe place, as a b
000010: 61 63 6B 75 70 2E 0D 0A 0D 0A 09 41 20 73 79 73 ackup......A sys
000020: 74 65 6D 20 64 69 73 63 20 73 68 6F 75 6C 64 20 tem disc should
000030: 62 65 90 20 63 72 65 61 74 65 64 20 75 73 69 6E be. created usin
000040: 67 20 44 49 53 43 4B 49 54 20 28 44 49 53 43 4B g DISCKIT (DISCK
000050: 49 54 33 2C 20 44 49 53 43 4B 49 54 32 20 0D 8A IT3, DISCKIT2 ..
000060: 6F 72 20 46 4F 52 4D 41 54 2C 20 61 73 20 61 70 or FORMAT, as ap
000070: 70 72 6F 70 72 69 61 74 65 20 6F 6E 90 20 74 68 propriate on. th
000080: 65 90 20 43 50 43 90 20 72 61 6E 67 65 29 90 20 e. CPC. range).
000090: 74 6F 90 20 66 6F 72 6D 61 74 20 61 20 64 69 73 to. format a dis
0000A0: 63 2E 20 54 68 65 20 0D 8A 66 69 72 73 74 20 66 c. The ..first f
0000B0: 6F 75 72 20 66 69 6C 65 73 90 20 69 6E 90 20 74 our files. in. t
0000C0: 68 65 90 20 61 62 6F 76 65 90 20 6C 69 73 74 90 he. above. list.
0000D0: 20 73 68 6F 75 6C 64 90 20 74 68 65 6E 90 20 62 should. then. b
0000E0: 65 20 63 6F 70 69 65 64 20 28 75 73 69 6E 67 20 e copied (using
0000F0: 0D 8A 50 49 50 29 20 66 72 6F 6D 20 74 68 65 90 ..PIP) from the.
000100: 20 73 75 70 70 6C 69 65 64 90 20 42 43 50 4C 90 supplied. BCPL.
000110: 20 64 69 73 63 90 20 6F 6E 74 6F 90 20 74 68 65 disc. onto. the
000120: 90 20 6E 65 77 6C 79 90 20 66 6F 72 6D 61 74 74 . newly. formatt
000130: 65 64 20 64 69 73 63 2C 20 0D 8A 74 6F 67 65 74 ed disc, ..toget
000140: 68 65 72 20 77 69 74 68 20 28 69 66 20 75 73 69 her with (if usi
000150: 6E 67 20 43 50 2F 4D 20 50 6C 75 73 29 90 20 74 ng CP/M Plus). t
000160: 68 65 90 20 45 4D 53 20 66 69 6C 65 20 66 72 6F he. EMS file fro
000170: 6D 20 74 68 65 20 43 50 2F 4D 20 53 79 73 74 65 m the CP/M Syste
000180: 6D 20 0D 8A 55 74 69 6C 69 74 69 65 73 20 64 69 m ..Utilities di
000190: 73 63 2E 0D 0A 09 54 68 69 73 20 77 69 6C 6C 20 sc....This will
0001A0: 63 72 65 61 74 65 20 61 90 20 64 69 73 63 90 20 create a. disc.
0001B0: 73 75 69 74 61 62 6C 65 90 20 66 6F 72 90 20 75 suitable. for. u
0001C0: 73 65 2C 90 20 62 75 74 90 20 79 6F 75 20 6D 69 se,. but. you mi
0001D0: 67 68 74 20 61 6C 73 6F 20 0D 8A 64 65 63 69 64 ght also ..decid
0001E0: 65 20 74 6F 20 61 64 64 20 66 75 72 74 68 65 72 e to add further
0001F0: 20 66 69 6C 65 73 2C 90 20 73 75 63 68 90 20 61 files,. such. a
Size : 512 (Real : 512)
000000: 73 90 20 61 6E 90 20 65 64 69 74 6F 72 20 6F 72 s. an. editor or
000010: 20 53 45 54 4B 45 59 53 2E 43 4F 4D 20 28 73 65 SETKEYS.COM (se
000020: 65 20 0D 8A 62 65 6C 6F 77 29 2C 20 74 6F 20 74 e ..below), to t
000030: 68 65 20 64 69 73 63 2E 0D 0A 3E 70 61 0D 0A E2 he disc...>pa...
000040: 45 6E 74 65 72 69 6E 67 20 61 6E 64 20 65 64 69 Entering and edi
000050: 74 69 6E 67 20 42 43 50 4C 20 70 72 6F 67 72 61 ting BCPL progra
000060: 6D 73 20 75 6E 64 65 72 20 43 50 2F 4D E2 0D 0A ms under CP/M...
000070: 0D 0A 09 41 6E 79 20 65 64 69 74 6F 72 20 6F 72 ...Any editor or
000080: 90 20 77 6F 72 64 90 20 70 72 6F 63 65 73 73 6F . word. processo
000090: 72 90 20 6D 61 79 90 20 62 65 90 90 75 73 65 64 r. may. be..used
0000A0: 90 20 66 6F 72 90 20 74 79 70 69 6E 67 20 69 6E . for. typing in
0000B0: 20 42 43 50 4C 20 0D 8A 70 72 6F 67 72 61 6D 73 BCPL ..programs
0000C0: 2C 20 61 73 20 6C 6F 6E 67 20 61 73 20 61 6E 20 , as long as an
0000D0: 41 53 43 49 49 20 66 69 6C 65 20 63 61 6E 20 62 ASCII file can b
0000E0: 65 20 70 72 6F 64 75 63 65 64 2E 0D 0A 09 54 68 e produced....Th
0000F0: 65 20 43 50 2F 4D 20 76 65 72 73 69 6F 6E 20 6F e CP/M version o
000100: 66 20 50 52 4F 54 45 58 54 90 20 69 73 20 65 73 f PROTEXT. is es
000110: 70 65 63 69 61 6C 6C 79 20 73 75 69 74 61 62 6C pecially suitabl
000120: 65 20 28 75 73 69 6E 67 20 70 72 6F 67 72 61 6D e (using program
000130: 20 0D 8A 6D 6F 64 65 29 2C 20 61 73 20 69 73 20 ..mode), as is
000140: 74 68 65 20 41 72 6E 6F 72 20 70 72 6F 67 72 61 the Arnor progra
000150: 6D 90 20 65 64 69 74 6F 72 90 20 73 75 70 70 6C m. editor. suppl
000160: 69 65 64 20 77 69 74 68 20 6F 74 68 65 72 20 41 ied with other A
000170: 72 6E 6F 72 20 43 50 2F 4D 20 0D 8A 70 72 6F 67 rnor CP/M ..prog
000180: 72 61 6D 73 2E 20 41 6C 74 65 72 6E 61 74 69 76 rams. Alternativ
000190: 65 6C 79 20 43 50 43 90 20 75 73 65 72 73 90 20 ely CPC. users.
0001A0: 63 61 6E 90 20 75 73 65 90 20 74 68 65 90 20 41 can. use. the. A
0001B0: 4D 53 44 4F 53 90 20 76 65 72 73 69 6F 6E 73 20 MSDOS. versions
0001C0: 6F 66 20 0D 8A 50 52 4F 54 45 58 54 20 6F 72 20 of ..PROTEXT or
0001D0: 4D 41 58 41 4D 2E 0D 0A 09 49 66 20 79 6F 75 20 MAXAM....If you
0001E0: 64 6F 20 6E 6F 74 20 68 61 76 65 20 61 90 20 73 do not have a. s
0001F0: 75 69 74 61 62 6C 65 90 20 65 64 69 74 6F 72 20 uitable. editor
Size : 512 (Real : 512)
000000: 74 68 65 20 70 72 6F 67 72 61 6D 20 42 45 44 43 the program BEDC
000010: 2E 43 4F 4D 20 63 61 6E 20 62 65 20 0D 8A 75 73 .COM can be ..us
000020: 65 64 2C 20 61 6E 64 20 74 68 69 73 20 73 68 6F ed, and this sho
000030: 75 6C 64 20 61 6C 73 6F 20 62 65 20 63 6F 70 69 uld also be copi
000040: 65 64 90 20 6F 6E 74 6F 90 20 74 68 65 20 73 79 ed. onto. the sy
000050: 73 74 65 6D 20 64 69 73 63 2E 20 54 68 69 73 20 stem disc. This
000060: 69 73 20 61 20 0D 8A 73 69 6D 70 6C 65 20 66 75 is a ..simple fu
000070: 6C 6C 20 73 63 72 65 65 6E 20 65 64 69 74 6F 72 ll screen editor
000080: 90 20 77 68 69 63 68 90 20 69 73 90 20 63 6F 6D . which. is. com
000090: 70 61 74 69 62 6C 65 90 20 77 69 74 68 20 50 52 patible. with PR
0000A0: 4F 54 45 58 54 20 65 64 69 74 69 6E 67 20 0D 8A OTEXT editing ..
0000B0: 63 6F 6D 6D 61 6E 64 73 2E 0D 0A 0D 0A 4E 6F 74 commands.....Not
0000C0: 65 3A 20 20 49 66 20 75 73 69 6E 67 20 42 45 44 e: If using BED
0000D0: 43 2E 43 4F 4D 20 77 69 74 68 20 61 20 50 43 57 C.COM with a PCW
0000E0: 38 32 35 36 2F 38 35 31 32 2C 20 74 68 65 20 6B 8256/8512, the k
0000F0: 65 79 73 20 6D 75 73 74 20 62 65 20 64 65 66 69 eys must be defi
000100: 6E 65 64 20 0D 8A 75 73 69 6E 67 90 20 53 45 54 ned ..using. SET
000110: 4B 45 59 53 2E 90 20 53 75 69 74 61 62 6C 65 90 KEYS.. Suitable.
000120: 20 64 65 66 69 6E 69 74 69 6F 6E 73 90 90 20 61 definitions.. a
000130: 72 65 90 90 20 70 72 6F 76 69 64 65 64 90 20 69 re.. provided. i
000140: 6E 90 20 74 68 65 90 20 66 69 6C 65 20 0D 8A 4B n. the. file ..K
000150: 45 59 44 45 46 53 2E 50 43 57 20 61 6E 64 20 74 EYDEFS.PCW and t
000160: 68 65 20 73 79 6E 74 61 78 20 75 73 65 64 20 69 he syntax used i
000170: 73 3A 20 20 20 20 53 45 54 4B 45 59 53 20 4B 45 s: SETKEYS KE
000180: 59 44 45 46 53 2E 50 43 57 0D 0A 0D 0A 09 54 68 YDEFS.PCW.....Th
000190: 69 73 20 63 61 6E 20 62 65 20 69 6E 63 6F 72 70 is can be incorp
0001A0: 6F 72 61 74 65 64 20 69 6E 74 6F 90 20 61 90 20 orated into. a.
0001B0: 50 52 4F 46 49 4C 45 2E 53 55 42 20 66 69 6C 65 PROFILE.SUB file
0001C0: 2C 20 69 6E 20 77 68 69 63 68 20 63 61 73 65 2C , in which case,
0001D0: 20 0D 8A 62 6F 74 68 20 53 45 54 4B 45 59 53 2E ..both SETKEYS.
0001E0: 43 4F 4D 20 61 6E 64 20 53 55 42 4D 49 54 2E 43 COM and SUBMIT.C
0001F0: 4F 4D 20 6D 75 73 74 90 20 61 6C 73 6F 90 20 62 OM must. also. b
Size : 512 (Real : 512)
000000: 65 20 63 6F 70 69 65 64 20 6F 6E 74 6F 20 74 68 e copied onto th
000010: 65 20 77 6F 72 6B 69 6E 67 20 0D 8A 64 69 73 63 e working ..disc
000020: 2E 0D 0A 0D 0A 0D 0A E2 43 6F 6D 70 69 6C 69 6E ........Compilin
000030: 67 20 61 20 42 43 50 4C 20 70 72 6F 67 72 61 6D g a BCPL program
000040: 20 75 6E 64 65 72 20 43 50 2F 4D E2 0D 0A 0D 0A under CP/M.....
000050: 09 54 68 65 20 43 50 2F 4D 20 76 65 72 73 69 6F .The CP/M versio
000060: 6E 20 6F 66 90 20 74 68 65 90 20 63 6F 6D 70 69 n of. the. compi
000070: 6C 65 72 90 20 74 61 6B 65 73 90 20 61 90 20 66 ler. takes. a. f
000080: 69 6C 65 20 63 6F 6E 74 61 69 6E 69 6E 67 20 42 ile containing B
000090: 43 50 4C 20 0D 8A 73 6F 75 72 63 65 20 63 6F 64 CPL ..source cod
0000A0: 65 20 61 6E 64 20 70 72 6F 64 75 63 65 73 90 20 e and produces.
0000B0: 61 90 20 43 4F 4D 90 20 66 69 6C 65 90 20 63 6F a. COM. file. co
0000C0: 6E 74 61 69 6E 69 6E 67 90 20 61 6E 20 65 78 65 ntaining. an exe
0000D0: 63 75 74 61 62 6C 65 20 43 50 2F 4D 20 0D 8A 6F cutable CP/M ..o
0000E0: 62 6A 65 63 74 20 63 6F 64 65 20 70 72 6F 67 72 bject code progr
0000F0: 61 6D 2E 20 54 68 65 72 65 20 69 73 90 20 6E 6F am. There is. no
000100: 90 20 69 6E 74 65 72 6D 65 64 69 61 74 65 20 63 . intermediate c
000110: 6F 6D 70 69 6C 61 74 69 6F 6E 20 73 74 61 67 65 ompilation stage
000120: 2E 20 54 68 65 20 0D 8A 63 6F 6D 6D 61 6E 64 20 . The ..command
000130: 74 6F 20 63 6F 6D 70 69 6C 65 20 61 20 70 72 6F to compile a pro
000140: 67 72 61 6D 20 69 73 3A 0D 0A 0D 0A 09 62 63 70 gram is:.....bcp
000150: 6C 20 3C 73 6F 75 72 63 65 3E 20 3C 64 65 73 74 l <source> <dest
000160: 69 6E 61 74 69 6F 6E 3E 0D 0A 0D 0A 77 68 65 72 ination>....wher
000170: 65 20 3C 73 6F 75 72 63 65 3E 20 61 6E 64 20 3C e <source> and <
000180: 64 65 73 74 69 6E 61 74 69 6F 6E 3E 20 61 72 65 destination> are
000190: 20 74 68 65 20 6E 61 6D 65 73 20 6F 66 20 74 68 the names of th
0001A0: 65 20 66 69 6C 65 73 20 66 72 6F 6D 20 77 68 69 e files from whi
0001B0: 63 68 20 0D 8A 63 6F 64 65 20 69 73 20 74 61 6B ch ..code is tak
0001C0: 65 6E 20 61 6E 64 20 74 6F 20 77 68 69 63 68 20 en and to which
0001D0: 69 74 90 20 69 73 20 77 72 69 74 74 65 6E 2E 20 it. is written.
0001E0: 54 68 65 20 64 65 73 74 69 6E 61 74 69 6F 6E 20 The destination
0001F0: 66 69 6C 65 6E 61 6D 65 20 69 73 20 0D 8A 6F 70 filename is ..op
Size : 512 (Real : 512)
000000: 74 69 6F 6E 61 6C 20 61 6E 64 20 69 66 20 6F 6D tional and if om
000010: 69 74 74 65 64 20 77 69 6C 6C 20 64 65 66 61 75 itted will defau
000020: 6C 74 90 20 74 6F 90 20 74 68 65 90 20 73 6F 75 lt. to. the. sou
000030: 72 63 65 20 66 69 6C 65 20 6E 61 6D 65 20 77 69 rce file name wi
000040: 74 68 20 61 20 0D 8A 2E 43 4F 4D 20 65 78 74 65 th a ...COM exte
000050: 6E 73 69 6F 6E 2E 20 54 68 65 20 65 78 74 65 6E nsion. The exten
000060: 73 69 6F 6E 73 20 6F 6E 20 62 6F 74 68 90 20 66 sions on both. f
000070: 69 6C 65 6E 61 6D 65 73 20 61 72 65 20 6F 70 74 ilenames are opt
000080: 69 6F 6E 61 6C 2E 20 49 66 20 74 68 65 20 0D 8A ional. If the ..
000090: 73 6F 75 72 63 65 20 6E 61 6D 65 20 68 61 73 20 source name has
0000A0: 6E 6F 20 65 78 74 65 6E 73 69 6F 6E 20 74 68 65 no extension the
0000B0: 6E 20 74 68 65 20 63 6F 6D 70 69 6C 65 72 20 77 n the compiler w
0000C0: 69 6C 6C 20 66 69 72 73 74 20 73 65 61 72 63 68 ill first search
0000D0: 20 66 6F 72 20 61 20 0D 8A 66 69 6C 65 20 77 69 for a ..file wi
0000E0: 74 68 20 6E 6F 20 65 78 74 65 6E 73 69 6F 6E 20 th no extension
0000F0: 61 6E 64 20 74 68 65 6E 90 20 66 6F 72 90 20 61 and then. for. a
000100: 90 20 66 69 6C 65 20 77 69 74 68 20 61 20 2E 42 . file with a .B
000110: 20 65 78 74 65 6E 73 69 6F 6E 2E 20 54 68 65 20 extension. The
000120: 0D 8A 73 61 6D 65 20 61 70 70 6C 69 65 73 20 69 ..same applies i
000130: 6E 20 74 68 65 20 47 45 54 20 64 69 72 65 63 74 n the GET direct
000140: 69 76 65 20 6F 6E 20 62 6F 74 68 20 43 50 2F 4D ive on both CP/M
000150: 20 61 6E 64 20 41 4D 53 44 4F 53 20 76 65 72 73 and AMSDOS vers
000160: 69 6F 6E 73 2E 20 49 66 20 0D 8A 74 68 65 20 64 ions. If ..the d
000170: 65 73 74 69 6E 61 74 69 6F 6E 20 66 69 6C 65 20 estination file
000180: 68 61 73 20 6E 6F 20 65 78 74 65 6E 73 69 6F 6E has no extension
000190: 20 74 68 65 6E 20 74 68 69 73 20 77 69 6C 6C 20 then this will
0001A0: 64 65 66 61 75 6C 74 20 74 6F 20 2E 43 4F 4D 2E default to .COM.
0001B0: 0D 0A 0D 0A 09 65 2E 67 2E 09 62 63 70 6C 20 61 .....e.g..bcpl a
0001C0: 73 36 35 30 32 0D 0A 0D 0A 77 69 6C 6C 20 66 69 s6502....will fi
0001D0: 72 73 74 20 6C 6F 6F 6B 20 66 6F 72 20 74 68 65 rst look for the
0001E0: 20 66 69 6C 65 20 41 53 36 35 30 32 20 61 6E 64 file AS6502 and
0001F0: 20 69 66 20 69 74 20 69 73 20 6E 6F 74 20 70 72 if it is not pr
Size : 512 (Real : 512)
000000: 65 73 65 6E 74 20 77 69 6C 6C 20 74 68 65 6E 20 esent will then
000010: 0D 8A 6C 6F 6F 6B 20 66 6F 72 20 74 68 65 20 66 ..look for the f
000020: 69 6C 65 20 41 53 36 35 30 32 2E 42 2E 20 54 68 ile AS6502.B. Th
000030: 65 20 63 6F 6D 70 69 6C 65 72 90 20 77 69 6C 6C e compiler. will
000040: 20 72 65 61 64 20 74 68 69 73 20 66 69 6C 65 20 read this file
000050: 61 6E 64 20 74 68 65 6E 20 0D 8A 73 65 6E 64 20 and then ..send
000060: 74 68 65 20 6F 62 6A 65 63 74 20 63 6F 64 65 20 the object code
000070: 70 72 6F 64 75 63 65 64 20 74 6F 20 61 20 66 69 produced to a fi
000080: 6C 65 20 41 53 36 35 30 32 2E 43 4F 4D 2E 0D 0A le AS6502.COM...
000090: 3E 70 61 0D 0A 09 55 6E 64 65 72 20 43 50 2F 4D >pa...Under CP/M
0000A0: 20 50 6C 75 73 20 74 68 65 20 63 6F 6D 70 69 6C Plus the compil
0000B0: 65 72 90 20 72 65 74 75 72 6E 73 90 20 61 6E 90 er. returns. an.
0000C0: 20 65 72 72 6F 72 20 72 65 74 75 72 6E 20 63 6F error return co
0000D0: 64 65 20 69 66 20 61 6E 20 0D 8A 65 72 72 6F 72 de if an ..error
0000E0: 20 6F 63 63 75 72 72 65 64 2E 20 49 74 20 63 61 occurred. It ca
0000F0: 6E 20 74 68 65 6E 20 62 65 20 63 6F 6E 76 65 6E n then be conven
000100: 69 65 6E 74 20 74 6F 20 75 73 65 20 53 55 42 4D ient to use SUBM
000110: 49 54 20 74 6F 20 63 6F 6D 70 69 6C 65 20 61 6E IT to compile an
000120: 64 20 0D 8A 72 75 6E 20 74 68 65 20 70 72 6F 67 d ..run the prog
000130: 72 61 6D 20 77 69 74 68 20 61 90 20 73 69 6E 67 ram with a. sing
000140: 6C 65 90 20 63 6F 6D 6D 61 6E 64 2E 90 20 54 68 le. command.. Th
000150: 65 20 43 50 2F 4D 20 63 6F 6E 64 69 74 69 6F 6E e CP/M condition
000160: 61 6C 20 63 6F 6D 6D 61 6E 64 20 0D 8A 66 61 63 al command ..fac
000170: 69 6C 69 74 79 20 63 61 6E 20 62 65 20 75 73 65 ility can be use
000180: 64 20 73 6F 20 74 68 65 20 74 68 65 90 20 70 72 d so the the. pr
000190: 6F 67 72 61 6D 90 20 69 73 20 6F 6E 6C 79 20 65 ogram. is only e
0001A0: 78 65 63 75 74 65 64 20 69 66 20 6E 6F 20 65 72 xecuted if no er
0001B0: 72 6F 72 20 0D 8A 6F 63 63 75 72 72 65 64 2E 20 ror ..occurred.
0001C0: 46 6F 72 20 65 78 61 6D 70 6C 65 20 61 20 66 69 For example a fi
0001D0: 6C 65 20 43 4F 4D 50 49 4C 45 2E 53 55 42 20 6D le COMPILE.SUB m
0001E0: 61 79 20 63 6F 6E 74 61 69 6E 20 74 68 65 20 66 ay contain the f
0001F0: 6F 6C 6C 6F 77 69 6E 67 3A 0D 0A 0D 0A 09 09 62 ollowing:......b
Size : 512 (Real : 512)
000000: 63 70 6C 20 70 72 6F 67 72 61 6D 2E 62 20 0D 0A cpl program.b ..
000010: 09 09 3C 79 0D 0A 09 09 3A 70 72 6F 67 72 61 6D ..<y....:program
000020: 0D 0A 09 54 68 65 20 73 65 63 6F 6E 64 20 6C 69 ...The second li
000030: 6E 65 20 63 61 75 73 65 73 20 74 68 65 90 20 70 ne causes the. p
000040: 72 65 76 69 6F 75 73 90 20 76 65 72 73 69 6F 6E revious. version
000050: 90 20 74 6F 20 62 65 20 64 65 6C 65 74 65 64 2E . to be deleted.
000060: 20 4E 6F 74 65 20 0D 8A 74 68 61 74 20 74 68 69 Note ..that thi
000070: 73 20 77 69 6C 6C 20 6F 6E 6C 79 20 77 6F 72 6B s will only work
000080: 90 20 75 6E 64 65 72 90 20 43 50 2F 4D 90 20 50 . under. CP/M. P
000090: 6C 75 73 20 28 43 50 43 36 31 32 38 20 61 6E 64 lus (CPC6128 and
0000A0: 20 50 43 57 38 32 35 36 2F 38 35 31 32 29 20 0D PCW8256/8512) .
0000B0: 8A 61 6E 64 20 6E 6F 74 20 75 6E 64 65 72 20 43 .and not under C
0000C0: 50 2F 4D 20 32 2E 32 2E 0D 0A 0D 0A 0D 0A E2 49 P/M 2.2........I
0000D0: 6E 63 6C 75 64 69 6E 67 20 6F 74 68 65 72 20 66 ncluding other f
0000E0: 69 6C 65 73 E2 0D 0A 0D 0A 09 4F 74 68 65 72 20 iles......Other
0000F0: 42 43 50 4C 20 73 6F 75 72 63 65 20 66 69 6C 65 BCPL source file
000100: 73 20 6D 61 79 20 62 65 20 69 6E 63 6C 75 64 65 s may be include
000110: 64 90 20 61 74 20 61 6E 79 20 70 6F 69 6E 74 20 d. at any point
000120: 69 6E 20 61 20 70 72 6F 67 72 61 6D 20 0D 8A 62 in a program ..b
000130: 79 20 75 73 69 6E 67 20 74 68 65 20 47 45 54 20 y using the GET
000140: 64 69 72 65 63 74 69 76 65 2E 0D 0A 0D 0A 09 47 directive......G
000150: 45 54 20 22 66 69 6C 65 22 0D 0A 0D 0A 63 61 75 ET "file"....cau
000160: 73 65 73 20 63 6F 6D 70 69 6C 61 74 69 6F 6E 20 ses compilation
000170: 74 6F 20 63 6F 6E 74 69 6E 75 65 20 77 69 74 68 to continue with
000180: 20 74 68 65 90 20 6E 65 77 90 20 66 69 6C 65 2E the. new. file.
000190: 90 20 41 74 20 74 68 65 20 65 6E 64 20 6F 66 20 . At the end of
0001A0: 74 68 65 20 0D 8A 69 6E 63 6C 75 64 65 64 20 66 the ..included f
0001B0: 69 6C 65 20 63 6F 6D 70 69 6C 61 74 69 6F 6E 20 ile compilation
0001C0: 72 65 73 75 6D 65 73 20 61 74 20 74 68 65 20 70 resumes at the p
0001D0: 6F 69 6E 74 20 61 66 74 65 72 20 74 68 65 20 47 oint after the G
0001E0: 45 54 20 64 69 72 65 63 74 69 76 65 20 0D 8A 69 ET directive ..i
0001F0: 6E 20 74 68 65 20 6F 72 69 67 69 6E 61 6C 20 66 n the original f
Size : 512 (Real : 512)
000000: 69 6C 65 2E 0D 0A 0D 0A 09 4D 6F 73 74 20 70 72 ile......Most pr
000010: 6F 67 72 61 6D 73 20 77 69 6C 6C 20 73 74 61 72 ograms will star
000020: 74 20 62 79 20 69 6E 63 6C 75 64 69 6E 67 20 74 t by including t
000030: 68 65 20 6C 69 62 72 61 72 79 20 72 6F 75 74 69 he library routi
000040: 6E 65 73 3A 0D 0A 0D 0A 09 47 45 54 20 22 43 4C nes:.....GET "CL
000050: 49 42 48 44 52 22 0D 0A 09 47 45 54 20 22 43 4C IBHDR"...GET "CL
000060: 49 42 48 44 52 31 22 09 2F 2F 20 6F 66 74 65 6E IBHDR1".// often
000070: 20 6E 6F 74 20 6E 65 65 64 65 64 0D 0A 09 47 45 not needed...GE
000080: 54 20 22 44 45 42 55 47 22 09 09 2F 2F 20 75 73 T "DEBUG"..// us
000090: 65 64 20 77 68 65 6E 20 64 65 62 75 67 67 69 6E ed when debuggin
0000A0: 67 20 28 73 65 65 20 73 65 63 74 69 6F 6E 20 38 g (see section 8
0000B0: 6B 29 0D 0A 0D 0A 09 4E 6F 74 65 20 74 68 61 74 k).....Note that
0000C0: 20 74 68 65 20 47 45 54 20 64 69 72 65 63 74 69 the GET directi
0000D0: 76 65 73 20 74 6F 90 20 69 6E 63 6C 75 64 65 20 ves to. include
0000E0: 74 68 65 20 6C 69 62 72 61 72 79 20 72 6F 75 74 the library rout
0000F0: 69 6E 65 73 20 6D 75 73 74 20 0D 8A 62 65 20 69 ines must ..be i
000100: 6E 20 74 68 65 20 6F 72 64 65 72 20 73 68 6F 77 n the order show
000110: 6E 20 62 65 63 61 75 73 65 20 72 6F 75 74 69 6E n because routin
000120: 65 73 20 69 6E 20 43 4C 49 42 48 44 52 31 20 63 es in CLIBHDR1 c
000130: 61 6C 6C 20 6F 74 68 65 72 20 72 6F 75 74 69 6E all other routin
000140: 65 73 20 0D 8A 69 6E 20 43 4C 49 42 48 44 52 2E es ..in CLIBHDR.
000150: 0D 0A 0D 0A 09 43 6F 6D 70 69 6C 61 74 69 6F 6E .....Compilation
000160: 20 73 74 6F 70 73 20 6F 6E 20 74 68 65 90 20 43 stops on the. C
000170: 50 2F 4D 90 20 76 65 72 73 69 6F 6E 90 20 77 68 P/M. version. wh
000180: 65 6E 90 20 61 90 90 66 75 6C 6C 20 73 74 6F 70 en. a..full stop
000190: 20 27 2E 27 20 69 73 20 0D 8A 66 6F 75 6E 64 20 '.' is ..found
0001A0: 69 6E 20 74 68 65 20 69 6E 69 74 69 61 6C 20 73 in the initial s
0001B0: 6F 75 72 63 65 20 66 69 6C 65 90 20 77 68 69 63 ource file. whic
0001C0: 68 90 20 77 61 73 20 73 70 65 63 69 66 69 65 64 h. was specified
0001D0: 20 69 6E 20 74 68 65 20 6F 72 69 67 69 6E 61 6C in the original
0001E0: 20 0D 8A 63 6F 6D 6D 61 6E 64 20 6C 69 6E 65 2C ..command line,
0001F0: 20 6F 72 20 77 68 65 6E 20 74 68 65 20 65 6E 64 or when the end
Size : 512 (Real : 512)
000000: 20 6F 66 20 74 68 61 74 20 66 69 6C 65 20 69 73 of that file is
000010: 20 72 65 61 63 68 65 64 2E 0D 0A 3E 70 61 0D 0A reached...>pa..
000020: 3E 63 65 20 E2 33 2E 20 55 53 49 4E 47 20 41 52 >ce .3. USING AR
000030: 4E 4F 52 20 42 43 50 4C 20 55 4E 44 45 52 20 41 NOR BCPL UNDER A
000040: 4D 53 44 4F 53 E2 0D 0A 0D 0A 0D 0A E2 4E 4F 54 MSDOS........NOT
000050: 45 3A E2 20 50 43 57 38 32 35 36 2F 38 35 31 32 E:. PCW8256/8512
000060: 20 75 73 65 72 73 20 73 68 6F 75 6C 64 20 69 67 users should ig
000070: 6E 6F 72 65 20 74 68 69 73 20 63 68 61 70 74 65 nore this chapte
000080: 72 2E 0D 0A 0D 0A 09 42 43 50 4C 20 6D 61 79 20 r......BCPL may
000090: 62 65 20 75 73 65 64 20 66 72 6F 6D 20 41 6D 73 be used from Ams
0000A0: 64 6F 73 20 6F 6E 90 20 74 68 65 20 43 50 43 20 dos on. the CPC
0000B0: 72 61 6E 67 65 2C 20 65 69 74 68 65 72 20 69 6E range, either in
0000C0: 20 52 4F 4D 20 66 6F 72 6D 20 0D 8A 6F 72 20 66 ROM form ..or f
0000D0: 72 6F 6D 20 61 20 64 69 73 63 2E 20 49 66 20 74 rom a disc. If t
0000E0: 68 65 20 52 4F 4D 90 20 76 65 72 73 69 6F 6E 90 he ROM. version.
0000F0: 20 69 73 20 62 65 69 6E 67 20 75 73 65 64 2C 20 is being used,
000100: 74 68 65 20 66 69 6C 65 73 20 42 43 50 4C 2E 42 the files BCPL.B
000110: 41 53 20 0D 8A 61 6E 64 20 42 43 50 4C 2E 42 49 AS ..and BCPL.BI
000120: 4E 20 61 72 65 20 6E 6F 74 20 72 65 71 75 69 72 N are not requir
000130: 65 64 2C 20 74 68 6F 75 67 68 90 20 74 68 65 20 ed, though. the
000140: 6C 69 62 72 61 72 79 20 66 69 6C 65 73 20 77 69 library files wi
000150: 6C 6C 20 73 74 69 6C 6C 20 62 65 20 0D 8A 72 65 ll still be ..re
000160: 71 75 69 72 65 64 2E 0D 0A 0D 0A 4E 4F 54 45 3A quired.....NOTE:
000170: 20 55 6E 64 65 72 20 6E 6F 20 63 69 72 63 75 6D Under no circum
000180: 73 74 61 6E 63 65 73 20 73 68 6F 75 6C 64 90 20 stances should.
000190: 74 68 65 90 20 6F 72 69 67 69 6E 61 6C 90 20 64 the. original. d
0001A0: 69 73 63 90 20 62 65 20 75 73 65 64 20 61 73 20 isc. be used as
0001B0: 61 20 0D 8A 77 6F 72 6B 69 6E 67 20 64 69 73 63 a ..working disc
0001C0: 20 66 6F 72 20 6E 6F 72 6D 61 6C 20 75 73 65 2E for normal use.
0001D0: 20 54 68 65 90 20 72 65 71 75 69 72 65 64 20 66 The. required f
0001E0: 69 6C 65 73 20 73 68 6F 75 6C 64 20 62 65 20 63 iles should be c
0001F0: 6F 70 69 65 64 20 6F 6E 74 6F 20 0D 8A 61 20 73 opied onto ..a s
Size : 512 (Real : 512)
000000: 79 73 74 65 6D 20 64 69 73 63 20 61 6E 64 20 74 ystem disc and t
000010: 68 65 20 6F 72 69 67 69 6E 61 6C 20 72 65 74 61 he original reta
000020: 69 6E 65 64 20 69 6E 20 61 20 73 61 66 65 20 70 ined in a safe p
000030: 6C 61 63 65 2C 20 61 73 20 61 20 62 61 63 6B 75 lace, as a backu
000040: 70 2E 0D 0A 0D 0A E2 43 72 65 61 74 69 6E 67 20 p......Creating
000050: 61 20 57 6F 72 6B 69 6E 67 20 64 69 73 63 E2 0D a Working disc..
000060: 0A 0D 0A 09 41 20 6E 65 77 20 64 69 73 63 20 73 ....A new disc s
000070: 68 6F 75 6C 64 20 62 65 20 66 6F 72 6D 61 74 74 hould be formatt
000080: 65 64 90 20 61 6E 64 90 20 74 68 65 90 20 66 69 ed. and. the. fi
000090: 72 73 74 20 73 69 78 20 66 69 6C 65 73 20 66 72 rst six files fr
0000A0: 6F 6D 20 74 68 65 20 0D 8A 6C 69 73 74 20 62 65 om the ..list be
0000B0: 6C 6F 77 20 73 68 6F 75 6C 64 20 62 65 20 63 6F low should be co
0000C0: 70 69 65 64 20 6F 6E 74 6F 20 69 74 2C 20 75 73 pied onto it, us
0000D0: 69 6E 67 20 65 69 74 68 65 72 20 46 49 4C 45 43 ing either FILEC
0000E0: 4F 50 59 20 6F 72 20 50 49 50 20 66 72 6F 6D 20 OPY or PIP from
0000F0: 0D 8A 43 50 2F 4D 2C 20 64 65 70 65 6E 64 69 6E ..CP/M, dependin
000100: 67 20 6F 6E 20 74 68 65 20 6D 6F 64 65 6C 20 62 g on the model b
000110: 65 69 6E 67 20 75 73 65 64 2C 90 20 6F 72 20 74 eing used,. or t
000120: 68 65 20 43 4F 50 59 20 63 6F 6D 6D 61 6E 64 20 he COPY command
000130: 66 72 6F 6D 20 74 68 65 20 0D 8A 55 54 4F 50 49 from the ..UTOPI
000140: 41 20 52 4F 4D 20 69 66 20 74 68 61 74 20 69 73 A ROM if that is
000150: 20 69 6E 73 74 61 6C 6C 65 64 2E 90 20 54 68 69 installed.. Thi
000160: 73 90 20 77 69 6C 6C 20 70 72 6F 64 75 63 65 20 s. will produce
000170: 61 20 64 69 73 63 20 63 6F 6E 74 61 69 6E 69 6E a disc containin
000180: 67 20 0D 8A 61 6C 6C 20 74 68 65 20 65 73 73 65 g ..all the esse
000190: 6E 74 69 61 6C 20 66 69 6C 65 73 2E 20 52 4F 4D ntial files. ROM
0001A0: 20 75 73 65 72 73 20 63 61 6E 20 6F 6D 69 74 20 users can omit
0001B0: 74 68 65 20 66 69 72 73 74 20 74 77 6F 20 66 69 the first two fi
0001C0: 6C 65 73 20 63 61 6C 6C 65 64 20 0D 8A 42 43 50 les called ..BCP
0001D0: 4C 2E 42 41 53 20 61 6E 64 20 42 43 50 4C 2E 42 L.BAS and BCPL.B
0001E0: 49 4E 2E 0D 0A 0D 0A E2 49 6E 73 74 61 6C 6C 69 IN......Installi
0001F0: 6E 67 20 74 68 65 20 52 4F 4D 20 76 65 72 73 69 ng the ROM versi
Size : 512 (Real : 512)
000000: 6F 6E E2 0D 0A 0D 0A 09 46 69 74 20 74 68 65 20 on......Fit the
000010: 31 36 4B 20 45 50 52 4F 4D 20 69 6E 74 6F 90 20 16K EPROM into.
000020: 79 6F 75 72 90 20 52 4F 4D 20 62 6F 61 72 64 20 your. ROM board
000030: 66 6F 6C 6C 6F 77 69 6E 67 20 74 68 65 20 69 6E following the in
000040: 73 74 72 75 63 74 69 6F 6E 73 20 0D 8A 73 75 70 structions ..sup
000050: 70 6C 69 65 64 20 77 69 74 68 20 74 68 65 20 72 plied with the r
000060: 6F 6D 20 62 6F 61 72 64 2E 20 54 68 65 20 52 4F om board. The RO
000070: 4D 20 73 65 6C 65 63 74 69 6F 6E 20 6E 75 6D 62 M selection numb
000080: 65 72 20 69 73 20 6E 6F 74 20 63 72 69 74 69 63 er is not critic
000090: 61 6C 2C 20 0D 8A 74 68 6F 75 67 68 20 69 74 20 al, ..though it
0000A0: 6D 75 73 74 20 6E 6F 74 20 63 6C 61 73 68 20 77 must not clash w
0000B0: 69 74 68 20 61 6E 79 90 20 65 78 69 73 74 69 6E ith any. existin
0000C0: 67 20 52 4F 4D 73 2C 20 65 76 65 6E 20 69 66 20 g ROMs, even if
0000D0: 74 68 65 79 20 61 72 65 20 6E 6F 74 20 0D 8A 69 they are not ..i
0000E0: 6E 73 74 61 6C 6C 65 64 20 6F 6E 20 74 68 65 20 nstalled on the
0000F0: 52 4F 4D 20 62 6F 61 72 64 2E 20 28 54 68 65 20 ROM board. (The
000100: 64 69 73 63 90 20 72 6F 6D 20 66 6F 72 20 65 78 disc. rom for ex
000110: 61 6D 70 6C 65 20 75 73 65 73 20 52 4F 4D 20 73 ample uses ROM s
000120: 65 6C 65 63 74 20 0D 8A 37 29 2E 0D 0A 09 53 75 elect ..7)....Su
000130: 69 74 61 62 6C 65 20 62 6F 61 72 64 73 20 6D 61 itable boards ma
000140: 79 20 62 65 20 70 75 72 63 68 61 73 65 64 20 66 y be purchased f
000150: 72 6F 6D 90 20 41 72 6E 6F 72 20 69 66 20 79 6F rom. Arnor if yo
000160: 75 20 64 6F 20 6E 6F 74 20 61 6C 72 65 61 64 79 u do not already
000170: 20 0D 8A 68 61 76 65 20 6F 6E 65 2E 0D 0A 09 54 ..have one....T
000180: 68 65 20 42 43 50 4C 20 52 4F 4D 20 70 72 6F 76 he BCPL ROM prov
000190: 69 64 65 73 20 61 6E 20 65 78 74 72 65 6D 65 6C ides an extremel
0001A0: 79 20 63 6F 6E 76 65 6E 69 65 6E 74 20 61 6E 64 y convenient and
0001B0: 20 66 61 73 74 20 65 6E 76 69 72 6F 6E 6D 65 6E fast environmen
0001C0: 74 20 0D 8A 66 6F 72 20 64 65 76 65 6C 6F 70 69 t ..for developi
0001D0: 6E 67 20 42 43 50 4C 20 70 72 6F 67 72 61 6D 73 ng BCPL programs
0001E0: 2C 90 20 70 61 72 74 69 63 75 6C 61 72 6C 79 90 ,. particularly.
0001F0: 20 77 68 65 6E 90 20 75 73 65 64 20 69 6E 20 63 when. used in c
Size : 512 (Real : 512)
000000: 6F 6E 6A 75 6E 63 74 69 6F 6E 20 0D 8A 77 69 74 onjunction ..wit
000010: 68 20 50 52 4F 54 45 58 54 20 6F 72 20 4D 41 58 h PROTEXT or MAX
000020: 41 4D 2E 20 50 72 6F 67 72 61 6D 73 20 63 61 6E AM. Programs can
000030: 20 62 65 20 74 79 70 65 64 20 69 6E 20 75 73 69 be typed in usi
000040: 6E 67 20 50 52 4F 54 45 58 54 20 6F 72 20 4D 41 ng PROTEXT or MA
000050: 58 41 4D 20 0D 8A 61 6E 64 20 63 6F 6D 70 69 6C XAM ..and compil
000060: 65 64 20 64 69 72 65 63 74 6C 79 20 66 72 6F 6D ed directly from
000070: 20 6D 65 6D 6F 72 79 2E 0D 0A 09 54 68 65 20 52 memory....The R
000080: 4F 4D 20 76 65 72 73 69 6F 6E 90 20 6D 61 79 90 OM version. may.
000090: 20 6F 6E 6C 79 90 20 62 65 90 20 75 73 65 64 90 only. be. used.
0000A0: 20 6F 6E 90 20 74 68 65 90 20 43 50 43 34 36 34 on. the. CPC464
0000B0: 2C 20 43 50 43 36 36 34 2C 20 61 6E 64 20 0D 8A , CPC664, and ..
0000C0: 43 50 43 36 31 32 38 20 63 6F 6D 70 75 74 65 72 CPC6128 computer
0000D0: 73 2E 0D 0A 0D 0A 0D 0A E2 4C 69 73 74 20 6F 66 s........List of
0000E0: 20 66 69 6C 65 73 20 63 6F 6E 74 61 69 6E 65 64 files contained
0000F0: 20 6F 6E 20 74 68 65 20 64 69 73 63 20 2D 2D 20 on the disc --
000100: 41 4D 53 44 4F 53 20 73 69 64 65 E2 0D 0A 0D 0A AMSDOS side.....
000110: 54 68 65 20 66 6F 6C 6C 6F 77 69 6E 67 20 66 69 The following fi
000120: 6C 65 73 20 61 72 65 20 6D 6F 73 74 20 69 6D 70 les are most imp
000130: 6F 72 74 61 6E 74 3A 0D 0A 0D 0A 42 43 50 4C 2E ortant:....BCPL.
000140: 42 41 53 09 09 74 68 65 20 6C 6F 61 64 65 72 20 BAS..the loader
000150: 66 6F 72 20 74 68 65 20 63 6F 6D 70 69 6C 65 72 for the compiler
000160: 20 70 72 6F 67 72 61 6D 0D 0A 42 43 50 4C 2E 42 program..BCPL.B
000170: 49 4E 09 09 74 68 65 20 6D 61 69 6E 20 63 6F 6D IN..the main com
000180: 70 69 6C 65 72 20 70 72 6F 67 72 61 6D 0D 0A 41 piler program..A
000190: 4C 49 42 48 44 52 09 09 74 68 65 20 6D 61 69 6E LIBHDR..the main
0001A0: 20 49 2F 4F 20 6C 69 62 72 61 72 79 0D 0A 41 4C I/O library..AL
0001B0: 49 42 48 44 52 31 09 09 74 68 65 20 65 78 74 72 IBHDR1..the extr
0001C0: 61 20 49 2F 4F 20 6C 69 62 72 61 72 79 20 63 6F a I/O library co
0001D0: 6E 74 61 69 6E 69 6E 67 20 6C 65 73 73 20 75 73 ntaining less us
0001E0: 65 64 20 72 6F 75 74 69 6E 65 73 0D 0A 41 4D 53 ed routines..AMS
0001F0: 44 4F 53 09 09 61 20 66 75 72 74 68 65 72 90 20 DOS..a further.
Size : 512 (Real : 512)
000000: 49 2F 4F 90 20 6C 69 62 72 61 72 79 90 20 63 6F I/O. library. co
000010: 6E 74 61 69 6E 69 6E 67 90 20 67 72 61 70 68 69 ntaining. graphi
000020: 63 73 20 72 6F 75 74 69 6E 65 73 20 0D 8A 44 45 cs routines ..DE
000030: 42 55 47 09 09 61 20 72 6F 75 74 69 6E 65 20 75 BUG..a routine u
000040: 73 65 66 75 6C 20 66 6F 72 20 64 65 62 75 67 67 seful for debugg
000050: 69 6E 67 20 42 43 50 4C 20 70 72 6F 67 72 61 6D ing BCPL program
000060: 73 0D 0A 3E 70 61 0D 0A 54 68 65 20 64 69 73 63 s..>pa..The disc
000070: 20 61 6C 73 6F 20 63 6F 6E 74 61 69 6E 73 20 74 also contains t
000080: 68 65 20 66 6F 6C 6C 6F 77 69 6E 67 20 65 78 61 he following exa
000090: 6D 70 6C 65 20 66 69 6C 65 73 3A 0D 0A 0D 0A 42 mple files:....B
0000A0: 45 44 2E 42 09 09 42 43 50 4C 20 65 64 69 74 6F ED.B..BCPL edito
0000B0: 72 20 73 6F 75 72 63 65 20 63 6F 64 65 2C 20 41 r source code, A
0000C0: 4D 53 44 4F 53 20 76 65 72 73 69 6F 6E 0D 0A 42 MSDOS version..B
0000D0: 45 44 2E 42 49 4E 09 09 42 43 50 4C 20 65 64 69 ED.BIN..BCPL edi
0000E0: 74 6F 72 20 6F 62 6A 65 63 74 20 63 6F 64 65 2C tor object code,
0000F0: 20 41 4D 53 44 4F 53 20 76 65 72 73 69 6F 6E 0D AMSDOS version.
000100: 0A 42 45 44 31 2E 42 09 09 61 20 66 69 6C 65 20 .BED1.B..a file
000110: 63 6F 6E 74 61 69 6E 69 6E 67 20 64 69 72 65 63 containing direc
000120: 74 69 76 65 73 20 74 6F 20 63 6F 6D 70 69 6C 65 tives to compile
000130: 20 42 45 44 0D 0A 44 49 53 2E 42 09 09 61 20 5A BED..DIS.B..a Z
000140: 38 30 20 64 69 73 61 73 73 65 6D 62 6C 65 72 20 80 disassembler
000150: 77 72 69 74 74 65 6E 20 69 6E 20 42 43 50 4C 0D written in BCPL.
000160: 0A 49 4E 56 41 44 45 2E 42 09 09 61 20 73 70 61 .INVADE.B..a spa
000170: 63 65 20 69 6E 76 61 64 65 72 73 20 67 61 6D 65 ce invaders game
000180: 2C 20 77 72 69 74 74 65 6E 20 69 6E 20 42 43 50 , written in BCP
000190: 4C 0D 0A 0D 0A E2 4C 6F 61 64 69 6E 67 20 74 68 L.....Loading th
0001A0: 65 20 41 4D 53 44 4F 53 20 64 69 73 63 20 76 65 e AMSDOS disc ve
0001B0: 72 73 69 6F 6E E2 0D 0A 0D 0A 09 54 6F 20 6C 6F rsion......To lo
0001C0: 61 64 20 74 68 65 20 63 6F 6D 70 69 6C 65 72 20 ad the compiler
0001D0: 74 79 70 65 3A 09 09 52 55 4E 22 42 43 50 4C 22 type:..RUN"BCPL"
0001E0: 0D 0A 0D 0A 0D 0A E2 45 6E 74 65 72 69 6E 67 20 .......Entering
0001F0: 61 6E 64 20 65 64 69 74 69 6E 67 20 42 43 50 4C and editing BCPL
Size : 512 (Real : 512)
000000: 20 70 72 6F 67 72 61 6D 73 20 75 6E 64 65 72 20 programs under
000010: 41 4D 53 44 4F 53 E2 0D 0A 0D 0A 09 41 6E 79 20 AMSDOS......Any
000020: 65 64 69 74 6F 72 20 6F 72 90 20 77 6F 72 64 90 editor or. word.
000030: 20 70 72 6F 63 65 73 73 6F 72 90 20 6D 61 79 90 processor. may.
000040: 20 62 65 90 90 75 73 65 64 90 20 66 6F 72 90 20 be..used. for.
000050: 74 79 70 69 6E 67 20 69 6E 20 42 43 50 4C 20 0D typing in BCPL .
000060: 8A 70 72 6F 67 72 61 6D 73 2C 20 61 73 20 6C 6F .programs, as lo
000070: 6E 67 20 61 73 20 61 6E 20 41 53 43 49 49 20 66 ng as an ASCII f
000080: 69 6C 65 20 63 61 6E 20 62 65 20 70 72 6F 64 75 ile can be produ
000090: 63 65 64 2E 0D 0A 09 50 52 4F 54 45 58 54 20 28 ced....PROTEXT (
0000A0: 75 73 69 6E 67 20 70 72 6F 67 72 61 6D 20 6D 6F using program mo
0000B0: 64 65 29 20 61 6E 64 20 4D 41 58 41 4D 20 61 72 de) and MAXAM ar
0000C0: 65 20 65 73 70 65 63 69 61 6C 6C 79 20 73 75 69 e especially sui
0000D0: 74 61 62 6C 65 2C 20 69 6E 20 0D 8A 70 61 72 74 table, in ..part
0000E0: 69 63 75 6C 61 72 20 74 68 65 20 52 4F 4D 20 76 icular the ROM v
0000F0: 65 72 73 69 6F 6E 73 20 61 72 65 20 72 65 63 6F ersions are reco
000100: 6D 6D 65 6E 64 65 64 20 66 6F 72 20 63 6F 6E 76 mmended for conv
000110: 65 6E 69 65 6E 63 65 2E 0D 0A 09 49 66 20 79 6F enience....If yo
000120: 75 20 64 6F 20 6E 6F 74 20 68 61 76 65 20 61 90 u do not have a.
000130: 20 73 75 69 74 61 62 6C 65 90 20 65 64 69 74 6F suitable. edito
000140: 72 90 20 74 68 65 20 70 72 6F 67 72 61 6D 20 42 r. the program B
000150: 45 44 2E 42 49 4E 20 63 61 6E 20 62 65 20 0D 8A ED.BIN can be ..
000160: 75 73 65 64 2E 20 54 68 69 73 20 69 73 20 61 20 used. This is a
000170: 73 69 6D 70 6C 65 90 20 66 75 6C 6C 90 20 73 63 simple. full. sc
000180: 72 65 65 6E 90 20 65 64 69 74 6F 72 90 20 77 68 reen. editor. wh
000190: 69 63 68 20 69 73 20 63 6F 6D 70 61 74 69 62 6C ich is compatibl
0001A0: 65 20 77 69 74 68 20 0D 8A 50 52 4F 54 45 58 54 e with ..PROTEXT
0001B0: 20 65 64 69 74 69 6E 67 20 63 6F 6D 6D 61 6E 64 editing command
0001C0: 73 2E 0D 0A 09 41 6E 79 20 73 6F 75 72 63 65 20 s....Any source
0001D0: 66 69 6C 65 73 20 63 72 65 61 74 65 64 20 73 68 files created sh
0001E0: 6F 75 6C 64 20 70 72 65 66 65 72 61 62 6C 79 20 ould preferably
0001F0: 62 65 20 73 61 76 65 64 20 74 6F 20 64 69 73 63 be saved to disc
Size : 512 (Real : 512)
000000: 20 77 69 74 68 20 61 20 0D 8A 27 2E 42 27 20 73 with a ..'.B' s
000010: 75 66 66 69 78 20 74 6F 20 74 68 65 90 20 66 69 uffix to the. fi
000020: 6C 65 6E 61 6D 65 2E 90 20 54 68 69 73 90 20 69 lename.. This. i
000030: 73 90 20 6E 6F 74 90 20 65 73 73 65 6E 74 69 61 s. not. essentia
000040: 6C 2C 20 62 75 74 20 64 6F 65 73 20 68 65 6C 70 l, but does help
000050: 20 0D 8A 69 64 65 6E 74 69 66 79 20 74 68 65 20 ..identify the
000060: 74 79 70 65 20 6F 66 20 66 69 6C 65 73 20 6F 6E type of files on
000070: 20 61 20 64 69 73 63 2E 0D 0A 0D 0A E2 43 6F 6D a disc......Com
000080: 70 69 6C 69 6E 67 20 61 20 42 43 50 4C 20 70 72 piling a BCPL pr
000090: 6F 67 72 61 6D 20 75 6E 64 65 72 20 41 4D 53 44 ogram under AMSD
0000A0: 4F 53 E2 0D 0A 0D 0A 09 41 70 61 72 74 20 66 72 OS......Apart fr
0000B0: 6F 6D 20 68 61 76 69 6E 67 20 74 6F 90 20 6C 6F om having to. lo
0000C0: 61 64 90 20 74 68 65 90 20 64 69 73 63 90 20 76 ad. the. disc. v
0000D0: 65 72 73 69 6F 6E 2C 90 20 74 68 65 90 20 64 69 ersion,. the. di
0000E0: 73 63 20 61 6E 64 20 52 4F 4D 20 0D 8A 76 65 72 sc and ROM ..ver
0000F0: 73 69 6F 6E 73 20 61 72 65 20 75 73 65 64 20 69 sions are used i
000100: 6E 20 65 78 61 63 74 6C 79 20 74 68 65 90 20 73 n exactly the. s
000110: 61 6D 65 90 20 77 61 79 2E 20 54 68 65 72 65 20 ame. way. There
000120: 61 72 65 2C 20 68 6F 77 65 76 65 72 2C 20 61 20 are, however, a
000130: 66 65 77 20 0D 8A 64 69 66 66 65 72 65 6E 63 65 few ..difference
000140: 73 20 77 68 65 6E 20 63 6F 6D 70 61 72 65 64 20 s when compared
000150: 77 69 74 68 20 74 68 65 90 20 43 50 2F 4D 20 76 with the. CP/M v
000160: 65 72 73 69 6F 6E 2E 20 54 68 65 20 6D 61 6A 6F ersion. The majo
000170: 72 20 64 69 66 66 65 72 65 6E 63 65 20 0D 8A 69 r difference ..i
000180: 73 20 74 68 61 74 20 74 68 65 20 43 50 2F 4D 20 s that the CP/M
000190: 76 65 72 73 69 6F 6E 20 61 6C 6C 6F 77 73 90 20 version allows.
0001A0: 74 68 65 90 20 69 6E 63 6C 75 73 69 6F 6E 20 6F the. inclusion o
0001B0: 66 20 73 6F 75 72 63 65 20 66 69 6C 65 73 20 77 f source files w
0001C0: 69 74 68 69 6E 20 0D 8A 6F 74 68 65 72 20 73 6F ithin ..other so
0001D0: 75 72 63 65 20 66 69 6C 65 73 2E 20 54 68 65 20 urce files. The
0001E0: 41 4D 53 44 4F 53 20 76 65 72 73 69 6F 6E 20 64 AMSDOS version d
0001F0: 6F 65 73 20 6E 6F 74 20 61 6C 6C 6F 77 20 74 68 oes not allow th
Size : 512 (Real : 512)
000000: 69 73 20 61 6C 74 68 6F 75 67 68 20 69 74 20 0D is although it .
000010: 8A 64 6F 65 73 20 61 6C 6C 6F 77 20 74 68 65 20 .does allow the
000020: 69 6E 63 6C 75 73 69 6F 6E 90 20 6F 66 90 20 73 inclusion. of. s
000030: 74 6F 72 65 64 90 20 50 52 4F 54 45 58 54 2F 4D tored. PROTEXT/M
000040: 41 58 41 4D 90 20 74 65 78 74 2E 20 44 75 65 20 AXAM. text. Due
000050: 74 6F 20 74 68 69 73 20 0D 8A 6C 69 6D 69 74 61 to this ..limita
000060: 74 69 6F 6E 20 74 68 65 20 41 4D 53 44 4F 53 20 tion the AMSDOS
000070: 76 65 72 73 69 6F 6E 20 68 61 73 20 61 90 20 73 version has a. s
000080: 69 6D 70 6C 65 20 66 72 6F 6E 74 20 65 6E 64 20 imple front end
000090: 77 68 69 63 68 20 61 6C 6C 6F 77 73 20 79 6F 75 which allows you
0000A0: 20 0D 8A 74 6F 20 74 79 70 65 20 69 6E 20 73 6F ..to type in so
0000B0: 75 72 63 65 20 63 6F 64 65 20 77 68 69 63 68 90 urce code which.
0000C0: 20 77 69 6C 6C 90 20 74 68 65 6E 90 20 62 65 20 will. then. be
0000D0: 73 75 62 6D 69 74 74 65 64 20 64 69 72 65 63 74 submitted direct
0000E0: 6C 79 20 74 6F 20 74 68 65 20 0D 8A 63 6F 6D 70 ly to the ..comp
0000F0: 69 6C 65 72 2E 20 0D 0A 3E 70 61 0D 0A 09 54 6F iler. ..>pa...To
000100: 20 72 75 6E 20 74 68 65 20 63 6F 6D 70 69 6C 65 run the compile
000110: 72 20 74 79 70 65 3A 20 20 7C 42 43 50 4C 0D 0A r type: |BCPL..
000120: 0D 0A 09 54 68 65 20 73 63 72 65 65 6E 20 77 69 ...The screen wi
000130: 6C 6C 20 63 6C 65 61 72 20 61 6E 64 20 74 68 65 ll clear and the
000140: 20 42 43 50 4C 20 73 69 67 6E 6F 6E 20 6D 65 73 BCPL signon mes
000150: 73 61 67 65 20 77 69 6C 6C 20 62 65 20 70 72 69 sage will be pri
000160: 6E 74 65 64 2E 20 0D 8A 59 6F 75 20 77 69 6C 6C nted. ..You will
000170: 20 74 68 65 6E 20 62 65 20 70 72 6F 6D 70 74 65 then be prompte
000180: 64 20 77 69 74 68 20 22 4F 75 74 70 75 74 90 20 d with "Output.
000190: 66 69 6C 65 20 6E 61 6D 65 3F 22 2E 20 54 68 65 file name?". The
0001A0: 20 6E 61 6D 65 20 79 6F 75 20 74 79 70 65 20 0D name you type .
0001B0: 8A 68 65 72 65 20 69 73 20 74 68 65 20 6E 61 6D .here is the nam
0001C0: 65 20 6F 66 20 74 68 65 20 66 69 6C 65 90 20 69 e of the file. i
0001D0: 6E 74 6F 20 77 68 69 63 68 20 74 68 65 20 70 72 nto which the pr
0001E0: 6F 67 72 61 6D 20 77 69 6C 6C 20 62 65 20 63 6F ogram will be co
0001F0: 6D 70 69 6C 65 64 2E 20 0D 8A 49 74 20 69 73 20 mpiled. ..It is
Size : 512 (Real : 512)
000000: 61 6C 73 6F 20 70 6F 73 73 69 62 6C 65 90 20 28 also possible. (
000010: 75 6E 6C 65 73 73 90 20 74 68 65 90 20 70 72 6F unless. the. pro
000020: 67 72 61 6D 90 20 69 73 90 20 74 6F 6F 90 20 6C gram. is. too. l
000030: 61 72 67 65 29 20 74 6F 20 63 6F 6D 70 69 6C 65 arge) to compile
000040: 20 0D 8A 64 69 72 65 63 74 6C 79 20 69 6E 74 6F ..directly into
000050: 20 6D 65 6D 6F 72 79 2E 20 54 6F 90 20 64 6F 90 memory. To. do.
000060: 20 74 68 69 73 90 20 6A 75 73 74 90 20 70 72 65 this. just. pre
000070: 73 73 90 20 52 45 54 55 52 4E 90 20 28 6F 72 20 ss. RETURN. (or
000080: 45 4E 54 45 52 29 20 69 6E 20 0D 8A 72 65 73 70 ENTER) in ..resp
000090: 6F 6E 73 65 20 74 6F 20 74 68 65 20 71 75 65 73 onse to the ques
0000A0: 74 69 6F 6E 2E 0D 0A 09 59 6F 75 20 77 69 6C 6C tion....You will
0000B0: 90 20 74 68 65 6E 90 20 62 65 90 20 70 72 65 73 . then. be. pres
0000C0: 65 6E 74 65 64 90 20 77 69 74 68 90 20 74 68 65 ented. with. the
0000D0: 90 20 42 43 50 4C 90 20 70 72 6F 6D 70 74 90 20 . BCPL. prompt.
0000E0: 27 2D 2D 3E 27 2E 20 54 68 65 20 0D 8A 63 6F 6D '-->'. The ..com
0000F0: 70 69 6C 65 72 20 69 73 20 6E 6F 77 20 72 65 61 piler is now rea
000100: 64 79 20 74 6F 20 61 63 63 65 70 74 90 20 42 43 dy to accept. BC
000110: 50 4C 90 20 63 6F 64 65 20 66 6F 72 20 63 6F 6D PL. code for com
000120: 70 69 6C 61 74 69 6F 6E 2E 20 54 68 69 73 20 77 pilation. This w
000130: 69 6C 6C 20 0D 8A 61 6C 6D 6F 73 74 20 61 6C 77 ill ..almost alw
000140: 61 79 73 20 63 6F 6E 73 69 73 74 20 6F 66 20 6F ays consist of o
000150: 6E 65 90 20 6F 72 90 20 6D 6F 72 65 90 20 47 45 ne. or. more. GE
000160: 54 90 20 64 69 72 65 63 74 69 76 65 73 2E 20 54 T. directives. T
000170: 68 65 72 65 20 61 72 65 20 74 77 6F 20 0D 8A 66 here are two ..f
000180: 6F 72 6D 73 20 70 65 72 6D 69 74 74 65 64 3A 0D orms permitted:.
000190: 0A 0D 0A 28 69 29 09 09 47 45 54 20 22 66 69 6C ...(i)..GET "fil
0001A0: 65 22 09 74 6F 20 69 6E 63 6C 75 64 65 20 61 6E e".to include an
0001B0: 6F 74 68 65 72 20 70 72 65 76 69 6F 75 73 6C 79 other previously
0001C0: 20 70 72 65 70 61 72 65 64 20 66 69 6C 65 0D 0A prepared file..
0001D0: 0D 0A 28 69 69 29 09 47 45 54 09 09 74 6F 20 69 ..(ii).GET..to i
0001E0: 6E 63 6C 75 64 65 20 74 68 65 20 63 75 72 72 65 nclude the curre
0001F0: 6E 74 20 74 65 78 74 20 28 50 52 4F 54 45 58 54 nt text (PROTEXT
Size : 512 (Real : 512)
000000: 2F 4D 41 58 41 4D 29 0D 0A 0D 0A 09 41 6E 79 20 /MAXAM).....Any
000010: 6E 75 6D 62 65 72 20 6F 66 20 47 45 54 90 20 64 number of GET. d
000020: 69 72 65 63 74 69 76 65 73 90 20 6D 61 79 90 20 irectives. may.
000030: 62 65 90 20 74 79 70 65 64 2E 90 20 41 66 74 65 be. typed.. Afte
000040: 72 20 65 61 63 68 20 6F 6E 65 20 74 68 65 20 0D r each one the .
000050: 8A 63 6F 6D 70 69 6C 65 72 20 77 69 6C 6C 20 70 .compiler will p
000060: 65 72 66 6F 72 6D 20 74 68 65 20 66 69 72 73 74 erform the first
000070: 90 20 70 61 72 74 90 20 6F 66 90 20 74 68 65 20 . part. of. the
000080: 63 6F 6D 70 69 6C 61 74 69 6F 6E 2E 20 54 6F 20 compilation. To
000090: 65 6E 64 20 74 68 65 20 0D 8A 63 6F 6D 70 69 6C end the ..compil
0000A0: 61 74 69 6F 6E 20 61 6E 64 20 70 72 6F 64 75 63 ation and produc
0000B0: 65 20 74 68 65 20 6F 62 6A 65 63 74 20 63 6F 64 e the object cod
0000C0: 65 20 74 79 70 65 20 61 20 66 75 6C 6C 20 73 74 e type a full st
0000D0: 6F 70 20 27 2E 27 2E 0D 0A 0D 0A 0D 0A 4E 6F 74 op '.'.......Not
0000E0: 65 3A 20 49 66 20 74 68 65 20 27 2E 42 27 20 65 e: If the '.B' e
0000F0: 78 74 65 6E 73 69 6F 6E 90 6F 66 90 20 61 90 20 xtension.of. a.
000100: 73 6F 75 72 63 65 20 66 69 6C 65 6E 61 6D 65 90 source filename.
000110: 69 73 20 6F 6D 69 74 74 65 64 20 66 72 6F 6D 20 is omitted from
000120: 74 68 65 20 0D 8A 66 69 6C 65 6E 61 6D 65 20 69 the ..filename i
000130: 6E 20 61 20 47 45 54 20 63 6F 6D 6D 61 6E 64 20 n a GET command
000140: 77 68 65 6E 90 20 74 68 65 90 20 66 69 6C 65 6E when. the. filen
000150: 61 6D 65 20 63 6F 6E 74 61 69 6E 73 20 69 74 2C ame contains it,
000160: 20 41 6D 73 64 6F 73 20 77 69 6C 6C 20 0D 8A 69 Amsdos will ..i
000170: 6E 69 74 69 61 6C 6C 79 20 70 72 6F 64 75 63 65 nitially produce
000180: 20 74 68 65 20 6D 65 73 73 61 67 65 90 20 27 66 the message. 'f
000190: 69 6C 65 91 6E 6F 74 90 20 66 6F 75 6E 64 27 90 ile.not. found'.
0001A0: 90 62 75 74 20 77 69 6C 6C 20 63 6F 6E 74 69 6E .but will contin
0001B0: 75 65 20 74 6F 20 0D 8A 73 65 61 72 63 68 20 66 ue to ..search f
0001C0: 6F 72 20 61 20 66 69 6C 65 20 77 69 74 68 20 74 or a file with t
0001D0: 68 65 20 2E 42 20 65 78 74 65 6E 73 69 6F 6E 20 he .B extension
0001E0: 61 6E 64 20 63 6F 6D 70 69 6C 65 20 69 74 2E 0D and compile it..
0001F0: 0A 3E 70 61 0D 0A E2 54 65 73 74 69 6E 67 20 42 .>pa...Testing B
Size : 512 (Real : 512)
000000: 43 50 4C 20 70 72 6F 67 72 61 6D 73 20 75 6E 64 CPL programs und
000010: 65 72 20 41 4D 53 44 4F 53 E2 0D 0A 0D 0A 09 49 er AMSDOS......I
000020: 66 20 61 20 70 72 6F 67 72 61 6D 90 20 69 73 90 f a program. is.
000030: 20 63 6F 6D 70 69 6C 65 64 90 20 74 6F 90 20 6D compiled. to. m
000040: 65 6D 6F 72 79 2C 90 20 61 73 90 20 64 65 73 63 emory,. as. desc
000050: 72 69 62 65 64 90 20 61 62 6F 76 65 2C 20 74 68 ribed. above, th
000060: 65 20 0D 8A 63 6F 6D 6D 61 6E 64 20 27 7C 47 4F e ..command '|GO
000070: 27 20 6D 61 79 20 62 65 20 75 73 65 64 20 74 6F ' may be used to
000080: 20 72 75 6E 20 74 68 65 20 70 72 6F 67 72 61 6D run the program
000090: 2E 0D 0A 09 54 79 70 69 6E 67 20 27 7C 47 4F 27 ....Typing '|GO'
0000A0: 20 77 69 6C 6C 20 72 75 6E 20 74 68 65 20 6D 6F will run the mo
0000B0: 73 74 90 20 72 65 63 65 6E 74 6C 79 20 63 6F 6D st. recently com
0000C0: 70 69 6C 65 64 20 42 43 50 4C 20 70 72 6F 67 72 piled BCPL progr
0000D0: 61 6D 2E 20 49 66 20 0D 8A 6E 6F 20 70 72 6F 67 am. If ..no prog
0000E0: 72 61 6D 20 68 61 73 20 62 65 65 6E 90 20 63 6F ram has been. co
0000F0: 6D 70 69 6C 65 64 2C 90 20 6F 72 90 20 61 6E 90 mpiled,. or. an.
000100: 20 65 72 72 6F 72 20 6F 63 63 75 72 72 65 64 20 error occurred
000110: 6F 6E 20 63 6F 6D 70 69 6C 61 74 69 6F 6E 2C 20 on compilation,
000120: 0D 8A 74 68 65 6E 20 7C 47 4F 20 77 69 6C 6C 20 ..then |GO will
000130: 73 69 6D 70 6C 79 20 70 72 69 6E 74 20 74 68 65 simply print the
000140: 20 6D 65 73 73 61 67 65 20 22 4E 6F 20 70 72 6F message "No pro
000150: 67 72 61 6D 22 2E 20 0D 0A 09 57 41 52 4E 49 4E gram". ...WARNIN
000160: 47 20 2D 20 69 74 20 69 73 20 70 6F 73 73 69 62 G - it is possib
000170: 6C 65 20 74 6F 90 20 63 6F 72 72 75 70 74 90 20 le to. corrupt.
000180: 61 20 63 6F 6D 70 69 6C 65 64 20 70 72 6F 67 72 a compiled progr
000190: 61 6D 20 69 6E 20 6D 65 6D 6F 72 79 20 0D 8A 62 am in memory ..b
0001A0: 79 20 65 64 69 74 69 6E 67 20 74 68 65 20 50 52 y editing the PR
0001B0: 4F 54 45 58 54 20 6F 72 90 20 4D 41 58 41 4D 90 OTEXT or. MAXAM.
0001C0: 20 74 65 78 74 2C 90 20 73 6F 90 20 61 66 74 65 text,. so. afte
0001D0: 72 20 65 64 69 74 69 6E 67 20 74 68 65 20 70 72 r editing the pr
0001E0: 6F 67 72 61 6D 20 0D 8A 73 68 6F 75 6C 64 20 61 ogram ..should a
0001F0: 6C 77 61 79 73 20 62 65 20 63 6F 6D 70 69 6C 65 lways be compile
Size : 512 (Real : 512)
000000: 64 20 61 67 61 69 6E 20 62 65 66 6F 72 65 20 75 d again before u
000010: 73 69 6E 67 20 47 4F 2E 0D 0A 09 57 69 74 68 20 sing GO....With
000020: 6C 61 72 67 65 90 20 70 72 6F 67 72 61 6D 73 90 large. programs.
000030: 20 69 74 90 20 69 73 90 20 71 75 69 74 65 90 20 it. is. quite.
000040: 6C 69 6B 65 6C 79 90 20 74 68 61 74 90 20 74 68 likely. that. th
000050: 65 72 65 90 20 77 69 6C 6C 90 20 62 65 20 0D 8A ere. will. be ..
000060: 69 6E 73 75 66 66 69 63 69 65 6E 74 20 6D 65 6D insufficient mem
000070: 6F 72 79 20 74 6F 20 63 6F 6D 70 69 6C 65 20 74 ory to compile t
000080: 6F 90 20 6D 65 6D 6F 72 79 2E 90 20 54 68 65 72 o. memory.. Ther
000090: 65 20 61 72 65 20 74 68 72 65 65 20 63 6F 75 72 e are three cour
0000A0: 73 65 73 20 6F 66 20 0D 8A 61 63 74 69 6F 6E 20 ses of ..action
0000B0: 74 68 61 74 20 6D 61 79 20 62 65 20 74 61 6B 65 that may be take
0000C0: 6E 20 68 65 72 65 3A 0D 0A 09 28 69 29 20 20 20 n here:...(i)
0000D0: 69 66 20 79 6F 75 20 61 72 65 20 75 73 69 6E 67 if you are using
0000E0: 20 74 68 65 20 64 69 73 63 90 20 76 65 72 73 69 the disc. versi
0000F0: 6F 6E 2C 90 20 62 75 79 20 61 20 52 4F 4D 20 62 on,. buy a ROM b
000100: 6F 61 72 64 20 61 6E 64 20 75 73 65 20 0D 8A 74 oard and use ..t
000110: 68 65 20 52 4F 4D 20 76 65 72 73 69 6F 6E 2E 20 he ROM version.
000120: 59 6F 75 20 77 69 6C 6C 20 67 61 69 6E 20 61 6E You will gain an
000130: 20 65 78 74 72 61 20 31 36 4B 20 6F 66 20 6D 65 extra 16K of me
000140: 6D 6F 72 79 2E 0D 0A 09 28 69 69 29 20 20 63 6F mory....(ii) co
000150: 6D 70 69 6C 65 20 64 69 72 65 63 74 6C 79 20 74 mpile directly t
000160: 6F 20 64 69 73 63 2E 0D 0A 09 28 69 69 69 29 20 o disc....(iii)
000170: 75 73 65 20 74 68 65 20 43 50 2F 4D 20 76 65 72 use the CP/M ver
000180: 73 69 6F 6E 2E 0D 0A 0D 0A 0D 0A E2 45 78 74 72 sion........Extr
000190: 61 20 66 61 63 69 6C 69 74 69 65 73 20 66 6F 72 a facilities for
0001A0: 20 52 4F 4D 20 75 73 65 72 73 E2 0D 0A 0D 0A 52 ROM users.....R
0001B0: 4F 4D 4F 4E 37 0D 0A 0D 0A 09 53 6F 6D 65 20 70 OMON7.....Some p
0001C0: 72 6F 67 72 61 6D 73 90 20 28 70 61 72 74 69 63 rograms. (partic
0001D0: 75 6C 61 72 6C 79 90 20 67 61 6D 65 73 29 90 20 ularly. games).
0001E0: 77 69 6C 6C 90 20 6E 6F 74 90 20 72 75 6E 90 20 will. not. run.
0001F0: 77 69 74 68 90 20 61 90 20 72 6F 6D 20 0D 8A 69 with. a. rom ..i
Size : 512 (Real : 512)
000000: 6E 73 74 61 6C 6C 65 64 2E 20 54 68 65 20 63 6F nstalled. The co
000010: 6D 6D 61 6E 64 20 7C 52 4F 4D 4F 4E 37 20 69 73 mmand |ROMON7 is
000020: 20 70 72 6F 76 69 64 65 64 20 74 6F 20 65 6E 61 provided to ena
000030: 62 6C 65 20 74 68 65 20 42 43 50 4C 20 72 6F 6D ble the BCPL rom
000040: 20 28 61 6E 64 20 0D 8A 61 6E 79 20 6F 74 68 65 (and ..any othe
000050: 72 73 29 20 74 6F 20 62 65 20 74 75 72 6E 65 64 rs) to be turned
000060: 20 6F 66 66 2E 20 41 6C 6C 90 20 72 6F 6D 73 90 off. All. roms.
000070: 20 65 78 63 65 70 74 20 74 68 65 20 41 4D 53 44 except the AMSD
000080: 4F 53 20 72 6F 6D 20 77 69 6C 6C 20 62 65 20 0D OS rom will be .
000090: 8A 74 75 72 6E 65 64 20 6F 66 66 2E 20 4E 6F 74 .turned off. Not
0000A0: 65 20 74 68 61 74 90 20 52 4F 4D 4F 4E 37 90 20 e that. ROMON7.
0000B0: 77 69 6C 6C 90 20 72 65 73 65 74 90 20 74 68 65 will. reset. the
0000C0: 90 20 63 6F 6D 70 75 74 65 72 20 61 6E 64 20 6C . computer and l
0000D0: 6F 73 65 20 74 68 65 20 0D 8A 63 6F 6E 74 65 6E ose the ..conten
0000E0: 74 73 20 6F 66 20 6D 65 6D 6F 72 79 2E 0D 0A 0D ts of memory....
0000F0: 0A 52 55 4E 22 44 49 53 43 0D 0A 0D 0A 09 57 68 .RUN"DISC.....Wh
000100: 65 6E 20 74 68 65 20 42 43 50 4C 20 52 4F 4D 20 en the BCPL ROM
000110: 69 73 90 20 69 6E 73 74 61 6C 6C 65 64 2C 20 70 is. installed, p
000120: 72 65 73 73 69 6E 67 20 43 54 52 4C 2D 45 4E 54 ressing CTRL-ENT
000130: 45 52 20 77 69 6C 6C 20 67 65 6E 65 72 61 74 65 ER will generate
000140: 20 0D 8A 74 68 65 20 63 6F 6D 6D 61 6E 64 20 52 ..the command R
000150: 55 4E 22 44 49 53 43 2E 20 54 68 75 73 20 61 20 UN"DISC. Thus a
000160: 66 69 6C 65 90 20 27 44 49 53 43 27 90 20 77 69 file. 'DISC'. wi
000170: 6C 6C 20 62 65 20 72 75 6E 20 77 68 65 6E 20 43 ll be run when C
000180: 54 52 4C 2D 45 4E 54 45 52 20 0D 8A 69 73 20 70 TRL-ENTER ..is p
000190: 72 65 73 73 65 64 2E 0D 0A 0D 0A 3E 70 61 0D 0A ressed.....>pa..
0001A0: 3E 63 65 20 E2 34 2E 20 43 4F 4D 50 49 4C 45 52 >ce .4. COMPILER
0001B0: 20 4F 50 54 49 4F 4E 53 E2 0D 0A 0D 0A 0D 0A 09 OPTIONS........
0001C0: 54 68 65 20 4F 50 54 49 4F 4E 20 64 69 72 65 63 The OPTION direc
0001D0: 74 69 76 65 20 63 6F 6E 74 72 6F 6C 73 20 76 61 tive controls va
0001E0: 72 69 6F 75 73 20 63 6F 6D 70 69 6C 65 72 20 66 rious compiler f
0001F0: 61 63 69 6C 69 74 69 65 73 2E 20 49 74 20 64 6F acilities. It do
Size : 512 (Real : 512)
000000: 65 73 20 0D 8A 6E 6F 74 20 63 61 75 73 65 20 61 es ..not cause a
000010: 6E 79 20 63 6F 64 65 20 74 6F 20 62 65 20 67 65 ny code to be ge
000020: 6E 65 72 61 74 65 64 2E 90 20 54 68 65 72 65 20 nerated.. There
000030: 61 72 65 20 35 20 6F 70 74 69 6F 6E 73 20 6F 6E are 5 options on
000040: 20 74 68 65 20 41 4D 53 44 4F 53 20 0D 8A 76 65 the AMSDOS ..ve
000050: 72 73 69 6F 6E 73 20 6F 66 20 74 68 65 20 63 6F rsions of the co
000060: 6D 70 69 6C 65 72 20 61 6E 64 20 33 90 20 6F 6E mpiler and 3. on
000070: 20 74 68 65 20 43 50 2F 4D 20 76 65 72 73 69 6F the CP/M versio
000080: 6E 2E 20 20 4D 75 6C 74 69 70 6C 65 20 6F 70 74 n. Multiple opt
000090: 69 6F 6E 73 20 0D 8A 6D 61 79 20 62 65 20 73 65 ions ..may be se
0000A0: 6C 65 63 74 65 64 90 20 77 69 74 68 90 20 61 90 lected. with. a.
0000B0: 20 73 69 6E 67 6C 65 90 20 4F 50 54 49 4F 4E 90 single. OPTION.
0000C0: 20 64 69 72 65 63 74 69 76 65 90 20 62 79 20 73 directive. by s
0000D0: 65 70 61 72 61 74 69 6E 67 20 74 68 65 20 0D 8A eparating the ..
0000E0: 6F 70 74 69 6F 6E 73 20 77 69 74 68 20 63 6F 6D options with com
0000F0: 6D 61 73 2E 20 54 68 65 90 20 4F 50 54 49 4F 4E mas. The. OPTION
000100: 90 20 64 69 72 65 63 74 69 76 65 90 20 6D 61 79 . directive. may
000110: 90 20 61 70 70 65 61 72 20 61 6E 79 77 68 65 72 . appear anywher
000120: 65 20 69 6E 20 61 20 0D 8A 70 72 6F 67 72 61 6D e in a ..program
000130: 20 73 6F 20 6F 70 74 69 6F 6E 73 20 63 61 6E 20 so options can
000140: 62 65 20 73 65 6C 65 63 74 65 64 20 66 6F 72 20 be selected for
000150: 61 6E 79 20 70 61 72 74 20 6F 66 20 61 20 70 72 any part of a pr
000160: 6F 67 72 61 6D 2E 20 0D 0A 0D 0A 09 54 68 65 20 ogram. .....The
000170: 74 68 72 65 65 20 6F 70 74 69 6F 6E 73 20 63 6F three options co
000180: 6D 6D 6F 6E 20 74 6F 20 61 6C 6C 20 76 65 72 73 mmon to all vers
000190: 69 6F 6E 73 20 61 72 65 20 61 73 20 66 6F 6C 6C ions are as foll
0001A0: 6F 77 73 3A 0D 0A 0D 0A 09 49 66 20 74 68 65 20 ows:.....If the
0001B0: 6F 70 74 69 6F 6E 90 20 69 73 90 20 66 6F 6C 6C option. is. foll
0001C0: 6F 77 65 64 90 20 62 79 90 20 61 90 20 27 2B 27 owed. by. a. '+'
0001D0: 90 20 73 69 67 6E 90 20 74 68 65 90 20 6F 70 74 . sign. the. opt
0001E0: 69 6F 6E 20 77 69 6C 6C 20 62 65 20 0D 8A 73 77 ion will be ..sw
0001F0: 69 74 63 68 65 64 20 6F 6E 20 61 6E 64 20 69 66 itched on and if
Size : 512 (Real : 512)
000000: 20 66 6F 6C 6C 6F 77 65 64 20 62 79 20 61 20 27 followed by a '
000010: 2D 2D 27 2C 20 69 74 20 77 69 6C 6C 20 62 65 20 --', it will be
000020: 20 73 77 69 74 63 68 65 64 20 6F 66 66 2E 0D 0A switched off...
000030: 0D 0A 09 4C 20 2D 2D 20 73 77 69 74 63 68 20 6C ...L -- switch l
000040: 69 73 74 69 6E 67 20 6F 6E 20 6F 72 20 6F 66 66 isting on or off
000050: 2E 20 0D 0A 0D 0A 09 09 65 2E 67 2E 20 4F 50 54 . ......e.g. OPT
000060: 49 4F 4E 20 4C 2B 0D 0A 0D 0A 09 53 20 2D 2D 20 ION L+.....S --
000070: 73 77 69 74 63 68 20 73 74 61 63 6B 20 63 68 65 switch stack che
000080: 63 6B 69 6E 67 20 6F 6E 20 6F 72 90 20 6F 66 66 cking on or. off
000090: 2E 90 20 49 66 20 63 68 65 63 6B 69 6E 67 20 69 .. If checking i
0000A0: 73 20 6F 6E 20 74 68 65 6E 20 74 68 65 20 0D 8A s on then the ..
0000B0: 63 6F 6D 70 69 6C 65 72 20 77 69 6C 6C 20 63 68 compiler will ch
0000C0: 65 63 6B 20 66 6F 72 90 20 73 74 61 63 6B 90 20 eck for. stack.
0000D0: 6F 76 65 72 66 6C 6F 77 90 20 61 74 90 20 74 68 overflow. at. th
0000E0: 65 90 20 65 6E 74 72 79 20 70 6F 69 6E 74 20 6F e. entry point o
0000F0: 66 20 65 61 63 68 20 0D 8A 70 72 6F 63 65 64 75 f each ..procedu
000100: 72 65 2E 20 49 66 20 73 74 61 63 6B 20 63 68 65 re. If stack che
000110: 63 6B 69 6E 67 20 69 73 90 20 6F 66 66 90 20 74 cking is. off. t
000120: 68 65 6E 90 20 74 68 65 20 73 74 61 63 6B 20 6D hen. the stack m
000130: 61 79 20 6F 76 65 72 66 6C 6F 77 20 61 6E 64 20 ay overflow and
000140: 0D 8A 63 72 61 73 68 20 74 68 65 20 6D 61 63 68 ..crash the mach
000150: 69 6E 65 2E 0D 0A 0D 0A 09 09 65 2E 67 2E 20 4F ine.......e.g. O
000160: 50 54 49 4F 4E 20 53 2D 2D 0D 0A 0D 0A 09 42 20 PTION S--.....B
000170: 2D 2D 20 73 77 69 74 63 68 20 62 72 65 61 6B 20 -- switch break
000180: 63 68 65 63 6B 69 6E 67 20 6F 6E 20 6F 72 90 20 checking on or.
000190: 6F 66 66 2E 90 20 49 66 20 63 68 65 63 6B 69 6E off.. If checkin
0001A0: 67 20 69 73 20 6F 6E 20 74 68 65 6E 20 74 68 65 g is on then the
0001B0: 20 0D 8A 6F 62 6A 65 63 74 20 63 6F 64 65 90 20 ..object code.
0001C0: 70 72 6F 64 75 63 65 64 90 20 77 69 6C 6C 90 20 produced. will.
0001D0: 63 68 65 63 6B 90 20 77 68 65 74 68 65 72 90 20 check. whether.
0001E0: 74 68 65 90 20 62 72 65 61 6B 90 20 6B 65 79 90 the. break. key.
0001F0: 20 28 45 53 43 90 20 6F 72 20 0D 8A 53 54 4F 50 (ESC. or ..STOP
Size : 512 (Real : 512)
000000: 29 20 68 61 73 20 62 65 65 6E 20 70 72 65 73 73 ) has been press
000010: 65 64 20 61 74 20 74 68 65 20 73 74 61 72 74 90 ed at the start.
000020: 20 6F 66 90 20 6C 6F 6F 70 73 20 61 6E 64 20 61 of. loops and a
000030: 74 20 74 68 65 20 65 6E 74 72 79 20 70 6F 69 6E t the entry poin
000040: 74 73 20 0D 8A 6F 66 20 70 72 6F 63 65 64 75 72 ts ..of procedur
000050: 65 73 2E 20 41 20 6E 75 6D 62 65 72 20 6D 61 79 es. A number may
000060: 20 62 65 20 73 70 65 63 69 66 69 65 64 90 20 74 be specified. t
000070: 6F 20 63 6F 6E 74 72 6F 6C 20 68 6F 77 20 6F 66 o control how of
000080: 74 65 6E 20 74 68 65 20 6B 65 79 20 0D 8A 69 73 ten the key ..is
000090: 20 63 68 65 63 6B 65 64 2E 20 54 68 65 20 64 65 checked. The de
0000A0: 66 61 75 6C 74 20 69 73 90 20 31 30 2C 90 20 77 fault is. 10,. w
0000B0: 68 69 63 68 90 20 6D 65 61 6E 73 90 20 69 74 90 hich. means. it.
0000C0: 20 69 73 20 63 68 65 63 6B 65 64 20 6F 6E 63 65 is checked once
0000D0: 20 66 6F 72 20 0D 8A 65 76 65 72 79 20 74 65 6E for ..every ten
0000E0: 20 6C 6F 6F 70 73 20 6F 72 20 70 72 6F 63 65 64 loops or proced
0000F0: 75 72 65 73 2E 0D 0A 0D 0A 09 09 65 2E 67 2E 20 ures.......e.g.
000100: 4F 50 54 49 4F 4E 20 42 2D 2D 0D 0A 09 09 20 20 OPTION B--....
000110: 20 20 20 4F 50 54 49 4F 4E 20 42 2B 32 35 09 0D OPTION B+25..
000120: 0A 0D 0A 09 54 68 65 20 64 65 66 61 75 6C 74 73 ....The defaults
000130: 20 66 6F 72 20 74 68 65 20 61 62 6F 76 65 20 6F for the above o
000140: 70 74 69 6F 6E 73 20 61 72 65 20 6C 69 73 74 69 ptions are listi
000150: 6E 67 20 6F 66 66 2C 20 73 74 61 63 6B 20 63 68 ng off, stack ch
000160: 65 63 6B 69 6E 67 20 0D 8A 6F 6E 2C 20 62 72 65 ecking ..on, bre
000170: 61 6B 20 63 68 65 63 6B 69 6E 67 20 6F 6E 2E 20 ak checking on.
000180: 0D 0A 0D 0A 3E 70 61 0D 0A 09 54 68 65 20 72 65 ....>pa...The re
000190: 6D 61 69 6E 69 6E 67 20 74 77 6F 20 6F 70 74 69 maining two opti
0001A0: 6F 6E 73 20 61 72 65 20 6F 6E 6C 79 20 61 76 61 ons are only ava
0001B0: 69 6C 61 62 6C 65 20 6F 6E 20 41 4D 53 44 4F 53 ilable on AMSDOS
0001C0: 20 76 65 72 73 69 6F 6E 73 2E 0D 0A 0D 0A 0D 0A versions.......
0001D0: 09 4F 20 2D 2D 20 73 65 74 73 20 74 68 65 20 63 .O -- sets the c
0001E0: 6F 64 65 20 6F 72 69 67 69 6E 20 74 6F 20 74 68 ode origin to th
0001F0: 65 20 76 61 6C 75 65 20 6F 66 20 74 68 65 20 6E e value of the n
Size : 512 (Real : 512)
000000: 75 6D 62 65 72 20 77 68 69 63 68 20 66 6F 6C 6C umber which foll
000010: 6F 77 73 20 0D 8A 69 74 2E 20 0D 0A 09 09 65 2E ows ..it. ....e.
000020: 67 2E 20 4F 50 54 49 4F 4E 20 4F 20 23 78 31 37 g. OPTION O #x17
000030: 32 0D 0A 0D 0A 77 69 6C 6C 20 70 72 6F 64 75 63 2....will produc
000040: 65 20 63 6F 64 65 20 77 68 69 63 68 20 77 69 6C e code which wil
000050: 6C 20 72 75 6E 20 61 74 20 61 64 64 72 65 73 73 l run at address
000060: 20 31 37 32 20 28 68 65 78 29 2E 0D 0A 0D 0A 09 172 (hex)......
000070: 48 20 2D 2D 20 73 65 74 73 20 74 68 65 20 68 69 H -- sets the hi
000080: 67 68 65 73 74 20 62 79 74 65 20 75 73 61 62 6C ghest byte usabl
000090: 65 20 62 79 20 74 68 65 20 63 6F 6D 70 69 6C 65 e by the compile
0000A0: 64 20 63 6F 64 65 2E 20 54 68 69 73 20 69 73 20 d code. This is
0000B0: 73 6F 20 0D 8A 74 68 61 74 20 70 72 6F 67 72 61 so ..that progra
0000C0: 6D 73 20 63 6F 6D 70 69 6C 65 64 20 6F 6E 20 6F ms compiled on o
0000D0: 6E 65 20 6D 61 63 68 69 6E 65 20 63 61 6E 20 62 ne machine can b
0000E0: 65 20 72 75 6E 20 6F 6E 20 61 6E 6F 74 68 65 72 e run on another
0000F0: 2E 20 0D 0A 09 09 65 2E 67 2E 20 4F 50 54 49 4F . ....e.g. OPTIO
000100: 4E 20 48 20 34 30 30 30 30 0D 0A 0D 0A 0D 0A 09 N H 40000.......
000110: 54 68 65 20 6F 72 69 67 69 6E 20 64 65 66 61 75 The origin defau
000120: 6C 74 73 20 74 6F 20 74 68 65 20 66 69 72 73 74 lts to the first
000130: 90 20 75 6E 75 73 65 64 20 62 79 74 65 20 6F 66 . unused byte of
000140: 20 6D 65 6D 6F 72 79 20 61 74 20 63 6F 6D 70 69 memory at compi
000150: 6C 65 20 0D 8A 74 69 6D 65 20 28 61 66 74 65 72 le ..time (after
000160: 20 61 6E 79 20 42 41 53 49 43 20 70 72 6F 67 72 any BASIC progr
000170: 61 6D 20 6F 72 90 20 74 65 78 74 29 90 20 61 6E am or. text). an
000180: 64 20 74 68 65 20 68 69 67 68 65 73 74 20 62 79 d the highest by
000190: 74 65 20 64 65 66 61 75 6C 74 73 20 0D 8A 74 6F te defaults ..to
0001A0: 20 74 68 65 20 6C 61 73 74 20 75 6E 75 73 65 64 the last unused
0001B0: 20 62 79 74 65 20 6F 66 20 6D 65 6D 6F 72 79 20 byte of memory
0001C0: 61 74 20 63 6F 6D 70 69 6C 65 20 74 69 6D 65 20 at compile time
0001D0: 28 75 73 75 61 6C 6C 79 20 48 49 4D 45 4D 29 2E (usually HIMEM).
0001E0: 0D 0A 0D 0A 09 54 68 65 20 6D 61 69 6E 20 75 73 .....The main us
0001F0: 65 20 66 6F 72 20 74 68 65 20 48 20 61 6E 64 20 e for the H and
Size : 512 (Real : 512)
000000: 4F 20 6F 70 74 69 6F 6E 73 20 69 73 20 77 68 65 O options is whe
000010: 6E 20 70 72 6F 64 75 63 69 6E 67 20 73 74 61 6E n producing stan
000020: 64 20 61 6C 6F 6E 65 20 0D 8A 63 6F 64 65 20 74 d alone ..code t
000030: 6F 20 62 65 20 72 75 6E 20 66 72 6F 6D 20 61 90 o be run from a.
000040: 20 64 69 73 63 90 20 77 69 74 68 90 20 6E 6F 20 disc. with. no
000050: 42 41 53 49 43 20 73 75 70 70 6F 72 74 20 65 74 BASIC support et
000060: 63 2E 20 54 68 65 73 65 20 6F 70 74 69 6F 6E 73 c. These options
000070: 20 0D 8A 65 6E 61 62 6C 65 20 61 6C 6C 20 6F 66 ..enable all of
000080: 20 74 68 65 20 6D 65 6D 6F 72 79 20 74 6F 20 62 the memory to b
000090: 65 20 75 73 65 64 90 20 66 6F 72 20 61 20 70 72 e used. for a pr
0000A0: 6F 67 72 61 6D 2E 20 49 74 20 73 68 6F 75 6C 64 ogram. It should
0000B0: 20 62 65 20 6E 6F 74 65 64 20 0D 8A 68 6F 77 65 be noted ..howe
0000C0: 76 65 72 20 74 68 61 74 20 69 66 20 74 68 65 90 ver that if the.
0000D0: 20 5A 38 30 90 20 73 74 61 63 6B 90 20 70 6F 69 Z80. stack. poi
0000E0: 6E 74 65 72 90 20 67 6F 65 73 90 20 62 65 6C 6F nter. goes. belo
0000F0: 77 90 20 23 78 34 30 30 30 20 6F 72 20 61 62 6F w. #x4000 or abo
000100: 76 65 20 0D 8A 23 78 43 30 30 30 20 74 68 65 6E ve ..#xC000 then
000110: 20 74 68 65 20 6D 61 63 68 69 6E 65 90 20 77 69 the machine. wi
000120: 6C 6C 90 20 70 72 6F 62 61 62 6C 79 90 20 63 72 ll. probably. cr
000130: 61 73 68 90 20 64 75 65 90 20 74 6F 20 74 68 65 ash. due. to the
000140: 20 52 4F 4D 20 70 61 67 69 6E 67 20 0D 8A 77 68 ROM paging ..wh
000150: 69 63 68 20 75 73 65 73 20 74 68 65 73 65 20 61 ich uses these a
000160: 72 65 61 73 20 6F 66 20 6D 65 6D 6F 72 79 2E 0D reas of memory..
000170: 0A 0D 0A 3E 70 61 0D 0A 3E 63 65 20 E2 35 2E 20 ...>pa..>ce .5.
000180: 53 4F 4D 45 20 4B 45 59 20 46 41 43 54 53 20 41 SOME KEY FACTS A
000190: 42 4F 55 54 20 42 43 50 4C E2 0D 0A 0D 0A 0D 0A BOUT BCPL.......
0001A0: E2 28 69 29 20 42 43 50 4C 20 69 73 20 61 20 73 .(i) BCPL is a s
0001B0: 74 72 75 63 74 75 72 65 64 20 6C 61 6E 67 75 61 tructured langua
0001C0: 67 65 E2 0D 0A 0D 0A 09 41 20 42 43 50 4C 20 70 ge......A BCPL p
0001D0: 72 6F 67 72 61 6D 20 69 73 20 6D 61 64 65 20 75 rogram is made u
0001E0: 70 20 6F 66 20 61 20 6E 75 6D 62 65 72 20 6F 66 p of a number of
0001F0: 20 6E 61 6D 65 64 20 70 72 6F 63 65 64 75 72 65 named procedure
Size : 512 (Real : 512)
000000: 73 2C 20 65 61 63 68 20 6F 66 20 0D 8A 77 68 69 s, each of ..whi
000010: 63 68 20 69 73 90 20 71 75 69 74 65 90 20 73 65 ch is. quite. se
000020: 70 61 72 61 74 65 2E 90 20 54 68 65 72 65 90 20 parate.. There.
000030: 69 73 90 20 6F 6E 65 90 20 73 70 65 63 69 61 6C is. one. special
000040: 90 20 70 72 6F 63 65 64 75 72 65 2C 20 63 61 6C . procedure, cal
000050: 6C 65 64 20 0D 8A 27 73 74 61 72 74 27 2C 20 77 led ..'start', w
000060: 68 69 63 68 20 6D 75 73 74 20 62 65 20 70 72 65 hich must be pre
000070: 73 65 6E 74 90 20 69 6E 90 20 65 76 65 72 79 90 sent. in. every.
000080: 20 42 43 50 4C 20 70 72 6F 67 72 61 6D 2E 20 54 BCPL program. T
000090: 68 69 73 20 69 73 20 77 68 65 72 65 20 0D 8A 65 his is where ..e
0000A0: 78 65 63 75 74 69 6F 6E 20 77 69 6C 6C 20 62 65 xecution will be
0000B0: 67 69 6E 2E 20 54 68 69 73 20 70 72 6F 63 65 64 gin. This proced
0000C0: 75 72 65 20 77 69 6C 6C 20 63 61 6C 6C 20 6F 74 ure will call ot
0000D0: 68 65 72 20 70 72 6F 63 65 64 75 72 65 73 2C 20 her procedures,
0000E0: 77 68 69 63 68 20 0D 8A 77 69 6C 6C 20 69 6E 20 which ..will in
0000F0: 74 75 72 6E 20 63 61 6C 6C 20 6F 74 68 65 72 20 turn call other
000100: 70 72 6F 63 65 64 75 72 65 73 2C 20 61 6E 64 20 procedures, and
000110: 73 6F 20 6F 6E 2E 0D 0A 09 59 6F 75 20 77 69 6C so on....You wil
000120: 6C 20 6C 61 74 65 72 20 63 6F 6D 65 20 61 63 72 l later come acr
000130: 6F 73 73 20 74 65 72 6D 73 20 73 75 63 68 20 61 oss terms such a
000140: 73 20 62 6C 6F 63 6B 73 2C 20 63 6F 6D 70 6F 75 s blocks, compou
000150: 6E 64 20 63 6F 6D 6D 61 6E 64 73 20 0D 8A 61 6E nd commands ..an
000160: 64 20 73 63 6F 70 65 20 2D 2D 20 74 65 72 6D 73 d scope -- terms
000170: 90 20 74 68 61 74 90 20 61 70 70 6C 79 90 20 74 . that. apply. t
000180: 6F 90 20 73 74 72 75 63 74 75 72 65 64 90 20 6C o. structured. l
000190: 61 6E 67 75 61 67 65 73 20 69 6E 20 67 65 6E 65 anguages in gene
0001A0: 72 61 6C 2E 20 0D 8A 45 78 61 6D 70 6C 65 73 90 ral. ..Examples.
0001B0: 20 6F 66 90 20 6F 74 68 65 72 90 20 73 74 72 75 of. other. stru
0001C0: 63 74 75 72 65 64 90 90 20 70 72 6F 67 72 61 6D ctured.. program
0001D0: 6D 69 6E 67 90 20 6C 61 6E 67 75 61 67 65 73 90 ming. languages.
0001E0: 20 61 72 65 90 20 50 61 73 63 61 6C 2C 20 0D 8A are. Pascal, ..
0001F0: 4D 6F 64 75 6C 61 91 32 20 61 6E 64 20 43 2E 20 Modula.2 and C.
Size : 512 (Real : 512)
000000: 4C 6F 63 6F 6D 6F 74 69 76 65 20 42 41 53 49 43 Locomotive BASIC
000010: 20 61 6E 64 90 20 4D 61 6C 6C 61 72 64 20 42 41 and. Mallard BA
000020: 53 49 43 20 61 72 65 20 6E 6F 74 20 73 74 72 75 SIC are not stru
000030: 63 74 75 72 65 64 20 0D 8A 6C 61 6E 67 75 61 67 ctured ..languag
000040: 65 73 2E 0D 0A 0D 0A 0D 0A E2 28 69 69 29 20 42 es........(ii) B
000050: 43 50 4C 20 69 73 20 61 20 63 6F 6D 70 69 6C 65 CPL is a compile
000060: 64 20 6C 61 6E 67 75 61 67 65 E2 0D 0A 0D 0A 09 d language......
000070: 42 41 53 49 43 20 69 73 20 75 73 75 61 6C 6C 79 BASIC is usually
000080: 20 61 6E 20 69 6E 74 65 72 70 72 65 74 65 64 90 an interpreted.
000090: 20 6C 61 6E 67 75 61 67 65 2E 90 20 57 68 65 6E language.. When
0000A0: 20 61 20 70 72 6F 67 72 61 6D 20 69 73 20 72 75 a program is ru
0000B0: 6E 2C 20 0D 8A 74 68 65 20 42 41 53 49 43 20 69 n, ..the BASIC i
0000C0: 6E 74 65 72 70 72 65 74 65 72 20 72 65 61 64 73 nterpreter reads
0000D0: 90 20 65 61 63 68 90 20 6C 69 6E 65 90 20 61 6E . each. line. an
0000E0: 64 90 20 65 78 65 63 75 74 65 73 20 74 68 65 20 d. executes the
0000F0: 61 70 70 72 6F 70 72 69 61 74 65 20 0D 8A 6D 61 appropriate ..ma
000100: 63 68 69 6E 65 20 63 6F 64 65 20 69 6E 73 74 72 chine code instr
000110: 75 63 74 69 6F 6E 73 2E 20 54 68 69 73 20 64 65 uctions. This de
000120: 63 6F 64 69 6E 67 20 69 73 90 20 64 6F 6E 65 20 coding is. done
000130: 65 76 65 72 79 20 74 69 6D 65 20 61 20 6C 69 6E every time a lin
000140: 65 20 69 73 20 0D 8A 65 78 65 63 75 74 65 64 2E e is ..executed.
000150: 20 54 68 65 20 72 65 73 75 6C 74 90 20 69 73 90 The result. is.
000160: 20 74 68 61 74 90 20 42 41 53 49 43 90 20 70 72 that. BASIC. pr
000170: 6F 67 72 61 6D 73 90 20 72 75 6E 90 20 76 65 72 ograms. run. ver
000180: 79 20 73 6C 6F 77 6C 79 20 77 68 65 6E 20 0D 8A y slowly when ..
000190: 63 6F 6D 70 61 72 65 64 20 77 69 74 68 20 61 20 compared with a
0001A0: 6D 61 63 68 69 6E 65 20 63 6F 64 65 20 70 72 6F machine code pro
0001B0: 67 72 61 6D 20 64 6F 69 6E 67 20 74 68 65 20 73 gram doing the s
0001C0: 61 6D 65 20 74 68 69 6E 67 2E 0D 0A 09 41 20 42 ame thing....A B
0001D0: 43 50 4C 20 70 72 6F 67 72 61 6D 20 6D 75 73 74 CPL program must
0001E0: 20 62 65 20 73 75 62 6D 69 74 74 65 64 20 74 6F be submitted to
0001F0: 90 20 74 68 65 20 63 6F 6D 70 69 6C 65 72 20 62 . the compiler b
Size : 512 (Real : 512)
000000: 65 66 6F 72 65 20 69 74 20 63 61 6E 20 62 65 20 efore it can be
000010: 0D 8A 72 75 6E 2E 20 54 68 65 20 63 6F 6D 70 69 ..run. The compi
000020: 6C 65 72 90 20 74 72 61 6E 73 6C 61 74 65 73 90 ler. translates.
000030: 20 74 68 65 90 20 65 6E 74 69 72 65 90 20 70 72 the. entire. pr
000040: 6F 67 72 61 6D 90 20 69 6E 74 6F 20 6D 61 63 68 ogram. into mach
000050: 69 6E 65 20 63 6F 64 65 20 0D 8A 69 6E 73 74 72 ine code ..instr
000060: 75 63 74 69 6F 6E 73 2E 20 54 68 65 20 6D 61 63 uctions. The mac
000070: 68 69 6E 65 20 63 6F 64 65 20 70 72 6F 67 72 61 hine code progra
000080: 6D 20 69 73 90 20 73 61 76 65 64 90 20 61 6E 64 m is. saved. and
000090: 20 63 61 6E 20 74 68 65 6E 20 62 65 20 72 75 6E can then be run
0000A0: 2E 20 0D 8A 53 69 6E 63 65 20 65 61 63 68 20 42 . ..Since each B
0000B0: 43 50 4C 20 6C 69 6E 65 20 69 73 20 6F 6E 6C 79 CPL line is only
0000C0: 90 20 74 72 61 6E 73 6C 61 74 65 64 90 20 6F 6E . translated. on
0000D0: 63 65 2C 90 20 61 20 42 43 50 4C 20 70 72 6F 67 ce,. a BCPL prog
0000E0: 72 61 6D 20 72 75 6E 73 20 61 20 0D 8A 6C 6F 74 ram runs a ..lot
0000F0: 20 66 61 73 74 65 72 20 74 68 61 6E 20 61 20 63 faster than a c
000100: 6F 72 72 65 73 70 6F 6E 64 69 6E 67 20 42 41 53 orresponding BAS
000110: 49 43 20 70 72 6F 67 72 61 6D 2E 0D 0A 09 54 68 IC program....Th
000120: 65 20 64 69 73 61 64 76 61 6E 74 61 67 65 20 6F e disadvantage o
000130: 66 20 75 73 69 6E 67 20 61 20 63 6F 6D 70 69 6C f using a compil
000140: 65 64 90 20 6C 61 6E 67 75 61 67 65 20 69 73 20 ed. language is
000150: 74 68 61 74 20 79 6F 75 20 68 61 76 65 20 74 6F that you have to
000160: 20 0D 8A 77 61 69 74 20 66 6F 72 20 74 68 65 20 ..wait for the
000170: 70 72 6F 67 72 61 6D 20 74 6F 20 62 65 20 63 6F program to be co
000180: 6D 70 69 6C 65 64 90 20 65 61 63 68 20 74 69 6D mpiled. each tim
000190: 65 20 62 65 66 6F 72 65 20 79 6F 75 20 63 61 6E e before you can
0001A0: 20 74 65 73 74 20 69 74 2E 20 0D 8A 54 68 69 73 test it. ..This
0001B0: 20 69 73 20 6E 6F 74 20 61 90 20 70 72 6F 62 6C is not a. probl
0001C0: 65 6D 90 20 77 69 74 68 90 20 41 72 6E 6F 72 90 em. with. Arnor.
0001D0: 20 42 43 50 4C 90 20 73 69 6E 63 65 20 69 74 20 BCPL. since it
0001E0: 63 6F 6D 70 69 6C 65 73 20 65 78 74 72 65 6D 65 compiles extreme
0001F0: 6C 79 20 0D 8A 71 75 69 63 6B 6C 79 2E 0D 0A 0D ly ..quickly....
Size : 512 (Real : 512)
000000: 0A 0D 0A E2 28 69 69 69 29 20 42 43 50 4C 20 69 ....(iii) BCPL i
000010: 73 20 61 20 74 79 70 65 6C 65 73 73 20 6C 61 6E s a typeless lan
000020: 67 75 61 67 65 E2 0D 0A 0D 0A 09 4D 6F 73 74 20 guage......Most
000030: 6C 61 6E 67 75 61 67 65 73 20 68 61 76 65 20 61 languages have a
000040: 90 20 6E 75 6D 62 65 72 90 20 6F 66 90 20 69 6E . number. of. in
000050: 74 65 72 6E 61 6C 90 20 76 61 72 69 61 62 6C 65 ternal. variable
000060: 20 74 79 70 65 73 2E 20 42 41 53 49 43 20 0D 8A types. BASIC ..
000070: 75 73 75 61 6C 6C 79 20 68 61 73 20 36 20 2D 2D usually has 6 --
000080: 20 69 6E 74 65 67 65 72 2C 20 72 65 61 6C 2C 20 integer, real,
000090: 73 74 72 69 6E 67 2C 20 69 6E 74 65 67 65 72 20 string, integer
0000A0: 61 72 72 61 79 2C 20 72 65 61 6C 20 61 72 72 61 array, real arra
0000B0: 79 2C 20 61 6E 64 20 0D 8A 73 74 72 69 6E 67 20 y, and ..string
0000C0: 61 72 72 61 79 2E 20 50 41 53 43 41 4C 20 61 6E array. PASCAL an
0000D0: 64 20 43 20 68 61 76 65 20 72 61 74 68 65 72 90 d C have rather.
0000E0: 20 6D 6F 72 65 2C 20 61 6E 64 20 68 61 76 65 20 more, and have
0000F0: 74 68 65 20 61 62 69 6C 69 74 79 20 66 6F 72 20 the ability for
000100: 0D 8A 74 68 65 20 70 72 6F 67 72 61 6D 6D 65 72 ..the programmer
000110: 20 74 6F 20 64 65 66 69 6E 65 20 68 69 73 20 6F to define his o
000120: 77 6E 20 75 73 69 6E 67 20 22 72 65 63 6F 72 64 wn using "record
000130: 22 20 6F 72 20 22 73 74 72 75 63 74 22 2E 0D 0A " or "struct"...
000140: 09 42 43 50 4C 20 68 61 73 20 6A 75 73 74 20 6F .BCPL has just o
000150: 6E 65 90 20 69 6E 74 65 72 6E 61 6C 90 20 76 61 ne. internal. va
000160: 72 69 61 62 6C 65 90 20 74 79 70 65 90 20 2D 2D riable. type. --
000170: 90 20 61 20 76 61 72 69 61 62 6C 65 20 63 61 6E . a variable can
000180: 20 62 65 20 0D 8A 61 73 73 69 67 6E 65 64 20 61 be ..assigned a
000190: 20 73 69 6E 67 6C 65 20 77 6F 72 64 20 76 61 6C single word val
0001A0: 75 65 2E 90 20 54 68 69 73 90 20 69 73 90 20 72 ue.. This. is. r
0001B0: 65 66 65 72 72 65 64 90 20 74 6F 20 61 73 20 61 eferred. to as a
0001C0: 20 62 69 74 2D 70 61 74 74 65 72 6E 20 0D 8A 69 bit-pattern ..i
0001D0: 6E 64 69 63 61 74 69 6E 67 20 74 68 61 74 20 6E ndicating that n
0001E0: 6F 20 69 6E 68 65 72 65 6E 74 90 20 6D 65 61 6E o inherent. mean
0001F0: 69 6E 67 90 20 69 73 90 20 61 74 74 61 63 68 65 ing. is. attache
Size : 512 (Real : 512)
000000: 64 90 20 74 6F 20 74 68 69 73 20 76 61 6C 75 65 d. to this value
000010: 2E 20 54 68 65 20 0D 8A 6D 65 61 6E 69 6E 67 20 . The ..meaning
000020: 6F 66 20 74 68 65 20 76 61 6C 75 65 20 69 73 20 of the value is
000030: 64 65 74 65 72 6D 69 6E 65 64 20 62 79 20 74 68 determined by th
000040: 65 20 77 61 79 20 74 68 61 74 20 74 68 65 20 70 e way that the p
000050: 72 6F 67 72 61 6D 6D 65 72 20 75 73 65 73 20 0D rogrammer uses .
000060: 8A 69 74 2C 20 61 6E 64 20 74 68 69 73 20 6D 65 .it, and this me
000070: 61 6E 69 6E 67 90 20 63 61 6E 90 20 63 68 61 6E aning. can. chan
000080: 67 65 2E 90 20 49 6E 90 20 41 72 6E 6F 72 27 73 ge.. In. Arnor's
000090: 20 69 6D 70 6C 65 6D 65 6E 74 61 74 69 6F 6E 20 implementation
0000A0: 6F 66 20 42 43 50 4C 20 0D 8A 65 61 63 68 20 76 of BCPL ..each v
0000B0: 61 6C 75 65 20 69 73 20 31 36 20 62 69 74 73 20 alue is 16 bits
0000C0: 6C 6F 6E 67 2E 20 54 68 65 72 65 90 20 66 6F 6C long. There. fol
0000D0: 6C 6F 77 20 73 6F 6D 65 20 65 78 61 6D 70 6C 65 low some example
0000E0: 73 20 6F 66 20 68 6F 77 20 73 6F 6D 65 20 6F 66 s of how some of
0000F0: 20 0D 8A 74 68 65 20 63 6F 6D 6D 6F 6E 20 64 61 ..the common da
000100: 74 61 20 74 79 70 65 73 20 61 72 65 20 75 73 65 ta types are use
000110: 64 20 69 6E 20 42 43 50 4C 2E 20 4E 6F 74 65 20 d in BCPL. Note
000120: 74 68 61 74 20 69 6E 20 65 61 63 68 20 63 61 73 that in each cas
000130: 65 20 61 20 27 4C 45 54 27 20 0D 8A 64 65 63 6C e a 'LET' ..decl
000140: 61 72 61 74 69 6F 6E 20 69 73 20 72 65 71 75 69 aration is requi
000150: 72 65 64 20 74 6F 20 64 65 66 69 6E 65 20 61 20 red to define a
000160: 76 61 72 69 61 62 6C 65 20 62 65 66 6F 72 65 20 variable before
000170: 69 74 20 63 61 6E 20 62 65 20 75 73 65 64 2E 0D it can be used..
000180: 0A 3E 70 61 0D 0A E2 53 69 6D 75 6C 61 74 69 6E .>pa...Simulatin
000190: 67 20 64 69 66 66 65 72 65 6E 74 20 76 61 72 69 g different vari
0001A0: 61 62 6C 65 20 74 79 70 65 73 E2 0D 0A 0D 0A E2 able types......
0001B0: 49 6E 74 65 67 65 72 3A E2 09 09 4C 45 54 20 6E Integer:...LET n
0001C0: 75 6D 62 65 72 20 3D 20 3F 0D 0A 09 09 09 6E 75 umber = ?.....nu
0001D0: 6D 62 65 72 20 3A 3D 20 34 32 0D 0A 0D 0A 54 68 mber := 42....Th
0001E0: 69 73 20 61 73 73 69 67 6E 73 20 74 68 65 20 76 is assigns the v
0001F0: 61 6C 75 65 20 34 32 90 20 28 74 68 61 74 90 20 alue 42. (that.
Size : 512 (Real : 512)
000000: 69 73 20 74 68 65 20 62 69 74 20 70 61 74 74 65 is the bit patte
000010: 72 6E 20 30 30 30 30 30 30 30 30 30 30 31 30 31 rn 0000000000101
000020: 30 31 30 29 20 0D 8A 74 6F 20 74 68 65 20 76 61 010) ..to the va
000030: 72 69 61 62 6C 65 20 27 6E 75 6D 62 65 72 27 2E riable 'number'.
000040: 0D 0A 0D 0A E2 43 68 61 72 61 63 74 65 72 3A E2 .....Character:.
000050: 09 4C 45 54 20 63 68 61 72 20 3D 20 3F 0D 0A 09 .LET char = ?...
000060: 09 09 63 68 61 72 20 3A 3D 20 27 41 27 0D 0A 0D ..char := 'A'...
000070: 0A 54 68 69 73 90 20 61 73 73 69 67 6E 73 90 20 .This. assigns.
000080: 74 68 65 90 20 6E 75 6D 62 65 72 90 20 36 35 90 the. number. 65.
000090: 90 20 28 74 68 65 90 90 20 41 53 43 49 49 90 20 . (the.. ASCII.
0000A0: 63 6F 64 65 90 20 72 65 70 72 65 73 65 6E 74 69 code. representi
0000B0: 6E 67 90 20 74 68 65 20 0D 8A 6C 65 74 74 65 72 ng. the ..letter
0000C0: 91 27 41 27 29 20 74 6F 20 74 68 65 20 76 61 72 .'A') to the var
0000D0: 69 61 62 6C 65 20 27 63 68 61 72 27 2E 0D 0A 0D iable 'char'....
0000E0: 0A E2 56 65 63 74 6F 72 3A E2 09 09 4C 45 54 20 ..Vector:...LET
0000F0: 61 72 72 61 79 20 3D 20 56 45 43 20 31 30 0D 0A array = VEC 10..
000100: 09 09 09 46 4F 52 20 69 3D 30 20 54 4F 20 31 30 ...FOR i=0 TO 10
000110: 20 44 4F 20 61 72 72 61 79 21 69 20 3A 3D 20 69 DO array!i := i
000120: 0D 0A 0D 0A 54 68 69 73 20 73 65 74 73 20 61 73 ....This sets as
000130: 69 64 65 20 61 6E 20 31 31 20 77 6F 72 64 20 28 ide an 11 word (
000140: 32 32 90 20 62 79 74 65 29 90 20 61 72 65 61 20 22. byte). area
000150: 6F 66 20 6D 65 6D 6F 72 79 2C 20 61 6E 64 20 61 of memory, and a
000160: 73 73 69 67 6E 73 20 74 68 65 20 0D 8A 61 64 64 ssigns the ..add
000170: 72 65 73 73 20 6F 66 20 74 68 65 20 73 74 61 72 ress of the star
000180: 74 20 6F 66 20 74 68 69 73 20 61 72 65 61 90 20 t of this area.
000190: 74 6F 20 74 68 65 20 76 61 72 69 61 62 6C 65 20 to the variable
0001A0: 27 61 72 72 61 79 27 2E 20 54 68 65 20 76 65 63 'array'. The vec
0001B0: 74 6F 72 20 0D 8A 69 73 20 61 63 63 65 73 73 65 tor ..is accesse
0001C0: 64 20 62 79 20 74 68 65 20 69 6E 64 69 72 65 63 d by the indirec
0001D0: 74 69 6F 6E 20 6F 70 65 72 61 74 6F 72 20 27 21 tion operator '!
0001E0: 27 2C 20 77 68 65 72 65 20 27 61 72 72 61 79 21 ', where 'array!
0001F0: 69 27 20 6D 65 61 6E 73 20 74 68 65 20 0D 8A 63 i' means the ..c
Size : 512 (Real : 512)
000000: 6F 6E 74 65 6E 74 73 20 6F 66 20 61 64 64 72 65 ontents of addre
000010: 73 73 20 28 61 72 72 61 79 2B 69 29 2E 20 21 61 ss (array+i). !a
000020: 72 72 61 79 20 6D 65 61 6E 73 20 74 68 65 20 73 rray means the s
000030: 61 6D 65 20 61 73 20 61 72 72 61 79 21 30 2E 0D ame as array!0..
000040: 0A 0D 0A E2 54 77 6F 20 64 69 6D 65 6E 73 69 6F ....Two dimensio
000050: 6E 61 6C 20 61 72 72 61 79 3A E2 0D 0A 0D 0A 09 nal array:......
000060: 09 09 4D 41 4E 49 46 45 53 54 20 24 28 20 6D 3D ..MANIFEST $( m=
000070: 33 2C 20 6E 3D 34 20 24 29 0D 0A 09 09 09 4C 45 3, n=4 $).....LE
000080: 54 20 61 72 72 61 79 20 3D 20 56 45 43 20 28 6D T array = VEC (m
000090: 2B 31 29 2A 28 6E 2B 31 29 20 2D 2D 20 31 0D 0A +1)*(n+1) -- 1..
0000A0: 09 09 09 4C 45 54 20 67 65 74 61 72 72 61 79 28 ...LET getarray(
0000B0: 69 2C 6A 29 20 3D 20 61 72 72 61 79 21 28 6D 2A i,j) = array!(m*
0000C0: 69 2B 6A 29 0D 0A 09 09 09 4C 45 54 20 70 75 74 i+j).....LET put
0000D0: 61 72 72 61 79 28 69 2C 6A 2C 76 61 6C 75 65 29 array(i,j,value)
0000E0: 20 42 45 20 61 72 72 61 79 21 28 6D 2A 69 2B 6A BE array!(m*i+j
0000F0: 29 20 3A 3D 20 76 61 6C 75 65 0D 0A 0D 0A 4D 75 ) := value....Mu
000100: 6C 74 69 2D 64 69 6D 65 6E 73 69 6F 6E 61 6C 20 lti-dimensional
000110: 61 72 72 61 79 73 20 63 61 6E 20 62 65 20 69 6D arrays can be im
000120: 70 6C 65 6D 65 6E 74 65 64 90 20 62 79 90 20 64 plemented. by. d
000130: 65 66 69 6E 69 6E 67 20 61 20 76 65 63 74 6F 72 efining a vector
000140: 20 61 6E 64 20 0D 8A 63 61 6C 63 75 6C 61 74 69 and ..calculati
000150: 6E 67 20 74 68 65 20 72 65 71 75 69 72 65 64 20 ng the required
000160: 77 6F 72 64 20 66 72 6F 6D 20 74 68 65 20 61 72 word from the ar
000170: 72 61 79 20 73 75 62 73 63 72 69 70 74 73 2E 0D ray subscripts..
000180: 0A 0D 0A E2 53 74 72 69 6E 67 3A E2 09 09 4C 45 ....String:...LE
000190: 54 20 74 65 78 74 20 3D 20 22 42 43 50 4C 20 69 T text = "BCPL i
0001A0: 73 20 61 20 74 79 70 65 6C 65 73 73 20 6C 61 6E s a typeless lan
0001B0: 67 75 61 67 65 22 0D 0A 0D 0A 54 68 69 73 20 73 guage"....This s
0001C0: 74 6F 72 65 73 20 74 68 65 20 73 74 72 69 6E 67 tores the string
0001D0: 90 20 22 42 43 50 4C 90 20 69 73 90 20 61 90 20 . "BCPL. is. a.
0001E0: 74 79 70 65 6C 65 73 73 90 20 6C 61 6E 67 75 61 typeless. langua
0001F0: 67 65 22 20 73 6F 6D 65 77 68 65 72 65 20 69 6E ge" somewhere in
Size : 512 (Real : 512)
000000: 20 0D 8A 6D 65 6D 6F 72 79 2C 20 70 72 65 63 65 ..memory, prece
000010: 64 65 64 20 62 79 20 61 20 62 79 74 65 90 20 63 ded by a byte. c
000020: 6F 6E 74 61 69 6E 69 6E 67 90 20 74 68 65 90 20 ontaining. the.
000030: 6C 65 6E 67 74 68 20 6F 66 20 74 68 65 20 73 74 length of the st
000040: 72 69 6E 67 2E 20 54 68 65 20 0D 8A 76 61 6C 75 ring. The ..valu
000050: 65 20 61 73 73 69 67 6E 65 64 20 74 6F 20 74 68 e assigned to th
000060: 65 20 76 61 72 69 61 62 6C 65 90 20 27 74 65 78 e variable. 'tex
000070: 74 27 90 20 69 73 90 20 74 68 65 20 61 64 64 72 t'. is. the addr
000080: 65 73 73 20 6F 66 20 74 68 69 73 20 6C 65 6E 67 ess of this leng
000090: 74 68 20 0D 8A 62 79 74 65 2E 20 4E 6F 74 65 20 th ..byte. Note
0000A0: 74 68 61 74 20 74 68 69 73 20 69 73 90 20 6F 6E that this is. on
0000B0: 6C 79 90 20 70 6F 73 73 69 62 6C 65 90 20 62 65 ly. possible. be
0000C0: 63 61 75 73 65 20 74 68 65 20 6D 65 6D 6F 72 79 cause the memory
0000D0: 20 61 64 64 72 65 73 73 20 69 73 20 0D 8A 74 68 address is ..th
0000E0: 65 20 73 61 6D 65 20 6C 65 6E 67 74 68 20 61 73 e same length as
0000F0: 20 74 68 65 20 42 43 50 4C 20 77 6F 72 64 20 28 the BCPL word (
000100: 74 68 69 73 20 69 73 20 6E 6F 74 20 61 20 63 6F this is not a co
000110: 69 6E 63 69 64 65 6E 63 65 21 29 2E 0D 0A 0D 0A incidence!).....
000120: 4E 6F 74 65 3A 20 54 68 65 72 65 20 69 73 20 61 Note: There is a
000130: 20 76 65 72 79 20 69 6D 70 6F 72 74 61 6E 74 90 very important.
000140: 20 64 69 66 66 65 72 65 6E 63 65 90 20 62 65 74 difference. bet
000150: 77 65 65 6E 20 74 68 65 20 75 73 65 20 6F 66 20 ween the use of
000160: 73 69 6E 67 6C 65 20 0D 8A 61 6E 64 20 64 6F 75 single ..and dou
000170: 62 6C 65 20 71 75 6F 74 65 73 2C 20 61 6E 64 20 ble quotes, and
000180: 63 6F 6E 66 75 73 69 6E 67 20 74 68 65 73 65 20 confusing these
000190: 63 61 6E 90 20 6C 65 61 64 20 74 6F 20 62 75 67 can. lead to bug
0001A0: 73 20 74 68 61 74 20 61 72 65 20 76 65 72 79 20 s that are very
0001B0: 0D 8A 64 69 66 66 69 63 75 6C 74 20 74 6F 20 66 ..difficult to f
0001C0: 69 6E 64 2C 20 73 6F 20 62 65 20 63 61 72 65 66 ind, so be caref
0001D0: 75 6C 21 20 54 68 65 20 42 43 50 4C 20 62 6F 6F ul! The BCPL boo
0001E0: 6B 20 63 6F 6E 74 61 69 6E 73 20 61 20 76 65 72 k contains a ver
0001F0: 79 20 75 73 65 66 75 6C 20 0D 8A 73 65 63 74 69 y useful ..secti
Size : 512 (Real : 512)
000000: 6F 6E 20 6F 6E 20 74 68 65 20 70 69 74 66 61 6C on on the pitfal
000010: 6C 73 20 6F 66 20 42 43 50 4C 20 70 72 6F 67 72 ls of BCPL progr
000020: 61 6D 6D 69 6E 67 2E 0D 0A 0D 0A 09 53 69 6E 67 amming......Sing
000030: 6C 65 20 71 75 6F 74 65 73 20 65 6E 63 6C 6F 73 le quotes enclos
000040: 65 90 20 61 90 20 63 68 61 72 61 63 74 65 72 90 e. a. character.
000050: 20 61 6E 64 90 20 64 65 66 69 6E 65 90 20 61 20 and. define. a
000060: 63 6F 6E 73 74 61 6E 74 20 77 68 6F 73 65 20 0D constant whose .
000070: 8A 76 61 6C 75 65 20 69 73 20 74 68 65 20 41 53 .value is the AS
000080: 43 49 49 20 63 6F 64 65 20 6F 66 20 74 68 61 74 CII code of that
000090: 20 63 68 61 72 61 63 74 65 72 2E 20 0D 0A 09 44 character. ...D
0000A0: 6F 75 62 6C 65 20 71 75 6F 74 65 73 20 65 6E 63 ouble quotes enc
0000B0: 6C 6F 73 65 20 61 20 73 74 72 69 6E 67 90 20 61 lose a string. a
0000C0: 6E 64 90 20 64 65 66 69 6E 65 20 61 20 63 6F 6E nd. define a con
0000D0: 73 74 61 6E 74 20 77 68 6F 73 65 20 76 61 6C 75 stant whose valu
0000E0: 65 20 0D 8A 69 73 20 74 68 65 20 61 64 64 72 65 e ..is the addre
0000F0: 73 73 20 6F 66 20 74 68 61 74 20 73 74 72 69 6E ss of that strin
000100: 67 2E 0D 0A 3E 70 61 0D 0A 3E 63 65 20 E2 36 2E g...>pa..>ce .6.
000110: 20 54 57 4F 20 42 43 50 4C 20 50 52 4F 47 52 41 TWO BCPL PROGRA
000120: 4D 53 E2 0D 0A 0D 0A E2 28 69 29 20 41 20 76 65 MS......(i) A ve
000130: 72 79 20 73 69 6D 70 6C 65 20 42 43 50 4C 20 70 ry simple BCPL p
000140: 72 6F 67 72 61 6D E2 0D 0A 0D 0A 54 68 69 73 20 rogram.....This
000150: 73 69 6D 70 6C 79 20 64 69 73 70 6C 61 79 73 20 simply displays
000160: 61 20 6D 65 73 73 61 67 65 20 6F 6E 20 74 68 65 a message on the
000170: 20 73 63 72 65 65 6E 2E 0D 0A 0D 0A 0D 0A 09 47 screen........G
000180: 45 54 20 22 43 4C 49 42 48 44 52 22 0D 0A 09 4C ET "CLIBHDR"...L
000190: 45 54 20 73 74 61 72 74 28 29 20 42 45 0D 0A 09 ET start() BE...
0001A0: 24 28 0D 0A 09 20 20 77 72 69 74 65 73 28 22 48 $(... writes("H
0001B0: 65 6C 6C 6F 20 65 76 65 72 79 6F 6E 65 21 22 29 ello everyone!")
0001C0: 0D 0A 09 24 29 0D 0A 0D 0A 0D 0A E2 50 6F 69 6E ...$).......Poin
0001D0: 74 73 20 74 6F 20 6E 6F 74 65 3A E2 0D 0A 0D 0A ts to note:.....
0001E0: 09 31 2E 20 4C 45 54 20 61 6E 64 20 42 45 90 20 .1. LET and BE.
0001F0: 61 72 65 90 20 42 43 50 4C 90 20 6B 65 79 77 6F are. BCPL. keywo
Size : 512 (Real : 512)
000000: 72 64 73 2E 90 20 42 43 50 4C 90 20 6B 65 79 77 rds.. BCPL. keyw
000010: 6F 72 64 73 20 61 72 65 20 70 72 69 6E 74 65 64 ords are printed
000020: 20 69 6E 20 0D 8A 75 70 70 65 72 20 63 61 73 65 in ..upper case
000030: 20 74 68 72 6F 75 67 68 6F 75 74 20 74 68 69 73 throughout this
000040: 20 6D 61 6E 75 61 6C 20 66 6F 72 90 20 63 6C 61 manual for. cla
000050: 72 69 74 79 2E 20 49 74 20 69 73 20 6E 6F 74 20 rity. It is not
000060: 6E 65 63 65 73 73 61 72 79 20 74 6F 20 0D 8A 74 necessary to ..t
000070: 79 70 65 20 74 68 65 6D 20 69 6E 20 75 70 70 65 ype them in uppe
000080: 72 20 63 61 73 65 20 61 73 20 74 68 65 20 63 6F r case as the co
000090: 6D 70 69 6C 65 72 20 69 67 6E 6F 72 65 73 20 74 mpiler ignores t
0000A0: 68 65 20 64 69 73 74 69 6E 63 74 69 6F 6E 2E 0D he distinction..
0000B0: 0A 0D 0A 09 32 2E 20 73 74 61 72 74 28 29 2E 20 ....2. start().
0000C0: 54 68 69 73 90 20 69 73 90 20 74 68 65 90 20 70 This. is. the. p
0000D0: 72 6F 63 65 64 75 72 65 90 20 74 68 61 74 90 20 rocedure. that.
0000E0: 6D 75 73 74 90 20 62 65 90 20 70 72 65 73 65 6E must. be. presen
0000F0: 74 2E 20 54 68 65 20 0D 8A 62 72 61 63 6B 65 74 t. The ..bracket
000100: 73 20 69 6E 64 69 63 61 74 65 20 74 68 61 74 20 s indicate that
000110: 27 73 74 61 72 74 27 20 69 73 20 74 68 65 90 20 'start' is the.
000120: 6E 61 6D 65 90 20 6F 66 20 61 20 70 72 6F 63 65 name. of a proce
000130: 64 75 72 65 2E 20 54 68 65 79 20 77 69 6C 6C 20 dure. They will
000140: 0D 8A 6F 66 74 65 6E 20 63 6F 6E 74 61 69 6E 20 ..often contain
000150: 70 61 72 61 6D 65 74 65 72 73 20 66 6F 72 20 74 parameters for t
000160: 68 65 20 70 72 6F 63 65 64 75 72 65 2E 0D 0A 0D he procedure....
000170: 0A 09 33 2E 20 24 28 20 61 6E 64 20 24 29 2E 20 ..3. $( and $).
000180: 54 68 65 73 65 90 20 61 72 65 90 20 73 65 63 74 These. are. sect
000190: 69 6F 6E 90 20 62 72 61 63 6B 65 74 73 2C 20 6D ion. brackets, m
0001A0: 61 72 6B 69 6E 67 20 74 68 65 20 73 74 61 72 74 arking the start
0001B0: 20 61 6E 64 20 0D 8A 65 6E 64 20 6F 66 20 74 68 and ..end of th
0001C0: 65 20 70 72 6F 63 65 64 75 72 65 20 27 73 74 61 e procedure 'sta
0001D0: 72 74 27 2E 0D 0A 0D 0A 09 34 2E 20 77 72 69 74 rt'......4. writ
0001E0: 65 73 2E 20 54 68 69 73 20 69 73 20 61 20 42 43 es. This is a BC
0001F0: 50 4C 90 20 70 72 6F 63 65 64 75 72 65 20 28 6E PL. procedure (n
Size : 512 (Real : 512)
000000: 6F 74 65 20 74 68 65 20 62 72 61 63 6B 65 74 73 ote the brackets
000010: 20 63 6F 6E 74 61 69 6E 69 6E 67 20 0D 8A 74 68 containing ..th
000020: 65 20 70 61 72 61 6D 65 74 65 72 29 2E 20 49 74 e parameter). It
000030: 20 69 73 20 6E 6F 74 20 61 20 42 43 50 4C 90 20 is not a BCPL.
000040: 6B 65 79 77 6F 72 64 20 61 6E 64 20 73 6F 20 74 keyword and so t
000050: 68 65 20 70 72 6F 63 65 64 75 72 65 20 6D 75 73 he procedure mus
000060: 74 20 62 65 20 0D 8A 64 65 66 69 6E 65 64 20 73 t be ..defined s
000070: 6F 6D 65 77 68 65 72 65 20 28 73 65 65 20 62 65 omewhere (see be
000080: 6C 6F 77 29 2E 0D 0A 0D 0A 09 35 2E 20 47 45 54 low)......5. GET
000090: 20 22 43 4C 49 42 48 44 52 22 2E 90 20 54 68 69 "CLIBHDR".. Thi
0000A0: 73 90 20 69 73 90 20 61 90 20 64 69 72 65 63 74 s. is. a. direct
0000B0: 69 76 65 90 20 28 61 6E 90 20 69 6E 73 74 72 75 ive. (an. instru
0000C0: 63 74 69 6F 6E 20 74 6F 20 74 68 65 20 0D 8A 63 ction to the ..c
0000D0: 6F 6D 70 69 6C 65 72 29 20 74 6F 20 63 6F 6D 70 ompiler) to comp
0000E0: 69 6C 65 20 74 68 65 20 42 43 50 4C 90 20 63 6F ile the BCPL. co
0000F0: 64 65 90 20 63 6F 6E 74 61 69 6E 65 64 90 20 69 de. contained. i
000100: 6E 20 74 68 65 20 66 69 6C 65 20 27 43 4C 49 42 n the file 'CLIB
000110: 48 44 52 27 2E 20 0D 8A 54 68 69 73 20 66 69 6C HDR'. ..This fil
000120: 65 20 69 73 20 61 90 20 6C 69 62 72 61 72 79 90 e is a. library.
000130: 20 6F 66 90 20 75 73 65 66 75 6C 90 20 70 72 6F of. useful. pro
000140: 63 65 64 75 72 65 73 2C 90 20 69 6E 63 6C 75 64 cedures,. includ
000150: 69 6E 67 20 6F 6E 65 20 63 61 6C 6C 65 64 20 0D ing one called .
000160: 8A 27 77 72 69 74 65 73 27 2E 0D 0A 0D 0A 0D 0A .'writes'.......
000170: E2 28 69 69 29 20 41 20 73 6C 69 67 68 74 6C 79 .(ii) A slightly
000180: 20 6D 6F 72 65 20 63 6F 6D 70 6C 65 78 20 42 43 more complex BC
000190: 50 4C 20 70 72 6F 67 72 61 6D E2 0D 0A 0D 0A 0D PL program......
0001A0: 0A 47 45 54 20 22 63 6C 69 62 68 64 72 22 0D 0A .GET "clibhdr"..
0001B0: 0D 0A 2F 2A 20 54 68 69 73 20 69 73 20 61 20 63 ../* This is a c
0001C0: 6F 70 79 20 72 6F 75 74 69 6E 65 20 2A 2F 0D 0A opy routine */..
0001D0: 0D 0A 4C 45 54 20 73 74 61 72 74 28 29 20 42 45 ..LET start() BE
0001E0: 0D 0A 0D 0A 24 28 0D 0A 20 20 4C 45 54 20 69 6E ....$(.. LET in
0001F0: 6E 61 6D 65 20 3D 20 56 45 43 20 32 30 20 20 3B name = VEC 20 ;
Size : 512 (Real : 512)
000000: 20 4C 45 54 20 69 6E 62 75 66 66 20 3D 20 56 45 LET inbuff = VE
000010: 43 20 38 32 0D 0A 20 20 4C 45 54 20 6F 75 74 6E C 82.. LET outn
000020: 61 6D 65 20 3D 20 56 45 43 20 32 30 20 3B 20 4C ame = VEC 20 ; L
000030: 45 54 20 6F 75 74 62 75 66 66 20 3D 20 56 45 43 ET outbuff = VEC
000040: 20 38 32 0D 0A 20 20 4C 45 54 20 63 20 3D 20 30 82.. LET c = 0
000050: 0D 0A 3E 70 61 0D 0A 20 20 77 72 69 74 65 73 28 ..>pa.. writes(
000060: 22 49 6E 70 75 74 20 66 69 6C 65 20 6E 61 6D 65 "Input file name
000070: 3A 20 20 22 29 0D 0A 20 20 72 65 61 64 73 28 69 : ").. reads(i
000080: 6E 6E 61 6D 65 29 0D 0A 20 20 77 72 69 74 65 73 nname).. writes
000090: 28 22 2A 6E 4F 75 74 70 75 74 20 66 69 6C 65 20 ("*nOutput file
0000A0: 6E 61 6D 65 3A 20 22 29 0D 0A 20 20 72 65 61 64 name: ").. read
0000B0: 73 28 6F 75 74 6E 61 6D 65 29 0D 0A 20 20 54 45 s(outname).. TE
0000C0: 53 54 20 66 69 6E 64 69 6E 70 75 74 28 69 6E 6E ST findinput(inn
0000D0: 61 6D 65 2C 20 69 6E 62 75 66 66 29 20 54 48 45 ame, inbuff) THE
0000E0: 4E 0D 0A 20 20 24 28 0D 0A 20 20 20 20 73 65 6C N.. $(.. sel
0000F0: 65 63 74 69 6E 70 75 74 28 69 6E 62 75 66 66 29 ectinput(inbuff)
000100: 0D 0A 20 20 20 20 54 45 53 54 20 66 69 6E 64 6F .. TEST findo
000110: 75 74 70 75 74 28 6F 75 74 6E 61 6D 65 2C 20 6F utput(outname, o
000120: 75 74 62 75 66 66 29 20 54 48 45 4E 0D 0A 20 20 utbuff) THEN..
000130: 20 20 24 28 0D 0A 20 20 20 20 20 20 73 65 6C 65 $(.. sele
000140: 63 74 6F 75 74 70 75 74 28 6F 75 74 62 75 66 66 ctoutput(outbuff
000150: 29 0D 0A 20 20 20 20 20 20 24 28 0D 0A 20 20 20 ).. $(..
000160: 20 20 20 20 20 63 20 3A 3D 20 72 64 63 68 28 29 c := rdch()
000170: 0D 0A 20 20 20 20 20 20 20 20 55 4E 4C 45 53 53 .. UNLESS
000180: 20 63 3D 65 6E 64 73 74 72 65 61 6D 63 68 20 44 c=endstreamch D
000190: 4F 20 77 72 63 68 28 63 29 0D 0A 20 20 20 20 20 O wrch(c)..
0001A0: 20 24 29 0D 0A 20 20 20 20 20 20 52 45 50 45 41 $).. REPEA
0001B0: 54 55 4E 54 49 4C 20 63 20 3D 20 65 6E 64 73 74 TUNTIL c = endst
0001C0: 72 65 61 6D 63 68 0D 0A 20 20 20 20 20 20 65 6E reamch.. en
0001D0: 64 77 72 69 74 65 28 29 0D 0A 20 20 20 20 24 29 dwrite().. $)
0001E0: 0D 0A 20 20 20 20 45 4C 53 45 20 77 72 69 74 65 .. ELSE write
0001F0: 73 28 22 43 61 6E 27 74 20 6F 70 65 6E 20 6F 75 s("Can't open ou
Size : 512 (Real : 512)
000000: 74 70 75 74 20 66 69 6C 65 22 29 0D 0A 20 20 20 tput file")..
000010: 20 65 6E 64 72 65 61 64 28 29 0D 0A 20 20 24 29 endread().. $)
000020: 0D 0A 20 20 45 4C 53 45 20 77 72 69 74 65 73 28 .. ELSE writes(
000030: 22 43 61 6E 27 74 20 6F 70 65 6E 20 69 6E 70 75 "Can't open inpu
000040: 74 20 66 69 6C 65 22 29 0D 0A 24 29 0D 0A 0D 0A t file")..$)....
000050: E2 50 6F 69 6E 74 73 20 74 6F 20 6E 6F 74 65 3A .Points to note:
000060: E2 0D 0A 0D 0A 09 31 2E 20 54 68 65 20 75 73 65 ......1. The use
000070: 20 6F 66 20 2F 2A 20 61 6E 64 20 2A 2F 20 74 6F of /* and */ to
000080: 20 65 6E 63 6C 6F 73 65 20 63 6F 6D 6D 65 6E 74 enclose comment
000090: 73 2E 0D 0A 0D 0A 09 32 2E 20 54 68 65 20 75 73 s......2. The us
0000A0: 65 20 6F 66 90 20 4C 45 54 90 20 74 6F 90 20 64 e of. LET. to. d
0000B0: 65 63 6C 61 72 65 90 20 74 68 65 20 76 61 72 69 eclare. the vari
0000C0: 61 62 6C 65 73 20 27 69 6E 6E 61 6D 65 27 2C 20 ables 'inname',
0000D0: 27 69 6E 62 75 66 66 27 2C 20 0D 8A 27 6F 75 74 'inbuff', ..'out
0000E0: 6E 61 6D 65 27 2C 20 27 6F 75 74 62 75 66 66 27 name', 'outbuff'
0000F0: 2C 20 61 6E 64 20 27 63 27 2E 20 41 6C 6C 90 20 , and 'c'. All.
000100: 76 61 72 69 61 62 6C 65 73 90 20 6D 75 73 74 20 variables. must
000110: 62 65 20 64 65 63 6C 61 72 65 64 20 62 65 66 6F be declared befo
000120: 72 65 20 0D 8A 75 73 65 2C 20 61 6E 64 20 74 68 re ..use, and th
000130: 65 20 64 65 63 6C 61 72 61 74 69 6F 6E 73 20 6D e declarations m
000140: 75 73 74 20 61 70 70 65 61 72 20 62 65 66 6F 72 ust appear befor
000150: 65 20 61 6E 79 20 63 6F 6D 6D 61 6E 64 73 2E 0D e any commands..
000160: 0A 0D 0A 09 33 2E 20 54 68 65 20 75 73 65 20 6F ....3. The use o
000170: 66 20 56 45 43 20 74 6F 20 64 65 66 69 6E 65 20 f VEC to define
000180: 76 65 63 74 6F 72 73 20 61 73 20 64 65 73 63 72 vectors as descr
000190: 69 62 65 64 20 61 62 6F 76 65 2E 0D 0A 0D 0A 09 ibed above......
0001A0: 34 2E 20 72 65 61 64 73 2E 20 41 6E 6F 74 68 65 4. reads. Anothe
0001B0: 72 20 6C 69 62 72 61 72 79 90 20 70 72 6F 63 65 r library. proce
0001C0: 64 75 72 65 2C 90 20 74 6F 90 20 72 65 61 64 90 dure,. to. read.
0001D0: 20 61 20 73 74 72 69 6E 67 20 66 72 6F 6D 20 74 a string from t
0001E0: 68 65 20 0D 8A 6B 65 79 62 6F 61 72 64 20 69 6E he ..keyboard in
0001F0: 74 6F 20 74 68 65 20 76 65 63 74 6F 72 20 67 69 to the vector gi
Size : 512 (Real : 512)
000000: 76 65 6E 20 61 73 20 70 61 72 61 6D 65 74 65 72 ven as parameter
000010: 2E 0D 0A 0D 0A 09 35 2E 20 66 69 6E 64 6F 75 74 ......5. findout
000020: 70 75 74 2C 20 66 69 6E 64 69 6E 70 75 74 2C 20 put, findinput,
000030: 72 65 61 64 63 68 2C 90 20 77 72 69 74 65 63 68 readch,. writech
000040: 2E 90 20 4C 69 62 72 61 72 79 20 70 72 6F 63 65 .. Library proce
000050: 64 75 72 65 73 20 74 6F 20 0D 8A 6F 70 65 6E 20 dures to ..open
000060: 66 69 6C 65 73 2C 20 61 6E 64 20 72 65 61 64 20 files, and read
000070: 61 6E 64 20 77 72 69 74 65 20 63 68 61 72 61 63 and write charac
000080: 74 65 72 73 2E 0D 0A 0D 0A 09 36 2E 20 54 45 53 ters......6. TES
000090: 54 20 2E 2E 2E 20 54 48 45 4E 20 2E 2E 2E 20 45 T ... THEN ... E
0000A0: 4C 53 45 2E 20 41 20 63 6F 6E 64 69 74 69 6F 6E LSE. A condition
0000B0: 61 6C 20 63 6F 6D 6D 61 6E 64 2E 20 53 65 63 74 al command. Sect
0000C0: 69 6F 6E 20 62 72 61 63 6B 65 74 73 20 0D 8A 61 ion brackets ..a
0000D0: 72 65 20 75 73 65 64 20 74 6F 20 65 6E 63 6C 6F re used to enclo
0000E0: 73 65 20 74 68 65 20 62 6C 6F 63 6B 20 6F 66 20 se the block of
0000F0: 63 6F 6D 6D 61 6E 64 73 20 74 68 61 74 20 77 69 commands that wi
000100: 6C 6C 20 62 65 20 65 78 65 63 75 74 65 64 20 69 ll be executed i
000110: 66 20 74 68 65 20 0D 8A 74 65 73 74 20 73 75 63 f the ..test suc
000120: 63 65 65 64 73 20 6F 72 20 66 61 69 6C 73 2E 0D ceeds or fails..
000130: 0A 0D 0A 09 37 2E 20 52 45 50 45 41 54 55 4E 54 ....7. REPEATUNT
000140: 49 4C 2E 20 54 68 65 20 70 72 65 63 65 64 69 6E IL. The precedin
000150: 67 20 62 6C 6F 63 6B 20 28 65 6E 63 6C 6F 73 65 g block (enclose
000160: 64 20 69 6E 20 73 65 63 74 69 6F 6E 20 62 72 61 d in section bra
000170: 63 6B 65 74 73 29 20 0D 8A 69 73 20 72 65 70 65 ckets) ..is repe
000180: 61 74 65 64 20 75 6E 74 69 6C 20 74 68 65 20 63 ated until the c
000190: 6F 6E 64 69 74 69 6F 6E 90 20 62 65 63 6F 6D 65 ondition. become
0001A0: 73 90 20 74 72 75 65 90 20 28 69 6E 20 74 68 69 s. true. (in thi
0001B0: 73 20 63 61 73 65 20 77 68 65 6E 20 74 68 65 20 s case when the
0001C0: 0D 8A 65 6E 64 20 6F 66 20 74 68 65 20 66 69 6C ..end of the fil
0001D0: 65 20 69 73 20 72 65 61 63 68 65 64 29 2E 0D 0A e is reached)...
0001E0: 3E 70 61 0D 0A 3E 63 65 20 E2 37 2E 20 53 55 4D >pa..>ce .7. SUM
0001F0: 4D 41 52 59 20 4F 46 20 54 48 45 20 42 43 50 4C MARY OF THE BCPL
Size : 512 (Real : 512)
000000: 20 4C 41 4E 47 55 41 47 45 E2 0D 0A 0D 0A 0D 0A LANGUAGE.......
000010: 09 54 68 65 20 42 43 50 4C 20 6C 61 6E 67 75 61 .The BCPL langua
000020: 67 65 90 20 69 73 90 20 62 65 73 74 90 20 63 6F ge. is. best. co
000030: 6E 73 69 64 65 72 65 64 90 20 69 6E 90 20 74 77 nsidered. in. tw
000040: 6F 90 20 70 61 72 74 73 2E 20 46 69 72 73 74 20 o. parts. First
000050: 74 68 65 20 0D 8A 73 74 61 6E 64 61 72 64 20 6C the ..standard l
000060: 61 6E 67 75 61 67 65 20 63 6F 6D 70 72 69 73 69 anguage comprisi
000070: 6E 67 20 74 68 65 20 63 6F 6D 6D 61 6E 64 73 90 ng the commands.
000080: 20 61 6E 64 20 73 79 6E 74 61 78 20 66 6F 72 20 and syntax for
000090: 65 78 70 72 65 73 73 69 6F 6E 73 2C 20 0D 8A 63 expressions, ..c
0000A0: 6F 6E 73 74 61 6E 74 73 20 65 74 63 2E 20 53 65 onstants etc. Se
0000B0: 63 6F 6E 64 90 20 74 68 65 90 20 69 6E 70 75 74 cond. the. input
0000C0: 2F 6F 75 74 70 75 74 90 20 6C 69 62 72 61 72 79 /output. library
0000D0: 90 20 72 6F 75 74 69 6E 65 73 90 20 77 68 69 63 . routines. whic
0000E0: 68 20 61 72 65 20 0D 8A 6D 6F 73 74 6C 79 20 70 h are ..mostly p
0000F0: 72 6F 63 65 64 75 72 65 73 20 77 72 69 74 74 65 rocedures writte
000100: 6E 20 69 6E 20 42 43 50 4C 2E 20 54 68 65 72 65 n in BCPL. There
000110: 90 20 61 72 65 20 61 20 66 61 69 72 6C 79 20 73 . are a fairly s
000120: 74 61 6E 64 61 72 64 20 73 65 74 20 6F 66 20 0D tandard set of .
000130: 8A 74 68 65 73 65 2C 20 62 75 74 20 74 68 69 73 .these, but this
000140: 20 69 6D 70 6C 65 6D 65 6E 74 61 74 69 6F 6E 20 implementation
000150: 69 6E 63 6C 75 64 65 73 20 61 64 64 69 74 69 6F includes additio
000160: 6E 61 6C 20 49 2F 4F 20 72 6F 75 74 69 6E 65 73 nal I/O routines
000170: 2E 0D 0A 0D 0A E2 45 6C 65 6D 65 6E 74 73 3A E2 ......Elements:.
000180: 0D 0A 0D 0A 3E 2D 2D 2D 2D 2D 4C 2D 2D 2D 21 2D ....>-----L---!-
000190: 2D 2D 2D 2D 2D 2D 21 2D 2D 2D 2D 2D 2D 2D 21 2D ------!-------!-
0001A0: 2D 2D 2D 2D 2D 2D 21 2D 2D 2D 2D 2D 2D 2D 21 2D ------!-------!-
0001B0: 2D 2D 2D 2D 2D 2D 21 2D 2D 2D 2D 2D 2D 2D 21 2D ------!-------!-
0001C0: 2D 2D 2D 2D 2D 2D 21 2D 2D 52 0D 0A 28 69 29 09 ------!--R..(i).
0001D0: 56 61 72 69 61 62 6C 65 20 6E 61 6D 65 2E 20 4D Variable name. M
0001E0: 75 73 74 20 73 74 61 72 74 90 20 77 69 74 68 90 ust start. with.
0001F0: 20 61 90 20 6C 65 74 74 65 72 90 20 61 6E 64 20 a. letter. and
Size : 512 (Real : 512)
000000: 6D 61 79 20 61 6C 73 6F 20 63 6F 6E 74 61 69 6E may also contain
000010: 20 0D 8A 09 64 69 67 69 74 73 20 61 6E 64 20 66 ...digits and f
000020: 75 6C 6C 20 73 74 6F 70 73 2E 20 41 6C 6C 20 63 ull stops. All c
000030: 68 61 72 61 63 74 65 72 73 20 73 69 67 6E 69 66 haracters signif
000040: 69 63 61 6E 74 2E 0D 0A 28 69 69 29 09 4E 75 6D icant...(ii).Num
000050: 62 65 72 2E 20 43 61 6E 20 62 65 20 64 65 63 69 ber. Can be deci
000060: 6D 61 6C 2C 20 6F 63 74 61 6C 20 28 70 72 65 66 mal, octal (pref
000070: 69 78 20 77 69 74 68 20 23 20 6F 72 20 23 4F 29 ix with # or #O)
000080: 2C 20 68 65 78 61 64 65 63 69 6D 61 6C 20 0D 8A , hexadecimal ..
000090: 09 28 70 72 65 66 69 78 20 77 69 74 68 20 23 58 .(prefix with #X
0000A0: 29 2C 20 6F 72 20 62 69 6E 61 72 79 20 28 70 72 ), or binary (pr
0000B0: 65 66 69 78 20 77 69 74 68 20 23 42 29 2E 0D 0A efix with #B)...
0000C0: 28 69 69 69 29 20 53 74 72 69 6E 67 20 63 6F 6E (iii) String con
0000D0: 73 74 61 6E 74 2E 20 45 6E 63 6C 6F 73 65 20 69 stant. Enclose i
0000E0: 6E 20 64 6F 75 62 6C 65 20 71 75 6F 74 65 73 2E n double quotes.
0000F0: 0D 0A 28 69 76 29 09 43 68 61 72 61 63 74 65 72 ..(iv).Character
000100: 20 63 6F 6E 73 74 61 6E 74 2E 20 45 6E 63 6C 6F constant. Enclo
000110: 73 65 20 69 6E 20 73 69 6E 67 6C 65 20 71 75 6F se in single quo
000120: 74 65 73 2E 0D 0A 09 0D 0A 09 43 65 72 74 61 69 tes.......Certai
000130: 6E 20 63 68 61 72 61 63 74 65 72 73 20 61 72 65 n characters are
000140: 20 72 65 70 72 65 73 65 6E 74 65 64 20 77 69 74 represented wit
000150: 68 69 6E 90 20 61 20 73 74 72 69 6E 67 20 6F 72 hin. a string or
000160: 20 63 68 61 72 61 63 74 65 72 20 0D 8A 09 63 6F character ...co
000170: 6E 73 74 61 6E 74 20 69 6E 20 61 20 73 70 65 63 nstant in a spec
000180: 69 61 6C 20 77 61 79 3A 0D 0A 0D 0A 09 2A 22 09 ial way:.....*".
000190: 20 74 68 65 20 22 20 73 79 6D 62 6F 6C 0D 0A 09 the " symbol...
0001A0: 2A 27 09 20 74 68 65 20 27 20 73 79 6D 62 6F 6C *'. the ' symbol
0001B0: 0D 0A 09 2A 2A 09 20 74 68 65 20 2A 20 73 79 6D ...**. the * sym
0001C0: 62 6F 6C 0D 0A 09 2A 42 09 20 74 68 65 20 62 61 bol...*B. the ba
0001D0: 63 6B 73 70 61 63 65 20 63 68 61 72 61 63 74 65 ckspace characte
0001E0: 72 0D 0A 09 2A 43 09 20 61 20 63 61 72 72 69 61 r...*C. a carria
0001F0: 67 65 20 72 65 74 75 72 6E 20 28 31 33 29 0D 0A ge return (13)..
Size : 512 (Real : 512)
000000: 09 2A 4E 09 20 74 68 65 20 6E 65 77 6C 69 6E 65 .*N. the newline
000010: 20 63 68 61 72 61 63 74 65 72 20 28 69 6E 20 66 character (in f
000020: 61 63 74 20 74 77 6F 20 63 68 61 72 61 63 74 65 act two characte
000030: 72 73 2C 20 31 33 20 61 6E 64 20 31 30 29 0D 0A rs, 13 and 10)..
000040: 09 2A 50 09 20 74 68 65 20 6E 65 77 20 70 61 67 .*P. the new pag
000050: 65 20 28 66 6F 72 6D 20 66 65 65 64 29 20 63 68 e (form feed) ch
000060: 61 72 61 63 74 65 72 20 28 31 32 29 0D 0A 09 2A aracter (12)...*
000070: 53 09 20 61 20 73 70 61 63 65 0D 0A 09 2A 54 09 S. a space...*T.
000080: 20 74 68 65 20 74 61 62 20 63 68 61 72 61 63 74 the tab charact
000090: 65 72 0D 0A 09 2A 58 6E 6E 20 61 20 68 65 78 61 er...*Xnn a hexa
0000A0: 64 65 63 69 6D 61 6C 20 6E 75 6D 62 65 72 20 62 decimal number b
0000B0: 65 74 77 65 65 6E 20 30 20 61 6E 64 20 46 46 2C etween 0 and FF,
0000C0: 20 65 2E 67 2E 20 2A 58 46 31 0D 0A 0D 0A 28 76 e.g. *XF1....(v
0000D0: 29 09 54 72 75 74 68 20 76 61 6C 75 65 73 2C 20 ).Truth values,
0000E0: 54 52 55 45 20 61 6E 64 20 46 41 4C 53 45 2E 20 TRUE and FALSE.
0000F0: 50 72 65 2D 64 65 66 69 6E 65 64 20 63 6F 6E 73 Pre-defined cons
000100: 74 61 6E 74 73 20 77 68 6F 73 65 20 76 61 6C 75 tants whose valu
000110: 65 73 20 0D 8A 09 61 72 65 20 74 68 65 20 62 69 es ...are the bi
000120: 74 20 70 61 74 74 65 72 6E 73 20 72 65 70 72 65 t patterns repre
000130: 73 65 6E 74 69 6E 67 20 74 72 75 65 20 61 6E 64 senting true and
000140: 20 66 61 6C 73 65 2E 0D 0A 0D 0A 0D 0A E2 4F 70 false........Op
000150: 65 72 61 74 6F 72 73 3A E2 0D 0A 0D 0A 41 64 64 erators:.....Add
000160: 72 65 73 73 69 6E 67 20 6F 70 65 72 61 74 6F 72 ressing operator
000170: 73 0D 0A 0D 0A 21 09 69 6E 64 69 72 65 63 74 69 s....!.indirecti
000180: 6F 6E 20 28 73 75 62 73 63 72 69 70 74 29 2C 20 on (subscript),
000190: 65 2E 67 2E 20 21 61 2C 20 61 21 62 0D 0A 40 09 e.g. !a, a!b..@.
0001A0: 61 64 64 72 65 73 73 20 6F 66 2C 20 74 68 65 20 address of, the
0001B0: 69 6E 76 65 72 73 65 20 6F 66 20 21 2C 20 73 6F inverse of !, so
0001C0: 20 40 28 21 61 29 20 3D 20 61 0D 0A 0D 0A 41 72 @(!a) = a....Ar
0001D0: 69 74 68 6D 65 74 69 63 20 6F 70 65 72 61 74 6F ithmetic operato
0001E0: 72 73 0D 0A 0D 0A 2B 09 61 64 64 69 74 69 6F 6E rs....+.addition
0001F0: 0D 0A 2D 2D 09 73 75 62 74 72 61 63 74 69 6F 6E ..--.subtraction
Size : 512 (Real : 512)
000000: 0D 0A 2A 09 6D 75 6C 74 69 70 6C 69 63 61 74 69 ..*.multiplicati
000010: 6F 6E 0D 0A 2F 09 69 6E 74 65 67 65 72 20 64 69 on../.integer di
000020: 76 69 73 69 6F 6E 0D 0A 52 45 4D 09 69 6E 74 65 vision..REM.inte
000030: 67 65 72 20 72 65 6D 61 69 6E 64 65 72 0D 0A 3E ger remainder..>
000040: 70 61 0D 0A 52 65 6C 61 74 69 6F 6E 61 6C 20 6F pa..Relational o
000050: 70 65 72 61 74 6F 72 73 0D 0A 0D 0A 3D 09 65 71 perators....=.eq
000060: 75 61 6C 20 74 6F 20 28 6F 72 20 45 51 29 0D 0A ual to (or EQ)..
000070: 5C 3D 09 6E 6F 74 20 65 71 75 61 6C 20 74 6F 20 \=.not equal to
000080: 28 6F 72 20 7E 3D 20 6F 72 20 4E 45 29 0D 8A 3C (or ~= or NE)..<
000090: 09 6C 65 73 73 20 74 68 61 6E 20 28 6F 72 20 4C .less than (or L
0000A0: 54 29 0D 0A FA 3E 09 67 72 65 61 74 65 72 20 74 T)...>.greater t
0000B0: 68 61 6E 20 28 6F 72 20 47 54 29 0D 0A 3C 3D 09 han (or GT)..<=.
0000C0: 6C 65 73 73 20 74 68 61 6E 20 6F 72 20 65 71 75 less than or equ
0000D0: 61 6C 20 74 6F 20 28 6F 72 20 4C 45 29 0D 0A FA al to (or LE)...
0000E0: 3E 3D 09 67 72 65 61 74 65 72 20 74 68 61 6E 20 >=.greater than
0000F0: 6F 72 20 65 71 75 61 6C 20 74 6F 20 28 6F 72 20 or equal to (or
000100: 47 45 29 0D 0A 0D 0A 0D 0A 4C 6F 67 69 63 61 6C GE)......Logical
000110: 20 6F 70 65 72 61 74 6F 72 73 0D 0A 0D 0A 7C 09 operators....|.
000120: 6F 72 20 28 6F 72 20 5C 2F 20 6F 72 20 4C 4F 47 or (or \/ or LOG
000130: 4F 52 29 0D 0A 26 09 61 6E 64 20 28 6F 72 20 2F OR)..&.and (or /
000140: 5C 20 6F 72 20 4C 4F 47 41 4E 44 29 0D 0A 5C 09 \ or LOGAND)..\.
000150: 6E 6F 74 20 28 6F 72 20 7E 20 6F 72 20 4E 4F 54 not (or ~ or NOT
000160: 29 0D 0A 45 51 56 09 62 69 74 77 69 73 65 20 65 )..EQV.bitwise e
000170: 71 75 69 76 61 6C 65 6E 63 65 0D 0A 4E 45 51 56 quivalence..NEQV
000180: 09 65 78 63 6C 75 73 69 76 65 20 6F 72 0D 0A 0D .exclusive or...
000190: 0A 0D 0A 53 68 69 66 74 20 6F 70 65 72 61 74 6F ...Shift operato
0001A0: 72 73 0D 0A 0D 0A 3C 3C 09 6C 6F 67 69 63 61 6C rs....<<.logical
0001B0: 20 73 68 69 66 74 20 6C 65 66 74 2C 20 65 2E 67 shift left, e.g
0001C0: 2E 20 61 3C 3C 34 20 73 68 69 66 74 73 20 6C 65 . a<<4 shifts le
0001D0: 66 74 20 34 20 62 69 74 73 0D 0A FA 3E 3E 09 6C ft 4 bits...>>.l
0001E0: 6F 67 69 63 61 6C 20 73 68 69 66 74 20 72 69 67 ogical shift rig
0001F0: 68 74 0D 0A 0D 0A 0D 0A 4F 74 68 65 72 20 63 6F ht......Other co
Size : 512 (Real : 512)
000000: 6D 70 6F 6E 65 6E 74 73 20 6F 66 20 65 78 70 72 mponents of expr
000010: 65 73 73 69 6F 6E 73 3A 0D 0A 0D 0A 28 69 29 09 essions:....(i).
000020: 46 75 6E 63 74 69 6F 6E 20 63 61 6C 6C 20 28 73 Function call (s
000030: 65 65 20 62 65 6C 6F 77 29 0D 0A 28 69 69 29 09 ee below)..(ii).
000040: 43 6F 6E 64 69 74 69 6F 6E 61 6C 20 65 78 70 72 Conditional expr
000050: 65 73 73 69 6F 6E 2C 20 65 2E 67 2E 20 20 61 20 ession, e.g. a
000060: 2D 2D 3E 20 62 2C 20 63 0D 0A 09 54 68 69 73 20 --> b, c...This
000070: 6D 65 61 6E 73 3A 20 65 76 61 6C 75 61 74 65 20 means: evaluate
000080: 61 20 61 73 20 61 20 74 72 75 74 68 90 20 76 61 a as a truth. va
000090: 6C 75 65 2E 20 49 66 20 74 72 75 65 20 74 68 65 lue. If true the
0000A0: 6E 20 74 68 65 20 76 61 6C 75 65 20 0D 8A 09 6F n the value ...o
0000B0: 66 20 74 68 65 20 65 78 70 72 65 73 73 69 6F 6E f the expression
0000C0: 20 69 73 20 62 2C 20 6F 74 68 65 72 77 69 73 65 is b, otherwise
0000D0: 20 63 2E 0D 0A 28 69 69 69 29 09 54 41 42 4C 45 c...(iii).TABLE
0000E0: 2C 20 65 2E 67 2E 20 54 41 42 4C 45 20 61 2C 62 , e.g. TABLE a,b
0000F0: 2C 63 2C 64 0D 0A 09 54 68 69 73 20 69 73 20 61 ,c,d...This is a
000100: 6E 20 65 78 70 72 65 73 73 69 6F 6E 20 77 68 6F n expression who
000110: 73 65 90 20 76 61 6C 75 65 90 20 69 73 90 20 74 se. value. is. t
000120: 68 65 20 61 64 64 72 65 73 73 20 69 6E 20 6D 65 he address in me
000130: 6D 6F 72 79 20 61 74 20 0D 8A 09 77 68 69 63 68 mory at ...which
000140: 20 74 68 65 90 20 74 61 62 6C 65 90 20 6F 66 90 the. table. of.
000150: 20 76 61 6C 75 65 73 90 20 69 73 90 20 73 74 6F values. is. sto
000160: 72 65 64 2E 90 20 54 68 65 90 20 76 61 6C 75 65 red.. The. value
000170: 73 90 20 6D 75 73 74 90 20 62 65 20 0D 8A 09 63 s. must. be ...c
000180: 6F 6E 73 74 61 6E 74 73 2E 0D 0A 28 69 76 29 09 onstants...(iv).
000190: 56 41 4C 4F 46 20 28 73 65 65 20 62 65 6C 6F 77 VALOF (see below
0001A0: 29 0D 0A 0D 0A 0D 0A 4F 72 64 65 72 20 6F 66 20 )......Order of
0001B0: 70 72 65 63 65 64 65 6E 63 65 20 6F 66 20 6F 70 precedence of op
0001C0: 65 72 61 74 6F 72 73 20 28 68 69 67 68 65 73 74 erators (highest
0001D0: 20 66 69 72 73 74 29 0D 0A 0D 0A 09 31 2E 20 42 first).....1. B
0001E0: 72 61 63 6B 65 74 65 64 20 65 78 70 72 65 73 73 racketed express
0001F0: 69 6F 6E 20 20 20 20 20 20 20 20 20 20 20 20 20 ion
Size : 512 (Real : 512)
000000: 20 39 2E 20 3C 3C 20 3E 3E 20 20 20 20 20 20 20 9. << >>
000010: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
000020: 0D 0A 09 32 2E 20 46 75 6E 63 74 69 6F 6E 20 63 ...2. Function c
000030: 61 6C 6C 20 20 20 20 20 20 20 20 20 20 20 20 20 all
000040: 20 20 20 20 20 20 20 31 30 2E 20 5C 20 20 20 20 10. \
000050: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
000060: 20 20 20 20 20 20 20 0D 0A 09 33 2E 20 21 20 61 ...3. ! a
000070: 73 20 73 75 62 73 63 72 69 70 74 20 20 20 20 20 s subscript
000080: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 31 31 11
000090: 2E 20 26 20 20 20 20 20 20 20 20 20 20 20 20 20 . &
0000A0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 0D 0A ..
0000B0: 09 34 2E 20 40 2C 20 21 20 61 73 20 69 6E 64 69 .4. @, ! as indi
0000C0: 72 65 63 74 69 6F 6E 20 20 20 20 20 20 20 20 20 rection
0000D0: 20 20 20 20 20 31 32 2E 20 7C 20 20 20 20 20 20 12. |
0000E0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
0000F0: 20 20 20 20 20 0D 0A 09 35 2E 20 25 20 20 20 20 ...5. %
000100: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
000110: 20 20 20 20 20 20 20 20 20 20 20 20 31 33 2E 20 13.
000120: 45 51 56 20 4E 45 51 56 20 20 20 20 20 20 20 20 EQV NEQV
000130: 20 20 20 20 20 20 20 20 20 20 20 20 0D 0A 09 36 ...6
000140: 2E 20 2A 20 2F 20 52 45 4D 20 41 42 53 20 20 20 . * / REM ABS
000150: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
000160: 20 20 20 31 34 2E 20 2D 2D 3E 20 28 63 6F 6E 64 14. --> (cond
000170: 69 74 69 6F 6E 61 6C 20 65 78 70 72 65 73 73 69 itional expressi
000180: 6F 6E 29 0D 0A 09 37 2E 20 2B 20 2D 2D 20 20 20 on)...7. + --
000190: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
0001A0: 20 20 20 20 20 20 20 20 20 20 31 35 2E 20 54 41 15. TA
0001B0: 42 4C 45 20 20 20 20 20 20 20 20 20 20 20 20 20 BLE
0001C0: 20 20 20 20 20 20 20 20 20 20 0D 0A 09 38 2E 20 ...8.
0001D0: 3D 20 5C 3D 20 3C 20 3E 20 3C 3D 20 3E 3D 20 20 = \= < > <= >=
0001E0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
0001F0: 20 31 36 2E 20 56 41 4C 4F 46 20 20 20 20 20 20 16. VALOF
Size : 512 (Real : 512)
000000: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
000010: 20 0D 0A 3E 70 61 0D 0A 4E 6F 74 65 3A 20 50 43 ..>pa..Note: PC
000020: 57 20 75 73 65 72 73 20 77 69 6C 6C 20 66 69 6E W users will fin
000030: 64 20 74 77 6F 90 20 6F 66 90 20 74 68 65 90 20 d two. of. the.
000040: 6F 70 65 72 61 74 6F 72 90 20 73 79 6D 62 6F 6C operator. symbol
000050: 73 20 6E 6F 74 20 73 68 6F 77 6E 20 6F 6E 20 0D s not shown on .
000060: 8A 09 74 68 65 69 72 90 20 6B 65 79 62 6F 61 72 ..their. keyboar
000070: 64 73 2E 90 20 54 68 65 79 90 20 61 72 65 90 20 ds.. They. are.
000080: 6F 62 74 61 69 6E 65 64 90 90 20 62 79 90 20 74 obtained.. by. t
000090: 68 65 90 20 66 6F 6C 6C 6F 77 69 6E 67 90 20 6B he. following. k
0000A0: 65 79 20 0D 8A 09 63 6F 6D 62 69 6E 61 74 69 6F ey ...combinatio
0000B0: 6E 73 3A 0D 0A 09 5C 09 2D 2D 09 45 58 54 52 41 ns:...\.--.EXTRA
0000C0: 20 6B 65 79 20 61 6E 64 20 74 68 65 20 6B 65 79 key and the key
0000D0: 20 6D 61 72 6B 65 64 20 77 69 74 68 20 61 20 31 marked with a 1
0000E0: 2F 32 20 73 79 6D 62 6F 6C 2E 0D 0A 09 7C 09 2D /2 symbol....|.-
0000F0: 2D 09 45 58 54 52 41 20 6B 65 79 20 61 6E 64 20 -.EXTRA key and
000100: 74 68 65 20 66 75 6C 6C 20 73 74 6F 70 20 6B 65 the full stop ke
000110: 79 2E 0D 0A 0D 0A 0D 0A E2 53 65 63 74 69 6F 6E y........Section
000120: 20 62 72 61 63 6B 65 74 73 20 61 6E 64 20 63 6F brackets and co
000130: 6D 70 6F 75 6E 64 20 63 6F 6D 6D 61 6E 64 73 3A mpound commands:
000140: E2 0D 0A 0D 0A 09 4D 61 6E 79 20 6F 66 20 74 68 ......Many of th
000150: 65 20 63 6F 6D 6D 61 6E 64 73 20 64 65 73 63 72 e commands descr
000160: 69 62 65 64 20 62 65 6C 6F 77 90 20 61 70 70 6C ibed below. appl
000170: 79 20 74 6F 20 61 20 73 69 6E 67 6C 65 20 63 6F y to a single co
000180: 6D 6D 61 6E 64 2E 20 0D 8A 09 46 6F 72 20 65 78 mmand. ...For ex
000190: 61 6D 70 6C 65 20 52 45 50 45 41 54 90 20 77 69 ample REPEAT. wi
0001A0: 6C 6C 90 20 72 65 70 65 61 74 90 20 61 90 20 63 ll. repeat. a. c
0001B0: 6F 6D 6D 61 6E 64 90 20 75 6E 74 69 6C 20 74 68 ommand. until th
0001C0: 65 20 72 65 71 75 69 72 65 64 20 0D 8A 09 63 6F e required ...co
0001D0: 6E 64 69 74 69 6F 6E 20 69 73 20 74 72 75 65 2E ndition is true.
0001E0: 20 53 65 63 74 69 6F 6E 90 20 62 72 61 63 6B 65 Section. bracke
0001F0: 74 73 90 20 61 72 65 90 20 75 73 65 64 20 74 6F ts. are. used to
Size : 512 (Real : 512)
000000: 20 67 72 6F 75 70 20 73 65 76 65 72 61 6C 20 0D group several .
000010: 8A 09 63 6F 6D 6D 61 6E 64 73 20 61 73 20 61 90 ..commands as a.
000020: 20 27 63 6F 6D 70 6F 75 6E 64 90 20 63 6F 6D 6D 'compound. comm
000030: 61 6E 64 27 2C 90 20 77 68 69 63 68 90 20 69 73 and',. which. is
000040: 90 20 63 6F 6E 73 69 64 65 72 65 64 90 20 61 73 . considered. as
000050: 20 61 20 0D 8A 09 73 69 6E 67 6C 65 20 63 6F 6D a ...single com
000060: 6D 61 6E 64 20 66 6F 72 20 74 68 65 73 65 20 70 mand for these p
000070: 75 72 70 6F 73 65 73 2E 90 20 54 68 65 90 20 73 urposes.. The. s
000080: 65 63 74 69 6F 6E 20 62 72 61 63 6B 65 74 73 20 ection brackets
000090: 61 72 65 20 24 28 20 0D 8A 09 61 6E 64 20 24 29 are $( ...and $)
0000A0: 2E 20 54 68 65 20 63 6F 6D 6D 61 6E 64 73 20 74 . The commands t
0000B0: 6F 90 20 62 65 90 20 67 72 6F 75 70 65 64 90 20 o. be. grouped.
0000C0: 73 68 6F 75 6C 64 20 62 65 20 65 6E 63 6C 6F 73 should be enclos
0000D0: 65 64 20 62 65 74 77 65 65 6E 20 0D 8A 09 74 68 ed between ...th
0000E0: 65 73 65 20 73 79 6D 62 6F 6C 73 2E 0D 0A 0D 0A ese symbols.....
0000F0: 0D 0A E2 43 6F 6D 6D 61 6E 64 73 3A E2 0D 0A 0D ...Commands:....
000100: 0A 41 73 73 69 67 6E 6D 65 6E 74 0D 0A 09 0D 0A .Assignment.....
000110: 09 3A 3D 20 69 73 20 75 73 65 64 20 74 6F 20 61 .:= is used to a
000120: 73 73 69 67 6E 90 20 61 90 20 76 61 6C 75 65 90 ssign. a. value.
000130: 20 74 6F 90 20 61 90 20 76 61 72 69 61 62 6C 65 to. a. variable
000140: 2E 20 54 68 65 72 65 20 61 72 65 20 74 68 72 65 . There are thre
000150: 65 20 0D 8A 09 62 61 73 69 63 20 66 6F 72 6D 73 e ...basic forms
000160: 20 6F 66 20 74 68 65 20 61 73 73 69 67 6E 6D 65 of the assignme
000170: 6E 74 20 73 74 61 74 65 6D 65 6E 74 3A 0D 0A 09 nt statement:...
000180: 0D 0A 09 76 61 72 69 61 62 6C 65 20 3A 3D 20 65 ...variable := e
000190: 78 70 72 65 73 73 69 6F 6E 0D 0A 09 76 61 72 69 xpression...vari
0001A0: 61 62 6C 65 21 73 75 62 73 63 72 69 70 74 20 3A able!subscript :
0001B0: 3D 20 65 78 70 72 65 73 73 69 6F 6E 0D 0A 09 21 = expression...!
0001C0: 76 61 72 69 61 62 6C 65 20 3A 3D 20 65 78 70 72 variable := expr
0001D0: 65 73 73 69 6F 6E 0D 0A 0D 0A 0D 0A 43 6F 6E 64 ession......Cond
0001E0: 69 74 69 6F 6E 61 6C 20 63 6F 6D 6D 61 6E 64 73 itional commands
0001F0: 0D 0A 0D 0A 09 49 46 20 3C 65 78 70 72 65 73 73 .....IF <express
Size : 512 (Real : 512)
000000: 69 6F 6E 3E 20 54 48 45 4E 20 3C 63 6F 6D 6D 61 ion> THEN <comma
000010: 6E 64 3E 0D 0A 09 55 4E 4C 45 53 53 20 3C 65 78 nd>...UNLESS <ex
000020: 70 72 65 73 73 69 6F 6E 3E 20 44 4F 20 3C 63 6F pression> DO <co
000030: 6D 6D 61 6E 64 3E 0D 0A 09 54 45 53 54 20 3C 65 mmand>...TEST <e
000040: 78 70 72 65 73 73 69 6F 6E 3E 20 54 48 45 4E 20 xpression> THEN
000050: 3C 63 6F 6D 6D 61 6E 64 3E 20 45 4C 53 45 20 3C <command> ELSE <
000060: 63 6F 6D 6D 61 6E 64 3E 0D 0A 0D 0A 09 4E 6F 74 command>.....Not
000070: 65 20 74 68 61 74 20 49 46 20 64 6F 65 73 20 6E e that IF does n
000080: 6F 74 20 74 61 6B 65 90 20 61 6E 90 20 45 4C 53 ot take. an. ELS
000090: 45 90 20 63 6C 61 75 73 65 2C 20 54 45 53 54 20 E. clause, TEST
0000A0: 6D 75 73 74 20 62 65 20 75 73 65 64 2E 20 0D 8A must be used. ..
0000B0: 09 54 68 65 20 45 4C 53 45 20 63 6C 61 75 73 65 .The ELSE clause
0000C0: 20 6D 75 73 74 20 62 65 20 70 72 65 73 65 6E 74 must be present
0000D0: 20 69 6E 20 61 20 54 45 53 54 20 63 6F 6D 6D 61 in a TEST comma
0000E0: 6E 64 2E 0D 0A 0D 0A 0D 0A 52 45 50 45 41 54 20 nd.......REPEAT
0000F0: 61 6E 64 20 57 48 49 4C 45 0D 0A 0D 0A 09 3C 63 and WHILE.....<c
000100: 6F 6D 6D 61 6E 64 3E 20 52 45 50 45 41 54 0D 0A ommand> REPEAT..
000110: 09 3C 63 6F 6D 6D 61 6E 64 3E 20 52 45 50 45 41 .<command> REPEA
000120: 54 55 4E 54 49 4C 20 3C 65 78 70 72 65 73 73 69 TUNTIL <expressi
000130: 6F 6E 3E 0D 0A 09 3C 63 6F 6D 6D 61 6E 64 3E 20 on>...<command>
000140: 52 45 50 45 41 54 57 48 49 4C 45 20 3C 65 78 70 REPEATWHILE <exp
000150: 72 65 73 73 69 6F 6E 3E 0D 0A 09 57 48 49 4C 45 ression>...WHILE
000160: 20 3C 65 78 70 72 65 73 73 69 6F 6E 3E 20 44 4F <expression> DO
000170: 20 3C 63 6F 6D 6D 61 6E 64 3E 0D 0A 09 55 4E 54 <command>...UNT
000180: 49 4C 20 3C 65 78 70 72 65 73 73 69 6F 6E 3E 20 IL <expression>
000190: 44 4F 20 3C 63 6F 6D 6D 61 6E 64 3E 0D 0A 3E 70 DO <command>..>p
0001A0: 61 0D 0A 46 4F 52 20 6C 6F 6F 70 0D 0A 0D 0A 09 a..FOR loop.....
0001B0: 46 4F 52 20 69 20 3D 20 61 20 54 4F 20 62 20 44 FOR i = a TO b D
0001C0: 4F 20 3C 63 6F 6D 6D 61 6E 64 3E 0D 0A 09 46 4F O <command>...FO
0001D0: 52 20 69 20 3D 20 61 20 54 4F 20 62 20 42 59 20 R i = a TO b BY
0001E0: 63 20 44 4F 20 3C 63 6F 6D 6D 61 6E 64 3E 0D 0A c DO <command>..
0001F0: 0D 0A 09 49 6E 20 74 68 65 20 66 69 72 73 74 20 ...In the first
Size : 512 (Real : 512)
000000: 63 61 73 65 20 69 20 74 61 6B 65 73 90 20 76 61 case i takes. va
000010: 6C 75 65 73 20 73 74 61 72 74 69 6E 67 20 61 74 lues starting at
000020: 20 61 2C 20 69 6E 63 72 65 6D 65 6E 74 69 6E 67 a, incrementing
000030: 20 62 79 20 0D 8A 09 31 20 75 6E 74 69 6C 20 67 by ...1 until g
000040: 72 65 61 74 65 72 20 74 68 61 6E 20 62 2E 0D 0A reater than b...
000050: 09 49 6E 20 74 68 65 20 73 65 63 6F 6E 64 20 63 .In the second c
000060: 61 73 65 20 69 20 69 73 20 69 6E 63 72 65 6D 65 ase i is increme
000070: 6E 74 65 64 90 20 62 79 90 20 63 2E 20 63 20 6D nted. by. c. c m
000080: 75 73 74 20 62 65 20 61 20 63 6F 6E 73 74 61 6E ust be a constan
000090: 74 20 0D 8A 09 65 78 70 72 65 73 73 69 6F 6E 2E t ...expression.
0000A0: 0D 0A 0D 0A 0D 0A 53 57 49 54 43 48 4F 4E 0D 0A ......SWITCHON..
0000B0: 0D 0A 09 53 57 49 54 43 48 4F 4E 20 3C 65 78 70 ...SWITCHON <exp
0000C0: 72 65 73 73 69 6F 6E 3E 20 49 4E 54 4F 20 3C 63 ression> INTO <c
0000D0: 6F 6D 70 6F 75 6E 64 20 63 6F 6D 6D 61 6E 64 3E ompound command>
0000E0: 0D 0A 0D 0A 09 54 68 65 20 63 6F 6D 70 6F 75 6E .....The compoun
0000F0: 64 20 63 6F 6D 6D 61 6E 64 20 63 6F 6E 73 69 73 d command consis
000100: 74 73 90 20 6F 66 90 20 61 90 20 73 65 71 75 65 ts. of. a. seque
000110: 6E 63 65 90 20 6F 66 20 63 6F 6D 6D 61 6E 64 73 nce. of commands
000120: 20 77 69 74 68 20 0D 8A 09 63 61 73 65 20 6C 61 with ...case la
000130: 62 65 6C 73 20 61 74 74 61 63 68 65 64 20 74 6F bels attached to
000140: 20 63 6F 6D 6D 61 6E 64 73 2E 90 20 41 90 20 63 commands.. A. c
000150: 61 73 65 90 20 6C 61 62 65 6C 20 74 61 6B 65 73 ase. label takes
000160: 20 74 68 65 20 66 6F 72 6D 20 0D 8A 09 27 43 41 the form ...'CA
000170: 53 45 90 20 3C 63 6F 6E 73 74 61 6E 74 3E 3A 27 SE. <constant>:'
000180: 2C 90 20 61 6E 64 90 20 63 61 75 73 65 73 90 20 ,. and. causes.
000190: 65 78 65 63 75 74 69 6F 6E 90 20 74 6F 90 20 73 execution. to. s
0001A0: 74 61 72 74 90 20 61 74 90 20 74 68 65 20 0D 8A tart. at. the ..
0001B0: 09 66 6F 6C 6C 6F 77 69 6E 67 20 69 6E 73 74 72 .following instr
0001C0: 75 63 74 69 6F 6E 20 69 66 20 3C 65 78 70 72 65 uction if <expre
0001D0: 73 73 69 6F 6E 3E 90 20 68 61 73 20 74 68 65 20 ssion>. has the
0001E0: 76 61 6C 75 65 20 3C 63 6F 6E 73 74 61 6E 74 3E value <constant>
0001F0: 2E 20 0D 8A 09 45 78 65 63 75 74 69 6F 6E 20 77 . ...Execution w
Size : 512 (Real : 512)
000000: 69 6C 6C 20 63 6F 6E 74 69 6E 75 65 20 75 6E 74 ill continue unt
000010: 69 6C 20 61 6E 20 45 4E 44 43 41 53 45 90 20 63 il an ENDCASE. c
000020: 6F 6D 6D 61 6E 64 2C 20 6F 72 20 74 6F 20 74 68 ommand, or to th
000030: 65 20 65 6E 64 20 0D 8A 09 6F 66 20 74 68 65 20 e end ...of the
000040: 53 57 49 54 43 48 4F 4E 20 63 6F 6D 70 6F 75 6E SWITCHON compoun
000050: 64 20 63 6F 6D 6D 61 6E 64 2E 20 54 68 65 20 6C d command. The l
000060: 61 62 65 6C 20 27 44 45 46 41 55 4C 54 3A 27 20 abel 'DEFAULT:'
000070: 6D 61 72 6B 73 20 74 68 65 20 0D 8A 09 70 6C 61 marks the ...pla
000080: 63 65 20 77 68 65 72 65 20 65 78 65 63 75 74 69 ce where executi
000090: 6F 6E 90 20 69 73 90 20 74 6F 90 20 73 74 61 72 on. is. to. star
0000A0: 74 90 20 69 66 90 20 3C 65 78 70 72 65 73 73 69 t. if. <expressi
0000B0: 6F 6E 3E 90 20 64 6F 65 73 20 6E 6F 74 20 0D 8A on>. does not ..
0000C0: 09 65 76 61 6C 75 61 74 65 20 74 6F 20 61 6E 79 .evaluate to any
0000D0: 20 6F 66 20 74 68 65 90 20 63 6F 6E 73 74 61 6E of the. constan
0000E0: 74 73 90 20 73 70 65 63 69 66 69 65 64 20 62 79 ts. specified by
0000F0: 20 63 61 73 65 20 6C 61 62 65 6C 73 2E 20 46 6F case labels. Fo
000100: 72 20 0D 8A 09 61 6E 20 65 78 61 6D 70 6C 65 20 r ...an example
000110: 6F 66 20 74 68 65 20 75 73 65 90 20 6F 66 90 20 of the use. of.
000120: 53 57 49 54 43 48 4F 4E 90 20 73 65 65 20 74 68 SWITCHON. see th
000130: 65 20 27 77 72 69 74 65 66 27 20 72 6F 75 74 69 e 'writef' routi
000140: 6E 65 20 69 6E 20 0D 8A 09 43 4C 49 42 48 44 52 ne in ...CLIBHDR
000150: 20 6F 72 20 41 4C 49 42 48 44 52 2E 0D 0A 0D 0A or ALIBHDR.....
000160: E2 42 6C 6F 63 6B 73 20 61 6E 64 20 73 63 6F 70 .Blocks and scop
000170: 65 20 6F 66 20 69 64 65 6E 74 69 66 69 65 72 73 e of identifiers
000180: E2 0D 0A 0D 0A 09 41 20 42 43 50 4C 20 70 72 6F ......A BCPL pro
000190: 67 72 61 6D 90 20 69 73 90 20 6D 61 64 65 90 20 gram. is. made.
0001A0: 75 70 90 20 6F 66 90 20 6F 6E 65 90 20 6F 72 90 up. of. one. or.
0001B0: 20 6D 6F 72 65 90 20 62 6C 6F 63 6B 73 2E 20 41 more. blocks. A
0001C0: 20 62 6C 6F 63 6B 20 0D 8A 09 63 6F 6E 73 69 73 block ...consis
0001D0: 74 73 20 6F 66 20 61 20 73 65 71 75 65 6E 63 65 ts of a sequence
0001E0: 20 6F 66 20 64 65 63 6C 61 72 61 74 69 6F 6E 73 of declarations
0001F0: 20 28 73 65 65 20 62 65 6C 6F 77 29 20 66 6F 6C (see below) fol
Size : 512 (Real : 512)
000000: 6C 6F 77 65 64 20 62 79 20 61 20 0D 8A 09 73 65 lowed by a ...se
000010: 71 75 65 6E 63 65 20 6F 66 20 63 6F 6D 6D 61 6E quence of comman
000020: 64 73 2E 20 54 6F 20 62 65 20 70 72 65 63 69 73 ds. To be precis
000030: 65 90 20 61 90 20 42 43 50 4C 20 70 72 6F 67 72 e. a. BCPL progr
000040: 61 6D 20 69 73 20 61 20 73 69 6E 67 6C 65 20 0D am is a single .
000050: 8A 09 62 6C 6F 63 6B 2C 20 61 6E 64 20 61 6E 79 ..block, and any
000060: 20 62 6C 6F 63 6B 20 6D 61 79 20 63 6F 6E 74 61 block may conta
000070: 69 6E 20 6E 65 73 74 65 64 20 73 75 62 2D 62 6C in nested sub-bl
000080: 6F 63 6B 73 2E 0D 0A 0D 0A 09 54 68 65 20 73 63 ocks......The sc
000090: 6F 70 65 20 6F 66 20 61 6E 20 69 64 65 6E 74 69 ope of an identi
0000A0: 66 69 65 72 20 28 76 61 72 69 61 62 6C 65 20 6F fier (variable o
0000B0: 72 20 70 72 6F 63 65 64 75 72 65 29 20 64 65 66 r procedure) def
0000C0: 69 6E 65 73 20 74 68 6F 73 65 20 0D 8A 09 70 61 ines those ...pa
0000D0: 72 74 73 20 6F 66 20 61 90 20 70 72 6F 67 72 61 rts of a. progra
0000E0: 6D 90 20 77 68 65 72 65 90 20 74 68 61 74 90 20 m. where. that.
0000F0: 69 64 65 6E 74 69 66 69 65 72 90 20 63 61 6E 90 identifier. can.
000100: 20 62 65 20 75 73 65 64 2E 20 45 61 63 68 20 0D be used. Each .
000110: 8A 09 69 64 65 6E 74 69 66 69 65 72 20 6D 75 73 ..identifier mus
000120: 74 20 62 65 20 64 65 63 6C 61 72 65 64 90 20 77 t be declared. w
000130: 69 74 68 90 20 61 90 20 64 65 63 6C 61 72 61 74 ith. a. declarat
000140: 69 6F 6E 2E 90 20 54 68 65 20 73 63 6F 70 65 20 ion.. The scope
000150: 6F 66 20 0D 8A 09 74 68 61 74 90 20 69 64 65 6E of ...that. iden
000160: 74 69 66 69 65 72 90 20 69 73 90 20 74 68 61 74 tifier. is. that
000170: 90 90 20 73 61 6D 65 90 90 20 64 65 63 6C 61 72 .. same.. declar
000180: 61 74 69 6F 6E 90 20 28 74 68 75 73 90 20 61 6C ation. (thus. al
000190: 6C 6F 77 69 6E 67 20 0D 8A 09 72 65 63 75 72 73 lowing ...recurs
0001A0: 69 76 65 20 64 65 66 69 6E 69 74 69 6F 6E 73 29 ive definitions)
0001B0: 2C 90 20 61 6E 64 90 20 61 6C 6C 90 20 73 75 62 ,. and. all. sub
0001C0: 73 65 71 75 65 6E 74 90 20 64 65 63 6C 61 72 61 sequent. declara
0001D0: 74 69 6F 6E 73 90 20 61 6E 64 20 0D 8A 09 63 6F tions. and ...co
0001E0: 6D 6D 61 6E 64 73 20 77 69 74 68 69 6E 20 74 68 mmands within th
0001F0: 61 74 20 62 6C 6F 63 6B 2E 20 54 68 75 73 20 69 at block. Thus i
Size : 512 (Real : 512)
000000: 66 20 61 20 72 6F 75 74 69 6E 65 20 69 73 20 63 f a routine is c
000010: 61 6C 6C 65 64 20 77 68 69 63 68 20 69 73 20 0D alled which is .
000020: 8A 09 6F 75 74 73 69 64 65 20 74 68 65 20 62 6C ..outside the bl
000030: 6F 63 6B 90 20 28 61 6E 64 90 20 72 6F 75 74 69 ock. (and. routi
000040: 6E 65 73 90 20 61 72 65 90 20 75 73 75 61 6C 6C nes. are. usuall
000050: 79 20 73 65 70 61 72 61 74 65 20 62 6C 6F 63 6B y separate block
000060: 73 29 20 0D 8A 09 74 68 65 6E 20 76 61 72 69 61 s) ...then varia
000070: 62 6C 65 73 20 64 65 66 69 6E 65 64 90 20 77 69 bles defined. wi
000080: 74 68 69 6E 90 20 74 68 65 90 20 6F 72 69 67 69 thin. the. origi
000090: 6E 61 6C 90 20 62 6C 6F 63 6B 90 20 6D 61 79 20 nal. block. may
0000A0: 6E 6F 74 20 62 65 20 0D 8A 09 75 73 65 64 2E 0D not be ...used..
0000B0: 0A 0D 0A 09 54 68 65 72 65 20 69 73 20 61 6E 20 ....There is an
0000C0: 69 6D 70 6F 72 74 61 6E 74 90 20 72 65 73 74 72 important. restr
0000D0: 69 63 74 69 6F 6E 2E 90 20 56 61 72 69 61 62 6C iction.. Variabl
0000E0: 65 73 90 20 64 65 66 69 6E 65 64 20 77 69 74 68 es. defined with
0000F0: 69 6E 20 61 20 0D 8A 09 62 6C 6F 63 6B 20 6D 61 in a ...block ma
000100: 79 20 6E 6F 74 20 62 65 90 20 75 73 65 64 90 20 y not be. used.
000110: 77 69 74 68 69 6E 90 20 61 90 20 70 72 6F 63 65 within. a. proce
000120: 64 75 72 65 20 64 65 66 69 6E 65 64 20 77 69 74 dure defined wit
000130: 68 69 6E 20 74 68 61 74 20 0D 8A 09 62 6C 6F 63 hin that ...bloc
000140: 6B 20 28 65 76 65 6E 20 74 68 6F 75 67 68 20 74 k (even though t
000150: 68 65 79 20 61 72 65 20 69 6E 20 73 63 6F 70 65 hey are in scope
000160: 29 2E 90 20 41 6E 20 61 74 74 65 6D 70 74 20 74 ).. An attempt t
000170: 6F 20 64 6F 20 73 6F 20 77 69 6C 6C 20 0D 8A 09 o do so will ...
000180: 70 72 6F 64 75 63 65 20 74 68 65 20 65 72 72 6F produce the erro
000190: 72 20 6D 65 73 73 61 67 65 20 27 64 79 6E 61 6D r message 'dynam
0001A0: 69 63 20 66 72 65 65 20 76 61 72 69 61 62 6C 65 ic free variable
0001B0: 20 75 73 65 64 27 2E 0D 0A 3E 70 61 0D 0A 1A 00 used'...>pa....
0001C0: 3E 81 00 3A 04 70 72 6F 64 75 63 65 20 74 68 65 >..:.produce the
0001D0: 20 65 72 72 6F 72 20 6D 65 73 73 61 67 65 20 27 error message '
0001E0: 64 79 6E 61 6D 69 63 20 66 72 65 65 20 76 61 72 dynamic free var
0001F0: 69 61 62 6C 65 20 75 73 65 64 27 2E 0D 0A 3E 70 iable used'...>p
Size : 512 (Real : 512)
000000: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000010: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000020: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000030: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000040: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000050: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000060: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000070: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000080: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000090: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0000A0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0000B0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0000C0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0000D0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0000E0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0000F0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000100: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000110: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000120: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000130: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000140: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000150: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000160: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000170: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000180: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000190: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0001A0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0001B0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0001C0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0001D0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0001E0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0001F0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
Size : 512 (Real : 512)
000000: 00 42 43 50 4C 4D 32 20 20 20 20 20 00 00 00 00 .BCPLM2 ....
000010: 00 00 0A 00 00 C6 06 00 2F 83 00 00 00 00 00 00 ......../.......
000020: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
000030: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
000040: 2F 83 00 7A 04 68 69 73 20 77 69 6C 6C 20 73 75 /..z.his will su
000050: 62 73 74 69 74 75 74 65 20 61 20 64 75 6D 6D 79 bstitute a dummy
000060: 20 0D 8A 72 6F 75 74 69 6E 65 2E 0D 0A 0D 0A 3E ..routine.....>
000070: 70 61 0D 0A 1A 00 00 00 00 00 00 00 00 00 00 00 pa..............
000080: 3E 2D 2D 2D 21 2D 2D 2D 2D 2D 21 2D 2D 2D 2D 2D >---!-----!-----
000090: 21 2D 2D 2D 2D 2D 2D 2D 21 2D 2D 2D 2D 2D 2D 2D !-------!-------
0000A0: 21 2D 2D 2D 2D 2D 2D 2D 21 2D 2D 2D 2D 2D 2D 2D !-------!-------
0000B0: 21 2D 2D 2D 2D 2D 2D 2D 21 2D 2D 2D 2D 2D 2D 2D !-------!-------
0000C0: 21 2D 2D 2D 2D 52 0D 0A 3E 70 6E 20 32 32 0D 0A !----R..>pn 22..
0000D0: 3E 74 6D 20 33 0D 0A 3E 62 6D 20 31 31 0D 0A 3E >tm 3..>bm 11..>
0000E0: 68 6D 20 30 0D 0A 3E 66 6D 20 32 0D 0A 3E 66 6F hm 0..>fm 2..>fo
0000F0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
000100: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
000110: 20 20 25 0D 0A 3E 2D 2D 2D 2D 2D 4C 2D 2D 2D 21 %..>-----L---!
000120: 2D 2D 2D 2D 2D 2D 2D 21 2D 2D 2D 2D 2D 2D 2D 21 -------!-------!
000130: 2D 2D 2D 2D 2D 2D 2D 21 2D 2D 2D 2D 2D 2D 2D 21 -------!-------!
000140: 2D 2D 2D 2D 2D 2D 2D 21 2D 2D 2D 2D 2D 2D 2D 21 -------!-------!
000150: 2D 2D 2D 2D 2D 2D 2D 21 2D 2D 52 0D 0A E2 44 65 -------!--R...De
000160: 63 6C 61 72 61 74 69 6F 6E 73 E2 0D 0A 0D 0A 54 clarations.....T
000170: 68 65 20 4C 45 54 20 64 65 63 6C 61 72 61 74 69 he LET declarati
000180: 6F 6E 0D 0A 0D 0A 09 41 6C 6C 20 76 61 72 69 61 on.....All varia
000190: 62 6C 65 73 20 61 6E 64 20 72 6F 75 74 69 6E 65 bles and routine
0001A0: 73 20 6D 75 73 74 90 20 62 65 90 20 64 65 63 6C s must. be. decl
0001B0: 61 72 65 64 20 62 65 66 6F 72 65 20 74 68 65 79 ared before they
0001C0: 20 63 61 6E 20 62 65 20 0D 8A 09 75 73 65 64 2E can be ...used.
0001D0: 20 54 68 65 72 65 20 61 72 65 20 73 65 76 65 72 There are sever
0001E0: 61 6C 20 66 6F 72 6D 73 20 6F 66 20 64 65 63 6C al forms of decl
0001F0: 61 72 61 74 69 6F 6E 3A 0D 0A 0D 0A 09 4C 45 54 aration:.....LET
Size : 512 (Real : 512)
000000: 20 76 61 72 69 61 62 6C 65 20 3D 20 3C 65 78 70 variable = <exp
000010: 72 65 73 73 69 6F 6E 3E 0D 0A 0D 0A 09 54 68 69 ression>.....Thi
000020: 73 20 64 65 66 69 6E 65 73 20 61 20 76 61 72 69 s defines a vari
000030: 61 62 6C 65 20 61 6E 64 90 20 67 69 76 65 73 90 able and. gives.
000040: 20 69 74 90 20 61 6E 90 20 69 6E 69 74 69 61 6C it. an. initial
000050: 20 76 61 6C 75 65 2E 20 49 66 20 6E 6F 20 0D 8A value. If no ..
000060: 09 69 6E 69 74 69 61 6C 20 76 61 6C 75 65 20 69 .initial value i
000070: 73 90 20 72 65 6C 65 76 61 6E 74 90 20 27 3F 27 s. relevant. '?'
000080: 90 20 6D 61 79 90 20 62 65 90 20 75 73 65 64 90 . may. be. used.
000090: 20 69 6E 90 20 70 6C 61 63 65 20 6F 66 20 74 68 in. place of th
0000A0: 65 20 0D 8A 09 65 78 70 72 65 73 73 69 6F 6E 2E e ...expression.
0000B0: 0D 0A 0D 0A 09 4C 45 54 20 61 72 72 61 79 20 3D .....LET array =
0000C0: 20 56 45 43 20 3C 63 6F 6E 73 74 61 6E 74 3E 0D VEC <constant>.
0000D0: 0A 0D 0A 09 54 68 69 73 20 63 72 65 61 74 65 73 ....This creates
0000E0: 20 61 20 76 65 63 74 6F 72 20 77 69 74 68 90 20 a vector with.
0000F0: 74 68 65 90 20 76 61 72 69 61 62 6C 65 20 27 61 the. variable 'a
000100: 72 72 61 79 27 20 63 6F 6E 74 61 69 6E 69 6E 67 rray' containing
000110: 20 74 68 65 20 0D 8A 09 61 64 64 72 65 73 73 20 the ...address
000120: 6F 66 20 74 68 65 20 76 65 63 74 6F 72 2E 0D 0A of the vector...
000130: 0D 0A 0D 0A 50 72 6F 63 65 64 75 72 65 73 0D 0A ....Procedures..
000140: 0D 0A 09 4C 45 54 20 70 72 6F 63 28 70 31 2C 20 ...LET proc(p1,
000150: 70 32 2C 20 2E 2E 2E 29 20 3D 20 3C 65 78 70 72 p2, ...) = <expr
000160: 65 73 73 69 6F 6E 3E 0D 0A 09 4C 45 54 20 70 72 ession>...LET pr
000170: 6F 63 28 70 31 2C 20 70 32 2C 20 2E 2E 2E 29 20 oc(p1, p2, ...)
000180: 42 45 20 3C 63 6F 6D 6D 61 6E 64 3E 0D 0A 0D 0A BE <command>....
000190: 09 54 68 65 73 65 20 64 65 66 69 6E 65 20 61 20 .These define a
0001A0: 70 72 6F 63 65 64 75 72 65 20 77 69 74 68 90 20 procedure with.
0001B0: 70 61 72 61 6D 65 74 65 72 73 90 20 70 31 2C 20 parameters. p1,
0001C0: 70 32 2C 2E 2E 2E 2E 20 54 68 65 20 66 69 72 73 p2,.... The firs
0001D0: 74 20 0D 8A 09 66 6F 72 6D 20 70 72 6F 76 69 64 t ...form provid
0001E0: 65 73 20 61 20 66 75 6E 63 74 69 6F 6E 2C 20 61 es a function, a
0001F0: 73 20 61 20 76 61 6C 75 65 20 69 73 20 72 65 74 s a value is ret
Size : 512 (Real : 512)
000000: 75 72 6E 65 64 2E 20 54 68 65 20 65 78 70 72 65 urned. The expre
000010: 73 73 69 6F 6E 20 0D 8A 09 69 73 20 6F 66 74 65 ssion ...is ofte
000020: 6E 20 61 20 56 41 4C 4F 46 20 63 6C 61 75 73 65 n a VALOF clause
000030: 2E 20 54 68 69 73 20 74 61 6B 65 73 20 74 68 65 . This takes the
000040: 20 66 6F 6C 6C 6F 77 69 6E 67 20 66 6F 72 6D 3A following form:
000050: 0D 0A 0D 0A 09 56 41 4C 4F 46 20 3C 63 6F 6D 6D .....VALOF <comm
000060: 61 6E 64 3E 0D 0A 0D 0A 09 54 68 65 20 63 6F 6D and>.....The com
000070: 6D 61 6E 64 20 69 73 20 75 73 75 61 6C 6C 79 20 mand is usually
000080: 61 20 63 6F 6D 70 6F 75 6E 64 90 20 63 6F 6D 6D a compound. comm
000090: 61 6E 64 20 77 68 69 63 68 20 63 6F 6E 74 61 69 and which contai
0000A0: 6E 73 20 6F 6E 65 20 6F 72 20 0D 8A 09 6D 6F 72 ns one or ...mor
0000B0: 65 20 52 45 53 55 4C 54 49 53 20 63 6F 6D 6D 61 e RESULTIS comma
0000C0: 6E 64 73 3A 0D 0A 0D 0A 09 52 45 53 55 4C 54 49 nds:.....RESULTI
0000D0: 53 20 3C 65 78 70 72 65 73 73 69 6F 6E 3E 0D 0A S <expression>..
0000E0: 0D 0A 09 57 68 65 6E 20 61 90 20 52 45 53 55 4C ...When a. RESUL
0000F0: 54 49 53 90 20 63 6F 6D 6D 61 6E 64 90 20 69 73 TIS. command. is
000100: 90 20 65 78 65 63 75 74 65 64 90 20 74 68 65 90 . executed. the.
000110: 20 56 41 4C 4F 46 90 20 63 6F 6D 6D 61 6E 64 20 VALOF. command
000120: 68 61 73 20 0D 8A 09 66 69 6E 69 73 68 65 64 20 has ...finished
000130: 61 6E 64 20 74 68 65 20 76 61 6C 75 65 20 6F 66 and the value of
000140: 20 74 68 65 20 65 78 70 72 65 73 73 69 6F 6E 20 the expression
000150: 69 73 20 72 65 74 75 72 6E 65 64 2E 0D 0A 0D 0A is returned.....
000160: 09 54 68 65 20 73 65 63 6F 6E 64 20 66 6F 72 6D .The second form
000170: 20 6F 66 20 74 68 65 90 20 70 72 6F 63 65 64 75 of the. procedu
000180: 72 65 20 64 65 63 6C 61 72 61 74 69 6F 6E 20 64 re declaration d
000190: 65 66 69 6E 65 73 20 61 20 72 6F 75 74 69 6E 65 efines a routine
0001A0: 2E 20 0D 8A 09 4E 6F 20 76 61 6C 75 65 20 69 73 . ...No value is
0001B0: 20 72 65 74 75 72 6E 65 64 2E 0D 0A 0D 0A 09 45 returned......E
0001C0: 69 74 68 65 72 20 66 6F 72 6D 20 6F 66 20 70 72 ither form of pr
0001D0: 6F 63 65 64 75 72 65 20 69 73 20 69 6E 76 6F 6B ocedure is invok
0001E0: 65 64 20 62 79 20 61 20 63 6F 6D 6D 61 6E 64 3A ed by a command:
0001F0: 0D 0A 0D 0A 09 70 72 6F 63 28 61 2C 62 2C 2E 2E .....proc(a,b,..
Size : 512 (Real : 512)
000000: 2E 29 0D 0A 0D 0A 09 41 20 66 75 6E 63 74 69 6F .).....A functio
000010: 6E 20 63 61 6C 6C 20 63 61 6E 20 61 70 70 65 61 n call can appea
000020: 72 20 69 6E 20 61 6E 20 65 78 70 72 65 73 73 69 r in an expressi
000030: 6F 6E 2E 0D 0A 0D 0A 3E 70 61 0D 0A 4F 74 68 65 on.....>pa..Othe
000040: 72 20 64 65 63 6C 61 72 61 74 69 6F 6E 73 0D 0A r declarations..
000050: 09 0D 0A 09 47 4C 4F 42 41 4C 20 24 28 20 76 61 ....GLOBAL $( va
000060: 72 31 20 3A 20 63 31 20 3B 20 76 61 72 32 20 3A r1 : c1 ; var2 :
000070: 20 63 32 20 3B 20 2E 2E 2E 20 24 29 0D 0A 09 53 c2 ; ... $)...S
000080: 54 41 54 49 43 20 24 28 20 76 61 72 31 3D 76 61 TATIC $( var1=va
000090: 6C 31 20 3B 20 76 61 72 32 3D 76 61 6C 32 20 3B l1 ; var2=val2 ;
0000A0: 20 2E 2E 2E 20 24 29 0D 0A 09 0D 0A 09 44 79 6E ... $)......Dyn
0000B0: 61 6D 69 63 90 20 76 61 72 69 61 62 6C 65 73 90 amic. variables.
0000C0: 20 28 74 68 6F 73 65 90 20 64 65 66 69 6E 65 64 (those. defined
0000D0: 90 20 77 69 74 68 90 90 20 4C 45 54 29 90 20 6F . with.. LET). o
0000E0: 6E 6C 79 90 20 68 61 76 65 90 20 61 6E 20 0D 8A nly. have. an ..
0000F0: 09 61 6C 6C 6F 63 61 74 65 64 20 61 72 65 61 20 .allocated area
000100: 6F 66 20 6D 65 6D 6F 72 79 20 77 68 65 6E 90 20 of memory when.
000110: 74 68 65 79 90 20 61 72 65 20 77 69 74 68 69 6E they. are within
000120: 20 73 63 6F 70 65 2E 20 56 61 72 69 61 62 6C 65 scope. Variable
000130: 73 20 0D 8A 09 64 65 66 69 6E 65 64 20 77 69 74 s ...defined wit
000140: 68 20 47 4C 4F 42 41 4C 20 6F 72 20 53 54 41 54 h GLOBAL or STAT
000150: 49 43 90 20 68 61 76 65 20 61 20 70 65 72 6D 61 IC. have a perma
000160: 6E 65 6E 74 6C 79 20 61 6C 6C 6F 63 61 74 65 64 nently allocated
000170: 20 77 6F 72 64 20 0D 8A 09 6F 66 20 6D 65 6D 6F word ...of memo
000180: 72 79 2E 20 54 68 65 20 53 54 41 54 49 43 20 64 ry. The STATIC d
000190: 65 63 6C 61 72 61 74 69 6F 6E 20 61 6C 6C 6F 77 eclaration allow
0001A0: 73 90 20 61 6E 20 69 6E 69 74 69 61 6C 20 76 61 s. an initial va
0001B0: 6C 75 65 20 74 6F 20 62 65 20 0D 8A 09 73 65 74 lue to be ...set
0001C0: 2E 20 54 68 65 20 47 4C 4F 42 41 4C 20 64 65 63 . The GLOBAL dec
0001D0: 6C 61 72 61 74 69 6F 6E 20 69 73 90 20 72 65 64 laration is. red
0001E0: 75 6E 64 61 6E 74 20 69 6E 20 74 68 69 73 20 69 undant in this i
0001F0: 6D 70 6C 65 6D 65 6E 74 61 74 69 6F 6E 20 0D 8A mplementation ..
Size : 512 (Real : 512)
000000: 09 61 73 20 69 74 20 69 73 20 75 73 65 64 90 20 .as it is used.
000010: 77 68 65 6E 90 20 73 65 70 61 72 61 74 65 90 20 when. separate.
000020: 63 6F 6D 70 69 6C 61 74 69 6F 6E 90 20 69 73 90 compilation. is.
000030: 20 61 76 61 69 6C 61 62 6C 65 2E 20 49 74 20 69 available. It i
000040: 73 20 0D 8A 09 69 6E 63 6C 75 64 65 64 20 66 6F s ...included fo
000050: 72 20 63 6F 6D 70 61 74 69 62 69 6C 69 74 79 20 r compatibility
000060: 77 69 74 68 20 6F 74 68 65 72 20 42 43 50 4C 20 with other BCPL
000070: 63 6F 6D 70 69 6C 65 72 73 2E 0D 0A 0D 0A 09 41 compilers......A
000080: 20 67 6C 6F 62 61 6C 20 76 65 63 74 6F 72 20 63 global vector c
000090: 61 6E 20 62 65 20 64 65 66 69 6E 65 64 20 61 73 an be defined as
0000A0: 20 66 6F 6C 6C 6F 77 73 2E 20 44 65 63 6C 61 72 follows. Declar
0000B0: 65 20 74 68 65 20 6E 61 6D 65 20 6F 66 20 74 68 e the name of th
0000C0: 65 20 0D 8A 09 76 65 63 74 6F 72 20 61 73 20 61 e ...vector as a
0000D0: 20 73 74 61 74 69 63 90 20 76 61 72 69 61 62 6C static. variabl
0000E0: 65 2C 90 20 74 68 65 6E 90 20 64 65 63 6C 61 72 e,. then. declar
0000F0: 65 90 20 61 90 20 64 75 6D 6D 79 20 76 65 63 74 e. a. dummy vect
000100: 6F 72 20 69 6E 20 0D 8A 09 27 73 74 61 72 74 27 or in ...'start'
000110: 20 61 6E 64 20 61 73 73 69 67 6E 20 74 68 69 73 and assign this
000120: 90 20 74 6F 90 20 74 68 65 90 20 73 74 61 74 69 . to. the. stati
000130: 63 90 20 76 61 72 69 61 62 6C 65 2E 20 54 68 69 c. variable. Thi
000140: 73 20 65 6E 73 75 72 65 73 20 0D 8A 09 74 68 61 s ensures ...tha
000150: 74 20 74 68 65 20 76 65 63 74 6F 72 20 69 73 20 t the vector is
000160: 69 6E 20 73 63 6F 70 65 20 74 68 72 6F 75 67 68 in scope through
000170: 6F 75 74 20 74 68 65 20 70 72 6F 67 72 61 6D 2E out the program.
000180: 0D 0A 0D 0A 09 45 78 61 6D 70 6C 65 3A 0D 0A 09 .....Example:...
000190: 09 09 53 54 41 54 49 43 20 24 28 20 65 72 72 6C ..STATIC $( errl
0001A0: 65 76 3D 30 20 24 29 0D 0A 09 09 09 4C 45 54 20 ev=0 $).....LET
0001B0: 73 74 61 72 74 28 29 20 42 45 0D 0A 09 09 09 24 start() BE.....$
0001C0: 28 0D 0A 09 09 09 20 20 4C 45 54 20 65 72 72 76 (..... LET errv
0001D0: 65 63 3D 56 45 43 20 33 0D 0A 09 09 09 20 20 65 ec=VEC 3..... e
0001E0: 72 72 6C 65 76 20 3A 3D 20 65 72 72 76 65 63 0D rrlev := errvec.
0001F0: 0A 09 09 09 20 20 2E 2E 2E 0D 0A 0D 0A 09 4D 41 .... ........MA
Size : 512 (Real : 512)
000000: 4E 49 46 45 53 54 20 24 28 20 6E 61 6D 65 31 3D NIFEST $( name1=
000010: 76 61 6C 31 20 3B 20 6E 61 6D 65 32 3D 76 61 6C val1 ; name2=val
000020: 32 20 3B 20 2E 2E 2E 20 24 29 0D 0A 0D 0A 09 54 2 ; ... $).....T
000030: 68 65 20 4D 41 4E 49 46 45 53 54 20 64 65 63 6C he MANIFEST decl
000040: 61 72 61 74 69 6F 6E 20 61 74 74 61 63 68 65 73 aration attaches
000050: 20 61 90 20 6E 61 6D 65 90 20 74 6F 90 20 61 20 a. name. to. a
000060: 63 6F 6E 73 74 61 6E 74 2E 20 49 74 20 69 73 20 constant. It is
000070: 0D 8A 09 6E 6F 74 20 61 20 76 61 72 69 61 62 6C ...not a variabl
000080: 65 90 20 61 6E 64 90 20 73 68 6F 75 6C 64 90 20 e. and. should.
000090: 62 65 90 20 75 73 65 64 90 20 6C 69 62 65 72 61 be. used. libera
0000A0: 6C 6C 79 90 20 77 69 74 68 69 6E 90 20 61 20 42 lly. within. a B
0000B0: 43 50 4C 20 0D 8A 09 70 72 6F 67 72 61 6D 20 74 CPL ...program t
0000C0: 6F 20 61 69 64 20 72 65 61 64 61 62 69 6C 69 74 o aid readabilit
0000D0: 79 2C 20 61 6E 64 90 20 74 6F 90 20 65 6E 61 62 y, and. to. enab
0000E0: 6C 65 90 20 63 6F 6E 73 74 61 6E 74 73 20 75 73 le. constants us
0000F0: 65 64 20 62 79 20 61 20 0D 8A 09 70 72 6F 67 72 ed by a ...progr
000100: 61 6D 20 74 6F 20 62 65 20 65 61 73 69 6C 79 20 am to be easily
000110: 63 68 61 6E 67 65 64 20 69 66 20 6E 65 63 65 73 changed if neces
000120: 73 61 72 79 2E 0D 0A 0D 0A 0D 0A 53 69 6D 75 6C sary.......Simul
000130: 74 61 6E 65 6F 75 73 20 64 65 63 6C 61 72 61 74 taneous declarat
000140: 69 6F 6E 73 0D 0A 0D 0A 09 41 90 20 4C 45 54 90 ions.....A. LET.
000150: 20 64 65 63 6C 61 72 61 74 69 6F 6E 90 20 6D 61 declaration. ma
000160: 79 90 20 62 65 90 20 66 6F 6C 6C 6F 77 65 64 90 y. be. followed.
000170: 20 62 79 90 20 61 6E 79 90 20 6E 75 6D 62 65 72 by. any. number
000180: 90 20 6F 66 90 20 41 4E 44 20 0D 8A 09 64 65 63 . of. AND ...dec
000190: 6C 61 72 61 74 69 6F 6E 73 2E 20 41 6C 6C 20 74 larations. All t
0001A0: 68 65 73 65 20 64 65 63 6C 61 72 61 74 69 6F 6E hese declaration
0001B0: 73 20 61 72 65 90 20 63 6F 6E 73 69 64 65 72 65 s are. considere
0001C0: 64 20 61 73 20 61 20 73 69 6E 67 6C 65 20 0D 8A d as a single ..
0001D0: 09 64 65 63 6C 61 72 61 74 69 6F 6E 20 66 6F 72 .declaration for
0001E0: 90 20 74 68 65 90 20 70 75 72 70 6F 73 65 73 90 . the. purposes.
0001F0: 20 6F 66 90 20 73 63 6F 70 65 90 20 6F 66 90 20 of. scope. of.
Size : 512 (Real : 512)
000000: 69 64 65 6E 74 69 66 69 65 72 73 2E 20 54 68 69 identifiers. Thi
000010: 73 20 0D 8A 09 61 6C 6C 6F 77 73 20 6D 75 74 75 s ...allows mutu
000020: 61 6C 6C 79 20 72 65 63 75 72 73 69 76 65 20 70 ally recursive p
000030: 72 6F 63 65 64 75 72 65 73 3A 0D 0A 0D 0A 09 4C rocedures:.....L
000040: 45 54 20 70 72 6F 63 31 28 2E 2E 2E 29 20 42 45 ET proc1(...) BE
000050: 20 0D 0A 09 24 28 0D 0A 09 2E 2E 2E 20 70 72 6F ...$(...... pro
000060: 63 32 28 2E 2E 2E 29 20 2E 2E 2E 0D 0A 09 24 29 c2(...) ......$)
000070: 0D 0A 0D 0A 09 41 4E 44 20 70 72 6F 63 32 28 2E .....AND proc2(.
000080: 2E 2E 29 20 42 45 0D 0A 09 24 28 20 0D 0A 09 2E ..) BE...$( ....
000090: 2E 2E 20 70 72 6F 63 31 28 2E 2E 2E 29 20 2E 2E .. proc1(...) ..
0000A0: 2E 0D 0A 09 24 29 0D 0A 3E 70 61 0D 0A E2 53 74 ....$)..>pa...St
0000B0: 72 69 6E 67 73 E2 0D 0A 0D 0A 09 53 74 72 69 6E rings......Strin
0000C0: 67 73 20 61 72 65 20 73 74 6F 72 65 64 20 61 73 gs are stored as
0000D0: 20 66 6F 6C 6C 6F 77 73 3A 0D 0A 0D 0A 09 4F 6E follows:.....On
0000E0: 65 20 62 79 74 65 20 62 65 69 6E 67 20 74 68 65 e byte being the
0000F0: 20 6C 65 6E 67 74 68 20 6F 66 20 74 68 65 20 73 length of the s
000100: 74 72 69 6E 67 0D 0A 09 54 68 65 20 73 74 72 69 tring...The stri
000110: 6E 67 2C 20 6F 6E 65 20 63 68 61 72 61 63 74 65 ng, one characte
000120: 72 20 70 65 72 20 62 79 74 65 0D 0A 0D 0A 09 53 r per byte.....S
000130: 69 6E 63 65 20 42 43 50 4C 20 77 6F 72 6B 73 20 ince BCPL works
000140: 77 69 74 68 20 31 36 20 62 69 74 20 77 6F 72 64 with 16 bit word
000150: 73 90 20 61 20 73 70 65 63 69 61 6C 20 6D 65 61 s. a special mea
000160: 6E 73 20 69 73 20 6E 65 65 64 65 64 20 74 6F 20 ns is needed to
000170: 0D 8A 09 61 63 63 65 73 73 20 74 68 65 90 20 69 ...access the. i
000180: 6E 64 69 76 69 64 75 61 6C 90 20 63 68 61 72 61 ndividual. chara
000190: 63 74 65 72 73 90 20 6F 66 90 20 61 90 20 73 74 cters. of. a. st
0001A0: 72 69 6E 67 2E 90 20 54 68 69 73 90 20 69 73 20 ring.. This. is
0001B0: 74 68 65 20 0D 8A 09 69 6E 66 69 78 65 64 20 62 the ...infixed b
0001C0: 79 74 65 20 6F 70 65 72 61 74 6F 72 20 27 25 27 yte operator '%'
0001D0: 2E 90 20 54 6F 90 20 61 63 63 65 73 73 90 20 74 .. To. access. t
0001E0: 68 65 90 20 6E 74 68 90 20 63 68 61 72 61 63 74 he. nth. charact
0001F0: 65 72 20 6F 66 20 61 20 0D 8A 09 73 74 72 69 6E er of a ...strin
Size : 512 (Real : 512)
000000: 67 20 75 73 65 20 3A 20 20 20 73 74 72 69 6E 67 g use : string
000010: 25 6E 0D 0A 09 54 6F 20 61 63 63 65 73 73 20 74 %n...To access t
000020: 68 65 20 6C 65 6E 67 74 68 20 6F 66 20 61 20 73 he length of a s
000030: 74 72 69 6E 67 20 75 73 65 20 3A 20 73 74 72 69 tring use : stri
000040: 6E 67 25 30 0D 0A 09 54 68 65 73 65 20 63 61 6E ng%0...These can
000050: 90 20 62 65 90 20 72 65 61 64 90 20 61 6E 64 90 . be. read. and.
000060: 20 77 72 69 74 74 65 6E 90 20 74 6F 2C 90 20 61 written. to,. a
000070: 6C 6C 6F 77 69 6E 67 90 20 73 74 72 69 6E 67 73 llowing. strings
000080: 90 20 74 6F 20 62 65 20 0D 8A 09 6D 61 6E 69 70 . to be ...manip
000090: 75 6C 61 74 65 64 20 69 6E 20 61 6E 79 20 64 65 ulated in any de
0000A0: 73 69 72 65 64 20 6D 61 6E 6E 65 72 2E 0D 0A 0D sired manner....
0000B0: 0A 0D 0A E2 54 72 61 6E 73 66 65 72 20 6F 66 20 ....Transfer of
0000C0: 63 6F 6E 74 72 6F 6C E2 0D 0A 0D 0A 09 46 49 4E control......FIN
0000D0: 49 53 48 0D 0A 0D 0A 09 54 68 69 73 20 63 61 75 ISH.....This cau
0000E0: 73 65 73 20 65 78 65 63 75 74 69 6F 6E 20 6F 66 ses execution of
0000F0: 20 74 68 65 20 70 72 6F 67 72 61 6D 20 74 6F 20 the program to
000100: 73 74 6F 70 2E 0D 0A 0D 0A 09 52 45 54 55 52 4E stop......RETURN
000110: 0D 0A 0D 0A 09 43 6F 6E 74 72 6F 6C 20 72 65 74 .....Control ret
000120: 75 72 6E 73 20 74 6F 20 74 68 65 20 63 61 6C 6C urns to the call
000130: 69 6E 67 20 72 6F 75 74 69 6E 65 2E 0D 0A 0D 0A ing routine.....
000140: 09 42 52 45 41 4B 0D 0A 0D 0A 09 55 73 65 64 90 .BREAK.....Used.
000150: 20 77 69 74 68 69 6E 90 20 61 90 20 72 65 70 65 within. a. repe
000160: 74 69 74 69 76 65 90 90 20 63 6F 6D 6D 61 6E 64 titive.. command
000170: 90 90 20 28 55 4E 54 49 4C 2C 90 20 57 48 49 4C .. (UNTIL,. WHIL
000180: 45 2C 90 20 52 45 50 45 41 54 2C 20 0D 8A 09 52 E,. REPEAT, ...R
000190: 45 50 45 41 54 55 4E 54 49 4C 2C 20 52 45 50 45 EPEATUNTIL, REPE
0001A0: 41 54 57 48 49 4C 45 2C 20 6F 72 20 46 4F 52 29 ATWHILE, or FOR)
0001B0: 20 69 74 90 20 63 61 75 73 65 73 20 65 78 65 63 it. causes exec
0001C0: 75 74 69 6F 6E 20 74 6F 20 72 65 73 75 6D 65 20 ution to resume
0001D0: 0D 8A 09 61 74 20 74 68 65 20 66 69 72 73 74 20 ...at the first
0001E0: 63 6F 6D 6D 61 6E 64 20 61 66 74 65 72 20 74 68 command after th
0001F0: 65 20 72 65 70 65 74 69 74 69 76 65 20 63 6F 6D e repetitive com
Size : 512 (Real : 512)
000000: 6D 61 6E 64 2E 0D 0A 0D 0A 09 4C 4F 4F 50 0D 0A mand......LOOP..
000010: 0D 0A 09 43 6F 6E 74 72 6F 6C 90 20 70 61 73 73 ...Control. pass
000020: 65 73 90 20 74 6F 90 20 74 68 65 90 20 70 6F 69 es. to. the. poi
000030: 6E 74 90 20 77 68 65 72 65 90 20 74 68 65 90 20 nt. where. the.
000040: 72 65 70 65 74 69 74 69 76 65 90 20 63 6F 6D 6D repetitive. comm
000050: 61 6E 64 20 0D 8A 09 63 6F 6E 64 69 74 69 6F 6E and ...condition
000060: 20 69 73 20 74 65 73 74 65 64 2E 20 46 6F 72 90 is tested. For.
000070: 20 61 90 20 46 4F 52 90 20 63 6F 6D 6D 61 6E 64 a. FOR. command
000080: 90 20 63 6F 6E 74 72 6F 6C 20 70 61 73 73 65 73 . control passes
000090: 20 74 6F 20 74 68 65 20 0D 8A 09 70 6F 69 6E 74 to the ...point
0000A0: 20 77 68 65 72 65 20 74 68 65 20 63 6F 6E 74 72 where the contr
0000B0: 6F 6C 20 76 61 72 69 61 62 6C 65 20 69 73 20 69 ol variable is i
0000C0: 6E 63 72 65 6D 65 6E 74 65 64 2E 0D 0A 0D 0A 09 ncremented......
0000D0: 45 4E 44 43 41 53 45 0D 0A 0D 0A 09 43 6F 6E 74 ENDCASE.....Cont
0000E0: 72 6F 6C 20 70 61 73 73 65 73 20 74 6F 20 74 68 rol passes to th
0000F0: 65 90 20 63 6F 6D 6D 61 6E 64 90 20 61 66 74 65 e. command. afte
000100: 72 90 20 74 68 65 90 20 65 6E 64 90 20 6F 66 20 r. the. end. of
000110: 74 68 65 20 53 57 49 54 43 48 49 4E 20 0D 8A 09 the SWITCHIN ...
000120: 63 6F 6D 70 6F 75 6E 64 20 63 6F 6D 6D 61 6E 64 compound command
000130: 2E 0D 0A 0D 0A 09 47 4F 54 4F 20 3C 65 78 70 72 ......GOTO <expr
000140: 65 73 73 69 6F 6E 3E 0D 0A 0D 0A 09 52 61 72 65 ession>.....Rare
000150: 6C 79 90 20 72 65 71 75 69 72 65 64 90 20 69 6E ly. required. in
000160: 90 20 42 43 50 4C 2C 90 20 74 68 65 90 90 20 47 . BCPL,. the.. G
000170: 4F 54 4F 90 20 63 6F 6D 6D 61 6E 64 90 20 65 76 OTO. command. ev
000180: 61 6C 75 61 74 65 73 90 20 74 68 65 20 0D 8A 09 aluates. the ...
000190: 65 78 70 72 65 73 73 69 6F 6E 20 61 6E 64 20 6A expression and j
0001A0: 75 6D 70 73 20 74 6F 20 74 68 65 90 20 61 64 64 umps to the. add
0001B0: 72 65 73 73 20 6F 62 74 61 69 6E 65 64 2E 20 54 ress obtained. T
0001C0: 68 65 20 65 78 70 72 65 73 73 69 6F 6E 20 69 73 he expression is
0001D0: 20 0D 8A 09 75 73 75 61 6C 6C 79 20 61 20 6C 61 ...usually a la
0001E0: 62 65 6C 20 77 68 69 63 68 20 69 73 20 64 65 66 bel which is def
0001F0: 69 6E 65 64 20 62 79 20 62 65 69 6E 67 20 61 74 ined by being at
Size : 512 (Real : 512)
000000: 74 61 63 68 65 64 20 74 6F 20 61 20 63 6F 6D 6D tached to a comm
000010: 61 6E 64 2C 20 0D 8A 0D 0A 09 65 2E 67 2E 09 6C and, .....e.g..l
000020: 61 62 65 6C 6E 61 6D 65 3A 20 3C 63 6F 6D 6D 61 abelname: <comma
000030: 6E 64 3E 0D 0A 3E 70 61 09 0D 0A E2 43 6F 6D 6D nd>..>pa....Comm
000040: 65 6E 74 73 20 61 6E 64 20 6C 61 79 6F 75 74 20 ents and layout
000050: 6F 66 20 70 72 6F 67 72 61 6D 73 E2 0D 0A 0D 0A of programs.....
000060: 09 54 68 65 72 65 20 61 72 65 20 74 77 6F 20 77 .There are two w
000070: 61 79 73 20 6F 66 20 70 75 74 74 69 6E 67 20 63 ays of putting c
000080: 6F 6D 6D 65 6E 74 73 20 77 69 74 68 69 6E 20 42 omments within B
000090: 43 50 4C 20 70 72 6F 67 72 61 6D 73 2E 0D 0A 0D CPL programs....
0000A0: 0A 09 2F 2F 20 63 61 75 73 65 73 20 74 68 65 20 ..// causes the
0000B0: 72 65 6D 61 69 6E 64 65 72 20 6F 66 20 74 68 65 remainder of the
0000C0: 20 6C 69 6E 65 20 74 6F 20 62 65 20 69 67 6E 6F line to be igno
0000D0: 72 65 64 0D 0A 09 2F 2A 20 63 61 75 73 65 73 20 red.../* causes
0000E0: 61 6C 6C 20 74 65 78 74 20 74 6F 20 62 65 90 20 all text to be.
0000F0: 69 67 6E 6F 72 65 64 20 75 6E 74 69 6C 20 74 68 ignored until th
000100: 65 20 63 6F 6D 70 69 6C 65 72 20 72 65 61 63 68 e compiler reach
000110: 65 73 20 74 68 65 20 0D 8A 09 73 79 6D 62 6F 6C es the ...symbol
000120: 20 2A 2F 0D 0A 0D 0A 09 41 64 64 69 74 69 6F 6E */.....Addition
000130: 61 6C 6C 79 20 61 20 3E 90 20 69 6E 90 20 63 6F ally a >. in. co
000140: 6C 75 6D 6E 90 20 31 90 20 63 61 75 73 65 73 90 lumn. 1. causes.
000150: 20 74 68 65 90 20 77 68 6F 6C 65 90 20 6C 69 6E the. whole. lin
000160: 65 90 20 74 6F 20 62 65 20 0D 8A 09 69 67 6E 6F e. to be ...igno
000170: 72 65 64 2E 20 54 68 75 73 20 50 52 4F 54 45 58 red. Thus PROTEX
000180: 54 20 73 74 6F 72 65 64 20 63 6F 6D 6D 61 6E 64 T stored command
000190: 73 20 61 72 65 20 69 67 6E 6F 72 65 64 2E 0D 0A s are ignored...
0001A0: 0D 0A 09 4D 75 6C 74 69 70 6C 65 20 63 6F 6D 6D ...Multiple comm
0001B0: 61 6E 64 20 6C 69 6E 65 73 20 61 72 65 90 20 61 and lines are. a
0001C0: 6C 6C 6F 77 65 64 2E 90 20 43 6F 6D 6D 61 6E 64 llowed.. Command
0001D0: 73 20 6D 75 73 74 20 62 65 20 73 65 70 61 72 61 s must be separa
0001E0: 74 65 64 20 0D 8A 09 62 79 20 61 20 73 65 6D 69 ted ...by a semi
0001F0: 63 6F 6C 6F 6E 20 28 3B 29 20 69 66 20 74 68 65 colon (;) if the
Size : 512 (Real : 512)
000000: 72 65 20 77 6F 75 6C 64 20 6F 74 68 65 72 77 69 re would otherwi
000010: 73 65 20 62 65 20 61 6E 20 61 6E 20 61 6D 62 69 se be an an ambi
000020: 67 75 69 74 79 2E 0D 0A 0D 0A 09 42 6C 61 6E 6B guity......Blank
000030: 20 6C 69 6E 65 73 90 20 61 6E 64 90 20 73 70 61 lines. and. spa
000040: 63 65 73 90 20 61 72 65 90 20 69 67 6E 6F 72 65 ces. are. ignore
000050: 64 90 20 65 78 63 65 70 74 90 20 77 68 65 72 65 d. except. where
000060: 90 20 74 68 65 79 90 20 61 72 65 20 0D 8A 09 72 . they. are ...r
000070: 65 71 75 69 72 65 64 20 74 6F 90 20 73 65 70 61 equired to. sepa
000080: 72 61 74 65 90 20 69 74 65 6D 73 2E 90 20 50 52 rate. items.. PR
000090: 4F 54 45 58 54 90 20 73 6F 66 74 90 20 73 70 61 OTEXT. soft. spa
0000A0: 63 65 73 2C 90 20 73 6F 66 74 20 6C 69 6E 65 20 ces,. soft line
0000B0: 0D 8A 09 66 65 65 64 73 2C 20 61 6E 64 20 6D 61 ...feeds, and ma
0000C0: 72 6B 65 72 73 20 61 72 65 20 69 67 6E 6F 72 65 rkers are ignore
0000D0: 64 2E 0D 0A 3E 70 61 0D 0A 3E 2D 2D 2D 21 2D 2D d...>pa..>---!--
0000E0: 2D 2D 2D 21 2D 2D 2D 2D 2D 21 2D 2D 2D 2D 2D 2D ---!-----!------
0000F0: 2D 21 2D 2D 2D 2D 2D 2D 2D 21 2D 2D 2D 2D 2D 2D -!-------!------
000100: 2D 21 2D 2D 2D 2D 2D 2D 2D 21 2D 2D 2D 2D 2D 2D -!-------!------
000110: 2D 21 2D 2D 2D 2D 2D 2D 2D 21 2D 2D 2D 2D 52 0D -!-------!----R.
000120: 0A 3E 63 65 20 20 20 20 20 20 20 20 20 20 20 20 .>ce
000130: 20 20 20 20 20 20 20 20 20 20 E2 38 2E 20 54 48 .8. TH
000140: 45 20 41 52 4E 4F 52 20 42 43 50 4C 20 4C 49 42 E ARNOR BCPL LIB
000150: 52 41 52 49 45 53 E2 0D 0A 0D 0A 0D 0A 09 54 68 RARIES........Th
000160: 65 20 6C 69 62 72 61 72 69 65 73 20 73 75 70 70 e libraries supp
000170: 6C 69 65 64 20 77 69 74 68 90 20 74 68 65 90 20 lied with. the.
000180: 63 6F 6D 70 69 6C 65 72 90 20 70 72 6F 76 69 64 compiler. provid
000190: 65 20 70 72 6F 63 65 64 75 72 65 73 20 66 6F 72 e procedures for
0001A0: 20 0D 8A 77 72 69 74 69 6E 67 20 74 6F 20 74 68 ..writing to th
0001B0: 65 20 73 63 72 65 65 6E 2C 20 70 72 69 6E 74 65 e screen, printe
0001C0: 72 20 6F 72 90 20 66 69 6C 65 73 20 61 6E 64 20 r or. files and
0001D0: 72 65 61 64 69 6E 67 20 66 72 6F 6D 20 74 68 65 reading from the
0001E0: 20 6B 65 79 62 6F 61 72 64 20 0D 8A 6F 72 20 66 keyboard ..or f
0001F0: 69 6C 65 73 2E 20 45 61 63 68 20 6F 66 20 74 68 iles. Each of th
Size : 512 (Real : 512)
000000: 65 73 65 20 70 72 6F 63 65 64 75 72 65 73 20 69 ese procedures i
000010: 73 20 64 65 73 63 72 69 62 65 64 20 62 65 6C 6F s described belo
000020: 77 2E 0D 0A 09 54 68 65 20 74 77 6F 20 76 65 72 w....The two ver
000030: 73 69 6F 6E 73 20 6F 66 20 74 68 65 90 20 63 6F sions of the. co
000040: 6D 70 69 6C 65 72 90 20 6E 65 65 64 20 64 69 66 mpiler. need dif
000050: 66 65 72 65 6E 74 20 6C 69 62 72 61 72 69 65 73 ferent libraries
000060: 20 77 68 69 63 68 2C 20 0D 8A 61 6C 74 68 6F 75 which, ..althou
000070: 67 68 20 74 68 65 79 20 6C 6F 6F 6B 20 74 68 65 gh they look the
000080: 20 73 61 6D 65 20 66 72 6F 6D 90 20 74 68 65 20 same from. the
000090: 6F 75 74 73 69 64 65 2C 20 68 61 76 65 20 64 69 outside, have di
0000A0: 66 66 65 72 65 6E 74 20 69 6E 74 65 72 6E 61 6C fferent internal
0000B0: 20 0D 8A 77 6F 72 6B 69 6E 67 73 20 64 65 74 65 ..workings dete
0000C0: 72 6D 69 6E 65 64 20 62 79 20 74 68 65 90 20 64 rmined by the. d
0000D0: 69 66 66 65 72 65 6E 74 90 20 6F 70 65 72 61 74 ifferent. operat
0000E0: 69 6E 67 90 20 73 79 73 74 65 6D 73 2E 20 54 68 ing. systems. Th
0000F0: 65 72 65 20 69 73 20 61 6E 20 0D 8A 61 64 64 69 ere is an ..addi
000100: 74 69 6F 6E 61 6C 20 41 4D 53 44 4F 53 90 20 6C tional AMSDOS. l
000110: 69 62 72 61 72 79 90 20 77 68 69 63 68 90 20 63 ibrary. which. c
000120: 6F 6E 74 61 69 6E 73 90 20 72 6F 75 74 69 6E 65 ontains. routine
000130: 73 90 20 77 68 69 63 68 90 20 61 72 65 20 6F 6E s. which. are on
000140: 6C 79 20 0D 8A 72 65 6C 65 76 61 6E 74 20 74 6F ly ..relevant to
000150: 20 74 68 65 20 43 50 43 20 6D 61 63 68 69 6E 65 the CPC machine
000160: 73 2E 0D 0A 0D 0A E2 4D 61 6E 69 66 65 73 74 20 s......Manifest
000170: 63 6F 6E 73 74 61 6E 74 73 20 64 65 66 69 6E 65 constants define
000180: 64 20 69 6E 20 74 68 65 20 6C 69 62 72 61 72 69 d in the librari
000190: 65 73 E2 0D 0A 0D 0A 09 54 68 65 73 65 20 73 68 es......These sh
0001A0: 6F 75 6C 64 20 62 65 90 20 75 73 65 64 90 20 77 ould be. used. w
0001B0: 68 65 72 65 90 20 61 70 70 72 6F 70 72 69 61 74 here. appropriat
0001C0: 65 90 20 74 6F 90 20 6D 61 6B 65 90 20 70 72 6F e. to. make. pro
0001D0: 67 72 61 6D 73 20 62 6F 74 68 20 0D 8A 72 65 61 grams both ..rea
0001E0: 64 61 62 6C 65 20 61 6E 64 20 70 6F 72 74 61 62 dable and portab
0001F0: 6C 65 2E 20 54 68 65 79 20 64 65 66 69 6E 65 20 le. They define
Size : 512 (Real : 512)
000000: 69 6D 70 6C 65 6D 65 6E 74 61 74 69 6F 6E 20 64 implementation d
000010: 65 70 65 6E 64 65 6E 74 20 63 6F 6E 73 74 61 6E ependent constan
000020: 74 73 2E 0D 0A 0D 0A 3E 2D 2D 2D 21 2D 2D 2D 2D ts.....>---!----
000030: 2D 21 2D 2D 2D 2D 2D 21 2D 2D 2D 2D 2D 2D 2D 4C -!-----!-------L
000040: 2D 2D 2D 2D 2D 2D 2D 21 2D 2D 2D 2D 2D 2D 2D 21 -------!-------!
000050: 2D 2D 2D 2D 2D 2D 2D 21 2D 2D 2D 2D 2D 2D 2D 21 -------!-------!
000060: 2D 2D 2D 2D 2D 2D 2D 21 2D 2D 2D 2D 52 0D 0A 6E -------!----R..n
000070: 61 6D 65 09 09 76 61 6C 75 65 20 20 20 6D 65 61 ame..value mea
000080: 6E 69 6E 67 20 61 6E 64 20 75 73 65 0D 0A 0D 0A ning and use....
000090: 62 69 74 73 70 65 72 77 6F 72 64 09 31 36 09 42 bitsperword.16.B
0000A0: 43 50 4C 20 77 6F 72 64 20 73 69 7A 65 2C 20 66 CPL word size, f
0000B0: 6F 72 20 70 72 6F 67 72 61 6D 20 70 6F 72 74 61 or program porta
0000C0: 62 69 6C 69 74 79 0D 0A 62 79 74 65 73 70 65 72 bility..bytesper
0000D0: 77 6F 72 64 09 32 09 42 43 50 4C 20 77 6F 72 64 word.2.BCPL word
0000E0: 20 73 69 7A 65 2C 20 66 6F 72 20 70 72 6F 67 72 size, for progr
0000F0: 61 6D 20 70 6F 72 74 61 62 69 6C 69 74 79 0D 0A am portability..
000100: 65 6E 64 73 74 72 65 61 6D 63 68 09 2D 2D 31 09 endstreamch.--1.
000110: 68 61 72 64 20 65 6E 64 20 6F 66 20 66 69 6C 65 hard end of file
000120: 20 63 68 61 72 61 63 74 65 72 0D 0A 6D 61 78 69 character..maxi
000130: 6E 74 09 09 33 32 37 36 37 09 74 68 65 20 6C 61 nt..32767.the la
000140: 72 67 65 73 74 20 70 6F 73 73 69 62 6C 65 20 69 rgest possible i
000150: 6E 74 65 67 65 72 0D 0A 6D 69 6E 69 6E 74 09 09 nteger..minint..
000160: 2D 2D 33 32 37 36 38 09 74 68 65 20 73 6D 61 6C --32768.the smal
000170: 6C 65 73 74 20 70 6F 73 73 69 62 6C 65 20 69 6E lest possible in
000180: 74 65 67 65 72 0D 0A 6E 65 77 6C 69 6E 65 63 68 teger..newlinech
000190: 09 09 32 36 39 09 74 68 65 20 6E 65 77 20 6C 69 ..269.the new li
0001A0: 6E 65 20 63 68 61 72 61 63 74 65 72 2C 90 20 2A ne character,. *
0001B0: 4E 2C 20 77 68 69 63 68 20 69 73 20 65 78 70 61 N, which is expa
0001C0: 6E 64 65 64 20 0D 8A 09 09 09 09 74 6F 20 63 61 nded ......to ca
0001D0: 72 72 69 61 67 65 20 72 65 74 75 72 6E 20 66 6F rriage return fo
0001E0: 6C 6C 6F 77 65 64 20 62 79 20 6C 69 6E 65 20 66 llowed by line f
0001F0: 65 65 64 0D 0A 70 72 69 6E 74 73 74 72 65 61 6D eed..printstream
Size : 512 (Real : 512)
000000: 09 31 09 73 74 72 65 61 6D 20 6E 75 6D 62 65 72 .1.stream number
000010: 20 74 6F 20 73 65 6C 65 63 74 20 6F 75 74 70 75 to select outpu
000020: 74 20 74 6F 20 70 72 69 6E 74 65 72 0D 0A 73 6F t to printer..so
000030: 66 74 65 6F 66 63 68 09 09 32 36 09 73 6F 66 74 fteofch..26.soft
000040: 20 65 6E 64 20 6F 66 20 66 69 6C 65 20 63 68 61 end of file cha
000050: 72 61 63 74 65 72 0D 0A 74 69 63 6B 73 70 65 72 racter..ticksper
000060: 73 65 63 09 33 30 30 09 6D 75 6C 74 69 70 6C 79 sec.300.multiply
000070: 20 74 68 65 20 76 61 6C 75 65 20 72 65 74 75 72 the value retur
000080: 6E 65 64 90 20 62 79 20 27 74 69 6D 65 27 20 62 ned. by 'time' b
000090: 79 20 74 68 69 73 20 0D 8A 09 09 09 09 74 6F 20 y this ......to
0000A0: 67 65 74 20 74 68 65 20 74 69 6D 65 20 69 6E 20 get the time in
0000B0: 73 65 63 6F 6E 64 73 2E 20 41 4D 53 44 4F 53 20 seconds. AMSDOS
0000C0: 6F 6E 6C 79 2E 0D 0A 76 64 75 73 74 72 65 61 6D only...vdustream
0000D0: 09 09 30 09 73 74 72 65 61 6D 20 6E 75 6D 62 65 ..0.stream numbe
0000E0: 72 20 74 6F 20 73 65 6C 65 63 74 20 73 63 72 65 r to select scre
0000F0: 65 6E 2F 6B 65 79 62 6F 61 72 64 0D 0A 0D 0A 0D en/keyboard.....
000100: 0A 3E 2D 2D 2D 21 2D 2D 2D 2D 2D 21 2D 2D 2D 2D .>---!-----!----
000110: 2D 4C 2D 2D 2D 2D 2D 2D 2D 21 2D 2D 2D 2D 2D 2D -L-------!------
000120: 2D 21 2D 2D 2D 2D 2D 2D 2D 21 2D 2D 2D 2D 2D 2D -!-------!------
000130: 2D 21 2D 2D 2D 2D 2D 2D 2D 21 2D 2D 2D 2D 2D 2D -!-------!------
000140: 2D 21 2D 2D 2D 2D 52 0D 0A E2 4B 65 79 20 74 6F -!----R...Key to
000150: 20 70 72 6F 63 65 64 75 72 65 20 64 65 73 63 72 procedure descr
000160: 69 70 74 69 6F 6E 73 3A E2 0D 0A 0D 0A 45 66 66 iptions:.....Eff
000170: 65 63 74 3A 20 09 09 62 72 69 65 66 20 65 78 70 ect: ..brief exp
000180: 6C 61 6E 61 74 69 6F 6E 20 6F 66 20 74 68 65 20 lanation of the
000190: 70 72 6F 63 65 64 75 72 65 0D 0A 52 65 74 75 72 procedure..Retur
0001A0: 6E 73 3A 09 09 64 65 74 61 69 6C 73 20 61 6E 79 ns:..details any
0001B0: 90 20 76 61 6C 75 65 90 20 72 65 74 75 72 6E 65 . value. returne
0001C0: 64 90 20 62 79 90 20 74 68 65 90 20 70 72 6F 63 d. by. the. proc
0001D0: 65 64 75 72 65 2E 90 20 41 6C 6C 20 0D 8A 09 09 edure.. All ....
0001E0: 09 6C 69 62 72 61 72 79 20 70 72 6F 63 65 64 75 .library procedu
0001F0: 72 65 73 20 6D 61 79 20 62 65 90 20 63 61 6C 6C res may be. call
Size : 512 (Real : 512)
000000: 65 64 20 61 73 20 72 6F 75 74 69 6E 65 73 2C 20 ed as routines,
000010: 77 68 65 74 68 65 72 20 0D 8A 09 09 09 6F 72 20 whether .....or
000020: 6E 6F 74 20 74 68 65 79 20 72 65 74 75 72 6E 20 not they return
000030: 61 20 76 61 6C 75 65 2E 20 4F 6E 6C 79 20 74 68 a value. Only th
000040: 6F 73 65 20 70 72 6F 63 65 64 75 72 65 73 20 74 ose procedures t
000050: 68 61 74 20 0D 8A 09 09 09 72 65 74 75 72 6E 20 hat .....return
000060: 61 20 76 61 6C 75 65 20 6D 61 79 20 62 65 20 63 a value may be c
000070: 61 6C 6C 65 64 90 20 61 73 20 61 20 66 75 6E 63 alled. as a func
000080: 74 69 6F 6E 2E 20 4E 6F 74 65 20 74 68 61 74 20 tion. Note that
000090: 0D 8A 09 09 09 73 65 76 65 72 61 6C 20 70 72 6F .....several pro
0000A0: 63 65 64 75 72 65 73 20 72 65 74 75 72 6E 20 76 cedures return v
0000B0: 61 6C 75 65 73 20 69 6E 20 61 20 73 75 70 70 6C alues in a suppl
0000C0: 69 65 64 20 76 65 63 74 6F 72 2C 20 0D 8A 09 09 ied vector, ....
0000D0: 09 62 75 74 20 74 68 65 73 65 20 77 69 6C 6C 20 .but these will
0000E0: 62 65 20 6C 69 73 74 65 64 90 20 61 73 90 20 27 be listed. as. '
0000F0: 6E 6F 74 68 69 6E 67 27 20 73 69 6E 63 65 20 74 nothing' since t
000100: 68 65 72 65 20 69 73 20 0D 8A 09 09 09 6E 6F 20 here is .....no
000110: 66 75 6E 63 74 69 6F 6E 20 76 61 6C 75 65 20 72 function value r
000120: 65 74 75 72 6E 65 64 2E 0D 0A 4C 6F 63 61 74 69 eturned...Locati
000130: 6F 6E 3A 09 09 74 68 69 73 20 69 6E 64 69 63 61 on:..this indica
000140: 74 65 73 20 77 68 65 72 65 90 20 74 68 65 90 20 tes where. the.
000150: 70 72 6F 63 65 64 75 72 65 90 20 69 73 90 20 64 procedure. is. d
000160: 65 66 69 6E 65 64 2E 20 54 68 65 20 0D 8A 09 09 efined. The ....
000170: 09 6C 6F 63 61 74 69 6F 6E 20 66 6F 72 20 74 68 .location for th
000180: 65 20 43 50 2F 4D 20 76 65 72 73 69 6F 6E 20 69 e CP/M version i
000190: 73 20 67 69 76 65 6E 20 66 69 72 73 74 2C 20 66 s given first, f
0001A0: 6F 6C 6C 6F 77 65 64 20 0D 8A 09 09 09 62 79 20 ollowed .....by
0001B0: 74 68 65 20 6C 6F 63 61 74 69 6F 6E 20 66 6F 72 the location for
0001C0: 90 20 74 68 65 90 20 41 4D 53 44 4F 53 90 20 76 . the. AMSDOS. v
0001D0: 65 72 73 69 6F 6E 2E 20 4D 6F 73 74 20 6F 66 20 ersion. Most of
0001E0: 74 68 65 20 0D 8A 09 09 09 6C 69 62 72 61 72 79 the .....library
0001F0: 90 20 70 72 6F 63 65 64 75 72 65 73 90 20 61 72 . procedures. ar
Size : 512 (Real : 512)
000000: 65 90 20 77 72 69 74 74 65 6E 90 90 20 69 6E 90 e. written.. in.
000010: 20 42 43 50 4C 90 20 61 6E 64 90 20 61 72 65 20 BCPL. and. are
000020: 0D 8A 09 09 09 63 6F 6E 74 61 69 6E 65 64 20 69 .....contained i
000030: 6E 20 6F 6E 65 20 6F 66 20 74 68 65 90 20 6C 69 n one of the. li
000040: 62 72 61 72 79 20 66 69 6C 65 73 2E 20 41 20 66 brary files. A f
000050: 65 77 20 72 6F 75 74 69 6E 65 73 20 0D 8A 09 09 ew routines ....
000060: 09 61 72 65 90 20 70 72 65 2D 64 65 66 69 6E 65 .are. pre-define
000070: 64 2C 90 20 69 2E 65 2E 90 20 74 68 65 79 90 20 d,. i.e.. they.
000080: 61 72 65 90 20 77 72 69 74 74 65 6E 90 20 69 6E are. written. in
000090: 74 6F 90 20 74 68 65 20 0D 8A 09 09 09 63 6F 6D to. the .....com
0000A0: 70 69 6C 65 72 2E 0D 0A 3E 70 61 0D 0A 3E 2D 2D piler...>pa..>--
0000B0: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 20 4C 2D 2D ------------ L--
0000C0: 2D 2D 2D 2D 2D 21 2D 2D 2D 2D 2D 2D 2D 21 2D 2D -----!-------!--
0000D0: 2D 2D 2D 2D 2D 21 2D 2D 2D 2D 2D 2D 2D 21 2D 2D -----!-------!--
0000E0: 2D 2D 2D 2D 2D 21 2D 2D 2D 2D 2D 2D 2D 21 2D 2D -----!-------!--
0000F0: 2D 2D 52 0D 0A E2 28 61 29 20 4F 75 74 70 75 74 --R...(a) Output
000100: 20 52 6F 75 74 69 6E 65 73 E2 0D 0A 0D 0A 0D 0A Routines.......
000110: 4E 45 57 4C 49 4E 45 28 29 0D 0A 0D 0A 45 66 66 NEWLINE()....Eff
000120: 65 63 74 3A 09 53 74 61 72 74 73 20 61 20 6E 65 ect:.Starts a ne
000130: 77 20 6C 69 6E 65 90 20 69 6E 90 20 74 68 65 90 w line. in. the.
000140: 20 63 75 72 72 65 6E 74 6C 79 20 73 65 6C 65 63 currently selec
000150: 74 65 64 20 6F 75 74 70 75 74 2E 20 0D 8A 09 54 ted output. ...T
000160: 68 65 20 65 78 61 63 74 20 65 66 66 65 63 74 20 he exact effect
000170: 69 6E 20 41 72 6E 6F 72 20 42 43 50 4C 20 69 73 in Arnor BCPL is
000180: 20 74 6F 20 6F 75 74 70 75 74 20 61 20 63 61 72 to output a car
000190: 72 69 61 67 65 20 0D 8A 09 72 65 74 75 72 6E 20 riage ...return
0001A0: 28 31 33 29 20 66 6F 6C 6C 6F 77 65 64 20 62 79 (13) followed by
0001B0: 20 61 20 6C 69 6E 65 20 66 65 65 64 20 28 31 30 a line feed (10
0001C0: 29 2E 0D 0A 0D 0A 52 65 74 75 72 6E 73 3A 09 4E ).....Returns:.N
0001D0: 6F 74 68 69 6E 67 0D 0A 0D 0A 4C 6F 63 61 74 69 othing....Locati
0001E0: 6F 6E 3A 09 43 4C 49 42 48 44 52 2C 20 41 4C 49 on:.CLIBHDR, ALI
0001F0: 42 48 44 52 0D 0A 0D 0A 0D 0A 4E 45 57 50 41 47 BHDR......NEWPAG
Size : 512 (Real : 512)
000000: 45 28 29 0D 0A 0D 0A 45 66 66 65 63 74 3A 09 53 E()....Effect:.S
000010: 74 61 72 74 73 20 61 20 6E 65 77 20 70 61 67 65 tarts a new page
000020: 90 20 69 6E 90 20 74 68 65 90 20 63 75 72 72 65 . in. the. curre
000030: 6E 74 6C 79 20 73 65 6C 65 63 74 65 64 20 6F 75 ntly selected ou
000040: 74 70 75 74 2E 20 0D 8A 09 54 68 65 20 65 78 61 tput. ...The exa
000050: 63 74 20 65 66 66 65 63 74 20 69 6E 20 41 72 6E ct effect in Arn
000060: 6F 72 90 20 42 43 50 4C 90 20 69 73 20 74 6F 20 or. BCPL. is to
000070: 6F 75 74 70 75 74 20 74 68 65 20 66 6F 72 6D 20 output the form
000080: 0D 8A 09 66 65 65 64 20 63 68 61 72 61 63 74 65 ...feed characte
000090: 72 20 28 31 32 29 2E 0D 0A 0D 0A 52 65 74 75 72 r (12).....Retur
0000A0: 6E 73 3A 09 4E 6F 74 68 69 6E 67 0D 0A 0D 0A 4C ns:.Nothing....L
0000B0: 6F 63 61 74 69 6F 6E 3A 09 43 4C 49 42 48 44 52 ocation:.CLIBHDR
0000C0: 31 2C 20 41 4C 49 42 48 44 52 31 0D 0A 0D 0A 0D 1, ALIBHDR1.....
0000D0: 0A 57 52 43 48 28 63 68 61 72 29 0D 0A 0D 0A 45 .WRCH(char)....E
0000E0: 66 66 65 63 74 3A 09 54 68 65 20 63 68 61 72 61 ffect:.The chara
0000F0: 63 74 65 72 20 69 73 20 73 65 6E 74 20 74 6F 20 cter is sent to
000100: 74 68 65 20 63 75 72 72 65 6E 74 6C 79 20 73 65 the currently se
000110: 6C 65 63 74 65 64 20 6F 75 74 70 75 74 20 0D 8A lected output ..
000120: 09 73 74 72 65 61 6D 2E 20 57 72 63 68 28 27 2A .stream. Wrch('*
000130: 4E 27 29 20 68 61 73 20 74 68 65 90 20 73 61 6D N') has the. sam
000140: 65 90 20 65 66 66 65 63 74 20 61 73 20 6E 65 77 e. effect as new
000150: 6C 69 6E 65 28 29 2C 20 0D 8A 09 69 2E 65 2E 20 line(), ...i.e.
000160: 63 61 72 72 69 61 67 65 20 72 65 74 75 72 6E 20 carriage return
000170: 61 6E 64 20 6C 69 6E 65 20 66 65 65 64 20 61 72 and line feed ar
000180: 65 20 6F 75 74 70 75 74 2E 0D 0A 0D 0A 52 65 74 e output.....Ret
000190: 75 72 6E 73 3A 09 54 52 55 45 20 69 66 20 73 75 urns:.TRUE if su
0001A0: 63 63 65 73 73 66 75 6C 2C 20 46 41 4C 53 45 20 ccessful, FALSE
0001B0: 69 66 20 61 6E 20 65 72 72 6F 72 20 6F 63 63 75 if an error occu
0001C0: 72 72 65 64 2E 0D 0A 0D 0A 4C 6F 63 61 74 69 6F rred.....Locatio
0001D0: 6E 3A 09 43 4C 49 42 48 44 52 2C 20 41 4C 49 42 n:.CLIBHDR, ALIB
0001E0: 48 44 52 0D 0A 0D 0A 45 78 61 6D 70 6C 65 73 3A HDR....Examples:
0001F0: 09 77 72 63 68 28 63 68 61 72 29 0D 0A 09 77 72 .wrch(char)...wr
Size : 512 (Real : 512)
000000: 63 68 28 27 41 27 29 0D 0A 0D 0A 0D 0A 57 52 49 ch('A')......WRI
000010: 54 45 44 28 69 6E 74 65 67 65 72 2C 77 69 64 74 TED(integer,widt
000020: 68 29 0D 0A 0D 0A 45 66 66 65 63 74 3A 09 54 68 h)....Effect:.Th
000030: 65 20 69 6E 74 65 67 65 72 20 69 73 90 20 6F 75 e integer is. ou
000040: 74 70 75 74 90 20 61 73 90 20 61 90 20 73 69 67 tput. as. a. sig
000050: 6E 65 64 20 64 65 63 69 6D 61 6C 20 69 6E 74 65 ned decimal inte
000060: 67 65 72 2C 20 0D 8A 09 72 69 67 68 74 20 6A 75 ger, ...right ju
000070: 73 74 69 66 69 65 64 20 69 6E 20 61 20 66 69 65 stified in a fie
000080: 6C 64 90 20 6F 66 20 74 68 65 20 73 70 65 63 69 ld. of the speci
000090: 66 69 65 64 20 77 69 64 74 68 2E 20 49 66 20 0D fied width. If .
0000A0: 8A 09 74 68 69 73 20 77 69 64 74 68 20 69 73 20 ..this width is
0000B0: 69 6E 73 75 66 66 69 63 69 65 6E 74 20 74 68 65 insufficient the
0000C0: 6E 90 20 69 74 90 20 77 69 6C 6C 20 62 65 20 6F n. it. will be o
0000D0: 75 74 70 75 74 20 69 6E 20 0D 8A 09 74 68 65 20 utput in ...the
0000E0: 6D 69 6E 69 6D 75 6D 20 77 69 64 74 68 2E 20 54 minimum width. T
0000F0: 68 65 90 20 6E 75 6D 62 65 72 90 20 6F 75 74 70 he. number. outp
000100: 75 74 90 20 77 69 6C 6C 20 62 65 20 69 6E 20 74 ut. will be in t
000110: 68 65 20 0D 8A 09 72 61 6E 67 65 20 28 2D 2D 33 he ...range (--3
000120: 32 37 36 38 2C 33 32 37 36 37 29 2E 0D 0A 0D 0A 2768,32767).....
000130: 52 65 74 75 72 6E 73 3A 09 4E 6F 74 68 69 6E 67 Returns:.Nothing
000140: 0D 0A 0D 0A 4C 6F 63 61 74 69 6F 6E 3A 09 43 4C ....Location:.CL
000150: 49 42 48 44 52 2C 20 41 4C 49 42 48 44 52 0D 0A IBHDR, ALIBHDR..
000160: 3E 70 61 0D 0A 57 52 49 54 45 46 28 66 6F 72 6D >pa..WRITEF(form
000170: 61 74 2C 61 2C 62 2C 63 2C 64 2C 65 2C 66 2C 67 at,a,b,c,d,e,f,g
000180: 2C 68 2C 69 2C 6A 2C 6B 29 0D 0A 0D 0A 45 66 66 ,h,i,j,k)....Eff
000190: 65 63 74 3A 09 57 52 49 54 45 46 20 61 6C 6C 6F ect:.WRITEF allo
0001A0: 77 73 20 63 68 61 72 61 63 74 65 72 73 20 74 6F ws characters to
0001B0: 90 20 62 65 90 20 70 72 69 6E 74 65 64 20 6F 75 . be. printed ou
0001C0: 74 20 61 63 63 6F 72 64 69 6E 67 20 0D 8A 09 74 t according ...t
0001D0: 6F 20 63 65 72 74 61 69 6E 20 66 6F 72 6D 61 74 o certain format
0001E0: 73 2E 90 20 54 68 65 90 20 70 72 6F 63 65 64 75 s.. The. procedu
0001F0: 72 65 90 20 74 61 6B 65 73 90 20 6F 6E 65 20 73 re. takes. one s
Size : 512 (Real : 512)
000000: 74 72 69 6E 67 20 0D 8A 09 70 61 72 61 6D 65 74 tring ...paramet
000010: 65 72 20 77 68 69 63 68 20 67 69 76 65 73 90 20 er which gives.
000020: 74 68 65 90 20 74 65 6D 70 6C 61 74 65 90 20 74 the. template. t
000030: 6F 90 20 62 65 90 20 75 73 65 64 20 66 6F 72 20 o. be. used for
000040: 0D 8A 09 70 72 69 6E 74 69 6E 67 2E 20 49 74 90 ...printing. It.
000050: 20 61 6C 73 6F 90 20 74 61 6B 65 73 90 20 61 6E also. takes. an
000060: 6F 74 68 65 72 90 20 73 65 74 90 20 6F 66 20 70 other. set. of p
000070: 61 72 61 6D 65 74 65 72 73 20 0D 8A 09 28 75 70 arameters ...(up
000080: 20 74 6F 20 31 31 29 20 77 68 69 63 68 20 67 69 to 11) which gi
000090: 76 65 90 20 74 68 65 90 20 69 74 65 6D 73 90 20 ve. the. items.
0000A0: 74 6F 20 62 65 20 70 72 69 6E 74 65 64 2E 20 4E to be printed. N
0000B0: 6F 74 65 20 0D 8A 09 74 68 61 74 20 69 74 20 69 ote ...that it i
0000C0: 73 20 6E 6F 74 20 6E 65 63 65 73 73 61 72 79 90 s not necessary.
0000D0: 20 74 6F 90 20 70 72 6F 76 69 64 65 20 61 20 42 to. provide a B
0000E0: 43 50 4C 20 70 72 6F 63 65 64 75 72 65 20 0D 8A CPL procedure ..
0000F0: 09 77 69 74 68 90 20 61 6C 6C 90 20 6F 66 90 20 .with. all. of.
000100: 69 74 73 90 20 66 6F 72 6D 61 6C 90 20 70 61 72 its. formal. par
000110: 61 6D 65 74 65 72 73 2E 90 20 54 68 65 90 20 74 ameters.. The. t
000120: 65 6D 70 6C 61 74 65 20 0D 8A 09 70 61 72 61 6D emplate ...param
000130: 65 74 65 72 90 20 69 73 90 20 61 90 20 73 74 72 eter. is. a. str
000140: 69 6E 67 90 20 77 68 69 63 68 90 90 20 6D 61 79 ing. which.. may
000150: 90 20 69 6E 63 6C 75 64 65 90 20 74 68 65 90 20 . include. the.
000160: 25 20 0D 8A 09 63 68 61 72 61 63 74 65 72 20 66 % ...character f
000170: 6F 6C 6C 6F 77 65 64 20 62 79 90 20 61 90 20 63 ollowed by. a. c
000180: 6F 6E 76 65 72 73 69 6F 6E 20 63 68 61 72 61 63 onversion charac
000190: 74 65 72 28 73 29 2E 20 54 68 65 20 0D 8A 09 74 ter(s). The ...t
0001A0: 65 6D 70 6C 61 74 65 90 20 73 74 72 69 6E 67 90 emplate. string.
0001B0: 20 69 73 90 20 70 72 69 6E 74 65 64 90 90 20 6F is. printed.. o
0001C0: 75 74 90 90 20 77 69 74 68 90 20 74 68 65 90 20 ut.. with. the.
0001D0: 6F 74 68 65 72 20 0D 8A 09 70 61 72 61 6D 65 74 other ...paramet
0001E0: 65 72 73 90 20 69 6E 73 65 72 74 65 64 90 20 69 ers. inserted. i
0001F0: 6E 74 6F 90 20 69 74 90 20 69 6E 90 90 20 70 6C nto. it. in.. pl
Size : 512 (Real : 512)
000000: 61 63 65 90 20 6F 66 90 20 74 68 65 90 20 25 20 ace. of. the. %
000010: 0D 8A 09 63 68 61 72 61 63 74 65 72 2E 20 54 68 ...character. Th
000020: 65 90 20 63 6F 6E 76 65 72 73 69 6F 6E 90 20 63 e. conversion. c
000030: 68 61 72 61 63 74 65 72 73 90 20 61 76 61 69 6C haracters. avail
000040: 61 62 6C 65 90 20 61 72 65 20 0D 8A 09 6C 69 73 able. are ...lis
000050: 74 65 64 20 62 65 6C 6F 77 2E 20 53 6F 6D 65 90 ted below. Some.
000060: 20 6F 66 90 20 74 68 65 73 65 90 20 6D 75 73 74 of. these. must
000070: 90 20 62 65 90 20 66 6F 6C 6C 6F 77 65 64 20 62 . be. followed b
000080: 79 20 61 20 0D 8A 09 6E 75 6D 62 65 72 20 74 6F y a ...number to
000090: 20 73 70 65 63 69 66 79 20 74 68 65 20 72 65 71 specify the req
0000A0: 75 69 72 65 64 90 20 66 69 65 6C 64 20 77 69 64 uired. field wid
0000B0: 74 68 2E 20 54 68 65 73 65 20 61 72 65 20 0D 8A th. These are ..
0000C0: 09 6D 61 72 6B 65 64 20 77 69 74 68 20 27 6E 27 .marked with 'n'
0000D0: 2C 20 77 68 69 63 68 20 63 61 6E 90 20 62 65 90 , which can. be.
0000E0: 20 61 20 64 65 63 69 6D 61 6C 20 6F 72 20 68 65 a decimal or he
0000F0: 78 20 64 69 67 69 74 20 0D 8A 09 28 73 6F 20 27 x digit ...(so '
000100: 46 27 20 67 69 76 65 73 20 74 68 65 20 6D 61 78 F' gives the max
000110: 69 6D 75 6D 20 77 69 64 74 68 20 6F 66 20 31 35 imum width of 15
000120: 29 2E 0D 0A 0D 0A 3E 2D 2D 2D 2D 2D 2D 2D 2D 2D ).....>---------
000130: 2D 2D 2D 2D 2D 20 21 2D 2D 2D 2D 2D 4C 2D 21 2D ----- !-----L-!-
000140: 2D 2D 2D 2D 2D 2D 21 2D 2D 2D 2D 2D 2D 2D 21 2D ------!-------!-
000150: 2D 2D 2D 2D 2D 2D 21 2D 2D 2D 2D 2D 2D 2D 21 2D ------!-------!-
000160: 2D 2D 2D 2D 2D 2D 21 2D 2D 2D 2D 52 0D 0A 09 53 ------!----R...S
000170: 20 20 2D 2D 20 70 72 69 6E 74 20 61 20 73 74 72 -- print a str
000180: 69 6E 67 0D 0A 09 43 20 20 2D 2D 20 70 72 69 6E ing...C -- prin
000190: 74 20 61 20 63 68 61 72 61 63 74 65 72 0D 0A 09 t a character...
0001A0: 58 6E 20 2D 2D 20 70 72 69 6E 74 20 61 90 68 65 Xn -- print a.he
0001B0: 78 20 76 61 6C 75 65 2E 90 20 49 66 90 20 74 68 x value.. If. th
0001C0: 65 90 20 66 69 65 6C 64 90 20 77 69 64 74 68 20 e. field. width
0001D0: 69 73 20 74 6F 6F 20 0D 8A 09 09 73 6D 61 6C 6C is too ....small
0001E0: 2C 20 6F 6E 6C 79 20 74 68 65 20 6C 65 61 73 74 , only the least
0001F0: 20 73 69 67 6E 69 66 69 63 61 6E 74 20 64 69 67 significant dig
Size : 512 (Real : 512)
000000: 69 74 73 20 77 69 6C 6C 20 62 65 20 0D 8A 09 09 its will be ....
000010: 6F 75 74 70 75 74 2E 0D 0A 09 4F 6E 20 2D 2D 20 output....On --
000020: 70 72 69 6E 74 20 61 6E 20 6F 63 74 61 6C 20 76 print an octal v
000030: 61 6C 75 65 2E 20 49 66 90 20 74 68 65 20 66 69 alue. If. the fi
000040: 65 6C 64 20 77 69 64 74 68 20 69 73 20 74 6F 6F eld width is too
000050: 20 0D 8A 09 09 73 6D 61 6C 6C 2C 20 6F 6E 6C 79 ....small, only
000060: 20 74 68 65 20 6C 65 61 73 74 20 73 69 67 6E 69 the least signi
000070: 66 69 63 61 6E 74 20 64 69 67 69 74 73 20 77 69 ficant digits wi
000080: 6C 6C 20 62 65 20 0D 8A 09 09 6F 75 74 70 75 74 ll be ....output
000090: 2E 0D 0A 09 49 6E 20 2D 2D 90 70 72 69 6E 74 20 ....In --.print
0000A0: 61 6E 20 69 6E 74 65 67 65 72 20 69 6E 20 64 65 an integer in de
0000B0: 63 69 6D 61 6C 2E 90 20 49 66 20 74 68 65 20 66 cimal.. If the f
0000C0: 69 65 6C 64 20 77 69 64 74 68 20 0D 8A 09 09 69 ield width ....i
0000D0: 73 20 74 6F 6F 20 73 6D 61 6C 6C 2C 20 74 68 65 s too small, the
0000E0: 90 20 69 6E 74 65 67 65 72 90 20 77 69 6C 6C 20 . integer. will
0000F0: 62 65 20 6F 75 74 70 75 74 20 75 73 69 6E 67 20 be output using
000100: 0D 8A 09 09 74 68 65 20 6C 65 61 73 74 20 6E 75 ....the least nu
000110: 6D 62 65 72 20 6F 66 20 73 70 61 63 65 73 2E 0D mber of spaces..
000120: 0A 09 4E 20 20 2D 2D 20 70 72 69 6E 74 20 61 6E ..N -- print an
000130: 90 20 69 6E 74 65 67 65 72 90 20 69 6E 90 20 64 . integer. in. d
000140: 65 63 69 6D 61 6C 90 20 77 69 74 68 90 20 6E 6F ecimal. with. no
000150: 20 6C 65 61 64 69 6E 67 20 0D 8A 09 09 73 70 61 leading ....spa
000160: 63 65 73 0D 0A 09 25 20 20 2D 2D 20 70 72 69 6E ces...% -- prin
000170: 74 20 74 68 65 20 25 20 63 68 61 72 61 63 74 65 t the % characte
000180: 72 0D 0A 09 24 20 20 2D 2D 20 73 6B 69 70 20 61 r...$ -- skip a
000190: 20 70 61 72 61 6D 65 74 65 72 0D 0A 0D 0A 3E 2D parameter....>-
0001A0: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 20 4C 2D ------------- L-
0001B0: 2D 2D 2D 2D 2D 2D 21 2D 2D 2D 2D 2D 2D 2D 21 2D ------!-------!-
0001C0: 2D 2D 2D 2D 2D 2D 21 2D 2D 2D 2D 2D 2D 2D 21 2D ------!-------!-
0001D0: 2D 2D 2D 2D 2D 2D 21 2D 2D 2D 2D 2D 2D 2D 21 2D ------!-------!-
0001E0: 2D 2D 2D 52 0D 0A 0D 0A 52 65 74 75 72 6E 73 3A ---R....Returns:
0001F0: 09 4E 6F 74 68 69 6E 67 0D 0A 0D 0A 4C 6F 63 61 .Nothing....Loca
Size : 512 (Real : 512)
000000: 74 69 6F 6E 3A 09 43 4C 49 42 48 44 52 2C 20 41 tion:.CLIBHDR, A
000010: 4C 49 42 48 44 52 0D 0A 0D 0A 45 78 61 6D 70 6C LIBHDR....Exampl
000020: 65 3A 0D 0A 0D 0A 09 4C 45 54 20 63 6F 6E 76 65 e:.....LET conve
000030: 72 74 20 3D 20 31 30 30 0D 0A 09 77 72 69 74 65 rt = 100...write
000040: 66 28 22 25 4E 20 69 6E 20 68 65 78 61 64 65 63 f("%N in hexadec
000050: 69 6D 61 6C 20 69 73 20 25 58 34 2A 4E 22 2C 20 imal is %X4*N",
000060: 63 6F 6E 76 65 72 74 2C 20 63 6F 6E 76 65 72 74 convert, convert
000070: 29 0D 0A 0D 0A 09 77 6F 75 6C 64 20 70 72 69 6E ).....would prin
000080: 74 0D 0A 0D 0A 09 31 30 30 20 69 6E 20 68 65 78 t.....100 in hex
000090: 61 64 65 63 69 6D 61 6C 20 69 73 20 30 30 36 34 adecimal is 0064
0000A0: 0D 0A 0D 0A 3E 70 61 0D 0A 57 52 49 54 45 48 45 ....>pa..WRITEHE
0000B0: 58 28 69 6E 74 65 67 65 72 2C 77 69 64 74 68 29 X(integer,width)
0000C0: 0D 0A 0D 0A 45 66 66 65 63 74 3A 09 54 68 65 20 ....Effect:.The
0000D0: 69 6E 74 65 67 65 72 90 20 69 73 90 20 6F 75 74 integer. is. out
0000E0: 70 75 74 90 20 61 73 90 20 61 6E 90 20 75 6E 73 put. as. an. uns
0000F0: 69 67 6E 65 64 90 20 68 65 78 61 64 65 63 69 6D igned. hexadecim
000100: 61 6C 20 0D 8A 09 69 6E 74 65 67 65 72 2C 20 72 al ...integer, r
000110: 69 67 68 74 20 6A 75 73 74 69 66 69 65 64 20 69 ight justified i
000120: 6E 90 20 61 90 20 66 69 65 6C 64 20 6F 66 20 74 n. a. field of t
000130: 68 65 20 73 70 65 63 69 66 69 65 64 20 0D 8A 09 he specified ...
000140: 77 69 64 74 68 2C 90 20 77 69 74 68 90 20 6C 65 width,. with. le
000150: 61 64 69 6E 67 90 90 20 7A 65 72 6F 73 2E 90 90 ading.. zeros...
000160: 20 49 66 90 90 20 74 68 69 73 90 90 20 77 69 64 If.. this.. wid
000170: 74 68 90 20 69 73 20 0D 8A 09 69 6E 73 75 66 66 th. is ...insuff
000180: 69 63 69 65 6E 74 20 74 68 65 6E 90 20 74 68 65 icient then. the
000190: 90 20 6C 65 61 73 74 90 20 73 69 67 6E 69 66 69 . least. signifi
0001A0: 63 61 6E 74 90 20 64 69 67 69 74 73 20 61 72 65 cant. digits are
0001B0: 20 0D 8A 09 6F 75 74 70 75 74 2E 0D 0A 0D 0A 52 ...output.....R
0001C0: 65 74 75 72 6E 73 3A 09 4E 6F 74 68 69 6E 67 0D eturns:.Nothing.
0001D0: 0A 0D 0A 4C 6F 63 61 74 69 6F 6E 3A 09 43 4C 49 ...Location:.CLI
0001E0: 42 48 44 52 2C 20 41 4C 49 42 48 44 52 0D 0A 0D BHDR, ALIBHDR...
0001F0: 0A 45 78 61 6D 70 6C 65 3A 09 77 72 69 74 65 68 .Example:.writeh
Size : 512 (Real : 512)
000000: 65 78 28 6E 75 6D 62 65 72 2C 34 29 0D 0A 0D 0A ex(number,4)....
000010: 0D 0A 57 52 49 54 45 4E 28 69 6E 74 65 67 65 72 ..WRITEN(integer
000020: 29 0D 0A 0D 0A 45 66 66 65 63 74 3A 09 54 68 65 )....Effect:.The
000030: 20 69 6E 74 65 67 65 72 20 69 73 20 6F 75 74 70 integer is outp
000040: 75 74 20 69 6E 20 64 65 63 69 6D 61 6C 20 69 6E ut in decimal in
000050: 20 74 68 65 20 6D 69 6E 69 6D 75 6D 20 77 69 64 the minimum wid
000060: 74 68 2E 20 0D 8A 09 54 68 69 73 20 69 73 20 74 th. ...This is t
000070: 68 65 20 73 61 6D 65 20 61 73 20 57 52 49 54 45 he same as WRITE
000080: 44 28 69 6E 74 65 67 65 72 2C 30 29 2E 0D 0A 0D D(integer,0)....
000090: 0A 52 65 74 75 72 6E 73 3A 09 4E 6F 74 68 69 6E .Returns:.Nothin
0000A0: 67 0D 0A 0D 0A 4C 6F 63 61 74 69 6F 6E 3A 09 43 g....Location:.C
0000B0: 4C 49 42 48 44 52 2C 20 41 4C 49 42 48 44 52 0D LIBHDR, ALIBHDR.
0000C0: 0A 0D 0A 0D 0A 57 52 49 54 45 4F 43 54 28 69 6E .....WRITEOCT(in
0000D0: 74 65 67 65 72 2C 77 69 64 74 68 29 0D 0A 0D 0A teger,width)....
0000E0: 45 66 66 65 63 74 3A 09 54 68 65 20 69 6E 74 65 Effect:.The inte
0000F0: 67 65 72 20 69 73 20 6F 75 74 70 75 74 90 20 61 ger is output. a
000100: 73 90 20 61 6E 90 20 75 6E 73 69 67 6E 65 64 20 s. an. unsigned
000110: 6F 63 74 61 6C 20 69 6E 74 65 67 65 72 2C 20 0D octal integer, .
000120: 8A 09 72 69 67 68 74 20 6A 75 73 74 69 66 69 65 ..right justifie
000130: 64 20 69 6E 90 20 61 90 20 66 69 65 6C 64 90 20 d in. a. field.
000140: 6F 66 90 20 74 68 65 20 73 70 65 63 69 66 69 65 of. the specifie
000150: 64 20 77 69 64 74 68 2C 20 0D 8A 09 77 69 74 68 d width, ...with
000160: 20 6C 65 61 64 69 6E 67 20 7A 65 72 6F 73 2E 20 leading zeros.
000170: 49 66 20 74 68 69 73 20 77 69 64 74 68 20 69 73 If this width is
000180: 20 69 6E 73 75 66 66 69 63 69 65 6E 74 20 74 68 insufficient th
000190: 65 6E 20 0D 8A 09 74 68 65 20 6C 65 61 73 74 20 en ...the least
0001A0: 73 69 67 6E 69 66 69 63 61 6E 74 20 64 69 67 69 significant digi
0001B0: 74 73 20 61 72 65 20 6F 75 74 70 75 74 2E 0D 0A ts are output...
0001C0: 0D 0A 52 65 74 75 72 6E 73 3A 09 4E 6F 74 68 69 ..Returns:.Nothi
0001D0: 6E 67 0D 0A 0D 0A 4C 6F 63 61 74 69 6F 6E 3A 09 ng....Location:.
0001E0: 43 4C 49 42 48 44 52 2C 20 41 4C 49 42 48 44 52 CLIBHDR, ALIBHDR
0001F0: 0D 0A 0D 0A 45 78 61 6D 70 6C 65 3A 09 77 72 69 ....Example:.wri
Size : 512 (Real : 512)
000000: 74 65 6F 63 74 28 6E 75 6D 62 65 72 2C 36 29 0D teoct(number,6).
000010: 0A 0D 0A 0D 0A 57 52 49 54 45 53 28 73 74 72 69 .....WRITES(stri
000020: 6E 67 29 0D 0A 0D 0A 45 66 66 65 63 74 3A 09 54 ng)....Effect:.T
000030: 68 65 20 73 74 72 69 6E 67 20 69 73 20 6F 75 74 he string is out
000040: 70 75 74 2E 0D 0A 0D 0A 52 65 74 75 72 6E 73 3A put.....Returns:
000050: 09 4E 6F 74 68 69 6E 67 0D 0A 0D 0A 4C 6F 63 61 .Nothing....Loca
000060: 74 69 6F 6E 3A 09 43 4C 49 42 48 44 52 2C 20 41 tion:.CLIBHDR, A
000070: 4C 49 42 48 44 52 0D 0A 0D 0A 45 78 61 6D 70 6C LIBHDR....Exampl
000080: 65 3A 09 77 72 69 74 65 73 28 22 45 6E 74 65 72 e:.writes("Enter
000090: 20 66 69 6C 65 6E 61 6D 65 3A 20 22 29 0D 0A 0D filename: ")...
0000A0: 0A 3E 70 61 0D 0A 57 52 49 54 45 54 28 73 74 72 .>pa..WRITET(str
0000B0: 69 6E 67 2C 77 69 64 74 68 29 0D 0A 0D 0A 45 66 ing,width)....Ef
0000C0: 66 65 63 74 3A 09 54 68 65 20 73 74 72 69 6E 67 fect:.The string
0000D0: 20 69 73 20 6F 75 74 70 75 74 20 69 6E 90 20 74 is output in. t
0000E0: 68 65 20 73 70 65 63 69 66 69 65 64 20 66 69 65 he specified fie
0000F0: 6C 64 20 77 69 64 74 68 2E 20 49 66 20 0D 8A 09 ld width. If ...
000100: 74 68 65 20 77 69 64 74 68 20 69 73 20 6C 6F 6E the width is lon
000110: 67 65 72 90 20 74 68 61 6E 90 20 74 68 65 90 20 ger. than. the.
000120: 73 74 72 69 6E 67 20 74 68 65 6E 20 73 70 61 63 string then spac
000130: 65 73 20 61 72 65 20 0D 8A 09 6F 75 74 70 75 74 es are ...output
000140: 20 61 74 20 74 68 65 20 72 69 67 68 74 2E 20 49 at the right. I
000150: 66 20 74 68 65 90 20 77 69 64 74 68 20 69 73 20 f the. width is
000160: 73 68 6F 72 74 65 72 20 74 68 61 6E 20 74 68 65 shorter than the
000170: 20 0D 8A 09 73 74 72 69 6E 67 2C 20 74 68 65 20 ...string, the
000180: 77 68 6F 6C 65 20 73 74 72 69 6E 67 20 69 73 20 whole string is
000190: 70 72 69 6E 74 65 64 2E 0D 0A 0D 0A 52 65 74 75 printed.....Retu
0001A0: 72 6E 73 3A 09 4E 6F 74 68 69 6E 67 0D 0A 0D 0A rns:.Nothing....
0001B0: 4C 6F 63 61 74 69 6F 6E 3A 09 43 4C 49 42 48 44 Location:.CLIBHD
0001C0: 52 31 2C 20 41 4C 49 42 48 44 52 31 0D 0A 0D 0A R1, ALIBHDR1....
0001D0: 0D 0A 57 52 49 54 45 55 28 75 6E 73 69 67 6E 65 ..WRITEU(unsigne
0001E0: 64 2C 77 69 64 74 68 29 0D 0A 0D 0A 45 66 66 65 d,width)....Effe
0001F0: 63 74 3A 09 54 68 65 20 66 69 72 73 74 20 70 61 ct:.The first pa
Size : 512 (Real : 512)
000000: 72 61 6D 65 74 65 72 20 69 73 20 74 72 65 61 74 rameter is treat
000010: 65 64 90 20 61 73 20 61 6E 20 75 6E 73 69 67 6E ed. as an unsign
000020: 65 64 20 69 6E 74 65 67 65 72 20 0D 8A 09 61 6E ed integer ...an
000030: 64 90 20 6F 75 74 70 75 74 90 20 69 6E 90 20 64 d. output. in. d
000040: 65 63 69 6D 61 6C 2C 90 90 20 72 69 67 68 74 90 ecimal,.. right.
000050: 90 20 6A 75 73 74 69 66 69 65 64 90 20 69 6E 90 . justified. in.
000060: 20 74 68 65 20 0D 8A 09 73 70 65 63 69 66 69 65 the ...specifie
000070: 64 20 77 69 64 74 68 2E 20 49 66 20 74 68 65 20 d width. If the
000080: 77 69 64 74 68 90 20 69 73 20 74 6F 6F 20 73 6D width. is too sm
000090: 61 6C 6C 20 74 68 65 20 6E 75 6D 62 65 72 20 0D all the number .
0000A0: 8A 09 69 73 20 70 72 69 6E 74 65 64 20 69 6E 90 ..is printed in.
0000B0: 20 74 68 65 90 20 6D 69 6E 69 6D 75 6D 90 20 77 the. minimum. w
0000C0: 69 64 74 68 2E 90 20 54 68 65 20 6E 75 6D 62 65 idth.. The numbe
0000D0: 72 20 6F 75 74 70 75 74 20 0D 8A 09 77 69 6C 6C r output ...will
0000E0: 20 62 65 20 69 6E 20 74 68 65 20 72 61 6E 67 65 be in the range
0000F0: 20 28 30 2C 36 35 35 33 35 29 2E 0D 0A 0D 0A 52 (0,65535).....R
000100: 65 74 75 72 6E 73 3A 09 4E 6F 74 68 69 6E 67 0D eturns:.Nothing.
000110: 0A 0D 0A 4C 6F 63 61 74 69 6F 6E 3A 09 43 4C 49 ...Location:.CLI
000120: 42 48 44 52 31 2C 20 41 4C 49 42 48 44 52 31 0D BHDR1, ALIBHDR1.
000130: 0A 3E 70 61 0D 0A E2 28 62 29 20 49 6E 70 75 74 .>pa...(b) Input
000140: 20 52 6F 75 74 69 6E 65 73 E2 0D 0A 0D 0A 0D 0A Routines.......
000150: 52 44 43 48 28 29 0D 0A 0D 0A 45 66 66 65 63 74 RDCH()....Effect
000160: 3A 09 52 65 61 64 73 20 61 20 63 68 61 72 61 63 :.Reads a charac
000170: 74 65 72 20 66 72 6F 6D 20 74 68 65 20 63 75 72 ter from the cur
000180: 72 65 6E 74 20 69 6E 70 75 74 20 73 74 72 65 61 rent input strea
000190: 6D 2E 0D 0A 0D 0A 52 65 74 75 72 6E 73 3A 09 54 m.....Returns:.T
0001A0: 68 65 20 63 68 61 72 61 63 74 65 72 20 72 65 61 he character rea
0001B0: 64 2E 0D 0A 0D 0A 4C 6F 63 61 74 69 6F 6E 3A 09 d.....Location:.
0001C0: 43 4C 49 42 48 44 52 2C 20 41 4C 49 42 48 44 52 CLIBHDR, ALIBHDR
0001D0: 0D 0A 0D 0A 0D 0A 52 45 41 44 4E 28 29 0D 0A 0D ......READN()...
0001E0: 0A 45 66 66 65 63 74 3A 09 52 65 61 64 73 20 61 .Effect:.Reads a
0001F0: 20 64 65 63 69 6D 61 6C 20 69 6E 74 65 67 65 72 decimal integer
Size : 512 (Real : 512)
000000: 20 66 72 6F 6D 20 74 68 65 20 63 75 72 72 65 6E from the curren
000010: 74 20 69 6E 70 75 74 20 73 74 72 65 61 6D 2E 20 t input stream.
000020: 0D 8A 09 4C 65 61 64 69 6E 67 20 73 70 61 63 65 ...Leading space
000030: 73 20 61 72 65 20 69 67 6E 6F 72 65 64 2E 0D 0A s are ignored...
000040: 0D 0A 52 65 74 75 72 6E 73 3A 09 54 68 65 20 6E ..Returns:.The n
000050: 75 6D 62 65 72 20 72 65 61 64 2E 0D 0A 0D 0A 4C umber read.....L
000060: 6F 63 61 74 69 6F 6E 3A 09 43 4C 49 42 48 44 52 ocation:.CLIBHDR
000070: 2C 20 41 4C 49 42 48 44 52 0D 0A 0D 0A 0D 0A 52 , ALIBHDR......R
000080: 45 41 44 53 28 73 74 72 69 6E 67 29 0D 0A 0D 0A EADS(string)....
000090: 45 66 66 65 63 74 3A 09 41 20 73 74 72 69 6E 67 Effect:.A string
0000A0: 20 69 73 20 72 65 61 64 90 20 66 72 6F 6D 90 20 is read. from.
0000B0: 74 68 65 90 20 63 75 72 72 65 6E 74 20 69 6E 70 the. current inp
0000C0: 75 74 20 73 74 72 65 61 6D 2E 20 54 68 65 20 0D ut stream. The .
0000D0: 8A 09 70 61 72 61 6D 65 74 65 72 20 69 73 20 61 ..parameter is a
0000E0: 90 20 76 65 63 74 6F 72 90 20 69 6E 90 20 77 68 . vector. in. wh
0000F0: 69 63 68 90 20 74 68 65 90 20 73 74 72 69 6E 67 ich. the. string
000100: 20 77 69 6C 6C 20 62 65 20 0D 8A 09 73 74 6F 72 will be ...stor
000110: 65 64 2E 20 54 68 65 20 73 74 72 69 6E 67 20 6D ed. The string m
000120: 75 73 74 90 20 62 65 90 20 74 65 72 6D 69 6E 61 ust. be. termina
000130: 74 65 64 90 20 62 79 20 61 20 63 61 72 72 69 61 ted. by a carria
000140: 67 65 20 0D 8A 09 72 65 74 75 72 6E 2E 20 54 68 ge ...return. Th
000150: 65 20 44 45 4C 2C 20 6F 72 90 20 7B 44 45 4C 90 e DEL, or. {DEL.
000160: 20 6B 65 79 90 20 6D 61 79 90 20 62 65 20 75 73 key. may. be us
000170: 65 64 20 74 6F 20 64 65 6C 65 74 65 20 0D 8A 09 ed to delete ...
000180: 62 61 63 6B 77 61 72 64 73 2E 20 49 66 20 45 53 backwards. If ES
000190: 43 20 6F 72 20 53 54 4F 50 90 20 69 73 90 20 70 C or STOP. is. p
0001A0: 72 65 73 73 65 64 20 77 68 65 6E 20 74 68 65 20 ressed when the
0001B0: 63 75 72 73 6F 72 20 0D 8A 09 69 73 20 6E 6F 74 cursor ...is not
0001C0: 20 61 74 20 74 68 65 20 73 74 61 72 74 20 6F 66 at the start of
0001D0: 90 20 74 68 65 20 73 74 72 69 6E 67 2C 20 61 6C . the string, al
0001E0: 6C 20 63 68 61 72 61 63 74 65 72 73 20 61 72 65 l characters are
0001F0: 20 0D 8A 09 64 65 6C 65 74 65 64 2E 20 49 66 20 ...deleted. If
Size : 512 (Real : 512)
000000: 45 53 43 20 6F 72 20 53 54 4F 50 20 69 73 90 20 ESC or STOP is.
000010: 70 72 65 73 73 65 64 20 77 68 65 6E 20 74 68 65 pressed when the
000020: 20 63 75 72 73 6F 72 20 69 73 20 0D 8A 09 61 74 cursor is ...at
000030: 20 74 68 65 20 73 74 61 72 74 20 6F 66 20 74 68 the start of th
000040: 65 20 73 74 72 69 6E 67 2C 20 61 20 73 74 72 69 e string, a stri
000050: 6E 67 20 6F 66 20 7A 65 72 6F 20 6C 65 6E 67 74 ng of zero lengt
000060: 68 20 69 73 20 0D 8A 09 72 65 74 75 72 6E 65 64 h is ...returned
000070: 2E 20 54 68 65 20 73 74 72 69 6E 67 20 69 73 90 . The string is.
000080: 20 6C 69 6D 69 74 65 64 90 20 74 6F 90 20 61 90 limited. to. a.
000090: 20 6C 65 6E 67 74 68 20 6F 66 20 32 35 35 20 0D length of 255 .
0000A0: 8A 09 62 79 74 65 73 2C 20 73 6F 20 74 68 65 20 ..bytes, so the
0000B0: 76 65 63 74 6F 72 90 20 73 74 72 69 6E 67 90 20 vector. string.
0000C0: 73 68 6F 75 6C 64 90 20 62 65 90 20 31 32 38 20 should. be. 128
0000D0: 77 6F 72 64 73 20 69 6E 20 0D 8A 09 6C 65 6E 67 words in ...leng
0000E0: 74 68 2E 0D 0A 0D 0A 52 65 74 75 72 6E 73 3A 09 th.....Returns:.
0000F0: 46 41 4C 53 45 20 69 66 20 45 53 43 20 6F 72 20 FALSE if ESC or
000100: 53 54 4F 50 20 70 72 65 73 73 65 64 2C 20 6F 74 STOP pressed, ot
000110: 68 65 72 77 69 73 65 20 54 52 55 45 0D 0A 0D 0A herwise TRUE....
000120: 4C 6F 63 61 74 69 6F 6E 3A 09 43 4C 49 42 48 44 Location:.CLIBHD
000130: 52 2C 20 41 4C 49 42 48 44 52 0D 0A 0D 0A 45 78 R, ALIBHDR....Ex
000140: 61 6D 70 6C 65 3A 09 4C 45 54 20 69 6E 70 75 74 ample:.LET input
000150: 20 3D 20 56 45 43 20 31 32 38 0D 0A 09 55 4E 4C = VEC 128...UNL
000160: 45 53 53 20 72 65 61 64 73 28 69 6E 70 75 74 29 ESS reads(input)
000170: 20 44 4F 20 65 72 72 6F 72 28 22 45 73 63 61 70 DO error("Escap
000180: 65 22 29 0D 0A 0D 0A 3E 70 61 0D 0A 53 54 52 54 e")....>pa..STRT
000190: 4F 4E 55 4D 28 73 74 72 69 6E 67 2C 62 61 73 65 ONUM(string,base
0001A0: 29 0D 0A 09 0D 0A 45 66 66 65 63 74 3A 09 54 68 ).....Effect:.Th
0001B0: 69 73 20 66 75 6E 63 74 69 6F 6E 20 74 61 6B 65 is function take
0001C0: 73 20 61 90 20 73 74 72 69 6E 67 90 20 61 73 90 s a. string. as.
0001D0: 20 69 74 73 20 66 69 72 73 74 20 70 61 72 61 6D its first param
0001E0: 65 74 65 72 20 0D 8A 09 61 6E 64 20 74 68 65 20 eter ...and the
0001F0: 62 61 73 65 20 6F 66 20 74 68 65 20 72 65 73 75 base of the resu
Size : 512 (Real : 512)
000000: 6C 74 90 20 61 73 20 69 74 73 20 73 65 63 6F 6E lt. as its secon
000010: 64 2E 20 49 74 20 63 6F 6E 76 65 72 74 73 20 0D d. It converts .
000020: 8A 09 74 68 65 20 73 74 72 69 6E 67 20 74 6F 20 ..the string to
000030: 61 20 6E 75 6D 62 65 72 20 69 6E 90 20 74 68 61 a number in. tha
000040: 74 20 62 61 73 65 20 61 6E 64 20 72 65 74 75 72 t base and retur
000050: 6E 73 20 69 74 20 61 73 20 0D 8A 09 74 68 65 20 ns it as ...the
000060: 72 65 73 75 6C 74 2E 0D 0A 0D 0A 52 65 74 75 72 result.....Retur
000070: 6E 73 3A 09 54 68 65 20 6E 75 6D 62 65 72 20 6F ns:.The number o
000080: 62 74 61 69 6E 65 64 20 62 79 20 74 68 65 20 63 btained by the c
000090: 6F 6E 76 65 72 73 69 6F 6E 0D 0A 0D 0A 4C 6F 63 onversion....Loc
0000A0: 61 74 69 6F 6E 3A 09 43 4C 49 42 48 44 52 2C 20 ation:.CLIBHDR,
0000B0: 41 4C 49 42 48 44 52 0D 0A 0D 0A 45 78 61 6D 70 ALIBHDR....Examp
0000C0: 6C 65 3A 09 41 20 52 45 41 44 58 20 66 75 6E 63 le:.A READX func
0000D0: 74 69 6F 6E 90 20 74 6F 90 20 69 6E 70 75 74 90 tion. to. input.
0000E0: 20 61 90 20 68 65 78 61 64 65 63 69 6D 61 6C 90 a. hexadecimal.
0000F0: 20 6E 75 6D 62 65 72 20 69 73 20 0D 8A 09 65 61 number is ...ea
000100: 73 69 6C 79 20 77 72 69 74 74 65 6E 3A 0D 0A 09 sily written:...
000110: 09 4C 45 54 20 72 65 61 64 78 28 29 20 3D 20 56 .LET readx() = V
000120: 41 4C 4F 46 0D 0A 0D 0A 09 09 24 28 20 0D 0A 09 ALOF......$( ...
000130: 20 20 20 20 20 20 20 20 20 20 20 4C 45 54 20 73 LET s
000140: 74 72 69 6E 67 20 3D 20 56 45 43 20 31 32 38 0D tring = VEC 128.
000150: 0A 09 20 20 20 20 20 20 20 20 20 20 20 72 65 61 .. rea
000160: 64 73 28 73 74 72 69 6E 67 29 0D 0A 09 20 20 20 ds(string)...
000170: 20 20 20 20 20 20 20 20 52 45 53 55 4C 54 49 53 RESULTIS
000180: 20 73 74 72 74 6F 6E 75 6D 28 73 74 72 69 6E 67 strtonum(string
000190: 2C 31 36 29 0D 0A 09 09 24 29 0D 0A 0D 0A 0D 0A ,16)....$)......
0001A0: 55 4E 52 44 43 48 28 29 0D 0A 0D 0A 45 66 66 65 UNRDCH()....Effe
0001B0: 63 74 3A 09 50 75 74 73 20 62 61 63 6B 20 74 68 ct:.Puts back th
0001C0: 65 20 6C 61 73 74 90 20 63 68 61 72 61 63 74 65 e last. characte
0001D0: 72 90 20 72 65 61 64 20 66 72 6F 6D 20 74 68 65 r. read from the
0001E0: 20 63 75 72 72 65 6E 74 6C 79 20 0D 8A 09 73 65 currently ...se
0001F0: 6C 65 63 74 65 64 20 73 74 72 65 61 6D 2E 20 54 lected stream. T
Size : 512 (Real : 512)
000000: 68 69 73 90 20 72 6F 75 74 69 6E 65 90 20 73 68 his. routine. sh
000010: 6F 75 6C 64 90 20 6E 6F 74 90 20 62 65 20 63 61 ould. not. be ca
000020: 6C 6C 65 64 20 0D 8A 09 74 77 69 63 65 20 77 69 lled ...twice wi
000030: 74 68 6F 75 74 20 61 6E 20 69 6E 74 65 72 76 65 thout an interve
000040: 6E 69 6E 67 20 63 61 6C 6C 90 20 74 6F 20 52 44 ning call. to RD
000050: 43 48 2C 20 74 68 65 20 73 65 63 6F 6E 64 20 0D CH, the second .
000060: 8A 09 63 61 6C 6C 20 77 69 6C 6C 90 20 68 61 76 ..call will. hav
000070: 65 90 20 6E 6F 90 20 65 66 66 65 63 74 2E 90 20 e. no. effect..
000080: 43 68 61 72 61 63 74 65 72 73 90 20 63 61 6E 90 Characters. can.
000090: 20 6F 6E 6C 79 20 62 65 20 0D 8A 09 72 65 74 75 only be ...retu
0000A0: 72 6E 65 64 20 74 6F 20 74 68 65 20 63 75 72 72 rned to the curr
0000B0: 65 6E 74 90 20 73 74 72 65 61 6D 90 20 69 66 90 ent. stream. if.
0000C0: 20 52 44 43 48 20 69 73 20 75 73 65 64 2C 20 74 RDCH is used, t
0000D0: 68 65 20 0D 8A 09 66 61 63 69 6C 69 74 79 20 69 he ...facility i
0000E0: 73 20 6E 6F 74 20 70 72 6F 76 69 64 65 64 20 61 s not provided a
0000F0: 74 90 20 74 68 65 20 70 72 69 6D 69 74 69 76 65 t. the primitive
000100: 20 49 2F 4F 20 72 6F 75 74 69 6E 65 20 0D 8A 09 I/O routine ...
000110: 6C 65 76 65 6C 20 28 74 68 61 74 20 69 73 20 52 level (that is R
000120: 44 56 44 55 20 61 6E 64 20 52 45 41 44 43 48 29 DVDU and READCH)
000130: 2E 0D 0A 0D 0A 52 65 74 75 72 6E 73 3A 09 4E 6F .....Returns:.No
000140: 74 68 69 6E 67 0D 0A 0D 0A 4C 6F 63 61 74 69 6F thing....Locatio
000150: 6E 3A 09 43 4C 49 42 48 44 52 2C 20 41 4C 49 42 n:.CLIBHDR, ALIB
000160: 48 44 52 0D 0A 0D 0A 45 78 61 6D 70 6C 65 3A 09 HDR....Example:.
000170: 63 68 20 3A 3D 20 72 64 63 68 28 29 20 52 45 50 ch := rdch() REP
000180: 45 41 54 55 4E 54 49 4C 20 63 68 3D 31 33 0D 0A EATUNTIL ch=13..
000190: 09 75 6E 72 64 63 68 28 29 0D 0A 0D 0A 3E 70 61 .unrdch()....>pa
0001A0: 0D 0A E2 28 63 29 20 53 74 72 65 61 6D 20 53 65 ...(c) Stream Se
0001B0: 6C 65 63 74 69 6F 6E 20 52 6F 75 74 69 6E 65 73 lection Routines
0001C0: E2 0D 0A 0D 0A 0D 0A 49 4E 50 55 54 28 29 0D 0A .......INPUT()..
0001D0: 0D 0A 45 66 66 65 63 74 3A 09 54 68 69 73 20 77 ..Effect:.This w
0001E0: 69 6C 6C 90 20 72 65 74 75 72 6E 90 20 61 90 20 ill. return. a.
0001F0: 76 61 6C 75 65 90 20 72 65 70 72 65 73 65 6E 74 value. represent
Size : 512 (Real : 512)
000000: 69 6E 67 90 20 74 68 65 20 63 75 72 72 65 6E 74 ing. the current
000010: 20 0D 8A 09 69 6E 70 75 74 20 73 74 72 65 61 6D ...input stream
000020: 2E 20 5A 65 72 6F 20 6D 65 61 6E 73 90 20 74 68 . Zero means. th
000030: 65 90 20 6B 65 79 62 6F 61 72 64 20 69 73 20 74 e. keyboard is t
000040: 68 65 20 63 75 72 72 65 6E 74 20 0D 8A 09 69 6E he current ...in
000050: 70 75 74 20 73 74 72 65 61 6D 2C 20 61 6E 79 20 put stream, any
000060: 6F 74 68 65 72 90 20 76 61 6C 75 65 90 20 69 73 other. value. is
000070: 90 20 74 68 65 20 61 64 64 72 65 73 73 20 6F 66 . the address of
000080: 20 74 68 65 20 0D 8A 09 62 75 66 66 65 72 20 61 the ...buffer a
000090: 73 73 6F 63 69 61 74 65 64 20 77 69 74 68 20 74 ssociated with t
0000A0: 68 65 90 20 66 69 6C 65 90 20 66 72 6F 6D 90 20 he. file. from.
0000B0: 77 68 69 63 68 20 69 6E 70 75 74 20 69 73 20 0D which input is .
0000C0: 8A 09 62 65 69 6E 67 20 74 61 6B 65 6E 2E 0D 0A ..being taken...
0000D0: 0D 0A 52 65 74 75 72 6E 73 3A 09 54 68 65 20 63 ..Returns:.The c
0000E0: 75 72 72 65 6E 74 20 69 6E 70 75 74 20 73 74 72 urrent input str
0000F0: 65 61 6D 0D 0A 0D 0A 4C 6F 63 61 74 69 6F 6E 3A eam....Location:
000100: 09 43 4C 49 42 48 44 52 2C 20 41 4C 49 42 48 44 .CLIBHDR, ALIBHD
000110: 52 0D 0A 0D 0A 0D 0A 4F 55 54 50 55 54 28 29 0D R......OUTPUT().
000120: 0A 0D 0A 45 66 66 65 63 74 3A 09 54 68 69 73 20 ...Effect:.This
000130: 77 69 6C 6C 90 20 72 65 74 75 72 6E 90 20 61 90 will. return. a.
000140: 20 76 61 6C 75 65 90 20 72 65 70 72 65 73 65 6E value. represen
000150: 74 69 6E 67 90 20 74 68 65 20 63 75 72 72 65 6E ting. the curren
000160: 74 20 0D 8A 09 6F 75 74 70 75 74 20 73 74 72 65 t ...output stre
000170: 61 6D 2E 90 20 5A 65 72 6F 90 20 6D 65 61 6E 73 am.. Zero. means
000180: 90 20 74 68 65 90 20 56 44 55 90 20 69 73 90 20 . the. VDU. is.
000190: 74 68 65 20 63 75 72 72 65 6E 74 20 0D 8A 09 73 the current ...s
0001A0: 74 72 65 61 6D 2C 20 6F 6E 65 20 6D 65 61 6E 73 tream, one means
0001B0: 20 74 68 65 90 20 70 72 69 6E 74 65 72 90 20 69 the. printer. i
0001C0: 73 20 74 68 65 20 63 75 72 72 65 6E 74 20 73 74 s the current st
0001D0: 72 65 61 6D 2C 20 0D 8A 09 61 6E 79 90 20 6F 74 ream, ...any. ot
0001E0: 68 65 72 90 20 76 61 6C 75 65 90 20 69 73 90 90 her. value. is..
0001F0: 20 74 68 65 90 90 20 61 64 64 72 65 73 73 90 20 the.. address.
Size : 512 (Real : 512)
000000: 6F 66 90 20 74 68 65 90 20 62 75 66 66 65 72 20 of. the. buffer
000010: 0D 8A 09 61 73 73 6F 63 69 61 74 65 64 20 77 69 ...associated wi
000020: 74 68 20 74 68 65 90 20 66 69 6C 65 90 20 74 6F th the. file. to
000030: 90 20 77 68 69 63 68 90 20 6F 75 74 70 75 74 90 . which. output.
000040: 20 69 73 20 62 65 69 6E 67 20 0D 8A 09 73 65 6E is being ...sen
000050: 74 2E 0D 0A 0D 0A 52 65 74 75 72 6E 73 3A 09 54 t.....Returns:.T
000060: 68 65 20 63 75 72 72 65 6E 74 20 6F 75 74 70 75 he current outpu
000070: 74 20 73 74 72 65 61 6D 0D 0A 0D 0A 4C 6F 63 61 t stream....Loca
000080: 74 69 6F 6E 3A 09 43 4C 49 42 48 44 52 2C 20 41 tion:.CLIBHDR, A
000090: 4C 49 42 48 44 52 0D 0A 0D 0A 0D 0A 53 45 4C 45 LIBHDR......SELE
0000A0: 43 54 49 4E 50 55 54 28 73 74 72 65 61 6D 29 0D CTINPUT(stream).
0000B0: 0A 0D 0A 45 66 66 65 63 74 3A 09 54 68 69 73 20 ...Effect:.This
0000C0: 69 73 20 75 73 65 64 20 74 6F 90 20 63 68 61 6E is used to. chan
0000D0: 67 65 90 20 74 68 65 90 20 63 75 72 72 65 6E 74 ge. the. current
0000E0: 6C 79 20 73 65 6C 65 63 74 65 64 20 69 6E 70 75 ly selected inpu
0000F0: 74 20 0D 8A 09 73 74 72 65 61 6D 20 28 69 2E 65 t ...stream (i.e
000100: 2E 20 74 68 61 74 20 75 73 65 64 90 20 62 79 90 . that used. by.
000110: 20 72 64 63 68 29 2E 90 20 41 90 20 73 74 72 65 rdch).. A. stre
000120: 61 6D 20 76 61 6C 75 65 20 6F 66 20 0D 8A 09 7A am value of ...z
000130: 65 72 6F 20 73 65 6C 65 63 74 73 20 74 68 65 20 ero selects the
000140: 6B 65 79 62 6F 61 72 64 2E 20 41 6E 79 20 6F 74 keyboard. Any ot
000150: 68 65 72 20 76 61 6C 75 65 20 6D 75 73 74 20 62 her value must b
000160: 65 20 74 68 65 20 0D 8A 09 61 64 64 72 65 73 73 e the ...address
000170: 20 6F 66 20 74 68 65 90 20 62 75 66 66 65 72 90 of the. buffer.
000180: 20 61 73 73 6F 63 69 61 74 65 64 90 20 77 69 74 associated. wit
000190: 68 90 20 61 90 20 66 69 6C 65 2C 20 61 6E 64 20 h. a. file, and
0001A0: 0D 8A 09 63 61 75 73 65 73 20 69 6E 70 75 74 20 ...causes input
0001B0: 74 6F 20 62 65 20 74 61 6B 65 6E 20 66 72 6F 6D to be taken from
0001C0: 20 74 68 61 74 20 66 69 6C 65 2E 20 54 68 65 20 that file. The
0001D0: 66 69 6C 65 20 6D 75 73 74 20 0D 8A 09 70 72 65 file must ...pre
0001E0: 76 69 6F 75 73 6C 79 20 68 61 76 65 20 62 65 65 viously have bee
0001F0: 6E 20 6F 70 65 6E 65 64 20 75 73 69 6E 67 20 46 n opened using F
Size : 512 (Real : 512)
000000: 49 4E 44 49 4E 50 55 54 2E 0D 0A 0D 0A 52 65 74 INDINPUT.....Ret
000010: 75 72 6E 73 3A 09 4E 6F 74 68 69 6E 67 0D 0A 0D urns:.Nothing...
000020: 0A 4C 6F 63 61 74 69 6F 6E 3A 09 43 4C 49 42 48 .Location:.CLIBH
000030: 44 52 2C 20 41 4C 49 42 48 44 52 0D 0A 0D 0A 3E DR, ALIBHDR....>
000040: 70 61 0D 0A 53 45 4C 45 43 54 4F 55 54 50 55 54 pa..SELECTOUTPUT
000050: 28 73 74 72 65 61 6D 29 0D 0A 0D 0A 45 66 66 65 (stream)....Effe
000060: 63 74 3A 09 54 68 69 73 20 69 73 20 75 73 65 64 ct:.This is used
000070: 20 74 6F 90 20 63 68 61 6E 67 65 90 20 74 68 65 to. change. the
000080: 20 63 75 72 72 65 6E 74 6C 79 20 73 65 6C 65 63 currently selec
000090: 74 65 64 20 6F 75 74 70 75 74 20 0D 8A 09 73 74 ted output ...st
0000A0: 72 65 61 6D 20 28 69 2E 65 2E 20 74 68 61 74 20 ream (i.e. that
0000B0: 75 73 65 64 20 62 79 20 77 72 63 68 2C 20 77 72 used by wrch, wr
0000C0: 69 74 65 66 20 65 74 63 2E 29 2E 20 41 20 73 74 itef etc.). A st
0000D0: 72 65 61 6D 20 0D 8A 09 76 61 6C 75 65 20 6F 66 ream ...value of
0000E0: 20 7A 65 72 6F 20 73 65 6C 65 63 74 73 20 74 68 zero selects th
0000F0: 65 20 56 44 55 2C 90 20 61 20 76 61 6C 75 65 20 e VDU,. a value
000100: 6F 66 20 6F 6E 65 20 73 65 6C 65 63 74 73 20 0D of one selects .
000110: 8A 09 74 68 65 20 70 72 69 6E 74 65 72 2E 20 41 ..the printer. A
000120: 6E 79 20 6F 74 68 65 72 90 20 76 61 6C 75 65 90 ny other. value.
000130: 20 6D 75 73 74 90 20 62 65 20 74 68 65 20 61 64 must. be the ad
000140: 64 72 65 73 73 20 6F 66 20 0D 8A 09 74 68 65 20 dress of ...the
000150: 62 75 66 66 65 72 20 61 73 73 6F 63 69 61 74 65 buffer associate
000160: 64 20 77 69 74 68 90 20 61 90 20 66 69 6C 65 2C d with. a. file,
000170: 20 61 6E 64 20 63 61 75 73 65 73 20 6F 75 74 70 and causes outp
000180: 75 74 20 0D 8A 09 74 6F 20 62 65 20 73 65 6E 74 ut ...to be sent
000190: 90 20 74 6F 90 20 74 68 61 74 90 20 66 69 6C 65 . to. that. file
0001A0: 2E 90 20 54 68 65 90 20 66 69 6C 65 90 20 6D 75 .. The. file. mu
0001B0: 73 74 20 68 61 76 65 20 62 65 65 6E 20 0D 8A 09 st have been ...
0001C0: 70 72 65 76 69 6F 75 73 6C 79 20 6F 70 65 6E 65 previously opene
0001D0: 64 20 75 73 69 6E 67 20 46 49 4E 44 4F 55 54 50 d using FINDOUTP
0001E0: 55 54 2E 0D 0A 0D 0A 52 65 74 75 72 6E 73 3A 09 UT.....Returns:.
0001F0: 4E 6F 74 68 69 6E 67 0D 0A 0D 0A 4C 6F 63 61 74 Nothing....Locat
Size : 512 (Real : 512)
000000: 69 6F 6E 3A 09 43 4C 49 42 48 44 52 2C 20 41 4C ion:.CLIBHDR, AL
000010: 49 42 48 44 52 0D 0A 0D 0A 45 78 61 6D 70 6C 65 IBHDR....Example
000020: 73 3A 09 73 65 6C 65 63 74 6F 75 74 70 75 74 28 s:.selectoutput(
000030: 6F 75 74 66 69 6C 65 62 75 66 29 0D 0A 09 73 65 outfilebuf)...se
000040: 6C 65 63 74 6F 75 74 70 75 74 28 70 72 69 6E 74 lectoutput(print
000050: 73 74 72 65 61 6D 29 0D 0A 0D 0A 0D 0A 0D 0A 0D stream).........
000060: 0A E2 28 64 29 20 46 69 6C 65 20 49 2F 4F 20 52 ..(d) File I/O R
000070: 6F 75 74 69 6E 65 73 E2 0D 0A 0D 0A 0D 0A 45 4E outines.......EN
000080: 44 52 45 41 44 28 29 0D 0A 0D 0A 45 66 66 65 63 DREAD()....Effec
000090: 74 3A 09 54 68 65 20 63 75 72 72 65 6E 74 6C 79 t:.The currently
0000A0: 20 73 65 6C 65 63 74 65 64 20 69 6E 70 75 74 20 selected input
0000B0: 73 74 72 65 61 6D 20 69 73 20 63 6C 6F 73 65 64 stream is closed
0000C0: 2E 0D 0A 0D 0A 52 65 74 75 72 6E 73 3A 09 54 52 .....Returns:.TR
0000D0: 55 45 20 69 66 20 74 68 65 90 20 66 69 6C 65 90 UE if the. file.
0000E0: 20 77 61 73 90 20 63 6C 6F 73 65 64 90 20 73 75 was. closed. su
0000F0: 63 63 65 73 73 66 75 6C 6C 79 2C 20 46 41 4C 53 ccessfully, FALS
000100: 45 20 69 66 20 0D 8A 09 6E 6F 74 2E 0D 0A 0D 0A E if ...not.....
000110: 4C 6F 63 61 74 69 6F 6E 3A 09 43 4C 49 42 48 44 Location:.CLIBHD
000120: 52 2C 20 41 4C 49 42 48 44 52 0D 0A 0D 0A 0D 0A R, ALIBHDR......
000130: 45 4E 44 57 52 49 54 45 28 29 0D 0A 0D 0A 45 66 ENDWRITE()....Ef
000140: 66 65 63 74 3A 09 54 68 65 20 63 75 72 72 65 6E fect:.The curren
000150: 74 6C 79 20 73 65 6C 65 63 74 65 64 20 6F 75 74 tly selected out
000160: 70 75 74 20 73 74 72 65 61 6D 90 20 69 73 20 63 put stream. is c
000170: 6C 6F 73 65 64 2E 20 49 74 20 69 73 20 0D 8A 09 losed. It is ...
000180: 65 73 73 65 6E 74 69 61 6C 20 74 68 61 74 20 65 essential that e
000190: 69 74 68 65 72 20 74 68 69 73 20 72 6F 75 74 69 ither this routi
0001A0: 6E 65 20 6F 72 20 43 4C 4F 53 45 4F 55 54 20 69 ne or CLOSEOUT i
0001B0: 73 20 75 73 65 64 20 0D 8A 09 61 66 74 65 72 20 s used ...after
0001C0: 77 72 69 74 69 6E 67 20 74 6F 20 61 20 66 69 6C writing to a fil
0001D0: 65 2C 20 61 73 20 69 74 20 63 61 75 73 65 73 20 e, as it causes
0001E0: 74 68 65 20 6C 61 73 74 20 73 65 63 74 69 6F 6E the last section
0001F0: 20 0D 8A 09 6F 66 20 64 61 74 61 20 74 6F 20 62 ...of data to b
Size : 512 (Real : 512)
000000: 65 20 77 72 69 74 74 65 6E 20 74 6F 20 74 68 65 e written to the
000010: 20 64 69 73 63 2E 0D 0A 0D 0A 52 65 74 75 72 6E disc.....Return
000020: 73 3A 09 54 52 55 45 20 69 66 20 74 68 65 20 66 s:.TRUE if the f
000030: 69 6C 65 20 77 61 73 20 63 6C 6F 73 65 64 20 73 ile was closed s
000040: 75 63 63 65 73 73 66 75 6C 6C 79 2C 20 65 6C 73 uccessfully, els
000050: 65 20 46 41 4C 53 45 2E 0D 0A 0D 0A 4C 6F 63 61 e FALSE.....Loca
000060: 74 69 6F 6E 3A 09 43 4C 49 42 48 44 52 2C 20 41 tion:.CLIBHDR, A
000070: 4C 49 42 48 44 52 0D 0A 0D 0A 3E 70 61 0D 0A 46 LIBHDR....>pa..F
000080: 49 4E 44 49 4E 50 55 54 28 66 69 6C 65 6E 61 6D INDINPUT(filenam
000090: 65 2C 62 75 66 66 65 72 29 0D 0A 0D 0A 45 66 66 e,buffer)....Eff
0000A0: 65 63 74 3A 09 54 6F 20 6F 70 65 6E 20 61 6E 20 ect:.To open an
0000B0: 69 6E 70 75 74 20 66 69 6C 65 2E 20 54 68 65 20 input file. The
0000C0: 66 69 72 73 74 20 70 61 72 61 6D 65 74 65 72 20 first parameter
0000D0: 69 73 20 61 20 73 74 72 69 6E 67 20 0D 8A 09 67 is a string ...g
0000E0: 69 76 69 6E 67 20 74 68 65 20 6E 61 6D 65 20 6F iving the name o
0000F0: 66 20 74 68 65 20 66 69 6C 65 2E 20 54 68 65 20 f the file. The
000100: 73 65 63 6F 6E 64 20 70 61 72 61 6D 65 74 65 72 second parameter
000110: 20 69 73 20 61 20 0D 8A 09 76 65 63 74 6F 72 20 is a ...vector
000120: 77 68 69 63 68 20 77 69 6C 6C 20 62 65 90 20 75 which will be. u
000130: 73 65 64 90 20 66 6F 72 90 20 74 68 65 20 66 69 sed. for. the fi
000140: 6C 65 20 62 75 66 66 65 72 2E 20 54 68 69 73 20 le buffer. This
000150: 0D 8A 09 76 65 63 74 6F 72 20 73 68 6F 75 6C 64 ...vector should
000160: 20 62 65 20 38 32 90 20 77 6F 72 64 73 90 20 6C be 82. words. l
000170: 6F 6E 67 90 20 75 6E 64 65 72 90 20 43 50 2F 4D ong. under. CP/M
000180: 20 61 6E 64 20 31 30 32 34 20 0D 8A 09 77 6F 72 and 1024 ...wor
000190: 64 73 20 6C 6F 6E 67 20 75 6E 64 65 72 20 41 4D ds long under AM
0001A0: 53 44 4F 53 2E 20 54 68 65 90 20 66 69 6C 65 6E SDOS. The. filen
0001B0: 61 6D 65 20 6D 75 73 74 20 62 65 20 61 20 76 61 ame must be a va
0001C0: 6C 69 64 20 0D 8A 09 43 50 2F 4D 20 6F 72 90 20 lid ...CP/M or.
0001D0: 41 4D 53 44 4F 53 90 20 66 69 6C 65 6E 61 6D 65 AMSDOS. filename
0001E0: 2C 90 20 61 6E 64 90 20 6D 61 79 90 20 69 6E 63 ,. and. may. inc
0001F0: 6C 75 64 65 90 20 61 20 64 72 69 76 65 20 0D 8A lude. a drive ..
Size : 512 (Real : 512)
000000: 09 73 70 65 63 69 66 69 65 72 2E 0D 0A 0D 0A 52 .specifier.....R
000010: 65 74 75 72 6E 73 3A 09 49 66 20 74 68 65 20 66 eturns:.If the f
000020: 69 6C 65 20 77 61 73 20 6F 70 65 6E 65 64 90 20 ile was opened.
000030: 73 75 63 63 65 73 73 66 75 6C 6C 79 2C 20 74 68 successfully, th
000040: 65 20 76 61 6C 75 65 20 27 54 52 55 45 27 20 0D e value 'TRUE' .
000050: 8A 09 69 73 20 72 65 74 75 72 6E 65 64 2C 20 6F ..is returned, o
000060: 74 68 65 72 77 69 73 65 20 27 46 41 4C 53 45 27 therwise 'FALSE'
000070: 2E 0D 0A 0D 0A 4C 6F 63 61 74 69 6F 6E 3A 09 43 .....Location:.C
000080: 4C 49 42 48 44 52 2C 20 41 4C 49 42 48 44 52 0D LIBHDR, ALIBHDR.
000090: 0A 0D 0A 45 78 61 6D 70 6C 65 3A 09 4C 45 54 20 ...Example:.LET
0000A0: 69 6E 62 75 66 20 3D 20 56 45 43 20 38 32 0D 0A inbuf = VEC 82..
0000B0: 09 54 45 53 54 20 66 69 6E 64 69 6E 70 75 74 28 .TEST findinput(
0000C0: 22 41 3A 6E 61 6D 65 73 2E 64 74 61 22 2C 69 6E "A:names.dta",in
0000D0: 62 75 66 29 20 0D 0A 09 54 48 45 4E 20 73 65 6C buf) ...THEN sel
0000E0: 65 63 74 69 6E 70 75 74 28 69 6E 62 75 66 29 0D ectinput(inbuf).
0000F0: 0A 09 45 4C 53 45 20 65 72 72 6F 72 28 22 43 61 ..ELSE error("Ca
000100: 6E 6E 6F 74 20 6F 70 65 6E 20 66 69 6C 65 22 29 nnot open file")
000110: 0D 0A 0D 0A 0D 0A 46 49 4E 44 4F 55 54 50 55 54 ......FINDOUTPUT
000120: 28 66 69 6C 65 6E 61 6D 65 2C 62 75 66 66 65 72 (filename,buffer
000130: 29 0D 0A 0D 0A 45 66 66 65 63 74 3A 09 54 6F 20 )....Effect:.To
000140: 6F 70 65 6E 20 61 6E 90 20 6F 75 74 70 75 74 90 open an. output.
000150: 20 66 69 6C 65 2E 90 20 54 68 65 90 20 66 69 72 file.. The. fir
000160: 73 74 90 20 70 61 72 61 6D 65 74 65 72 90 20 69 st. parameter. i
000170: 73 20 61 20 0D 8A 09 73 74 72 69 6E 67 90 20 67 s a ...string. g
000180: 69 76 69 6E 67 90 20 74 68 65 90 20 6E 61 6D 65 iving. the. name
000190: 90 20 6F 66 90 20 74 68 65 90 20 66 69 6C 65 2E . of. the. file.
0001A0: 90 20 54 68 65 90 20 73 65 63 6F 6E 64 20 0D 8A . The. second ..
0001B0: 09 70 61 72 61 6D 65 74 65 72 20 69 73 20 61 20 .parameter is a
0001C0: 76 65 63 74 6F 72 20 77 68 69 63 68 20 77 69 6C vector which wil
0001D0: 6C 90 20 62 65 20 75 73 65 64 20 66 6F 72 20 74 l. be used for t
0001E0: 68 65 20 66 69 6C 65 20 0D 8A 09 62 75 66 66 65 he file ...buffe
0001F0: 72 2E 20 54 68 69 73 20 76 65 63 74 6F 72 20 73 r. This vector s
Size : 512 (Real : 512)
000000: 68 6F 75 6C 64 20 62 65 20 38 32 20 77 6F 72 64 hould be 82 word
000010: 73 20 6C 6F 6E 67 20 75 6E 64 65 72 20 43 50 2F s long under CP/
000020: 4D 20 0D 8A 09 61 6E 64 20 31 30 32 34 20 77 6F M ...and 1024 wo
000030: 72 64 73 20 6C 6F 6E 67 20 75 6E 64 65 72 20 41 rds long under A
000040: 4D 53 44 4F 53 2E 20 54 68 65 20 66 69 6C 65 6E MSDOS. The filen
000050: 61 6D 65 20 6D 75 73 74 20 62 65 20 0D 8A 09 61 ame must be ...a
000060: 20 76 61 6C 69 64 20 43 50 2F 4D 20 6F 72 90 20 valid CP/M or.
000070: 41 4D 53 44 4F 53 90 20 66 69 6C 65 6E 61 6D 65 AMSDOS. filename
000080: 2C 90 20 61 6E 64 90 20 6D 61 79 20 69 6E 63 6C ,. and. may incl
000090: 75 64 65 20 61 20 0D 8A 09 64 72 69 76 65 20 73 ude a ...drive s
0000A0: 70 65 63 69 66 69 65 72 2E 0D 0A 0D 0A 52 65 74 pecifier.....Ret
0000B0: 75 72 6E 73 3A 09 49 66 20 74 68 65 20 66 69 6C urns:.If the fil
0000C0: 65 20 77 61 73 20 6F 70 65 6E 65 64 90 20 73 75 e was opened. su
0000D0: 63 63 65 73 73 66 75 6C 6C 79 2C 20 74 68 65 20 ccessfully, the
0000E0: 76 61 6C 75 65 20 27 54 52 55 45 27 20 0D 8A 09 value 'TRUE' ...
0000F0: 69 73 20 72 65 74 75 72 6E 65 64 2C 20 6F 74 68 is returned, oth
000100: 65 72 77 69 73 65 20 27 46 41 4C 53 45 27 2E 0D erwise 'FALSE'..
000110: 0A 0D 0A 4C 6F 63 61 74 69 6F 6E 3A 09 43 4C 49 ...Location:.CLI
000120: 42 48 44 52 2C 20 41 4C 49 42 48 44 52 0D 0A 0D BHDR, ALIBHDR...
000130: 0A 45 78 61 6D 70 6C 65 3A 09 4C 45 54 20 6F 75 .Example:.LET ou
000140: 74 62 75 66 20 3D 20 56 45 43 20 38 32 0D 0A 09 tbuf = VEC 82...
000150: 54 45 53 54 20 66 69 6E 64 6F 75 74 70 75 74 28 TEST findoutput(
000160: 22 41 3A 6E 61 6D 65 73 2E 64 74 61 22 2C 6F 75 "A:names.dta",ou
000170: 74 62 75 66 29 20 0D 0A 09 54 48 45 4E 20 73 65 tbuf) ...THEN se
000180: 6C 65 63 74 6F 75 74 70 75 74 28 6F 75 74 62 75 lectoutput(outbu
000190: 66 29 0D 0A 09 45 4C 53 45 20 65 72 72 6F 72 28 f)...ELSE error(
0001A0: 22 43 61 6E 6E 6F 74 20 6F 70 65 6E 20 66 69 6C "Cannot open fil
0001B0: 65 22 29 0D 0A 0D 0A 3E 70 61 0D 0A 52 45 57 49 e")....>pa..REWI
0001C0: 4E 44 28 29 0D 0A 0D 0A 45 66 66 65 63 74 3A 09 ND()....Effect:.
0001D0: 54 68 65 20 63 75 72 72 65 6E 74 20 69 6E 70 75 The current inpu
0001E0: 74 20 73 74 72 65 61 6D 90 20 69 73 90 20 72 65 t stream. is. re
0001F0: 77 6F 75 6E 64 2E 90 20 49 66 20 74 68 65 20 63 wound.. If the c
Size : 512 (Real : 512)
000000: 75 72 72 65 6E 74 20 0D 8A 09 73 74 72 65 61 6D urrent ...stream
000010: 20 69 73 20 74 68 65 20 6B 65 79 62 6F 61 72 64 is the keyboard
000020: 20 74 68 69 73 90 20 68 61 73 90 20 6E 6F 20 65 this. has. no e
000030: 66 66 65 63 74 2C 20 69 66 20 61 20 66 69 6C 65 ffect, if a file
000040: 20 0D 8A 09 74 68 65 20 66 69 6C 65 20 70 6F 69 ...the file poi
000050: 6E 74 65 72 20 69 73 20 73 65 74 20 74 6F 90 20 nter is set to.
000060: 74 68 65 90 20 73 74 61 72 74 20 6F 66 20 74 68 the. start of th
000070: 65 20 66 69 6C 65 2C 20 73 6F 20 0D 8A 09 74 68 e file, so ...th
000080: 65 20 6E 65 78 74 20 69 6E 70 75 74 20 77 69 6C e next input wil
000090: 6C 20 62 65 20 74 61 6B 65 6E 20 66 72 6F 6D 20 l be taken from
0000A0: 74 68 65 20 73 74 61 72 74 2E 20 52 45 57 49 4E the start. REWIN
0000B0: 44 20 69 73 20 0D 8A 09 6E 6F 74 20 70 72 6F 76 D is ...not prov
0000C0: 69 64 65 64 20 69 6E 20 74 68 65 20 41 4D 53 44 ided in the AMSD
0000D0: 4F 53 20 76 65 72 73 69 6F 6E 2E 0D 0A 0D 0A 52 OS version.....R
0000E0: 65 74 75 72 6E 73 3A 09 4E 6F 74 68 69 6E 67 0D eturns:.Nothing.
0000F0: 0A 0D 0A 4C 6F 63 61 74 69 6F 6E 3A 09 43 4C 49 ...Location:.CLI
000100: 42 48 44 52 0D 0A 0D 0A 0D 0A 3E 2D 2D 2D 21 2D BHDR......>---!-
000110: 2D 2D 2D 2D 21 2D 2D 2D 2D 2D 21 2D 2D 2D 2D 2D ----!-----!-----
000120: 2D 2D 21 2D 2D 2D 2D 2D 2D 2D 21 2D 2D 2D 2D 2D --!-------!-----
000130: 2D 2D 21 2D 2D 2D 2D 2D 2D 2D 21 2D 2D 2D 2D 2D --!-------!-----
000140: 2D 2D 21 2D 2D 2D 2D 2D 2D 2D 21 2D 2D 2D 2D 52 --!-------!----R
000150: 0D 0A 0D 0A 45 78 61 6D 70 6C 65 20 6F 66 20 74 ....Example of t
000160: 68 65 20 75 73 65 20 6F 66 20 66 69 6C 65 20 49 he use of file I
000170: 2F 4F 20 72 6F 75 74 69 6E 65 73 3A 0D 0A 0D 0A /O routines:....
000180: 09 09 4C 45 54 20 62 75 66 66 65 72 20 3D 20 56 ..LET buffer = V
000190: 45 43 20 31 30 32 34 0D 0A 09 09 4C 45 54 20 66 EC 1024....LET f
0001A0: 69 6C 65 6E 61 6D 65 20 3D 20 56 45 43 20 32 30 ilename = VEC 20
0001B0: 0D 0A 09 09 77 72 69 74 65 66 28 22 50 6C 65 61 ....writef("Plea
0001C0: 73 65 20 65 6E 74 65 72 20 74 68 65 20 6D 65 73 se enter the mes
0001D0: 73 61 67 65 20 66 69 6C 65 20 6E 61 6D 65 3A 20 sage file name:
0001E0: 22 29 0D 0A 09 09 72 65 61 64 73 28 66 69 6C 65 ")....reads(file
0001F0: 6E 61 6D 65 29 0D 0A 09 09 54 45 53 54 20 66 69 name)....TEST fi
Size : 512 (Real : 512)
000000: 6E 64 69 6E 70 75 74 28 66 69 6C 65 6E 61 6D 65 ndinput(filename
000010: 2C 62 75 66 66 65 72 29 20 54 48 45 4E 0D 0A 09 ,buffer) THEN...
000020: 09 24 28 0D 0A 09 09 20 20 4C 45 54 20 63 68 61 .$(.... LET cha
000030: 72 20 3D 20 3F 0D 0A 09 09 20 20 73 65 6C 65 63 r = ?.... selec
000040: 74 69 6E 70 75 74 28 62 75 66 66 65 72 29 0D 0A tinput(buffer)..
000050: 09 09 20 20 63 68 61 72 20 3A 3D 20 72 64 63 68 .. char := rdch
000060: 28 29 0D 0A 09 09 20 20 55 4E 54 49 4C 20 63 68 ().... UNTIL ch
000070: 61 72 20 3D 20 73 6F 66 74 65 6F 66 63 68 20 4C ar = softeofch L
000080: 4F 47 4F 52 20 63 68 61 72 20 3D 20 65 6E 64 73 OGOR char = ends
000090: 74 72 65 61 6D 63 68 20 44 4F 0D 0A 09 09 20 20 treamch DO....
0000A0: 20 20 24 28 20 77 72 63 68 28 63 68 61 72 29 20 $( wrch(char)
0000B0: 3B 20 63 68 61 72 20 3A 3D 20 72 64 63 68 28 29 ; char := rdch()
0000C0: 20 24 29 0D 0A 09 09 20 20 65 6E 64 72 65 61 64 $).... endread
0000D0: 28 62 75 66 66 65 72 29 0D 0A 09 09 20 20 73 65 (buffer).... se
0000E0: 6C 65 63 74 69 6E 70 75 74 28 76 64 75 73 74 72 lectinput(vdustr
0000F0: 65 61 6D 29 0D 0A 09 09 24 29 0D 0A 09 09 45 4C eam)....$)....EL
000100: 53 45 20 77 72 69 74 65 66 28 22 4E 6F 20 6D 65 SE writef("No me
000110: 73 73 61 67 65 73 2A 4E 22 29 0D 0A 0D 0A 0D 0A ssages*N")......
000120: 54 68 69 73 20 77 69 6C 6C 20 61 73 6B 20 66 6F This will ask fo
000130: 72 20 61 90 20 66 69 6C 65 90 20 6E 61 6D 65 90 r a. file. name.
000140: 20 61 6E 64 90 20 74 68 65 6E 2C 90 20 69 66 20 and. then,. if
000150: 74 68 61 74 20 66 69 6C 65 20 65 78 69 73 74 73 that file exists
000160: 2C 20 77 69 6C 6C 20 0D 8A 70 72 69 6E 74 20 6F , will ..print o
000170: 75 74 20 74 68 65 20 63 6F 6E 74 65 6E 74 73 20 ut the contents
000180: 6F 66 20 69 74 2E 0D 0A 3E 2D 2D 2D 2D 2D 2D 2D of it...>-------
000190: 2D 2D 2D 2D 2D 2D 2D 20 4C 2D 2D 2D 2D 2D 2D 2D ------- L-------
0001A0: 21 2D 2D 2D 2D 2D 2D 2D 21 2D 2D 2D 2D 2D 2D 2D !-------!-------
0001B0: 21 2D 2D 2D 2D 2D 2D 2D 21 2D 2D 2D 2D 2D 2D 2D !-------!-------
0001C0: 21 2D 2D 2D 2D 2D 2D 2D 21 2D 2D 2D 2D 52 0D 0A !-------!----R..
0001D0: 3E 2D 2D 2D 21 2D 2D 2D 2D 2D 21 2D 2D 2D 2D 2D >---!-----!-----
0001E0: 21 2D 2D 2D 2D 2D 2D 2D 21 2D 2D 2D 2D 2D 2D 2D !-------!-------
0001F0: 21 2D 2D 2D 2D 2D 2D 2D 21 2D 2D 2D 2D 2D 2D 2D !-------!-------
Size : 512 (Real : 512)
000000: 21 2D 2D 2D 2D 2D 2D 2D 21 2D 2D 2D 2D 2D 2D 2D !-------!-------
000010: 21 2D 2D 2D 2D 52 0D 0A 3E 70 61 0D 0A E2 28 65 !----R..>pa...(e
000020: 29 20 54 68 65 20 50 72 69 6D 69 74 69 76 65 20 ) The Primitive
000030: 49 2F 4F 20 4F 70 65 72 61 74 69 6F 6E 73 E2 0D I/O Operations..
000040: 0A 0D 0A 09 54 68 65 20 6C 69 62 72 61 72 79 20 ....The library
000050: 63 6F 6E 74 61 69 6E 73 90 20 70 72 69 6D 69 74 contains. primit
000060: 69 76 65 90 20 72 6F 75 74 69 6E 65 73 90 20 66 ive. routines. f
000070: 6F 72 90 20 72 65 61 64 69 6E 67 2F 77 72 69 74 or. reading/writ
000080: 69 6E 67 20 74 6F 20 0D 8A 66 69 6C 65 73 2C 20 ing to ..files,
000090: 72 65 61 64 69 6E 67 2F 77 72 69 74 69 6E 67 20 reading/writing
0000A0: 74 6F 20 74 68 65 90 20 56 44 55 2C 90 20 61 6E to the. VDU,. an
0000B0: 64 90 20 77 72 69 74 69 6E 67 90 20 74 6F 20 74 d. writing. to t
0000C0: 68 65 20 70 72 69 6E 74 65 72 2E 20 54 68 65 20 he printer. The
0000D0: 0D 8A 68 69 67 68 65 72 20 6C 65 76 65 6C 20 52 ..higher level R
0000E0: 44 43 48 20 61 6E 64 20 57 52 43 48 20 72 6F 75 DCH and WRCH rou
0000F0: 74 69 6E 65 73 20 73 77 69 74 63 68 20 62 65 74 tines switch bet
000100: 77 65 65 6E 20 74 68 65 73 65 20 72 6F 75 74 69 ween these routi
000110: 6E 65 73 20 77 68 65 6E 20 0D 8A 63 61 6C 6C 65 nes when ..calle
000120: 64 20 75 70 6F 6E 20 74 6F 20 64 6F 90 20 73 6F d upon to do. so
000130: 90 20 62 79 90 20 53 45 4C 45 43 54 49 4E 50 55 . by. SELECTINPU
000140: 54 90 20 6F 72 90 20 53 45 4C 45 43 54 4F 55 54 T. or. SELECTOUT
000150: 50 55 54 2E 90 20 49 74 20 69 73 20 71 75 69 74 PUT.. It is quit
000160: 65 20 0D 8A 70 6F 73 73 69 62 6C 65 20 74 6F 20 e ..possible to
000170: 75 73 65 20 74 68 65 20 70 72 69 6D 69 74 69 76 use the primitiv
000180: 65 90 20 72 6F 75 74 69 6E 65 73 90 20 73 65 70 e. routines. sep
000190: 61 72 61 74 65 6C 79 20 66 72 6F 6D 20 52 44 43 arately from RDC
0001A0: 48 2F 57 52 43 48 20 61 6E 64 20 0D 8A 73 6F 20 H/WRCH and ..so
0001B0: 72 65 61 64 2F 77 72 69 74 65 20 66 69 6C 65 73 read/write files
0001C0: 20 61 6E 64 20 74 68 65 90 20 73 63 72 65 65 6E and the. screen
0001D0: 2F 6B 65 79 62 6F 61 72 64 90 20 61 74 20 74 68 /keyboard. at th
0001E0: 65 20 73 61 6D 65 20 74 69 6D 65 20 77 69 74 68 e same time with
0001F0: 6F 75 74 20 0D 8A 75 73 69 6E 67 20 53 45 4C 45 out ..using SELE
Size : 512 (Real : 512)
000000: 43 54 49 4E 50 55 54 20 6F 72 20 53 45 4C 45 43 CTINPUT or SELEC
000010: 54 4F 55 54 50 55 54 2E 90 20 54 68 65 73 65 90 TOUTPUT.. These.
000020: 20 72 6F 75 74 69 6E 65 73 90 20 61 72 65 20 52 routines. are R
000030: 44 56 44 55 2C 20 57 52 56 44 55 2C 20 0D 8A 52 DVDU, WRVDU, ..R
000040: 45 41 44 43 48 20 61 6E 64 20 57 52 49 54 45 43 EADCH and WRITEC
000050: 48 2E 0D 0A 0D 0A 3E 2D 2D 2D 2D 2D 2D 2D 2D 2D H.....>---------
000060: 2D 2D 2D 2D 2D 20 4C 2D 2D 2D 2D 2D 2D 2D 21 2D ----- L-------!-
000070: 2D 2D 2D 2D 2D 2D 21 2D 2D 2D 2D 2D 2D 2D 21 2D ------!-------!-
000080: 2D 2D 2D 2D 2D 2D 21 2D 2D 2D 2D 2D 2D 2D 21 2D ------!-------!-
000090: 2D 2D 2D 2D 2D 2D 21 2D 2D 2D 2D 52 0D 0A 0D 0A ------!----R....
0000A0: 0D 0A 0D 0A 43 4C 4F 53 45 49 4E 28 62 75 66 66 ....CLOSEIN(buff
0000B0: 65 72 29 0D 0A 0D 0A 45 66 66 65 63 74 3A 09 54 er)....Effect:.T
0000C0: 68 65 20 69 6E 70 75 74 20 66 69 6C 65 20 61 73 he input file as
0000D0: 73 6F 63 69 61 74 65 64 20 77 69 74 68 20 74 68 sociated with th
0000E0: 65 20 62 75 66 66 65 72 20 69 73 20 63 6C 6F 73 e buffer is clos
0000F0: 65 64 2E 0D 0A 0D 0A 52 65 74 75 72 6E 73 3A 09 ed.....Returns:.
000100: 54 52 55 45 20 69 66 20 74 68 65 90 20 66 69 6C TRUE if the. fil
000110: 65 90 20 77 61 73 90 20 63 6C 6F 73 65 64 90 20 e. was. closed.
000120: 73 75 63 63 65 73 73 66 75 6C 6C 79 2C 20 46 41 successfully, FA
000130: 4C 53 45 20 69 66 20 0D 8A 09 6E 6F 74 2E 0D 0A LSE if ...not...
000140: 0D 0A 4C 6F 63 61 74 69 6F 6E 3A 09 43 4C 49 42 ..Location:.CLIB
000150: 48 44 52 2C 20 41 4C 49 42 48 44 52 0D 0A 0D 0A HDR, ALIBHDR....
000160: 0D 0A 43 4C 4F 53 45 4F 55 54 28 62 75 66 66 65 ..CLOSEOUT(buffe
000170: 72 29 0D 0A 0D 0A 45 66 66 65 63 74 3A 09 54 68 r)....Effect:.Th
000180: 65 20 6F 75 74 70 75 74 20 66 69 6C 65 20 61 73 e output file as
000190: 73 6F 63 69 61 74 65 64 20 77 69 74 68 90 20 74 sociated with. t
0001A0: 68 65 20 62 75 66 66 65 72 20 69 73 20 63 6C 6F he buffer is clo
0001B0: 73 65 64 2E 20 0D 8A 09 49 74 90 20 69 73 90 20 sed. ...It. is.
0001C0: 65 73 73 65 6E 74 69 61 6C 90 90 20 74 68 61 74 essential.. that
0001D0: 90 90 20 65 69 74 68 65 72 90 90 20 74 68 69 73 .. either.. this
0001E0: 90 90 20 72 6F 75 74 69 6E 65 90 20 6F 72 20 0D .. routine. or .
0001F0: 8A 09 45 4E 44 57 52 49 54 45 20 69 73 20 75 73 ..ENDWRITE is us
Size : 512 (Real : 512)
000000: 65 64 20 61 66 74 65 72 20 77 72 69 74 69 6E 67 ed after writing
000010: 20 74 6F 20 61 20 66 69 6C 65 2C 20 61 73 20 69 to a file, as i
000020: 74 20 63 61 75 73 65 73 20 0D 8A 09 74 68 65 20 t causes ...the
000030: 6C 61 73 74 20 73 65 63 74 69 6F 6E 20 6F 66 20 last section of
000040: 64 61 74 61 20 74 6F 20 62 65 20 77 72 69 74 74 data to be writt
000050: 65 6E 20 74 6F 20 74 68 65 20 64 69 73 63 2E 0D en to the disc..
000060: 0A 0D 0A 52 65 74 75 72 6E 73 3A 09 54 52 55 45 ...Returns:.TRUE
000070: 20 69 66 20 74 68 65 20 66 69 6C 65 20 77 61 73 if the file was
000080: 20 63 6C 6F 73 65 64 20 73 75 63 63 65 73 73 66 closed successf
000090: 75 6C 6C 79 2C 20 65 6C 73 65 20 46 41 4C 53 45 ully, else FALSE
0000A0: 2E 0D 0A 0D 0A 4C 6F 63 61 74 69 6F 6E 3A 09 43 .....Location:.C
0000B0: 4C 49 42 48 44 52 2C 20 41 4C 49 42 48 44 52 0D LIBHDR, ALIBHDR.
0000C0: 0A 0D 0A 0D 0A 46 4C 55 53 48 28 29 0D 0A 0D 0A .....FLUSH()....
0000D0: 45 66 66 65 63 74 3A 09 45 6D 70 74 69 65 73 20 Effect:.Empties
0000E0: 74 68 65 20 6B 65 79 62 6F 61 72 64 20 62 75 66 the keyboard buf
0000F0: 66 65 72 2E 0D 0A 0D 0A 52 65 74 75 72 6E 73 3A fer.....Returns:
000100: 09 4E 6F 74 68 69 6E 67 0D 0A 0D 0A 4C 6F 63 61 .Nothing....Loca
000110: 74 69 6F 6E 3A 09 43 4C 49 42 48 44 52 2C 20 41 tion:.CLIBHDR, A
000120: 4C 49 42 48 44 52 0D 0A 0D 0A 3E 70 61 0D 0A 50 LIBHDR....>pa..P
000130: 52 42 55 53 59 28 29 0D 0A 0D 0A 45 66 66 65 63 RBUSY()....Effec
000140: 74 3A 09 46 69 6E 64 73 20 6F 75 74 20 69 66 20 t:.Finds out if
000150: 74 68 65 20 70 72 69 6E 74 65 72 20 69 73 20 62 the printer is b
000160: 75 73 79 2E 0D 0A 0D 0A 52 65 74 75 72 6E 73 3A usy.....Returns:
000170: 09 54 52 55 45 20 69 66 20 62 75 73 79 2C 20 46 .TRUE if busy, F
000180: 41 4C 53 45 20 69 66 20 6E 6F 74 0D 0A 0D 0A 4C ALSE if not....L
000190: 6F 63 61 74 69 6F 6E 3A 09 43 4C 49 42 48 44 52 ocation:.CLIBHDR
0001A0: 2C 20 41 4C 49 42 48 44 52 0D 0A 0D 0A 45 78 61 , ALIBHDR....Exa
0001B0: 6D 70 6C 65 3A 09 49 46 20 70 72 62 75 73 79 28 mple:.IF prbusy(
0001C0: 29 20 54 48 45 4E 20 77 72 69 74 65 73 28 22 50 ) THEN writes("P
0001D0: 75 74 20 74 68 65 20 70 72 69 6E 74 65 72 20 6F ut the printer o
0001E0: 6E 20 6C 69 6E 65 2A 4E 22 29 0D 0A 09 57 48 49 n line*N")...WHI
0001F0: 4C 45 20 70 72 62 75 73 79 28 29 20 4C 4F 4F 50 LE prbusy() LOOP
Size : 512 (Real : 512)
000000: 0D 0A 0D 0A 0D 0A 50 52 43 48 28 63 68 61 72 29 ......PRCH(char)
000010: 0D 0A 0D 0A 45 66 66 65 63 74 3A 09 53 65 6E 64 ....Effect:.Send
000020: 73 20 61 20 63 68 61 72 61 63 74 65 72 20 74 6F s a character to
000030: 90 20 74 68 65 90 20 70 72 69 6E 74 65 72 2E 90 . the. printer..
000040: 20 49 66 20 74 68 65 20 70 72 69 6E 74 65 72 20 If the printer
000050: 69 73 20 0D 8A 09 62 75 73 79 20 74 68 65 6E 20 is ...busy then
000060: 50 52 43 48 20 77 61 69 74 73 20 75 6E 74 69 6C PRCH waits until
000070: 90 20 74 68 65 20 63 68 61 72 61 63 74 65 72 20 . the character
000080: 63 61 6E 20 62 65 20 73 65 6E 74 2E 20 0D 8A 09 can be sent. ...
000090: 50 52 42 55 53 59 20 73 68 6F 75 6C 64 20 62 65 PRBUSY should be
0000A0: 20 75 73 65 64 90 20 74 6F 90 20 74 65 73 74 90 used. to. test.
0000B0: 20 66 6F 72 20 74 68 65 20 70 72 69 6E 74 65 72 for the printer
0000C0: 20 62 65 69 6E 67 20 0D 8A 09 62 75 73 79 2E 20 being ...busy.
0000D0: 54 68 69 73 20 72 6F 75 74 69 6E 65 20 69 73 20 This routine is
0000E0: 63 61 6C 6C 65 64 20 62 79 20 57 52 43 48 20 69 called by WRCH i
0000F0: 66 20 74 68 65 20 70 72 69 6E 74 65 72 20 69 73 f the printer is
000100: 20 0D 8A 09 74 68 65 20 73 65 6C 65 63 74 65 64 ...the selected
000110: 20 6F 75 74 70 75 74 20 73 74 72 65 61 6D 2E 0D output stream..
000120: 0A 0D 0A 52 65 74 75 72 6E 73 3A 09 54 52 55 45 ...Returns:.TRUE
000130: 0D 0A 0D 0A 4C 6F 63 61 74 69 6F 6E 3A 09 43 4C ....Location:.CL
000140: 49 42 48 44 52 2C 20 41 4C 49 42 48 44 52 0D 0A IBHDR, ALIBHDR..
000150: 0D 0A 0D 0A 52 44 54 45 53 54 28 29 0D 0A 0D 0A ....RDTEST()....
000160: 45 66 66 65 63 74 3A 09 46 69 6E 64 73 20 6F 75 Effect:.Finds ou
000170: 74 20 69 66 20 61 20 6B 65 79 20 68 61 73 20 62 t if a key has b
000180: 65 65 6E 20 70 72 65 73 73 65 64 2E 0D 0A 0D 0A een pressed.....
000190: 52 65 74 75 72 6E 73 3A 09 54 52 55 45 20 69 66 Returns:.TRUE if
0001A0: 20 61 20 6B 65 79 20 68 61 73 20 62 65 65 6E 20 a key has been
0001B0: 70 72 65 73 73 65 64 2C 20 46 41 4C 53 45 20 69 pressed, FALSE i
0001C0: 66 20 6E 6F 74 2E 0D 0A 0D 0A 4C 6F 63 61 74 69 f not.....Locati
0001D0: 6F 6E 3A 09 43 4C 49 42 48 44 52 2C 20 41 4C 49 on:.CLIBHDR, ALI
0001E0: 42 48 44 52 0D 0A 0D 0A 45 78 61 6D 70 6C 65 3A BHDR....Example:
0001F0: 09 57 48 49 4C 45 20 72 64 74 65 73 74 28 29 20 .WHILE rdtest()
Size : 512 (Real : 512)
000000: 44 4F 20 72 64 63 68 28 29 0D 0A 0D 0A 0D 0A 52 DO rdch()......R
000010: 44 56 44 55 28 29 0D 0A 0D 0A 45 66 66 65 63 74 DVDU()....Effect
000020: 3A 09 52 65 61 64 73 20 61 90 20 63 68 61 72 61 :.Reads a. chara
000030: 63 74 65 72 90 20 66 72 6F 6D 90 20 74 68 65 90 cter. from. the.
000040: 20 6B 65 79 62 6F 61 72 64 2C 90 20 77 68 61 74 keyboard,. what
000050: 65 76 65 72 20 74 68 65 20 0D 8A 09 63 75 72 72 ever the ...curr
000060: 65 6E 74 6C 79 90 20 73 65 6C 65 63 74 65 64 90 ently. selected.
000070: 20 69 6E 70 75 74 90 20 73 74 72 65 61 6D 2E 90 input. stream..
000080: 20 54 68 69 73 90 20 72 6F 75 74 69 6E 65 90 20 This. routine.
000090: 69 73 20 0D 8A 09 63 61 6C 6C 65 64 20 62 79 20 is ...called by
0000A0: 52 44 43 48 20 69 66 20 74 68 65 90 20 6B 65 79 RDCH if the. key
0000B0: 62 6F 61 72 64 90 20 69 73 20 74 68 65 20 73 65 board. is the se
0000C0: 6C 65 63 74 65 64 20 69 6E 70 75 74 20 0D 8A 09 lected input ...
0000D0: 73 74 72 65 61 6D 2E 20 52 44 56 44 55 20 69 73 stream. RDVDU is
0000E0: 20 70 72 65 2D 64 65 66 69 6E 65 64 90 20 69 6E pre-defined. in
0000F0: 90 20 74 68 65 20 43 50 2F 4D 20 63 6F 6D 70 69 . the CP/M compi
000100: 6C 65 72 20 73 6F 20 0D 8A 09 74 68 61 74 20 69 ler so ...that i
000110: 74 90 20 63 61 6E 90 20 62 75 66 66 65 72 90 20 t. can. buffer.
000120: 63 68 61 72 61 63 74 65 72 73 90 20 74 6F 90 20 characters. to.
000130: 61 6C 6C 6F 77 90 20 66 6F 72 20 62 72 65 61 6B allow. for break
000140: 20 0D 8A 09 74 65 73 74 69 6E 67 20 77 69 74 68 ...testing with
000150: 6F 75 74 20 6C 6F 73 69 6E 67 20 63 68 61 72 61 out losing chara
000160: 63 74 65 72 73 2E 0D 0A 0D 0A 52 65 74 75 72 6E cters.....Return
000170: 73 3A 09 54 68 65 20 63 68 61 72 61 63 74 65 72 s:.The character
000180: 20 72 65 61 64 2E 0D 0A 0D 0A 4C 6F 63 61 74 69 read.....Locati
000190: 6F 6E 3A 09 50 72 65 2D 64 65 66 69 6E 65 64 20 on:.Pre-defined
0001A0: 69 6E 20 43 50 2F 4D 20 63 6F 6D 70 69 6C 65 72 in CP/M compiler
0001B0: 2C 20 41 4C 49 42 48 44 52 0D 0A 0D 0A 3E 70 61 , ALIBHDR....>pa
0001C0: 0D 0A 52 45 41 44 43 48 28 62 75 66 66 65 72 29 ..READCH(buffer)
0001D0: 09 0D 0A 09 0D 0A 45 66 66 65 63 74 3A 09 52 65 ......Effect:.Re
0001E0: 61 64 73 20 61 20 63 68 61 72 61 63 74 65 72 20 ads a character
0001F0: 66 72 6F 6D 20 61 90 20 66 69 6C 65 2C 20 77 68 from a. file, wh
Size : 512 (Real : 512)
000000: 61 74 65 76 65 72 20 74 68 65 20 63 75 72 72 65 atever the curre
000010: 6E 74 6C 79 20 0D 8A 09 73 65 6C 65 63 74 65 64 ntly ...selected
000020: 20 69 6E 70 75 74 20 73 74 72 65 61 6D 2E 20 54 input stream. T
000030: 68 65 20 62 75 66 66 65 72 90 20 69 73 20 6E 6F he buffer. is no
000040: 74 20 6E 65 65 64 65 64 20 75 6E 64 65 72 20 0D t needed under .
000050: 8A 09 41 4D 53 44 4F 53 2E 20 54 68 69 73 20 72 ..AMSDOS. This r
000060: 6F 75 74 69 6E 65 20 69 73 20 63 61 6C 6C 65 64 outine is called
000070: 90 20 62 79 90 20 52 44 43 48 90 20 69 66 20 61 . by. RDCH. if a
000080: 20 66 69 6C 65 20 69 73 20 0D 8A 09 74 68 65 20 file is ...the
000090: 73 65 6C 65 63 74 65 64 20 69 6E 70 75 74 20 73 selected input s
0000A0: 74 72 65 61 6D 2E 0D 0A 0D 0A 52 65 74 75 72 6E tream.....Return
0000B0: 73 3A 09 54 68 65 20 63 68 61 72 61 63 74 65 72 s:.The character
0000C0: 20 72 65 61 64 2E 0D 0A 0D 0A 4C 6F 63 61 74 69 read.....Locati
0000D0: 6F 6E 3A 09 43 4C 49 42 48 44 52 2C 20 41 4C 49 on:.CLIBHDR, ALI
0000E0: 42 48 44 52 0D 0A 0D 0A 0D 0A 52 45 57 49 4E 44 BHDR......REWIND
0000F0: 49 4E 28 62 75 66 66 65 72 29 0D 0A 0D 0A 45 66 IN(buffer)....Ef
000100: 66 65 63 74 3A 09 54 68 65 20 66 69 6C 65 20 70 fect:.The file p
000110: 6F 69 6E 74 65 72 20 66 6F 72 20 74 68 65 20 73 ointer for the s
000120: 70 65 63 69 66 69 65 64 90 20 66 69 6C 65 20 69 pecified. file i
000130: 73 20 73 65 74 20 74 6F 20 74 68 65 20 0D 8A 09 s set to the ...
000140: 73 74 61 72 74 20 6F 66 20 74 68 65 20 66 69 6C start of the fil
000150: 65 2E 20 54 68 69 73 20 72 6F 75 74 69 6E 65 20 e. This routine
000160: 69 73 20 63 61 6C 6C 65 64 20 62 79 20 52 45 57 is called by REW
000170: 49 4E 44 20 69 66 20 0D 8A 09 61 20 66 69 6C 65 IND if ...a file
000180: 20 69 73 20 74 68 65 20 73 65 6C 65 63 74 65 64 is the selected
000190: 90 20 69 6E 70 75 74 90 20 73 74 72 65 61 6D 2E . input. stream.
0001A0: 20 52 45 57 49 4E 44 49 4E 20 69 73 20 6E 6F 74 REWINDIN is not
0001B0: 20 0D 8A 09 70 72 6F 76 69 64 65 64 20 69 6E 20 ...provided in
0001C0: 74 68 65 20 41 4D 53 44 4F 53 20 76 65 72 73 69 the AMSDOS versi
0001D0: 6F 6E 2E 0D 0A 0D 0A 52 65 74 75 72 6E 73 3A 09 on.....Returns:.
0001E0: 4E 6F 74 68 69 6E 67 0D 0A 0D 0A 4C 6F 63 61 74 Nothing....Locat
0001F0: 69 6F 6E 3A 09 43 4C 49 42 48 44 52 0D 0A 0D 0A ion:.CLIBHDR....
Size : 512 (Real : 512)
000000: 0D 0A 57 52 49 54 45 43 48 28 63 68 61 72 2C 62 ..WRITECH(char,b
000010: 75 66 66 65 72 29 0D 0A 0D 0A 45 66 66 65 63 74 uffer)....Effect
000020: 3A 09 57 72 69 74 65 73 20 61 20 63 68 61 72 61 :.Writes a chara
000030: 63 74 65 72 20 74 6F 90 20 61 90 20 66 69 6C 65 cter to. a. file
000040: 2C 20 77 68 61 74 65 76 65 72 20 74 68 65 20 63 , whatever the c
000050: 75 72 72 65 6E 74 6C 79 20 0D 8A 09 73 65 6C 65 urrently ...sele
000060: 63 74 65 64 20 6F 75 74 70 75 74 20 73 74 72 65 cted output stre
000070: 61 6D 2E 20 54 68 65 20 62 75 66 66 65 72 20 69 am. The buffer i
000080: 73 20 6E 6F 74 20 6E 65 65 64 65 64 20 75 6E 64 s not needed und
000090: 65 72 20 0D 8A 09 41 4D 53 44 4F 53 2E 20 54 68 er ...AMSDOS. Th
0000A0: 69 73 20 72 6F 75 74 69 6E 65 20 69 73 20 63 61 is routine is ca
0000B0: 6C 6C 65 64 90 20 62 79 90 20 57 52 43 48 90 20 lled. by. WRCH.
0000C0: 69 73 20 61 20 66 69 6C 65 20 69 73 20 0D 8A 09 is a file is ...
0000D0: 74 68 65 20 73 65 6C 65 63 74 65 64 20 6F 75 74 the selected out
0000E0: 70 75 74 20 73 74 72 65 61 6D 2E 0D 0A 0D 0A 52 put stream.....R
0000F0: 65 74 75 72 6E 73 3A 09 54 52 55 45 20 69 66 20 eturns:.TRUE if
000100: 73 75 63 63 65 73 73 66 75 6C 2C 20 46 41 4C 53 successful, FALS
000110: 45 20 69 66 20 61 20 64 69 73 63 20 65 72 72 6F E if a disc erro
000120: 72 20 6F 63 63 75 72 72 65 64 0D 0A 09 0D 0A 4C r occurred.....L
000130: 6F 63 61 74 69 6F 6E 3A 09 43 4C 49 42 48 44 52 ocation:.CLIBHDR
000140: 2C 20 41 4C 49 42 48 44 52 0D 0A 0D 0A 45 78 61 , ALIBHDR....Exa
000150: 6D 70 6C 65 73 3A 09 77 72 69 74 65 63 68 28 27 mples:.writech('
000160: 24 27 2C 6F 75 74 66 69 6C 65 62 75 66 29 09 09 $',outfilebuf)..
000170: 2F 2F 20 43 50 2F 4D 20 76 65 72 73 69 6F 6E 0D // CP/M version.
000180: 0A 09 77 72 69 74 65 63 68 28 27 24 27 29 09 09 ..writech('$')..
000190: 09 2F 2F 20 41 4D 53 44 4F 53 20 76 65 72 73 69 .// AMSDOS versi
0001A0: 6F 6E 0D 0A 0D 0A 0D 0A 57 52 56 44 55 28 63 68 on......WRVDU(ch
0001B0: 61 72 29 0D 0A 0D 0A 45 66 66 65 63 74 3A 09 57 ar)....Effect:.W
0001C0: 72 69 74 65 73 90 20 61 90 20 63 68 61 72 61 63 rites. a. charac
0001D0: 74 65 72 90 20 74 6F 90 90 20 74 68 65 90 20 73 ter. to.. the. s
0001E0: 63 72 65 65 6E 2C 90 20 77 68 61 74 65 76 65 72 creen,. whatever
0001F0: 90 20 74 68 65 20 0D 8A 09 63 75 72 72 65 6E 74 . the ...current
Size : 512 (Real : 512)
000000: 6C 79 20 73 65 6C 65 63 74 65 64 90 20 6F 75 74 ly selected. out
000010: 70 75 74 90 20 73 74 72 65 61 6D 2E 90 20 54 68 put. stream.. Th
000020: 69 73 90 20 72 6F 75 74 69 6E 65 90 20 69 73 20 is. routine. is
000030: 0D 8A 09 63 61 6C 6C 65 64 20 62 79 20 57 52 43 ...called by WRC
000040: 48 20 69 66 90 20 74 68 65 90 20 73 63 72 65 65 H if. the. scree
000050: 6E 90 20 69 73 20 74 68 65 20 73 65 6C 65 63 74 n. is the select
000060: 65 64 20 6F 75 74 70 75 74 20 0D 8A 09 73 74 72 ed output ...str
000070: 65 61 6D 2E 0D 0A 0D 0A 52 65 74 75 72 6E 73 3A eam.....Returns:
000080: 09 54 52 55 45 0D 0A 0D 0A 4C 6F 63 61 74 69 6F .TRUE....Locatio
000090: 6E 3A 09 43 4C 49 42 48 44 52 2C 20 41 4C 49 42 n:.CLIBHDR, ALIB
0000A0: 48 44 52 0D 0A 3E 70 61 0D 0A E2 28 66 29 20 4D HDR..>pa...(f) M
0000B0: 69 73 63 65 6C 6C 61 6E 65 6F 75 73 20 52 6F 75 iscellaneous Rou
0000C0: 74 69 6E 65 73 E2 0D 0A 0D 0A 0D 0A 41 50 54 4F tines.......APTO
0000D0: 56 45 43 28 66 75 6E 63 74 69 6F 6E 2C 61 72 72 VEC(function,arr
0000E0: 61 79 73 69 7A 65 29 0D 0A 0D 0A 45 66 66 65 63 aysize)....Effec
0000F0: 74 3A 09 54 68 69 73 20 77 69 6C 6C 20 63 72 65 t:.This will cre
000100: 61 74 65 20 61 20 64 79 6E 61 6D 69 63 20 61 72 ate a dynamic ar
000110: 72 61 79 20 6F 66 20 73 69 7A 65 20 61 72 72 61 ray of size arra
000120: 79 73 69 7A 65 20 61 6E 64 20 0D 8A 09 74 68 65 ysize and ...the
000130: 6E 20 70 61 73 73 20 74 68 65 20 61 64 64 72 65 n pass the addre
000140: 73 73 90 20 6F 66 90 20 74 68 69 73 90 20 61 72 ss. of. this. ar
000150: 72 61 79 90 20 61 6C 6F 6E 67 20 77 69 74 68 20 ray. along with
000160: 69 74 73 20 0D 8A 09 73 69 7A 65 20 74 6F 20 74 its ...size to t
000170: 68 65 20 66 75 6E 63 74 69 6F 6E 2E 20 49 74 20 he function. It
000180: 77 69 6C 6C 20 72 65 74 75 72 6E 20 74 68 65 20 will return the
000190: 72 65 73 75 6C 74 20 6F 66 20 74 68 65 20 0D 8A result of the ..
0001A0: 09 66 75 6E 63 74 69 6F 6E 20 61 6E 64 20 69 73 .function and is
0001B0: 20 65 71 75 69 76 61 6C 65 6E 74 20 74 6F 3A 0D equivalent to:.
0001C0: 0A 0D 0A 09 4C 45 54 20 61 70 74 6F 76 65 63 28 ....LET aptovec(
0001D0: 66 75 6E 63 74 69 6F 6E 2C 61 72 72 61 79 73 69 function,arraysi
0001E0: 7A 65 29 20 3D 20 56 41 4C 4F 46 0D 0A 0D 0A 09 ze) = VALOF.....
0001F0: 24 28 20 20 4C 45 54 20 76 20 3D 20 56 45 43 20 $( LET v = VEC
Size : 512 (Real : 512)
000000: 61 72 72 61 79 73 69 7A 65 09 2F 2F 20 69 6C 6C arraysize.// ill
000010: 65 67 61 6C 20 69 6E 20 42 43 50 4C 0D 0A 09 20 egal in BCPL...
000020: 20 20 20 52 45 53 55 4C 54 49 53 20 66 75 6E 63 RESULTIS func
000030: 74 69 6F 6E 28 76 2C 61 72 72 61 79 73 69 7A 65 tion(v,arraysize
000040: 29 0D 0A 09 24 29 0D 0A 0D 0A 52 65 74 75 72 6E )...$)....Return
000050: 73 3A 09 74 68 65 20 76 61 6C 75 65 20 72 65 74 s:.the value ret
000060: 75 72 6E 65 64 20 62 79 20 74 68 65 20 66 75 6E urned by the fun
000070: 63 74 69 6F 6E 0D 0A 0D 0A 4C 6F 63 61 74 69 6F ction....Locatio
000080: 6E 3A 09 50 72 65 2D 64 65 66 69 6E 65 64 2C 20 n:.Pre-defined,
000090: 70 72 65 2D 64 65 66 69 6E 65 64 0D 0A 0D 0A 0D pre-defined.....
0000A0: 0A 42 59 54 45 4D 4F 56 45 28 73 74 61 72 74 2C .BYTEMOVE(start,
0000B0: 64 65 73 74 2C 73 69 7A 65 29 0D 0A 0D 0A 45 66 dest,size)....Ef
0000C0: 66 65 63 74 3A 09 54 68 69 73 20 69 73 20 61 90 fect:.This is a.
0000D0: 20 62 6C 6F 63 6B 90 20 62 79 74 65 90 20 6D 6F block. byte. mo
0000E0: 76 65 90 20 72 6F 75 74 69 6E 65 2E 90 20 49 74 ve. routine.. It
0000F0: 90 20 77 6F 72 6B 73 20 77 69 74 68 20 0D 8A 09 . works with ...
000100: 61 63 74 75 61 6C 20 62 79 74 65 20 61 64 64 72 actual byte addr
000110: 65 73 73 65 73 20 28 74 68 61 74 90 20 69 73 90 esses (that. is.
000120: 20 74 68 65 20 61 64 64 72 65 73 73 65 73 20 75 the addresses u
000130: 73 65 64 20 62 79 20 0D 8A 09 74 68 65 20 5A 38 sed by ...the Z8
000140: 30 20 70 72 6F 63 65 73 73 6F 72 29 20 73 6F 90 0 processor) so.
000150: 20 69 66 90 20 61 72 72 61 79 90 20 6E 61 6D 65 if. array. name
000160: 73 90 20 61 72 65 20 75 73 65 64 20 61 73 20 61 s. are used as a
000170: 20 0D 8A 09 70 61 72 61 6D 65 74 65 72 20 74 68 ...parameter th
000180: 65 6E 20 74 68 65 79 90 20 73 68 6F 75 6C 64 90 en they. should.
000190: 20 62 65 90 20 6D 75 6C 74 69 70 6C 69 65 64 90 be. multiplied.
0001A0: 20 62 79 20 74 77 6F 20 61 73 20 0D 8A 09 42 43 by two as ...BC
0001B0: 50 4C 20 77 6F 72 6B 73 20 77 69 74 68 20 77 6F PL works with wo
0001C0: 72 64 20 61 64 64 72 65 73 73 65 73 2E 20 54 68 rd addresses. Th
0001D0: 65 20 6F 6C 64 20 61 6E 64 20 6E 65 77 20 62 6C e old and new bl
0001E0: 6F 63 6B 73 20 0D 8A 09 6D 61 79 20 6F 76 65 72 ocks ...may over
0001F0: 6C 61 70 2E 0D 0A 0D 0A 52 65 74 75 72 6E 73 3A lap.....Returns:
Size : 512 (Real : 512)
000000: 09 4E 6F 74 68 69 6E 67 0D 0A 0D 0A 4C 6F 63 61 .Nothing....Loca
000010: 74 69 6F 6E 3A 09 43 4C 49 42 48 44 52 31 2C 20 tion:.CLIBHDR1,
000020: 41 4C 49 42 48 44 52 31 0D 0A 0D 0A 45 78 61 6D ALIBHDR1....Exam
000030: 70 6C 65 3A 09 62 79 74 65 6D 6F 76 65 28 62 75 ple:.bytemove(bu
000040: 66 66 65 72 2A 32 2B 33 36 2C 62 75 66 66 65 72 ffer*2+36,buffer
000050: 2A 32 2B 31 36 2C 31 36 29 0D 0A 0D 0A 0D 0A 43 *2+16,16)......C
000060: 41 4C 4C 28 61 64 64 72 65 73 73 2C 40 61 66 2C ALL(address,@af,
000070: 40 62 63 2C 40 64 65 2C 40 68 6C 2C 40 69 78 29 @bc,@de,@hl,@ix)
000080: 0D 0A 0D 0A 45 66 66 65 63 74 3A 09 43 61 6C 6C ....Effect:.Call
000090: 73 20 61 20 6D 61 63 68 69 6E 65 20 63 6F 64 65 s a machine code
0000A0: 90 20 72 6F 75 74 69 6E 65 90 20 61 74 90 20 61 . routine. at. a
0000B0: 20 62 79 74 65 20 61 64 64 72 65 73 73 2E 20 41 byte address. A
0000C0: 6C 6C 20 0D 8A 09 70 61 72 61 6D 65 74 65 72 73 ll ...parameters
0000D0: 20 4D 55 53 54 20 62 65 90 20 73 75 70 70 6C 69 MUST be. suppli
0000E0: 65 64 90 20 61 73 90 20 76 61 6C 75 65 73 20 61 ed. as. values a
0000F0: 72 65 20 72 65 74 75 72 6E 65 64 2E 20 0D 8A 09 re returned. ...
000100: 54 68 65 20 76 61 6C 75 65 73 20 72 65 74 75 72 The values retur
000110: 6E 65 64 20 62 79 90 20 74 68 65 90 20 6D 61 63 ned by. the. mac
000120: 68 69 6E 65 90 20 63 6F 64 65 20 72 6F 75 74 69 hine. code routi
000130: 6E 65 20 61 72 65 20 0D 8A 09 70 61 73 73 65 64 ne are ...passed
000140: 20 62 61 63 6B 20 69 6E 20 74 68 65 20 76 61 72 back in the var
000150: 69 61 62 6C 65 73 2E 0D 0A 0D 0A 52 65 74 75 72 iables.....Retur
000160: 6E 73 3A 09 4E 6F 74 68 69 6E 67 0D 0A 0D 0A 4C ns:.Nothing....L
000170: 6F 63 61 74 69 6F 6E 3A 09 43 4C 49 42 48 44 52 ocation:.CLIBHDR
000180: 31 2C 20 41 4C 49 42 48 44 52 31 0D 0A 0D 0A 3E 1, ALIBHDR1....>
000190: 70 61 0D 0A 43 41 50 49 54 41 4C 43 48 28 63 68 pa..CAPITALCH(ch
0001A0: 61 72 29 0D 0A 0D 0A 45 66 66 65 63 74 3A 09 49 ar)....Effect:.I
0001B0: 66 20 74 68 65 20 63 68 61 72 61 63 74 65 72 20 f the character
0001C0: 69 73 20 61 20 6C 6F 77 65 72 20 63 61 73 65 20 is a lower case
0001D0: 6C 65 74 74 65 72 20 74 68 65 20 75 70 70 65 72 letter the upper
0001E0: 20 63 61 73 65 20 0D 8A 09 65 71 75 69 76 61 6C case ...equival
0001F0: 65 6E 74 90 20 69 73 90 90 20 72 65 74 75 72 6E ent. is.. return
Size : 512 (Real : 512)
000000: 65 64 2C 90 90 20 6F 74 68 65 72 77 69 73 65 90 ed,.. otherwise.
000010: 90 20 74 68 65 90 20 6F 72 69 67 69 6E 61 6C 20 . the. original
000020: 0D 8A 09 63 68 61 72 61 63 74 65 72 20 69 73 20 ...character is
000030: 72 65 74 75 72 6E 65 64 2E 0D 0A 0D 0A 52 65 74 returned.....Ret
000040: 75 72 6E 73 3A 09 54 68 65 20 63 6F 6E 76 65 72 urns:.The conver
000050: 74 65 64 20 63 68 61 72 61 63 74 65 72 0D 0A 0D ted character...
000060: 0A 4C 6F 63 61 74 69 6F 6E 3A 09 43 4C 49 42 48 .Location:.CLIBH
000070: 44 52 2C 20 41 4C 49 42 48 44 52 0D 0A 0D 0A 0D DR, ALIBHDR.....
000080: 0A 43 4F 4D 50 43 48 28 63 68 61 72 31 2C 63 68 .COMPCH(char1,ch
000090: 61 72 32 29 0D 0A 0D 0A 45 66 66 65 63 74 3A 09 ar2)....Effect:.
0000A0: 43 6F 6D 70 61 72 65 73 90 20 74 77 6F 90 20 63 Compares. two. c
0000B0: 68 61 72 61 63 74 65 72 73 2C 90 20 69 67 6E 6F haracters,. igno
0000C0: 72 69 6E 67 90 20 74 68 65 90 20 64 69 73 74 69 ring. the. disti
0000D0: 6E 63 74 69 6F 6E 20 0D 8A 09 62 65 74 77 65 65 nction ...betwee
0000E0: 6E 90 20 75 70 70 65 72 90 20 61 6E 64 90 90 20 n. upper. and..
0000F0: 6C 6F 77 65 72 90 90 20 63 61 73 65 2E 90 90 20 lower.. case...
000100: 49 74 90 20 72 65 74 75 72 6E 73 90 20 74 68 65 It. returns. the
000110: 20 0D 8A 09 64 69 66 66 65 72 65 6E 63 65 20 62 ...difference b
000120: 65 74 77 65 65 6E 20 74 68 65 20 74 77 6F 20 63 etween the two c
000130: 68 61 72 61 63 74 65 72 73 2E 0D 0A 0D 0A 52 65 haracters.....Re
000140: 74 75 72 6E 73 3A 09 54 68 65 20 64 69 66 66 65 turns:.The diffe
000150: 72 65 6E 63 65 20 62 65 74 77 65 65 6E 20 74 68 rence between th
000160: 65 20 63 68 61 72 61 63 74 65 72 73 0D 0A 0D 0A e characters....
000170: 4C 6F 63 61 74 69 6F 6E 3A 09 43 4C 49 42 48 44 Location:.CLIBHD
000180: 52 31 2C 20 41 4C 49 42 48 44 52 31 0D 0A 0D 0A R1, ALIBHDR1....
000190: 0D 0A 43 4F 4D 50 53 54 52 49 4E 47 28 73 74 72 ..COMPSTRING(str
0001A0: 69 6E 67 31 2C 73 74 72 69 6E 67 32 29 0D 0A 0D ing1,string2)...
0001B0: 0A 45 66 66 65 63 74 3A 09 43 6F 6D 70 61 72 65 .Effect:.Compare
0001C0: 73 20 74 77 6F 20 73 74 72 69 6E 67 73 2C 20 69 s two strings, i
0001D0: 67 6E 6F 72 69 6E 67 20 74 68 65 20 64 69 73 74 gnoring the dist
0001E0: 69 6E 63 74 69 6F 6E 20 62 65 74 77 65 65 6E 20 inction between
0001F0: 0D 8A 09 75 70 70 65 72 20 61 6E 64 90 20 6C 6F ...upper and. lo
Size : 512 (Real : 512)
000000: 77 65 72 90 20 63 61 73 65 2E 90 20 54 68 65 90 wer. case.. The.
000010: 20 72 65 73 75 6C 74 90 20 69 73 90 20 7A 65 72 result. is. zer
000020: 6F 90 20 69 66 20 74 68 65 20 0D 8A 09 73 74 72 o. if the ...str
000030: 69 6E 67 73 20 61 72 65 90 20 74 68 65 90 20 73 ings are. the. s
000040: 61 6D 65 2C 90 20 70 6F 73 69 74 69 76 65 90 20 ame,. positive.
000050: 69 66 90 20 73 74 72 69 6E 67 31 20 66 6F 6C 6C if. string1 foll
000060: 6F 77 73 20 0D 8A 09 73 74 72 69 6E 67 32 90 20 ows ...string2.
000070: 61 6C 70 68 61 62 65 74 69 63 61 6C 6C 79 2C 90 alphabetically,.
000080: 20 61 6E 64 90 90 20 6E 65 67 61 74 69 76 65 90 and.. negative.
000090: 90 20 69 66 90 20 73 74 72 69 6E 67 32 20 0D 8A . if. string2 ..
0000A0: 09 66 6F 6C 6C 6F 77 73 20 73 74 72 69 6E 67 31 .follows string1
0000B0: 2E 0D 0A 0D 0A 52 65 74 75 72 6E 73 3A 09 54 68 .....Returns:.Th
0000C0: 65 20 72 65 73 75 6C 74 20 6F 66 20 74 68 65 20 e result of the
0000D0: 63 6F 6D 70 61 72 69 73 6F 6E 2C 20 61 73 20 61 comparison, as a
0000E0: 62 6F 76 65 0D 0A 0D 0A 4C 6F 63 61 74 69 6F 6E bove....Location
0000F0: 3A 09 43 4C 49 42 48 44 52 31 2C 20 41 4C 49 42 :.CLIBHDR1, ALIB
000100: 48 44 52 31 0D 0A 0D 0A 0D 0A 44 45 43 56 41 4C HDR1......DECVAL
000110: 28 64 69 67 69 74 29 0D 0A 0D 0A 45 66 66 65 63 (digit)....Effec
000120: 74 3A 09 54 68 69 73 20 72 65 74 75 72 6E 73 20 t:.This returns
000130: 74 68 65 20 64 65 63 69 6D 61 6C 20 76 61 6C 75 the decimal valu
000140: 65 20 6F 66 20 61 20 68 65 78 61 64 65 63 69 6D e of a hexadecim
000150: 61 6C 20 64 69 67 69 74 2E 0D 0A 0D 0A 52 65 74 al digit.....Ret
000160: 75 72 6E 73 3A 09 54 68 65 20 64 65 63 69 6D 61 urns:.The decima
000170: 6C 20 76 61 6C 75 65 20 6F 66 20 74 68 65 20 64 l value of the d
000180: 69 67 69 74 0D 0A 0D 0A 4C 6F 63 61 74 69 6F 6E igit....Location
000190: 3A 09 43 4C 49 42 48 44 52 2C 20 41 4C 49 42 48 :.CLIBHDR, ALIBH
0001A0: 44 52 0D 0A 0D 0A 45 78 61 6D 70 6C 65 3A 09 64 DR....Example:.d
0001B0: 65 63 76 61 6C 28 27 41 27 29 09 09 2F 2F 20 72 ecval('A')..// r
0001C0: 65 74 75 72 6E 73 20 31 30 0D 0A 0D 0A 3E 70 61 eturns 10....>pa
0001D0: 0D 0A 44 45 4C 45 54 45 28 66 69 6C 65 6E 61 6D ..DELETE(filenam
0001E0: 65 2C 62 75 66 66 65 72 29 0D 0A 0D 0A 45 66 66 e,buffer)....Eff
0001F0: 65 63 74 3A 09 54 68 65 20 66 69 72 73 74 20 70 ect:.The first p
Size : 512 (Real : 512)
000000: 61 72 61 6D 65 74 65 72 20 69 73 20 61 20 73 74 arameter is a st
000010: 72 69 6E 67 20 73 70 65 63 69 66 79 69 6E 67 20 ring specifying
000020: 74 68 65 20 6E 61 6D 65 20 6F 66 20 0D 8A 09 61 the name of ...a
000030: 20 66 69 6C 65 2E 20 54 68 69 73 20 66 69 6C 65 file. This file
000040: 20 69 73 90 20 74 68 65 6E 90 20 64 65 6C 65 74 is. then. delet
000050: 65 64 20 66 72 6F 6D 20 74 68 65 20 64 69 73 63 ed from the disc
000060: 2E 20 54 68 65 20 0D 8A 09 43 50 2F 4D 20 76 65 . The ...CP/M ve
000070: 72 73 69 6F 6E 20 72 65 71 75 69 72 65 73 20 61 rsion requires a
000080: 6E 90 20 38 32 90 20 77 6F 72 64 90 20 62 75 66 n. 82. word. buf
000090: 66 65 72 2C 20 74 68 65 20 41 4D 53 44 4F 53 20 fer, the AMSDOS
0000A0: 0D 8A 09 76 65 72 73 69 6F 6E 20 72 65 71 75 69 ...version requi
0000B0: 72 65 73 20 6E 6F 20 62 75 66 66 65 72 2E 0D 0A res no buffer...
0000C0: 0D 0A 52 65 74 75 72 6E 73 3A 09 54 52 55 45 20 ..Returns:.TRUE
0000D0: 69 66 20 74 68 65 20 6F 70 65 72 61 74 69 6F 6E if the operation
0000E0: 20 73 75 63 63 65 65 64 65 64 2C 20 46 41 4C 53 succeeded, FALS
0000F0: 45 20 69 66 20 61 20 64 69 73 63 20 65 72 72 6F E if a disc erro
000100: 72 20 0D 8A 09 6F 63 63 75 72 72 65 64 2E 0D 0A r ...occurred...
000110: 0D 0A 4C 6F 63 61 74 69 6F 6E 3A 09 43 4C 49 42 ..Location:.CLIB
000120: 48 44 52 31 2C 20 41 4C 49 42 48 44 52 31 0D 0A HDR1, ALIBHDR1..
000130: 0D 0A 45 78 61 6D 70 6C 65 73 3A 09 64 65 6C 65 ..Examples:.dele
000140: 74 65 28 22 74 65 6D 70 66 69 6C 65 22 2C 62 75 te("tempfile",bu
000150: 66 66 65 72 29 09 2F 2F 20 43 50 2F 4D 20 76 65 ffer).// CP/M ve
000160: 72 73 69 6F 6E 0D 0A 09 64 65 6C 65 74 65 28 22 rsion...delete("
000170: 74 65 6D 70 66 69 6C 65 22 29 09 09 2F 2F 20 41 tempfile")..// A
000180: 4D 53 44 4F 53 20 76 65 72 73 69 6F 6E 0D 0A 0D MSDOS version...
000190: 0A 0D 0A 4C 45 56 45 4C 28 61 72 72 61 79 29 0D ...LEVEL(array).
0001A0: 0A 0D 0A 45 66 66 65 63 74 3A 09 54 68 69 73 20 ...Effect:.This
0001B0: 72 65 74 75 72 6E 73 20 74 68 65 90 20 73 74 61 returns the. sta
0001C0: 74 65 90 20 6F 66 90 20 74 68 65 90 20 42 43 50 te. of. the. BCP
0001D0: 4C 90 20 70 72 6F 67 72 61 6D 20 69 6E 20 74 68 L. program in th
0001E0: 65 20 0D 8A 09 61 72 72 61 79 20 67 69 76 65 6E e ...array given
0001F0: 2E 20 54 68 65 20 61 72 72 61 79 90 20 6D 75 73 . The array. mus
Size : 512 (Real : 512)
000000: 74 90 20 62 65 90 20 61 74 90 20 6C 65 61 73 74 t. be. at. least
000010: 20 34 20 77 6F 72 64 73 20 69 6E 20 0D 8A 09 73 4 words in ...s
000020: 69 7A 65 2E 20 54 68 69 73 20 72 6F 75 74 69 6E ize. This routin
000030: 65 90 20 69 73 90 20 75 73 65 64 90 20 77 69 74 e. is. used. wit
000040: 68 90 20 4C 4F 4E 47 4A 55 4D 50 90 20 74 6F 20 h. LONGJUMP. to
000050: 61 6C 6C 6F 77 20 0D 8A 09 6A 75 6D 70 73 20 62 allow ...jumps b
000060: 65 74 77 65 65 6E 20 70 72 6F 63 65 64 75 72 65 etween procedure
000070: 73 20 65 74 63 2E 90 20 53 65 65 90 20 73 65 63 s etc.. See. sec
000080: 74 69 6F 6E 20 39 20 66 6F 72 20 6D 6F 72 65 20 tion 9 for more
000090: 0D 8A 09 64 65 74 61 69 6C 73 2E 0D 0A 0D 0A 52 ...details.....R
0000A0: 65 74 75 72 6E 73 3A 09 4E 6F 74 68 69 6E 67 0D eturns:.Nothing.
0000B0: 0A 0D 0A 4C 6F 63 61 74 69 6F 6E 3A 09 50 72 65 ...Location:.Pre
0000C0: 2D 64 65 66 69 6E 65 64 2C 20 70 72 65 2D 64 65 -defined, pre-de
0000D0: 66 69 6E 65 64 0D 0A 0D 0A 0D 0A 4C 4F 4E 47 4A fined......LONGJ
0000E0: 55 4D 50 28 61 64 64 72 65 73 73 2C 61 72 72 61 UMP(address,arra
0000F0: 79 29 0D 0A 0D 0A 45 66 66 65 63 74 3A 09 54 68 y)....Effect:.Th
000100: 69 73 20 77 69 6C 6C 20 73 65 74 20 74 68 65 90 is will set the.
000110: 20 73 74 61 74 65 90 20 6F 66 90 20 74 68 65 20 state. of. the
000120: 70 72 6F 67 72 61 6D 20 61 63 63 6F 72 64 69 6E program accordin
000130: 67 20 74 6F 20 0D 8A 09 74 68 65 90 20 61 72 72 g to ...the. arr
000140: 61 79 90 20 67 69 76 65 6E 2E 90 20 54 68 65 90 ay. given.. The.
000150: 20 61 72 72 61 79 90 90 20 6D 75 73 74 90 20 68 array.. must. h
000160: 61 76 65 90 20 62 65 65 6E 90 20 73 65 74 20 0D ave. been. set .
000170: 8A 09 70 72 65 76 69 6F 75 73 6C 79 20 62 79 20 ..previously by
000180: 74 68 65 20 75 73 65 90 20 6F 66 90 20 4C 45 56 the use. of. LEV
000190: 45 4C 2E 90 20 4F 6E 63 65 90 20 74 68 65 20 73 EL.. Once. the s
0001A0: 74 61 74 65 20 68 61 73 20 0D 8A 09 62 65 65 6E tate has ...been
0001B0: 20 73 65 74 20 69 74 20 77 69 6C 6C 20 6A 75 6D set it will jum
0001C0: 70 90 20 74 6F 90 20 61 64 64 72 65 73 73 2E 90 p. to. address..
0001D0: 20 53 65 65 20 73 65 63 74 69 6F 6E 20 39 20 66 See section 9 f
0001E0: 6F 72 20 0D 8A 09 6D 6F 72 65 20 64 65 74 61 69 or ...more detai
0001F0: 6C 73 2E 0D 0A 0D 0A 52 65 74 75 72 6E 73 3A 09 ls.....Returns:.
Size : 512 (Real : 512)
000000: 4E 6F 74 68 69 6E 67 0D 0A 0D 0A 4C 6F 63 61 74 Nothing....Locat
000010: 69 6F 6E 3A 09 50 72 65 2D 64 65 66 69 6E 65 64 ion:.Pre-defined
000020: 2C 20 70 72 65 2D 64 65 66 69 6E 65 64 0D 0A 0D , pre-defined...
000030: 0A 3E 70 61 0D 0A 52 41 4E 44 4F 4D 28 29 0D 0A .>pa..RANDOM()..
000040: 0D 0A 45 66 66 65 63 74 3A 09 54 68 69 73 20 66 ..Effect:.This f
000050: 75 6E 63 74 69 6F 6E 90 20 72 65 74 75 72 6E 73 unction. returns
000060: 90 20 61 90 20 73 65 71 75 65 6E 63 65 90 20 6F . a. sequence. o
000070: 66 90 20 70 73 65 75 64 6F 2D 72 61 6E 64 6F 6D f. pseudo-random
000080: 20 0D 8A 09 6E 75 6D 62 65 72 73 2E 20 54 68 65 ...numbers. The
000090: 20 73 65 71 75 65 6E 63 65 20 77 69 6C 6C 90 20 sequence will.
0000A0: 61 6C 77 61 79 73 90 20 62 65 20 74 68 65 20 73 always. be the s
0000B0: 61 6D 65 20 75 6E 6C 65 73 73 20 0D 8A 09 74 68 ame unless ...th
0000C0: 65 20 73 65 65 64 20 69 73 20 69 6E 69 74 69 61 e seed is initia
0000D0: 6C 69 73 65 64 20 66 69 72 73 74 2E 20 54 68 65 lised first. The
0000E0: 20 73 65 65 64 20 69 73 20 73 74 6F 72 65 64 20 seed is stored
0000F0: 69 6E 20 61 20 0D 8A 09 73 74 61 74 69 63 20 76 in a ...static v
000100: 61 72 69 61 62 6C 65 20 63 61 6C 6C 65 64 90 20 ariable called.
000110: 27 72 61 6E 64 6F 6D 73 65 65 64 27 2C 90 20 61 'randomseed',. a
000120: 6E 64 20 74 68 69 73 20 73 68 6F 75 6C 64 20 0D nd this should .
000130: 8A 09 62 65 90 20 69 6E 69 74 69 61 6C 69 73 65 ..be. initialise
000140: 64 90 20 74 6F 90 90 20 64 69 66 66 65 72 65 6E d. to.. differen
000150: 74 90 90 20 76 61 6C 75 65 73 90 90 20 74 6F 90 t.. values.. to.
000160: 20 70 72 6F 64 75 63 65 20 0D 8A 09 64 69 66 66 produce ...diff
000170: 65 72 65 6E 74 20 73 65 71 75 65 6E 63 65 73 2E erent sequences.
000180: 90 20 54 68 65 90 20 73 65 71 75 65 6E 63 65 90 . The. sequence.
000190: 20 72 75 6E 73 90 20 74 68 72 6F 75 67 68 20 61 runs. through a
0001A0: 6C 6C 20 0D 8A 09 70 6F 73 73 69 62 6C 65 20 32 ll ...possible 2
0001B0: 20 62 79 74 65 20 76 61 6C 75 65 73 2E 0D 0A 0D byte values....
0001C0: 0A 52 65 74 75 72 6E 73 3A 09 41 20 72 61 6E 64 .Returns:.A rand
0001D0: 6F 6D 6C 79 20 67 65 6E 65 72 61 74 65 64 20 69 omly generated i
0001E0: 6E 74 65 67 65 72 2E 0D 0A 0D 0A 4C 6F 63 61 74 nteger.....Locat
0001F0: 69 6F 6E 3A 09 43 4C 49 42 48 44 52 31 2C 20 41 ion:.CLIBHDR1, A
Size : 512 (Real : 512)
000000: 4C 49 42 48 44 52 31 0D 0A 0D 0A 0D 0A 52 45 4E LIBHDR1......REN
000010: 41 4D 45 28 66 69 6C 65 6E 61 6D 65 31 2C 66 69 AME(filename1,fi
000020: 6C 65 6E 61 6D 65 32 2C 62 75 66 66 65 72 29 0D lename2,buffer).
000030: 0A 0D 0A 45 66 66 65 63 74 3A 09 54 68 65 20 66 ...Effect:.The f
000040: 69 72 73 74 20 70 61 72 61 6D 65 74 65 72 20 69 irst parameter i
000050: 73 20 61 20 73 74 72 69 6E 67 20 73 70 65 63 69 s a string speci
000060: 66 79 69 6E 67 20 74 68 65 20 6E 61 6D 65 20 6F fying the name o
000070: 66 20 0D 8A 09 61 20 66 69 6C 65 2E 20 54 68 65 f ...a file. The
000080: 20 66 69 6C 65 20 69 73 90 20 72 65 6E 61 6D 65 file is. rename
000090: 64 90 20 74 6F 90 20 74 68 65 20 73 65 63 6F 6E d. to. the secon
0000A0: 64 20 6E 61 6D 65 2E 20 54 68 65 20 0D 8A 09 43 d name. The ...C
0000B0: 50 2F 4D 20 76 65 72 73 69 6F 6E 20 72 65 71 75 P/M version requ
0000C0: 69 72 65 73 20 61 6E 90 20 38 32 90 20 77 6F 72 ires an. 82. wor
0000D0: 64 90 20 62 75 66 66 65 72 2C 20 74 68 65 20 41 d. buffer, the A
0000E0: 4D 53 44 4F 53 20 0D 8A 09 76 65 72 73 69 6F 6E MSDOS ...version
0000F0: 20 72 65 71 75 69 72 65 73 20 6E 6F 20 62 75 66 requires no buf
000100: 66 65 72 2E 0D 0A 0D 0A 52 65 74 75 72 6E 73 3A fer.....Returns:
000110: 09 54 52 55 45 20 69 66 20 74 68 65 20 6F 70 65 .TRUE if the ope
000120: 72 61 74 69 6F 6E 20 73 75 63 63 65 65 64 65 64 ration succeeded
000130: 2C 20 46 41 4C 53 45 20 69 66 20 61 20 64 69 73 , FALSE if a dis
000140: 63 20 65 72 72 6F 72 20 0D 8A 09 6F 63 63 75 72 c error ...occur
000150: 72 65 64 2E 0D 0A 0D 0A 4C 6F 63 61 74 69 6F 6E red.....Location
000160: 3A 09 43 4C 49 42 48 44 52 31 2C 20 41 4C 49 42 :.CLIBHDR1, ALIB
000170: 48 44 52 31 0D 0A 0D 0A 09 45 78 61 6D 70 6C 65 HDR1.....Example
000180: 73 3A 0D 0A 09 72 65 6E 61 6D 65 28 22 6F 6C 64 s:...rename("old
000190: 6E 61 6D 65 22 2C 22 6E 65 77 6E 61 6D 65 22 2C name","newname",
0001A0: 62 75 66 66 65 72 29 20 2F 2F 20 43 50 2F 4D 20 buffer) // CP/M
0001B0: 76 65 72 73 69 6F 6E 0D 0A 09 72 65 6E 61 6D 65 version...rename
0001C0: 28 22 6F 6C 64 6E 61 6D 65 22 2C 22 6E 65 77 6E ("oldname","newn
0001D0: 61 6D 65 22 29 20 20 20 20 20 20 20 20 2F 2F 90 ame") //.
0001E0: 41 4D 53 44 4F 53 20 76 65 72 73 69 6F 6E 0D 0A AMSDOS version..
0001F0: 0D 0A 0D 0A 53 54 4F 50 28 72 65 74 75 72 6E 63 ....STOP(returnc
Size : 512 (Real : 512)
000000: 6F 64 65 29 0D 0A 0D 0A 45 66 66 65 63 74 3A 09 ode)....Effect:.
000010: 45 78 65 63 75 74 69 6F 6E 20 6F 66 20 74 68 65 Execution of the
000020: 20 70 72 6F 67 72 61 6D 90 20 74 65 72 6D 69 6E program. termin
000030: 61 74 65 73 2E 90 20 55 6E 64 65 72 20 43 50 2F ates.. Under CP/
000040: 4D 20 50 6C 75 73 20 0D 8A 09 74 68 65 20 73 75 M Plus ...the su
000050: 70 70 6C 69 65 64 20 70 61 72 61 6D 65 74 65 72 pplied parameter
000060: 90 20 69 73 90 20 75 73 65 64 90 20 74 6F 90 20 . is. used. to.
000070: 73 65 74 90 20 74 68 65 20 70 72 6F 67 72 61 6D set. the program
000080: 20 0D 8A 09 72 65 74 75 72 6E 20 63 6F 64 65 2E ...return code.
000090: 90 20 42 79 90 20 63 6F 6E 76 65 6E 74 69 6F 6E . By. convention
0000A0: 90 20 61 90 20 72 65 74 75 72 6E 90 20 63 6F 64 . a. return. cod
0000B0: 65 90 20 62 65 74 77 65 65 6E 20 0D 8A 09 23 78 e. between ...#x
0000C0: 46 46 30 30 20 61 6E 64 20 23 78 46 46 46 45 20 FF00 and #xFFFE
0000D0: 69 73 20 61 6E 20 65 72 72 6F 72 20 63 6F 64 65 is an error code
0000E0: 2E 20 54 68 65 20 72 65 74 75 72 6E 20 63 6F 64 . The return cod
0000F0: 65 20 69 73 20 0D 8A 09 69 67 6E 6F 72 65 64 20 e is ...ignored
000100: 75 6E 64 65 72 20 43 50 2F 4D 20 32 2E 32 20 61 under CP/M 2.2 a
000110: 6E 64 20 41 4D 53 44 4F 53 2E 0D 0A 0D 0A 52 65 nd AMSDOS.....Re
000120: 74 75 72 6E 73 3A 09 4E 6F 74 68 69 6E 67 0D 0A turns:.Nothing..
000130: 0D 0A 4C 6F 63 61 74 69 6F 6E 3A 09 43 4C 49 42 ..Location:.CLIB
000140: 48 44 52 31 2C 20 41 4C 49 42 48 44 52 31 0D 0A HDR1, ALIBHDR1..
000150: 0D 0A 3E 70 61 0D 0A 55 50 50 45 52 43 41 53 45 ..>pa..UPPERCASE
000160: 28 63 68 61 72 29 0D 0A 0D 0A 45 66 66 65 63 74 (char)....Effect
000170: 3A 09 54 68 69 73 20 69 73 20 74 68 65 20 73 61 :.This is the sa
000180: 6D 65 20 61 73 20 43 41 50 49 54 41 4C 43 48 2E me as CAPITALCH.
000190: 0D 0A 0D 0A 52 65 74 75 72 6E 73 3A 09 54 68 65 ....Returns:.The
0001A0: 20 63 6F 6E 76 65 72 74 65 64 20 63 68 61 72 61 converted chara
0001B0: 63 74 65 72 0D 0A 0D 0A 4C 6F 63 61 74 69 6F 6E cter....Location
0001C0: 3A 09 43 4C 49 42 48 44 52 2C 20 41 4C 49 42 48 :.CLIBHDR, ALIBH
0001D0: 44 52 0D 0A 0D 0A 0D 0A 56 45 52 53 49 4F 4E 28 DR......VERSION(
0001E0: 29 0D 0A 0D 0A 45 66 66 65 63 74 3A 09 52 65 74 )....Effect:.Ret
0001F0: 75 72 6E 73 20 61 90 20 6E 75 6D 62 65 72 90 20 urns a. number.
Size : 512 (Real : 512)
000000: 69 64 65 6E 74 69 66 79 69 6E 67 90 20 74 68 65 identifying. the
000010: 90 20 6F 70 65 72 61 74 69 6E 67 90 20 73 79 73 . operating. sys
000020: 74 65 6D 20 0D 8A 09 61 6E 64 20 63 6F 6D 70 75 tem ...and compu
000030: 74 65 72 20 6F 6E 20 77 68 69 63 68 90 20 74 68 ter on which. th
000040: 65 90 20 70 72 6F 67 72 61 6D 20 69 73 20 62 65 e. program is be
000050: 69 6E 67 20 65 78 65 63 75 74 65 64 2E 20 0D 8A ing executed. ..
000060: 09 54 68 65 20 76 61 6C 75 65 73 20 72 65 74 75 .The values retu
000070: 72 6E 65 64 20 61 72 65 3A 0D 0A 09 09 31 20 3D rned are:....1 =
000080: 20 43 50 43 2C 20 41 4D 53 44 4F 53 0D 0A 09 09 CPC, AMSDOS....
000090: 32 20 3D 20 43 50 43 2C 20 43 50 2F 4D 20 32 2E 2 = CPC, CP/M 2.
0000A0: 32 0D 0A 09 09 33 20 3D 20 43 50 43 2C 20 43 50 2....3 = CPC, CP
0000B0: 2F 4D 20 50 6C 75 73 0D 0A 09 09 34 20 3D 20 50 /M Plus....4 = P
0000C0: 43 57 2C 20 43 50 2F 4D 20 50 6C 75 73 0D 0A 0D CW, CP/M Plus...
0000D0: 0A 52 65 74 75 72 6E 73 3A 09 54 68 65 20 76 65 .Returns:.The ve
0000E0: 72 73 69 6F 6E 20 6E 75 6D 62 65 72 0D 0A 0D 0A rsion number....
0000F0: 4C 6F 63 61 74 69 6F 6E 3A 09 43 4C 49 42 48 44 Location:.CLIBHD
000100: 52 31 2C 20 41 4C 49 42 48 44 52 31 0D 0A 0D 0A R1, ALIBHDR1....
000110: 0D 0A 3E 70 61 0D 0A E2 28 67 29 20 52 6F 75 74 ..>pa...(g) Rout
000120: 69 6E 65 73 20 70 72 6F 76 69 64 65 64 20 69 6E ines provided in
000130: 20 74 68 65 20 43 50 2F 4D 20 6C 69 62 72 61 72 the CP/M librar
000140: 69 65 73 20 6F 6E 6C 79 E2 0D 0A 0D 0A 42 44 4F ies only.....BDO
000150: 53 41 28 40 63 2C 40 64 65 29 0D 0A 0D 0A 45 66 SA(@c,@de)....Ef
000160: 66 65 63 74 3A 09 54 68 65 20 42 44 4F 53 20 69 fect:.The BDOS i
000170: 73 20 63 61 6C 6C 65 64 20 77 69 74 68 20 74 68 s called with th
000180: 65 20 70 61 72 61 6D 65 74 65 72 73 20 70 61 73 e parameters pas
000190: 73 65 64 20 69 6E 20 74 68 65 20 43 20 0D 8A 09 sed in the C ...
0001A0: 61 6E 64 20 44 45 20 72 65 67 69 73 74 65 72 73 and DE registers
0001B0: 2E 20 54 68 65 20 61 64 64 72 65 73 73 65 73 90 . The addresses.
0001C0: 20 6F 66 20 74 68 65 20 76 61 72 69 61 62 6C 65 of the variable
0001D0: 73 20 6D 75 73 74 20 0D 8A 09 62 65 20 70 61 73 s must ...be pas
0001E0: 73 65 64 20 69 6E 20 6F 72 64 65 72 20 74 68 61 sed in order tha
0001F0: 74 90 20 72 65 73 75 6C 74 73 90 20 63 61 6E 20 t. results. can
Size : 512 (Real : 512)
000000: 62 65 20 72 65 74 75 72 6E 65 64 2E 20 54 68 65 be returned. The
000010: 20 0D 8A 09 72 65 74 75 72 6E 65 64 20 76 61 6C ...returned val
000020: 75 65 73 20 6F 66 20 74 68 65 90 20 41 90 20 61 ues of the. A. a
000030: 6E 64 90 20 48 4C 90 20 72 65 67 69 73 74 65 72 nd. HL. register
000040: 73 20 66 72 6F 6D 20 74 68 65 20 0D 8A 09 42 44 s from the ...BD
000050: 4F 53 90 20 61 72 65 90 20 72 65 74 75 72 6E 65 OS. are. returne
000060: 64 90 20 69 6E 90 90 20 74 68 65 90 90 20 76 61 d. in.. the.. va
000070: 72 69 61 62 6C 65 73 90 90 20 63 90 20 61 6E 64 riables.. c. and
000080: 90 20 64 65 20 0D 8A 09 72 65 73 70 65 63 74 69 . de ...respecti
000090: 76 65 6C 79 2E 0D 0A 0D 0A 52 65 74 75 72 6E 73 vely.....Returns
0000A0: 3A 09 4E 6F 74 68 69 6E 67 0D 0A 0D 0A 4C 6F 63 :.Nothing....Loc
0000B0: 61 74 69 6F 6E 3A 09 43 4C 49 42 48 44 52 20 6F ation:.CLIBHDR o
0000C0: 6E 6C 79 0D 0A 0D 0A 0D 0A 42 44 4F 53 42 28 63 nly......BDOSB(c
0000D0: 2C 64 65 29 09 0D 0A 0D 0A 45 66 66 65 63 74 3A ,de).....Effect:
0000E0: 09 54 68 69 73 20 69 73 20 73 69 6D 69 6C 61 72 .This is similar
0000F0: 20 74 6F 20 42 44 4F 53 41 90 20 65 78 63 65 70 to BDOSA. excep
000100: 74 90 20 74 68 61 74 20 72 65 73 75 6C 74 73 20 t. that results
000110: 61 72 65 20 6E 6F 74 20 0D 8A 09 72 65 74 75 72 are not ...retur
000120: 6E 65 64 2E 20 54 68 65 20 76 61 6C 75 65 73 20 ned. The values
000130: 6F 66 20 63 20 61 6E 64 20 64 65 20 61 72 65 20 of c and de are
000140: 70 61 73 73 65 64 2C 20 6E 6F 74 20 74 68 65 69 passed, not thei
000150: 72 20 0D 8A 09 61 64 64 72 65 73 73 65 73 2E 0D r ...addresses..
000160: 0A 0D 0A 52 65 74 75 72 6E 73 3A 09 4E 6F 74 68 ...Returns:.Noth
000170: 69 6E 67 0D 0A 0D 0A 4C 6F 63 61 74 69 6F 6E 3A ing....Location:
000180: 09 43 4C 49 42 48 44 52 20 6F 6E 6C 79 0D 0A 0D .CLIBHDR only...
000190: 0A 0D 0A 42 49 4F 53 28 6E 2C 40 61 29 0D 0A 0D ...BIOS(n,@a)...
0001A0: 0A 45 66 66 65 63 74 3A 09 42 49 4F 53 20 72 6F .Effect:.BIOS ro
0001B0: 75 74 69 6E 65 20 6E 20 69 73 20 63 61 6C 6C 65 utine n is calle
0001C0: 64 20 61 6E 64 20 74 68 65 20 76 61 6C 75 65 20 d and the value
0001D0: 72 65 74 75 72 6E 65 64 20 62 79 20 74 68 65 20 returned by the
0001E0: 0D 8A 09 42 49 4F 53 20 69 6E 20 41 20 69 73 20 ...BIOS in A is
0001F0: 72 65 74 75 72 6E 65 64 90 20 69 6E 90 20 74 68 returned. in. th
Size : 512 (Real : 512)
000000: 65 20 76 61 72 69 61 62 6C 65 20 61 2E 20 54 68 e variable a. Th
000010: 65 20 61 64 64 72 65 73 73 20 0D 8A 09 6F 66 20 e address ...of
000020: 61 20 6D 75 73 74 20 62 65 20 70 61 73 73 65 64 a must be passed
000030: 2E 20 54 68 69 73 20 72 6F 75 74 69 6E 65 20 69 . This routine i
000040: 73 20 75 73 65 64 20 62 79 20 50 52 42 55 53 59 s used by PRBUSY
000050: 2E 0D 0A 0D 0A 52 65 74 75 72 6E 73 3A 09 4E 6F .....Returns:.No
000060: 74 68 69 6E 67 0D 0A 0D 0A 4C 6F 63 61 74 69 6F thing....Locatio
000070: 6E 3A 09 43 4C 49 42 48 44 52 20 6F 6E 6C 79 0D n:.CLIBHDR only.
000080: 0A 0D 0A 0D 0A 46 49 52 4D 57 41 52 45 28 61 64 .....FIRMWARE(ad
000090: 64 72 65 73 73 2C 40 61 66 2C 40 62 63 2C 40 64 dress,@af,@bc,@d
0000A0: 65 2C 40 68 6C 2C 40 69 78 29 0D 0A 0D 0A 45 66 e,@hl,@ix)....Ef
0000B0: 66 65 63 74 3A 09 4F 6E 20 43 50 2F 4D 20 50 6C fect:.On CP/M Pl
0000C0: 75 73 2C 20 63 61 6C 6C 73 20 74 68 65 20 66 69 us, calls the fi
0000D0: 72 6D 77 61 72 65 20 52 4F 4D 20 28 43 50 43 36 rmware ROM (CPC6
0000E0: 31 32 38 20 6F 6E 6C 79 29 20 6F 72 20 0D 8A 09 128 only) or ...
0000F0: 74 68 65 20 65 78 74 65 6E 64 65 64 20 66 69 72 the extended fir
000100: 6D 77 61 72 65 90 20 6A 75 6D 70 62 6C 6F 63 6B mware. jumpblock
000110: 2E 90 20 54 68 65 20 76 61 6C 75 65 73 20 72 65 .. The values re
000120: 74 75 72 6E 65 64 20 0D 8A 09 62 79 90 20 74 68 turned ...by. th
000130: 65 90 20 66 69 72 6D 77 61 72 65 90 20 72 6F 75 e. firmware. rou
000140: 74 69 6E 65 90 20 61 72 65 90 20 70 61 73 73 65 tine. are. passe
000150: 64 90 20 62 61 63 6B 90 20 69 6E 90 20 74 68 65 d. back. in. the
000160: 20 0D 8A 09 76 61 72 69 61 62 6C 65 73 2E 20 41 ...variables. A
000170: 6C 6C 20 70 61 72 61 6D 65 74 65 72 73 20 4D 55 ll parameters MU
000180: 53 54 20 62 65 20 73 75 70 70 6C 69 65 64 2E 0D ST be supplied..
000190: 0A 0D 0A 52 65 74 75 72 6E 73 3A 09 4E 6F 74 68 ...Returns:.Noth
0001A0: 69 6E 67 0D 0A 0D 0A 4C 6F 63 61 74 69 6F 6E 3A ing....Location:
0001B0: 09 43 4C 49 42 48 44 52 31 20 6F 6E 6C 79 0D 0A .CLIBHDR1 only..
0001C0: 0D 0A 3E 70 61 0D 0A 54 41 49 4C 28 73 74 72 69 ..>pa..TAIL(stri
0001D0: 6E 67 29 0D 0A 0D 0A 45 66 66 65 63 74 3A 09 54 ng)....Effect:.T
0001E0: 61 6B 65 73 20 61 90 20 76 65 63 74 6F 72 90 20 akes a. vector.
0001F0: 61 73 90 20 70 61 72 61 6D 65 74 65 72 90 20 61 as. parameter. a
Size : 512 (Real : 512)
000000: 6E 64 90 20 73 74 6F 72 65 73 90 20 74 68 65 90 nd. stores. the.
000010: 20 43 50 2F 4D 20 0D 8A 09 63 6F 6D 6D 61 6E 64 CP/M ...command
000020: 20 74 61 69 6C 20 28 66 72 6F 6D 20 23 78 38 30 tail (from #x80
000030: 29 90 20 69 6E 90 20 74 68 65 90 20 76 65 63 74 ). in. the. vect
000040: 6F 72 20 61 73 20 61 20 73 74 72 69 6E 67 2E 20 or as a string.
000050: 0D 8A 09 54 68 69 73 20 61 6C 6C 6F 77 73 20 42 ...This allows B
000060: 43 50 4C 20 70 72 6F 67 72 61 6D 73 90 20 74 6F CPL programs. to
000070: 90 20 61 63 63 65 73 73 20 70 61 72 61 6D 65 74 . access paramet
000080: 65 72 73 20 74 79 70 65 64 20 0D 8A 09 6F 6E 20 ers typed ...on
000090: 74 68 65 20 43 50 2F 4D 90 20 63 6F 6D 6D 61 6E the CP/M. comman
0000A0: 64 90 20 6C 69 6E 65 2E 90 20 54 68 65 90 20 76 d. line.. The. v
0000B0: 65 63 74 6F 72 90 20 73 68 6F 75 6C 64 20 62 65 ector. should be
0000C0: 20 36 34 20 0D 8A 09 77 6F 72 64 73 20 6C 6F 6E 64 ...words lon
0000D0: 67 2E 0D 0A 0D 0A 52 65 74 75 72 6E 73 3A 09 4E g.....Returns:.N
0000E0: 6F 74 68 69 6E 67 0D 0A 0D 0A 4C 6F 63 61 74 69 othing....Locati
0000F0: 6F 6E 3A 09 43 4C 49 42 48 44 52 31 20 6F 6E 6C on:.CLIBHDR1 onl
000100: 79 0D 0A 0D 0A 0D 0A 0D 0A E2 28 68 29 20 52 6F y.........(h) Ro
000110: 75 74 69 6E 65 73 20 70 72 6F 76 69 64 65 64 20 utines provided
000120: 69 6E 20 74 68 65 20 41 4D 53 44 4F 53 20 6C 69 in the AMSDOS li
000130: 62 72 61 72 69 65 73 20 6F 6E 6C 79 E2 0D 0A 0D braries only....
000140: 0A 0D 0A 45 58 54 45 52 4E 41 4C 28 63 6F 6D 6D ...EXTERNAL(comm
000150: 61 6E 64 2C 6E 70 61 72 6D 73 2C 70 61 72 6D 62 and,nparms,parmb
000160: 6C 6F 63 6B 29 0D 0A 0D 0A 45 66 66 65 63 74 3A lock)....Effect:
000170: 09 54 68 69 73 90 20 61 6C 6C 6F 77 73 90 20 61 .This. allows. a
000180: 90 20 42 43 50 4C 90 20 70 72 6F 67 72 61 6D 90 . BCPL. program.
000190: 20 74 6F 90 20 61 63 63 65 73 73 90 20 61 6E 90 to. access. an.
0001A0: 20 41 4D 53 44 4F 53 20 0D 8A 09 65 78 74 65 72 AMSDOS ...exter
0001B0: 6E 61 6C 20 63 6F 6D 6D 61 6E 64 2E 20 49 74 20 nal command. It
0001C0: 69 73 20 75 73 65 64 20 62 79 20 44 45 4C 45 54 is used by DELET
0001D0: 45 20 61 6E 64 20 52 45 4E 41 4D 45 2E 20 54 68 E and RENAME. Th
0001E0: 65 20 0D 8A 09 70 61 72 61 6D 65 74 65 72 73 20 e ...parameters
0001F0: 61 72 65 20 70 61 73 73 65 64 90 20 69 6E 90 20 are passed. in.
Size : 512 (Real : 512)
000000: 74 68 65 90 20 66 6F 72 6D 90 20 72 65 71 75 69 the. form. requi
000010: 72 65 64 90 20 62 79 20 74 68 65 20 0D 8A 09 66 red. by the ...f
000020: 69 72 6D 77 61 72 65 20 66 6F 72 90 20 63 61 6C irmware for. cal
000030: 6C 69 6E 67 90 20 61 6E 90 20 65 78 74 65 72 6E ling. an. extern
000040: 61 6C 90 20 63 6F 6D 6D 61 6E 64 2E 90 20 53 65 al. command.. Se
000050: 65 20 74 68 65 20 0D 8A 09 44 45 4C 45 54 45 20 e the ...DELETE
000060: 61 6E 64 20 52 45 4E 41 4D 45 20 72 6F 75 74 69 and RENAME routi
000070: 6E 65 73 20 69 6E 90 20 41 4C 49 42 48 44 52 31 nes in. ALIBHDR1
000080: 20 66 6F 72 20 64 65 74 61 69 6C 73 20 6F 66 20 for details of
000090: 0D 8A 09 68 6F 77 20 74 6F 20 75 73 65 20 74 68 ...how to use th
0000A0: 69 73 20 72 6F 75 74 69 6E 65 2E 0D 0A 0D 0A 52 is routine.....R
0000B0: 65 74 75 72 6E 73 3A 09 4E 6F 74 68 69 6E 67 0D eturns:.Nothing.
0000C0: 0A 0D 0A 4C 6F 63 61 74 69 6F 6E 3A 09 41 4C 49 ...Location:.ALI
0000D0: 42 48 44 52 31 20 6F 6E 6C 79 0D 0A 0D 0A 0D 0A BHDR1 only......
0000E0: 54 49 4D 45 28 29 0D 0A 0D 0A 45 66 66 65 63 74 TIME()....Effect
0000F0: 3A 09 52 65 74 75 72 6E 73 90 20 74 68 65 90 20 :.Returns. the.
000100: 74 69 6D 65 90 20 69 6E 90 20 75 6E 69 74 73 90 time. in. units.
000110: 90 20 6F 66 90 20 31 2F 33 30 30 90 20 73 65 63 . of. 1/300. sec
000120: 6F 6E 64 2C 90 20 61 73 20 0D 8A 09 6D 61 69 6E ond,. as ...main
000130: 74 61 69 6E 65 64 20 62 79 20 74 68 65 20 41 4D tained by the AM
000140: 53 44 4F 53 20 66 69 72 6D 77 61 72 65 2E 0D 0A SDOS firmware...
000150: 0D 0A 52 65 74 75 72 6E 73 3A 09 54 68 65 20 74 ..Returns:.The t
000160: 69 6D 65 0D 0A 0D 0A 4C 6F 63 61 74 69 6F 6E 3A ime....Location:
000170: 09 41 4C 49 42 48 44 52 31 20 6F 6E 6C 79 0D 0A .ALIBHDR1 only..
000180: 3E 70 61 0D 0A E2 28 69 29 20 52 6F 75 74 69 6E >pa...(i) Routin
000190: 65 73 20 70 72 6F 76 69 64 65 64 20 6F 6E 6C 79 es provided only
0001A0: 20 66 6F 72 20 63 6F 6D 70 61 74 69 62 69 6C 69 for compatibili
0001B0: 74 79 E2 0D 0A 0D 0A 3E 2D 2D 2D 2D 2D 2D 2D 21 ty.....>-------!
0001C0: 2D 2D 2D 2D 2D 2D 2D 21 2D 2D 2D 2D 2D 2D 2D 21 -------!-------!
0001D0: 2D 2D 2D 2D 2D 2D 2D 21 2D 2D 2D 2D 2D 2D 2D 21 -------!-------!
0001E0: 2D 2D 2D 2D 2D 2D 2D 21 2D 2D 2D 2D 2D 2D 2D 21 -------!-------!
0001F0: 2D 2D 2D 2D 2D 2D 2D 21 2D 2D 2D 2D 52 0D 0A 54 -------!----R..T
Size : 512 (Real : 512)
000000: 68 65 73 65 20 61 72 65 20 72 6F 75 74 69 6E 65 hese are routine
000010: 73 20 74 68 61 74 20 6D 61 79 20 62 65 20 75 73 s that may be us
000020: 65 64 20 69 6E 20 65 78 69 73 74 69 6E 67 20 42 ed in existing B
000030: 43 50 4C 20 70 72 6F 67 72 61 6D 73 2C 20 62 75 CPL programs, bu
000040: 74 20 74 68 65 20 0D 8A 69 6E 66 69 78 65 64 20 t the ..infixed
000050: 62 79 74 65 20 6F 70 65 72 61 74 6F 72 20 6E 6F byte operator no
000060: 77 20 6D 61 6B 65 73 20 74 68 65 69 72 20 75 73 w makes their us
000070: 65 20 75 6E 6E 65 63 65 73 73 61 72 79 2E 0D 0A e unnecessary...
000080: 3E 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 20 >--------------
000090: 4C 2D 2D 2D 2D 2D 2D 2D 21 2D 2D 2D 2D 2D 2D 2D L-------!-------
0000A0: 21 2D 2D 2D 2D 2D 2D 2D 21 2D 2D 2D 2D 2D 2D 2D !-------!-------
0000B0: 21 2D 2D 2D 2D 2D 2D 2D 21 2D 2D 2D 2D 2D 2D 2D !-------!-------
0000C0: 21 2D 2D 2D 2D 52 0D 0A 0D 0A 47 45 54 42 59 54 !----R....GETBYT
0000D0: 45 28 73 74 72 69 6E 67 2C 70 6F 73 29 0D 0A 0D E(string,pos)...
0000E0: 0A 45 66 66 65 63 74 3A 09 47 65 74 73 20 61 90 .Effect:.Gets a.
0000F0: 20 63 68 61 72 61 63 74 65 72 90 20 66 72 6F 6D character. from
000100: 90 20 61 90 20 73 74 72 69 6E 67 2E 90 20 54 68 . a. string.. Th
000110: 69 73 90 20 72 6F 75 74 69 6E 65 90 20 69 73 20 is. routine. is
000120: 0D 8A 09 69 6E 63 6C 75 64 65 64 20 66 6F 72 20 ...included for
000130: 63 6F 6D 70 61 74 69 62 69 6C 69 74 79 20 77 69 compatibility wi
000140: 74 68 20 6F 6C 64 65 72 20 42 43 50 4C 20 73 79 th older BCPL sy
000150: 73 74 65 6D 73 20 61 6E 64 20 0D 8A 09 77 6F 75 stems and ...wou
000160: 6C 64 20 75 73 75 61 6C 6C 79 20 62 65 20 72 65 ld usually be re
000170: 70 6C 61 63 65 64 20 62 79 3A 20 20 73 74 72 69 placed by: stri
000180: 6E 67 25 70 6F 73 0D 0A 0D 0A 52 65 74 75 72 6E ng%pos....Return
000190: 73 3A 09 54 68 65 20 63 68 61 72 61 63 74 65 72 s:.The character
0001A0: 20 66 72 6F 6D 20 74 68 65 20 73 74 72 69 6E 67 from the string
0001B0: 0D 0A 0D 0A 4C 6F 63 61 74 69 6F 6E 3A 09 43 4C ....Location:.CL
0001C0: 49 42 48 44 52 31 2C 20 41 4C 49 42 48 44 52 31 IBHDR1, ALIBHDR1
0001D0: 0D 0A 0D 0A 0D 0A 50 41 43 4B 53 54 52 49 4E 47 ......PACKSTRING
0001E0: 28 76 65 63 74 6F 72 2C 73 74 72 69 6E 67 29 0D (vector,string).
0001F0: 0A 0D 0A 45 66 66 65 63 74 3A 09 50 61 63 6B 73 ...Effect:.Packs
Size : 512 (Real : 512)
000000: 20 61 20 76 65 63 74 6F 72 20 63 6F 6E 74 61 69 a vector contai
000010: 6E 69 6E 67 20 6F 6E 65 90 20 63 68 61 72 61 63 ning one. charac
000020: 74 65 72 20 70 65 72 20 77 6F 72 64 20 69 6E 74 ter per word int
000030: 6F 20 0D 8A 09 61 20 73 74 72 69 6E 67 90 20 63 o ...a string. c
000040: 6F 6E 74 61 69 6E 69 6E 67 90 20 74 77 6F 90 20 ontaining. two.
000050: 63 68 61 72 61 63 74 65 72 73 90 20 70 65 72 90 characters. per.
000060: 20 77 6F 72 64 2E 20 54 68 69 73 20 0D 8A 09 72 word. This ...r
000070: 6F 75 74 69 6E 65 20 69 73 20 69 6E 63 6C 75 64 outine is includ
000080: 65 64 20 66 6F 72 90 20 63 6F 6D 70 61 74 69 62 ed for. compatib
000090: 69 6C 69 74 79 20 77 69 74 68 20 6F 6C 64 65 72 ility with older
0000A0: 20 42 43 50 4C 20 0D 8A 09 73 79 73 74 65 6D 73 BCPL ...systems
0000B0: 2E 0D 0A 0D 0A 52 65 74 75 72 6E 73 3A 09 4E 6F .....Returns:.No
0000C0: 74 68 69 6E 67 0D 0A 0D 0A 4C 6F 63 61 74 69 6F thing....Locatio
0000D0: 6E 3A 09 43 4C 49 42 48 44 52 31 2C 20 41 4C 49 n:.CLIBHDR1, ALI
0000E0: 42 48 44 52 31 0D 0A 0D 0A 0D 0A 50 55 54 42 59 BHDR1......PUTBY
0000F0: 54 45 28 73 74 72 69 6E 67 2C 70 6F 73 2C 63 68 TE(string,pos,ch
000100: 61 72 29 0D 0A 0D 0A 45 66 66 65 63 74 3A 09 50 ar)....Effect:.P
000110: 75 74 73 20 61 90 20 63 68 61 72 61 63 74 65 72 uts a. character
000120: 90 20 69 6E 74 6F 90 20 61 90 20 73 74 72 69 6E . into. a. strin
000130: 67 2E 90 20 54 68 69 73 90 20 72 6F 75 74 69 6E g.. This. routin
000140: 65 90 20 69 73 20 0D 8A 09 69 6E 63 6C 75 64 65 e. is ...include
000150: 64 20 66 6F 72 20 63 6F 6D 70 61 74 69 62 69 6C d for compatibil
000160: 69 74 79 90 20 77 69 74 68 90 20 6F 6C 64 65 72 ity. with. older
000170: 90 20 42 43 50 4C 20 73 79 73 74 65 6D 73 2C 20 . BCPL systems,
000180: 0D 8A 09 61 6E 64 20 77 6F 75 6C 64 20 75 73 75 ...and would usu
000190: 61 6C 6C 79 20 62 65 20 72 65 70 6C 61 63 65 64 ally be replaced
0001A0: 20 62 79 3A 09 0D 0A 09 09 73 74 72 69 6E 67 25 by:.....string%
0001B0: 70 6F 73 20 3A 3D 20 63 68 61 72 0D 0A 0D 0A 52 pos := char....R
0001C0: 65 74 75 72 6E 73 3A 09 4E 6F 74 68 69 6E 67 0D eturns:.Nothing.
0001D0: 0A 0D 0A 4C 6F 63 61 74 69 6F 6E 3A 09 43 4C 49 ...Location:.CLI
0001E0: 42 48 44 52 31 2C 20 41 4C 49 42 48 44 52 31 0D BHDR1, ALIBHDR1.
0001F0: 0A 0D 0A 0D 0A 55 4E 50 41 43 4B 53 54 52 49 4E .....UNPACKSTRIN
Size : 512 (Real : 512)
000000: 47 28 73 74 72 69 6E 67 2C 76 65 63 74 6F 72 29 G(string,vector)
000010: 0D 0A 0D 0A 45 66 66 65 63 74 3A 09 55 6E 70 61 ....Effect:.Unpa
000020: 63 6B 73 20 61 20 73 74 72 69 6E 67 90 20 63 6F cks a string. co
000030: 6E 74 61 69 6E 69 6E 67 90 20 74 77 6F 90 20 63 ntaining. two. c
000040: 68 61 72 61 63 74 65 72 73 20 70 65 72 20 77 6F haracters per wo
000050: 72 64 20 0D 8A 09 69 6E 74 6F 20 61 20 76 65 63 rd ...into a vec
000060: 74 6F 72 20 63 6F 6E 74 61 69 6E 69 6E 67 20 6F tor containing o
000070: 6E 65 90 20 63 68 61 72 61 63 74 65 72 20 70 65 ne. character pe
000080: 72 20 77 6F 72 64 2E 20 54 68 69 73 20 0D 8A 09 r word. This ...
000090: 72 6F 75 74 69 6E 65 20 69 73 20 69 6E 63 6C 75 routine is inclu
0000A0: 64 65 64 20 66 6F 72 90 20 63 6F 6D 70 61 74 69 ded for. compati
0000B0: 62 69 6C 69 74 79 20 77 69 74 68 20 6F 6C 64 65 bility with olde
0000C0: 72 20 42 43 50 4C 20 0D 8A 09 73 79 73 74 65 6D r BCPL ...system
0000D0: 73 2E 0D 0A 0D 0A 52 65 74 75 72 6E 73 3A 09 4E s.....Returns:.N
0000E0: 6F 74 68 69 6E 67 0D 0A 0D 0A 4C 6F 63 61 74 69 othing....Locati
0000F0: 6F 6E 3A 09 43 4C 49 42 48 44 52 31 2C 20 41 4C on:.CLIBHDR1, AL
000100: 49 42 48 44 52 31 0D 0A 3E 70 61 0D 0A E2 28 6A IBHDR1..>pa...(j
000110: 29 20 41 4D 53 44 4F 53 20 47 72 61 70 68 69 63 ) AMSDOS Graphic
000120: 73 20 61 6E 64 20 6F 74 68 65 72 20 72 6F 75 74 s and other rout
000130: 69 6E 65 73 E2 0D 0A 0D 0A 3E 2D 2D 2D 21 2D 2D ines.....>---!--
000140: 2D 2D 2D 21 2D 2D 2D 2D 2D 21 2D 2D 2D 2D 2D 2D ---!-----!------
000150: 2D 21 2D 2D 2D 2D 2D 2D 2D 21 2D 2D 2D 2D 2D 2D -!-------!------
000160: 2D 21 2D 2D 2D 2D 2D 2D 2D 21 2D 2D 2D 2D 2D 2D -!-------!------
000170: 2D 21 2D 2D 2D 2D 2D 2D 2D 21 2D 2D 2D 2D 52 0D -!-------!----R.
000180: 0A 09 54 68 65 73 65 20 72 6F 75 74 69 6E 65 73 ..These routines
000190: 20 61 72 65 20 69 6E 63 6C 75 64 65 64 20 69 6E are included in
0001A0: 20 74 68 65 20 66 69 6C 65 20 22 41 4D 53 44 4F the file "AMSDO
0001B0: 53 22 2C 20 61 6E 64 20 61 72 65 20 72 65 6C 65 S", and are rele
0001C0: 76 61 6E 74 20 0D 8A 6F 6E 6C 79 20 74 6F 20 43 vant ..only to C
0001D0: 50 43 20 6D 61 63 68 69 6E 65 73 2E 20 54 68 65 PC machines. The
0001E0: 79 90 20 70 72 6F 76 69 64 65 90 20 74 68 65 90 y. provide. the.
0001F0: 20 6D 65 61 6E 73 90 20 66 6F 72 20 61 20 42 43 means. for a BC
Size : 512 (Real : 512)
000000: 50 4C 20 70 72 6F 67 72 61 6D 20 74 6F 20 0D 8A PL program to ..
000010: 61 63 63 65 73 73 20 74 68 65 20 63 6F 6D 70 75 access the compu
000020: 74 65 72 27 73 90 20 67 72 61 70 68 69 63 73 90 ter's. graphics.
000030: 20 61 6E 64 90 20 6F 74 68 65 72 90 20 66 69 72 and. other. fir
000040: 6D 77 61 72 65 90 20 66 61 63 69 6C 69 74 69 65 mware. facilitie
000050: 73 2C 20 61 6E 64 20 0D 8A 69 6E 20 6D 6F 73 74 s, and ..in most
000060: 20 63 61 73 65 73 20 63 6F 72 72 65 73 70 6F 6E cases correspon
000070: 64 20 64 69 72 65 63 74 6C 79 90 20 74 6F 90 20 d directly. to.
000080: 61 20 4C 6F 63 6F 6D 6F 74 69 76 65 20 42 41 53 a Locomotive BAS
000090: 49 43 20 63 6F 6D 6D 61 6E 64 2E 20 46 6F 72 20 IC command. For
0000A0: 0D 8A 64 65 74 61 69 6C 73 20 6F 66 20 68 6F 77 ..details of how
0000B0: 20 74 6F 20 75 73 65 90 20 74 68 65 73 65 90 20 to use. these.
0000C0: 72 6F 75 74 69 6E 65 73 90 20 63 6F 6E 73 75 6C routines. consul
0000D0: 74 20 74 68 65 20 66 69 6C 65 20 41 4D 53 44 4F t the file AMSDO
0000E0: 53 2C 20 77 68 69 63 68 20 0D 8A 6C 69 73 74 73 S, which ..lists
0000F0: 20 74 68 65 20 65 71 75 69 76 61 6C 65 6E 74 20 the equivalent
000100: 42 41 53 49 43 20 72 6F 75 74 69 6E 65 73 2E 0D BASIC routines..
000110: 0A 0D 0A 4C 69 73 74 20 6F 66 20 72 6F 75 74 69 ...List of routi
000120: 6E 65 73 3A 0D 0A 0D 0A 62 6F 72 64 65 72 2C 20 nes:....border,
000130: 63 6C 67 2C 20 63 6C 73 2C 20 63 75 72 73 64 69 clg, cls, cursdi
000140: 2C 20 63 75 72 73 65 6E 2C 90 20 63 75 72 73 6F , cursen,. curso
000150: 66 66 2C 90 20 63 75 72 73 6F 6E 2C 20 64 72 61 ff,. curson, dra
000160: 77 2C 20 64 72 61 77 72 2C 20 65 6E 74 2C 20 0D w, drawr, ent, .
000170: 8A 65 6E 76 2C 20 66 72 61 6D 65 2C 20 67 70 65 .env, frame, gpe
000180: 6E 2C 20 67 70 61 70 65 72 2C 20 67 74 65 73 74 n, gpaper, gtest
000190: 2C 90 20 67 74 65 73 74 72 2C 90 20 67 77 69 6E ,. gtestr,. gwin
0001A0: 64 6F 77 2C 20 67 77 72 63 68 2C 20 69 6E 6B 2C dow, gwrch, ink,
0001B0: 20 69 6E 6B 65 79 2C 20 0D 8A 69 6E 6B 6D 6F 64 inkey, ..inkmod
0001C0: 65 2C 20 6B 65 79 76 61 6C 69 64 2C 20 6C 6F 63 e, keyvalid, loc
0001D0: 61 74 65 2C 20 6D 6F 64 65 2C 90 20 6D 6F 76 65 ate, mode,. move
0001E0: 2C 90 20 6D 6F 76 65 72 2C 20 6F 70 61 71 75 65 ,. mover, opaque
0001F0: 2C 20 6F 72 69 67 69 6E 2C 20 70 61 70 65 72 2C , origin, paper,
Size : 512 (Real : 512)
000000: 20 0D 8A 70 65 6E 2C 20 70 6C 6F 74 2C 20 70 6C ..pen, plot, pl
000010: 6F 74 72 2C 90 20 72 65 6C 65 61 73 65 2C 90 20 otr,. release,.
000020: 72 73 78 2C 90 20 73 6F 75 6E 64 2C 90 20 73 70 rsx,. sound,. sp
000030: 65 65 64 69 6E 6B 2C 20 73 70 65 65 64 6B 65 79 eedink, speedkey
000040: 2C 20 73 74 72 65 61 6D 2C 20 0D 8A 73 74 72 73 , stream, ..strs
000050: 77 61 70 2C 20 74 61 67 2C 20 74 61 67 6F 66 66 wap, tag, tagoff
000060: 2C 20 74 72 61 6E 73 70 61 72 65 6E 74 2C 20 77 , transparent, w
000070: 69 6E 64 6F 77 2C 20 78 70 6F 73 2C 20 79 70 6F indow, xpos, ypo
000080: 73 0D 0A 0D 0A 0D 0A 0D 0A E2 28 6B 29 20 44 45 s.........(k) DE
000090: 42 55 47 E2 0D 0A 0D 0A 09 54 68 65 72 65 20 69 BUG......There i
0000A0: 73 20 6F 6E 65 20 66 75 72 74 68 65 72 90 20 6C s one further. l
0000B0: 69 62 72 61 72 79 90 20 72 6F 75 74 69 6E 65 90 ibrary. routine.
0000C0: 20 70 72 6F 76 69 64 65 64 2C 90 20 77 68 69 63 provided,. whic
0000D0: 68 20 69 73 20 75 73 65 66 75 6C 20 0D 8A 77 68 h is useful ..wh
0000E0: 65 6E 20 64 65 62 75 67 67 69 6E 67 20 70 72 6F en debugging pro
0000F0: 67 72 61 6D 73 2E 20 54 68 65 20 72 6F 75 74 69 grams. The routi
000100: 6E 65 2C 20 44 45 42 55 47 2C 20 69 73 20 73 75 ne, DEBUG, is su
000110: 70 70 6C 69 65 64 20 69 6E 20 61 20 73 65 70 61 pplied in a sepa
000120: 72 61 74 65 20 0D 8A 66 69 6C 65 2C 20 61 6C 73 rate ..file, als
000130: 6F 20 63 61 6C 6C 65 64 20 27 44 45 42 55 47 27 o called 'DEBUG'
000140: 2C 20 61 6E 64 20 70 72 6F 76 69 64 65 73 20 76 , and provides v
000150: 61 72 69 6F 75 73 20 6F 70 74 69 6F 6E 73 20 66 arious options f
000160: 6F 72 20 64 69 73 70 6C 61 79 69 6E 67 20 0D 8A or displaying ..
000170: 76 61 72 69 61 62 6C 65 20 6E 61 6D 65 73 20 61 variable names a
000180: 6E 64 20 63 6F 6E 74 65 6E 74 73 2E 20 54 68 65 nd contents. The
000190: 73 65 90 20 6F 70 74 69 6F 6E 73 90 20 6D 61 79 se. options. may
0001A0: 20 62 65 20 63 68 61 6E 67 65 64 20 77 69 74 68 be changed with
0001B0: 20 6C 61 74 65 72 20 0D 8A 72 65 6C 65 61 73 65 later ..release
0001C0: 73 20 6F 66 20 42 43 50 4C 20 61 6E 64 20 73 6F s of BCPL and so
0001D0: 90 20 74 6F 90 20 65 6E 73 75 72 65 90 20 61 63 . to. ensure. ac
0001E0: 63 75 72 61 63 79 2C 90 20 65 78 61 63 74 20 64 curacy,. exact d
0001F0: 65 74 61 69 6C 73 20 61 72 65 20 6F 6E 6C 79 20 etails are only
Size : 512 (Real : 512)
000000: 0D 8A 67 69 76 65 6E 20 69 6E 20 74 68 65 20 66 ..given in the f
000010: 69 6C 65 2E 0D 0A 09 54 6F 20 75 73 65 20 44 45 ile....To use DE
000020: 42 55 47 2C 20 70 75 74 20 74 68 65 90 20 64 69 BUG, put the. di
000030: 72 65 63 74 69 76 65 90 20 27 47 45 54 90 20 22 rective. 'GET. "
000040: 44 45 42 55 47 22 27 20 6E 65 61 72 20 74 68 65 DEBUG"' near the
000050: 20 73 74 61 72 74 20 6F 66 20 0D 8A 74 68 65 20 start of ..the
000060: 70 72 6F 67 72 61 6D 20 2D 2D 20 73 6F 20 69 74 program -- so it
000070: 20 69 73 20 63 6F 6D 70 69 6C 65 64 20 61 66 74 is compiled aft
000080: 65 72 20 74 68 65 20 6C 69 62 72 61 72 79 20 72 er the library r
000090: 6F 75 74 69 6E 65 73 20 61 6E 64 20 62 65 66 6F outines and befo
0000A0: 72 65 20 0D 8A 74 68 65 20 66 69 72 73 74 20 74 re ..the first t
0000B0: 69 6D 65 20 44 45 42 55 47 20 69 73 20 63 61 6C ime DEBUG is cal
0000C0: 6C 65 64 2E 0D 0A 09 49 74 20 69 73 20 70 6F 73 led....It is pos
0000D0: 73 69 62 6C 65 20 74 6F 20 63 6F 6D 70 69 6C 65 sible to compile
0000E0: 20 74 68 65 90 20 70 72 6F 67 72 61 6D 20 77 69 the. program wi
0000F0: 74 68 6F 75 74 20 44 45 42 55 47 20 62 65 69 6E thout DEBUG bein
000100: 67 20 63 61 6C 6C 65 64 2C 20 0D 8A 62 75 74 20 g called, ..but
000110: 77 69 74 68 6F 75 74 20 74 68 65 20 6E 65 65 64 without the need
000120: 20 74 6F 90 20 72 65 6D 6F 76 65 90 20 74 68 65 to. remove. the
000130: 90 20 63 61 6C 6C 73 20 74 68 65 6D 73 65 6C 76 . calls themselv
000140: 65 73 2E 20 53 69 6D 70 6C 79 20 72 65 70 6C 61 es. Simply repla
000150: 63 65 20 0D 8A 27 47 45 54 91 22 44 45 42 55 47 ce ..'GET."DEBUG
000160: 22 27 20 62 79 20 27 4C 45 54 20 64 65 62 75 67 "' by 'LET debug
000170: 28 29 20 42 45 20 52 45 54 55 52 4E 27 2E 20 54 () BE RETURN'. T
000180: 68 69 73 20 77 69 6C 6C 20 73 75 62 73 74 69 74 his will substit
000190: 75 74 65 20 61 20 64 75 6D 6D 79 20 0D 8A 72 6F ute a dummy ..ro
0001A0: 75 74 69 6E 65 2E 0D 0A 0D 0A 3E 70 61 0D 0A 1A utine.....>pa...
0001B0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0001C0: 2F 83 00 21 04 68 69 73 20 77 69 6C 6C 20 73 75 /..!.his will su
0001D0: 62 73 74 69 74 75 74 65 20 61 20 64 75 6D 6D 79 bstitute a dummy
0001E0: 20 0D 8A 72 6F 75 74 69 6E 65 2E 0D 0A 0D 0A 3E ..routine.....>
0001F0: 70 61 0D 0A 1A 00 00 00 00 00 00 00 00 00 00 00 pa..............
Size : 512 (Real : 512)
000000: 00 42 43 50 4C 4D 33 20 20 20 20 20 00 00 00 00 .BCPLM3 ....
000010: 00 00 0A 00 00 C6 06 00 C5 59 00 00 00 00 00 00 .........Y......
000020: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
000030: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
000040: C5 59 00 53 05 65 0D 0A 20 20 20 20 20 20 20 20 .Y.S.e..
000050: 55 6E 65 78 70 65 63 74 65 64 20 6E 6F 64 65 20 Unexpected node
000060: 69 6E 20 65 78 70 72 65 73 73 69 6F 6E 0D 0A 20 in expression..
000070: 20 20 20 20 20 20 20 44 65 63 6C 61 72 61 74 69 Declarati
000080: 3E 2D 2D 2D 21 2D 2D 2D 2D 2D 21 2D 2D 2D 2D 2D >---!-----!-----
000090: 21 2D 2D 2D 2D 2D 2D 2D 21 2D 2D 2D 2D 2D 2D 2D !-------!-------
0000A0: 21 2D 2D 2D 2D 2D 2D 2D 21 2D 2D 2D 2D 2D 2D 2D !-------!-------
0000B0: 21 2D 2D 2D 2D 2D 2D 2D 21 2D 2D 2D 2D 2D 2D 2D !-------!-------
0000C0: 21 2D 2D 2D 2D 52 0D 0A 3E 70 6E 20 34 39 0D 0A !----R..>pn 49..
0000D0: 3E 74 6D 20 33 0D 0A 3E 62 6D 20 31 31 0D 0A 3E >tm 3..>bm 11..>
0000E0: 68 6D 20 30 0D 0A 3E 66 6D 20 32 0D 0A 3E 66 6F hm 0..>fm 2..>fo
0000F0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
000100: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
000110: 20 20 25 0D 0A 3E 63 65 20 E2 39 2E 20 44 49 46 %..>ce .9. DIF
000120: 46 45 52 45 4E 43 45 53 20 46 52 4F 4D 20 53 54 FERENCES FROM ST
000130: 41 4E 44 41 52 44 20 42 43 50 4C E2 0D 0A 0D 0A ANDARD BCPL.....
000140: 0D 0A E2 54 68 65 20 49 4E 4C 49 4E 45 20 63 6F ...The INLINE co
000150: 6D 6D 61 6E 64 E2 0D 0A 0D 0A 09 54 68 69 73 20 mmand......This
000160: 69 73 20 61 6E 20 65 78 74 65 6E 73 69 6F 6E 20 is an extension
000170: 74 6F 20 74 68 65 20 6E 6F 72 6D 61 6C 20 42 43 to the normal BC
000180: 50 4C 20 63 6F 6D 6D 61 6E 64 20 73 65 74 20 61 PL command set a
000190: 6E 64 20 61 6C 6C 6F 77 73 20 5A 38 30 20 0D 8A nd allows Z80 ..
0001A0: 63 6F 64 65 20 74 6F 20 62 65 90 20 69 6E 63 6F code to be. inco
0001B0: 72 70 6F 72 61 74 65 64 90 20 64 69 72 65 63 74 rporated. direct
0001C0: 6C 79 90 20 69 6E 74 6F 90 20 61 90 20 42 43 50 ly. into. a. BCP
0001D0: 4C 90 20 70 72 6F 67 72 61 6D 2E 20 54 68 65 20 L. program. The
0001E0: 69 6E 6C 69 6E 65 20 0D 8A 63 6F 6D 6D 61 6E 64 inline ..command
0001F0: 20 69 73 20 66 6F 6C 6C 6F 77 65 64 20 62 79 20 is followed by
Size : 512 (Real : 512)
000000: 61 90 20 6C 69 73 74 90 20 6F 66 90 20 63 6F 6E a. list. of. con
000010: 73 74 61 6E 74 73 20 73 65 70 61 72 61 74 65 64 stants separated
000020: 20 62 79 20 63 6F 6D 6D 61 73 2E 20 54 68 65 20 by commas. The
000030: 0D 8A 6C 6F 77 20 62 79 74 65 20 6F 66 20 74 68 ..low byte of th
000040: 65 73 65 20 63 6F 6E 73 74 61 6E 74 73 90 20 69 ese constants. i
000050: 73 90 20 74 61 6B 65 6E 90 20 61 6E 64 20 69 6E s. taken. and in
000060: 73 65 72 74 65 64 20 64 69 72 65 63 74 6C 79 20 serted directly
000070: 69 6E 74 6F 20 74 68 65 20 0D 8A 6F 62 6A 65 63 into the ..objec
000080: 74 20 63 6F 64 65 2E 20 54 68 69 73 20 61 6C 6C t code. This all
000090: 6F 77 73 20 70 72 6F 63 65 64 75 72 65 73 20 74 ows procedures t
0000A0: 6F 20 63 61 6C 6C 20 66 69 72 6D 77 61 72 65 20 o call firmware
0000B0: 72 6F 75 74 69 6E 65 73 20 65 74 63 2E 20 61 6E routines etc. an
0000C0: 64 20 0D 8A 68 61 73 20 62 65 65 6E 20 75 73 65 d ..has been use
0000D0: 64 20 69 6E 90 20 74 68 65 90 20 4C 49 42 48 44 d in. the. LIBHD
0000E0: 52 90 20 66 69 6C 65 73 2E 90 20 49 6E 90 20 6F R. files.. In. o
0000F0: 72 64 65 72 90 20 74 6F 20 75 73 65 20 74 68 69 rder. to use thi
000100: 73 20 66 61 63 69 6C 69 74 79 20 0D 8A 70 72 6F s facility ..pro
000110: 70 65 72 6C 79 20 79 6F 75 20 6D 75 73 74 90 20 perly you must.
000120: 62 65 90 20 61 77 61 72 65 90 20 6F 66 90 20 74 be. aware. of. t
000130: 68 65 90 20 77 61 79 90 20 74 68 61 74 90 20 74 he. way. that. t
000140: 68 65 90 20 63 6F 6D 70 69 6C 65 72 20 73 74 6F he. compiler sto
000150: 72 65 73 20 0D 8A 76 61 72 69 61 62 6C 65 73 20 res ..variables
000160: 61 6E 64 20 72 65 67 69 73 74 65 72 73 20 77 68 and registers wh
000170: 69 63 68 90 20 6D 75 73 74 90 20 62 65 90 20 6C ich. must. be. l
000180: 65 66 74 90 20 69 6E 74 61 63 74 2E 90 20 53 65 eft. intact.. Se
000190: 65 20 61 70 70 65 6E 64 69 78 20 31 20 0D 8A 28 e appendix 1 ..(
0001A0: 74 65 63 68 6E 69 63 61 6C 20 69 6E 66 6F 72 6D technical inform
0001B0: 61 74 69 6F 6E 29 2E 0D 0A 0D 0A 09 65 2E 67 2E ation)......e.g.
0001C0: 20 20 49 4E 4C 49 4E 45 20 32 30 35 2C 23 78 35 INLINE 205,#x5
0001D0: 41 2C 23 78 42 42 0D 0A 0D 0A 77 69 6C 6C 20 63 A,#xBB....will c
0001E0: 61 6C 6C 20 74 68 65 20 41 4D 53 44 4F 53 20 70 all the AMSDOS p
0001F0: 72 69 6E 74 20 63 68 61 72 61 63 74 65 72 20 72 rint character r
Size : 512 (Real : 512)
000000: 6F 75 74 69 6E 65 20 2D 2D 20 54 58 54 20 4F 55 outine -- TXT OU
000010: 54 50 55 54 2E 0D 0A 0D 0A 0D 0A E2 54 68 65 20 TPUT........The
000020: 69 6E 66 69 78 65 64 20 62 79 74 65 20 6F 70 65 infixed byte ope
000030: 72 61 74 6F 72 20 25 E2 0D 0A 0D 0A 09 54 68 69 rator %......Thi
000040: 73 20 69 73 20 61 6E 20 65 78 74 65 6E 73 69 6F s is an extensio
000050: 6E 90 20 74 6F 90 20 73 74 61 6E 64 61 72 64 90 n. to. standard.
000060: 20 42 43 50 4C 90 20 77 68 69 63 68 90 20 69 73 BCPL. which. is
000070: 20 73 75 70 70 6F 72 74 65 64 2E 20 54 68 65 20 supported. The
000080: 0D 8A 69 6E 66 69 78 65 64 20 62 79 74 65 20 6F ..infixed byte o
000090: 70 65 72 61 74 6F 72 20 77 69 6C 6C 20 65 78 74 perator will ext
0000A0: 72 61 63 74 20 61 20 70 61 72 74 69 63 75 6C 61 ract a particula
0000B0: 72 20 62 79 74 65 20 66 72 6F 6D 20 61 20 76 65 r byte from a ve
0000C0: 63 74 6F 72 2E 20 49 6E 20 0D 8A 75 73 65 20 74 ctor. In ..use t
0000D0: 68 69 73 20 6F 70 65 72 61 74 6F 72 20 69 73 20 his operator is
0000E0: 76 65 72 79 90 20 73 69 6D 69 6C 61 72 90 20 74 very. similar. t
0000F0: 6F 90 20 74 68 65 90 20 21 20 6F 70 65 72 61 74 o. the. ! operat
000100: 6F 72 20 65 78 63 65 70 74 20 74 68 61 74 20 69 or except that i
000110: 74 20 0D 8A 63 61 6E 6E 6F 74 20 62 65 20 75 73 t ..cannot be us
000120: 65 64 20 61 73 20 61 20 75 6E 61 72 79 20 6F 70 ed as a unary op
000130: 65 72 61 74 6F 72 90 20 61 6E 64 20 74 68 61 74 erator. and that
000140: 20 74 68 65 20 73 65 63 6F 6E 64 20 6F 70 65 72 the second oper
000150: 61 6E 64 20 61 6C 77 61 79 73 20 0D 8A 67 69 76 and always ..giv
000160: 65 73 20 74 68 65 20 62 79 74 65 20 6F 66 66 73 es the byte offs
000170: 65 74 20 66 72 6F 6D 20 74 68 65 90 20 66 69 72 et from the. fir
000180: 73 74 90 20 6F 70 65 72 61 74 6F 72 2E 90 20 54 st. operator.. T
000190: 68 65 20 6D 61 69 6E 20 75 73 65 20 6F 66 20 74 he main use of t
0001A0: 68 69 73 20 0D 8A 6F 70 65 72 61 74 6F 72 20 69 his ..operator i
0001B0: 73 20 77 69 74 68 20 73 74 72 69 6E 67 73 20 74 s with strings t
0001C0: 6F 90 20 65 78 74 72 61 63 74 90 20 61 90 20 70 o. extract. a. p
0001D0: 61 72 74 69 63 75 6C 61 72 20 63 68 61 72 61 63 articular charac
0001E0: 74 65 72 20 66 72 6F 6D 20 74 68 65 20 0D 8A 73 ter from the ..s
0001F0: 74 72 69 6E 67 2E 0D 0A 0D 0A 09 65 2E 67 2E 20 tring......e.g.
Size : 512 (Real : 512)
000000: 20 4C 45 54 20 76 20 3D 20 56 45 43 20 31 39 0D LET v = VEC 19.
000010: 0A 09 09 46 4F 52 20 61 20 3D 20 31 20 54 4F 20 ...FOR a = 1 TO
000020: 33 39 20 44 4F 20 76 25 61 20 3A 3D 20 27 20 27 39 DO v%a := ' '
000030: 0D 0A 09 09 76 25 30 20 3A 3D 20 33 39 20 20 20 ....v%0 := 39
000040: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
000050: 20 20 2F 2F 20 73 65 74 20 74 68 65 20 73 74 72 // set the str
000060: 69 6E 67 20 6C 65 6E 67 74 68 20 62 79 74 65 0D ing length byte.
000070: 0A 0D 0A 77 69 6C 6C 20 63 72 65 61 74 65 20 61 ...will create a
000080: 20 73 74 72 69 6E 67 20 63 6F 6E 74 61 69 6E 69 string containi
000090: 6E 67 20 33 39 20 73 70 61 63 65 73 2E 0D 0A 0D ng 39 spaces....
0000A0: 0A 0D 0A E2 55 6E 64 65 66 69 6E 65 64 20 69 6E ....Undefined in
0000B0: 69 74 69 61 6C 20 76 61 6C 75 65 73 E2 0D 0A 0D itial values....
0000C0: 0A 09 54 68 65 20 69 6E 69 74 69 61 6C 20 76 61 ..The initial va
0000D0: 6C 75 65 20 6F 66 20 61 20 73 69 6D 70 6C 65 90 lue of a simple.
0000E0: 20 76 61 72 69 61 62 6C 65 90 20 64 65 63 6C 61 variable. decla
0000F0: 72 65 64 20 69 6E 20 61 20 4C 45 54 20 63 6F 6D red in a LET com
000100: 6D 61 6E 64 20 0D 8A 6D 61 79 20 62 65 20 75 6E mand ..may be un
000110: 64 65 66 69 6E 65 64 2E 20 54 68 69 73 20 69 73 defined. This is
000120: 20 64 6F 6E 65 20 62 79 90 20 75 73 69 6E 67 90 done by. using.
000130: 20 61 20 71 75 65 73 74 69 6F 6E 20 6D 61 72 6B a question mark
000140: 20 28 3F 29 2E 20 54 68 69 73 20 69 73 20 0D 8A (?). This is ..
000150: 75 73 65 64 20 74 6F 20 61 69 64 20 72 65 61 64 used to aid read
000160: 61 62 69 6C 69 74 79 20 6F 66 90 20 70 72 6F 67 ability of. prog
000170: 72 61 6D 73 90 20 62 79 90 20 69 6E 64 69 63 61 rams. by. indica
000180: 74 69 6E 67 90 20 74 68 61 74 20 74 68 65 72 65 ting. that there
000190: 20 69 73 20 6E 6F 20 0D 8A 72 65 6C 65 76 61 6E is no ..relevan
0001A0: 74 20 69 6E 69 74 69 61 6C 20 76 61 6C 75 65 20 t initial value
0001B0: 6F 66 20 61 20 76 61 72 69 61 62 6C 65 2E 0D 0A of a variable...
0001C0: 0D 0A 0D 0A E2 46 49 4E 44 49 4E 50 55 54 20 61 .....FINDINPUT a
0001D0: 6E 64 20 46 49 4E 44 4F 55 54 50 55 54 E2 0D 0A nd FINDOUTPUT...
0001E0: 0D 0A 09 54 68 65 20 70 72 6F 63 65 64 75 72 65 ...The procedure
0001F0: 73 90 20 66 6F 72 90 20 6F 70 65 6E 69 6E 67 90 s. for. opening.
Size : 512 (Real : 512)
000000: 20 66 69 6C 65 73 90 20 61 72 65 90 20 73 6C 69 files. are. sli
000010: 67 68 74 6C 79 90 20 64 69 66 66 65 72 65 6E 74 ghtly. different
000020: 20 66 72 6F 6D 20 0D 8A 73 74 61 6E 64 61 72 64 from ..standard
000030: 20 42 43 50 4C 20 69 6E 20 74 68 61 74 90 20 61 BCPL in that. a
000040: 90 20 62 75 66 66 65 72 90 20 6D 75 73 74 90 20 . buffer. must.
000050: 62 65 90 20 73 70 65 63 69 66 69 65 64 90 20 61 be. specified. a
000060: 73 20 61 20 70 61 72 61 6D 65 74 65 72 2C 20 0D s a parameter, .
000070: 8A 69 6E 73 74 65 61 64 20 6F 66 20 74 68 65 6D .instead of them
000080: 20 72 65 74 75 72 6E 69 6E 67 20 61 20 73 74 72 returning a str
000090: 65 61 6D 20 69 64 65 6E 74 69 66 69 65 72 2E 0D eam identifier..
0000A0: 0A 3E 70 61 0D 0A E2 47 6C 6F 62 61 6C 20 56 61 .>pa...Global Va
0000B0: 72 69 61 62 6C 65 73 E2 0D 0A 0D 0A 0D 0A 09 57 riables........W
0000C0: 68 65 6E 20 61 20 70 72 6F 63 65 64 75 72 65 20 hen a procedure
0000D0: 69 73 20 64 65 66 69 6E 65 64 90 20 69 6E 90 20 is defined. in.
0000E0: 73 74 61 6E 64 61 72 64 20 42 43 50 4C 20 74 68 standard BCPL th
0000F0: 65 20 63 6F 6D 70 69 6C 65 72 20 63 68 65 63 6B e compiler check
000100: 73 20 0D 8A 74 6F 20 73 65 65 20 69 66 20 61 20 s ..to see if a
000110: 47 4C 4F 42 41 4C 20 76 61 72 69 61 62 6C 65 20 GLOBAL variable
000120: 77 69 74 68 20 74 68 65 90 20 73 61 6D 65 90 20 with the. same.
000130: 6E 61 6D 65 20 69 73 20 69 6E 20 73 63 6F 70 65 name is in scope
000140: 2E 20 49 66 20 69 74 20 69 73 20 0D 8A 69 6E 20 . If it is ..in
000150: 73 63 6F 70 65 2C 20 74 68 65 6E 20 74 68 61 74 scope, then that
000160: 20 76 61 72 69 61 62 6C 65 20 77 69 6C 6C 90 20 variable will.
000170: 62 65 90 20 69 6E 69 74 69 61 6C 69 73 65 64 20 be. initialised
000180: 77 69 74 68 20 74 68 65 20 61 64 64 72 65 73 73 with the address
000190: 20 6F 66 20 0D 8A 74 68 65 20 70 72 6F 63 65 64 of ..the proced
0001A0: 75 72 65 2E 20 49 66 20 74 68 65 72 65 20 69 73 ure. If there is
0001B0: 20 6E 6F 20 73 75 63 68 20 76 61 72 69 61 62 6C no such variabl
0001C0: 65 20 69 6E 20 73 63 6F 70 65 20 74 68 65 6E 20 e in scope then
0001D0: 61 20 6E 65 77 20 53 54 41 54 49 43 20 0D 8A 76 a new STATIC ..v
0001E0: 61 72 69 61 62 6C 65 20 77 69 6C 6C 90 20 62 65 ariable will. be
0001F0: 90 20 63 72 65 61 74 65 64 90 20 61 6E 64 90 20 . created. and.
Size : 512 (Real : 512)
000000: 74 68 61 74 90 20 76 61 72 69 61 62 6C 65 90 20 that. variable.
000010: 69 6E 69 74 69 61 6C 69 73 65 64 90 20 77 69 74 initialised. wit
000020: 68 20 74 68 65 20 0D 8A 61 64 64 72 65 73 73 20 h the ..address
000030: 6F 66 20 74 68 65 20 70 72 6F 63 65 64 75 72 65 of the procedure
000040: 2E 20 57 68 65 6E 20 61 20 70 72 6F 63 65 64 75 . When a procedu
000050: 72 65 20 63 61 6C 6C 20 69 73 20 6D 61 64 65 20 re call is made
000060: 74 68 65 20 63 6F 64 65 20 6C 6F 6F 6B 73 20 0D the code looks .
000070: 8A 75 70 20 74 68 65 20 61 64 64 72 65 73 73 20 .up the address
000080: 69 6E 20 74 68 65 90 20 72 65 6C 65 76 61 6E 74 in the. relevant
000090: 90 20 76 61 72 69 61 62 6C 65 90 20 61 6E 64 20 . variable. and
0000A0: 63 61 6C 6C 73 20 74 68 61 74 20 61 64 64 72 65 calls that addre
0000B0: 73 73 2E 20 54 68 65 20 0D 8A 72 65 61 73 6F 6E ss. The ..reason
0000C0: 20 66 6F 72 20 74 68 69 73 90 20 69 6E 64 69 72 for this. indir
0000D0: 65 63 74 90 20 63 61 6C 6C 69 6E 67 90 20 69 73 ect. calling. is
0000E0: 90 20 74 6F 90 20 65 6E 61 62 6C 65 90 20 65 61 . to. enable. ea
0000F0: 73 79 20 63 6F 6D 6D 75 6E 69 63 61 74 69 6F 6E sy communication
000100: 20 0D 8A 62 65 74 77 65 65 6E 20 73 65 70 61 72 ..between separ
000110: 61 74 65 6C 79 20 63 6F 6D 70 69 6C 65 64 20 75 ately compiled u
000120: 6E 69 74 73 2E 0D 0A 09 41 73 20 74 68 65 20 41 nits....As the A
000130: 52 4E 4F 52 20 63 6F 6D 70 69 6C 65 72 20 64 6F RNOR compiler do
000140: 65 73 20 6E 6F 74 20 61 6C 6C 6F 77 20 73 65 70 es not allow sep
000150: 61 72 61 74 65 20 63 6F 6D 70 69 6C 61 74 69 6F arate compilatio
000160: 6E 20 74 68 65 72 65 20 69 73 20 0D 8A 6E 6F 20 n there is ..no
000170: 6E 65 65 64 20 66 6F 72 20 74 68 69 73 20 69 6E need for this in
000180: 64 69 72 65 63 74 20 61 70 70 72 6F 61 63 68 20 direct approach
000190: 61 6E 64 90 20 73 6F 90 20 61 20 63 61 6C 6C 20 and. so. a call
0001A0: 69 73 20 6D 61 64 65 20 64 69 72 65 63 74 6C 79 is made directly
0001B0: 20 74 6F 20 0D 8A 74 68 65 20 61 64 64 72 65 73 to ..the addres
0001C0: 73 90 20 6F 66 90 20 74 68 65 90 20 70 72 6F 63 s. of. the. proc
0001D0: 65 64 75 72 65 2E 90 20 54 68 69 73 90 20 61 6C edure.. This. al
0001E0: 73 6F 90 20 6D 65 61 6E 73 90 20 74 68 61 74 90 so. means. that.
0001F0: 20 74 68 65 90 20 6E 75 6D 62 65 72 20 0D 8A 61 the. number ..a
Size : 512 (Real : 512)
000000: 73 73 6F 63 69 61 74 65 64 20 77 69 74 68 20 61 ssociated with a
000010: 20 47 4C 4F 42 41 4C 20 76 61 72 69 61 62 6C 65 GLOBAL variable
000020: 20 69 6E 90 20 69 74 73 20 64 65 66 69 6E 69 74 in. its definit
000030: 69 6F 6E 20 69 73 20 6D 65 61 6E 69 6E 67 6C 65 ion is meaningle
000040: 73 73 20 61 73 20 0D 8A 74 68 65 72 65 20 69 73 ss as ..there is
000050: 20 6E 6F 90 20 61 63 74 75 61 6C 90 20 47 4C 4F no. actual. GLO
000060: 42 41 4C 90 20 76 65 63 74 6F 72 2E 90 20 54 68 BAL. vector.. Th
000070: 65 90 20 69 6E 64 65 78 90 20 6E 75 6D 62 65 72 e. index. number
000080: 90 20 69 73 2C 20 68 6F 77 65 76 65 72 2C 20 0D . is, however, .
000090: 8A 72 65 74 61 69 6E 65 64 20 66 6F 72 20 63 6F .retained for co
0000A0: 6D 70 61 74 61 62 69 6C 69 74 79 20 77 69 74 68 mpatability with
0000B0: 90 20 6F 74 68 65 72 90 20 63 6F 6D 70 69 6C 65 . other. compile
0000C0: 72 73 2E 90 20 54 68 65 20 6F 75 74 63 6F 6D 65 rs.. The outcome
0000D0: 20 6F 66 20 61 6C 6C 20 0D 8A 74 68 69 73 20 69 of all ..this i
0000E0: 73 20 74 68 61 74 90 20 61 6C 74 68 6F 75 67 68 s that. although
0000F0: 90 20 69 74 90 20 69 73 90 20 70 6F 73 73 69 62 . it. is. possib
000100: 6C 65 90 20 74 6F 90 20 72 65 61 64 90 20 74 68 le. to. read. th
000110: 65 90 20 61 64 64 72 65 73 73 90 20 6F 66 20 61 e. address. of a
000120: 20 0D 8A 70 72 6F 63 65 64 75 72 65 2C 20 61 6E ..procedure, an
000130: 64 20 73 6F 20 70 61 73 73 20 70 72 6F 63 65 64 d so pass proced
000140: 75 72 65 73 20 61 73 20 70 61 72 61 6D 65 74 65 ures as paramete
000150: 72 73 2C 20 69 74 20 69 73 20 6E 6F 74 20 70 6F rs, it is not po
000160: 73 73 69 62 6C 65 20 74 6F 20 0D 8A 61 73 73 69 ssible to ..assi
000170: 67 6E 20 74 6F 20 61 20 70 72 6F 63 65 64 75 72 gn to a procedur
000180: 65 2E 20 59 6F 75 20 63 61 6E 2C 20 68 6F 77 65 e. You can, howe
000190: 76 65 72 2C 20 73 65 74 20 75 70 20 61 20 67 6C ver, set up a gl
0001A0: 6F 62 61 6C 20 76 61 72 69 61 62 6C 65 20 77 69 obal variable wi
0001B0: 74 68 20 0D 8A 61 20 64 69 66 66 65 72 65 6E 74 th ..a different
0001C0: 20 6E 61 6D 65 20 66 72 6F 6D 90 20 61 90 20 70 name from. a. p
0001D0: 72 6F 63 65 64 75 72 65 90 20 61 6E 64 90 20 74 rocedure. and. t
0001E0: 68 65 6E 90 20 61 73 73 69 67 6E 20 74 68 65 20 hen. assign the
0001F0: 70 72 6F 63 65 64 75 72 65 27 73 20 0D 8A 61 64 procedure's ..ad
Size : 512 (Real : 512)
000000: 64 72 65 73 73 20 74 6F 20 74 68 61 74 20 67 6C dress to that gl
000010: 6F 62 61 6C 20 76 61 72 69 61 62 6C 65 20 69 6E obal variable in
000020: 90 20 79 6F 75 72 90 20 70 72 6F 67 72 61 6D 2E . your. program.
000030: 20 54 68 69 73 20 6D 65 61 6E 73 20 74 68 61 74 This means that
000040: 20 74 68 65 20 0D 8A 70 72 6F 63 65 64 75 72 65 the ..procedure
000050: 20 63 61 6E 20 74 68 65 6E 20 62 65 20 61 73 73 can then be ass
000060: 69 67 6E 65 64 20 74 6F 2E 0D 0A 20 20 20 20 20 igned to...
000070: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
000080: 20 20 0D 0A 0D 0A E2 4C 45 56 45 4C 20 61 6E 64 .....LEVEL and
000090: 20 4C 4F 4E 47 4A 55 4D 50 E2 0D 0A 0D 0A 09 4C LONGJUMP......L
0000A0: 45 56 45 4C 90 20 77 6F 72 6B 73 90 20 69 6E 90 EVEL. works. in.
0000B0: 20 61 90 90 20 73 6C 69 67 68 74 6C 79 90 90 20 a.. slightly..
0000C0: 64 69 66 66 65 72 65 6E 74 90 90 20 77 61 79 90 different.. way.
0000D0: 20 66 72 6F 6D 90 20 6D 6F 73 74 90 20 42 43 50 from. most. BCP
0000E0: 4C 20 0D 8A 69 6D 70 6C 65 6D 65 6E 74 61 74 69 L ..implementati
0000F0: 6F 6E 73 2E 90 20 49 74 90 20 75 73 75 61 6C 6C ons.. It. usuall
000100: 79 90 90 20 72 65 74 75 72 6E 73 90 90 20 61 90 y.. returns.. a.
000110: 90 20 73 69 6E 67 6C 65 90 90 20 31 90 90 20 77 . single.. 1.. w
000120: 6F 72 64 90 20 76 61 6C 75 65 20 0D 8A 72 65 70 ord. value ..rep
000130: 72 65 73 65 6E 74 69 6E 67 20 74 68 65 20 73 74 resenting the st
000140: 61 74 65 20 6F 66 20 74 68 65 20 42 43 50 4C 90 ate of the BCPL.
000150: 20 73 74 61 63 6B 90 20 61 74 90 20 61 20 70 6F stack. at. a po
000160: 69 6E 74 20 69 6E 20 74 68 65 20 70 72 6F 67 72 int in the progr
000170: 61 6D 2E 20 0D 8A 44 75 65 20 74 6F 20 74 68 65 am. ..Due to the
000180: 20 6C 69 6D 69 74 61 74 69 6F 6E 73 90 20 6F 66 limitations. of
000190: 90 20 74 68 65 90 20 5A 38 30 90 20 69 6E 90 20 . the. Z80. in.
0001A0: 73 74 61 63 6B 90 20 61 64 64 72 65 73 73 69 6E stack. addressin
0001B0: 67 90 20 69 74 20 69 73 20 6E 6F 74 20 0D 8A 70 g. it is not ..p
0001C0: 6F 73 73 69 62 6C 65 20 74 6F 20 70 61 63 6B 20 ossible to pack
0001D0: 74 68 65 90 20 72 65 71 75 69 72 65 64 90 20 69 the. required. i
0001E0: 6E 66 6F 72 6D 61 74 69 6F 6E 90 20 69 6E 74 6F nformation. into
0001F0: 90 20 6F 6E 65 90 20 77 6F 72 64 20 77 69 74 68 . one. word with
Size : 512 (Real : 512)
000000: 20 74 68 69 73 20 0D 8A 69 6D 70 6C 65 6D 65 6E this ..implemen
000010: 74 61 74 69 6F 6E 20 6F 66 20 42 43 50 4C 2E 20 tation of BCPL.
000020: 49 6E 73 74 65 61 64 20 74 68 65 20 4C 45 56 45 Instead the LEVE
000030: 4C 20 70 72 6F 63 65 64 75 72 65 20 72 65 74 75 L procedure retu
000040: 72 6E 73 20 69 74 73 20 72 65 73 75 6C 74 20 0D rns its result .
000050: 8A 69 6E 20 61 20 34 20 77 6F 72 64 20 76 65 63 .in a 4 word vec
000060: 74 6F 72 20 70 61 73 73 65 64 20 74 6F 90 20 74 tor passed to. t
000070: 68 65 20 70 72 6F 63 65 64 75 72 65 2E 20 53 65 he procedure. Se
000080: 65 20 61 70 70 65 6E 64 69 78 20 31 20 28 74 65 e appendix 1 (te
000090: 63 68 69 6E 63 61 6C 20 0D 8A 69 6E 66 6F 72 6D chincal ..inform
0000A0: 61 74 69 6F 6E 29 20 66 6F 72 20 65 78 61 63 74 ation) for exact
0000B0: 20 64 65 74 61 69 6C 73 2E 0D 0A 0D 0A 09 65 2E details......e.
0000C0: 67 2E 0D 0A 0D 0A 09 09 4C 45 54 20 65 72 72 6F g.......LET erro
0000D0: 72 6C 65 76 65 6C 20 3D 20 56 45 43 20 33 0D 0A rlevel = VEC 3..
0000E0: 09 09 6C 65 76 65 6C 28 65 72 72 6F 72 6C 65 76 ..level(errorlev
0000F0: 65 6C 29 0D 0A 0D 0A 0D 0A E2 45 78 74 65 6E 73 el).......Extens
000100: 69 6F 6E 73 20 6E 6F 74 20 73 75 70 70 6F 72 74 ions not support
000110: 65 64 E2 0D 0A 0D 0A 09 54 68 65 20 66 6F 6C 6C ed......The foll
000120: 6F 77 69 6E 67 20 66 65 61 74 75 72 65 73 2C 20 owing features,
000130: 77 68 69 63 68 20 61 72 65 20 6D 65 6E 74 69 6F which are mentio
000140: 6E 65 64 90 20 69 6E 20 74 68 65 20 42 43 50 4C ned. in the BCPL
000150: 20 62 6F 6F 6B 2C 20 61 72 65 20 0D 8A 6E 6F 74 book, are ..not
000160: 20 73 75 70 70 6F 72 74 65 64 3A 20 73 65 70 61 supported: sepa
000170: 72 61 74 65 90 20 63 6F 6D 70 69 6C 61 74 69 6F rate. compilatio
000180: 6E 2C 90 20 66 6C 6F 61 74 69 6E 67 90 20 70 6F n,. floating. po
000190: 69 6E 74 90 20 65 78 74 65 6E 73 69 6F 6E 2C 20 int. extension,
0001A0: 74 68 65 20 0D 8A 66 69 65 6C 64 20 73 65 6C 65 the ..field sele
0001B0: 63 74 6F 72 20 65 78 74 65 6E 73 69 6F 6E 2E 0D ctor extension..
0001C0: 0A 0D 0A 0D 0A 3E 70 61 0D 0A 3E 63 65 20 E2 41 .....>pa..>ce .A
0001D0: 31 2E 20 54 45 43 48 4E 49 43 41 4C 20 49 4E 46 1. TECHNICAL INF
0001E0: 4F 52 4D 41 54 49 4F 4E E2 0D 0A 0D 0A 0D 0A 09 ORMATION........
0001F0: 54 68 65 20 63 6F 6D 70 69 6C 65 72 20 61 6C 6C The compiler all
Size : 512 (Real : 512)
000000: 6F 63 61 74 65 73 20 64 79 6E 61 6D 69 63 20 73 ocates dynamic s
000010: 74 6F 72 61 67 65 20 66 72 6F 6D 20 74 68 65 20 torage from the
000020: 68 61 72 64 77 61 72 65 20 73 74 61 63 6B 20 66 hardware stack f
000030: 6F 72 20 0D 8A 6F 72 64 69 6E 61 72 79 20 6C 6F or ..ordinary lo
000040: 63 61 6C 20 76 61 72 69 61 62 6C 65 73 2E 20 54 cal variables. T
000050: 68 65 73 65 90 20 61 72 65 90 20 61 63 63 65 73 hese. are. acces
000060: 73 65 64 90 20 62 79 90 20 69 6E 64 65 78 69 6E sed. by. indexin
000070: 67 20 74 68 65 20 73 74 61 63 6B 20 0D 8A 75 73 g the stack ..us
000080: 69 6E 67 20 74 68 65 20 49 58 20 72 65 67 69 73 ing the IX regis
000090: 74 65 72 20 77 68 69 63 68 20 70 6F 69 6E 74 73 ter which points
0000A0: 20 74 6F 20 74 68 65 20 68 69 67 68 20 62 79 74 to the high byt
0000B0: 65 20 6F 66 20 74 68 65 20 6C 61 73 74 20 66 6F e of the last fo
0000C0: 72 6D 61 6C 20 0D 8A 70 61 72 61 6D 65 74 65 72 rmal ..parameter
0000D0: 20 6D 69 6E 75 73 20 31 32 37 2E 90 20 54 68 65 minus 127.. The
0000E0: 90 20 66 6F 72 6D 61 6C 90 20 70 61 72 61 6D 65 . formal. parame
0000F0: 74 65 72 73 90 20 61 72 65 90 20 73 74 6F 72 65 ters. are. store
000100: 64 90 20 69 6E 20 72 65 76 65 72 73 65 20 0D 8A d. in reverse ..
000110: 6F 72 64 65 72 2C 20 63 6F 6D 69 6E 67 20 64 6F order, coming do
000120: 77 6E 90 20 69 6E 90 20 6D 65 6D 6F 72 79 2E 90 wn. in. memory..
000130: 20 49 6D 6D 65 64 69 61 74 65 6C 79 90 20 62 65 Immediately. be
000140: 6C 6F 77 90 20 74 68 65 90 20 66 69 72 73 74 20 low. the. first
000150: 66 6F 72 6D 61 6C 20 0D 8A 70 61 72 61 6D 65 74 formal ..paramet
000160: 65 72 20 69 73 20 74 68 65 20 72 65 74 75 72 6E er is the return
000170: 20 61 64 64 72 65 73 73 90 20 66 72 6F 6D 90 20 address. from.
000180: 74 68 65 90 20 70 72 6F 63 65 64 75 72 65 20 77 the. procedure w
000190: 68 69 63 68 20 63 61 6C 6C 65 64 20 74 68 65 20 hich called the
0001A0: 0D 8A 63 75 72 72 65 6E 74 6C 79 20 61 63 74 69 ..currently acti
0001B0: 76 65 20 70 72 6F 63 65 64 75 72 65 2E 20 42 65 ve procedure. Be
0001C0: 6C 6F 77 20 74 68 69 73 20 69 73 20 74 68 65 20 low this is the
0001D0: 6F 6C 64 20 49 58 20 72 65 67 69 73 74 65 72 20 old IX register
0001E0: 66 72 6F 6D 20 74 68 65 20 0D 8A 63 61 6C 6C 69 from the ..calli
0001F0: 6E 67 20 70 72 6F 63 65 64 75 72 65 20 61 6E 64 ng procedure and
Size : 512 (Real : 512)
000000: 20 62 65 6C 6F 77 20 74 68 69 73 20 61 20 76 61 below this a va
000010: 6C 75 65 20 77 68 69 63 68 20 72 65 70 72 65 73 lue which repres
000020: 65 6E 74 73 20 74 68 65 20 73 74 61 74 65 20 6F ents the state o
000030: 66 20 0D 8A 74 68 65 20 76 65 63 74 6F 72 20 73 f ..the vector s
000040: 70 61 63 65 2E 20 4C 6F 63 61 6C 20 76 61 72 69 pace. Local vari
000050: 61 62 6C 65 73 20 6E 6F 77 20 63 6F 6D 65 20 64 ables now come d
000060: 6F 77 6E 20 66 72 6F 6D 20 74 68 69 73 20 73 70 own from this sp
000070: 61 63 65 20 69 6E 20 74 68 65 20 0D 8A 6F 72 64 ace in the ..ord
000080: 65 72 20 74 68 61 74 20 74 68 65 79 20 61 72 65 er that they are
000090: 20 64 65 63 6C 61 72 65 64 20 61 6E 64 20 53 50 declared and SP
0000A0: 20 77 69 6C 6C 90 20 70 6F 69 6E 74 20 74 6F 20 will. point to
0000B0: 74 68 65 20 6C 6F 77 20 62 79 74 65 20 6F 66 20 the low byte of
0000C0: 74 68 65 20 0D 8A 6C 61 73 74 20 6C 6F 63 61 6C the ..last local
0000D0: 20 76 61 72 69 61 62 6C 65 20 63 75 72 72 65 6E variable curren
0000E0: 74 6C 79 20 69 6E 20 73 63 6F 70 65 2E 0D 0A 09 tly in scope....
0000F0: 57 68 65 6E 20 61 20 6E 65 77 90 20 6C 6F 63 61 When a new. loca
000100: 6C 90 20 76 61 72 69 61 62 6C 65 90 20 69 73 90 l. variable. is.
000110: 20 64 65 63 6C 61 72 65 64 2C 90 20 69 74 73 90 declared,. its.
000120: 20 69 6E 69 74 69 61 6C 90 20 76 61 6C 75 65 20 initial. value
000130: 69 73 20 0D 8A 63 61 6C 63 75 6C 61 74 65 64 20 is ..calculated
000140: 61 6E 64 20 74 68 65 6E 20 70 75 73 68 65 64 20 and then pushed
000150: 6F 6E 74 6F 20 74 68 65 20 73 74 61 63 6B 2E 20 onto the stack.
000160: 57 68 65 6E 20 61 20 76 65 63 74 6F 72 20 69 73 When a vector is
000170: 20 61 6C 6C 6F 63 61 74 65 64 2C 20 0D 8A 73 70 allocated, ..sp
000180: 61 63 65 20 69 73 20 74 61 6B 65 6E 20 66 72 6F ace is taken fro
000190: 6D 90 20 74 68 65 90 20 76 65 63 74 6F 72 90 20 m. the. vector.
0001A0: 73 70 61 63 65 2C 90 20 77 68 69 63 68 90 20 69 space,. which. i
0001B0: 73 20 64 69 72 65 63 74 6C 79 20 61 66 74 65 72 s directly after
0001C0: 20 74 68 65 20 0D 8A 70 72 6F 67 72 61 6D 2C 20 the ..program,
0001D0: 61 6E 64 20 61 20 70 6F 69 6E 74 65 72 20 74 6F and a pointer to
0001E0: 20 74 68 69 73 20 73 70 61 63 65 20 69 73 20 70 this space is p
0001F0: 75 73 68 65 64 20 6F 6E 74 6F 20 74 68 65 20 73 ushed onto the s
Size : 512 (Real : 512)
000000: 74 61 63 6B 2E 0D 0A 0D 0A 65 2E 67 2E 20 66 6F tack.....e.g. fo
000010: 72 20 74 68 65 20 66 6F 6C 6C 6F 77 69 6E 67 20 r the following
000020: 70 72 6F 63 65 64 75 72 65 0D 0A 0D 0A 20 20 20 procedure....
000030: 20 20 20 20 20 20 20 20 20 20 20 20 20 4C 45 54 LET
000040: 20 78 28 61 2C 62 29 20 42 45 0D 0A 20 20 20 20 x(a,b) BE..
000050: 20 20 20 20 20 20 20 20 20 20 20 20 24 28 0D 0A $(..
000060: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
000070: 20 20 4C 45 54 20 7A 20 3D 20 30 0D 0A 20 20 20 LET z = 0..
000080: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2E .
000090: 2E 2E 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 ....
0000A0: 20 20 20 20 24 29 0D 0A 0D 0A 61 74 20 74 68 65 $)....at the
0000B0: 20 70 6F 69 6E 74 20 6D 61 72 6B 65 64 20 62 79 point marked by
0000C0: 20 74 68 65 20 64 6F 74 73 20 74 68 65 20 73 74 the dots the st
0000D0: 61 63 6B 20 6C 6F 6F 6B 73 20 6C 69 6B 65 20 74 ack looks like t
0000E0: 68 69 73 0D 0A 0D 0A 20 20 20 20 20 20 20 20 20 his....
0000F0: 20 20 20 20 20 20 20 62 20 20 20 20 20 20 20 20 b
000100: 20 49 58 20 2B 20 31 32 37 0D 0A 20 20 20 20 20 IX + 127..
000110: 20 20 20 20 20 20 20 20 20 20 20 61 20 20 20 20 a
000120: 20 20 20 20 20 49 58 20 2B 20 31 32 35 0D 0A 20 IX + 125..
000130: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 r
000140: 65 74 20 61 64 64 72 20 20 49 58 20 2B 20 31 32 et addr IX + 12
000150: 33 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 20 3..
000160: 20 20 20 6F 6C 64 20 49 58 20 20 20 20 49 58 20 old IX IX
000170: 2B 20 31 32 31 0D 0A 20 20 20 20 20 20 20 20 20 + 121..
000180: 20 20 20 20 20 20 20 76 65 63 20 70 74 72 20 20 vec ptr
000190: 20 49 58 20 2B 20 31 31 39 0D 0A 20 20 20 20 20 IX + 119..
0001A0: 20 20 20 20 20 20 20 20 20 20 20 7A 20 20 20 20 z
0001B0: 20 20 20 20 20 49 58 20 2B 20 31 31 37 2C 20 53 IX + 117, S
0001C0: 50 20 70 6F 69 6E 74 73 20 68 65 72 65 0D 0A 0D P points here...
0001D0: 0A 09 57 68 65 6E 20 6C 6F 63 61 6C 20 76 61 72 ..When local var
0001E0: 69 61 62 6C 65 73 20 61 72 65 90 20 75 6E 64 65 iables are. unde
0001F0: 63 6C 61 72 65 64 90 20 28 69 2E 65 2E 90 20 61 clared. (i.e.. a
Size : 512 (Real : 512)
000000: 74 90 20 74 68 65 90 20 65 6E 64 20 6F 66 20 74 t. the. end of t
000010: 68 65 69 72 20 0D 8A 62 6C 6F 63 6B 29 2C 20 74 heir ..block), t
000020: 68 65 20 73 74 61 63 6B 20 70 6F 69 6E 74 65 72 he stack pointer
000030: 20 69 73 20 6D 6F 76 65 64 20 75 70 20 74 6F 20 is moved up to
000040: 72 65 6C 65 61 73 65 20 74 68 65 20 73 70 61 63 release the spac
000050: 65 20 75 73 65 64 2E 0D 0A 3E 70 61 0D 0A 09 53 e used...>pa...S
000060: 74 61 74 69 63 20 76 61 72 69 61 62 6C 65 73 20 tatic variables
000070: 61 72 65 20 61 6C 6C 6F 63 61 74 65 64 20 74 68 are allocated th
000080: 65 69 72 90 20 73 70 61 63 65 90 20 61 74 20 63 eir. space. at c
000090: 6F 6D 70 69 6C 65 20 74 69 6D 65 2E 20 54 68 65 ompile time. The
0000A0: 79 20 0D 8A 61 72 65 20 65 6D 62 65 64 64 65 64 y ..are embedded
0000B0: 20 69 6E 20 74 68 65 20 63 6F 64 65 20 61 6E 64 in the code and
0000C0: 90 20 61 72 65 20 72 65 2D 69 6E 69 74 69 61 6C . are re-initial
0000D0: 69 73 65 64 20 65 61 63 68 20 74 69 6D 65 20 74 ised each time t
0000E0: 68 65 20 70 72 6F 67 72 61 6D 20 0D 8A 69 73 20 he program ..is
0000F0: 72 75 6E 2E 20 54 68 65 20 73 74 61 63 6B 20 69 run. The stack i
000100: 73 20 70 6C 61 63 65 64 90 20 61 74 90 20 74 68 s placed. at. th
000110: 65 90 20 74 6F 70 20 6F 66 20 74 68 65 20 61 76 e. top of the av
000120: 61 69 6C 61 62 6C 65 20 6D 65 6D 6F 72 79 2E 20 ailable memory.
000130: 46 6F 72 20 0D 8A 43 50 2F 4D 20 76 65 72 73 69 For ..CP/M versi
000140: 6F 6E 73 20 74 68 69 73 20 69 73 20 63 61 6C 63 ons this is calc
000150: 75 6C 61 74 65 64 20 66 72 6F 6D 20 74 68 65 20 ulated from the
000160: 73 74 61 72 74 20 6F 66 20 74 68 65 20 42 44 4F start of the BDO
000170: 53 2E 20 0D 0A 09 49 6E 20 41 4D 53 44 4F 53 20 S. ...In AMSDOS
000180: 76 65 72 73 69 6F 6E 73 2C 20 73 74 61 74 69 63 versions, static
000190: 20 76 61 72 69 61 62 6C 65 20 73 70 61 63 65 20 variable space
0001A0: 69 73 20 64 65 74 65 72 6D 69 6E 65 64 20 61 74 is determined at
0001B0: 20 63 6F 6D 70 69 6C 65 20 0D 8A 74 69 6D 65 2C compile ..time,
0001C0: 20 70 6F 73 73 69 62 6C 79 20 75 73 69 6E 67 20 possibly using
0001D0: 74 68 65 20 48 90 20 6F 70 74 69 6F 6E 2E 90 20 the H. option..
0001E0: 41 73 20 61 6C 72 65 61 64 79 20 6D 65 6E 74 69 As already menti
0001F0: 6F 6E 65 64 20 76 65 63 74 6F 72 20 73 70 61 63 oned vector spac
Size : 512 (Real : 512)
000000: 65 20 0D 8A 69 73 20 74 61 6B 65 6E 20 66 72 6F e ..is taken fro
000010: 6D 20 74 68 65 20 61 72 65 61 20 6F 66 20 6D 65 m the area of me
000020: 6D 6F 72 79 20 64 69 72 65 63 74 6C 79 20 61 66 mory directly af
000030: 74 65 72 20 74 68 65 20 70 72 6F 67 72 61 6D 2E ter the program.
000040: 20 54 68 65 20 73 74 61 72 74 20 0D 8A 6F 66 20 The start ..of
000050: 61 20 70 72 6F 67 72 61 6D 20 69 73 20 23 78 31 a program is #x1
000060: 30 30 90 20 66 6F 72 90 20 43 50 2F 4D 90 20 76 00. for. CP/M. v
000070: 65 72 73 69 6F 6E 73 90 20 61 6E 64 90 20 64 65 ersions. and. de
000080: 66 61 75 6C 74 73 20 74 6F 20 74 68 65 20 66 69 faults to the fi
000090: 72 73 74 20 0D 8A 75 73 61 62 6C 65 20 62 79 74 rst ..usable byt
0000A0: 65 20 6F 66 20 6D 65 6D 6F 72 79 20 66 6F 72 20 e of memory for
0000B0: 41 4D 53 44 4F 53 2E 20 54 68 69 73 20 6D 61 79 AMSDOS. This may
0000C0: 90 20 62 65 20 63 68 61 6E 67 65 64 20 62 79 20 . be changed by
0000D0: 75 73 65 20 6F 66 20 74 68 65 20 4F 20 0D 8A 6F use of the O ..o
0000E0: 70 74 69 6F 6E 2E 0D 0A 0D 0A 0D 0A 09 54 68 69 ption........Thi
0000F0: 73 20 6C 65 61 76 65 73 20 61 20 6D 65 6D 6F 72 s leaves a memor
000100: 79 20 6D 61 70 20 6C 6F 6F 6B 69 6E 67 20 6C 69 y map looking li
000110: 6B 65 3A 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 ke:......
000120: 20 20 20 20 20 20 20 20 20 7C 20 48 61 72 64 77 | Hardw
000130: 61 72 65 20 73 74 61 63 6B 20 20 20 7C 0D 0A 20 are stack |..
000140: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7C |
000150: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
000160: 2D 2D 7C 20 3C 20 53 50 0D 0A 20 20 20 20 20 20 --| < SP..
000170: 20 20 20 20 20 20 20 20 20 20 7C 20 20 20 20 20 |
000180: 20 20 20 20 20 20 20 20 20 20 20 20 20 7C 0D 0A |..
000190: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
0001A0: 7C 20 65 6D 70 74 79 20 20 20 20 20 20 20 20 20 | empty
0001B0: 20 20 20 7C 0D 0A 20 20 20 20 20 20 20 20 20 20 |..
0001C0: 20 20 20 20 20 20 7C 20 20 20 20 20 20 20 20 20 |
0001D0: 20 20 20 20 20 20 20 20 20 7C 0D 0A 20 20 20 20 |..
0001E0: 20 20 20 20 20 20 20 20 20 20 20 20 7C 2D 2D 2D |---
0001F0: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 7C ---------------|
Size : 512 (Real : 512)
000000: 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ..
000010: 20 20 7C 20 56 65 63 74 6F 72 73 20 20 20 20 20 | Vectors
000020: 20 20 20 20 20 7C 0D 0A 20 20 20 20 20 20 20 20 |..
000030: 20 20 20 20 20 20 20 20 7C 2D 2D 2D 2D 2D 2D 2D |-------
000040: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 7C 0D 0A 20 20 -----------|..
000050: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7C 20 |
000060: 50 72 6F 67 72 61 6D 20 61 6E 64 20 20 20 20 20 Program and
000070: 20 7C 0D 0A 09 09 09 7C 20 73 74 61 74 69 63 20 |.....| static
000080: 76 61 72 69 61 62 6C 65 73 20 7C 0D 0A 20 20 20 variables |..
000090: 20 20 20 20 20 20 20 20 20 20 20 20 20 7C 2D 2D |--
0000A0: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
0000B0: 7C 20 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 | ..
0000C0: 20 20 20 20 7C 20 72 75 6E 74 69 6D 65 20 72 6F | runtime ro
0000D0: 75 74 69 6E 65 73 20 7C 0D 0A 20 20 20 20 20 20 utines |..
0000E0: 20 20 20 20 20 20 20 20 20 20 7C 2D 2D 2D 2D 2D |-----
0000F0: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 7C 20 3C -------------| <
000100: 20 70 72 6F 67 72 61 6D 20 73 74 61 72 74 0D 0A program start..
000110: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
000120: 7C 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 |
000130: 20 20 20 7C 0D 0A 20 20 20 20 20 20 20 20 20 20 |..
000140: 20 20 20 20 20 20 7C 2D 2D 2D 2D 2D 2D 2D 2D 2D |---------
000150: 2D 2D 2D 2D 2D 2D 2D 2D 2D 7C 20 3C 20 30 0D 0A ---------| < 0..
000160: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
000170: 0D 0A 09 57 68 65 6E 20 77 72 69 74 69 6E 67 20 ...When writing
000180: 61 6E 79 20 69 6E 6C 69 6E 65 90 20 63 6F 64 65 any inline. code
000190: 90 20 74 68 65 90 20 75 73 65 72 90 20 6D 75 73 . the. user. mus
0001A0: 74 90 20 65 6E 73 75 72 65 20 74 68 61 74 20 74 t. ensure that t
0001B0: 68 65 20 49 58 20 0D 8A 72 65 67 69 73 74 65 72 he IX ..register
0001C0: 20 61 6E 64 20 74 68 65 20 53 50 20 61 72 65 90 and the SP are.
0001D0: 20 72 65 73 74 6F 72 65 64 90 20 74 6F 90 20 74 restored. to. t
0001E0: 68 65 69 72 20 66 6F 72 6D 65 72 20 70 6F 73 69 heir former posi
0001F0: 74 69 6F 6E 73 20 77 68 65 6E 20 74 68 65 20 0D tions when the .
Size : 512 (Real : 512)
000000: 8A 63 6F 64 65 20 66 69 6E 69 73 68 65 73 2E 20 .code finishes.
000010: 46 61 69 6C 75 72 65 20 74 6F 90 20 64 6F 90 20 Failure to. do.
000020: 74 68 69 73 90 20 77 69 6C 6C 90 20 61 6C 6D 6F this. will. almo
000030: 73 74 90 20 63 65 72 74 61 69 6E 6C 79 20 63 61 st. certainly ca
000040: 75 73 65 20 74 68 65 20 0D 8A 70 72 6F 67 72 61 use the ..progra
000050: 6D 20 74 6F 90 20 63 72 61 73 68 2E 90 20 54 68 m to. crash.. Th
000060: 65 90 20 41 6D 73 74 72 61 64 90 20 61 6C 73 6F e. Amstrad. also
000070: 90 20 72 65 71 75 69 72 65 73 90 20 74 68 61 74 . requires. that
000080: 90 20 74 68 65 90 20 61 6C 74 65 72 6E 61 74 65 . the. alternate
000090: 20 0D 8A 72 65 67 69 73 74 65 72 20 73 65 74 20 ..register set
0000A0: 69 73 20 6E 6F 74 20 75 73 65 64 2E 0D 0A 0D 0A is not used.....
0000B0: 09 54 68 65 20 4C 45 56 45 4C 20 6C 69 62 72 61 .The LEVEL libra
0000C0: 72 79 20 70 72 6F 63 65 64 75 72 65 20 73 74 6F ry procedure sto
0000D0: 72 65 73 90 20 69 6E 66 6F 72 6D 61 74 69 6F 6E res. information
0000E0: 20 61 62 6F 75 74 20 74 68 65 20 73 74 61 74 65 about the state
0000F0: 20 6F 66 20 0D 8A 63 6F 6D 70 75 74 61 74 69 6F of ..computatio
000100: 6E 20 69 6E 20 61 20 34 20 77 6F 72 64 20 76 65 n in a 4 word ve
000110: 63 74 6F 72 2E 20 54 68 65 90 20 34 90 20 76 61 ctor. The. 4. va
000120: 6C 75 65 73 20 77 68 69 63 68 20 61 72 65 20 73 lues which are s
000130: 74 6F 72 65 64 20 61 72 65 20 61 73 20 0D 8A 66 tored are as ..f
000140: 6F 6C 6C 6F 77 73 0D 0A 0D 0A 09 77 6F 72 64 20 ollows.....word
000150: 30 20 2D 2D 20 54 68 65 20 6F 6C 64 20 76 65 63 0 -- The old vec
000160: 74 6F 72 20 62 61 73 65 20 70 6F 69 6E 74 65 72 tor base pointer
000170: 0D 0A 09 77 6F 72 64 20 31 20 2D 2D 20 54 68 65 ...word 1 -- The
000180: 20 76 65 63 74 6F 72 20 74 6F 70 20 70 6F 69 6E vector top poin
000190: 74 65 72 0D 0A 09 77 6F 72 64 20 32 20 2D 2D 20 ter...word 2 --
0001A0: 49 58 0D 0A 09 77 6F 72 64 20 33 20 2D 2D 20 53 IX...word 3 -- S
0001B0: 50 0D 0A 0D 0A 09 57 68 65 6E 20 4C 4F 4E 47 4A P.....When LONGJ
0001C0: 55 4D 50 20 69 73 20 75 73 65 64 90 20 74 68 69 UMP is used. thi
0001D0: 73 90 20 69 6E 66 6F 72 6D 61 74 69 6F 6E 90 20 s. information.
0001E0: 69 73 90 20 75 73 65 64 90 20 74 6F 20 72 65 73 is. used. to res
0001F0: 74 6F 72 65 20 74 68 65 20 0D 8A 73 74 61 74 65 tore the ..state
Size : 512 (Real : 512)
000000: 20 6F 66 20 63 6F 6D 70 75 74 61 74 69 6F 6E 2E of computation.
000010: 0D 0A 3E 70 61 0D 0A 09 54 68 65 20 31 34 74 68 ..>pa...The 14th
000020: 20 61 6E 64 20 31 35 74 68 90 20 62 79 74 65 73 and 15th. bytes
000030: 90 20 6F 66 90 20 61 6E 79 90 20 6F 62 6A 65 63 . of. any. objec
000040: 74 90 20 70 72 6F 67 72 61 6D 20 70 72 6F 64 75 t. program produ
000050: 63 65 64 20 61 6C 77 61 79 73 20 0D 8A 70 6F 69 ced always ..poi
000060: 6E 74 20 74 6F 20 74 68 65 20 62 61 73 65 20 6F nt to the base o
000070: 66 20 74 68 65 20 63 75 72 72 65 6E 74 90 20 76 f the current. v
000080: 65 63 74 6F 72 20 61 6C 6C 6F 63 61 74 69 6F 6E ector allocation
000090: 2E 20 54 68 65 20 31 36 74 68 20 61 6E 64 20 31 . The 16th and 1
0000A0: 37 74 68 20 0D 8A 62 79 74 65 73 20 61 6C 77 61 7th ..bytes alwa
0000B0: 79 73 20 70 6F 69 6E 74 20 74 6F 20 74 68 65 20 ys point to the
0000C0: 74 6F 70 20 6F 66 20 74 68 65 20 63 75 72 72 65 top of the curre
0000D0: 6E 74 20 76 65 63 74 6F 72 20 61 6C 6C 6F 63 61 nt vector alloca
0000E0: 74 69 6F 6E 2E 20 41 6C 6C 20 6F 66 20 0D 8A 74 tion. All of ..t
0000F0: 68 65 20 76 65 63 74 6F 72 20 73 70 61 63 65 20 he vector space
000100: 72 65 71 75 69 72 65 64 20 66 6F 72 90 20 61 6E required for. an
000110: 79 90 20 70 61 72 74 69 63 75 6C 61 72 20 70 72 y. particular pr
000120: 6F 63 65 64 75 72 65 20 61 63 74 69 76 61 74 69 ocedure activati
000130: 6F 6E 20 69 73 20 0D 8A 61 6C 6C 6F 63 61 74 65 on is ..allocate
000140: 64 20 6F 6E 20 65 6E 74 72 79 20 74 6F 20 74 68 d on entry to th
000150: 61 74 20 70 72 6F 63 65 64 75 72 65 90 20 61 6E at procedure. an
000160: 64 20 64 65 2D 61 6C 6C 6F 63 61 74 65 64 20 6F d de-allocated o
000170: 6E 20 65 78 69 74 2E 20 57 68 65 6E 20 61 20 0D n exit. When a .
000180: 8A 76 65 63 74 6F 72 20 69 73 20 64 65 63 6C 61 .vector is decla
000190: 72 65 64 20 77 69 74 68 69 6E 20 61 20 70 72 6F red within a pro
0001A0: 63 65 64 75 72 65 90 20 69 74 90 20 69 73 90 20 cedure. it. is.
0001B0: 67 69 76 65 6E 20 61 20 63 68 75 6E 6B 20 6F 66 given a chunk of
0001C0: 20 6D 65 6D 6F 72 79 20 0D 8A 77 69 74 68 69 6E memory ..within
0001D0: 20 74 68 69 73 20 61 6C 6C 6F 63 61 74 69 6F 6E this allocation
0001E0: 2E 0D 0A 0D 0A 09 54 68 65 20 63 6F 6D 70 69 6C ......The compil
0001F0: 65 72 20 69 73 20 61 90 20 74 77 6F 90 20 70 61 er is a. two. pa
Size : 512 (Real : 512)
000000: 73 73 90 20 63 6F 6D 70 69 6C 65 72 2E 90 20 54 ss. compiler.. T
000010: 68 65 90 20 66 69 72 73 74 20 70 61 73 73 20 72 he. first pass r
000020: 65 61 64 73 20 74 68 65 20 0D 8A 73 6F 75 72 63 eads the ..sourc
000030: 65 20 74 65 78 74 20 6F 66 20 74 68 65 20 70 72 e text of the pr
000040: 6F 67 72 61 6D 2C 20 64 6F 65 73 20 73 79 6E 74 ogram, does synt
000050: 61 78 20 61 6E 61 6C 79 73 69 73 20 6F 66 20 69 ax analysis of i
000060: 74 20 61 6E 64 20 70 72 6F 64 75 63 65 73 20 61 t and produces a
000070: 6E 20 0D 8A 61 70 70 6C 69 63 61 74 69 76 65 20 n ..applicative
000080: 65 78 70 72 65 73 73 69 6F 6E 20 74 72 65 65 20 expression tree
000090: 77 68 69 63 68 90 20 72 65 70 72 65 73 65 6E 74 which. represent
0000A0: 73 90 20 74 68 65 20 70 72 6F 67 72 61 6D 2E 20 s. the program.
0000B0: 54 68 65 20 73 65 63 6F 6E 64 20 0D 8A 70 61 73 The second ..pas
0000C0: 73 20 67 6F 65 73 20 6F 76 65 72 20 74 68 69 73 s goes over this
0000D0: 20 74 72 65 65 20 61 6E 64 20 70 72 6F 64 75 63 tree and produc
0000E0: 65 73 90 20 63 6F 64 65 20 66 6F 72 20 69 74 2E es. code for it.
0000F0: 20 54 68 65 20 73 65 63 6F 6E 64 20 70 61 73 73 The second pass
000100: 20 69 73 20 0D 8A 69 6E 20 66 61 63 74 20 64 6F is ..in fact do
000110: 6E 65 20 74 77 69 63 65 3B 20 74 68 65 20 66 69 ne twice; the fi
000120: 72 73 74 20 74 69 6D 65 20 6E 6F 20 63 6F 64 65 rst time no code
000130: 20 69 73 20 70 72 6F 64 75 63 65 64 20 62 75 74 is produced but
000140: 20 74 68 65 20 70 72 6F 67 72 61 6D 20 0D 8A 69 the program ..i
000150: 73 20 63 68 65 63 6B 65 64 20 66 6F 72 20 61 6E s checked for an
000160: 79 20 73 65 6D 61 6E 74 69 63 90 20 65 72 72 6F y semantic. erro
000170: 72 73 90 20 73 75 63 68 90 20 61 73 20 75 6E 64 rs. such. as und
000180: 65 66 69 6E 65 64 20 69 64 65 6E 74 69 66 69 65 efined identifie
000190: 72 73 20 6F 72 20 0D 8A 69 6C 6C 65 67 61 6C 20 rs or ..illegal
0001A0: 61 73 73 69 67 6E 6D 65 6E 74 73 2E 20 49 66 20 assignments. If
0001B0: 74 68 69 73 20 70 61 73 73 90 20 72 75 6E 73 90 this pass. runs.
0001C0: 20 73 6D 6F 6F 74 68 6C 79 20 77 69 74 68 20 6E smoothly with n
0001D0: 6F 20 65 72 72 6F 72 73 20 62 65 69 6E 67 20 0D o errors being .
0001E0: 8A 70 69 63 6B 65 64 20 75 70 20 74 68 65 6E 20 .picked up then
0001F0: 74 68 65 20 73 65 63 6F 6E 64 20 70 61 73 73 90 the second pass.
Size : 512 (Real : 512)
000000: 20 77 69 6C 6C 20 62 65 20 72 65 70 65 61 74 65 will be repeate
000010: 64 2C 20 74 68 69 73 20 74 69 6D 65 20 67 65 6E d, this time gen
000020: 65 72 61 74 69 6E 67 20 0D 8A 63 6F 64 65 2E 0D erating ..code..
000030: 0A 3E 70 61 0D 0A 3E 63 65 20 E2 41 32 2E 20 53 .>pa..>ce .A2. S
000040: 55 4D 4D 41 52 59 20 41 4E 44 20 49 4E 44 45 58 UMMARY AND INDEX
000050: 20 4F 46 20 4C 49 42 52 41 52 59 20 52 4F 55 54 OF LIBRARY ROUT
000060: 49 4E 45 53 E2 0D 0A 0D 0A 0D 0A 09 54 68 65 20 INES........The
000070: 6C 65 74 74 65 72 20 20 61 74 20 74 68 65 20 73 letter at the s
000080: 74 61 72 74 20 6F 66 90 20 65 61 63 68 90 20 6C tart of. each. l
000090: 69 6E 65 90 20 69 6E 20 74 68 65 20 20 66 6F 6C ine. in the fol
0000A0: 6C 6F 77 69 6E 67 20 6C 69 73 74 20 6F 66 20 0D lowing list of .
0000B0: 8A 6C 69 62 72 61 72 79 20 72 6F 75 74 69 6E 65 .library routine
0000C0: 73 20 69 6E 64 69 63 61 74 65 73 20 74 68 65 20 s indicates the
0000D0: 64 65 67 72 65 65 90 20 6F 66 20 70 6F 72 74 61 degree. of porta
0000E0: 62 69 6C 69 74 79 20 6F 66 20 74 68 65 20 72 6F bility of the ro
0000F0: 75 74 69 6E 65 73 2E 20 0D 8A 46 75 6C 6C 20 64 utines. ..Full d
000100: 65 74 61 69 6C 73 20 61 72 65 20 67 69 76 65 6E etails are given
000110: 20 69 6E 20 41 70 70 65 6E 64 69 78 20 33 2E 0D in Appendix 3..
000120: 0A 09 4E 6F 74 65 3A 20 41 20 6D 65 61 6E 73 20 ..Note: A means
000130: 41 4D 53 44 4F 53 20 76 65 72 73 69 6F 6E 20 6F AMSDOS version o
000140: 6E 6C 79 2C 20 43 20 6D 65 61 6E 73 20 43 50 2F nly, C means CP/
000150: 4D 20 76 65 72 73 69 6F 6E 20 6F 6E 6C 79 0D 0A M version only..
000160: 0D 0A 09 53 20 69 6E 64 69 63 61 74 65 73 20 72 ...S indicates r
000170: 6F 75 74 69 6E 65 20 69 73 20 70 61 72 74 20 6F outine is part o
000180: 66 20 74 68 65 20 73 74 61 6E 64 61 72 64 20 42 f the standard B
000190: 43 50 4C 20 49 2F 4F 20 6C 69 62 72 61 72 79 0D CPL I/O library.
0001A0: 0A 09 44 20 69 6E 64 69 63 61 74 65 73 20 61 20 ..D indicates a
0001B0: 73 74 61 6E 64 61 72 64 20 42 43 50 4C 90 20 72 standard BCPL. r
0001C0: 6F 75 74 69 6E 65 90 20 62 75 74 20 77 69 74 68 outine. but with
0001D0: 20 61 20 73 6C 69 67 68 74 20 64 69 66 66 65 72 a slight differ
0001E0: 65 6E 63 65 0D 8A 20 20 20 20 20 20 69 6E 20 74 ence.. in t
0001F0: 68 65 20 77 61 79 20 69 74 20 69 73 20 75 73 65 he way it is use
Size : 512 (Real : 512)
000000: 64 2E 0D 0A 09 46 20 69 6E 64 69 63 61 74 65 73 d....F indicates
000010: 20 66 72 65 71 75 65 6E 74 6C 79 20 66 6F 75 6E frequently foun
000020: 64 20 73 69 6D 69 6C 61 72 20 72 6F 75 74 69 6E d similar routin
000030: 65 73 20 69 6E 20 42 43 50 4C 20 73 79 73 74 65 es in BCPL syste
000040: 6D 73 0D 0A 09 41 6C 6C 20 75 6E 6D 61 72 6B 65 ms...All unmarke
000050: 64 20 72 6F 75 74 69 6E 65 73 20 61 72 65 20 41 d routines are A
000060: 72 6E 6F 72 20 42 43 50 4C 20 73 70 65 63 69 66 rnor BCPL specif
000070: 69 63 2E 0D 0A 0D 0A 0D 0A 3E 2D 2D 21 2D 2D 2D ic.......>--!---
000080: 21 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 21 2D 2D !------------!--
000090: 2D 2D 21 2D 2D 2D 2D 2D 2D 2D 21 2D 2D 2D 2D 2D --!-------!-----
0000A0: 2D 2D 21 2D 2D 2D 2D 2D 2D 2D 21 2D 2D 2D 2D 2D --!-------!-----
0000B0: 2D 2D 21 2D 2D 2D 2D 2D 2D 2D 21 2D 2D 2D 2D 2D --!-------!-----
0000C0: 2D 2D 2D 2D 52 0D 0A 09 09 6E 61 6D 65 20 09 70 ----R....name .p
0000D0: 67 09 64 65 73 63 72 69 70 74 69 6F 6E 0D 0A 0D g.description...
0000E0: 0A 09 53 09 61 70 74 6F 76 65 63 20 09 34 30 09 ..S.aptovec .40.
0000F0: 63 61 6C 6C 20 61 20 72 6F 75 74 69 6E 65 20 77 call a routine w
000100: 69 74 68 20 61 20 64 79 6E 61 6D 69 63 61 6C 6C ith a dynamicall
000110: 79 20 61 6C 6C 6F 63 61 74 65 64 20 76 65 63 74 y allocated vect
000120: 6F 72 0D 0A 43 09 09 62 64 6F 73 61 20 09 34 35 or..C..bdosa .45
000130: 09 63 61 6C 6C 20 74 68 65 20 42 44 4F 53 2C 20 .call the BDOS,
000140: 72 65 74 75 72 6E 69 6E 67 20 76 61 6C 75 65 73 returning values
000150: 0D 0A 43 09 09 62 64 6F 73 62 20 09 34 35 09 63 ..C..bdosb .45.c
000160: 61 6C 6C 20 74 68 65 20 42 44 4F 53 2C 20 6E 6F all the BDOS, no
000170: 74 20 72 65 74 75 72 6E 69 6E 67 20 76 61 6C 75 t returning valu
000180: 65 73 0D 0A 43 09 09 62 69 6F 73 20 09 34 35 09 es..C..bios .45.
000190: 63 61 6C 6C 20 74 68 65 20 42 49 4F 53 2C 20 72 call the BIOS, r
0001A0: 65 74 75 72 6E 69 6E 67 20 61 20 76 61 6C 75 65 eturning a value
0001B0: 0D 0A 09 09 62 79 74 65 6D 6F 76 65 20 09 34 30 ....bytemove .40
0001C0: 09 6D 6F 76 65 20 61 20 62 6C 6F 63 6B 20 6F 66 .move a block of
0001D0: 20 6D 65 6D 6F 72 79 20 75 73 69 6E 67 20 62 79 memory using by
0001E0: 74 65 20 61 64 64 72 65 73 73 65 73 0D 0A 09 46 te addresses...F
0001F0: 09 63 61 6C 6C 20 09 34 30 09 63 61 6C 6C 20 61 .call .40.call a
Size : 512 (Real : 512)
000000: 20 6D 61 63 68 69 6E 65 20 63 6F 64 65 20 72 6F machine code ro
000010: 75 74 69 6E 65 0D 0A 09 46 09 63 61 70 69 74 61 utine...F.capita
000020: 6C 63 68 20 09 34 31 09 63 6F 6E 76 65 72 74 20 lch .41.convert
000030: 63 68 61 72 61 63 74 65 72 20 66 72 6F 6D 20 6C character from l
000040: 6F 77 65 72 20 74 6F 20 75 70 70 65 72 20 63 61 ower to upper ca
000050: 73 65 0D 0A 09 09 63 6C 6F 73 65 69 6E 20 09 33 se....closein .3
000060: 37 09 63 6C 6F 73 65 20 61 6E 20 69 6E 70 75 74 7.close an input
000070: 20 66 69 6C 65 0D 0A 09 09 63 6C 6F 73 65 6F 75 file....closeou
000080: 74 20 09 33 37 09 63 6C 6F 73 65 20 61 6E 20 6F t .37.close an o
000090: 75 74 70 75 74 20 66 69 6C 65 0D 0A 09 46 09 63 utput file...F.c
0000A0: 6F 6D 70 63 68 20 09 34 31 09 63 6F 6D 70 61 72 ompch .41.compar
0000B0: 65 20 74 77 6F 20 63 68 61 72 61 63 74 65 72 73 e two characters
0000C0: 0D 0A 09 46 09 63 6F 6D 70 73 74 72 69 6E 67 20 ...F.compstring
0000D0: 09 34 31 09 63 6F 6D 70 61 72 65 20 74 77 6F 20 .41.compare two
0000E0: 73 74 72 69 6E 67 73 0D 0A 09 09 64 65 62 75 67 strings....debug
0000F0: 20 09 34 38 09 64 65 62 75 67 67 69 6E 67 20 61 .48.debugging a
000100: 69 64 0D 0A 09 09 64 65 63 76 61 6C 20 09 34 31 id....decval .41
000110: 09 63 6F 6E 76 65 72 74 20 61 20 68 65 78 61 64 .convert a hexad
000120: 65 63 69 6D 61 6C 20 64 69 67 69 74 20 74 6F 20 ecimal digit to
000130: 64 65 63 69 6D 61 6C 0D 0A 09 46 09 64 65 6C 65 decimal...F.dele
000140: 74 65 20 09 34 32 09 64 65 6C 65 74 65 20 61 20 te .42.delete a
000150: 66 69 6C 65 0D 0A 09 53 09 65 6E 64 72 65 61 64 file...S.endread
000160: 09 33 34 09 63 6C 6F 73 65 20 74 68 65 20 63 75 .34.close the cu
000170: 72 72 65 6E 74 20 69 6E 70 75 74 20 73 74 72 65 rrent input stre
000180: 61 6D 0D 0A 09 53 09 65 6E 64 77 72 69 74 65 20 am...S.endwrite
000190: 09 33 34 09 63 6C 6F 73 65 20 74 68 65 20 63 75 .34.close the cu
0001A0: 72 72 65 6E 74 20 6F 75 74 70 75 74 20 73 74 72 rrent output str
0001B0: 65 61 6D 0D 0A 41 09 09 65 78 74 65 72 6E 61 6C eam..A..external
0001C0: 20 09 34 36 09 63 61 6C 6C 20 61 6E 20 65 78 74 .46.call an ext
0001D0: 65 72 6E 61 6C 20 63 6F 6D 6D 61 6E 64 0D 0A 09 ernal command...
0001E0: 44 09 66 69 6E 64 69 6E 70 75 74 20 09 33 35 09 D.findinput .35.
0001F0: 6F 70 65 6E 20 61 6E 20 69 6E 70 75 74 20 66 69 open an input fi
Size : 512 (Real : 512)
000000: 6C 65 0D 0A 09 44 09 66 69 6E 64 6F 75 74 70 75 le...D.findoutpu
000010: 74 20 09 33 36 09 6F 70 65 6E 20 61 6E 20 6F 75 t .36.open an ou
000020: 74 70 75 74 20 66 69 6C 65 0D 0A 43 09 09 66 69 tput file..C..fi
000030: 72 6D 77 61 72 65 20 09 34 35 09 63 61 6C 6C 20 rmware .45.call
000040: 74 68 65 20 66 69 72 6D 77 61 72 65 20 28 43 50 the firmware (CP
000050: 2F 4D 20 50 6C 75 73 20 6F 6E 6C 79 29 0D 0A 09 /M Plus only)...
000060: 09 66 6C 75 73 68 20 09 33 37 09 66 6C 75 73 68 .flush .37.flush
000070: 20 74 68 65 20 6B 65 79 62 6F 61 72 64 20 62 75 the keyboard bu
000080: 66 66 65 72 0D 0A 09 53 09 67 65 74 62 79 74 65 ffer...S.getbyte
000090: 20 09 34 37 09 67 65 74 20 61 20 62 79 74 65 20 .47.get a byte
0000A0: 66 72 6F 6D 20 61 20 73 74 72 69 6E 67 0D 0A 09 from a string...
0000B0: 53 09 69 6E 70 75 74 20 09 33 33 09 72 65 74 75 S.input .33.retu
0000C0: 72 6E 20 74 68 65 20 63 75 72 72 65 6E 74 6C 79 rn the currently
0000D0: 20 73 65 6C 65 63 74 65 64 20 6F 75 74 70 75 74 selected output
0000E0: 20 73 74 72 65 61 6D 0D 0A 09 44 09 6C 65 76 65 stream...D.leve
0000F0: 6C 20 09 34 32 09 67 65 74 20 70 6F 69 6E 74 65 l .42.get pointe
000100: 72 20 74 6F 20 63 75 72 72 65 6E 74 20 65 6E 76 r to current env
000110: 69 72 6F 6E 6D 65 6E 74 0D 0A 09 44 09 6C 6F 6E ironment...D.lon
000120: 67 6A 75 6D 70 20 09 34 32 09 6A 75 6D 70 20 74 gjump .42.jump t
000130: 6F 20 6F 75 74 65 72 20 6C 65 76 65 6C 20 6F 66 o outer level of
000140: 20 70 72 6F 67 72 61 6D 0D 0A 09 53 09 6E 65 77 program...S.new
000150: 6C 69 6E 65 20 09 32 37 09 73 74 61 72 74 20 61 line .27.start a
000160: 20 6E 65 77 20 6C 69 6E 65 20 69 6E 20 74 68 65 new line in the
000170: 20 6F 75 74 70 75 74 0D 0A 09 53 09 6E 65 77 70 output...S.newp
000180: 61 67 65 20 09 32 37 09 73 74 61 72 74 20 61 20 age .27.start a
000190: 6E 65 77 20 70 61 67 65 20 69 6E 20 74 68 65 20 new page in the
0001A0: 6F 75 74 70 75 74 0D 0A 09 53 09 6F 75 74 70 75 output...S.outpu
0001B0: 74 20 09 33 33 09 72 65 74 75 72 6E 20 74 68 65 t .33.return the
0001C0: 20 63 75 72 72 65 6E 74 6C 79 20 73 65 6C 65 63 currently selec
0001D0: 74 65 64 20 6F 75 74 70 75 74 20 73 74 72 65 61 ted output strea
0001E0: 6D 0D 0A 3E 70 61 0D 0A 0D 0A 0D 0A 09 53 09 70 m..>pa.......S.p
0001F0: 61 63 6B 73 74 72 69 6E 67 20 09 34 37 09 63 6F ackstring .47.co
Size : 512 (Real : 512)
000000: 6D 70 61 63 74 20 61 20 73 74 72 69 6E 67 0D 0A mpact a string..
000010: 09 09 70 72 62 75 73 79 20 09 33 38 09 73 65 65 ..prbusy .38.see
000020: 20 69 66 20 74 68 65 20 70 72 69 6E 74 65 72 20 if the printer
000030: 69 73 20 62 75 73 79 0D 0A 09 09 70 72 63 68 20 is busy....prch
000040: 09 33 38 09 73 65 6E 64 20 61 20 63 68 61 72 61 .38.send a chara
000050: 63 74 65 72 20 74 6F 20 74 68 65 20 70 72 69 6E cter to the prin
000060: 74 65 72 0D 0A 09 53 09 70 75 74 62 79 74 65 20 ter...S.putbyte
000070: 09 34 37 09 70 75 74 20 61 20 62 79 74 65 20 69 .47.put a byte i
000080: 6E 74 6F 20 61 20 73 74 72 69 6E 67 0D 0A 09 46 nto a string...F
000090: 09 72 61 6E 64 6F 6D 20 09 34 32 09 72 65 74 75 .random .42.retu
0000A0: 72 6E 20 61 20 70 73 65 75 64 6F 2D 72 61 6E 64 rn a pseudo-rand
0000B0: 6F 6D 20 6E 75 6D 62 65 72 0D 0A 09 53 09 72 64 om number...S.rd
0000C0: 63 68 20 09 33 31 09 72 65 61 64 20 61 20 63 68 ch .31.read a ch
0000D0: 61 72 61 63 74 65 72 0D 0A 09 09 72 64 74 65 73 aracter....rdtes
0000E0: 74 20 09 33 38 09 73 65 65 20 69 66 20 61 20 6B t .38.see if a k
0000F0: 65 79 20 68 61 73 20 62 65 65 6E 20 70 72 65 73 ey has been pres
000100: 73 65 64 0D 0A 09 09 72 64 76 64 75 20 09 33 38 sed....rdvdu .38
000110: 09 72 65 61 64 20 63 68 61 72 61 63 74 65 72 20 .read character
000120: 66 72 6F 6D 20 74 68 65 20 6B 65 79 62 6F 61 72 from the keyboar
000130: 64 0D 0A 09 09 72 65 61 64 63 68 20 09 33 39 09 d....readch .39.
000140: 72 65 61 64 20 61 20 63 68 61 72 61 63 74 65 72 read a character
000150: 20 66 72 6F 6D 20 74 68 65 20 69 6E 70 75 74 20 from the input
000160: 66 69 6C 65 0D 0A 09 53 09 72 65 61 64 6E 20 09 file...S.readn .
000170: 33 31 09 72 65 61 64 20 61 20 64 65 63 69 6D 61 31.read a decima
000180: 6C 20 6E 75 6D 62 65 72 0D 0A 09 53 09 72 65 61 l number...S.rea
000190: 64 73 20 09 33 31 09 72 65 61 64 20 61 20 73 74 ds .31.read a st
0001A0: 72 69 6E 67 0D 0A 43 09 09 72 65 61 64 73 65 63 ring..C..readsec
0001B0: 74 6F 72 09 2D 09 72 65 61 64 20 61 20 31 32 38 tor.-.read a 128
0001C0: 20 62 79 74 65 20 73 65 63 74 6F 72 20 66 72 6F byte sector fro
0001D0: 6D 20 64 69 73 63 0D 0A 09 46 09 72 65 6E 61 6D m disc...F.renam
0001E0: 65 20 09 34 32 09 72 65 6E 61 6D 65 20 61 20 66 e .42.rename a f
0001F0: 69 6C 65 0D 0A 43 09 53 09 72 65 77 69 6E 64 20 ile..C.S.rewind
Size : 512 (Real : 512)
000000: 09 33 36 09 72 65 77 69 6E 64 20 74 68 65 20 69 .36.rewind the i
000010: 6E 70 75 74 20 73 74 72 65 61 6D 0D 0A 43 09 09 nput stream..C..
000020: 72 65 77 69 6E 64 69 6E 20 09 33 39 09 72 65 77 rewindin .39.rew
000030: 69 6E 64 20 61 6E 20 69 6E 70 75 74 20 66 69 6C ind an input fil
000040: 65 0D 0A 09 53 09 73 65 6C 65 63 74 69 6E 70 75 e...S.selectinpu
000050: 74 20 09 33 33 09 63 68 61 6E 67 65 20 74 68 65 t .33.change the
000060: 20 69 6E 70 75 74 20 73 74 72 65 61 6D 0D 0A 09 input stream...
000070: 53 09 73 65 6C 65 63 74 6F 75 74 70 75 74 20 33 S.selectoutput 3
000080: 34 09 63 68 61 6E 67 65 20 74 68 65 20 6F 75 74 4.change the out
000090: 70 75 74 20 73 74 72 65 61 6D 0D 0A 43 09 09 73 put stream..C..s
0000A0: 65 74 66 63 62 09 2D 09 73 65 74 20 75 70 20 61 etfcb.-.set up a
0000B0: 20 66 69 6C 65 20 63 6F 6E 74 72 6F 6C 20 62 6C file control bl
0000C0: 6F 63 6B 0D 0A 09 53 09 73 74 6F 70 20 09 34 33 ock...S.stop .43
0000D0: 09 73 74 6F 70 20 61 20 70 72 6F 67 72 61 6D 20 .stop a program
0000E0: 61 6E 64 20 73 65 74 20 72 65 74 75 72 6E 20 63 and set return c
0000F0: 6F 64 65 0D 0A 09 09 73 74 72 74 6F 6E 75 6D 20 ode....strtonum
000100: 09 33 32 09 63 6F 6E 76 65 72 74 20 61 20 73 74 .32.convert a st
000110: 72 69 6E 67 20 74 6F 20 61 20 64 65 63 69 6D 61 ring to a decima
000120: 6C 20 6E 75 6D 62 65 72 0D 0A 43 09 09 74 61 69 l number..C..tai
000130: 6C 20 09 34 36 09 72 65 74 75 72 6E 73 20 74 68 l .46.returns th
000140: 65 20 43 50 2F 4D 20 63 6F 6D 6D 61 6E 64 20 74 e CP/M command t
000150: 61 69 6C 20 61 73 20 61 20 73 74 72 69 6E 67 0D ail as a string.
000160: 0A 41 09 46 09 74 69 6D 65 20 09 34 36 09 72 65 .A.F.time .46.re
000170: 74 75 72 6E 20 74 68 65 20 74 69 6D 65 0D 0A 09 turn the time...
000180: 53 09 75 6E 70 61 63 6B 73 74 72 69 6E 67 09 34 S.unpackstring.4
000190: 37 09 65 78 70 61 6E 64 20 61 20 73 74 72 69 6E 7.expand a strin
0001A0: 67 20 69 6E 74 6F 20 61 20 76 65 63 74 6F 72 0D g into a vector.
0001B0: 0A 09 53 09 75 6E 72 64 63 68 20 09 33 32 09 70 ..S.unrdch .32.p
0001C0: 75 74 20 62 61 63 6B 20 74 68 65 20 6C 61 73 74 ut back the last
0001D0: 20 72 65 61 64 20 63 68 61 72 61 63 74 65 72 0D read character.
0001E0: 0A 09 46 09 75 70 70 65 72 63 61 73 65 20 09 34 ..F.uppercase .4
0001F0: 34 09 73 61 6D 65 20 61 73 20 63 61 70 69 74 61 4.same as capita
Size : 512 (Real : 512)
000000: 6C 63 68 0D 0A 09 09 76 65 72 73 69 6F 6E 20 09 lch....version .
000010: 34 34 09 72 65 74 75 72 6E 20 74 68 65 20 6F 70 44.return the op
000020: 65 72 61 74 69 6E 67 20 73 79 73 74 65 6D 20 61 erating system a
000030: 6E 64 20 63 6F 6D 70 75 74 65 72 0D 0A 09 53 09 nd computer...S.
000040: 77 72 63 68 20 09 32 37 09 77 72 69 74 65 20 61 wrch .27.write a
000050: 20 63 68 61 72 61 63 74 65 72 0D 0A 09 09 77 72 character....wr
000060: 69 74 65 63 68 20 09 33 39 09 77 72 69 74 65 20 itech .39.write
000070: 61 20 63 68 61 72 61 63 74 65 72 20 74 6F 20 74 a character to t
000080: 68 65 20 6F 75 74 70 75 74 20 66 69 6C 65 0D 0A he output file..
000090: 09 53 09 77 72 69 74 65 64 20 09 32 37 09 77 72 .S.writed .27.wr
0000A0: 69 74 65 20 61 20 64 65 63 69 6D 61 6C 20 6E 75 ite a decimal nu
0000B0: 6D 62 65 72 0D 0A 09 53 09 77 72 69 74 65 66 20 mber...S.writef
0000C0: 09 32 38 09 66 6F 72 6D 61 74 74 65 64 20 77 72 .28.formatted wr
0000D0: 69 74 65 0D 0A 09 53 09 77 72 69 74 65 68 65 78 ite...S.writehex
0000E0: 20 09 32 39 09 77 72 69 74 65 20 61 20 68 65 78 .29.write a hex
0000F0: 61 64 65 63 69 6D 61 6C 20 6E 75 6D 62 65 72 0D adecimal number.
000100: 0A 09 53 09 77 72 69 74 65 6E 20 09 32 39 09 77 ..S.writen .29.w
000110: 72 69 74 65 20 61 20 64 65 63 69 6D 61 6C 20 6E rite a decimal n
000120: 75 6D 62 65 72 20 69 6E 20 6D 69 6E 69 6D 75 6D umber in minimum
000130: 20 77 69 64 74 68 0D 0A 09 53 09 77 72 69 74 65 width...S.write
000140: 6F 63 74 20 09 32 39 09 77 72 69 74 65 20 61 6E oct .29.write an
000150: 20 6F 63 74 61 6C 20 6E 75 6D 62 65 72 0D 0A 09 octal number...
000160: 53 09 77 72 69 74 65 73 20 09 32 39 09 77 72 69 S.writes .29.wri
000170: 74 65 20 61 20 73 74 72 69 6E 67 0D 0A 43 09 09 te a string..C..
000180: 77 72 69 74 65 73 65 63 74 6F 72 09 2D 09 77 72 writesector.-.wr
000190: 69 74 65 20 61 20 31 32 38 20 62 79 74 65 20 73 ite a 128 byte s
0001A0: 65 63 74 6F 72 20 74 6F 20 64 69 73 63 0D 0A 09 ector to disc...
0001B0: 46 09 77 72 69 74 65 74 20 09 33 30 09 77 72 69 F.writet .30.wri
0001C0: 74 65 20 61 20 73 74 72 69 6E 67 20 61 6E 64 20 te a string and
0001D0: 70 61 64 20 77 69 74 68 20 73 70 61 63 65 73 0D pad with spaces.
0001E0: 0A 09 46 09 77 72 69 74 65 75 20 09 33 30 09 77 ..F.writeu .30.w
0001F0: 72 69 74 65 20 61 6E 20 75 6E 73 69 67 6E 65 64 rite an unsigned
Size : 512 (Real : 512)
000000: 20 64 65 63 69 6D 61 6C 20 6E 75 6D 62 65 72 0D decimal number.
000010: 0A 09 09 77 72 76 64 75 20 09 33 39 09 77 72 69 ...wrvdu .39.wri
000020: 74 65 20 63 68 61 72 61 63 74 65 72 20 74 6F 20 te character to
000030: 74 68 65 20 73 63 72 65 65 6E 0D 0A 3E 70 61 0D the screen..>pa.
000040: 0A 3E 2D 2D 2D 21 2D 2D 2D 2D 2D 21 2D 2D 2D 2D .>---!-----!----
000050: 2D 21 2D 2D 2D 2D 2D 2D 2D 21 2D 2D 2D 2D 2D 2D -!-------!------
000060: 2D 21 2D 2D 2D 2D 2D 2D 2D 21 2D 2D 2D 2D 2D 2D -!-------!------
000070: 2D 21 2D 2D 2D 2D 2D 2D 2D 21 2D 2D 2D 2D 2D 2D -!-------!------
000080: 2D 21 2D 2D 2D 2D 52 0D 0A 3E 63 65 20 E2 41 33 -!----R..>ce .A3
000090: 2E 20 50 4F 52 54 41 42 49 4C 49 54 59 E2 0D 0A . PORTABILITY...
0000A0: 0D 0A 0D 0A 09 4D 6F 73 74 20 6F 66 20 74 68 65 .....Most of the
0000B0: 20 61 62 6F 76 65 90 20 49 2F 4F 90 20 72 6F 75 above. I/O. rou
0000C0: 74 69 6E 65 73 90 20 77 69 6C 6C 90 20 62 65 90 tines. will. be.
0000D0: 20 66 6F 75 6E 64 20 69 6E 20 76 69 72 74 75 61 found in virtua
0000E0: 6C 6C 79 20 61 6C 6C 20 0D 8A 76 65 72 73 69 6F lly all ..versio
0000F0: 6E 73 20 6F 66 20 42 43 50 4C 2E 20 53 6F 6D 65 ns of BCPL. Some
000100: 20 61 72 65 90 20 6C 65 73 73 90 20 73 74 61 6E are. less. stan
000110: 64 61 72 64 2C 90 20 61 6E 64 90 20 73 6F 6D 65 dard,. and. some
000120: 20 61 72 65 20 73 70 65 63 69 66 69 63 20 74 6F are specific to
000130: 20 0D 8A 41 72 6E 6F 72 20 42 43 50 4C 2E 20 49 ..Arnor BCPL. I
000140: 66 20 61 20 70 72 6F 67 72 61 6D 20 6D 61 79 90 f a program may.
000150: 20 62 65 90 20 72 65 71 75 69 72 65 64 20 74 6F be. required to
000160: 20 72 75 6E 20 75 6E 64 65 72 20 6F 74 68 65 72 run under other
000170: 20 76 65 72 73 69 6F 6E 73 20 0D 8A 6F 66 20 42 versions ..of B
000180: 43 50 4C 20 74 68 65 73 65 20 6C 65 73 73 90 20 CPL these less.
000190: 73 74 61 6E 64 61 72 64 90 20 72 6F 75 74 69 6E standard. routin
0001A0: 65 73 90 20 73 68 6F 75 6C 64 90 20 62 65 90 20 es. should. be.
0001B0: 75 73 65 64 90 20 61 73 20 6C 69 74 74 6C 65 20 used. as little
0001C0: 61 73 20 0D 8A 70 6F 73 73 69 62 6C 65 2E 0D 0A as ..possible...
0001D0: 0D 0A 0D 0A 0D 0A 52 6F 75 74 69 6E 65 73 20 74 ......Routines t
0001E0: 68 61 74 20 61 72 65 20 70 61 72 74 20 6F 66 20 hat are part of
0001F0: 74 68 65 90 20 73 74 61 6E 64 61 72 64 20 42 43 the. standard BC
Size : 512 (Real : 512)
000000: 50 4C 20 49 2F 4F 20 6C 69 62 72 61 72 79 20 28 PL I/O library (
000010: 74 68 6F 73 65 20 6D 61 72 6B 65 64 20 0D 8A 27 those marked ..'
000020: 64 27 20 61 72 65 20 75 73 65 64 20 69 6E 20 61 d' are used in a
000030: 20 73 6C 69 67 68 74 6C 79 20 64 69 66 66 65 72 slightly differ
000040: 65 6E 74 20 77 61 79 20 69 6E 20 41 72 6E 6F 72 ent way in Arnor
000050: 20 42 43 50 4C 29 3A 0D 0A 0D 0A 61 70 74 6F 76 BCPL):....aptov
000060: 65 63 2C 90 20 65 6E 64 72 65 61 64 2C 90 20 65 ec,. endread,. e
000070: 6E 64 77 72 69 74 65 2C 90 20 66 69 6E 64 69 6E ndwrite,. findin
000080: 70 75 74 28 64 29 2C 90 20 66 69 6E 64 6F 75 74 put(d),. findout
000090: 70 75 74 28 64 29 2C 90 20 67 65 74 62 79 74 65 put(d),. getbyte
0000A0: 2C 20 0D 8A 69 6E 70 75 74 2C 20 6C 65 76 65 6C , ..input, level
0000B0: 28 64 29 2C 20 6C 6F 6E 67 6A 75 6D 70 28 64 29 (d), longjump(d)
0000C0: 2C 90 20 6E 65 77 6C 69 6E 65 2C 90 20 6E 65 77 ,. newline,. new
0000D0: 70 61 67 65 2C 90 20 6F 75 74 70 75 74 2C 20 70 page,. output, p
0000E0: 61 63 6B 73 74 72 69 6E 67 2C 20 0D 8A 70 75 74 ackstring, ..put
0000F0: 62 79 74 65 2C 20 72 64 63 68 2C 20 72 65 61 64 byte, rdch, read
000100: 6E 2C 20 72 65 61 64 73 2C 90 20 72 65 77 69 6E n, reads,. rewin
000110: 64 2C 20 73 65 6C 65 63 74 69 6E 70 75 74 2C 20 d, selectinput,
000120: 73 65 6C 65 63 74 6F 75 74 70 75 74 2C 20 73 74 selectoutput, st
000130: 6F 70 2C 20 0D 8A 75 6E 70 61 63 6B 73 74 72 69 op, ..unpackstri
000140: 6E 67 2C 90 20 75 6E 72 64 63 68 2C 90 20 77 72 ng,. unrdch,. wr
000150: 63 68 2C 90 90 20 77 72 69 74 65 64 2C 90 90 20 ch,.. writed,..
000160: 77 72 69 74 65 66 2C 90 90 20 77 72 69 74 65 68 writef,.. writeh
000170: 65 78 2C 90 20 77 72 69 74 65 6E 2C 20 0D 8A 77 ex,. writen, ..w
000180: 72 69 74 65 6F 63 74 2C 20 77 72 69 74 65 73 2E riteoct, writes.
000190: 0D 0A 0D 0A 0D 0A 52 6F 75 74 69 6E 65 73 20 74 ......Routines t
0001A0: 68 61 74 20 61 72 65 20 6E 6F 74 20 65 6E 74 69 hat are not enti
0001B0: 72 65 6C 79 20 73 74 61 6E 64 61 72 64 20 28 74 rely standard (t
0001C0: 68 6F 75 67 68 20 6D 61 6E 79 20 42 43 50 4C 20 hough many BCPL
0001D0: 73 79 73 74 65 6D 73 20 68 61 76 65 20 0D 8A 73 systems have ..s
0001E0: 6F 6D 65 74 68 69 6E 67 20 73 69 6D 69 6C 61 72 omething similar
0001F0: 29 3A 0D 0A 0D 0A 63 61 6C 6C 2C 20 63 61 70 69 ):....call, capi
Size : 512 (Real : 512)
000000: 74 61 6C 63 68 2C 20 63 6F 6D 70 63 68 2C 90 20 talch, compch,.
000010: 63 6F 6D 70 73 74 72 69 6E 67 2C 90 20 64 65 6C compstring,. del
000020: 65 74 65 2C 90 20 72 61 6E 64 6F 6D 2C 90 20 72 ete,. random,. r
000030: 65 6E 61 6D 65 2C 20 74 69 6D 65 2C 20 0D 8A 75 ename, time, ..u
000040: 70 70 65 72 63 61 73 65 2C 20 77 72 69 74 65 74 ppercase, writet
000050: 2C 20 77 72 69 74 65 75 2E 0D 0A 0D 0A 0D 0A 52 , writeu.......R
000060: 6F 75 74 69 6E 65 73 20 73 70 65 63 69 66 69 63 outines specific
000070: 20 74 6F 20 41 72 6E 6F 72 20 42 43 50 4C 3A 0D to Arnor BCPL:.
000080: 0A 0D 0A 62 64 6F 73 61 2C 90 20 62 64 6F 73 62 ...bdosa,. bdosb
000090: 2C 90 20 62 69 6F 73 2C 90 20 62 79 74 65 6D 6F ,. bios,. bytemo
0000A0: 76 65 2C 90 20 63 6C 6F 73 65 69 6E 2C 90 20 63 ve,. closein,. c
0000B0: 6C 6F 73 65 6F 75 74 2C 90 20 64 65 62 75 67 2C loseout,. debug,
0000C0: 90 20 64 65 63 76 61 6C 2C 20 0D 8A 65 78 74 65 . decval, ..exte
0000D0: 72 6E 61 6C 2C 90 20 66 69 72 6D 77 61 72 65 2C rnal,. firmware,
0000E0: 90 20 66 6C 75 73 68 2C 90 20 70 72 62 75 73 79 . flush,. prbusy
0000F0: 2C 90 20 70 72 63 68 2C 90 20 72 64 74 65 73 74 ,. prch,. rdtest
000100: 2C 90 20 72 64 76 64 75 2C 90 20 72 65 61 64 63 ,. rdvdu,. readc
000110: 68 2C 20 0D 8A 72 65 61 64 73 65 63 74 6F 72 2C h, ..readsector,
000120: 90 20 72 65 77 69 6E 64 69 6E 2C 90 20 73 65 74 . rewindin,. set
000130: 66 63 62 2C 90 20 73 74 72 74 6F 6E 75 6D 2C 90 fcb,. strtonum,.
000140: 90 20 74 61 69 6C 2C 90 20 76 65 72 73 69 6F 6E . tail,. version
000150: 2C 90 20 77 72 69 74 65 63 68 2C 20 0D 8A 77 72 ,. writech, ..wr
000160: 69 74 65 73 65 63 74 6F 72 2C 20 77 72 76 64 75 itesector, wrvdu
000170: 2C 20 70 6C 75 73 20 61 6C 6C 20 74 68 65 20 72 , plus all the r
000180: 6F 75 74 69 6E 65 73 90 20 69 6E 20 74 68 65 20 outines. in the
000190: 66 69 6C 65 20 22 41 4D 53 44 4F 53 22 2C 20 77 file "AMSDOS", w
0001A0: 68 69 63 68 20 0D 8A 61 72 65 20 61 6C 73 6F 20 hich ..are also
0001B0: 43 50 43 20 6D 61 63 68 69 6E 65 20 73 70 65 63 CPC machine spec
0001C0: 69 66 69 63 20 61 73 20 77 65 6C 6C 2E 0D 0A 0D ific as well....
0001D0: 0A 0D 0A 3E 70 61 0D 0A 20 20 20 20 20 20 20 20 ...>pa..
0001E0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
0001F0: 20 20 E2 41 34 2E 20 45 52 52 4F 52 20 4D 45 53 .A4. ERROR MES
Size : 512 (Real : 512)
000000: 53 41 47 45 53 E2 0D 0A 0D 0A 0D 0A 09 54 68 65 SAGES........The
000010: 72 65 20 61 72 65 20 74 68 72 65 65 20 6D 61 69 re are three mai
000020: 6E 20 73 65 74 73 20 6F 66 20 65 72 72 6F 72 20 n sets of error
000030: 6D 65 73 73 61 67 65 73 20 77 68 69 63 68 20 63 messages which c
000040: 61 6E 20 6F 63 63 75 72 2E 20 54 68 65 73 65 20 an occur. These
000050: 0D 8A 61 72 65 20 66 61 74 61 6C 20 65 72 72 6F ..are fatal erro
000060: 72 73 20 77 68 69 63 68 20 63 61 75 73 65 20 74 rs which cause t
000070: 68 65 90 20 63 6F 6D 70 69 6C 65 72 20 74 6F 20 he. compiler to
000080: 61 62 6F 72 74 20 69 6D 6D 65 64 69 61 74 65 6C abort immediatel
000090: 79 2C 20 70 68 61 73 65 20 0D 8A 31 20 65 72 72 y, phase ..1 err
0000A0: 6F 72 73 20 77 68 69 63 68 20 77 69 6C 6C 20 73 ors which will s
0000B0: 74 6F 70 90 20 74 68 65 90 20 63 6F 6D 70 69 6C top. the. compil
0000C0: 61 74 69 6F 6E 90 20 61 66 74 65 72 90 20 70 68 ation. after. ph
0000D0: 61 73 65 20 31 20 61 6E 64 20 66 69 6E 61 6C 6C ase 1 and finall
0000E0: 79 20 0D 8A 70 68 61 73 65 20 32 20 65 72 72 6F y ..phase 2 erro
0000F0: 72 73 20 77 68 69 63 68 20 77 69 6C 6C 20 73 74 rs which will st
000100: 6F 70 20 63 6F 6D 70 69 6C 61 74 69 6F 6E 20 61 op compilation a
000110: 74 20 74 68 65 20 65 6E 64 20 6F 66 20 74 68 65 t the end of the
000120: 20 66 69 72 73 74 20 72 75 6E 20 0D 8A 6F 66 20 first run ..of
000130: 70 68 61 73 65 20 32 2E 0D 0A 09 4D 6F 73 74 20 phase 2....Most
000140: 65 72 72 6F 72 20 6D 65 73 73 61 67 65 73 20 67 error messages g
000150: 69 76 65 90 20 61 90 20 6C 69 6E 65 90 20 6E 75 ive. a. line. nu
000160: 6D 62 65 72 2C 90 20 66 6F 72 20 65 78 61 6D 70 mber,. for examp
000170: 6C 65 20 22 45 78 70 65 63 74 69 6E 67 20 0D 8A le "Expecting ..
000180: 63 6F 6D 6D 61 6E 64 20 6E 65 61 72 20 6C 69 6E command near lin
000190: 65 20 32 37 22 2E 20 54 68 65 90 20 77 6F 72 64 e 27". The. word
0001A0: 90 20 22 6E 65 61 72 22 90 20 69 73 20 75 73 65 . "near". is use
0001B0: 64 20 62 65 63 61 75 73 65 20 74 68 65 20 63 6F d because the co
0001C0: 6D 70 69 6C 65 72 20 0D 8A 67 69 76 65 73 20 74 mpiler ..gives t
0001D0: 68 65 20 6C 69 6E 65 20 6E 75 6D 62 65 72 20 61 he line number a
0001E0: 74 20 77 68 69 63 68 20 69 74 90 20 64 69 73 63 t which it. disc
0001F0: 6F 76 65 72 65 64 20 74 68 65 20 70 72 6F 62 6C overed the probl
Size : 512 (Real : 512)
000000: 65 6D 2C 20 61 6E 64 20 74 68 69 73 20 69 73 20 em, and this is
000010: 0D 8A 6E 6F 74 20 6E 65 63 65 73 73 61 72 69 6C ..not necessaril
000020: 79 20 74 68 65 20 73 61 6D 65 20 6C 69 6E 65 90 y the same line.
000030: 20 74 68 61 74 90 20 6E 65 65 64 73 20 63 6F 72 that. needs cor
000040: 72 65 63 74 69 6E 67 2E 20 54 68 65 20 6C 69 6E recting. The lin
000050: 65 20 6E 75 6D 62 65 72 20 0D 8A 72 65 66 65 72 e number ..refer
000060: 73 20 74 6F 20 74 68 65 20 70 6F 73 69 74 69 6F s to the positio
000070: 6E 20 6F 66 20 74 68 65 90 20 6C 69 6E 65 90 20 n of the. line.
000080: 77 69 74 68 69 6E 90 20 74 68 65 90 20 66 69 6C within. the. fil
000090: 65 2C 20 61 6E 64 20 6E 6F 74 20 74 6F 20 74 68 e, and not to th
0000A0: 65 20 0D 8A 74 6F 74 61 6C 20 6E 75 6D 62 65 72 e ..total number
0000B0: 20 6F 66 20 6C 69 6E 65 73 20 63 6F 6D 70 69 6C of lines compil
0000C0: 65 64 20 73 6F 20 66 61 72 2E 0D 0A 0D 0A 0D 0A ed so far.......
0000D0: E2 28 69 29 20 46 61 74 61 6C 20 45 72 72 6F 72 .(i) Fatal Error
0000E0: 73 E2 0D 0A 0D 0A 0D 0A 4F 75 74 20 6F 66 20 6D s.......Out of m
0000F0: 65 6D 6F 72 79 0D 0A 0D 0A 09 54 68 65 20 63 6F emory.....The co
000100: 6D 70 69 6C 65 72 20 68 61 73 20 72 75 6E 20 6F mpiler has run o
000110: 75 74 90 20 6F 66 90 20 72 6F 6F 6D 90 20 66 6F ut. of. room. fo
000120: 72 90 20 74 68 65 20 70 72 6F 67 72 61 6D 20 6F r. the program o
000130: 72 20 69 74 73 20 73 79 6D 62 6F 6C 20 0D 8A 74 r its symbol ..t
000140: 61 62 6C 65 2E 20 43 61 6E 20 73 6F 6D 65 74 69 able. Can someti
000150: 6D 65 73 20 62 65 20 73 6F 6C 76 65 64 20 62 79 mes be solved by
000160: 20 72 65 2D 75 73 69 6E 67 20 6C 6F 63 61 6C 20 re-using local
000170: 76 61 72 69 61 62 6C 65 20 6E 61 6D 65 73 2E 0D variable names..
000180: 0A 0D 0A 0D 0A 4F 75 74 20 6F 66 20 73 79 6D 62 .....Out of symb
000190: 6F 6C 20 73 70 61 63 65 0D 0A 0D 0A 09 56 65 72 ol space.....Ver
0001A0: 79 20 73 69 6D 69 6C 61 72 20 74 6F 20 74 68 65 y similar to the
0001B0: 20 61 62 6F 76 65 20 65 78 63 65 70 74 90 20 74 above except. t
0001C0: 68 61 74 90 20 74 68 65 20 70 72 6F 67 72 61 6D hat. the program
0001D0: 20 6D 61 79 20 6E 6F 74 20 62 65 20 74 6F 6F 20 may not be too
0001E0: 0D 8A 62 69 67 2E 20 54 72 79 20 63 6F 6D 70 69 ..big. Try compi
0001F0: 6C 69 6E 67 20 69 74 20 74 6F 20 64 69 73 63 20 ling it to disc
Size : 512 (Real : 512)
000000: 77 68 69 63 68 20 61 6C 6C 6F 77 73 20 74 77 69 which allows twi
000010: 63 65 20 61 73 20 6D 75 63 68 20 73 79 6D 62 6F ce as much symbo
000020: 6C 20 73 70 61 63 65 2E 0D 0A 09 49 66 20 79 6F l space....If yo
000030: 75 20 61 72 65 20 63 6F 6D 70 69 6C 69 6E 67 20 u are compiling
000040: 61 90 20 70 69 65 63 65 90 20 6F 66 90 20 74 65 a. piece. of. te
000050: 78 74 90 20 69 6E 20 6D 65 6D 6F 72 79 20 66 72 xt. in memory fr
000060: 6F 6D 20 50 52 4F 54 45 58 54 20 6F 72 20 0D 8A om PROTEXT or ..
000070: 4D 41 58 41 4D 20 74 68 65 6E 20 73 61 76 69 6E MAXAM then savin
000080: 67 20 74 68 65 20 74 65 78 74 20 74 6F 90 20 64 g the text to. d
000090: 69 73 63 2C 90 20 63 6C 65 61 72 69 6E 67 20 74 isc,. clearing t
0000A0: 68 65 20 6D 65 6D 6F 72 79 20 61 6E 64 20 74 68 he memory and th
0000B0: 65 6E 20 72 65 2D 0D 8A 63 6F 6D 70 69 6C 69 6E en re-..compilin
0000C0: 67 20 6D 61 79 20 73 6F 6C 76 65 20 74 68 69 73 g may solve this
0000D0: 20 70 72 6F 62 6C 65 6D 2E 0D 0A 0D 0A 0D 0A 49 problem.......I
0000E0: 2F 4F 20 65 72 72 6F 72 0D 0A 0D 0A 09 41 6E 20 /O error.....An
0000F0: 65 72 72 6F 72 20 68 61 73 20 6F 63 63 75 72 72 error has occurr
000100: 65 64 20 77 68 65 6E 90 20 77 72 69 74 69 6E 67 ed when. writing
000110: 90 20 74 6F 90 20 74 68 65 20 6F 75 74 70 75 74 . to. the output
000120: 20 66 69 6C 65 2E 20 4D 61 79 20 6D 65 61 6E 20 file. May mean
000130: 0D 8A 74 68 61 74 20 74 68 65 20 64 69 73 63 20 ..that the disc
000140: 69 73 20 66 75 6C 6C 2E 0D 0A 0D 0A 0D 0A 43 61 is full.......Ca
000150: 6E 27 74 20 6F 70 65 6E 20 69 6E 70 75 74 20 66 n't open input f
000160: 69 6C 65 0D 0A 0D 0A 09 54 68 65 20 66 69 6C 65 ile.....The file
000170: 6E 61 6D 65 20 67 69 76 65 6E 20 69 6E 20 61 20 name given in a
000180: 47 45 54 90 20 64 69 72 65 63 74 69 76 65 90 20 GET. directive.
000190: 63 6F 75 6C 64 90 20 6E 6F 74 20 62 65 20 66 6F could. not be fo
0001A0: 75 6E 64 20 6F 6E 20 74 68 65 20 0D 8A 64 69 73 und on the ..dis
0001B0: 63 2E 0D 0A 0D 0A 0D 0A 43 61 6E 27 74 20 6F 70 c.......Can't op
0001C0: 65 6E 20 6F 75 74 70 75 74 20 66 69 6C 65 0D 0A en output file..
0001D0: 0D 0A 09 54 68 65 20 63 6F 6D 70 69 6C 65 72 20 ...The compiler
0001E0: 77 61 73 20 74 72 79 69 6E 67 20 74 6F 20 6F 70 was trying to op
0001F0: 65 6E 20 61 20 66 69 6C 65 20 74 6F 20 6F 75 74 en a file to out
Size : 512 (Real : 512)
000000: 70 75 74 20 74 68 65 20 63 6F 6D 70 69 6C 65 64 put the compiled
000010: 20 63 6F 64 65 20 0D 8A 74 6F 2C 20 62 75 74 20 code ..to, but
000020: 66 6F 72 20 73 6F 6D 65 20 72 65 61 73 6F 6E 20 for some reason
000030: 77 61 73 20 6E 6F 74 20 61 62 6C 65 20 74 6F 20 was not able to
000040: 6F 70 65 6E 20 69 74 2E 0D 0A 3E 70 61 0D 0A 42 open it...>pa..B
000050: 72 6F 6B 65 6E 20 69 6E 0D 0A 0D 0A 09 45 53 43 roken in.....ESC
000060: 20 6F 72 20 53 54 4F 50 20 77 61 73 20 70 72 65 or STOP was pre
000070: 73 73 65 64 20 74 77 69 63 65 20 69 6E 20 61 20 ssed twice in a
000080: 72 6F 77 2E 20 50 72 65 73 73 69 6E 67 20 69 74 row. Pressing it
000090: 20 6F 6E 63 65 20 77 69 6C 6C 20 68 61 6C 74 20 once will halt
0000A0: 0D 8A 74 68 65 20 63 6F 6D 70 69 6C 65 72 20 61 ..the compiler a
0000B0: 6E 64 20 63 61 75 73 65 90 20 69 74 90 20 74 6F nd cause. it. to
0000C0: 90 20 77 61 69 74 90 20 66 6F 72 90 20 61 6E 6F . wait. for. ano
0000D0: 74 68 65 72 20 6B 65 79 20 70 72 65 73 73 2E 20 ther key press.
0000E0: 50 72 65 73 73 69 6E 67 20 0D 8A 65 73 63 61 70 Pressing ..escap
0000F0: 65 20 61 67 61 69 6E 20 63 61 75 73 65 73 20 74 e again causes t
000100: 68 69 73 20 65 72 72 6F 72 20 77 68 69 6C 65 90 his error while.
000110: 20 61 6E 79 20 6F 74 68 65 72 20 6B 65 79 20 63 any other key c
000120: 61 75 73 65 73 20 63 6F 6D 70 69 6C 61 74 69 6F auses compilatio
000130: 6E 20 0D 8A 74 6F 20 63 6F 6E 74 69 6E 75 65 2E n ..to continue.
000140: 0D 0A 0D 0A 0D 0A 55 6E 64 65 66 69 6E 65 64 20 ......Undefined
000150: 53 54 41 52 54 0D 0A 0D 0A 09 41 6C 6C 20 70 72 START.....All pr
000160: 6F 67 72 61 6D 73 20 6D 75 73 74 90 20 68 61 76 ograms must. hav
000170: 65 90 20 61 90 20 70 72 6F 63 65 64 75 72 65 90 e. a. procedure.
000180: 20 63 61 6C 6C 65 64 90 20 53 54 41 52 54 2E 90 called. START..
000190: 20 54 68 65 20 70 72 6F 67 72 61 6D 20 0D 8A 73 The program ..s
0001A0: 75 62 6D 69 74 74 65 64 20 64 69 64 20 6E 6F 74 ubmitted did not
0001B0: 20 68 61 76 65 20 74 68 69 73 20 70 72 6F 63 65 have this proce
0001C0: 64 75 72 65 2E 0D 0A 0D 0A 0D 0A 42 61 64 20 47 dure.......Bad G
0001D0: 45 54 0D 0A 0D 0A 09 44 75 65 20 74 6F 20 74 68 ET.....Due to th
0001E0: 65 20 6C 69 6D 69 74 61 74 69 6F 6E 73 20 6F 66 e limitations of
0001F0: 20 41 4D 53 44 4F 53 90 20 6F 6E 6C 79 90 20 6F AMSDOS. only. o
Size : 512 (Real : 512)
000000: 6E 65 20 66 69 6C 65 20 63 61 6E 20 62 65 20 6F ne file can be o
000010: 70 65 6E 65 64 20 66 6F 72 20 0D 8A 69 6E 70 75 pened for ..inpu
000020: 74 20 61 74 20 61 6E 79 90 20 6F 6E 65 90 20 74 t at any. one. t
000030: 69 6D 65 2E 90 20 41 90 20 66 69 6C 65 90 20 77 ime.. A. file. w
000040: 61 73 90 20 6F 70 65 6E 65 64 90 20 77 68 69 63 as. opened. whic
000050: 68 90 20 63 6F 6E 74 61 69 6E 65 64 20 61 20 47 h. contained a G
000060: 45 54 20 0D 8A 64 69 72 65 63 74 69 76 65 2E 20 ET ..directive.
000070: 57 69 6C 6C 20 61 6C 73 6F 20 6F 63 63 75 72 90 Will also occur.
000080: 20 69 66 90 20 61 90 20 70 69 65 63 65 90 20 6F if. a. piece. o
000090: 66 20 73 74 6F 72 65 64 20 50 52 4F 54 45 58 54 f stored PROTEXT
0000A0: 2F 4D 41 58 41 4D 20 74 65 78 74 20 0D 8A 61 74 /MAXAM text ..at
0000B0: 74 65 6D 70 74 73 20 74 6F 20 47 45 54 20 69 74 tempts to GET it
0000C0: 73 65 6C 66 2E 0D 0A 0D 0A 0D 0A 4E 6F 6E 2D 41 self.......Non-A
0000D0: 53 43 49 49 20 66 69 6C 65 0D 0A 0D 0A 09 54 68 SCII file.....Th
0000E0: 65 20 63 6F 6D 70 69 6C 65 72 20 77 61 73 20 69 e compiler was i
0000F0: 6E 73 74 72 75 63 74 65 64 20 74 6F 20 6F 70 65 nstructed to ope
000100: 6E 90 20 61 90 20 66 69 6C 65 20 62 75 74 20 74 n. a. file but t
000110: 68 61 74 20 66 69 6C 65 20 64 69 64 20 6E 6F 74 hat file did not
000120: 20 0D 8A 63 6F 6E 74 61 69 6E 20 41 53 43 49 49 ..contain ASCII
000130: 20 74 65 78 74 90 20 77 68 69 63 68 90 20 69 73 text. which. is
000140: 90 20 72 65 71 75 69 72 65 64 90 20 66 6F 72 90 . required. for.
000150: 20 74 68 65 90 20 63 6F 6D 70 69 6C 65 72 2E 90 the. compiler..
000160: 20 55 73 65 72 73 20 6F 66 20 0D 8A 43 50 43 20 Users of ..CPC
000170: 76 65 72 73 69 6F 6E 73 20 6F 66 20 50 52 4F 54 versions of PROT
000180: 45 58 54 20 73 68 6F 75 6C 64 20 75 73 65 20 70 EXT should use p
000190: 72 6F 67 72 61 6D 20 6D 6F 64 65 2C 20 77 68 69 rogram mode, whi
0001A0: 63 68 20 77 69 6C 6C 20 73 61 76 65 20 74 68 65 ch will save the
0001B0: 20 66 69 6C 65 20 0D 8A 69 6E 20 41 53 43 49 49 file ..in ASCII
0001C0: 20 66 6F 72 6D 61 74 2E 0D 0A 0D 0A 0D 0A 46 69 format.......Fi
0001D0: 6C 65 20 69 6E 74 61 63 74 0D 0A 0D 0A 09 54 68 le intact.....Th
0001E0: 69 73 20 6F 63 63 75 72 73 20 6F 6E 20 43 50 2F is occurs on CP/
0001F0: 4D 20 76 65 72 73 69 6F 6E 73 20 77 68 65 6E 20 M versions when
Size : 512 (Real : 512)
000000: 74 68 65 20 64 65 73 74 69 6E 61 74 69 6F 6E 20 the destination
000010: 66 69 6C 65 20 65 78 69 73 74 65 64 20 62 75 74 file existed but
000020: 20 0D 8A 74 68 65 20 75 73 65 72 20 74 79 70 65 ..the user type
000030: 64 20 4E 20 77 68 65 6E 20 61 73 6B 65 64 20 69 d N when asked i
000040: 66 20 74 68 65 20 66 69 6C 65 20 73 68 6F 75 6C f the file shoul
000050: 64 20 62 65 20 64 65 6C 65 74 65 64 2E 0D 0A 0D d be deleted....
000060: 0A 0D 0A 42 61 64 20 53 4F 55 52 43 45 20 6E 61 ...Bad SOURCE na
000070: 6D 65 0D 0A 0D 0A 09 43 50 2F 4D 20 76 65 72 73 me.....CP/M vers
000080: 69 6F 6E 73 20 63 68 65 63 6B 20 74 68 65 20 73 ions check the s
000090: 6F 75 72 63 65 20 6E 61 6D 65 20 67 69 76 65 6E ource name given
0000A0: 2C 20 61 6E 64 20 69 66 20 69 74 20 69 73 20 69 , and if it is i
0000B0: 6E 76 61 6C 69 64 20 69 6E 20 0D 8A 73 6F 6D 65 nvalid in ..some
0000C0: 20 77 61 79 20 65 2E 67 2E 20 68 61 73 20 61 6E way e.g. has an
0000D0: 20 65 78 74 65 6E 73 69 6F 6E 20 6F 66 90 20 6D extension of. m
0000E0: 6F 72 65 20 74 68 61 6E 20 33 20 6C 65 74 74 65 ore than 3 lette
0000F0: 72 73 20 74 68 65 6E 20 74 68 69 73 20 65 72 72 rs then this err
000100: 6F 72 20 0D 8A 77 69 6C 6C 20 62 65 20 67 69 76 or ..will be giv
000110: 65 6E 2E 0D 0A 0D 0A 0D 0A 42 61 64 20 44 45 53 en.......Bad DES
000120: 54 49 4E 41 54 49 4F 4E 20 6E 61 6D 65 0D 0A 0D TINATION name...
000130: 0A 09 41 73 20 61 62 6F 76 65 2E 0D 0A 3E 70 61 ..As above...>pa
000140: 0D 0A E2 28 69 69 29 20 53 79 6E 74 61 78 20 45 ...(ii) Syntax E
000150: 72 72 6F 72 73 E2 0D 0A 0D 0A 09 50 68 61 73 65 rrors......Phase
000160: 20 31 20 65 72 72 6F 72 73 20 61 72 65 20 61 6C 1 errors are al
000170: 6C 20 73 79 6E 74 61 78 20 65 72 72 6F 72 73 20 l syntax errors
000180: 77 69 74 68 69 6E 20 74 68 65 20 70 72 6F 67 72 within the progr
000190: 61 6D 2E 20 4F 66 74 65 6E 20 74 68 65 20 0D 8A am. Often the ..
0001A0: 63 61 75 73 65 20 77 69 6C 6C 20 62 65 20 61 20 cause will be a
0001B0: 6D 69 73 73 69 6E 67 20 24 29 20 6F 72 20 29 90 missing $) or ).
0001C0: 20 77 68 69 63 68 20 77 69 6C 6C 20 70 72 6F 62 which will prob
0001D0: 61 62 6C 79 20 63 61 75 73 65 20 77 68 61 74 20 ably cause what
0001E0: 6D 61 79 20 61 74 20 0D 8A 66 69 72 73 74 20 73 may at ..first s
0001F0: 65 65 6D 90 74 6F 20 62 65 20 61 6E 20 6F 64 64 eem.to be an odd
Size : 512 (Real : 512)
000000: 90 20 65 72 72 6F 72 90 20 6D 65 73 73 61 67 65 . error. message
000010: 2E 20 53 79 6E 74 61 78 20 65 72 72 6F 72 73 20 . Syntax errors
000020: 61 72 65 20 72 65 70 6F 72 74 65 64 20 61 73 20 are reported as
000030: 0D 8A 6F 63 63 75 72 72 69 6E 67 20 6E 65 61 72 ..occurring near
000040: 20 61 20 63 65 72 74 61 69 6E 20 6C 69 6E 65 2E a certain line.
000050: 90 20 54 68 69 73 90 20 69 73 90 20 74 68 65 20 . This. is. the
000060: 6C 69 6E 65 20 77 69 74 68 69 6E 20 61 20 70 61 line within a pa
000070: 72 74 69 63 75 6C 61 72 20 0D 8A 66 69 6C 65 2E rticular ..file.
000080: 20 49 66 20 74 68 65 20 63 6F 6D 70 69 6C 65 72 If the compiler
000090: 20 6C 69 73 74 69 6E 67 90 20 69 73 90 20 73 77 listing. is. sw
0000A0: 69 74 63 68 65 64 90 20 6F 66 66 20 77 68 65 6E itched. off when
0000B0: 20 74 68 65 20 65 72 72 6F 72 20 6F 63 63 75 72 the error occur
0000C0: 73 20 0D 8A 74 68 65 6E 20 61 20 62 75 66 66 65 s ..then a buffe
0000D0: 72 2C 20 68 6F 6C 64 69 6E 67 20 74 68 65 20 6C r, holding the l
0000E0: 61 73 74 20 66 65 77 20 6C 69 6E 65 73 20 6F 66 ast few lines of
0000F0: 20 74 65 78 74 20 72 65 61 64 20 66 72 6F 6D 20 text read from
000100: 74 68 65 20 73 6F 75 72 63 65 20 0D 8A 63 6F 64 the source ..cod
000110: 65 2C 20 77 69 6C 6C 20 62 65 20 64 69 73 70 6C e, will be displ
000120: 61 79 65 64 2E 0D 0A 0D 0A 0D 0A 42 61 64 20 65 ayed.......Bad e
000130: 78 70 72 65 73 73 69 6F 6E 0D 0A 0D 0A 09 54 68 xpression.....Th
000140: 65 20 65 78 70 72 65 73 73 69 6F 6E 20 62 65 69 e expression bei
000150: 6E 67 20 65 78 61 6D 69 6E 65 64 90 20 77 61 73 ng examined. was
000160: 90 20 66 61 75 6C 74 79 90 20 69 6E 90 20 73 6F . faulty. in. so
000170: 6D 65 90 20 77 61 79 2E 20 4D 61 79 62 65 20 61 me. way. Maybe a
000180: 20 0D 8A 63 6F 6D 6D 61 6E 64 20 6E 61 6D 65 20 ..command name
000190: 77 61 73 20 75 73 65 64 20 61 73 20 61 6E 20 69 was used as an i
0001A0: 64 65 6E 74 69 66 69 65 72 2E 0D 0A 0D 0A 0D 0A dentifier.......
0001B0: 42 61 64 20 76 65 63 74 6F 72 20 64 65 66 69 6E Bad vector defin
0001C0: 69 74 69 6F 6E 0D 0A 0D 0A 09 41 20 76 65 63 74 ition.....A vect
0001D0: 6F 72 20 64 65 66 69 6E 69 74 69 6F 6E 20 77 61 or definition wa
0001E0: 73 20 62 61 64 90 20 69 6E 90 20 73 6F 6D 65 90 s bad. in. some.
0001F0: 20 77 61 79 2E 20 49 6E 20 70 61 72 74 69 63 75 way. In particu
Size : 512 (Real : 512)
000000: 6C 61 72 20 6F 6E 6C 79 20 6F 6E 65 20 0D 8A 76 lar only one ..v
000010: 65 63 74 6F 72 20 6D 61 79 20 62 65 90 20 64 65 ector may be. de
000020: 63 6C 61 72 65 64 90 20 69 6E 90 20 61 6E 79 90 clared. in. any.
000030: 20 4C 45 54 90 20 63 6F 6D 6D 61 6E 64 90 20 28 LET. command. (
000040: 61 6C 74 68 6F 75 67 68 20 73 69 6D 75 6C 74 61 although simulta
000050: 6E 65 6F 75 73 20 0D 8A 64 65 66 69 6E 69 74 69 neous ..definiti
000060: 6F 6E 73 20 61 72 65 20 61 6C 6C 6F 77 65 64 29 ons are allowed)
000070: 2E 0D 0A 0D 0A 0D 0A 42 61 64 20 70 72 6F 63 65 .......Bad proce
000080: 64 75 72 65 20 64 65 66 69 6E 69 74 69 6F 6E 0D dure definition.
000090: 0A 0D 0A 09 41 20 70 72 6F 63 65 64 75 72 65 20 ....A procedure
0000A0: 64 65 66 69 6E 69 74 69 6F 6E 20 77 61 73 20 62 definition was b
0000B0: 61 64 6C 79 90 20 6D 61 64 65 2E 90 20 4D 61 79 adly. made.. May
0000C0: 90 20 68 61 76 65 20 62 65 65 6E 20 73 6F 6D 65 . have been some
0000D0: 20 6F 74 68 65 72 20 0D 8A 66 6F 72 6D 20 6F 66 other ..form of
0000E0: 20 64 65 66 69 6E 69 74 69 6F 6E 20 77 68 69 63 definition whic
0000F0: 68 20 77 65 6E 74 20 77 72 6F 6E 67 2E 0D 0A 0D h went wrong....
000100: 0A 0D 0A 42 61 64 20 46 4F 52 20 6C 6F 6F 70 0D ...Bad FOR loop.
000110: 0A 0D 0A 09 54 68 65 20 46 4F 52 20 6C 6F 6F 70 ....The FOR loop
000120: 20 77 61 73 20 62 61 64 6C 79 20 66 6F 72 6D 65 was badly forme
000130: 64 20 69 6E 20 73 6F 6D 65 20 77 61 79 2E 0D 0A d in some way...
000140: 0D 0A 0D 0A 6E 65 65 64 20 3A 20 6F 72 20 3D 20 ....need : or =
000150: 69 6E 20 63 6F 6E 73 74 61 6E 74 20 64 65 66 69 in constant defi
000160: 6E 69 74 69 6F 6E 0D 0A 0D 0A 09 43 6F 6E 73 74 nition.....Const
000170: 61 6E 74 2C 20 47 6C 6F 62 61 6C 20 61 6E 64 90 ant, Global and.
000180: 20 53 74 61 74 69 63 90 20 64 65 66 69 6E 69 74 Static. definit
000190: 69 6F 6E 73 90 20 72 65 71 75 69 72 65 90 20 62 ions. require. b
0001A0: 6F 74 68 90 20 3A 90 20 61 6E 64 20 3D 20 0D 8A oth. :. and = ..
0001B0: 62 65 74 77 65 65 6E 20 74 68 65 20 69 64 65 6E between the iden
0001C0: 74 69 66 69 65 72 20 61 6E 64 20 74 68 65 90 20 tifier and the.
0001D0: 63 6F 6E 73 74 61 6E 74 90 20 65 78 70 72 65 73 constant. expres
0001E0: 73 69 6F 6E 2E 20 4F 6E 65 20 6F 72 20 74 68 65 sion. One or the
0001F0: 20 6F 74 68 65 72 20 0D 8A 69 73 20 6D 69 73 73 other ..is miss
Size : 512 (Real : 512)
000000: 69 6E 67 0D 0A 0D 0A 0D 0A 4D 69 73 73 69 6E 67 ing......Missing
000010: 20 24 29 0D 0A 0D 0A 09 41 20 24 29 20 77 61 73 $).....A $) was
000020: 20 65 78 70 65 63 74 65 64 20 62 75 74 20 6E 6F expected but no
000030: 74 90 20 66 6F 75 6E 64 2E 90 20 43 68 65 63 6B t. found.. Check
000040: 20 74 68 65 20 6E 75 6D 62 65 72 20 6F 66 20 6F the number of o
000050: 70 65 6E 69 6E 67 20 61 6E 64 20 0D 8A 63 6C 6F pening and ..clo
000060: 73 69 6E 67 20 73 65 63 74 69 6F 6E 20 62 72 61 sing section bra
000070: 63 6B 65 74 73 20 69 6E 20 74 68 65 20 70 72 6F ckets in the pro
000080: 67 72 61 6D 2E 0D 0A 3E 70 61 0D 0A 4D 69 73 73 gram...>pa..Miss
000090: 69 6E 67 20 24 28 0D 0A 0D 0A 09 41 20 63 6F 6D ing $(.....A com
0000A0: 70 6F 75 6E 64 20 73 74 61 74 65 6D 65 6E 74 20 pound statement
0000B0: 77 61 73 20 6E 65 65 64 65 64 20 62 75 74 90 20 was needed but.
0000C0: 74 68 65 20 6F 70 65 6E 69 6E 67 20 24 28 20 77 the opening $( w
0000D0: 61 73 20 6E 6F 74 20 66 6F 75 6E 64 2E 20 0D 8A as not found. ..
0000E0: 49 6E 20 70 61 72 74 69 63 75 6C 61 72 20 61 6C In particular al
0000F0: 6C 20 53 57 49 54 43 48 4F 4E 20 73 74 61 74 65 l SWITCHON state
000100: 6D 65 6E 74 73 20 6D 75 73 74 20 62 65 20 63 6F ments must be co
000110: 6D 70 6F 75 6E 64 2E 0D 0A 0D 0A 0D 0A 4D 69 73 mpound.......Mis
000120: 73 69 6E 67 20 29 0D 0A 0D 0A 09 41 20 63 6C 6F sing ).....A clo
000130: 73 69 6E 67 20 62 72 61 63 6B 65 74 20 69 6E 90 sing bracket in.
000140: 20 61 6E 90 20 65 78 70 72 65 73 73 69 6F 6E 90 an. expression.
000150: 20 6F 72 20 70 72 6F 63 65 64 75 72 65 20 63 61 or procedure ca
000160: 6C 6C 2F 64 65 66 69 6E 69 74 69 6F 6E 20 0D 8A ll/definition ..
000170: 77 61 73 20 6D 69 73 73 69 6E 67 2E 0D 0A 0D 0A was missing.....
000180: 0D 0A 53 65 63 74 69 6F 6E 20 74 61 67 20 6D 69 ..Section tag mi
000190: 73 6D 61 74 63 68 0D 0A 0D 0A 09 41 20 73 65 63 smatch.....A sec
0001A0: 74 69 6F 6E 20 62 72 61 63 6B 65 74 20 77 61 73 tion bracket was
0001B0: 20 74 61 67 67 65 64 20 62 75 74 90 20 74 68 65 tagged but. the
0001C0: 90 20 74 61 67 20 64 69 64 20 6E 6F 74 20 68 61 . tag did not ha
0001D0: 76 65 20 61 20 6D 61 74 63 68 69 6E 67 20 0D 8A ve a matching ..
0001E0: 6F 70 65 6E 69 6E 67 20 73 65 63 74 69 6F 6E 20 opening section
0001F0: 62 72 61 63 6B 65 74 2E 20 4D 61 79 20 62 65 20 bracket. May be
Size : 512 (Real : 512)
000000: 63 61 75 73 65 64 90 20 62 79 90 20 6F 6D 69 74 caused. by. omit
000010: 74 69 6E 67 20 74 68 65 20 73 70 61 63 65 20 61 ting the space a
000020: 66 74 65 72 20 61 20 0D 8A 73 65 63 74 69 6F 6E fter a ..section
000030: 20 62 72 61 63 6B 65 74 2E 0D 0A 0D 0A 0D 0A 45 bracket.......E
000040: 78 70 65 63 74 69 6E 67 20 63 6F 6D 6D 61 6E 64 xpecting command
000050: 0D 0A 0D 0A 09 41 20 63 6F 6D 6D 61 6E 64 20 77 .....A command w
000060: 61 73 20 65 78 70 65 63 74 65 64 20 62 75 74 20 as expected but
000070: 6F 6E 65 90 20 77 61 73 90 20 6E 6F 74 20 66 6F one. was. not fo
000080: 75 6E 64 2E 20 54 68 69 73 20 63 61 6E 20 62 65 und. This can be
000090: 20 63 61 75 73 65 64 20 0D 8A 62 79 2C 20 66 6F caused ..by, fo
0000A0: 72 20 65 78 61 6D 70 6C 65 2C 20 6F 6D 69 74 74 r example, omitt
0000B0: 69 6E 67 20 74 68 65 20 63 6F 6C 6F 6E 20 69 6E ing the colon in
0000C0: 90 20 61 6E 20 61 73 73 69 67 6E 6D 65 6E 74 20 . an assignment
0000D0: 63 6F 6D 6D 61 6E 64 2C 20 6F 72 20 62 79 20 61 command, or by a
0000E0: 20 0D 8A 64 65 63 6C 61 72 61 74 69 6F 6E 20 61 ..declaration a
0000F0: 70 70 65 61 72 69 6E 67 20 61 66 74 65 72 20 61 ppearing after a
000100: 20 63 6F 6D 6D 61 6E 64 2E 0D 0A 0D 0A 0D 0A 45 command.......E
000110: 78 70 65 63 74 69 6E 67 20 6E 75 6D 62 65 72 0D xpecting number.
000120: 0A 0D 0A 09 41 20 6E 75 6D 62 65 72 20 77 61 73 ....A number was
000130: 20 65 78 70 65 63 74 65 64 20 62 75 74 20 6E 6F expected but no
000140: 74 20 66 6F 75 6E 64 2E 20 55 73 75 61 6C 6C 79 t found. Usually
000150: 20 66 6F 6C 6C 6F 77 69 6E 67 20 61 20 23 2E 0D following a #..
000160: 0A 0D 0A 0D 0A 45 78 70 65 63 74 69 6E 67 20 2C .....Expecting ,
000170: 0D 0A 0D 0A 09 54 68 65 20 63 6F 6D 70 69 6C 65 .....The compile
000180: 72 20 77 61 73 20 65 78 70 65 63 74 69 6E 67 90 r was expecting.
000190: 20 61 90 20 63 6F 6D 6D 61 90 20 28 2C 29 90 20 a. comma. (,).
0001A0: 62 75 74 90 20 64 69 64 90 20 6E 6F 74 20 66 69 but. did. not fi
0001B0: 6E 64 20 6F 6E 65 2E 20 0D 8A 4F 63 63 75 72 73 nd one. ..Occurs
0001C0: 20 69 6E 20 61 20 63 6F 6E 64 69 74 69 6F 6E 61 in a conditiona
0001D0: 6C 20 65 78 70 72 65 73 73 69 6F 6E 2E 0D 0A 0D l expression....
0001E0: 0A 0D 0A 45 4C 53 45 20 65 78 70 65 63 74 65 64 ...ELSE expected
0001F0: 0D 0A 0D 0A 09 54 68 65 20 45 4C 53 45 20 70 61 .....The ELSE pa
Size : 512 (Real : 512)
000000: 72 74 20 69 6E 20 61 90 20 54 45 53 54 90 20 73 rt in a. TEST. s
000010: 74 61 74 65 6D 65 6E 74 90 20 69 73 90 20 6E 6F tatement. is. no
000020: 74 90 20 6F 70 74 69 6F 6E 61 6C 20 61 6E 64 20 t. optional and
000030: 77 61 73 20 6E 6F 74 20 0D 8A 70 72 65 73 65 6E was not ..presen
000040: 74 20 69 6E 20 74 68 69 73 20 63 61 73 65 2E 0D t in this case..
000050: 0A 0D 0A 0D 0A 49 4E 54 4F 20 65 78 70 65 63 74 .....INTO expect
000060: 65 64 0D 0A 0D 0A 09 54 68 65 20 63 6F 6E 74 72 ed.....The contr
000070: 6F 6C 20 65 78 70 72 65 73 73 69 6F 6E 20 6F 66 ol expression of
000080: 20 61 90 20 53 57 54 49 43 48 4F 4E 90 20 63 6F a. SWTICHON. co
000090: 6D 6D 61 6E 64 20 6D 75 73 74 20 62 65 20 66 6F mmand must be fo
0000A0: 6C 6C 6F 77 65 64 20 62 79 20 0D 8A 74 68 65 20 llowed by ..the
0000B0: 6B 65 79 77 6F 72 64 20 49 4E 54 4F 2E 20 49 6E keyword INTO. In
0000C0: 20 74 68 69 73 20 63 61 73 65 20 69 74 20 77 61 this case it wa
0000D0: 73 20 6E 6F 74 2E 0D 8A 3E 70 61 0D 0A 3A 20 65 s not...>pa..: e
0000E0: 78 70 65 63 74 65 64 0D 0A 0D 0A 09 41 20 63 6F xpected.....A co
0000F0: 6C 6F 6E 20 69 73 20 65 78 70 65 63 74 65 64 20 lon is expected
000100: 61 66 74 65 72 20 61 20 63 61 73 65 20 6C 61 62 after a case lab
000110: 65 6C 20 6F 72 20 44 45 46 41 55 4C 54 20 62 75 el or DEFAULT bu
000120: 74 20 74 68 65 20 63 6F 6D 70 69 6C 65 72 20 0D t the compiler .
000130: 8A 64 69 64 20 6E 6F 74 20 66 69 6E 64 20 6F 6E .did not find on
000140: 65 2E 0D 0A 0D 0A 0D 0A 45 78 70 65 63 74 69 6E e.......Expectin
000150: 67 20 69 64 65 6E 74 69 66 69 65 72 0D 0A 0D 0A g identifier....
000160: 09 54 68 65 20 63 6F 6D 70 69 6C 65 72 20 77 61 .The compiler wa
000170: 73 20 65 78 70 65 63 74 69 6E 67 20 61 6E 90 20 s expecting an.
000180: 69 64 65 6E 74 69 66 69 65 72 90 20 65 2E 67 2E identifier. e.g.
000190: 90 20 61 66 74 65 72 20 4C 45 54 20 62 75 74 20 . after LET but
0001A0: 64 69 64 20 0D 8A 6E 6F 74 20 66 69 6E 64 20 6F did ..not find o
0001B0: 6E 65 2E 0D 0A 0D 0A 0D 0A 53 74 72 69 6E 67 20 ne.......String
0001C0: 74 6F 6F 20 6C 6F 6E 67 0D 0A 0D 0A 09 42 43 50 too long.....BCP
0001D0: 4C 20 63 6F 6E 73 74 61 6E 74 20 73 74 72 69 6E L constant strin
0001E0: 67 73 20 63 61 6E 20 6F 6E 6C 79 20 62 65 20 32 gs can only be 2
0001F0: 35 35 20 63 68 61 72 61 63 74 65 72 73 20 6C 6F 55 characters lo
Size : 512 (Real : 512)
000000: 6E 67 2E 0D 0A 0D 0A 0D 0A 42 61 64 20 63 68 61 ng.......Bad cha
000010: 72 61 63 74 65 72 0D 0A 0D 0A 09 54 68 65 20 63 racter.....The c
000020: 68 61 72 61 63 74 65 72 20 72 65 61 64 20 77 61 haracter read wa
000030: 73 90 20 69 6C 6C 65 67 61 6C 90 20 69 6E 90 20 s. illegal. in.
000040: 74 68 65 90 20 70 72 65 73 65 6E 74 20 63 6F 6E the. present con
000050: 74 65 78 74 2E 20 65 2E 67 2E 20 69 74 20 0D 8A text. e.g. it ..
000060: 63 6F 75 6C 64 20 68 61 76 65 20 62 65 65 6E 20 could have been
000070: 61 20 7B 20 69 6E 73 74 65 61 64 20 6F 66 20 2F a { instead of /
000080: 2A 0D 0A 0D 0A 0D 0A 42 61 64 20 63 68 61 72 61 *......Bad chara
000090: 63 74 65 72 20 63 6F 6E 73 74 61 6E 74 0D 0A 0D cter constant...
0000A0: 0A 09 41 20 63 68 61 72 61 63 74 65 72 90 20 63 ..A character. c
0000B0: 6F 6E 73 74 61 6E 74 90 20 77 61 73 90 20 62 61 onstant. was. ba
0000C0: 64 6C 79 90 20 66 6F 72 6D 65 64 2C 90 20 75 73 dly. formed,. us
0000D0: 75 61 6C 6C 79 90 20 63 61 75 73 65 64 90 20 62 ually. caused. b
0000E0: 79 90 20 61 20 0D 8A 63 61 72 72 69 61 67 65 20 y. a ..carriage
0000F0: 72 65 74 75 72 6E 20 66 6F 6C 6C 6F 77 69 6E 67 return following
000100: 20 61 6E 20 61 73 74 65 72 69 73 6B 2E 0D 0A 0D an asterisk....
000110: 0A 0D 0A 42 61 64 20 6F 70 74 69 6F 6E 20 6C 69 ...Bad option li
000120: 6E 65 0D 0A 0D 0A 09 54 68 65 20 6F 70 74 69 6F ne.....The optio
000130: 6E 73 20 69 6E 20 61 6E 20 6F 70 74 69 6F 6E 20 ns in an option
000140: 63 6F 6D 6D 61 6E 64 90 20 6D 75 73 74 90 20 62 command. must. b
000150: 65 20 73 65 70 61 72 61 74 65 64 20 62 79 20 63 e separated by c
000160: 6F 6D 6D 61 73 20 61 6E 64 20 0D 8A 6D 75 73 74 ommas and ..must
000170: 20 65 6E 64 20 77 69 74 68 20 61 20 73 65 6D 69 end with a semi
000180: 2D 63 6F 6C 6F 6E 20 6F 72 20 61 74 20 74 68 65 -colon or at the
000190: 20 65 6E 64 20 6F 66 20 74 68 65 20 6C 69 6E 65 end of the line
0001A0: 2E 0D 0A 0D 0A 0D 0A 3F 20 69 73 20 6F 6E 6C 79 .......? is only
0001B0: 20 61 6C 6C 6F 77 65 64 20 69 6E 20 64 65 66 69 allowed in defi
0001C0: 6E 69 74 69 6F 6E 73 0D 0A 0D 0A 09 53 65 6C 66 nitions.....Self
0001D0: 2D 65 78 70 6C 61 6E 61 74 6F 72 79 2E 90 20 54 -explanatory.. T
0001E0: 68 65 90 20 6F 6E 6C 79 90 20 75 6E 64 65 66 69 he. only. undefi
0001F0: 6E 65 64 90 20 76 61 6C 75 65 73 90 20 61 6C 6C ned. values. all
Size : 512 (Real : 512)
000000: 6F 77 65 64 90 20 61 72 65 90 20 74 68 65 20 0D owed. are. the .
000010: 8A 69 6E 69 74 69 61 6C 69 73 61 74 69 6F 6E 20 .initialisation
000020: 76 61 6C 75 65 73 20 6F 66 20 73 69 6D 70 6C 65 values of simple
000030: 20 76 61 72 69 61 62 6C 65 73 20 69 6E 20 61 20 variables in a
000040: 4C 45 54 20 63 6F 6D 6D 61 6E 64 2E 20 3F 20 61 LET command. ? a
000050: 6E 79 77 68 65 72 65 20 0D 8A 65 6C 73 65 20 69 nywhere ..else i
000060: 73 20 69 6C 6C 65 67 61 6C 2E 0D 0A 3E 70 61 0D s illegal...>pa.
000070: 0A E2 28 69 69 69 29 20 53 65 6D 61 6E 74 69 63 ..(iii) Semantic
000080: 20 45 72 72 6F 72 73 E2 0D 0A 0D 0A 0D 0A 09 54 Errors........T
000090: 68 65 20 72 65 73 74 20 6F 66 20 74 68 65 90 20 he rest of the.
0000A0: 65 72 72 6F 72 73 90 20 61 72 65 90 20 73 65 6D errors. are. sem
0000B0: 61 6E 74 69 63 90 20 65 72 72 6F 72 73 90 20 77 antic. errors. w
0000C0: 68 69 63 68 20 6F 63 63 75 72 20 64 75 72 69 6E hich occur durin
0000D0: 67 20 0D 8A 70 68 61 73 65 20 74 77 6F 20 6F 66 g ..phase two of
0000E0: 20 74 68 65 20 63 6F 6D 70 69 6C 65 72 2E 90 20 the compiler..
0000F0: 54 68 65 73 65 90 20 61 72 65 90 20 75 73 75 61 These. are. usua
000100: 6C 6C 79 90 20 64 75 65 90 20 74 6F 20 74 68 65 lly. due. to the
000110: 20 75 73 65 20 6F 66 20 61 6E 20 0D 8A 69 6E 76 use of an ..inv
000120: 61 6C 69 64 20 69 64 65 6E 74 69 66 69 65 72 20 alid identifier
000130: 6E 61 6D 65 20 6F 72 20 61 20 62 61 64 6C 79 20 name or a badly
000140: 63 6F 6E 73 74 72 75 63 74 65 64 20 6C 6F 6F 70 constructed loop
000150: 2E 0D 0A 0D 0A 0D 0A 45 78 70 72 65 73 73 69 6F .......Expressio
000160: 6E 2F 69 64 20 6D 69 73 6D 61 74 63 68 0D 0A 0D n/id mismatch...
000170: 0A 09 54 68 65 20 6E 75 6D 62 65 72 20 6F 66 20 ..The number of
000180: 6C 65 66 74 20 61 6E 64 20 72 69 67 68 74 90 20 left and right.
000190: 68 61 6E 64 90 20 73 69 64 65 73 20 69 6E 20 61 hand. sides in a
0001A0: 20 6D 75 6C 74 69 70 6C 65 20 61 73 73 69 67 6E multiple assign
0001B0: 6D 65 6E 74 20 0D 8A 6F 72 20 64 65 63 6C 61 72 ment ..or declar
0001C0: 61 74 69 6F 6E 20 77 61 73 20 6E 6F 74 20 65 71 ation was not eq
0001D0: 75 61 6C 2E 0D 0A 0D 0A 0D 0A 49 6E 76 61 6C 69 ual.......Invali
0001E0: 64 20 61 73 73 69 67 6E 6D 65 6E 74 0D 0A 0D 0A d assignment....
0001F0: 09 59 6F 75 20 68 61 76 65 20 61 74 74 65 6D 70 .You have attemp
Size : 512 (Real : 512)
000000: 74 65 64 20 74 6F 20 61 73 73 69 67 6E 20 74 6F ted to assign to
000010: 20 73 6F 6D 65 74 68 69 6E 67 20 77 68 69 63 68 something which
000020: 20 69 73 20 6E 6F 74 20 61 73 73 69 67 6E 61 62 is not assignab
000030: 6C 65 2E 20 0D 8A 65 2E 67 2E 20 61 20 63 6F 6E le. ..e.g. a con
000040: 73 74 61 6E 74 20 6F 72 20 70 72 6F 63 65 64 75 stant or procedu
000050: 72 65 2E 0D 0A 0D 0A 0D 0A 52 45 53 55 4C 54 49 re.......RESULTI
000060: 53 20 6F 75 74 73 69 64 65 20 61 20 56 41 4C 4F S outside a VALO
000070: 46 0D 0A 0D 0A 09 41 20 52 45 53 55 4C 54 49 53 F.....A RESULTIS
000080: 20 63 6F 6D 6D 61 6E 64 20 77 61 73 20 66 6F 75 command was fou
000090: 6E 64 20 6F 75 74 73 69 64 65 20 61 20 56 41 4C nd outside a VAL
0000A0: 4F 46 20 62 6C 6F 63 6B 2E 0D 0A 0D 0A 0D 0A 4C OF block.......L
0000B0: 4F 4F 50 20 66 6F 75 6E 64 20 6F 75 74 73 69 64 OOP found outsid
0000C0: 65 20 6C 6F 6F 70 0D 0A 0D 0A 09 41 20 4C 4F 4F e loop.....A LOO
0000D0: 50 20 63 6F 6D 6D 61 6E 64 20 69 73 20 6F 6E 6C P command is onl
0000E0: 79 20 6C 65 67 61 6C 20 69 6E 73 69 64 65 20 6F y legal inside o
0000F0: 6E 65 20 6F 66 20 74 68 65 20 6C 6F 6F 70 69 6E ne of the loopin
000100: 67 20 63 6F 6E 73 74 72 75 63 74 73 2E 0D 0A 0D g constructs....
000110: 0A 0D 0A 42 52 45 41 4B 20 66 6F 75 6E 64 20 6F ...BREAK found o
000120: 75 74 73 69 64 65 20 6C 6F 6F 70 0D 0A 0D 0A 09 utside loop.....
000130: 41 20 42 52 45 41 4B 20 63 6F 6D 6D 61 6E 64 20 A BREAK command
000140: 69 73 20 6F 6E 6C 79 20 6C 65 67 61 6C 20 69 6E is only legal in
000150: 73 69 64 65 20 6F 6E 65 20 6F 66 20 74 68 65 20 side one of the
000160: 6C 6F 6F 70 69 6E 67 20 63 6F 6E 73 74 72 75 63 looping construc
000170: 74 73 2E 0D 0A 0D 0A 0D 0A 52 45 54 55 52 4E 20 ts.......RETURN
000180: 66 6F 75 6E 64 20 6F 75 74 73 69 64 65 20 50 52 found outside PR
000190: 4F 43 2F 46 55 4E 43 0D 0A 0D 0A 09 41 20 52 45 OC/FUNC.....A RE
0001A0: 54 55 52 4E 20 63 6F 6D 6D 61 6E 64 20 69 73 90 TURN command is.
0001B0: 20 6F 6E 6C 79 90 20 6C 65 67 61 6C 90 20 77 69 only. legal. wi
0001C0: 74 68 69 6E 90 20 61 90 20 70 72 6F 63 65 64 75 thin. a. procedu
0001D0: 72 65 20 6F 72 20 66 75 6E 63 74 69 6F 6E 20 0D re or function .
0001E0: 8A 62 6F 64 79 2E 0D 0A 0D 0A 0D 0A 45 4E 44 43 .body.......ENDC
0001F0: 41 53 45 20 6F 75 74 73 69 64 65 20 61 20 53 57 ASE outside a SW
Size : 512 (Real : 512)
000000: 49 54 43 48 4F 4E 0D 0A 0D 0A 09 41 6E 20 45 4E ITCHON.....An EN
000010: 44 43 41 53 45 20 73 74 61 74 65 6D 65 6E 74 20 DCASE statement
000020: 77 61 73 90 20 66 6F 75 6E 64 90 20 6F 75 74 73 was. found. outs
000030: 69 64 65 90 20 74 68 65 90 20 62 6F 64 79 90 20 ide. the. body.
000040: 6F 66 20 61 20 53 57 49 54 43 48 4F 4E 20 0D 8A of a SWITCHON ..
000050: 63 6F 6D 6D 61 6E 64 2E 0D 0A 0D 0A 0D 0A 56 41 command.......VA
000060: 4C 4F 46 20 6D 75 73 74 20 63 6F 6E 74 61 69 6E LOF must contain
000070: 20 52 45 53 55 4C 54 49 53 0D 0A 0D 0A 09 41 20 RESULTIS.....A
000080: 56 41 4C 4F 46 20 65 78 70 72 65 73 73 69 6F 6E VALOF expression
000090: 20 6D 75 73 74 20 63 6F 6E 74 61 69 6E 20 61 74 must contain at
0000A0: 20 6C 65 61 73 74 20 6F 6E 65 20 52 45 53 55 4C least one RESUL
0000B0: 54 49 53 20 63 6F 6D 6D 61 6E 64 0D 0A 3E 70 61 TIS command..>pa
0000C0: 0D 0A 49 6E 76 61 6C 69 64 20 61 70 70 6C 69 63 ..Invalid applic
0000D0: 61 74 69 6F 6E 20 6F 66 20 4C 56 0D 0A 0D 0A 09 ation of LV.....
0000E0: 54 68 65 20 4C 56 20 6F 72 20 40 20 6F 70 65 72 The LV or @ oper
0000F0: 61 74 6F 72 20 77 61 73 90 20 75 73 65 64 90 20 ator was. used.
000100: 69 6E 90 20 61 6E 20 69 6E 63 6F 72 72 65 63 74 in. an incorrect
000110: 20 63 6F 6E 74 65 78 74 20 69 2E 65 2E 20 6F 6E context i.e. on
000120: 20 61 20 0D 8A 63 6F 6E 73 74 61 6E 74 2E 20 4C a ..constant. L
000130: 56 20 69 73 20 27 6C 65 66 74 20 76 61 6C 75 65 V is 'left value
000140: 27 20 61 6E 64 20 6D 65 61 6E 73 20 74 68 65 20 ' and means the
000150: 65 76 61 6C 75 61 74 69 6F 6E 20 6F 66 20 61 6E evaluation of an
000160: 20 65 78 70 72 65 73 73 69 6F 6E 20 0D 8A 74 6F expression ..to
000170: 20 6F 62 74 61 69 6E 20 61 6E 20 61 64 64 72 65 obtain an addre
000180: 73 73 2E 0D 0A 0D 0A 0D 0A 44 79 6E 61 6D 69 63 ss.......Dynamic
000190: 20 66 72 65 65 20 76 61 72 69 61 62 6C 65 20 75 free variable u
0001A0: 73 65 64 0D 0A 0D 0A 09 41 20 76 61 72 69 61 62 sed.....A variab
0001B0: 6C 65 20 77 61 73 90 20 75 73 65 64 90 20 69 6E le was. used. in
0001C0: 90 20 61 6E 90 20 65 6D 62 65 64 64 65 64 90 20 . an. embedded.
0001D0: 70 72 6F 63 65 64 75 72 65 90 20 77 68 69 63 68 procedure. which
0001E0: 90 20 68 61 64 20 62 65 65 6E 20 0D 8A 64 65 63 . had been ..dec
0001F0: 6C 61 72 65 64 20 69 6E 20 61 6E 20 6F 75 74 65 lared in an oute
Size : 512 (Real : 512)
000000: 72 20 70 72 6F 63 65 64 75 72 65 2E 0D 0A 0D 0A r procedure.....
000010: 0D 0A 43 41 53 45 2F 44 45 46 41 55 4C 54 20 66 ..CASE/DEFAULT f
000020: 6F 75 6E 64 20 6F 75 74 73 69 64 65 20 53 57 49 ound outside SWI
000030: 54 43 48 4F 4E 0D 0A 0D 0A 09 43 41 53 45 20 6F TCHON.....CASE o
000040: 72 90 20 44 45 46 41 55 4C 54 90 20 73 74 61 74 r. DEFAULT. stat
000050: 65 6D 65 6E 74 73 90 20 61 72 65 90 20 6F 6E 6C ements. are. onl
000060: 79 90 20 76 61 6C 69 64 90 20 69 6E 73 69 64 65 y. valid. inside
000070: 90 20 61 20 53 57 49 54 43 48 4F 4E 20 0D 8A 73 . a SWITCHON ..s
000080: 74 61 74 65 6D 65 6E 74 2E 0D 0A 0D 0A 0D 0A 55 tatement.......U
000090: 6E 64 65 66 69 6E 65 64 20 69 64 65 6E 74 69 66 ndefined identif
0000A0: 69 65 72 0D 0A 0D 0A 09 41 20 76 61 72 69 61 62 ier.....A variab
0000B0: 6C 65 20 77 61 73 20 75 73 65 64 20 77 68 69 63 le was used whic
0000C0: 68 20 68 61 64 20 6E 6F 74 20 62 65 65 6E 20 64 h had not been d
0000D0: 65 66 69 6E 65 64 20 6F 72 20 77 61 73 20 6E 6F efined or was no
0000E0: 74 20 69 6E 20 73 63 6F 70 65 20 0D 8A 77 68 65 t in scope ..whe
0000F0: 6E 20 69 74 20 77 61 73 20 75 73 65 64 2E 0D 0A n it was used...
000100: 0D 0A 0D 0A 4C 61 62 65 6C 73 20 6E 65 65 64 20 ....Labels need
000110: 61 20 67 6C 6F 62 61 6C 0D 0A 0D 0A 09 41 20 6C a global.....A l
000120: 61 62 65 6C 20 77 61 73 20 64 65 66 69 6E 65 64 abel was defined
000130: 20 77 68 65 6E 20 69 6E 20 74 68 65 90 20 73 63 when in the. sc
000140: 6F 70 65 90 20 6F 66 20 61 20 6C 6F 63 61 6C 20 ope. of a local
000150: 76 61 72 69 61 62 6C 65 20 6F 66 20 74 68 65 20 variable of the
000160: 0D 8A 73 61 6D 65 20 6E 61 6D 65 2E 20 41 73 20 ..same name. As
000170: 74 68 65 20 76 61 72 69 61 62 6C 65 90 20 77 69 the variable. wi
000180: 6C 6C 90 20 62 65 90 20 69 6E 69 74 69 61 6C 69 ll. be. initiali
000190: 73 65 64 90 20 74 6F 20 74 68 65 20 76 61 6C 75 sed. to the valu
0001A0: 65 20 6F 66 20 74 68 65 20 0D 8A 6C 61 62 65 6C e of the ..label
0001B0: 2C 20 69 74 20 6D 75 73 74 20 62 65 20 61 20 47 , it must be a G
0001C0: 4C 4F 42 41 4C 20 6F 72 20 53 54 41 54 49 43 2E LOBAL or STATIC.
0001D0: 90 20 49 66 20 6E 6F 20 76 61 72 69 61 62 6C 65 . If no variable
0001E0: 20 6F 66 20 74 68 65 20 73 61 6D 65 20 6E 61 6D of the same nam
0001F0: 65 20 0D 8A 69 73 20 69 6E 20 73 63 6F 70 65 20 e ..is in scope
Size : 512 (Real : 512)
000000: 74 68 65 6E 20 6F 6E 65 20 77 69 6C 6C 20 62 65 then one will be
000010: 20 63 72 65 61 74 65 64 2E 0D 0A 0D 0A 0D 0A 4E created.......N
000020: 65 65 64 20 63 6F 6E 73 74 61 6E 74 20 65 78 70 eed constant exp
000030: 72 65 73 73 69 6F 6E 0D 0A 0D 0A 09 41 20 63 6F ression.....A co
000040: 6E 73 74 61 6E 74 20 65 78 70 72 65 73 73 69 6F nstant expressio
000050: 6E 90 20 77 61 73 90 20 72 65 71 75 69 72 65 64 n. was. required
000060: 90 20 62 75 74 90 20 6E 6F 74 90 20 66 6F 75 6E . but. not. foun
000070: 64 2E 20 45 78 61 6D 70 6C 65 73 20 6F 66 20 0D d. Examples of .
000080: 8A 63 6F 6E 73 74 61 6E 74 73 20 62 65 69 6E 67 .constants being
000090: 20 72 65 71 75 69 72 65 64 20 61 72 65 90 20 74 required are. t
0000A0: 68 65 90 20 49 4E 4C 49 4E 45 90 20 73 74 61 74 he. INLINE. stat
0000B0: 65 6D 65 6E 74 2C 20 64 65 63 6C 61 72 61 74 69 ement, declarati
0000C0: 6F 6E 73 20 61 6E 64 20 0D 8A 43 41 53 45 20 6C ons and ..CASE l
0000D0: 61 62 65 6C 73 2E 0D 0A 0D 0A 0D 0A 28 69 76 29 abels.......(iv)
0000E0: 20 49 6E 74 65 72 6E 61 6C 20 63 6F 6D 70 69 6C Internal compil
0000F0: 65 72 20 65 72 72 6F 72 73 0D 0A 20 20 20 20 20 er errors..
000100: 20 20 20 0D 0A 09 54 68 65 72 65 20 69 73 20 61 ...There is a
000110: 20 66 6F 75 72 74 68 20 74 79 70 65 20 6F 66 90 fourth type of.
000120: 20 65 72 72 6F 72 90 20 62 75 74 90 20 79 6F 75 error. but. you
000130: 20 73 68 6F 75 6C 64 20 6E 65 76 65 72 20 73 65 should never se
000140: 65 20 74 68 65 73 65 2E 20 0D 8A 54 68 65 73 65 e these. ..These
000150: 20 61 72 65 20 69 6E 74 65 72 6E 61 6C 20 63 6F are internal co
000160: 6D 70 69 6C 65 72 20 65 72 72 6F 72 73 90 20 61 mpiler errors. a
000170: 6E 64 90 20 69 6E 64 69 63 61 74 65 20 70 6F 73 nd. indicate pos
000180: 73 69 62 6C 65 20 62 75 67 73 20 69 6E 20 74 68 sible bugs in th
000190: 65 20 0D 8A 63 6F 6D 70 69 6C 65 72 2E 0D 0A 09 e ..compiler....
0001A0: 50 6C 65 61 73 65 20 72 65 70 6F 72 74 20 61 6E Please report an
0001B0: 79 20 69 6E 63 69 64 65 6E 63 65 20 6F 66 20 6F y incidence of o
0001C0: 6E 65 20 6F 66 20 74 68 65 73 65 20 65 72 72 6F ne of these erro
0001D0: 72 73 20 74 6F 20 41 72 6E 6F 72 2E 0D 0A 0D 0A rs to Arnor.....
0001E0: 20 20 20 20 20 20 20 20 45 72 72 6F 72 20 69 6E Error in
0001F0: 20 74 72 61 6E 73 6C 61 74 69 6F 6E 20 6E 6F 64 translation nod
Size : 512 (Real : 512)
000000: 65 0D 0A 20 20 20 20 20 20 20 20 55 6E 65 78 70 e.. Unexp
000010: 65 63 74 65 64 20 6E 6F 64 65 20 69 6E 20 65 78 ected node in ex
000020: 70 72 65 73 73 69 6F 6E 0D 0A 20 20 20 20 20 20 pression..
000030: 20 20 44 65 63 6C 61 72 61 74 69 6F 6E 20 65 72 Declaration er
000040: 72 6F 72 0D 0A 1A 0D 0A 20 20 20 20 20 20 20 20 ror.....
000050: 55 6E 65 78 70 65 63 74 65 64 20 6E 6F 64 65 20 Unexpected node
000060: 69 6E 20 65 78 70 72 65 73 73 69 6F 6E 0D 0A 20 in expression..
000070: 20 20 20 20 20 20 20 44 65 63 6C 61 72 61 74 69 Declarati
000080: 8A 63 6F 6E 73 74 61 6E 74 73 20 62 65 69 6E 67 .constants being
000090: 20 72 65 71 75 69 72 65 64 20 61 72 65 90 20 74 required are. t
0000A0: 68 65 90 20 49 4E 4C 49 4E 45 90 20 73 74 61 74 he. INLINE. stat
0000B0: 65 6D 65 6E 74 2C 20 64 65 63 6C 61 72 61 74 69 ement, declarati
0000C0: 6F 6E 73 20 61 6E 64 20 0D 8A 43 41 53 45 20 6C ons and ..CASE l
0000D0: 61 62 65 6C 73 2E 0D 0A 0D 0A 0D 0A 28 69 76 29 abels.......(iv)
0000E0: 20 49 6E 74 65 72 6E 61 6C 20 63 6F 6D 70 69 6C Internal compil
0000F0: 65 72 20 65 72 72 6F 72 73 0D 0A 20 20 20 20 20 er errors..
000100: 20 20 20 0D 0A 09 54 68 65 72 65 20 69 73 20 61 ...There is a
000110: 20 66 6F 75 72 74 68 20 74 79 70 65 20 6F 66 90 fourth type of.
000120: 20 65 72 72 6F 72 90 20 62 75 74 90 20 79 6F 75 error. but. you
000130: 20 73 68 6F 75 6C 64 20 6E 65 76 65 72 20 73 65 should never se
000140: 65 20 74 68 65 73 65 2E 20 0D 8A 54 68 65 73 65 e these. ..These
000150: 20 61 72 65 20 69 6E 74 65 72 6E 61 6C 20 63 6F are internal co
000160: 6D 70 69 6C 65 72 20 65 72 72 6F 72 73 90 20 61 mpiler errors. a
000170: 6E 64 90 20 69 6E 64 69 63 61 74 65 20 70 6F 73 nd. indicate pos
000180: 73 69 62 6C 65 20 62 75 67 73 20 69 6E 20 74 68 sible bugs in th
000190: 65 20 0D 8A 63 6F 6D 70 69 6C 65 72 2E 0D 0A 09 e ..compiler....
0001A0: 50 6C 65 61 73 65 20 72 65 70 6F 72 74 20 61 6E Please report an
0001B0: 79 20 69 6E 63 69 64 65 6E 63 65 20 6F 66 20 6F y incidence of o
0001C0: 6E 65 20 6F 66 20 74 68 65 73 65 20 65 72 72 6F ne of these erro
0001D0: 72 73 20 74 6F 20 41 72 6E 6F 72 2E 0D 0A 0D 0A rs to Arnor.....
0001E0: 20 20 20 20 20 20 20 20 45 72 72 6F 72 20 69 6E Error in
0001F0: 20 74 72 61 6E 73 6C 61 74 69 6F 6E 20 6E 6F 64 translation nod
Size : 512 (Real : 512)
000000: 6F 70 74 69 6F 6E 20 62 2D 0D 0A 67 65 74 20 22 option b-..get "
000010: 63 6C 69 62 68 64 72 22 0D 0A 0D 0A 2F 2A 20 41 clibhdr"..../* A
000020: 20 73 69 6D 70 6C 65 20 66 75 6C 6C 20 73 63 72 simple full scr
000030: 65 65 6E 20 65 64 69 74 6F 72 20 2A 2F 0D 0A 2F een editor */../
000040: 2A 20 43 50 2F 4D 20 76 65 72 73 69 6F 6E 20 66 * CP/M version f
000050: 6F 72 20 43 50 2F 4D 20 32 2E 32 20 61 6E 64 20 or CP/M 2.2 and
000060: 43 50 2F 4D 20 50 6C 75 73 20 2A 2F 0D 0A 2F 2F CP/M Plus */..//
000070: 20 6D 6F 64 69 66 69 65 64 20 30 32 2F 31 32 2F modified 02/12/
000080: 31 39 38 36 0D 0A 0D 0A 4D 41 4E 49 46 45 53 54 1986....MANIFEST
000090: 20 24 28 20 69 6E 73 20 3D 20 54 52 55 45 20 3B $( ins = TRUE ;
0000A0: 20 6F 76 65 72 20 3D 20 46 41 4C 53 45 20 3B 20 over = FALSE ;
0000B0: 63 75 72 73 6C 65 66 74 20 3D 20 23 78 46 32 20 cursleft = #xF2
0000C0: 3B 20 63 75 72 73 72 69 67 68 74 20 3D 20 23 78 ; cursright = #x
0000D0: 46 33 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 F3..
0000E0: 63 75 72 73 75 70 20 3D 20 23 78 46 30 20 3B 20 cursup = #xF0 ;
0000F0: 63 75 72 73 64 6F 77 6E 20 3D 20 23 78 46 31 20 cursdown = #xF1
000100: 3B 20 65 73 63 61 70 65 20 3D 20 23 78 46 43 20 ; escape = #xFC
000110: 3B 20 69 67 6E 6F 72 65 20 3D 20 23 78 45 46 0D ; ignore = #xEF.
000120: 0A 20 20 20 20 20 20 20 20 20 20 20 20 73 74 6F . sto
000130: 70 20 3D 20 33 0D 0A 20 20 20 20 20 20 20 20 20 p = 3..
000140: 20 20 20 73 63 75 72 73 75 70 20 3D 20 23 78 46 scursup = #xF
000150: 34 20 3B 20 73 63 75 72 73 64 6F 77 6E 20 3D 20 4 ; scursdown =
000160: 23 78 46 35 20 3B 20 73 63 75 72 73 6C 65 66 74 #xF5 ; scursleft
000170: 20 3D 20 23 78 46 36 0D 0A 20 20 20 20 20 20 20 = #xF6..
000180: 20 20 20 20 20 73 63 75 72 73 72 69 67 68 74 20 scursright
000190: 3D 20 23 78 46 37 0D 0A 20 20 20 20 20 20 20 20 = #xF7..
0001A0: 20 20 20 20 63 63 75 72 73 75 70 20 3D 20 23 78 ccursup = #x
0001B0: 46 38 20 3B 20 63 63 75 72 73 64 6F 77 6E 20 3D F8 ; ccursdown =
0001C0: 20 23 78 46 39 0D 0A 20 20 20 20 20 20 20 20 20 #xF9..
0001D0: 20 20 20 63 63 75 72 73 6C 65 66 74 20 3D 20 23 ccursleft = #
0001E0: 78 46 41 20 3B 20 63 63 75 72 73 72 69 67 68 74 xFA ; ccursright
0001F0: 20 3D 20 23 78 46 42 0D 0A 20 20 20 20 20 20 20 = #xFB..
Size : 512 (Real : 512)
000000: 20 20 20 20 20 63 6F 70 65 6E 73 71 20 3D 20 32 copensq = 2
000010: 37 20 3B 20 63 63 6C 6F 73 65 73 71 20 3D 20 32 7 ; cclosesq = 2
000020: 39 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 6D 9.. m
000030: 61 78 73 63 72 68 65 69 67 68 74 20 3D 20 33 31 axscrheight = 31
000040: 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 6D 61 .. ma
000050: 78 63 68 72 20 3D 20 32 32 39 39 38 20 20 20 20 xchr = 22998
000060: 20 2F 2F 20 63 61 6E 20 62 65 20 69 6E 63 72 65 // can be incre
000070: 61 73 65 64 20 66 6F 72 20 43 50 2F 4D 20 50 6C ased for CP/M Pl
000080: 75 73 20 6F 6E 6C 79 0D 0A 20 20 20 20 20 20 20 us only..
000090: 20 20 20 24 29 0D 0A 0D 0A 0D 0A 2F 2A 0D 0A 20 $)....../*..
0000A0: 20 20 74 65 78 74 65 6E 64 20 70 6F 69 6E 74 73 textend points
0000B0: 20 74 6F 20 74 68 65 20 6C 61 73 74 20 63 68 61 to the last cha
0000C0: 72 61 63 74 65 72 20 69 6E 20 74 68 65 20 66 69 racter in the fi
0000D0: 6C 65 20 77 68 69 63 68 20 77 69 6C 6C 20 61 6C le which will al
0000E0: 77 61 79 73 20 62 65 20 61 0D 0A 20 20 20 63 68 ways be a.. ch
0000F0: 61 72 61 63 74 65 72 20 31 33 2E 20 74 65 78 74 aracter 13. text
000100: 70 74 72 20 70 6F 69 6E 74 73 20 74 6F 20 74 68 ptr points to th
000110: 65 20 66 69 72 73 74 20 63 68 61 72 61 63 74 65 e first characte
000120: 72 20 6F 66 20 74 68 65 20 63 75 72 72 65 6E 74 r of the current
000130: 20 6C 69 6E 65 2E 0D 0A 20 20 20 74 65 78 74 73 line... texts
000140: 74 61 72 74 20 70 6F 69 6E 74 73 20 74 6F 20 74 tart points to t
000150: 68 65 20 73 74 61 72 74 20 6F 66 20 74 68 65 20 he start of the
000160: 74 65 78 74 20 73 70 61 63 65 2E 0D 0A 2A 2F 0D text space...*/.
000170: 0A 0D 0A 53 54 41 54 49 43 20 24 28 20 69 6E 73 ...STATIC $( ins
000180: 65 72 74 20 3D 20 69 6E 73 20 3B 20 74 65 78 74 ert = ins ; text
000190: 65 6E 64 20 3D 20 30 20 3B 20 74 65 78 74 70 74 end = 0 ; textpt
0001A0: 72 20 3D 20 30 20 3B 20 74 65 78 74 73 74 61 72 r = 0 ; textstar
0001B0: 74 20 3D 20 30 0D 0A 20 20 20 20 20 20 20 20 20 t = 0..
0001C0: 20 78 20 3D 20 31 20 3B 20 79 20 3D 20 31 20 3B x = 1 ; y = 1 ;
0001D0: 20 70 72 65 76 20 3D 20 30 20 3B 20 66 69 6C 65 prev = 0 ; file
0001E0: 20 3D 20 30 20 3B 20 62 75 66 66 70 72 69 6E 74 = 0 ; buffprint
0001F0: 20 3D 20 46 41 4C 53 45 0D 0A 20 20 20 20 20 20 = FALSE..
Size : 512 (Real : 512)
000000: 20 20 20 20 6C 69 6E 65 6E 75 6D 62 65 72 20 3D linenumber =
000010: 20 31 20 20 3B 20 73 63 72 68 65 69 67 68 74 3D 1 ; scrheight=
000020: 30 20 20 3B 20 76 65 72 3D 30 20 24 29 0D 0A 0D 0 ; ver=0 $)...
000030: 0A 47 4C 4F 42 41 4C 20 24 28 20 65 72 72 76 65 .GLOBAL $( errve
000040: 63 20 3A 20 30 20 3B 20 65 72 72 6C 61 62 20 3A c : 0 ; errlab :
000050: 20 31 20 24 29 0D 0A 0D 0A 0D 0A 4C 45 54 20 62 1 $)......LET b
000060: 79 74 65 6D 6F 76 65 28 73 6F 75 72 63 65 2C 64 ytemove(source,d
000070: 65 73 74 2C 6E 75 6D 62 65 72 29 20 42 45 0D 0A est,number) BE..
000080: 0D 0A 24 28 0D 0A 20 20 69 6E 6C 69 6E 65 20 32 ..$(.. inline 2
000090: 32 31 2C 31 30 32 2C 31 32 33 20 20 20 20 20 20 21,102,123
0000A0: 2F 2F 20 6C 64 20 68 2C 28 69 78 2B 31 32 33 29 // ld h,(ix+123)
0000B0: 0D 0A 20 20 69 6E 6C 69 6E 65 20 32 32 31 2C 31 .. inline 221,1
0000C0: 31 30 2C 31 32 32 20 20 20 20 20 20 2F 2F 20 6C 10,122 // l
0000D0: 64 20 6C 2C 28 69 78 2B 31 32 32 29 0D 0A 20 20 d l,(ix+122)..
0000E0: 69 6E 6C 69 6E 65 20 32 32 31 2C 38 36 2C 31 32 inline 221,86,12
0000F0: 35 20 20 20 20 20 20 20 2F 2F 20 6C 64 20 64 2C 5 // ld d,
000100: 28 69 78 2B 31 32 35 29 0D 0A 20 20 69 6E 6C 69 (ix+125).. inli
000110: 6E 65 20 32 32 31 2C 39 34 2C 31 32 34 20 20 20 ne 221,94,124
000120: 20 20 20 20 2F 2F 20 6C 64 20 65 2C 28 69 78 2B // ld e,(ix+
000130: 31 32 34 29 0D 0A 20 20 69 6E 6C 69 6E 65 20 32 124).. inline 2
000140: 32 31 2C 37 30 2C 31 32 37 20 20 20 20 20 20 20 21,70,127
000150: 2F 2F 20 6C 64 20 62 2C 28 69 78 2B 31 32 37 29 // ld b,(ix+127)
000160: 0D 0A 20 20 69 6E 6C 69 6E 65 20 32 32 31 2C 37 .. inline 221,7
000170: 38 2C 31 32 36 20 20 20 20 20 20 20 2F 2F 20 6C 8,126 // l
000180: 64 20 63 2C 28 69 78 2B 31 32 36 29 0D 0A 20 20 d c,(ix+126)..
000190: 69 6E 6C 69 6E 65 20 31 36 37 20 20 20 20 20 20 inline 167
0001A0: 20 20 20 20 20 20 20 20 2F 2F 20 61 6E 64 20 61 // and a
0001B0: 0D 0A 20 20 69 6E 6C 69 6E 65 20 32 33 37 2C 38 .. inline 237,8
0001C0: 32 20 20 20 20 20 20 20 20 20 20 20 2F 2F 20 73 2 // s
0001D0: 62 63 20 68 6C 2C 64 65 0D 0A 20 20 69 6E 6C 69 bc hl,de.. inli
0001E0: 6E 65 20 32 35 20 20 20 20 20 20 20 20 20 20 20 ne 25
0001F0: 20 20 20 20 2F 2F 20 61 64 64 20 68 6C 2C 64 65 // add hl,de
Size : 512 (Real : 512)
000000: 0D 0A 20 20 69 6E 6C 69 6E 65 20 35 36 2C 34 20 .. inline 56,4
000010: 20 20 20 20 20 20 20 20 20 20 20 20 2F 2F 20 6A // j
000020: 72 20 63 2C 2B 34 0D 0A 20 20 69 6E 6C 69 6E 65 r c,+4.. inline
000030: 20 32 33 37 2C 31 37 36 20 20 20 20 20 20 20 20 237,176
000040: 20 20 2F 2F 20 6C 64 69 72 0D 0A 20 20 69 6E 6C // ldir.. inl
000050: 69 6E 65 20 32 34 2C 38 20 20 20 20 20 20 20 20 ine 24,8
000060: 20 20 20 20 20 2F 2F 20 6A 72 20 2B 38 0D 0A 20 // jr +8..
000070: 20 69 6E 6C 69 6E 65 20 31 31 20 20 20 20 20 20 inline 11
000080: 20 20 20 20 20 20 20 20 20 2F 2F 20 64 65 63 20 // dec
000090: 62 63 0D 0A 20 20 69 6E 6C 69 6E 65 20 39 20 20 bc.. inline 9
0000A0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2F 2F //
0000B0: 20 61 64 64 20 68 6C 2C 62 63 0D 0A 20 20 69 6E add hl,bc.. in
0000C0: 6C 69 6E 65 20 32 33 35 20 20 20 20 20 20 20 20 line 235
0000D0: 20 20 20 20 20 20 2F 2F 20 65 78 20 64 65 2C 68 // ex de,h
0000E0: 6C 0D 0A 20 20 69 6E 6C 69 6E 65 20 39 20 20 20 l.. inline 9
0000F0: 20 20 20 20 20 20 20 20 20 20 20 20 20 2F 2F 20 //
000100: 61 64 64 20 68 6C 2C 62 63 0D 0A 20 20 69 6E 6C add hl,bc.. inl
000110: 69 6E 65 20 32 33 35 20 20 20 20 20 20 20 20 20 ine 235
000120: 20 20 20 20 20 2F 2F 20 65 78 20 64 65 2C 68 6C // ex de,hl
000130: 0D 0A 20 20 69 6E 6C 69 6E 65 20 33 20 20 20 20 .. inline 3
000140: 20 20 20 20 20 20 20 20 20 20 20 20 2F 2F 20 69 // i
000150: 6E 63 20 62 63 0D 0A 20 20 69 6E 6C 69 6E 65 20 nc bc.. inline
000160: 32 33 37 2C 31 38 34 20 20 20 20 20 20 20 20 20 237,184
000170: 20 2F 2F 20 6C 64 64 72 0D 0A 24 29 0D 0A 0D 0A // lddr..$)....
000180: 4C 45 54 20 63 61 6C 6C 28 61 64 64 72 2C 61 66 LET call(addr,af
000190: 2C 62 63 2C 64 65 2C 68 6C 2C 69 78 29 20 42 45 ,bc,de,hl,ix) BE
0001A0: 0D 0A 0D 0A 24 28 20 20 4C 45 54 20 73 61 76 65 ....$( LET save
0001B0: 33 20 3D 20 56 45 43 20 31 0D 0A 20 20 20 20 62 3 = VEC 1.. b
0001C0: 79 74 65 6D 6F 76 65 28 23 78 39 30 2C 20 73 61 ytemove(#x90, sa
0001D0: 76 65 33 2A 32 2C 20 33 29 0D 0A 20 20 20 20 30 ve3*2, 3).. 0
0001E0: 25 23 78 39 30 20 3A 3D 20 23 78 43 33 0D 0A 20 %#x90 := #xC3..
0001F0: 20 20 20 30 25 23 78 39 31 20 3A 3D 20 61 64 64 0%#x91 := add
Size : 512 (Real : 512)
000000: 72 20 26 20 23 78 46 46 0D 0A 20 20 20 20 30 25 r & #xFF.. 0%
000010: 23 78 39 32 20 3A 3D 20 28 20 61 64 64 72 20 26 #x92 := ( addr &
000020: 20 23 78 46 46 30 30 20 29 20 3E 3E 20 38 0D 0A #xFF00 ) >> 8..
000030: 0D 0A 20 20 20 20 69 6E 6C 69 6E 65 20 23 78 44 .. inline #xD
000040: 44 2C 23 78 45 35 20 20 20 20 20 20 20 20 20 20 D,#xE5
000050: 20 20 2F 2F 20 70 75 73 68 20 69 78 0D 0A 20 20 // push ix..
000060: 20 20 69 6E 6C 69 6E 65 20 23 78 44 44 2C 23 78 inline #xDD,#x
000070: 36 36 2C 23 78 37 37 20 20 20 20 20 20 20 2F 2F 66,#x77 //
000080: 20 6C 64 20 68 2C 28 69 78 2B 31 31 39 29 0D 0A ld h,(ix+119)..
000090: 20 20 20 20 69 6E 6C 69 6E 65 20 23 78 44 44 2C inline #xDD,
0000A0: 23 78 36 45 2C 23 78 37 36 20 20 20 20 20 20 20 #x6E,#x76
0000B0: 2F 2F 20 6C 64 20 6C 2C 28 69 78 2B 31 31 38 29 // ld l,(ix+118)
0000C0: 0D 0A 20 20 20 20 69 6E 6C 69 6E 65 20 23 78 32 .. inline #x2
0000D0: 39 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 9
0000E0: 20 20 2F 2F 20 61 64 64 20 68 6C 2C 68 6C 0D 0A // add hl,hl..
0000F0: 20 20 20 20 69 6E 6C 69 6E 65 20 23 78 35 45 20 inline #x5E
000100: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
000110: 2F 2F 20 6C 64 20 65 2C 28 68 6C 29 0D 0A 20 20 // ld e,(hl)..
000120: 20 20 69 6E 6C 69 6E 65 20 23 78 32 33 20 20 20 inline #x23
000130: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2F 2F //
000140: 20 69 6E 63 20 68 6C 0D 0A 20 20 20 20 69 6E 6C inc hl.. inl
000150: 69 6E 65 20 23 78 35 36 20 20 20 20 20 20 20 20 ine #x56
000160: 20 20 20 20 20 20 20 20 20 2F 2F 20 6C 64 20 64 // ld d
000170: 2C 28 68 6C 29 0D 0A 20 20 20 20 69 6E 6C 69 6E ,(hl).. inlin
000180: 65 20 23 78 44 35 20 20 20 20 20 20 20 20 20 20 e #xD5
000190: 20 20 20 20 20 20 20 2F 2F 20 70 75 73 68 20 64 // push d
0001A0: 65 0D 0A 20 20 20 20 69 6E 6C 69 6E 65 20 23 78 e.. inline #x
0001B0: 44 44 2C 23 78 36 36 2C 23 78 37 39 20 20 20 20 DD,#x66,#x79
0001C0: 20 20 20 2F 2F 20 6C 64 20 68 2C 28 69 78 2B 31 // ld h,(ix+1
0001D0: 32 31 29 0D 0A 20 20 20 20 69 6E 6C 69 6E 65 20 21).. inline
0001E0: 23 78 44 44 2C 23 78 36 45 2C 23 78 37 38 20 20 #xDD,#x6E,#x78
0001F0: 20 20 20 20 20 2F 2F 20 6C 64 20 6C 2C 28 69 78 // ld l,(ix
Size : 512 (Real : 512)
000000: 2B 31 32 30 29 0D 0A 20 20 20 20 69 6E 6C 69 6E +120).. inlin
000010: 65 20 23 78 32 39 20 20 20 20 20 20 20 20 20 20 e #x29
000020: 20 20 20 20 20 20 20 2F 2F 20 61 64 64 20 68 6C // add hl
000030: 2C 68 6C 0D 0A 20 20 20 20 69 6E 6C 69 6E 65 20 ,hl.. inline
000040: 23 78 34 45 20 20 20 20 20 20 20 20 20 20 20 20 #x4E
000050: 20 20 20 20 20 2F 2F 20 6C 64 20 63 2C 28 68 6C // ld c,(hl
000060: 29 0D 0A 20 20 20 20 69 6E 6C 69 6E 65 20 23 78 ).. inline #x
000070: 32 33 20 20 20 20 20 20 20 20 20 20 20 20 20 20 23
000080: 20 20 20 2F 2F 20 69 6E 63 20 68 6C 0D 0A 20 20 // inc hl..
000090: 20 20 69 6E 6C 69 6E 65 20 23 78 34 36 20 20 20 inline #x46
0000A0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2F 2F //
0000B0: 20 6C 64 20 62 2C 28 68 6C 29 0D 0A 20 20 20 20 ld b,(hl)..
0000C0: 69 6E 6C 69 6E 65 20 23 78 44 44 2C 23 78 36 36 inline #xDD,#x66
0000D0: 2C 23 78 37 46 20 20 20 20 20 20 20 2F 2F 20 6C ,#x7F // l
0000E0: 64 20 68 2C 28 69 78 2B 31 32 37 29 0D 0A 20 20 d h,(ix+127)..
0000F0: 20 20 69 6E 6C 69 6E 65 20 23 78 44 44 2C 23 78 inline #xDD,#x
000100: 36 45 2C 23 78 37 45 20 20 20 20 20 20 20 2F 2F 6E,#x7E //
000110: 20 6C 64 20 6C 2C 28 69 78 2B 31 32 36 29 0D 0A ld l,(ix+126)..
000120: 20 20 20 20 69 6E 6C 69 6E 65 20 23 78 32 39 20 inline #x29
000130: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
000140: 2F 2F 20 61 64 64 20 68 6C 2C 68 6C 0D 0A 20 20 // add hl,hl..
000150: 20 20 69 6E 6C 69 6E 65 20 23 78 35 45 20 20 20 inline #x5E
000160: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2F 2F //
000170: 20 6C 64 20 65 2C 28 68 6C 29 0D 0A 20 20 20 20 ld e,(hl)..
000180: 69 6E 6C 69 6E 65 20 23 78 32 33 20 20 20 20 20 inline #x23
000190: 20 20 20 20 20 20 20 20 20 20 20 20 2F 2F 20 69 // i
0001A0: 6E 63 20 68 6C 0D 0A 20 20 20 20 69 6E 6C 69 6E nc hl.. inlin
0001B0: 65 20 23 78 35 36 20 20 20 20 20 20 20 20 20 20 e #x56
0001C0: 20 20 20 20 20 20 20 2F 2F 20 6C 64 20 64 2C 28 // ld d,(
0001D0: 68 6C 29 0D 0A 20 20 20 20 69 6E 6C 69 6E 65 20 hl).. inline
0001E0: 23 78 44 35 20 20 20 20 20 20 20 20 20 20 20 20 #xD5
0001F0: 20 20 20 20 20 2F 2F 20 70 75 73 68 20 64 65 0D // push de.
Size : 512 (Real : 512)
000000: 0A 20 20 20 20 69 6E 6C 69 6E 65 20 23 78 44 44 . inline #xDD
000010: 2C 23 78 36 36 2C 23 78 37 44 20 20 20 20 20 20 ,#x66,#x7D
000020: 20 2F 2F 20 6C 64 20 68 2C 28 69 78 2B 31 32 35 // ld h,(ix+125
000030: 29 0D 0A 20 20 20 20 69 6E 6C 69 6E 65 20 23 78 ).. inline #x
000040: 44 44 2C 23 78 36 45 2C 23 78 37 43 20 20 20 20 DD,#x6E,#x7C
000050: 20 20 20 2F 2F 20 6C 64 20 6C 2C 28 69 78 2B 31 // ld l,(ix+1
000060: 32 34 29 0D 0A 20 20 20 20 69 6E 6C 69 6E 65 20 24).. inline
000070: 23 78 32 39 20 20 20 20 20 20 20 20 20 20 20 20 #x29
000080: 20 20 20 20 20 2F 2F 20 61 64 64 20 68 6C 2C 68 // add hl,h
000090: 6C 0D 0A 20 20 20 20 69 6E 6C 69 6E 65 20 23 78 l.. inline #x
0000A0: 35 45 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5E
0000B0: 20 20 20 2F 2F 20 6C 64 20 65 2C 28 68 6C 29 0D // ld e,(hl).
0000C0: 0A 20 20 20 20 69 6E 6C 69 6E 65 20 23 78 32 33 . inline #x23
0000D0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
0000E0: 20 2F 2F 20 69 6E 63 20 68 6C 0D 0A 20 20 20 20 // inc hl..
0000F0: 69 6E 6C 69 6E 65 20 23 78 35 36 20 20 20 20 20 inline #x56
000100: 20 20 20 20 20 20 20 20 20 20 20 20 2F 2F 20 6C // l
000110: 64 20 64 2C 28 68 6C 29 0D 0A 20 20 20 20 69 6E d d,(hl).. in
000120: 6C 69 6E 65 20 23 78 44 35 20 20 20 20 20 20 20 line #xD5
000130: 20 20 20 20 20 20 20 20 20 20 2F 2F 20 70 75 73 // pus
000140: 68 20 64 65 0D 0A 20 20 20 20 69 6E 6C 69 6E 65 h de.. inline
000150: 20 23 78 44 44 2C 23 78 36 36 2C 23 78 37 42 20 #xDD,#x66,#x7B
000160: 20 20 20 20 20 20 2F 2F 20 6C 64 20 68 2C 28 69 // ld h,(i
000170: 78 2B 31 32 33 29 0D 0A 20 20 20 20 69 6E 6C 69 x+123).. inli
000180: 6E 65 20 23 78 44 44 2C 23 78 36 45 2C 23 78 37 ne #xDD,#x6E,#x7
000190: 41 20 20 20 20 20 20 20 2F 2F 20 6C 64 20 6C 2C A // ld l,
0001A0: 28 69 78 2B 31 32 32 29 0D 0A 20 20 20 20 69 6E (ix+122).. in
0001B0: 6C 69 6E 65 20 23 78 32 39 20 20 20 20 20 20 20 line #x29
0001C0: 20 20 20 20 20 20 20 20 20 20 2F 2F 20 61 64 64 // add
0001D0: 20 68 6C 2C 68 6C 0D 0A 20 20 20 20 69 6E 6C 69 hl,hl.. inli
0001E0: 6E 65 20 23 78 35 45 20 20 20 20 20 20 20 20 20 ne #x5E
0001F0: 20 20 20 20 20 20 20 20 2F 2F 20 6C 64 20 65 2C // ld e,
Size : 512 (Real : 512)
000000: 28 68 6C 29 0D 0A 20 20 20 20 69 6E 6C 69 6E 65 (hl).. inline
000010: 20 23 78 32 33 20 20 20 20 20 20 20 20 20 20 20 #x23
000020: 20 20 20 20 20 20 2F 2F 20 69 6E 63 20 68 6C 0D // inc hl.
000030: 0A 20 20 20 20 69 6E 6C 69 6E 65 20 23 78 35 36 . inline #x56
000040: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
000050: 20 2F 2F 20 6C 64 20 64 2C 28 68 6C 29 0D 0A 20 // ld d,(hl)..
000060: 20 20 20 69 6E 6C 69 6E 65 20 23 78 45 31 20 20 inline #xE1
000070: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2F /
000080: 2F 20 70 6F 70 20 68 6C 0D 0A 20 20 20 20 69 6E / pop hl.. in
000090: 6C 69 6E 65 20 23 78 44 44 2C 23 78 45 31 20 20 line #xDD,#xE1
0000A0: 20 20 20 20 20 20 20 20 20 20 2F 2F 20 70 6F 70 // pop
0000B0: 20 69 78 0D 0A 20 20 20 20 69 6E 6C 69 6E 65 20 ix.. inline
0000C0: 23 78 46 31 20 20 20 20 20 20 20 20 20 20 20 20 #xF1
0000D0: 20 20 20 20 20 2F 2F 20 70 6F 70 20 61 66 0D 0A // pop af..
0000E0: 20 20 20 20 69 6E 6C 69 6E 65 20 23 78 43 44 2C inline #xCD,
0000F0: 23 78 39 30 2C 23 78 30 30 20 20 20 20 20 20 20 #x90,#x00
000100: 2F 2F 20 63 61 6C 6C 20 26 39 30 0D 0A 20 20 20 // call &90..
000110: 20 69 6E 6C 69 6E 65 20 23 78 44 44 2C 23 78 32 inline #xDD,#x2
000120: 32 2C 23 78 39 30 2C 23 78 30 30 20 20 2F 2F 20 2,#x90,#x00 //
000130: 6C 64 20 28 26 39 30 29 2C 69 78 0D 0A 20 20 20 ld (&90),ix..
000140: 20 69 6E 6C 69 6E 65 20 23 78 44 44 2C 23 78 45 inline #xDD,#xE
000150: 31 20 20 20 20 20 20 20 20 20 20 20 20 2F 2F 20 1 //
000160: 70 6F 70 20 69 78 0D 0A 20 20 20 20 69 6E 6C 69 pop ix.. inli
000170: 6E 65 20 23 78 46 35 20 20 20 20 20 20 20 20 20 ne #xF5
000180: 20 20 20 20 20 20 20 20 2F 2F 20 70 75 73 68 20 // push
000190: 61 66 0D 0A 20 20 20 20 69 6E 6C 69 6E 65 20 23 af.. inline #
0001A0: 78 45 35 20 20 20 20 20 20 20 20 20 20 20 20 20 xE5
0001B0: 20 20 20 20 2F 2F 20 70 75 73 68 20 68 6C 0D 0A // push hl..
0001C0: 20 20 20 20 69 6E 6C 69 6E 65 20 23 78 44 44 2C inline #xDD,
0001D0: 23 78 36 36 2C 23 78 37 42 20 20 20 20 20 20 20 #x66,#x7B
0001E0: 2F 2F 20 6C 64 20 68 2C 28 69 78 2B 31 32 33 29 // ld h,(ix+123)
0001F0: 0D 0A 20 20 20 20 69 6E 6C 69 6E 65 20 23 78 44 .. inline #xD
Size : 512 (Real : 512)
000000: 44 2C 23 78 36 45 2C 23 78 37 41 20 20 20 20 20 D,#x6E,#x7A
000010: 20 20 2F 2F 20 6C 64 20 6C 2C 28 69 78 2B 31 32 // ld l,(ix+12
000020: 32 29 0D 0A 20 20 20 20 69 6E 6C 69 6E 65 20 23 2).. inline #
000030: 78 32 39 20 20 20 20 20 20 20 20 20 20 20 20 20 x29
000040: 20 20 20 20 2F 2F 20 61 64 64 20 68 6C 2C 68 6C // add hl,hl
000050: 0D 0A 20 20 20 20 69 6E 6C 69 6E 65 20 23 78 37 .. inline #x7
000060: 33 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3
000070: 20 20 2F 2F 20 6C 64 20 28 68 6C 29 2C 65 0D 0A // ld (hl),e..
000080: 20 20 20 20 69 6E 6C 69 6E 65 20 23 78 32 33 20 inline #x23
000090: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
0000A0: 2F 2F 20 69 6E 63 20 68 6C 0D 0A 20 20 20 20 69 // inc hl.. i
0000B0: 6E 6C 69 6E 65 20 23 78 37 32 20 20 20 20 20 20 nline #x72
0000C0: 20 20 20 20 20 20 20 20 20 20 20 2F 2F 20 6C 64 // ld
0000D0: 20 28 68 6C 29 2C 64 0D 0A 20 20 20 20 69 6E 6C (hl),d.. inl
0000E0: 69 6E 65 20 23 78 44 44 2C 23 78 36 36 2C 23 78 ine #xDD,#x66,#x
0000F0: 37 44 20 20 20 20 20 20 20 2F 2F 20 6C 64 20 68 7D // ld h
000100: 2C 28 69 78 2B 31 32 35 29 0D 0A 20 20 20 20 69 ,(ix+125).. i
000110: 6E 6C 69 6E 65 20 23 78 44 44 2C 23 78 36 45 2C nline #xDD,#x6E,
000120: 23 78 37 43 20 20 20 20 20 20 20 2F 2F 20 6C 64 #x7C // ld
000130: 20 6C 2C 28 69 78 2B 31 32 34 29 0D 0A 20 20 20 l,(ix+124)..
000140: 20 69 6E 6C 69 6E 65 20 23 78 32 39 20 20 20 20 inline #x29
000150: 20 20 20 20 20 20 20 20 20 20 20 20 20 2F 2F 20 //
000160: 61 64 64 20 68 6C 2C 68 6C 0D 0A 20 20 20 20 69 add hl,hl.. i
000170: 6E 6C 69 6E 65 20 23 78 44 31 20 20 20 20 20 20 nline #xD1
000180: 20 20 20 20 20 20 20 20 20 20 20 2F 2F 20 70 6F // po
000190: 70 20 64 65 0D 0A 20 20 20 20 69 6E 6C 69 6E 65 p de.. inline
0001A0: 20 23 78 37 33 20 20 20 20 20 20 20 20 20 20 20 #x73
0001B0: 20 20 20 20 20 20 2F 2F 20 6C 64 20 28 68 6C 29 // ld (hl)
0001C0: 2C 65 0D 0A 20 20 20 20 69 6E 6C 69 6E 65 20 23 ,e.. inline #
0001D0: 78 32 33 20 20 20 20 20 20 20 20 20 20 20 20 20 x23
0001E0: 20 20 20 20 2F 2F 20 69 6E 63 20 68 6C 0D 0A 20 // inc hl..
0001F0: 20 20 20 69 6E 6C 69 6E 65 20 23 78 37 32 20 20 inline #x72
Size : 512 (Real : 512)
000000: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2F /
000010: 2F 20 6C 64 20 28 68 6C 29 2C 64 0D 0A 20 20 20 / ld (hl),d..
000020: 20 69 6E 6C 69 6E 65 20 23 78 44 44 2C 23 78 36 inline #xDD,#x6
000030: 36 2C 23 78 37 46 20 20 20 20 20 20 20 2F 2F 20 6,#x7F //
000040: 6C 64 20 68 2C 28 69 78 2B 31 32 37 29 0D 0A 20 ld h,(ix+127)..
000050: 20 20 20 69 6E 6C 69 6E 65 20 23 78 44 44 2C 23 inline #xDD,#
000060: 78 36 45 2C 23 78 37 45 20 20 20 20 20 20 20 2F x6E,#x7E /
000070: 2F 20 6C 64 20 6C 2C 28 69 78 2B 31 32 36 29 0D / ld l,(ix+126).
000080: 0A 20 20 20 20 69 6E 6C 69 6E 65 20 23 78 32 39 . inline #x29
000090: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
0000A0: 20 2F 2F 20 61 64 64 20 68 6C 2C 68 6C 0D 0A 20 // add hl,hl..
0000B0: 20 20 20 69 6E 6C 69 6E 65 20 23 78 45 44 2C 23 inline #xED,#
0000C0: 78 35 42 2C 23 78 39 30 2C 23 78 30 30 20 20 2F x5B,#x90,#x00 /
0000D0: 2F 20 6C 64 20 64 65 2C 28 26 39 30 29 0D 0A 20 / ld de,(&90)..
0000E0: 20 20 20 69 6E 6C 69 6E 65 20 23 78 37 33 20 20 inline #x73
0000F0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2F /
000100: 2F 20 6C 64 20 28 68 6C 29 2C 65 0D 0A 20 20 20 / ld (hl),e..
000110: 20 69 6E 6C 69 6E 65 20 23 78 32 33 20 20 20 20 inline #x23
000120: 20 20 20 20 20 20 20 20 20 20 20 20 20 2F 2F 20 //
000130: 69 6E 63 20 68 6C 0D 0A 20 20 20 20 69 6E 6C 69 inc hl.. inli
000140: 6E 65 20 23 78 37 32 20 20 20 20 20 20 20 20 20 ne #x72
000150: 20 20 20 20 20 20 20 20 2F 2F 20 6C 64 20 28 68 // ld (h
000160: 6C 29 2C 64 0D 0A 20 20 20 20 69 6E 6C 69 6E 65 l),d.. inline
000170: 20 23 78 44 44 2C 23 78 36 36 2C 23 78 37 39 20 #xDD,#x66,#x79
000180: 20 20 20 20 20 20 2F 2F 20 6C 64 20 68 2C 28 69 // ld h,(i
000190: 78 2B 31 32 31 29 0D 0A 20 20 20 20 69 6E 6C 69 x+121).. inli
0001A0: 6E 65 20 23 78 44 44 2C 23 78 36 45 2C 23 78 37 ne #xDD,#x6E,#x7
0001B0: 38 20 20 20 20 20 20 20 2F 2F 20 6C 64 20 6C 2C 8 // ld l,
0001C0: 28 69 78 2B 31 32 30 29 0D 0A 20 20 20 20 69 6E (ix+120).. in
0001D0: 6C 69 6E 65 20 23 78 32 39 20 20 20 20 20 20 20 line #x29
0001E0: 20 20 20 20 20 20 20 20 20 20 2F 2F 20 61 64 64 // add
0001F0: 20 68 6C 2C 68 6C 0D 0A 20 20 20 20 69 6E 6C 69 hl,hl.. inli
Size : 512 (Real : 512)
000000: 6E 65 20 23 78 37 31 20 20 20 20 20 20 20 20 20 ne #x71
000010: 20 20 20 20 20 20 20 20 2F 2F 20 6C 64 20 28 68 // ld (h
000020: 6C 29 2C 63 0D 0A 20 20 20 20 69 6E 6C 69 6E 65 l),c.. inline
000030: 20 23 78 32 33 20 20 20 20 20 20 20 20 20 20 20 #x23
000040: 20 20 20 20 20 20 2F 2F 20 69 6E 63 20 68 6C 0D // inc hl.
000050: 0A 20 20 20 20 69 6E 6C 69 6E 65 20 23 78 37 30 . inline #x70
000060: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
000070: 20 2F 2F 20 6C 64 20 28 68 6C 29 2C 62 0D 0A 20 // ld (hl),b..
000080: 20 20 20 69 6E 6C 69 6E 65 20 23 78 44 44 2C 23 inline #xDD,#
000090: 78 36 36 2C 23 78 37 37 20 20 20 20 20 20 20 2F x66,#x77 /
0000A0: 2F 20 6C 64 20 68 2C 28 69 78 2B 31 31 39 29 0D / ld h,(ix+119).
0000B0: 0A 20 20 20 20 69 6E 6C 69 6E 65 20 23 78 44 44 . inline #xDD
0000C0: 2C 23 78 36 45 2C 23 78 37 36 20 20 20 20 20 20 ,#x6E,#x76
0000D0: 20 2F 2F 20 6C 64 20 6C 2C 28 69 78 2B 31 31 38 // ld l,(ix+118
0000E0: 29 0D 0A 20 20 20 20 69 6E 6C 69 6E 65 20 23 78 ).. inline #x
0000F0: 32 39 20 20 20 20 20 20 20 20 20 20 20 20 20 20 29
000100: 20 20 20 2F 2F 20 61 64 64 20 68 6C 2C 68 6C 0D // add hl,hl.
000110: 0A 20 20 20 20 69 6E 6C 69 6E 65 20 23 78 44 31 . inline #xD1
000120: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
000130: 20 2F 2F 20 70 6F 70 20 64 65 0D 0A 20 20 20 20 // pop de..
000140: 69 6E 6C 69 6E 65 20 23 78 37 33 20 20 20 20 20 inline #x73
000150: 20 20 20 20 20 20 20 20 20 20 20 20 2F 2F 20 6C // l
000160: 64 20 28 68 6C 29 2C 65 0D 0A 20 20 20 20 69 6E d (hl),e.. in
000170: 6C 69 6E 65 20 23 78 32 33 20 20 20 20 20 20 20 line #x23
000180: 20 20 20 20 20 20 20 20 20 20 2F 2F 20 69 6E 63 // inc
000190: 20 68 6C 0D 0A 20 20 20 20 69 6E 6C 69 6E 65 20 hl.. inline
0001A0: 23 78 37 32 20 20 20 20 20 20 20 20 20 20 20 20 #x72
0001B0: 20 20 20 20 20 2F 2F 20 6C 64 20 28 68 6C 29 2C // ld (hl),
0001C0: 64 0D 0A 20 20 20 20 62 79 74 65 6D 6F 76 65 28 d.. bytemove(
0001D0: 73 61 76 65 33 2A 32 2C 20 23 78 39 30 2C 20 33 save3*2, #x90, 3
0001E0: 29 0D 0A 24 29 0D 0A 0D 0A 4C 45 54 20 66 69 72 )..$)....LET fir
0001F0: 6D 77 61 72 65 28 61 64 64 72 2C 61 66 2C 62 63 mware(addr,af,bc
Size : 512 (Real : 512)
000000: 2C 64 65 2C 68 6C 2C 69 78 29 20 42 45 0D 0A 0D ,de,hl,ix) BE...
000010: 0A 24 28 20 20 4C 45 54 20 73 61 76 65 36 20 3D .$( LET save6 =
000020: 20 56 45 43 20 33 0D 0A 20 20 20 20 62 79 74 65 VEC 3.. byte
000030: 6D 6F 76 65 28 23 78 38 30 2C 20 73 61 76 65 36 move(#x80, save6
000040: 2A 32 2C 20 36 29 0D 0A 20 20 20 20 30 25 23 78 *2, 6).. 0%#x
000050: 38 30 20 3A 3D 20 23 78 43 44 0D 0A 20 20 20 20 80 := #xCD..
000060: 30 25 23 78 38 31 20 3A 3D 20 30 25 28 30 25 31 0%#x81 := 0%(0%1
000070: 20 2B 20 32 35 36 2A 30 25 32 20 2B 20 38 37 20 + 256*0%2 + 87
000080: 2B 31 29 0D 0A 20 20 20 20 30 25 23 78 38 32 20 +1).. 0%#x82
000090: 3A 3D 20 30 25 28 30 25 31 20 2B 20 32 35 36 2A := 0%(0%1 + 256*
0000A0: 30 25 32 20 2B 20 38 37 20 2B 32 29 0D 0A 20 20 0%2 + 87 +2)..
0000B0: 20 20 30 25 23 78 38 33 20 3A 3D 20 61 64 64 72 0%#x83 := addr
0000C0: 20 26 20 23 78 46 46 0D 0A 20 20 20 20 30 25 23 & #xFF.. 0%#
0000D0: 78 38 34 20 3A 3D 20 28 20 61 64 64 72 20 26 20 x84 := ( addr &
0000E0: 23 78 46 46 30 30 20 29 20 3E 3E 20 38 0D 0A 20 #xFF00 ) >> 8..
0000F0: 20 20 20 30 25 23 78 38 35 20 3A 3D 20 23 78 43 0%#x85 := #xC
000100: 39 0D 0A 20 20 20 20 63 61 6C 6C 20 28 23 78 38 9.. call (#x8
000110: 30 2C 61 66 2C 62 63 2C 64 65 2C 68 6C 2C 69 78 0,af,bc,de,hl,ix
000120: 29 0D 0A 20 20 20 20 62 79 74 65 6D 6F 76 65 28 ).. bytemove(
000130: 73 61 76 65 36 2A 32 2C 20 23 78 38 30 2C 20 36 save6*2, #x80, 6
000140: 29 0D 0A 24 29 0D 0A 0D 0A 61 6E 64 20 76 65 72 )..$)....and ver
000150: 73 69 6F 6E 28 29 20 3D 20 56 41 4C 4F 46 0D 0A sion() = VALOF..
000160: 0D 0A 24 28 20 20 4C 45 54 20 63 2C 64 65 3D 31 ..$( LET c,de=1
000170: 32 2C 3F 0D 0A 20 20 20 20 4C 45 54 20 61 66 2C 2,?.. LET af,
000180: 62 63 2C 68 6C 2C 69 78 20 3D 20 3F 2C 3F 2C 3F bc,hl,ix = ?,?,?
000190: 2C 3F 0D 0A 20 20 20 20 62 64 6F 73 61 28 40 63 ,?.. bdosa(@c
0001A0: 2C 40 64 65 29 0D 0A 20 20 20 20 49 46 20 28 64 ,@de).. IF (d
0001B0: 65 20 26 20 23 78 46 46 29 20 3C 20 23 78 33 30 e & #xFF) < #x30
0001C0: 20 54 48 45 4E 20 52 45 53 55 4C 54 49 53 20 32 THEN RESULTIS 2
0001D0: 0D 0A 20 20 20 20 66 69 72 6D 77 61 72 65 28 23 .. firmware(#
0001E0: 78 45 33 2C 40 61 66 2C 40 62 63 2C 40 64 65 2C xE3,@af,@bc,@de,
0001F0: 40 68 6C 2C 40 69 78 29 0D 0A 20 20 20 20 52 45 @hl,@ix).. RE
Size : 512 (Real : 512)
000000: 53 55 4C 54 49 53 20 33 20 2B 20 28 20 28 61 66 SULTIS 3 + ( (af
000010: 20 26 20 23 78 46 46 30 30 29 20 3E 3E 20 38 20 & #xFF00) >> 8
000020: 29 0D 0A 24 29 0D 0A 0D 0A 4C 45 54 20 65 73 63 )..$)....LET esc
000030: 63 6F 64 65 28 78 29 20 42 45 0D 0A 0D 0A 24 28 code(x) BE....$(
000040: 20 20 77 72 63 68 28 32 37 29 20 3B 20 77 72 63 wrch(27) ; wrc
000050: 68 28 78 29 0D 0A 24 29 0D 0A 0D 0A 0D 0A 4C 45 h(x)..$)......LE
000060: 54 20 63 6C 65 61 72 73 63 72 28 29 20 42 45 0D T clearscr() BE.
000070: 0A 24 28 0D 0A 20 20 20 20 54 45 53 54 20 76 65 .$(.. TEST ve
000080: 72 3D 32 20 54 48 45 4E 20 77 72 63 68 28 31 32 r=2 THEN wrch(12
000090: 29 20 45 4C 53 45 20 65 73 63 63 6F 64 65 28 27 ) ELSE esccode('
0000A0: 45 27 29 0D 0A 24 29 0D 0A 0D 0A 0D 0A 4C 45 54 E')..$)......LET
0000B0: 20 74 61 62 28 78 2C 79 29 20 42 45 0D 0A 0D 0A tab(x,y) BE....
0000C0: 24 28 0D 0A 0D 0A 20 20 54 45 53 54 20 76 65 72 $(.... TEST ver
0000D0: 3D 32 20 54 48 45 4E 0D 0A 20 20 24 28 0D 0A 20 =2 THEN.. $(..
0000E0: 20 20 20 62 64 6F 73 62 28 36 2C 33 31 29 20 3B bdosb(6,31) ;
0000F0: 20 62 64 6F 73 62 28 36 2C 78 29 20 3B 20 62 64 bdosb(6,x) ; bd
000100: 6F 73 62 28 36 2C 79 29 0D 0A 20 20 24 29 0D 0A osb(6,y).. $)..
000110: 20 20 45 4C 53 45 0D 0A 20 20 24 28 0D 0A 20 20 ELSE.. $(..
000120: 20 20 20 65 73 63 63 6F 64 65 28 27 59 27 29 20 esccode('Y')
000130: 3B 20 77 72 63 68 28 79 2B 33 32 2D 31 29 20 3B ; wrch(y+32-1) ;
000140: 20 77 72 63 68 28 78 2B 33 32 2D 31 29 0D 0A 20 wrch(x+32-1)..
000150: 20 24 29 0D 0A 0D 0A 24 29 0D 0A 0D 0A 0D 0A 4C $)....$)......L
000160: 45 54 20 73 70 61 63 65 73 28 6E 75 6D 62 65 72 ET spaces(number
000170: 29 20 42 45 20 24 28 20 46 4F 52 20 61 20 3D 20 ) BE $( FOR a =
000180: 31 20 54 4F 20 6E 75 6D 62 65 72 20 44 4F 20 77 1 TO number DO w
000190: 72 63 68 28 27 20 27 29 20 24 29 0D 0A 0D 0A 0D rch(' ') $).....
0001A0: 0A 4C 45 54 20 61 73 63 69 69 28 63 68 61 72 29 .LET ascii(char)
0001B0: 20 42 45 0D 0A 0D 0A 24 28 0D 0A 20 20 54 45 53 BE....$(.. TES
0001C0: 54 20 63 68 61 72 3D 31 33 20 54 48 45 4E 20 6E T char=13 THEN n
0001D0: 65 77 6C 69 6E 65 28 29 20 45 4C 53 45 20 77 72 ewline() ELSE wr
0001E0: 63 68 28 63 68 61 72 29 0D 0A 24 29 0D 0A 0D 0A ch(char)..$)....
0001F0: 0D 0A 4C 45 54 20 63 75 72 73 6F 6E 28 29 20 42 ..LET curson() B
Size : 512 (Real : 512)
000000: 45 20 72 65 74 75 72 6E 0D 0A 4C 45 54 20 63 75 E return..LET cu
000010: 72 73 65 6E 28 29 20 42 45 20 72 65 74 75 72 6E rsen() BE return
000020: 0D 0A 4C 45 54 20 63 75 72 73 64 69 28 29 20 42 ..LET cursdi() B
000030: 45 20 72 65 74 75 72 6E 0D 0A 0D 0A 4C 45 54 20 E return....LET
000040: 62 65 65 70 28 29 20 42 45 20 24 28 20 77 72 63 beep() BE $( wrc
000050: 68 28 37 29 20 24 29 0D 0A 0D 0A 0D 0A 2F 2A 20 h(7) $)....../*
000060: 54 68 69 73 20 72 6F 75 74 69 6E 65 20 72 65 74 This routine ret
000070: 75 72 6E 73 20 74 68 65 20 6E 75 6D 62 65 72 20 urns the number
000080: 6F 66 20 63 68 61 72 61 63 74 65 72 73 20 75 70 of characters up
000090: 20 74 6F 20 61 6E 64 20 69 6E 63 6C 75 64 69 6E to and includin
0000A0: 67 20 74 68 65 0D 0A 20 20 20 6E 65 78 74 20 43 g the.. next C
0000B0: 52 20 2A 2F 0D 0A 0D 0A 4C 45 54 20 6C 69 6E 65 R */....LET line
0000C0: 6C 65 6E 67 74 68 28 66 72 6F 6D 29 20 3D 20 56 length(from) = V
0000D0: 41 4C 4F 46 0D 0A 0D 0A 24 28 0D 0A 20 20 4C 45 ALOF....$(.. LE
0000E0: 54 20 73 6F 66 61 72 20 3D 20 31 0D 0A 20 20 57 T sofar = 1.. W
0000F0: 48 49 4C 45 20 21 66 72 6F 6D 20 4E 45 20 31 33 HILE !from NE 13
000100: 20 44 4F 20 24 28 20 73 6F 66 61 72 20 3A 3D 20 DO $( sofar :=
000110: 73 6F 66 61 72 20 2B 20 31 20 3B 20 66 72 6F 6D sofar + 1 ; from
000120: 20 3A 3D 20 66 72 6F 6D 20 2B 20 31 20 24 29 0D := from + 1 $).
000130: 0A 20 20 52 45 53 55 4C 54 49 53 20 73 6F 66 61 . RESULTIS sofa
000140: 72 0D 0A 24 29 0D 0A 0D 0A 0D 0A 0D 0A 2F 2A 20 r..$)......../*
000150: 54 68 69 73 20 72 6F 75 74 69 6E 65 20 77 69 6C This routine wil
000160: 6C 20 70 72 69 6E 74 20 6E 75 6D 20 63 68 61 72 l print num char
000170: 61 63 74 65 72 73 20 6F 66 20 6C 69 6E 65 20 61 acters of line a
000180: 6E 64 20 74 68 65 6E 20 66 69 6C 6C 20 74 68 65 nd then fill the
000190: 20 72 65 73 74 20 6F 66 20 74 68 65 0D 0A 20 20 rest of the..
0001A0: 20 6C 69 6E 65 20 77 69 74 68 20 73 70 61 63 65 line with space
0001B0: 73 20 2A 2F 0D 0A 0D 0A 41 4E 44 20 70 72 69 6E s */....AND prin
0001C0: 74 63 6C 72 28 6C 69 6E 65 2C 6E 75 6D 29 20 42 tclr(line,num) B
0001D0: 45 0D 0A 0D 0A 24 28 0D 0A 20 20 46 4F 52 20 61 E....$(.. FOR a
0001E0: 20 3D 20 30 20 54 4F 20 6E 75 6D 2D 31 20 44 4F = 0 TO num-1 DO
0001F0: 20 77 72 63 68 28 6C 69 6E 65 21 61 29 0D 0A 20 wrch(line!a)..
Size : 512 (Real : 512)
000000: 20 73 70 61 63 65 73 28 37 39 2D 6E 75 6D 29 0D spaces(79-num).
000010: 0A 24 29 0D 0A 0D 0A 0D 0A 2F 2A 20 54 68 69 73 .$)....../* This
000020: 20 72 6F 75 74 69 6E 65 20 77 69 6C 6C 20 70 72 routine will pr
000030: 69 6E 74 20 65 69 74 68 65 72 20 74 68 65 20 77 int either the w
000040: 68 6F 6C 65 20 62 75 66 66 65 72 20 66 72 6F 6D hole buffer from
000050: 20 78 20 6F 6E 20 6F 72 20 6A 75 73 74 20 74 68 x on or just th
000060: 65 20 6E 65 77 0D 0A 20 20 20 63 68 61 72 61 63 e new.. charac
000070: 74 65 72 20 2A 2F 0D 0A 0D 0A 41 4E 44 20 72 65 ter */....AND re
000080: 70 72 69 6E 74 28 6C 69 6E 65 2C 70 6F 73 29 20 print(line,pos)
000090: 42 45 0D 0A 0D 0A 24 28 0D 0A 20 20 54 45 53 54 BE....$(.. TEST
0000A0: 20 69 6E 73 65 72 74 20 54 48 45 4E 20 46 4F 52 insert THEN FOR
0000B0: 20 61 20 3D 20 70 6F 73 20 54 4F 20 6C 69 6E 65 a = pos TO line
0000C0: 21 30 2D 31 20 44 4F 20 77 72 63 68 28 6C 69 6E !0-1 DO wrch(lin
0000D0: 65 21 61 29 0D 0A 20 20 45 4C 53 45 20 77 72 63 e!a).. ELSE wrc
0000E0: 68 28 6C 69 6E 65 21 70 6F 73 29 0D 0A 24 29 0D h(line!pos)..$).
0000F0: 0A 0D 0A 0D 0A 0D 0A 2F 2A 20 54 68 69 73 20 72 ......./* This r
000100: 6F 75 74 69 6E 65 20 77 69 6C 6C 20 72 65 6D 6F outine will remo
000110: 76 65 20 61 20 63 68 61 72 61 63 74 65 72 20 66 ve a character f
000120: 72 6F 6D 20 74 68 65 20 62 75 66 66 65 72 20 2A rom the buffer *
000130: 2F 0D 0A 0D 0A 41 4E 44 20 64 65 6C 65 74 65 28 /....AND delete(
000140: 6C 69 6E 65 2C 78 29 20 42 45 0D 0A 0D 0A 24 28 line,x) BE....$(
000150: 0D 0A 20 20 54 45 53 54 20 69 6E 73 65 72 74 20 .. TEST insert
000160: 54 48 45 4E 0D 0A 20 20 24 28 0D 0A 20 20 20 20 THEN.. $(..
000170: 6C 69 6E 65 21 30 20 3A 3D 20 6C 69 6E 65 21 30 line!0 := line!0
000180: 20 2D 20 31 0D 0A 20 20 20 20 46 4F 52 20 61 20 - 1.. FOR a
000190: 3D 20 78 20 54 4F 20 6C 69 6E 65 21 30 20 44 4F = x TO line!0 DO
0001A0: 20 6C 69 6E 65 21 61 20 3A 3D 20 6C 69 6E 65 21 line!a := line!
0001B0: 28 61 2B 31 29 0D 0A 20 20 24 29 0D 0A 20 20 45 (a+1).. $).. E
0001C0: 4C 53 45 20 6C 69 6E 65 21 78 20 3A 3D 20 27 20 LSE line!x := '
0001D0: 27 0D 0A 24 29 0D 0A 0D 0A 0D 0A 2F 2A 20 54 68 '..$)....../* Th
0001E0: 69 73 20 72 6F 75 74 69 6E 65 20 77 69 6C 6C 20 is routine will
0001F0: 69 6E 73 65 72 74 20 61 20 63 68 61 72 61 63 74 insert a charact
Size : 512 (Real : 512)
000000: 65 72 20 69 6E 74 6F 20 74 68 65 20 62 75 66 66 er into the buff
000010: 65 72 20 61 74 20 74 68 65 20 70 6F 69 6E 74 20 er at the point
000020: 67 69 76 65 6E 20 2A 2F 0D 0A 0D 0A 41 4E 44 20 given */....AND
000030: 62 69 6E 73 65 72 74 28 6C 69 6E 65 2C 70 6F 73 binsert(line,pos
000040: 69 74 69 6F 6E 2C 63 68 61 72 61 63 74 65 72 29 ition,character)
000050: 20 42 45 0D 0A 0D 0A 24 28 0D 0A 20 20 54 45 53 BE....$(.. TES
000060: 54 20 69 6E 73 65 72 74 20 54 48 45 4E 0D 0A 20 T insert THEN..
000070: 20 24 28 0D 0A 20 20 20 20 46 4F 52 20 61 20 3D $(.. FOR a =
000080: 20 6C 69 6E 65 21 30 20 54 4F 20 70 6F 73 69 74 line!0 TO posit
000090: 69 6F 6E 20 42 59 20 2D 31 20 6C 69 6E 65 21 28 ion BY -1 line!(
0000A0: 61 2B 31 29 20 3A 3D 20 6C 69 6E 65 21 61 0D 0A a+1) := line!a..
0000B0: 20 20 20 20 6C 69 6E 65 21 70 6F 73 69 74 69 6F line!positio
0000C0: 6E 20 3A 3D 20 63 68 61 72 61 63 74 65 72 0D 0A n := character..
0000D0: 20 20 20 20 6C 69 6E 65 21 30 20 3A 3D 20 6C 69 line!0 := li
0000E0: 6E 65 21 30 20 2B 20 31 0D 0A 20 20 24 29 0D 0A ne!0 + 1.. $)..
0000F0: 20 20 45 4C 53 45 20 6C 69 6E 65 21 70 6F 73 69 ELSE line!posi
000100: 74 69 6F 6E 20 3A 3D 20 63 68 61 72 61 63 74 65 tion := characte
000110: 72 0D 0A 24 29 0D 0A 0D 0A 0D 0A 41 4E 44 20 76 r..$)......AND v
000120: 61 6C 69 64 61 74 65 28 6C 69 6E 65 2C 78 29 20 alidate(line,x)
000130: 3D 20 56 41 4C 4F 46 0D 0A 0D 0A 24 28 0D 0A 20 = VALOF....$(..
000140: 20 49 46 20 78 20 3C 3D 20 6C 69 6E 65 21 30 20 IF x <= line!0
000150: 54 48 45 4E 20 52 45 53 55 4C 54 49 53 20 78 0D THEN RESULTIS x.
000160: 0A 20 20 74 61 62 28 6C 69 6E 65 21 30 2C 79 29 . tab(line!0,y)
000170: 0D 0A 20 20 52 45 53 55 4C 54 49 53 20 6C 69 6E .. RESULTIS lin
000180: 65 21 30 0D 0A 24 29 0D 0A 0D 0A 0D 0A 0D 0A 2F e!0..$)......../
000190: 2A 0D 0A 0D 0A 20 20 54 68 65 20 6C 69 6E 65 20 *.... The line
0001A0: 67 69 76 65 6E 20 69 73 20 69 6E 20 62 75 66 66 given is in buff
0001B0: 65 72 20 69 6E 20 74 68 65 20 66 6F 6C 6C 6F 77 er in the follow
0001C0: 69 6E 67 20 66 6F 72 6D 61 74 0D 0A 0D 0A 20 20 ing format....
0001D0: 20 30 3A 20 6C 65 6E 67 74 68 0D 0A 20 20 20 31 0: length.. 1
0001E0: 2D 20 73 74 72 69 6E 67 20 69 6E 20 75 6E 70 61 - string in unpa
0001F0: 63 6B 65 64 20 66 6F 72 6D 61 74 20 66 6F 6C 6C cked format foll
Size : 512 (Real : 512)
000000: 6F 77 65 64 20 62 79 20 31 33 0D 0A 0D 0A 20 20 owed by 13....
000010: 54 68 65 20 72 6F 75 74 69 6E 65 20 72 65 61 63 The routine reac
000020: 74 73 20 74 6F 20 6B 65 79 20 61 6E 64 20 74 61 ts to key and ta
000030: 6B 65 73 20 74 68 65 20 61 70 70 72 6F 70 72 69 kes the appropri
000040: 61 74 65 20 61 63 74 69 6F 6E 0D 0A 0D 0A 2A 2F ate action....*/
000050: 0D 0A 0D 0A 41 4E 44 20 62 75 69 6C 64 62 75 66 ....AND buildbuf
000060: 66 28 62 75 66 66 65 72 2C 6B 65 79 29 20 3D 20 f(buffer,key) =
000070: 56 41 4C 4F 46 0D 0A 0D 0A 24 28 0D 0A 20 20 74 VALOF....$(.. t
000080: 61 62 28 78 2C 79 29 0D 0A 20 20 53 57 49 54 43 ab(x,y).. SWITC
000090: 48 4F 4E 20 6B 65 79 20 49 4E 54 4F 0D 0A 20 20 HON key INTO..
0000A0: 24 28 0D 0A 20 20 20 20 43 41 53 45 20 31 33 3A $(.. CASE 13:
0000B0: 0D 0A 20 20 20 20 20 20 78 20 3A 3D 20 76 61 6C .. x := val
0000C0: 69 64 61 74 65 28 62 75 66 66 65 72 2C 78 29 0D idate(buffer,x).
0000D0: 0A 20 20 20 20 20 20 62 69 6E 73 65 72 74 28 62 . binsert(b
0000E0: 75 66 66 65 72 2C 78 2C 31 33 29 0D 0A 20 20 20 uffer,x,13)..
0000F0: 20 20 20 77 72 63 68 28 31 33 29 0D 0A 20 20 20 wrch(13)..
000100: 20 20 20 70 72 69 6E 74 63 6C 72 28 62 75 66 66 printclr(buff
000110: 65 72 2B 31 2C 6C 69 6E 65 6C 65 6E 67 74 68 28 er+1,linelength(
000120: 62 75 66 66 65 72 2B 31 29 2D 31 29 20 3B 20 52 buffer+1)-1) ; R
000130: 45 53 55 4C 54 49 53 20 31 33 0D 0A 20 20 20 20 ESULTIS 13..
000140: 43 41 53 45 20 63 75 72 73 6C 65 66 74 3A 20 43 CASE cursleft: C
000150: 41 53 45 20 73 63 75 72 73 6C 65 66 74 3A 0D 0A ASE scursleft:..
000160: 20 20 20 20 20 20 54 45 53 54 20 78 3E 31 20 54 TEST x>1 T
000170: 48 45 4E 0D 0A 20 20 20 20 20 20 20 20 78 20 3A HEN.. x :
000180: 3D 20 78 20 2D 20 31 0D 0A 20 20 20 20 20 20 45 = x - 1.. E
000190: 4C 53 45 20 62 65 65 70 28 29 0D 0A 20 20 20 20 LSE beep()..
0001A0: 20 20 45 4E 44 43 41 53 45 0D 0A 20 20 20 20 43 ENDCASE.. C
0001B0: 41 53 45 20 63 75 72 73 72 69 67 68 74 3A 20 43 ASE cursright: C
0001C0: 41 53 45 20 73 63 75 72 73 72 69 67 68 74 3A 0D ASE scursright:.
0001D0: 0A 20 20 20 20 20 20 54 45 53 54 20 78 20 3C 3D . TEST x <=
0001E0: 20 62 75 66 66 65 72 21 30 2D 31 20 54 48 45 4E buffer!0-1 THEN
0001F0: 0D 0A 20 20 20 20 20 20 20 20 78 20 3A 3D 20 78 .. x := x
Size : 512 (Real : 512)
000000: 20 2B 20 31 0D 0A 20 20 20 20 20 20 45 4C 53 45 + 1.. ELSE
000010: 20 62 65 65 70 28 29 0D 0A 20 20 20 20 20 20 45 beep().. E
000020: 4E 44 43 41 53 45 0D 0A 20 20 20 20 43 41 53 45 NDCASE.. CASE
000030: 20 63 63 75 72 73 6C 65 66 74 3A 20 20 78 20 3A ccursleft: x :
000040: 3D 20 31 20 3B 20 45 4E 44 43 41 53 45 0D 0A 20 = 1 ; ENDCASE..
000050: 20 20 20 43 41 53 45 20 63 63 75 72 73 72 69 67 CASE ccursrig
000060: 68 74 3A 20 78 20 3A 3D 20 62 75 66 66 65 72 21 ht: x := buffer!
000070: 30 20 3B 20 45 4E 44 43 41 53 45 0D 0A 20 20 20 0 ; ENDCASE..
000080: 20 43 41 53 45 20 73 63 75 72 73 75 70 3A 20 43 CASE scursup: C
000090: 41 53 45 20 73 63 75 72 73 64 6F 77 6E 3A 0D 0A ASE scursdown:..
0000A0: 20 20 20 20 43 41 53 45 20 63 63 75 72 73 75 70 CASE ccursup
0000B0: 3A 20 43 41 53 45 20 63 63 75 72 73 64 6F 77 6E : CASE ccursdown
0000C0: 3A 0D 0A 20 20 20 20 43 41 53 45 20 63 6F 70 65 :.. CASE cope
0000D0: 6E 73 71 3A 20 43 41 53 45 20 63 63 6C 6F 73 65 nsq: CASE cclose
0000E0: 73 71 3A 0D 0A 20 20 20 20 43 41 53 45 20 65 73 sq:.. CASE es
0000F0: 63 61 70 65 3A 20 43 41 53 45 20 73 74 6F 70 3A cape: CASE stop:
000100: 20 43 41 53 45 20 63 75 72 73 75 70 3A 20 43 41 CASE cursup: CA
000110: 53 45 20 63 75 72 73 64 6F 77 6E 3A 20 52 45 53 SE cursdown: RES
000120: 55 4C 54 49 53 20 6B 65 79 0D 0A 20 20 20 20 43 ULTIS key.. C
000130: 41 53 45 20 31 32 37 3A 0D 0A 20 20 20 20 20 20 ASE 127:..
000140: 78 20 3A 3D 20 76 61 6C 69 64 61 74 65 28 62 75 x := validate(bu
000150: 66 66 65 72 2C 78 29 0D 0A 20 20 20 20 20 20 49 ffer,x).. I
000160: 46 20 78 20 3D 20 31 20 54 48 45 4E 20 52 45 53 F x = 1 THEN RES
000170: 55 4C 54 49 53 20 31 32 37 0D 0A 20 20 20 20 20 ULTIS 127..
000180: 20 78 20 3A 3D 20 78 20 2D 20 31 0D 0A 20 20 20 x := x - 1..
000190: 20 20 20 74 61 62 28 78 2C 79 29 0D 0A 20 20 20 tab(x,y)..
0001A0: 20 20 20 64 65 6C 65 74 65 28 62 75 66 66 65 72 delete(buffer
0001B0: 2C 78 29 0D 0A 20 20 20 20 20 20 72 65 70 72 69 ,x).. repri
0001C0: 6E 74 28 62 75 66 66 65 72 2C 78 29 0D 0A 20 20 nt(buffer,x)..
0001D0: 20 20 20 20 49 46 20 69 6E 73 65 72 74 20 54 48 IF insert TH
0001E0: 45 4E 20 77 72 63 68 28 27 20 27 29 0D 0A 20 20 EN wrch(' ')..
0001F0: 20 20 20 20 45 4E 44 43 41 53 45 0D 0A 20 20 20 ENDCASE..
Size : 512 (Real : 512)
000000: 20 44 45 46 41 55 4C 54 3A 0D 0A 20 20 20 20 20 DEFAULT:..
000010: 20 78 20 3A 3D 20 76 61 6C 69 64 61 74 65 28 62 x := validate(b
000020: 75 66 66 65 72 2C 78 29 0D 0A 20 20 20 20 20 20 uffer,x)..
000030: 54 45 53 54 20 62 75 66 66 65 72 21 30 20 3C 20 TEST buffer!0 <
000040: 38 30 20 54 48 45 4E 0D 0A 20 20 20 20 20 20 24 80 THEN.. $
000050: 28 0D 0A 20 20 20 20 20 20 20 20 62 69 6E 73 65 (.. binse
000060: 72 74 28 62 75 66 66 65 72 2C 78 2C 6B 65 79 29 rt(buffer,x,key)
000070: 0D 0A 20 20 20 20 20 20 20 20 72 65 70 72 69 6E .. reprin
000080: 74 28 62 75 66 66 65 72 2C 78 29 0D 0A 20 20 20 t(buffer,x)..
000090: 20 20 20 20 20 49 46 20 69 6E 73 65 72 74 20 4C IF insert L
0000A0: 4F 47 4F 52 20 78 3C 62 75 66 66 65 72 21 30 20 OGOR x<buffer!0
0000B0: 54 48 45 4E 20 78 20 3A 3D 20 78 20 2B 20 31 0D THEN x := x + 1.
0000C0: 0A 20 20 20 20 20 20 24 29 0D 0A 20 20 20 20 20 . $)..
0000D0: 20 45 4C 53 45 20 62 65 65 70 28 29 0D 0A 20 20 ELSE beep()..
0000E0: 20 20 20 20 45 4E 44 43 41 53 45 20 3B 0D 0A 20 ENDCASE ;..
0000F0: 20 20 20 43 41 53 45 20 69 67 6E 6F 72 65 3A 0D CASE ignore:.
000100: 0A 20 20 24 29 0D 0A 20 20 52 45 53 55 4C 54 49 . $).. RESULTI
000110: 53 20 46 41 4C 53 45 0D 0A 24 29 0D 0A 0D 0A 0D S FALSE..$).....
000120: 0A 0D 0A 2F 2A 20 54 68 69 73 20 69 73 20 74 68 .../* This is th
000130: 65 20 62 75 66 66 65 72 20 65 64 69 74 20 72 6F e buffer edit ro
000140: 75 74 69 6E 65 20 2A 2F 0D 0A 0D 0A 4C 45 54 20 utine */....LET
000150: 62 75 66 66 65 72 28 6C 69 6E 65 29 20 3D 20 56 buffer(line) = V
000160: 41 4C 4F 46 0D 0A 0D 0A 24 28 0D 0A 20 20 4C 45 ALOF....$(.. LE
000170: 54 20 6B 65 79 70 72 65 73 73 20 3D 20 30 0D 0A T keypress = 0..
000180: 20 20 24 28 0D 0A 20 20 20 20 74 61 62 28 36 2C $(.. tab(6,
000190: 73 63 72 68 65 69 67 68 74 29 20 3B 20 77 72 69 scrheight) ; wri
0001A0: 74 65 66 28 22 25 49 34 22 2C 6C 69 6E 65 6E 75 tef("%I4",linenu
0001B0: 6D 62 65 72 29 0D 0A 20 20 20 20 74 61 62 28 31 mber).. tab(1
0001C0: 38 2C 73 63 72 68 65 69 67 68 74 29 20 3B 20 77 8,scrheight) ; w
0001D0: 72 69 74 65 66 28 22 25 49 32 22 2C 78 29 0D 0A ritef("%I2",x)..
0001E0: 20 20 20 20 74 61 62 28 78 2C 79 29 0D 0A 20 20 tab(x,y)..
0001F0: 20 20 63 75 72 73 65 6E 28 29 0D 0A 20 20 20 20 cursen()..
Size : 512 (Real : 512)
000000: 6B 65 79 70 72 65 73 73 20 3A 3D 20 72 64 63 68 keypress := rdch
000010: 28 29 0D 0A 20 20 20 20 63 75 72 73 64 69 28 29 ().. cursdi()
000020: 0D 0A 20 20 20 20 6B 65 79 70 72 65 73 73 20 3A .. keypress :
000030: 3D 20 62 75 69 6C 64 62 75 66 66 28 6C 69 6E 65 = buildbuff(line
000040: 2C 6B 65 79 70 72 65 73 73 29 0D 0A 20 20 24 29 ,keypress).. $)
000050: 20 52 45 50 45 41 54 55 4E 54 49 4C 20 6B 65 79 REPEATUNTIL key
000060: 70 72 65 73 73 0D 0A 20 20 70 72 65 76 21 79 20 press.. prev!y
000070: 3A 3D 20 6C 69 6E 65 6C 65 6E 67 74 68 28 6C 69 := linelength(li
000080: 6E 65 2B 31 29 2D 31 0D 0A 20 20 52 45 53 55 4C ne+1)-1.. RESUL
000090: 54 49 53 20 6B 65 79 70 72 65 73 73 0D 0A 24 29 TIS keypress..$)
0000A0: 0D 0A 0D 0A 0D 0A 41 4E 44 20 69 6E 69 74 62 75 ......AND initbu
0000B0: 66 66 28 6C 69 6E 65 2C 66 72 6F 6D 29 20 42 45 ff(line,from) BE
0000C0: 0D 0A 0D 0A 24 28 0D 0A 20 20 21 6C 69 6E 65 20 ....$(.. !line
0000D0: 3A 3D 20 30 0D 0A 20 20 24 28 0D 0A 20 20 20 20 := 0.. $(..
0000E0: 21 6C 69 6E 65 20 3A 3D 20 21 6C 69 6E 65 20 2B !line := !line +
0000F0: 20 31 0D 0A 20 20 20 20 6C 69 6E 65 21 28 21 6C 1.. line!(!l
000100: 69 6E 65 29 20 3A 3D 20 74 65 78 74 73 74 61 72 ine) := textstar
000110: 74 25 66 72 6F 6D 0D 0A 20 20 20 20 66 72 6F 6D t%from.. from
000120: 20 3A 3D 20 66 72 6F 6D 20 2B 20 31 0D 0A 20 20 := from + 1..
000130: 24 29 20 52 45 50 45 41 54 55 4E 54 49 4C 20 74 $) REPEATUNTIL t
000140: 65 78 74 73 74 61 72 74 25 28 66 72 6F 6D 2D 31 extstart%(from-1
000150: 29 20 3D 20 31 33 0D 0A 24 29 0D 0A 0D 0A 0D 0A ) = 13..$)......
000160: 0D 0A 0D 0A 2F 2A 20 54 68 65 20 61 62 6F 76 65 ..../* The above
000170: 20 72 6F 75 74 69 6E 65 73 20 77 6F 72 6B 20 77 routines work w
000180: 69 74 68 20 70 6F 69 6E 74 65 72 73 20 61 6E 64 ith pointers and
000190: 20 77 6F 72 64 73 2E 20 54 68 65 20 6E 65 78 74 words. The next
0001A0: 20 73 65 74 20 6F 66 20 72 6F 75 74 69 6E 65 73 set of routines
0001B0: 0D 0A 20 20 20 77 6F 72 6B 20 77 69 74 68 20 62 .. work with b
0001C0: 79 74 65 73 20 61 6E 64 20 61 72 72 61 79 20 69 ytes and array i
0001D0: 6E 64 69 63 65 73 20 2A 2F 0D 0A 0D 0A 0D 0A 4C ndices */......L
0001E0: 45 54 20 6C 69 6E 65 6C 65 6E 67 74 68 28 66 72 ET linelength(fr
0001F0: 6F 6D 29 20 3D 20 56 41 4C 4F 46 0D 0A 0D 0A 24 om) = VALOF....$
Size : 512 (Real : 512)
000000: 28 0D 0A 20 20 4C 45 54 20 73 6F 66 61 72 20 3D (.. LET sofar =
000010: 20 31 0D 0A 20 20 57 48 49 4C 45 20 74 65 78 74 1.. WHILE text
000020: 73 74 61 72 74 25 66 72 6F 6D 20 4E 45 20 31 33 start%from NE 13
000030: 20 44 4F 20 24 28 20 73 6F 66 61 72 20 3A 3D 20 DO $( sofar :=
000040: 73 6F 66 61 72 20 2B 20 31 20 3B 20 66 72 6F 6D sofar + 1 ; from
000050: 20 3A 3D 20 66 72 6F 6D 20 2B 20 31 20 24 29 0D := from + 1 $).
000060: 0A 20 20 52 45 53 55 4C 54 49 53 20 73 6F 66 61 . RESULTIS sofa
000070: 72 0D 0A 24 29 0D 0A 0D 0A 0D 0A 0D 0A 4C 45 54 r..$)........LET
000080: 20 77 72 69 74 65 28 66 72 6F 6D 2C 78 2C 79 29 write(from,x,y)
000090: 20 42 45 0D 0A 0D 0A 24 28 0D 0A 20 20 74 61 62 BE....$(.. tab
0000A0: 28 78 2C 79 29 0D 0A 20 20 46 4F 52 20 61 20 3D (x,y).. FOR a =
0000B0: 20 66 72 6F 6D 20 54 4F 20 66 72 6F 6D 20 2B 20 from TO from +
0000C0: 6C 69 6E 65 6C 65 6E 67 74 68 28 66 72 6F 6D 29 linelength(from)
0000D0: 20 2D 20 32 20 44 4F 20 77 72 63 68 28 74 65 78 - 2 DO wrch(tex
0000E0: 74 73 74 61 72 74 25 61 29 0D 0A 20 20 70 72 65 tstart%a).. pre
0000F0: 76 21 79 20 3A 3D 20 6C 69 6E 65 6C 65 6E 67 74 v!y := linelengt
000100: 68 28 66 72 6F 6D 29 20 2D 20 31 0D 0A 24 29 0D h(from) - 1..$).
000110: 0A 0D 0A 0D 0A 4C 45 54 20 73 74 61 74 75 73 28 .....LET status(
000120: 29 20 42 45 0D 0A 0D 0A 24 28 0D 0A 20 20 74 61 ) BE....$(.. ta
000130: 62 28 31 2C 73 63 72 68 65 69 67 68 74 29 0D 0A b(1,scrheight)..
000140: 20 20 54 45 53 54 20 76 65 72 3D 34 20 54 48 45 TEST ver=4 THE
000150: 4E 0D 0A 20 20 20 20 77 72 69 74 65 66 28 22 4C N.. writef("L
000160: 69 6E 65 3A 25 49 34 20 43 6F 6C 75 6D 6E 3A 25 ine:%I4 Column:%
000170: 49 32 20 28 53 54 4F 50 20 74 6F 20 6D 65 6E 75 I2 (STOP to menu
000180: 29 22 2C 6C 69 6E 65 6E 75 6D 62 65 72 2C 78 29 )",linenumber,x)
000190: 0D 0A 20 20 45 4C 53 45 0D 0A 20 20 20 20 77 72 .. ELSE.. wr
0001A0: 69 74 65 66 28 22 4C 69 6E 65 3A 25 49 34 20 43 itef("Line:%I4 C
0001B0: 6F 6C 75 6D 6E 3A 25 49 32 20 28 45 53 43 20 74 olumn:%I2 (ESC t
0001C0: 6F 20 6D 65 6E 75 29 22 2C 6C 69 6E 65 6E 75 6D o menu)",linenum
0001D0: 62 65 72 2C 78 29 0D 0A 24 29 0D 0A 0D 0A 0D 0A ber,x)..$)......
0001E0: 0D 0A 4C 45 54 20 63 6C 73 28 29 20 42 45 0D 0A ..LET cls() BE..
0001F0: 0D 0A 24 28 0D 0A 20 20 63 6C 65 61 72 73 63 72 ..$(.. clearscr
Size : 512 (Real : 512)
000000: 28 29 0D 0A 20 20 63 75 72 73 6F 6E 28 29 20 3B ().. curson() ;
000010: 20 63 75 72 73 64 69 28 29 0D 0A 20 20 46 4F 52 cursdi().. FOR
000020: 20 61 20 3D 20 31 20 54 4F 20 73 63 72 68 65 69 a = 1 TO scrhei
000030: 67 68 74 2D 31 20 44 4F 20 70 72 65 76 21 61 20 ght-1 DO prev!a
000040: 3A 3D 20 30 0D 0A 20 20 73 74 61 74 75 73 28 29 := 0.. status()
000050: 0D 0A 24 29 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A ..$)............
000060: 2F 2A 20 54 68 69 73 20 72 6F 75 74 69 6E 65 20 /* This routine
000070: 77 69 6C 6C 20 6D 6F 76 65 20 74 68 65 20 74 65 will move the te
000080: 78 74 20 6F 6E 20 74 68 65 20 73 63 72 65 65 6E xt on the screen
000090: 20 64 6F 77 6E 20 61 20 6C 69 6E 65 20 61 6E 64 down a line and
0000A0: 20 61 6C 74 65 72 20 74 68 65 0D 0A 20 20 20 70 alter the.. p
0000B0: 72 65 76 69 6F 75 73 20 61 72 72 61 79 20 2A 2F revious array */
0000C0: 0D 0A 0D 0A 4C 45 54 20 64 6F 77 6E 28 29 20 42 ....LET down() B
0000D0: 45 0D 0A 0D 0A 24 28 0D 0A 20 20 74 61 62 28 31 E....$(.. tab(1
0000E0: 2C 31 29 20 3B 20 72 65 76 6C 66 28 29 20 3B 20 ,1) ; revlf() ;
0000F0: 77 72 63 68 28 31 33 29 0D 0A 20 20 73 74 61 74 wrch(13).. stat
000100: 75 73 28 29 20 3B 20 73 70 61 63 65 73 28 70 72 us() ; spaces(pr
000110: 65 76 21 28 73 63 72 68 65 69 67 68 74 2D 31 29 ev!(scrheight-1)
000120: 2D 33 33 29 0D 0A 20 20 46 4F 52 20 61 20 3D 20 -33).. FOR a =
000130: 73 63 72 68 65 69 67 68 74 2D 31 20 54 4F 20 32 scrheight-1 TO 2
000140: 20 42 59 20 2D 31 20 44 4F 20 70 72 65 76 21 61 BY -1 DO prev!a
000150: 20 3A 3D 20 70 72 65 76 21 28 61 2D 31 29 0D 0A := prev!(a-1)..
000160: 20 20 70 72 65 76 21 31 20 3A 3D 20 30 0D 0A 24 prev!1 := 0..$
000170: 29 0D 0A 0D 0A 41 4E 44 20 72 65 76 6C 66 28 29 )....AND revlf()
000180: 20 42 45 0D 0A 24 28 0D 0A 20 20 54 45 53 54 20 BE..$(.. TEST
000190: 76 65 72 3D 32 20 54 48 45 4E 0D 0A 20 20 20 20 ver=2 THEN..
0001A0: 77 72 63 68 28 31 31 29 0D 0A 20 20 45 4C 53 45 wrch(11).. ELSE
0001B0: 0D 0A 20 20 24 28 0D 0A 20 20 20 20 65 73 63 63 .. $(.. escc
0001C0: 6F 64 65 28 27 49 27 29 0D 0A 20 20 24 29 0D 0A ode('I').. $)..
0001D0: 24 29 0D 0A 0D 0A 2F 2A 20 54 68 69 73 20 72 6F $)..../* This ro
0001E0: 75 74 69 6E 65 20 77 69 6C 6C 20 6D 6F 76 65 20 utine will move
0001F0: 74 68 65 20 74 65 78 74 20 75 70 20 6F 6E 65 20 the text up one
Size : 512 (Real : 512)
000000: 6C 69 6E 65 20 61 6E 64 20 61 6C 74 65 72 20 74 line and alter t
000010: 68 65 20 70 72 65 76 69 6F 75 73 20 61 72 72 61 he previous arra
000020: 79 20 2A 2F 0D 0A 0D 0A 4C 45 54 20 75 70 28 29 y */....LET up()
000030: 20 42 45 0D 0A 0D 0A 24 28 0D 0A 20 20 74 61 62 BE....$(.. tab
000040: 28 31 2C 73 63 72 68 65 69 67 68 74 29 20 3B 20 (1,scrheight) ;
000050: 73 70 61 63 65 73 28 34 30 29 0D 0A 20 20 77 72 spaces(40).. wr
000060: 63 68 28 31 30 29 20 3B 20 77 72 63 68 28 31 33 ch(10) ; wrch(13
000070: 29 0D 0A 20 20 46 4F 52 20 61 20 3D 20 31 20 54 ).. FOR a = 1 T
000080: 4F 20 73 63 72 68 65 69 67 68 74 2D 32 20 44 4F O scrheight-2 DO
000090: 20 70 72 65 76 21 61 20 3A 3D 20 70 72 65 76 21 prev!a := prev!
0000A0: 28 61 2B 31 29 0D 0A 20 20 70 72 65 76 21 28 73 (a+1).. prev!(s
0000B0: 63 72 68 65 69 67 68 74 2D 31 29 20 3A 3D 20 30 crheight-1) := 0
0000C0: 0D 0A 20 20 73 74 61 74 75 73 28 29 0D 0A 24 29 .. status()..$)
0000D0: 0D 0A 0D 0A 0D 0A 0D 0A 2F 2A 0D 0A 20 20 20 54 ......../*.. T
0000E0: 68 69 73 20 72 6F 75 74 69 6E 65 20 77 69 6C 6C his routine will
0000F0: 20 72 65 70 72 69 6E 74 20 74 68 65 20 73 63 72 reprint the scr
000100: 65 65 6E 20 66 72 6F 6D 20 74 68 65 20 79 20 70 een from the y p
000110: 6F 73 69 74 69 6F 6E 20 61 6E 64 20 74 65 78 74 osition and text
000120: 20 70 6F 73 69 74 69 6F 6E 0D 0A 20 20 20 67 69 position.. gi
000130: 76 65 6E 2E 0D 0A 2A 2F 0D 0A 0D 0A 4C 45 54 20 ven...*/....LET
000140: 73 63 72 65 65 6E 28 66 72 6F 6D 2C 79 70 6F 73 screen(from,ypos
000150: 29 20 42 45 0D 0A 0D 0A 24 28 0D 0A 20 20 46 4F ) BE....$(.. FO
000160: 52 20 79 20 3D 20 79 70 6F 73 20 54 4F 20 73 63 R y = ypos TO sc
000170: 72 68 65 69 67 68 74 2D 31 20 44 4F 0D 0A 20 20 rheight-1 DO..
000180: 24 28 0D 0A 20 20 20 20 4C 45 54 20 6C 20 3D 20 $(.. LET l =
000190: 30 0D 0A 20 20 20 20 74 61 62 28 31 2C 79 29 0D 0.. tab(1,y).
0001A0: 0A 20 20 20 20 49 46 20 66 72 6F 6D 20 3E 20 74 . IF from > t
0001B0: 65 78 74 65 6E 64 20 54 48 45 4E 20 24 28 20 73 extend THEN $( s
0001C0: 70 61 63 65 73 28 38 30 29 20 3B 20 70 72 65 76 paces(80) ; prev
0001D0: 21 79 20 3A 3D 20 30 20 3B 20 42 52 45 41 4B 20 !y := 0 ; BREAK
0001E0: 24 29 0D 0A 20 20 20 20 6C 20 3A 3D 20 6C 69 6E $).. l := lin
0001F0: 65 6C 65 6E 67 74 68 28 66 72 6F 6D 29 20 2D 20 elength(from) -
Size : 512 (Real : 512)
000000: 31 0D 0A 20 20 20 20 46 4F 52 20 61 20 3D 20 66 1.. FOR a = f
000010: 72 6F 6D 20 54 4F 20 66 72 6F 6D 20 2B 20 6C 20 rom TO from + l
000020: 2D 20 31 20 44 4F 20 77 72 63 68 28 74 65 78 74 - 1 DO wrch(text
000030: 73 74 61 72 74 25 61 29 0D 0A 20 20 20 20 73 70 start%a).. sp
000040: 61 63 65 73 28 70 72 65 76 21 79 2D 6C 29 0D 0A aces(prev!y-l)..
000050: 20 20 20 20 70 72 65 76 21 79 20 3A 3D 20 6C 0D prev!y := l.
000060: 0A 20 20 20 20 66 72 6F 6D 20 3A 3D 20 66 72 6F . from := fro
000070: 6D 20 2B 20 6C 20 2B 20 31 0D 0A 20 20 24 29 0D m + l + 1.. $).
000080: 0A 24 29 0D 0A 0D 0A 0D 0A 0D 0A 4C 45 54 20 66 .$)........LET f
000090: 6F 72 77 61 72 64 28 70 74 72 29 20 3D 20 56 41 orward(ptr) = VA
0000A0: 4C 4F 46 0D 0A 0D 0A 24 28 0D 0A 20 20 49 46 20 LOF....$(.. IF
0000B0: 70 74 72 20 2B 20 6C 69 6E 65 6C 65 6E 67 74 68 ptr + linelength
0000C0: 28 70 74 72 29 20 3E 20 74 65 78 74 65 6E 64 20 (ptr) > textend
0000D0: 54 48 45 4E 0D 0A 20 20 20 20 24 28 20 62 65 65 THEN.. $( bee
0000E0: 70 28 29 20 3B 20 52 45 53 55 4C 54 49 53 20 70 p() ; RESULTIS p
0000F0: 74 72 20 24 29 0D 0A 20 20 70 74 72 20 3A 3D 20 tr $).. ptr :=
000100: 70 74 72 20 2B 20 6C 69 6E 65 6C 65 6E 67 74 68 ptr + linelength
000110: 28 70 74 72 29 0D 0A 20 20 52 45 53 55 4C 54 49 (ptr).. RESULTI
000120: 53 20 70 74 72 0D 0A 24 29 0D 0A 0D 0A 41 4E 44 S ptr..$)....AND
000130: 20 62 61 63 6B 6C 69 6E 65 28 70 74 72 29 20 3D backline(ptr) =
000140: 20 56 41 4C 4F 46 0D 0A 0D 0A 24 28 0D 0A 20 20 VALOF....$(..
000150: 49 46 20 70 74 72 20 3D 20 30 20 54 48 45 4E 20 IF ptr = 0 THEN
000160: 24 28 20 62 65 65 70 28 29 20 3B 20 52 45 53 55 $( beep() ; RESU
000170: 4C 54 49 53 20 70 74 72 20 24 29 0D 0A 20 20 70 LTIS ptr $).. p
000180: 74 72 20 3A 3D 20 70 74 72 20 2D 20 31 0D 0A 20 tr := ptr - 1..
000190: 20 20 20 52 45 50 45 41 54 57 48 49 4C 45 20 74 REPEATWHILE t
0001A0: 65 78 74 73 74 61 72 74 25 28 70 74 72 2D 31 29 extstart%(ptr-1)
0001B0: 20 4E 45 20 31 33 20 4C 4F 47 41 4E 44 20 70 74 NE 13 LOGAND pt
0001C0: 72 20 4E 45 20 30 0D 0A 20 20 52 45 53 55 4C 54 r NE 0.. RESULT
0001D0: 49 53 20 70 74 72 0D 0A 24 29 0D 0A 0D 0A 0D 0A IS ptr..$)......
0001E0: 2F 2A 20 54 68 69 73 20 72 6F 75 74 69 6E 65 20 /* This routine
0001F0: 77 69 6C 6C 20 72 65 63 6F 6E 73 74 72 75 63 74 will reconstruct
Size : 512 (Real : 512)
000000: 20 74 68 65 20 73 63 72 65 65 6E 20 2A 2F 0D 0A the screen */..
000010: 0D 0A 4C 45 54 20 72 65 63 6F 6E 73 74 72 75 63 ..LET reconstruc
000020: 74 28 66 72 6F 6D 29 20 42 45 0D 0A 0D 0A 24 28 t(from) BE....$(
000030: 0D 0A 20 20 4C 45 54 20 74 70 74 72 20 3D 20 66 .. LET tptr = f
000040: 72 6F 6D 0D 0A 20 20 63 6C 73 28 29 0D 0A 20 20 rom.. cls()..
000050: 46 4F 52 20 61 20 3D 20 79 20 54 4F 20 32 20 42 FOR a = y TO 2 B
000060: 59 20 2D 31 20 44 4F 0D 0A 20 20 24 28 0D 0A 20 Y -1 DO.. $(..
000070: 20 20 20 54 45 53 54 20 74 70 74 72 20 3D 20 30 TEST tptr = 0
000080: 20 54 48 45 4E 20 24 28 20 79 20 3A 3D 20 79 20 THEN $( y := y
000090: 2D 20 61 20 2B 20 31 20 3B 20 42 52 45 41 4B 20 - a + 1 ; BREAK
0000A0: 24 29 0D 0A 20 20 20 20 45 4C 53 45 20 74 70 74 $).. ELSE tpt
0000B0: 72 20 3A 3D 20 62 61 63 6B 6C 69 6E 65 28 74 70 r := backline(tp
0000C0: 74 72 29 0D 0A 20 20 24 29 0D 0A 20 20 73 63 72 tr).. $).. scr
0000D0: 65 65 6E 28 74 70 74 72 2C 31 29 0D 0A 24 29 0D een(tptr,1)..$).
0000E0: 0A 0D 0A 0D 0A 4C 45 54 20 65 72 72 6F 72 28 6D .....LET error(m
0000F0: 65 73 73 61 67 65 29 20 42 45 0D 0A 0D 0A 24 28 essage) BE....$(
000100: 0D 0A 20 20 74 61 62 28 31 2C 73 63 72 68 65 69 .. tab(1,scrhei
000110: 67 68 74 29 20 3B 20 77 72 69 74 65 66 28 22 25 ght) ; writef("%
000120: 53 2E 20 48 69 74 20 61 6E 79 20 6B 65 79 20 74 S. Hit any key t
000130: 6F 20 63 6F 6E 74 69 6E 75 65 22 2C 6D 65 73 73 o continue",mess
000140: 61 67 65 29 0D 0A 20 20 62 65 65 70 28 29 0D 0A age).. beep()..
000150: 20 20 72 64 63 68 28 29 0D 0A 20 20 74 61 62 28 rdch().. tab(
000160: 33 33 2C 73 63 72 68 65 69 67 68 74 29 20 3B 20 33,scrheight) ;
000170: 73 70 61 63 65 73 28 32 30 29 20 3B 20 73 74 61 spaces(20) ; sta
000180: 74 75 73 28 29 0D 0A 20 20 62 75 66 66 70 72 69 tus().. buffpri
000190: 6E 74 20 3A 3D 20 54 52 55 45 0D 0A 20 20 72 65 nt := TRUE.. re
0001A0: 63 6F 6E 73 74 72 75 63 74 28 74 65 78 74 70 74 construct(textpt
0001B0: 72 29 0D 0A 20 20 6C 6F 6E 67 6A 75 6D 70 28 65 r).. longjump(e
0001C0: 72 72 6C 61 62 2C 65 72 72 76 65 63 29 0D 0A 24 rrlab,errvec)..$
0001D0: 29 0D 0A 0D 0A 0D 0A 0D 0A 4C 45 54 20 6D 61 6B )........LET mak
0001E0: 65 73 70 61 63 65 28 61 74 2C 73 69 7A 65 29 20 espace(at,size)
0001F0: 42 45 0D 0A 0D 0A 24 28 0D 0A 20 20 62 79 74 65 BE....$(.. byte
Size : 512 (Real : 512)
000000: 6D 6F 76 65 28 74 65 78 74 73 74 61 72 74 2A 32 move(textstart*2
000010: 2B 61 74 2C 74 65 78 74 73 74 61 72 74 2A 32 2B +at,textstart*2+
000020: 61 74 2B 73 69 7A 65 2C 74 65 78 74 65 6E 64 2D at+size,textend-
000030: 61 74 2B 31 29 0D 0A 20 20 74 65 78 74 65 6E 64 at+1).. textend
000040: 20 3A 3D 20 74 65 78 74 65 6E 64 20 2B 20 73 69 := textend + si
000050: 7A 65 0D 0A 24 29 0D 0A 0D 0A 0D 0A 41 4E 44 20 ze..$)......AND
000060: 63 6C 6F 73 65 73 70 61 63 65 28 61 74 2C 73 69 closespace(at,si
000070: 7A 65 29 20 42 45 0D 0A 0D 0A 24 28 0D 0A 20 20 ze) BE....$(..
000080: 62 79 74 65 6D 6F 76 65 28 74 65 78 74 73 74 61 bytemove(textsta
000090: 72 74 2A 32 2B 61 74 2B 73 69 7A 65 2C 74 65 78 rt*2+at+size,tex
0000A0: 74 73 74 61 72 74 2A 32 2B 61 74 2C 74 65 78 74 tstart*2+at,text
0000B0: 65 6E 64 2D 61 74 2D 73 69 7A 65 2B 31 29 0D 0A end-at-size+1)..
0000C0: 20 20 74 65 78 74 65 6E 64 20 3A 3D 20 74 65 78 textend := tex
0000D0: 74 65 6E 64 20 2D 20 73 69 7A 65 0D 0A 24 29 0D tend - size..$).
0000E0: 0A 0D 0A 0D 0A 0D 0A 41 4E 44 20 63 6F 70 79 28 .......AND copy(
0000F0: 66 72 6F 6D 2C 64 65 73 74 2C 6E 75 6D 62 65 72 from,dest,number
000100: 29 20 42 45 0D 0A 0D 0A 24 28 0D 0A 20 20 46 4F ) BE....$(.. FO
000110: 52 20 61 20 3D 20 30 20 54 4F 20 6E 75 6D 62 65 R a = 0 TO numbe
000120: 72 2D 31 20 44 4F 20 74 65 78 74 73 74 61 72 74 r-1 DO textstart
000130: 25 28 64 65 73 74 2B 61 29 20 3A 3D 20 66 72 6F %(dest+a) := fro
000140: 6D 21 61 0D 0A 24 29 0D 0A 0D 0A 0D 0A 2F 2A 20 m!a..$)....../*
000150: 41 20 62 75 66 66 65 72 20 6C 69 6E 65 20 69 73 A buffer line is
000160: 20 74 6F 20 62 65 20 69 6E 73 65 72 74 65 64 20 to be inserted
000170: 61 74 20 61 74 20 2A 2F 0D 0A 0D 0A 4C 45 54 20 at at */....LET
000180: 6C 69 6E 73 65 72 74 28 6C 69 6E 65 2C 61 74 29 linsert(line,at)
000190: 20 42 45 0D 0A 0D 0A 24 28 0D 0A 20 20 4C 45 54 BE....$(.. LET
0001A0: 20 63 75 72 72 65 6E 74 2C 20 6E 65 77 20 3D 20 current, new =
0001B0: 6C 69 6E 65 6C 65 6E 67 74 68 28 61 74 29 2C 20 linelength(at),
0001C0: 6C 69 6E 65 21 30 0D 0A 20 20 54 45 53 54 20 6E line!0.. TEST n
0001D0: 65 77 2D 63 75 72 72 65 6E 74 2B 74 65 78 74 65 ew-current+texte
0001E0: 6E 64 20 3C 20 6D 61 78 63 68 72 20 54 48 45 4E nd < maxchr THEN
0001F0: 0D 0A 20 20 24 28 0D 0A 20 20 20 20 54 45 53 54 .. $(.. TEST
Size : 512 (Real : 512)
000000: 20 63 75 72 72 65 6E 74 3E 6E 65 77 20 54 48 45 current>new THE
000010: 4E 20 63 6C 6F 73 65 73 70 61 63 65 28 61 74 2C N closespace(at,
000020: 63 75 72 72 65 6E 74 2D 6E 65 77 29 0D 0A 20 20 current-new)..
000030: 20 20 45 4C 53 45 20 49 46 20 63 75 72 72 65 6E ELSE IF curren
000040: 74 3C 6E 65 77 20 54 48 45 4E 20 6D 61 6B 65 73 t<new THEN makes
000050: 70 61 63 65 28 61 74 2C 6E 65 77 2D 63 75 72 72 pace(at,new-curr
000060: 65 6E 74 29 0D 0A 20 20 20 20 63 6F 70 79 28 6C ent).. copy(l
000070: 69 6E 65 2B 31 2C 61 74 2C 6E 65 77 29 0D 0A 20 ine+1,at,new)..
000080: 20 24 29 0D 0A 20 20 45 4C 53 45 20 65 72 72 6F $).. ELSE erro
000090: 72 28 22 4E 6F 20 72 6F 6F 6D 22 29 0D 0A 24 29 r("No room")..$)
0000A0: 0D 0A 0D 0A 0D 0A 0D 0A 4C 45 54 20 67 65 74 66 ........LET getf
0000B0: 69 6C 65 6E 61 6D 65 28 78 2C 79 2C 6E 61 6D 65 ilename(x,y,name
0000C0: 29 20 42 45 0D 0A 0D 0A 24 28 0D 0A 20 20 74 61 ) BE....$(.. ta
0000D0: 62 28 78 2C 79 29 20 3B 20 77 72 69 74 65 73 28 b(x,y) ; writes(
0000E0: 22 45 6E 74 65 72 20 66 69 6C 65 20 6E 61 6D 65 "Enter file name
0000F0: 3A 20 22 29 0D 0A 20 20 63 75 72 73 65 6E 28 29 : ").. cursen()
000100: 20 3B 20 72 65 61 64 73 28 6E 61 6D 65 29 20 3B ; reads(name) ;
000110: 20 63 75 72 73 64 69 28 29 0D 0A 20 20 6E 65 77 cursdi().. new
000120: 6C 69 6E 65 28 29 0D 0A 24 29 0D 0A 0D 0A 0D 0A line()..$)......
000130: 0D 0A 4C 45 54 20 6C 6F 61 64 74 65 78 74 28 6C ..LET loadtext(l
000140: 69 6E 65 29 20 3D 20 56 41 4C 4F 46 0D 0A 0D 0A ine) = VALOF....
000150: 24 28 0D 0A 20 20 4C 45 54 20 6E 61 6D 65 20 3D $(.. LET name =
000160: 20 56 45 43 20 32 30 0D 0A 20 20 67 65 74 66 69 VEC 20.. getfi
000170: 6C 65 6E 61 6D 65 28 32 35 2C 31 39 2C 6E 61 6D lename(25,19,nam
000180: 65 29 0D 0A 20 20 54 45 53 54 20 66 69 6E 64 69 e).. TEST findi
000190: 6E 70 75 74 28 6E 61 6D 65 2C 66 69 6C 65 29 20 nput(name,file)
0001A0: 54 48 45 4E 0D 0A 20 20 24 28 0D 0A 20 20 20 20 THEN.. $(..
0001B0: 4C 45 54 20 63 68 61 72 20 3D 20 30 0D 0A 20 20 LET char = 0..
0001C0: 20 20 74 65 78 74 70 74 72 2C 20 78 2C 20 79 2C textptr, x, y,
0001D0: 20 6C 69 6E 65 6E 75 6D 62 65 72 2C 20 74 65 78 linenumber, tex
0001E0: 74 65 6E 64 20 3A 3D 20 30 2C 20 31 2C 20 31 2C tend := 0, 1, 1,
0001F0: 20 31 2C 20 2D 31 0D 0A 20 20 20 20 74 65 78 74 1, -1.. text
Size : 512 (Real : 512)
000000: 73 74 61 72 74 25 30 20 3A 3D 20 31 33 0D 0A 20 start%0 := 13..
000010: 20 20 20 63 68 61 72 20 3A 3D 20 72 65 61 64 63 char := readc
000020: 68 28 66 69 6C 65 29 0D 0A 20 20 20 20 55 4E 54 h(file).. UNT
000030: 49 4C 20 63 68 61 72 20 3D 20 73 6F 66 74 65 6F IL char = softeo
000040: 66 63 68 20 4C 4F 47 4F 52 20 63 68 61 72 20 3D fch LOGOR char =
000050: 20 65 6E 64 73 74 72 65 61 6D 63 68 20 4C 4F 47 endstreamch LOG
000060: 4F 52 20 74 65 78 74 65 6E 64 20 3D 20 6D 61 78 OR textend = max
000070: 63 68 72 20 44 4F 0D 0A 20 20 20 20 24 28 0D 0A chr DO.. $(..
000080: 20 20 20 20 20 20 55 4E 4C 45 53 53 20 63 68 61 UNLESS cha
000090: 72 20 3D 20 31 30 20 54 48 45 4E 0D 0A 20 20 20 r = 10 THEN..
0000A0: 20 20 20 24 28 0D 0A 20 20 20 20 20 20 20 20 74 $(.. t
0000B0: 65 78 74 65 6E 64 20 3A 3D 20 74 65 78 74 65 6E extend := texten
0000C0: 64 20 2B 20 31 0D 0A 20 20 20 20 20 20 20 20 74 d + 1.. t
0000D0: 65 78 74 73 74 61 72 74 25 74 65 78 74 65 6E 64 extstart%textend
0000E0: 20 3A 3D 20 63 68 61 72 0D 0A 20 20 20 20 20 20 := char..
0000F0: 24 29 0D 0A 20 20 20 20 20 20 63 68 61 72 20 3A $).. char :
000100: 3D 20 72 65 61 64 63 68 28 66 69 6C 65 29 0D 0A = readch(file)..
000110: 20 20 20 20 24 29 0D 0A 20 20 20 20 55 4E 4C 45 $).. UNLE
000120: 53 53 20 74 65 78 74 73 74 61 72 74 25 74 65 78 SS textstart%tex
000130: 74 65 6E 64 20 3D 20 31 33 20 44 4F 0D 0A 20 20 tend = 13 DO..
000140: 20 20 24 28 0D 0A 20 20 20 20 20 20 74 65 78 74 $(.. text
000150: 65 6E 64 20 3A 3D 20 74 65 78 74 65 6E 64 20 2B end := textend +
000160: 20 31 0D 0A 20 20 20 20 20 20 74 65 78 74 73 74 1.. textst
000170: 61 72 74 25 74 65 78 74 65 6E 64 20 3A 3D 20 31 art%textend := 1
000180: 33 20 20 20 20 0D 0A 20 20 20 20 24 29 0D 0A 20 3 .. $)..
000190: 20 20 20 49 46 20 74 65 78 74 65 6E 64 20 3E 3D IF textend >=
0001A0: 20 6D 61 78 63 68 72 20 54 48 45 4E 0D 0A 20 20 maxchr THEN..
0001B0: 20 20 24 28 0D 0A 20 20 20 20 20 20 74 65 78 74 $(.. text
0001C0: 65 6E 64 20 3A 3D 20 74 65 78 74 65 6E 64 20 2D end := textend -
0001D0: 20 31 0D 0A 20 20 20 20 20 20 74 65 78 74 73 74 1.. textst
0001E0: 61 72 74 25 74 65 78 74 65 6E 64 20 3A 3D 20 31 art%textend := 1
0001F0: 33 0D 0A 20 20 20 20 20 20 63 6C 6F 73 65 69 6E 3.. closein
Size : 512 (Real : 512)
000000: 28 66 69 6C 65 29 0D 0A 20 20 20 20 20 20 69 6E (file).. in
000010: 69 74 62 75 66 66 28 6C 69 6E 65 2C 30 29 0D 0A itbuff(line,0)..
000020: 20 20 20 20 20 20 65 72 72 6F 72 28 22 4E 6F 20 error("No
000030: 72 6F 6F 6D 22 29 0D 0A 20 20 20 20 24 29 0D 0A room").. $)..
000040: 20 20 20 20 49 46 20 74 65 78 74 65 6E 64 20 3D IF textend =
000050: 20 2D 31 20 54 48 45 4E 20 74 65 78 74 65 6E 64 -1 THEN textend
000060: 20 3A 3D 20 30 0D 0A 20 20 20 20 63 6C 6F 73 65 := 0.. close
000070: 69 6E 28 66 69 6C 65 29 0D 0A 20 20 20 20 52 45 in(file).. RE
000080: 53 55 4C 54 49 53 20 54 52 55 45 0D 0A 20 20 24 SULTIS TRUE.. $
000090: 29 0D 0A 20 20 45 4C 53 45 0D 0A 20 20 24 28 0D ).. ELSE.. $(.
0000A0: 0A 20 20 20 20 77 72 69 74 65 66 28 22 25 53 20 . writef("%S
0000B0: 6E 6F 74 20 66 6F 75 6E 64 22 2C 6E 61 6D 65 29 not found",name)
0000C0: 0D 0A 20 20 20 20 72 64 63 68 28 29 0D 0A 20 20 .. rdch()..
0000D0: 20 20 52 45 53 55 4C 54 49 53 20 46 41 4C 53 45 RESULTIS FALSE
0000E0: 0D 0A 20 20 24 29 0D 0A 24 29 0D 0A 0D 0A 0D 0A .. $)..$)......
0000F0: 41 4E 44 20 73 61 76 65 74 65 78 74 28 29 20 3D AND savetext() =
000100: 20 56 41 4C 4F 46 0D 0A 0D 0A 24 28 0D 0A 20 20 VALOF....$(..
000110: 4C 45 54 20 6E 61 6D 65 20 3D 20 56 45 43 20 32 LET name = VEC 2
000120: 30 0D 0A 20 20 4C 45 54 20 64 69 73 63 65 72 72 0.. LET discerr
000130: 6F 72 28 66 69 6C 65 29 20 3D 20 56 41 4C 4F 46 or(file) = VALOF
000140: 0D 0A 20 20 24 28 0D 0A 20 20 20 20 77 72 69 74 .. $(.. writ
000150: 65 73 28 22 44 69 73 63 20 65 72 72 6F 72 2E 20 es("Disc error.
000160: 48 69 74 20 61 20 6B 65 79 22 29 0D 0A 20 20 20 Hit a key")..
000170: 20 72 64 63 68 28 29 0D 0A 20 20 20 20 63 6C 6F rdch().. clo
000180: 73 65 6F 75 74 28 66 69 6C 65 29 0D 0A 20 20 20 seout(file)..
000190: 20 52 45 53 55 4C 54 49 53 20 46 41 4C 53 45 0D RESULTIS FALSE.
0001A0: 0A 20 20 24 29 0D 0A 20 20 67 65 74 66 69 6C 65 . $).. getfile
0001B0: 6E 61 6D 65 28 32 35 2C 31 39 2C 6E 61 6D 65 29 name(25,19,name)
0001C0: 0D 0A 20 20 54 45 53 54 20 66 69 6E 64 6F 75 74 .. TEST findout
0001D0: 70 75 74 28 6E 61 6D 65 2C 66 69 6C 65 29 20 54 put(name,file) T
0001E0: 48 45 4E 0D 0A 20 20 24 28 0D 0A 20 20 20 20 46 HEN.. $(.. F
0001F0: 4F 52 20 61 20 3D 20 30 20 54 4F 20 74 65 78 74 OR a = 0 TO text
Size : 512 (Real : 512)
000000: 65 6E 64 20 44 4F 0D 0A 20 20 20 20 24 28 0D 0A end DO.. $(..
000010: 20 20 20 20 20 20 55 4E 4C 45 53 53 20 77 72 69 UNLESS wri
000020: 74 65 63 68 28 74 65 78 74 73 74 61 72 74 25 61 tech(textstart%a
000030: 2C 66 69 6C 65 29 20 54 48 45 4E 20 52 45 53 55 ,file) THEN RESU
000040: 4C 54 49 53 20 64 69 73 63 65 72 72 6F 72 28 66 LTIS discerror(f
000050: 69 6C 65 29 0D 0A 20 20 20 20 20 20 49 46 20 74 ile).. IF t
000060: 65 78 74 73 74 61 72 74 25 61 20 3D 20 31 33 20 extstart%a = 13
000070: 54 48 45 4E 20 55 4E 4C 45 53 53 20 77 72 69 74 THEN UNLESS writ
000080: 65 63 68 28 31 30 2C 66 69 6C 65 29 20 54 48 45 ech(10,file) THE
000090: 4E 0D 0A 20 20 20 20 20 20 20 20 52 45 53 55 4C N.. RESUL
0000A0: 54 49 53 20 64 69 73 63 65 72 72 6F 72 28 66 69 TIS discerror(fi
0000B0: 6C 65 29 0D 0A 20 20 20 20 24 29 0D 0A 20 20 20 le).. $)..
0000C0: 20 63 6C 6F 73 65 6F 75 74 28 66 69 6C 65 29 0D closeout(file).
0000D0: 0A 20 20 20 20 52 45 53 55 4C 54 49 53 20 54 52 . RESULTIS TR
0000E0: 55 45 0D 0A 20 20 24 29 0D 0A 20 20 45 4C 53 45 UE.. $).. ELSE
0000F0: 0D 0A 20 20 24 28 0D 0A 20 20 20 20 77 72 69 74 .. $(.. writ
000100: 65 73 28 22 43 61 6E 6E 6F 74 20 6F 70 65 6E 20 es("Cannot open
000110: 22 29 20 3B 20 77 72 69 74 65 73 28 6E 61 6D 65 ") ; writes(name
000120: 29 0D 0A 20 20 20 20 52 45 53 55 4C 54 49 53 20 ).. RESULTIS
000130: 46 41 4C 53 45 0D 0A 20 20 24 29 0D 0A 24 29 0D FALSE.. $)..$).
000140: 0A 0D 0A 0D 0A 41 4E 44 20 67 6F 6C 69 6E 65 28 .....AND goline(
000150: 29 20 42 45 0D 0A 0D 0A 24 28 0D 0A 20 20 4C 45 ) BE....$(.. LE
000160: 54 20 6C 69 6E 65 6E 75 6D 20 3D 20 30 0D 0A 20 T linenum = 0..
000170: 20 6C 69 6E 65 6E 75 6D 62 65 72 20 3A 3D 20 31 linenumber := 1
000180: 0D 0A 20 20 74 61 62 28 32 35 2C 31 39 29 0D 0A .. tab(25,19)..
000190: 20 20 77 72 69 74 65 66 28 22 45 6E 74 65 72 20 writef("Enter
0001A0: 6C 69 6E 65 20 6E 75 6D 62 65 72 3A 20 22 29 0D line number: ").
0001B0: 0A 20 20 63 75 72 73 65 6E 28 29 20 3B 20 6C 69 . cursen() ; li
0001C0: 6E 65 6E 75 6D 20 3A 3D 20 72 65 61 64 6E 28 29 nenum := readn()
0001D0: 20 3B 20 63 75 72 73 64 69 28 29 0D 0A 20 20 74 ; cursdi().. t
0001E0: 65 78 74 70 74 72 2C 20 78 20 3A 3D 20 30 2C 20 extptr, x := 0,
0001F0: 31 0D 0A 20 20 46 4F 52 20 63 6F 75 6E 74 20 3D 1.. FOR count =
Size : 512 (Real : 512)
000000: 20 32 20 54 4F 20 6C 69 6E 65 6E 75 6D 20 44 4F 2 TO linenum DO
000010: 0D 0A 20 20 24 28 0D 0A 20 20 20 20 4C 45 54 20 .. $(.. LET
000020: 6F 70 74 72 20 3D 20 74 65 78 74 70 74 72 0D 0A optr = textptr..
000030: 20 20 20 20 74 65 78 74 70 74 72 20 3A 3D 20 66 textptr := f
000040: 6F 72 77 61 72 64 28 74 65 78 74 70 74 72 29 0D orward(textptr).
000050: 0A 20 20 20 20 49 46 20 6F 70 74 72 20 3D 20 74 . IF optr = t
000060: 65 78 74 70 74 72 20 54 48 45 4E 20 42 52 45 41 extptr THEN BREA
000070: 4B 0D 0A 20 20 20 20 6C 69 6E 65 6E 75 6D 62 65 K.. linenumbe
000080: 72 20 3A 3D 20 6C 69 6E 65 6E 75 6D 62 65 72 20 r := linenumber
000090: 2B 20 31 0D 0A 20 20 24 29 0D 0A 20 20 79 20 3A + 1.. $).. y :
0000A0: 3D 20 31 32 0D 0A 24 29 0D 0A 0D 0A 0D 0A 0D 0A = 12..$)........
0000B0: 2F 2A 20 54 68 69 73 20 72 6F 75 74 69 6E 65 20 /* This routine
0000C0: 63 68 65 63 6B 73 20 66 6F 72 20 61 20 6D 61 74 checks for a mat
0000D0: 63 68 20 2A 2F 0D 0A 0D 0A 41 4E 44 20 6D 61 74 ch */....AND mat
0000E0: 63 68 28 66 72 6F 6D 2C 74 61 72 67 65 74 29 20 ch(from,target)
0000F0: 3D 20 56 41 4C 4F 46 0D 0A 0D 0A 24 28 0D 0A 20 = VALOF....$(..
000100: 20 46 4F 52 20 61 20 3D 20 31 20 54 4F 20 74 61 FOR a = 1 TO ta
000110: 72 67 65 74 25 30 20 44 4F 0D 0A 20 20 20 20 49 rget%0 DO.. I
000120: 46 20 74 65 78 74 73 74 61 72 74 25 28 66 72 6F F textstart%(fro
000130: 6D 2B 61 2D 31 29 20 4E 45 20 74 61 72 67 65 74 m+a-1) NE target
000140: 25 61 20 54 48 45 4E 20 52 45 53 55 4C 54 49 53 %a THEN RESULTIS
000150: 20 46 41 4C 53 45 0D 0A 20 20 52 45 53 55 4C 54 FALSE.. RESULT
000160: 49 53 20 54 52 55 45 0D 0A 24 29 0D 0A 0D 0A 0D IS TRUE..$).....
000170: 0A 0D 0A 2F 2A 20 54 68 69 73 20 69 73 20 74 68 .../* This is th
000180: 65 20 66 69 6E 64 20 73 74 72 69 6E 67 20 72 6F e find string ro
000190: 75 74 69 6E 65 20 2A 2F 0D 0A 0D 0A 41 4E 44 20 utine */....AND
0001A0: 66 69 6E 64 73 74 72 69 6E 67 28 29 20 42 45 0D findstring() BE.
0001B0: 0A 0D 0A 24 28 0D 0A 20 20 4C 45 54 20 6F 70 74 ...$(.. LET opt
0001C0: 72 2C 20 6F 78 2C 20 6F 79 2C 20 6F 6C 69 6E 65 r, ox, oy, oline
0001D0: 20 3D 20 74 65 78 74 70 74 72 2C 20 78 2C 20 79 = textptr, x, y
0001E0: 2C 20 6C 69 6E 65 6E 75 6D 62 65 72 0D 0A 20 20 , linenumber..
0001F0: 4C 45 54 20 73 65 61 72 63 68 20 3D 20 56 45 43 LET search = VEC
Size : 512 (Real : 512)
000000: 20 32 30 0D 0A 20 20 74 61 62 28 32 35 2C 31 39 20.. tab(25,19
000010: 29 0D 0A 20 20 77 72 69 74 65 66 28 22 45 6E 74 ).. writef("Ent
000020: 65 72 20 73 74 72 69 6E 67 3A 20 22 29 0D 0A 20 er string: ")..
000030: 20 63 75 72 73 65 6E 28 29 20 3B 20 72 65 61 64 cursen() ; read
000040: 73 28 73 65 61 72 63 68 29 20 3B 20 63 75 72 73 s(search) ; curs
000050: 64 69 28 29 0D 0A 20 20 74 65 78 74 70 74 72 20 di().. textptr
000060: 3A 3D 20 74 65 78 74 70 74 72 20 2B 20 78 20 2D := textptr + x -
000070: 20 31 0D 0A 20 20 55 4E 4C 45 53 53 20 74 65 78 1.. UNLESS tex
000080: 74 73 74 61 72 74 25 74 65 78 74 70 74 72 3D 31 tstart%textptr=1
000090: 33 20 54 48 45 4E 20 74 65 78 74 70 74 72 20 3A 3 THEN textptr :
0000A0: 3D 20 74 65 78 74 70 74 72 20 2B 20 31 0D 0A 20 = textptr + 1..
0000B0: 20 55 4E 4C 45 53 53 20 74 65 78 74 70 74 72 20 UNLESS textptr
0000C0: 3E 3D 20 74 65 78 74 65 6E 64 20 44 4F 0D 0A 20 >= textend DO..
0000D0: 20 24 28 0D 0A 20 20 20 20 54 45 53 54 20 74 65 $(.. TEST te
0000E0: 78 74 73 74 61 72 74 25 74 65 78 74 70 74 72 3D xtstart%textptr=
0000F0: 31 33 20 54 48 45 4E 0D 0A 20 20 20 20 20 20 6C 13 THEN.. l
000100: 69 6E 65 6E 75 6D 62 65 72 20 3A 3D 20 6C 69 6E inenumber := lin
000110: 65 6E 75 6D 62 65 72 20 2B 20 31 0D 0A 20 20 20 enumber + 1..
000120: 20 45 4C 53 45 0D 0A 20 20 20 20 24 28 0D 0A 20 ELSE.. $(..
000130: 20 20 20 20 20 49 46 20 6D 61 74 63 68 28 74 65 IF match(te
000140: 78 74 70 74 72 2C 73 65 61 72 63 68 29 20 54 48 xtptr,search) TH
000150: 45 4E 0D 0A 20 20 20 20 20 20 24 28 0D 0A 20 20 EN.. $(..
000160: 20 20 20 20 20 20 6F 70 74 72 20 3A 3D 20 74 65 optr := te
000170: 78 74 70 74 72 0D 0A 20 20 20 20 20 20 20 20 57 xtptr.. W
000180: 48 49 4C 45 20 74 65 78 74 73 74 61 72 74 25 28 HILE textstart%(
000190: 74 65 78 74 70 74 72 2D 31 29 20 4E 45 20 31 33 textptr-1) NE 13
0001A0: 20 4C 4F 47 41 4E 44 20 74 65 78 74 70 74 72 20 LOGAND textptr
0001B0: 4E 45 20 30 20 44 4F 0D 0A 20 20 20 20 20 20 20 NE 0 DO..
0001C0: 20 20 20 74 65 78 74 70 74 72 20 3A 3D 20 74 65 textptr := te
0001D0: 78 74 70 74 72 20 2D 20 31 0D 0A 20 20 20 20 20 xtptr - 1..
0001E0: 20 20 20 78 2C 20 79 20 3A 3D 20 6F 70 74 72 20 x, y := optr
0001F0: 2D 20 74 65 78 74 70 74 72 20 2B 20 31 2C 20 31 - textptr + 1, 1
Size : 512 (Real : 512)
000000: 32 0D 0A 20 20 20 20 20 20 20 20 42 52 45 41 4B 2.. BREAK
000010: 0D 0A 20 20 20 20 20 20 24 29 0D 0A 20 20 20 20 .. $)..
000020: 24 29 0D 0A 20 20 20 20 74 65 78 74 70 74 72 20 $).. textptr
000030: 3A 3D 20 74 65 78 74 70 74 72 20 2B 20 31 0D 0A := textptr + 1..
000040: 20 20 20 20 49 46 20 74 65 78 74 70 74 72 20 3E IF textptr >
000050: 3D 20 74 65 78 74 65 6E 64 20 54 48 45 4E 0D 0A = textend THEN..
000060: 20 20 20 20 24 28 0D 0A 20 20 20 20 20 20 74 65 $(.. te
000070: 78 74 70 74 72 2C 20 78 2C 20 79 2C 20 6C 69 6E xtptr, x, y, lin
000080: 65 6E 75 6D 62 65 72 20 3A 3D 20 6F 70 74 72 2C enumber := optr,
000090: 20 6F 78 2C 20 6F 79 2C 20 6F 6C 69 6E 65 0D 0A ox, oy, oline..
0000A0: 20 20 20 20 20 20 42 52 45 41 4B 0D 0A 20 20 20 BREAK..
0000B0: 20 24 29 0D 0A 20 20 24 29 20 52 45 50 45 41 54 $).. $) REPEAT
0000C0: 0D 0A 24 29 0D 0A 0D 0A 0D 0A 0D 0A 2F 2A 20 54 ..$)......../* T
0000D0: 68 69 73 20 69 73 20 74 68 65 20 6D 61 69 6E 20 his is the main
0000E0: 6D 65 6E 75 20 72 6F 75 74 69 6E 65 20 2A 2F 0D menu routine */.
0000F0: 0A 0D 0A 4C 45 54 20 6D 65 6E 75 28 6C 69 6E 65 ...LET menu(line
000100: 29 20 42 45 0D 0A 0D 0A 24 28 0D 0A 20 20 4C 45 ) BE....$(.. LE
000110: 54 20 74 70 74 72 20 3D 20 30 0D 0A 20 20 6C 69 T tptr = 0.. li
000120: 6E 73 65 72 74 28 6C 69 6E 65 2C 74 65 78 74 70 nsert(line,textp
000130: 74 72 29 0D 0A 20 20 24 28 0D 0A 20 20 20 20 4C tr).. $(.. L
000140: 45 54 20 6B 65 79 20 3D 20 30 0D 0A 20 20 20 20 ET key = 0..
000150: 63 6C 65 61 72 73 63 72 28 29 0D 0A 20 20 20 20 clearscr()..
000160: 74 61 62 28 33 32 2C 34 29 20 20 3B 20 77 72 69 tab(32,4) ; wri
000170: 74 65 73 28 22 42 43 50 4C 20 65 64 69 74 6F 72 tes("BCPL editor
000180: 22 29 0D 0A 20 20 20 20 74 61 62 28 33 32 2C 35 ").. tab(32,5
000190: 29 20 20 3B 20 77 72 69 74 65 73 28 22 2D 2D 2D ) ; writes("---
0001A0: 2D 2D 2D 2D 2D 2D 2D 2D 22 29 0D 0A 20 20 20 20 --------")..
0001B0: 74 61 62 28 33 32 2C 39 29 20 20 3B 20 77 72 69 tab(32,9) ; wri
0001C0: 74 65 73 28 22 4C 3A 20 4C 6F 61 64 20 74 65 78 tes("L: Load tex
0001D0: 74 22 29 0D 0A 20 20 20 20 74 61 62 28 33 32 2C t").. tab(32,
0001E0: 31 30 29 20 3B 20 77 72 69 74 65 73 28 22 53 3A 10) ; writes("S:
0001F0: 20 53 61 76 65 20 74 65 78 74 22 29 0D 0A 20 20 Save text")..
Size : 512 (Real : 512)
000000: 20 20 74 61 62 28 33 32 2C 31 31 29 20 3B 20 77 tab(32,11) ; w
000010: 72 69 74 65 73 28 22 45 3A 20 45 64 69 74 20 74 rites("E: Edit t
000020: 65 78 74 22 29 0D 0A 20 20 20 20 74 61 62 28 33 ext").. tab(3
000030: 32 2C 31 32 29 20 3B 20 77 72 69 74 65 73 28 22 2,12) ; writes("
000040: 47 3A 20 47 6F 74 6F 20 6C 69 6E 65 22 29 0D 0A G: Goto line")..
000050: 20 20 20 20 74 61 62 28 33 32 2C 31 33 29 20 3B tab(32,13) ;
000060: 20 77 72 69 74 65 73 28 22 46 3A 20 46 69 6E 64 writes("F: Find
000070: 20 73 74 72 69 6E 67 22 29 0D 0A 20 20 20 20 74 string").. t
000080: 61 62 28 33 32 2C 31 34 29 20 3B 20 77 72 69 74 ab(32,14) ; writ
000090: 65 73 28 22 51 3A 20 51 75 69 74 22 29 0D 0A 20 es("Q: Quit")..
0000A0: 20 20 20 74 61 62 28 33 32 2C 31 37 29 20 3B 20 tab(32,17) ;
0000B0: 77 72 69 74 65 73 28 22 53 65 6C 65 63 74 20 6F writes("Select o
0000C0: 70 74 69 6F 6E 3A 20 22 29 0D 0A 20 20 20 20 24 ption: ").. $
0000D0: 28 20 63 75 72 73 65 6E 28 29 0D 0A 20 20 20 20 ( cursen()..
0000E0: 20 20 20 6B 65 79 20 3A 3D 20 72 64 63 68 28 29 key := rdch()
0000F0: 0D 0A 20 20 20 20 20 20 20 63 75 72 73 64 69 28 .. cursdi(
000100: 29 0D 0A 20 20 20 20 24 29 20 52 45 50 45 41 54 ).. $) REPEAT
000110: 57 48 49 4C 45 20 6B 65 79 20 3D 20 69 67 6E 6F WHILE key = igno
000120: 72 65 0D 0A 20 20 20 20 53 57 49 54 43 48 4F 4E re.. SWITCHON
000130: 20 6B 65 79 20 49 4E 54 4F 0D 0A 20 20 20 20 24 key INTO.. $
000140: 28 0D 0A 20 20 20 20 20 20 43 41 53 45 20 27 4C (.. CASE 'L
000150: 27 3A 20 43 41 53 45 20 27 6C 27 3A 20 77 72 63 ': CASE 'l': wrc
000160: 68 28 27 4C 27 29 20 3B 20 49 46 20 6C 6F 61 64 h('L') ; IF load
000170: 74 65 78 74 28 6C 69 6E 65 29 20 54 48 45 4E 20 text(line) THEN
000180: 42 52 45 41 4B 20 3B 20 45 4E 44 43 41 53 45 0D BREAK ; ENDCASE.
000190: 0A 20 20 20 20 20 20 43 41 53 45 20 27 53 27 3A . CASE 'S':
0001A0: 20 43 41 53 45 20 27 73 27 3A 20 77 72 63 68 28 CASE 's': wrch(
0001B0: 27 53 27 29 20 3B 20 49 46 20 73 61 76 65 74 65 'S') ; IF savete
0001C0: 78 74 28 29 20 54 48 45 4E 20 42 52 45 41 4B 20 xt() THEN BREAK
0001D0: 3B 20 45 4E 44 43 41 53 45 0D 0A 20 20 20 20 20 ; ENDCASE..
0001E0: 20 43 41 53 45 20 27 47 27 3A 20 43 41 53 45 20 CASE 'G': CASE
0001F0: 27 67 27 3A 20 77 72 63 68 28 27 47 27 29 20 3B 'g': wrch('G') ;
Size : 512 (Real : 512)
000000: 20 67 6F 6C 69 6E 65 28 29 20 3B 20 42 52 45 41 goline() ; BREA
000010: 4B 0D 0A 20 20 20 20 20 20 43 41 53 45 20 27 46 K.. CASE 'F
000020: 27 3A 20 43 41 53 45 20 27 66 27 3A 20 77 72 63 ': CASE 'f': wrc
000030: 68 28 27 46 27 29 20 3B 20 78 20 3A 3D 20 76 61 h('F') ; x := va
000040: 6C 69 64 61 74 65 28 6C 69 6E 65 2C 78 29 0D 0A lidate(line,x)..
000050: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
000060: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
000070: 20 20 20 20 20 20 66 69 6E 64 73 74 72 69 6E 67 findstring
000080: 28 29 20 3B 20 42 52 45 41 4B 0D 0A 20 20 20 20 () ; BREAK..
000090: 20 20 43 41 53 45 20 27 45 27 3A 20 43 41 53 45 CASE 'E': CASE
0000A0: 20 27 65 27 3A 20 77 72 63 68 28 27 45 27 29 20 'e': wrch('E')
0000B0: 3B 20 42 52 45 41 4B 0D 0A 20 20 20 20 20 20 43 ; BREAK.. C
0000C0: 41 53 45 20 27 51 27 3A 20 43 41 53 45 20 27 71 ASE 'Q': CASE 'q
0000D0: 27 3A 20 77 72 63 68 28 27 51 27 29 20 3B 20 66 ': wrch('Q') ; f
0000E0: 69 6E 69 73 68 0D 0A 20 20 20 20 24 29 0D 0A 20 inish.. $)..
0000F0: 20 20 20 62 65 65 70 28 29 0D 0A 20 20 24 29 20 beep().. $)
000100: 52 45 50 45 41 54 0D 0A 20 20 72 65 63 6F 6E 73 REPEAT.. recons
000110: 74 72 75 63 74 28 74 65 78 74 70 74 72 29 0D 0A truct(textptr)..
000120: 24 29 0D 0A 0D 0A 0D 0A 0D 0A 2F 2A 20 54 68 69 $)......../* Thi
000130: 73 20 72 6F 75 74 69 6E 65 20 64 65 61 6C 73 20 s routine deals
000140: 77 69 74 68 20 74 68 65 20 64 65 6C 65 74 69 6F with the deletio
000150: 6E 20 6F 66 20 61 20 43 52 20 2A 2F 0D 0A 0D 0A n of a CR */....
000160: 4C 45 54 20 64 65 6C 65 74 65 6C 28 6C 69 6E 65 LET deletel(line
000170: 29 20 42 45 0D 0A 0D 0A 24 28 0D 0A 20 20 54 45 ) BE....$(.. TE
000180: 53 54 20 74 65 78 74 70 74 72 20 4E 45 20 30 20 ST textptr NE 0
000190: 54 48 45 4E 0D 0A 20 20 24 28 0D 0A 20 20 20 20 THEN.. $(..
0001A0: 4C 45 54 20 6F 70 74 72 2C 20 74 70 74 72 20 3D LET optr, tptr =
0001B0: 20 74 65 78 74 70 74 72 2C 20 62 61 63 6B 6C 69 textptr, backli
0001C0: 6E 65 28 74 65 78 74 70 74 72 29 0D 0A 20 20 20 ne(textptr)..
0001D0: 20 54 45 53 54 20 6C 69 6E 65 6C 65 6E 67 74 68 TEST linelength
0001E0: 28 74 70 74 72 29 20 2B 20 6C 69 6E 65 21 30 20 (tptr) + line!0
0001F0: 2D 20 31 20 3C 20 38 30 20 54 48 45 4E 0D 0A 20 - 1 < 80 THEN..
Size : 512 (Real : 512)
000000: 20 20 20 24 28 0D 0A 20 20 20 20 20 20 49 46 20 $(.. IF
000010: 6C 69 6E 65 21 30 2D 6C 69 6E 65 6C 65 6E 67 74 line!0-linelengt
000020: 68 28 74 65 78 74 70 74 72 29 2B 74 65 78 74 65 h(textptr)+texte
000030: 6E 64 20 3E 3D 20 6D 61 78 63 68 72 20 54 48 45 nd >= maxchr THE
000040: 4E 20 65 72 72 6F 72 28 22 4E 6F 20 72 6F 6F 6D N error("No room
000050: 22 29 0D 0A 20 20 20 20 20 20 74 65 78 74 73 74 ").. textst
000060: 61 72 74 25 28 74 65 78 74 70 74 72 2D 31 29 20 art%(textptr-1)
000070: 3A 3D 20 30 0D 0A 20 20 20 20 20 20 6C 69 6E 73 := 0.. lins
000080: 65 72 74 28 6C 69 6E 65 2C 74 65 78 74 70 74 72 ert(line,textptr
000090: 2D 31 29 0D 0A 20 20 20 20 20 20 74 65 78 74 70 -1).. textp
0000A0: 74 72 20 3A 3D 20 74 70 74 72 0D 0A 20 20 20 20 tr := tptr..
0000B0: 20 20 6C 69 6E 65 6E 75 6D 62 65 72 20 3A 3D 20 linenumber :=
0000C0: 6C 69 6E 65 6E 75 6D 62 65 72 20 2D 20 31 0D 0A linenumber - 1..
0000D0: 20 20 20 20 20 20 78 20 3A 3D 20 6C 69 6E 65 6C x := linel
0000E0: 65 6E 67 74 68 28 74 65 78 74 70 74 72 29 20 2D ength(textptr) -
0000F0: 20 6C 69 6E 65 21 30 20 2B 20 31 0D 0A 20 20 20 line!0 + 1..
000100: 20 20 20 54 45 53 54 20 79 20 3D 20 31 20 54 48 TEST y = 1 TH
000110: 45 4E 0D 0A 20 20 20 20 20 20 24 28 0D 0A 20 20 EN.. $(..
000120: 20 20 20 20 20 20 77 72 69 74 65 28 74 65 78 74 write(text
000130: 70 74 72 2C 31 2C 31 29 0D 0A 20 20 20 20 20 20 ptr,1,1)..
000140: 24 29 0D 0A 20 20 20 20 20 20 45 4C 53 45 20 79 $).. ELSE y
000150: 20 3A 3D 20 79 20 2D 20 31 0D 0A 20 20 20 20 24 := y - 1.. $
000160: 29 0D 0A 20 20 20 20 45 4C 53 45 20 65 72 72 6F ).. ELSE erro
000170: 72 28 22 4C 69 6E 65 20 74 6F 6F 20 6C 6F 6E 67 r("Line too long
000180: 20 74 6F 20 6A 6F 69 6E 22 29 0D 0A 20 20 24 29 to join").. $)
000190: 0D 0A 20 20 45 4C 53 45 20 65 72 72 6F 72 28 22 .. ELSE error("
0001A0: 54 6F 70 20 6F 66 20 66 69 6C 65 22 29 0D 0A 24 Top of file")..$
0001B0: 29 0D 0A 0D 0A 0D 0A 4C 45 54 20 61 64 64 6C 28 )......LET addl(
0001C0: 6C 69 6E 65 29 20 42 45 0D 0A 0D 0A 24 28 0D 0A line) BE....$(..
0001D0: 20 20 4C 45 54 20 63 6F 70 79 20 3D 20 56 45 43 LET copy = VEC
0001E0: 20 38 30 0D 0A 20 20 4C 45 54 20 70 74 72 20 3D 80.. LET ptr =
0001F0: 20 31 0D 0A 20 20 46 4F 52 20 61 20 3D 20 30 20 1.. FOR a = 0
Size : 512 (Real : 512)
000000: 54 4F 20 6C 69 6E 65 21 30 20 44 4F 20 63 6F 70 TO line!0 DO cop
000010: 79 21 61 20 3A 3D 20 6C 69 6E 65 21 61 0D 0A 20 y!a := line!a..
000020: 20 57 48 49 4C 45 20 6C 69 6E 65 21 70 74 72 20 WHILE line!ptr
000030: 4E 45 20 31 33 20 44 4F 20 70 74 72 20 3A 3D 20 NE 13 DO ptr :=
000040: 70 74 72 20 2B 20 31 0D 0A 20 20 46 4F 52 20 61 ptr + 1.. FOR a
000050: 20 3D 20 70 74 72 20 54 4F 20 6C 69 6E 65 21 30 = ptr TO line!0
000060: 2D 31 20 44 4F 20 6C 69 6E 65 21 61 20 3A 3D 20 -1 DO line!a :=
000070: 6C 69 6E 65 21 28 61 2B 31 29 0D 0A 20 20 6C 69 line!(a+1).. li
000080: 6E 65 21 30 20 3A 3D 20 6C 69 6E 65 21 30 20 2D ne!0 := line!0 -
000090: 20 31 0D 0A 20 20 6C 69 6E 73 65 72 74 28 63 6F 1.. linsert(co
0000A0: 70 79 2C 74 65 78 74 70 74 72 29 0D 0A 20 20 78 py,textptr).. x
0000B0: 2C 20 6C 69 6E 65 6E 75 6D 62 65 72 20 3A 3D 20 , linenumber :=
0000C0: 31 2C 20 6C 69 6E 65 6E 75 6D 62 65 72 20 2B 20 1, linenumber +
0000D0: 31 0D 0A 20 20 74 65 78 74 70 74 72 20 3A 3D 20 1.. textptr :=
0000E0: 66 6F 72 77 61 72 64 28 74 65 78 74 70 74 72 29 forward(textptr)
0000F0: 0D 0A 20 20 54 45 53 54 20 79 20 3D 20 73 63 72 .. TEST y = scr
000100: 68 65 69 67 68 74 2D 31 20 54 48 45 4E 0D 0A 20 height-1 THEN..
000110: 20 24 28 0D 0A 20 20 20 20 75 70 28 29 0D 0A 20 $(.. up()..
000120: 20 20 20 77 72 69 74 65 28 74 65 78 74 70 74 72 write(textptr
000130: 2C 31 2C 73 63 72 68 65 69 67 68 74 2D 31 29 0D ,1,scrheight-1).
000140: 0A 20 20 24 29 0D 0A 20 20 45 4C 53 45 20 79 20 . $).. ELSE y
000150: 3A 3D 20 79 20 2B 20 31 0D 0A 24 29 0D 0A 0D 0A := y + 1..$)....
000160: 0D 0A 4C 45 54 20 6D 6F 76 65 75 70 28 29 20 42 ..LET moveup() B
000170: 45 0D 0A 0D 0A 24 28 0D 0A 20 20 55 4E 4C 45 53 E....$(.. UNLES
000180: 53 20 74 65 78 74 70 74 72 20 3D 20 30 20 54 48 S textptr = 0 TH
000190: 45 4E 0D 0A 20 20 24 28 0D 0A 20 20 20 20 74 65 EN.. $(.. te
0001A0: 78 74 70 74 72 20 3A 3D 20 62 61 63 6B 6C 69 6E xtptr := backlin
0001B0: 65 28 74 65 78 74 70 74 72 29 0D 0A 20 20 20 20 e(textptr)..
0001C0: 6C 69 6E 65 6E 75 6D 62 65 72 20 3A 3D 20 6C 69 linenumber := li
0001D0: 6E 65 6E 75 6D 62 65 72 20 2D 20 31 0D 0A 20 20 nenumber - 1..
0001E0: 20 20 54 45 53 54 20 79 20 3D 20 31 20 54 48 45 TEST y = 1 THE
0001F0: 4E 0D 0A 20 20 20 20 24 28 0D 0A 20 20 20 20 20 N.. $(..
Size : 512 (Real : 512)
000000: 20 64 6F 77 6E 28 29 0D 0A 20 20 20 20 20 20 77 down().. w
000010: 72 69 74 65 28 74 65 78 74 70 74 72 2C 31 2C 31 rite(textptr,1,1
000020: 29 0D 0A 20 20 20 20 24 29 0D 0A 20 20 20 20 45 ).. $).. E
000030: 4C 53 45 20 79 20 3A 3D 20 79 20 2D 20 31 0D 0A LSE y := y - 1..
000040: 20 20 24 29 0D 0A 24 29 0D 0A 0D 0A 0D 0A 4C 45 $)..$)......LE
000050: 54 20 75 70 63 75 72 73 28 6C 69 6E 65 29 20 42 T upcurs(line) B
000060: 45 0D 0A 0D 0A 24 28 0D 0A 20 20 6C 69 6E 73 65 E....$(.. linse
000070: 72 74 28 6C 69 6E 65 2C 74 65 78 74 70 74 72 29 rt(line,textptr)
000080: 0D 0A 20 20 6D 6F 76 65 75 70 28 29 0D 0A 24 29 .. moveup()..$)
000090: 0D 0A 0D 0A 0D 0A 4C 45 54 20 6D 6F 76 65 64 6F ......LET movedo
0000A0: 77 6E 28 29 20 42 45 0D 0A 0D 0A 24 28 0D 0A 20 wn() BE....$(..
0000B0: 20 4C 45 54 20 6F 70 74 72 20 3D 20 74 65 78 74 LET optr = text
0000C0: 70 74 72 0D 0A 20 20 74 65 78 74 70 74 72 20 3A ptr.. textptr :
0000D0: 3D 20 66 6F 72 77 61 72 64 28 74 65 78 74 70 74 = forward(textpt
0000E0: 72 29 0D 0A 20 20 55 4E 4C 45 53 53 20 74 65 78 r).. UNLESS tex
0000F0: 74 70 74 72 20 3D 20 6F 70 74 72 20 54 48 45 4E tptr = optr THEN
000100: 0D 0A 20 20 24 28 0D 0A 20 20 20 20 6C 69 6E 65 .. $(.. line
000110: 6E 75 6D 62 65 72 20 3A 3D 20 6C 69 6E 65 6E 75 number := linenu
000120: 6D 62 65 72 20 2B 20 31 0D 0A 20 20 20 20 54 45 mber + 1.. TE
000130: 53 54 20 79 20 3D 20 73 63 72 68 65 69 67 68 74 ST y = scrheight
000140: 2D 31 20 54 48 45 4E 0D 0A 20 20 20 20 24 28 0D -1 THEN.. $(.
000150: 0A 20 20 20 20 20 20 75 70 28 29 0D 0A 20 20 20 . up()..
000160: 20 20 20 77 72 69 74 65 28 74 65 78 74 70 74 72 write(textptr
000170: 2C 31 2C 73 63 72 68 65 69 67 68 74 2D 31 29 0D ,1,scrheight-1).
000180: 0A 20 20 20 20 24 29 0D 0A 20 20 20 20 45 4C 53 . $).. ELS
000190: 45 20 79 20 3A 3D 20 79 20 2B 20 31 0D 0A 20 20 E y := y + 1..
0001A0: 24 29 0D 0A 24 29 0D 0A 0D 0A 0D 0A 0D 0A 4C 45 $)..$)........LE
0001B0: 54 20 64 6F 77 6E 63 75 72 73 28 6C 69 6E 65 29 T downcurs(line)
0001C0: 20 42 45 0D 0A 0D 0A 24 28 0D 0A 20 20 6C 69 6E BE....$(.. lin
0001D0: 73 65 72 74 28 6C 69 6E 65 2C 74 65 78 74 70 74 sert(line,textpt
0001E0: 72 29 0D 0A 20 20 6D 6F 76 65 64 6F 77 6E 28 29 r).. movedown()
0001F0: 0D 0A 24 29 0D 0A 0D 0A 0D 0A 0D 0A 4C 45 54 20 ..$)........LET
Size : 512 (Real : 512)
000000: 73 75 70 63 75 72 73 28 6C 69 6E 65 29 20 42 45 supcurs(line) BE
000010: 0D 0A 0D 0A 24 28 0D 0A 20 20 6C 69 6E 73 65 72 ....$(.. linser
000020: 74 28 6C 69 6E 65 2C 74 65 78 74 70 74 72 29 0D t(line,textptr).
000030: 0A 20 20 46 4F 52 20 61 20 3D 20 31 20 54 4F 20 . FOR a = 1 TO
000040: 73 63 72 68 65 69 67 68 74 2D 34 20 44 4F 0D 0A scrheight-4 DO..
000050: 20 20 24 28 0D 0A 20 20 20 20 49 46 20 74 65 78 $(.. IF tex
000060: 74 70 74 72 20 3D 20 30 20 54 48 45 4E 20 42 52 tptr = 0 THEN BR
000070: 45 41 4B 0D 0A 20 20 20 20 6D 6F 76 65 75 70 28 EAK.. moveup(
000080: 29 0D 0A 20 20 24 29 0D 0A 24 29 0D 0A 0D 0A 4C ).. $)..$)....L
000090: 45 54 20 73 64 6F 77 6E 63 75 72 73 28 6C 69 6E ET sdowncurs(lin
0000A0: 65 29 20 42 45 0D 0A 0D 0A 24 28 0D 0A 20 20 6C e) BE....$(.. l
0000B0: 69 6E 73 65 72 74 28 6C 69 6E 65 2C 74 65 78 74 insert(line,text
0000C0: 70 74 72 29 0D 0A 20 20 46 4F 52 20 61 20 3D 20 ptr).. FOR a =
0000D0: 31 20 54 4F 20 73 63 72 68 65 69 67 68 74 2D 34 1 TO scrheight-4
0000E0: 20 44 4F 0D 0A 20 20 24 28 0D 0A 20 20 20 20 4C DO.. $(.. L
0000F0: 45 54 20 6F 70 74 72 20 3D 20 74 65 78 74 70 74 ET optr = textpt
000100: 72 0D 0A 20 20 20 20 6D 6F 76 65 64 6F 77 6E 28 r.. movedown(
000110: 29 0D 0A 20 20 20 20 49 46 20 6F 70 74 72 20 3D ).. IF optr =
000120: 20 74 65 78 74 70 74 72 20 54 48 45 4E 20 42 52 textptr THEN BR
000130: 45 41 4B 0D 0A 20 20 24 29 0D 0A 24 29 0D 0A 0D EAK.. $)..$)...
000140: 0A 0D 0A 0D 0A 4C 45 54 20 74 6F 70 28 6C 69 6E .....LET top(lin
000150: 65 29 20 42 45 0D 0A 0D 0A 24 28 0D 0A 20 20 6C e) BE....$(.. l
000160: 69 6E 73 65 72 74 28 6C 69 6E 65 2C 74 65 78 74 insert(line,text
000170: 70 74 72 29 0D 0A 20 20 74 65 78 74 70 74 72 2C ptr).. textptr,
000180: 20 78 2C 20 79 2C 20 6C 69 6E 65 6E 75 6D 62 65 x, y, linenumbe
000190: 72 20 3A 3D 20 30 2C 20 31 2C 20 31 2C 20 31 0D r := 0, 1, 1, 1.
0001A0: 0A 20 20 72 65 63 6F 6E 73 74 72 75 63 74 28 74 . reconstruct(t
0001B0: 65 78 74 70 74 72 29 0D 0A 24 29 0D 0A 0D 0A 0D extptr)..$).....
0001C0: 0A 4C 45 54 20 62 6F 74 74 6F 6D 28 6C 69 6E 65 .LET bottom(line
0001D0: 29 20 42 45 0D 0A 0D 0A 24 28 0D 0A 20 20 4C 45 ) BE....$(.. LE
0001E0: 54 20 6F 70 74 72 20 3D 20 30 0D 0A 20 20 6C 69 T optr = 0.. li
0001F0: 6E 73 65 72 74 28 6C 69 6E 65 2C 74 65 78 74 70 nsert(line,textp
Size : 512 (Real : 512)
000000: 74 72 29 0D 0A 20 20 74 65 78 74 70 74 72 2C 20 tr).. textptr,
000010: 78 2C 20 79 2C 20 6C 69 6E 65 6E 75 6D 62 65 72 x, y, linenumber
000020: 20 3A 3D 20 30 2C 20 31 2C 20 31 2C 20 30 0D 0A := 0, 1, 1, 0..
000030: 20 20 24 28 0D 0A 20 20 20 20 6F 70 74 72 20 3A $(.. optr :
000040: 3D 20 74 65 78 74 70 74 72 0D 0A 20 20 20 20 74 = textptr.. t
000050: 65 78 74 70 74 72 20 3A 3D 20 66 6F 72 77 61 72 extptr := forwar
000060: 64 28 74 65 78 74 70 74 72 29 0D 0A 20 20 20 20 d(textptr)..
000070: 79 20 3A 3D 20 79 20 2B 20 31 0D 0A 20 20 20 20 y := y + 1..
000080: 6C 69 6E 65 6E 75 6D 62 65 72 20 3A 3D 20 6C 69 linenumber := li
000090: 6E 65 6E 75 6D 62 65 72 20 2B 20 31 0D 0A 20 20 nenumber + 1..
0000A0: 24 29 20 52 45 50 45 41 54 55 4E 54 49 4C 20 6F $) REPEATUNTIL o
0000B0: 70 74 72 20 3D 20 74 65 78 74 70 74 72 0D 0A 20 ptr = textptr..
0000C0: 20 49 46 20 79 20 3E 20 73 63 72 68 65 69 67 68 IF y > scrheigh
0000D0: 74 2D 31 20 54 48 45 4E 20 79 20 3A 3D 20 73 63 t-1 THEN y := sc
0000E0: 72 68 65 69 67 68 74 2D 31 0D 0A 20 20 72 65 63 rheight-1.. rec
0000F0: 6F 6E 73 74 72 75 63 74 28 74 65 78 74 70 74 72 onstruct(textptr
000100: 29 0D 0A 24 29 0D 0A 0D 0A 0D 0A 2F 2A 20 41 6C )..$)....../* Al
000110: 6C 20 6C 69 6E 65 73 20 65 6E 64 20 69 6E 20 31 l lines end in 1
000120: 33 20 2A 2F 0D 0A 2F 2A 20 54 68 65 20 65 64 69 3 */../* The edi
000130: 74 20 62 75 66 66 65 72 20 69 73 20 68 65 6C 64 t buffer is held
000140: 20 69 6E 20 75 6E 70 61 63 6B 65 64 20 66 6F 72 in unpacked for
000150: 6D 61 74 2E 20 54 68 65 20 77 68 6F 6C 65 20 74 mat. The whole t
000160: 65 78 74 20 69 73 20 73 74 6F 72 65 64 20 69 6E ext is stored in
000170: 0D 0A 20 20 20 70 61 63 6B 65 64 20 66 6F 72 6D .. packed form
000180: 61 74 20 2A 2F 0D 0A 0D 0A 4C 45 54 20 73 74 61 at */....LET sta
000190: 72 74 28 29 20 42 45 0D 0A 0D 0A 24 28 0D 0A 20 rt() BE....$(..
0001A0: 20 4C 45 54 20 66 69 6C 65 62 75 66 66 20 3D 20 LET filebuff =
0001B0: 56 45 43 20 38 31 0D 0A 20 20 4C 45 54 20 70 72 VEC 81.. LET pr
0001C0: 65 76 69 6F 75 73 20 3D 20 56 45 43 20 6D 61 78 evious = VEC max
0001D0: 73 63 72 68 65 69 67 68 74 2D 31 0D 0A 20 20 4C scrheight-1.. L
0001E0: 45 54 20 74 65 78 74 20 3D 20 56 45 43 20 6D 61 ET text = VEC ma
0001F0: 78 63 68 72 2F 32 2B 31 0D 0A 20 20 4C 45 54 20 xchr/2+1.. LET
Size : 512 (Real : 512)
000000: 69 6E 62 75 66 66 20 3D 20 56 45 43 20 38 31 0D inbuff = VEC 81.
000010: 0A 20 20 4C 45 54 20 65 72 72 6F 72 20 3D 20 56 . LET error = V
000020: 45 43 20 34 0D 0A 20 20 4C 45 54 20 63 6F 70 79 EC 4.. LET copy
000030: 70 74 72 2C 20 6C 61 73 74 6B 65 79 2C 20 6E 65 ptr, lastkey, ne
000040: 77 73 63 72 65 65 6E 20 3D 20 30 2C 20 30 2C 20 wscreen = 0, 0,
000050: 54 52 55 45 0D 0A 20 20 76 65 72 20 3A 3D 20 76 TRUE.. ver := v
000060: 65 72 73 69 6F 6E 28 29 0D 0A 20 20 73 63 72 68 ersion().. scrh
000070: 65 69 67 68 74 20 3A 3D 20 76 65 72 3D 34 20 2D eight := ver=4 -
000080: 3E 20 33 31 2C 20 76 65 72 3D 33 20 2D 3E 20 32 > 31, ver=3 -> 2
000090: 34 2C 20 32 35 0D 0A 20 20 74 65 78 74 70 74 72 4, 25.. textptr
0000A0: 2C 20 74 65 78 74 65 6E 64 2C 20 74 65 78 74 73 , textend, texts
0000B0: 74 61 72 74 2C 20 65 72 72 76 65 63 20 3A 3D 20 tart, errvec :=
0000C0: 30 2C 20 30 2C 20 74 65 78 74 2C 20 65 72 72 6F 0, 0, text, erro
0000D0: 72 0D 0A 20 20 70 72 65 76 2C 20 66 69 6C 65 20 r.. prev, file
0000E0: 3A 3D 20 70 72 65 76 69 6F 75 73 2C 20 66 69 6C := previous, fil
0000F0: 65 62 75 66 66 0D 0A 20 20 63 6C 73 28 29 0D 0A ebuff.. cls()..
000100: 20 20 74 65 78 74 73 74 61 72 74 25 30 20 3A 3D textstart%0 :=
000110: 20 31 33 0D 0A 20 20 24 28 0D 0A 20 20 20 20 6C 13.. $(.. l
000120: 65 76 65 6C 28 65 72 72 76 65 63 29 0D 0A 20 20 evel(errvec)..
000130: 20 20 69 6E 69 74 62 75 66 66 28 69 6E 62 75 66 initbuff(inbuf
000140: 66 2C 74 65 78 74 70 74 72 29 0D 0A 20 20 20 20 f,textptr)..
000150: 49 46 20 6E 65 77 73 63 72 65 65 6E 20 54 48 45 IF newscreen THE
000160: 4E 20 73 63 72 65 65 6E 28 74 65 78 74 70 74 72 N screen(textptr
000170: 2C 79 29 0D 0A 20 20 20 20 65 72 72 6C 61 62 3A ,y).. errlab:
000180: 0D 0A 20 20 20 20 49 46 20 62 75 66 66 70 72 69 .. IF buffpri
000190: 6E 74 20 54 48 45 4E 0D 0A 20 20 20 20 24 28 0D nt THEN.. $(.
0001A0: 0A 20 20 20 20 20 20 74 61 62 28 31 2C 79 29 0D . tab(1,y).
0001B0: 0A 20 20 20 20 20 20 46 4F 52 20 61 20 3D 20 31 . FOR a = 1
0001C0: 20 54 4F 20 69 6E 62 75 66 66 21 30 2D 31 20 44 TO inbuff!0-1 D
0001D0: 4F 20 77 72 63 68 28 69 6E 62 75 66 66 21 61 29 O wrch(inbuff!a)
0001E0: 20 3B 20 73 70 61 63 65 73 28 38 30 2D 69 6E 62 ; spaces(80-inb
0001F0: 75 66 66 21 30 29 0D 0A 20 20 20 20 20 20 62 75 uff!0).. bu
Size : 512 (Real : 512)
000000: 66 66 70 72 69 6E 74 20 3A 3D 20 46 41 4C 53 45 ffprint := FALSE
000010: 0D 0A 20 20 20 20 24 29 0D 0A 20 20 20 20 6C 61 .. $).. la
000020: 73 74 6B 65 79 20 3A 3D 20 62 75 66 66 65 72 28 stkey := buffer(
000030: 69 6E 62 75 66 66 29 0D 0A 20 20 20 20 6E 65 77 inbuff).. new
000040: 73 63 72 65 65 6E 20 3A 3D 20 46 41 4C 53 45 0D screen := FALSE.
000050: 0A 20 20 20 20 53 57 49 54 43 48 4F 4E 20 6C 61 . SWITCHON la
000060: 73 74 6B 65 79 20 49 4E 54 4F 0D 0A 20 20 20 20 stkey INTO..
000070: 24 28 0D 0A 20 20 20 20 20 20 43 41 53 45 20 31 $(.. CASE 1
000080: 32 37 3A 20 6E 65 77 73 63 72 65 65 6E 20 3A 3D 27: newscreen :=
000090: 20 54 52 55 45 20 3B 20 64 65 6C 65 74 65 6C 28 TRUE ; deletel(
0000A0: 69 6E 62 75 66 66 29 20 3B 20 45 4E 44 43 41 53 inbuff) ; ENDCAS
0000B0: 45 0D 0A 20 20 20 20 20 20 43 41 53 45 20 31 33 E.. CASE 13
0000C0: 3A 20 6E 65 77 73 63 72 65 65 6E 20 3A 3D 20 54 : newscreen := T
0000D0: 52 55 45 20 3B 20 61 64 64 6C 28 69 6E 62 75 66 RUE ; addl(inbuf
0000E0: 66 29 20 3B 20 45 4E 44 43 41 53 45 0D 0A 20 20 f) ; ENDCASE..
0000F0: 20 20 20 20 43 41 53 45 20 63 75 72 73 75 70 3A CASE cursup:
000100: 20 43 41 53 45 20 73 63 75 72 73 75 70 3A 20 75 CASE scursup: u
000110: 70 63 75 72 73 28 69 6E 62 75 66 66 29 20 3B 20 pcurs(inbuff) ;
000120: 45 4E 44 43 41 53 45 0D 0A 20 20 20 20 20 20 43 ENDCASE.. C
000130: 41 53 45 20 63 75 72 73 64 6F 77 6E 3A 20 43 41 ASE cursdown: CA
000140: 53 45 20 73 63 75 72 73 64 6F 77 6E 3A 20 64 6F SE scursdown: do
000150: 77 6E 63 75 72 73 28 69 6E 62 75 66 66 29 20 3B wncurs(inbuff) ;
000160: 20 45 4E 44 43 41 53 45 0D 0A 20 20 20 20 20 20 ENDCASE..
000170: 43 41 53 45 20 63 63 75 72 73 75 70 3A 20 73 75 CASE ccursup: su
000180: 70 63 75 72 73 28 69 6E 62 75 66 66 29 20 3B 20 pcurs(inbuff) ;
000190: 45 4E 44 43 41 53 45 0D 0A 20 20 20 20 20 20 43 ENDCASE.. C
0001A0: 41 53 45 20 63 63 75 72 73 64 6F 77 6E 3A 20 73 ASE ccursdown: s
0001B0: 64 6F 77 6E 63 75 72 73 28 69 6E 62 75 66 66 29 downcurs(inbuff)
0001C0: 20 3B 20 45 4E 44 43 41 53 45 0D 0A 20 20 20 20 ; ENDCASE..
0001D0: 20 20 43 41 53 45 20 63 6F 70 65 6E 73 71 3A 20 CASE copensq:
0001E0: 74 6F 70 28 69 6E 62 75 66 66 29 20 3B 20 45 4E top(inbuff) ; EN
0001F0: 44 43 41 53 45 0D 0A 20 20 20 20 20 20 43 41 53 DCASE.. CAS
Size : 512 (Real : 512)
000000: 45 20 63 63 6C 6F 73 65 73 71 3A 20 62 6F 74 74 E cclosesq: bott
000010: 6F 6D 28 69 6E 62 75 66 66 29 20 3B 20 45 4E 44 om(inbuff) ; END
000020: 43 41 53 45 0D 0A 20 20 20 20 20 20 43 41 53 45 CASE.. CASE
000030: 20 65 73 63 61 70 65 3A 20 43 41 53 45 20 73 74 escape: CASE st
000040: 6F 70 3A 20 6D 65 6E 75 28 69 6E 62 75 66 66 29 op: menu(inbuff)
000050: 20 3B 20 45 4E 44 43 41 53 45 0D 0A 20 20 20 20 ; ENDCASE..
000060: 24 29 0D 0A 20 20 24 29 20 52 45 50 45 41 54 0D $).. $) REPEAT.
000070: 0A 24 29 0D 0A 2E 0D 0A 1A 6F 6F 20 6C 6F 6E 67 .$)......oo long
000080: 32 37 3A 20 6E 65 77 73 63 72 65 65 6E 20 3A 3D 27: newscreen :=
000090: 20 54 52 55 45 20 3B 20 64 65 6C 65 74 65 6C 28 TRUE ; deletel(
0000A0: 69 6E 62 75 66 66 29 20 3B 20 45 4E 44 43 41 53 inbuff) ; ENDCAS
0000B0: 45 0D 0A 20 20 20 20 20 20 43 41 53 45 20 31 33 E.. CASE 13
0000C0: 3A 20 6E 65 77 73 63 72 65 65 6E 20 3A 3D 20 54 : newscreen := T
0000D0: 52 55 45 20 3B 20 61 64 64 6C 28 69 6E 62 75 66 RUE ; addl(inbuf
0000E0: 66 29 20 3B 20 45 4E 44 43 41 53 45 0D 0A 20 20 f) ; ENDCASE..
0000F0: 20 20 20 20 43 41 53 45 20 63 75 72 73 75 70 3A CASE cursup:
000100: 20 43 41 53 45 20 73 63 75 72 73 75 70 3A 20 75 CASE scursup: u
000110: 70 63 75 72 73 28 69 6E 62 75 66 66 29 20 3B 20 pcurs(inbuff) ;
000120: 45 4E 44 43 41 53 45 0D 0A 20 20 20 20 20 20 43 ENDCASE.. C
000130: 41 53 45 20 63 75 72 73 64 6F 77 6E 3A 20 43 41 ASE cursdown: CA
000140: 53 45 20 73 63 75 72 73 64 6F 77 6E 3A 20 64 6F SE scursdown: do
000150: 77 6E 63 75 72 73 28 69 6E 62 75 66 66 29 20 3B wncurs(inbuff) ;
000160: 20 45 4E 44 43 41 53 45 0D 0A 20 20 20 20 20 20 ENDCASE..
000170: 43 41 53 45 20 63 63 75 72 73 75 70 3A 20 73 75 CASE ccursup: su
000180: 70 63 75 72 73 28 69 6E 62 75 66 66 29 20 3B 20 pcurs(inbuff) ;
000190: 45 4E 44 43 41 53 45 0D 0A 20 20 20 20 20 20 43 ENDCASE.. C
0001A0: 41 53 45 20 63 63 75 72 73 64 6F 77 6E 3A 20 73 ASE ccursdown: s
0001B0: 64 6F 77 6E 63 75 72 73 28 69 6E 62 75 66 66 29 downcurs(inbuff)
0001C0: 20 3B 20 45 4E 44 43 41 53 45 0D 0A 20 20 20 20 ; ENDCASE..
0001D0: 20 20 43 41 53 45 20 63 6F 70 65 6E 73 71 3A 20 CASE copensq:
0001E0: 74 6F 70 28 69 6E 62 75 66 66 29 20 3B 20 45 4E top(inbuff) ; EN
0001F0: 44 43 41 53 45 0D 0A 20 20 20 20 20 20 43 41 53 DCASE.. CAS
Size : 512 (Real : 512)
000000: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000010: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000020: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000030: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000040: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000050: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000060: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000070: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000080: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000090: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0000A0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0000B0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0000C0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0000D0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0000E0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0000F0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000100: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000110: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000120: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000130: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000140: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000150: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000160: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000170: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000180: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000190: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0001A0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0001B0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0001C0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0001D0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0001E0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0001F0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
Size : 512 (Real : 512)
000000: 21 2E 39 11 9B 3B 01 11 00 3E 0A C3 9E 01 00 00 !.9..;...>......
000010: 00 00 00 00 00 00 CD 5C 01 F5 78 06 10 29 CB 11 .......\..x..)..
000020: 17 30 01 19 10 F7 F1 CB 7F C8 EB 21 00 00 A7 ED .0.........!....
000030: 52 C9 CD 5C 01 F5 3E 10 CB 21 CB 10 CB 15 CB 14 R..\..>..!......
000040: A7 ED 52 38 03 03 18 01 19 3D 20 EC 50 59 EB F1 ..R8.....= .PY..
000050: A7 C8 7C EE FF 67 7D EE FF 6F 23 C9 44 4D 21 00 ..|..g}..o#.DM!.
000060: 00 3E 00 CB 78 28 0A A7 ED 42 44 4D 21 00 00 3E .>..x(...BDM!..>
000070: 80 CB 7A C8 EE 80 A7 ED 52 EB 21 00 00 C9 A7 28 ..z.....R.!....(
000080: 17 EB 4E 23 46 23 EB A7 ED 42 28 0C 09 EB 23 23 ..N#F#...B(...##
000090: 3D 20 EF 5E 23 56 EB E9 EB 5E 23 56 EB E9 32 15 = .^#V...^#V..2.
0000A0: 01 32 14 01 E5 EB 78 B1 28 11 5E 23 56 23 D5 5E .2....x.(.^#V#.^
0000B0: 23 56 23 E3 73 23 72 E1 0B 18 EB CB 45 28 01 23 #V#.s#r.....E(.#
0000C0: 22 12 01 22 10 01 ED 43 0E 01 C1 CD 78 03 F9 00 ".."...C....x...
0000D0: 00 60 69 CD 9D 01 C3 00 00 00 00 00 00 00 00 00 .`i.............
0000E0: 00 D1 DD E5 ED 4B 10 01 C5 ED 4B 12 01 ED 43 10 .....K....K...C.
0000F0: 01 09 22 12 01 EB E9 7A B3 C8 29 1B 18 F9 7A B3 .."....z..)...z.
000100: C8 CB 3C CB 1D 1B 18 F6 C1 E1 E5 C5 29 ED 5B 10 ..<.........).[.
000110: 01 73 23 72 23 ED 5B 12 01 73 23 72 23 DD E5 D1 .s#r#.[..s#r#...
000120: 73 23 72 23 EB 21 04 00 39 EB 73 23 72 C9 C1 C1 s#r#.!..9.s#r...
000130: E1 29 5E 23 56 23 ED 53 10 01 5E 23 56 23 ED 53 .)^#V#.S..^#V#.S
000140: 12 01 5E 23 56 23 D5 DD E1 5E 23 66 6B F9 60 69 ..^#V#...^#fk.`i
000150: E9 E1 C1 D1 D5 C5 E5 2A 10 01 E5 D5 2A 12 01 22 .......*....*.."
000160: 10 01 CB 3C CB 1D E5 EB 23 29 38 49 EB 2A 10 01 ...<....#)8I.*..
000170: 19 38 42 22 12 01 EB 21 CE FF 39 A7 ED 52 38 35 .8B"...!..9..R85
000180: 60 69 CD 9D 01 E1 E1 2A 10 01 22 12 01 E1 22 10 `i.....*.."...".
000190: 01 C9 D1 DD E5 ED 4B 10 01 C5 ED 4B 12 01 ED 43 ......K....K...C
0001A0: 10 01 09 38 10 22 12 01 44 4D 21 CE FF 39 A7 ED ...8."..DM!..9..
0001B0: 42 38 02 EB E9 CD CC 02 53 74 61 63 6B 20 6F 76 B8......Stack ov
0001C0: 65 72 66 6C 6F 77 0D 0A 00 C3 D6 01 E1 7E 23 E5 erflow.......~#.
0001D0: A7 C8 CD D7 02 18 F5 0E 02 5F C3 05 00 3A 14 01 ........._...:..
0001E0: 3D 32 14 01 C0 3A 15 01 32 14 01 CD 66 03 A7 C8 =2...:..2...f...
0001F0: E5 C5 F5 3A 0E 01 FE 08 28 0E 4F 06 00 21 D9 01 ...:....(.O..!..
Size : 512 (Real : 512)
000000: 09 3C 32 0E 01 F1 77 F5 F1 C1 E1 FE 03 28 03 FE .<2...w......(..
000010: FC C0 CD 66 03 A7 28 FA FE 03 28 03 FE FC C0 0E ...f..(...(.....
000020: 6C 11 00 FF CD 05 00 CD CC 02 0D 0A 2A 2A 20 42 l...........** B
000030: 52 45 41 4B 20 2A 2A 0D 0A 00 C3 D6 01 3A 0E 01 REAK **......:..
000040: A7 28 19 3A 0E 01 3D 32 0E 01 4F 06 00 3A D9 01 .(.:..=2..O..:..
000050: 28 10 21 DA 01 11 D9 01 ED B0 18 06 CD 66 03 A7 (.!..........f..
000060: 28 FA 5F 16 00 C9 E5 D5 C5 DD E5 0E 06 1E FF CD (._.............
000070: 05 00 DD E1 C1 D1 E1 C9 2A 06 00 2B CB 45 C8 2B ........*..+.E.+
000080: C9 C3 8C 03 08 07 06 05 04 03 02 01 21 00 00 CD ............!...
000090: 92 02 DD 21 88 FF DD 39 2A 86 03 11 D2 03 3E 02 ...!...9*.....>.
0000A0: C3 7E 01 DD 66 7F DD 6E 7E E5 CD 7B 0D E1 C3 DC .~..f..n~..{....
0000B0: 03 DD 66 7F DD 6E 7E E5 CD C5 0D E1 C3 DC 03 2A ..f..n~........*
0000C0: 86 03 E5 DD 66 7F DD 6E 7E E5 CD C4 0F E1 E1 C3 ....f..n~.......
0000D0: DC 03 01 00 B1 03 00 00 A3 03 BF 03 E1 22 10 01 ............."..
0000E0: DD E1 C9 21 00 00 CD 92 02 DD 21 9E FF DD 39 DD ...!......!...9.
0000F0: E5 E1 11 6A 00 19 CB 3C CB 1D E5 2A 14 04 E5 DD ...j...<...*....
000100: 66 69 DD 6E 68 29 6E 26 00 7C EE 80 67 22 14 04 fi.nh)n&.|..g"..
000110: 21 01 00 11 00 00 EB 42 4B 7A EE 80 57 ED 52 DA !......BKz..W.R.
000120: 9B 05 C5 DD 66 69 DD 6E 68 29 DD 56 5D DD 5E 5C ....fi.nh).V].^\
000130: 19 6E 26 00 E5 DD 66 5B DD 6E 5A 11 25 00 A7 ED .n&...f[.nZ.%...
000140: 52 C2 8A 05 DD 66 61 DD 6E 60 29 5E 23 56 EB E5 R....fa.n`)^#V..
000150: DD 66 5D DD 6E 5C 23 DD 74 5D DD 75 5C DD 66 69 .f].n\#.t].u\.fi
000160: DD 6E 68 29 DD 56 5D DD 5E 5C 19 6E 26 00 E5 DD .nh).V].^\.n&...
000170: 66 5D DD 6E 5C 23 E5 DD 66 69 DD 6E 68 29 D1 19 f].n\#..fi.nh)..
000180: 6E 26 00 E5 CD B0 16 E1 EB E5 DD 66 61 DD 6E 60 n&.........fa.n`
000190: 23 DD 74 61 DD 75 60 DD 66 57 DD 6E 56 11 57 05 #.ta.u`.fW.nV.W.
0001A0: 3E 07 C3 7E 01 DD 66 59 DD 6E 58 E5 CD A7 05 E1 >..~..fY.nX.....
0001B0: 21 00 00 EB C3 75 05 DD 66 59 DD 6E 58 E5 CD 8C !....u..fY.nX...
0001C0: 03 E1 21 00 00 EB C3 75 05 21 00 00 E5 DD 66 59 ..!....u.!....fY
0001D0: DD 6E 58 E5 CD 00 06 E1 E1 21 00 00 EB C3 75 05 .nX......!....u.
0001E0: DD 66 55 DD 6E 54 E5 DD 66 59 DD 6E 58 E5 CD ED .fU.nT..fY.nX...
0001F0: 07 E1 E1 21 01 00 EB C3 75 05 DD 66 55 DD 6E 54 ...!....u..fU.nT
Size : 512 (Real : 512)
000000: E5 DD 66 59 DD 6E 58 E5 CD 6B 07 E1 E1 21 01 00 ..fY.nX..k...!..
000010: EB C3 75 05 DD 66 55 DD 6E 54 E5 DD 66 59 DD 6E ..u..fU.nT..fY.n
000020: 58 E5 CD 00 06 E1 E1 21 01 00 EB C3 75 05 21 00 X......!....u.!.
000030: 00 EB C3 75 05 DD 66 57 DD 6E 56 E5 CD 8C 03 E1 ...u..fW.nV.....
000040: DD 66 61 DD 6E 60 2B DD 74 61 DD 75 60 21 00 00 .fa.n`+.ta.u`!..
000050: EB C3 75 05 C3 75 05 24 00 2E 05 49 00 14 05 58 ..u..u.$...I...X
000060: 00 FA 04 4F 00 E0 04 4E 00 C9 04 43 00 B7 04 53 ...O...N...C...S
000070: 00 A5 04 35 05 EB EB DD 66 5D DD 6E 5C 19 DD 74 ...5....f].n\..t
000080: 5D DD 75 5C E1 E1 E1 C3 95 05 DD 66 5B DD 6E 5A ].u\.......f[.nZ
000090: E5 CD 8C 03 E1 E1 E1 23 C3 13 04 E1 22 14 04 E1 .......#...."...
0000A0: E1 22 10 01 DD E1 C9 21 00 00 CD 92 02 DD 21 88 .".....!......!.
0000B0: FF DD 39 2A CC 05 E5 DD 66 7F DD 6E 7E 29 6E 26 ..9*....f..n~)n&
0000C0: 00 7C EE 80 67 22 CC 05 21 01 00 11 00 00 EB 42 .|..g"..!......B
0000D0: 4B 7A EE 80 57 ED 52 DA F5 05 C5 DD 66 7F DD 6E Kz..W.R.....f..n
0000E0: 7E 29 DD 56 75 DD 5E 74 19 6E 26 00 E5 CD 8C 03 ~).Vu.^t.n&.....
0000F0: E1 E1 23 18 D6 E1 22 CC 05 E1 22 10 01 DD E1 C9 ..#..."...".....
000100: 21 2A 00 CD 92 02 DD 21 8A FF DD 39 21 00 00 E5 !*.....!...9!...
000110: DD 66 7D DD 6E 7C E5 2A 10 01 CB 3C CB 1D E5 DD .f}.n|.*...<....
000120: 66 7D DD 6E 7C 7C EE 80 67 11 00 80 A7 ED 52 D2 f}.n||..g.....R.
000130: 54 06 DD 66 7F DD 6E 7E 2B DD 74 7F DD 75 7E DD T..f..n~+.t..u~.
000140: 66 73 DD 6E 72 7C EE FF 67 7D EE FF 6F 23 DD 74 fs.nr|..g}..o#.t
000150: 73 DD 75 72 DD 66 73 DD 6E 72 11 0A 00 CD 32 01 s.ur.fs.nr....2.
000160: EB E5 DD 66 71 DD 6E 70 DD 56 75 DD 5E 74 19 29 ...fq.np.Vu.^t.)
000170: D1 73 23 72 DD 66 73 DD 6E 72 11 0A 00 CD 32 01 .s#r.fs.nr....2.
000180: DD 74 73 DD 75 72 DD 66 75 DD 6E 74 23 DD 74 75 .ts.ur.fu.nt#.tu
000190: DD 75 74 DD 7E 73 DD B6 72 C2 54 06 2A B5 06 E5 .ut.~s..r.T.*...
0001A0: DD 66 7F DD 6E 7E 7C EE 80 67 22 B5 06 DD 66 75 .f..n~|..g"...fu
0001B0: DD 6E 74 23 11 00 00 EB 42 4B 7A EE 80 57 ED 52 .nt#....BKz..W.R
0001C0: DA D0 06 C5 21 20 00 E5 CD 8C 03 E1 E1 23 18 E4 ....! .......#..
0001D0: E1 22 B5 06 DD 66 7D DD 6E 7C 7C EE 80 67 11 00 ."...f}.n||..g..
0001E0: 80 A7 ED 52 D2 EF 06 21 2D 00 E5 CD 8C 03 E1 2A ...R...!-......*
0001F0: 05 07 E5 21 00 00 7C EE 80 67 22 05 07 DD 66 75 ...!..|..g"...fu
Size : 512 (Real : 512)
000000: DD 6E 74 2B 11 00 00 44 4D 7C EE 80 67 ED 52 DA .nt+...DM|..g.R.
000010: 32 07 C5 DD 66 71 DD 6E 70 DD 56 6D DD 5E 6C 19 2...fq.np.Vm.^l.
000020: 29 5E 23 56 EB 11 30 00 19 E5 CD 8C 03 E1 E1 2B )^#V..0........+
000030: 18 D2 E1 22 05 07 21 06 00 39 F9 2A 10 01 22 12 ..."..!..9.*..".
000040: 01 E1 22 10 01 DD E1 C9 21 00 00 CD 92 02 DD 21 ..".....!......!
000050: 88 FF DD 39 21 00 00 E5 DD 66 7F DD 6E 7E E5 CD ...9!....f..n~..
000060: 00 06 E1 E1 E1 22 10 01 DD E1 C9 21 00 00 CD 92 .....".....!....
000070: 02 DD 21 8A FF DD 39 DD 56 7F DD 5E 7E 7A EE 80 ..!...9.V..^~z..
000080: 57 21 01 80 A7 ED 52 D2 A4 07 DD 66 7F DD 6E 7E W!....R....f..n~
000090: 2B E5 DD 66 7D DD 6E 7C 11 04 00 CD FE 01 E5 CD +..f}.n|........
0000A0: 6B 07 E1 E1 21 D5 03 C3 CA 07 30 00 31 00 32 00 k...!.....0.1.2.
0000B0: 33 00 34 00 35 00 36 00 37 00 38 00 39 00 41 00 3.4.5.6.7.8.9.A.
0000C0: 42 00 43 00 44 00 45 00 46 00 E5 DD 66 7D DD 6E B.C.D.E.F...f}.n
0000D0: 7C 11 0F 00 7C A2 67 7D A3 6F D1 19 29 5E 23 56 |...|.g}.o..)^#V
0000E0: EB E5 CD 8C 03 E1 E1 22 10 01 DD E1 C9 21 00 00 .......".....!..
0000F0: CD 92 02 DD 21 8A FF DD 39 DD 56 7F DD 5E 7E 7A ....!...9.V..^~z
000100: EE 80 57 21 01 80 A7 ED 52 D2 26 08 DD 66 7F DD ..W!....R.&..f..
000110: 6E 7E 2B E5 DD 66 7D DD 6E 7C 11 03 00 CD FE 01 n~+..f}.n|......
000120: E5 CD ED 07 E1 E1 DD 66 7D DD 6E 7C 11 07 00 7C .......f}.n|...|
000130: A2 67 7D A3 6F 11 30 00 19 E5 CD 8C 03 E1 E1 22 .g}.o.0........"
000140: 10 01 DD E1 C9 21 00 00 CD 92 02 DD 21 86 FF DD .....!......!...
000150: 39 21 0D 01 E5 CD 8C 03 E1 E1 22 10 01 DD E1 C9 9!........".....
000160: 21 00 00 CD 92 02 DD 21 86 FF DD 39 2A 88 03 7C !......!...9*..|
000170: B5 CA 93 08 2A 88 03 E5 21 00 00 22 88 03 DD 66 ....*...!.."...f
000180: 79 DD 6E 78 22 8A 03 DD 66 79 DD 6E 78 EB E1 C3 y.nx"...fy.nx...
000190: AF 08 E1 2A 84 03 7C B5 C2 A2 08 CD 3D 03 EB C3 ...*..|.....=...
0001A0: AB 08 2A 84 03 E5 CD C4 0E E1 EB EB C3 AF 08 E1 ..*.............
0001B0: 22 10 01 DD E1 C9 21 00 00 CD 92 02 DD 21 86 FF ".....!......!..
0001C0: DD 39 2A 8A 03 22 88 03 E1 22 10 01 DD E1 C9 21 .9*.."...".....!
0001D0: 00 00 CD 92 02 DD 21 88 FF DD 39 21 00 00 E5 E5 ......!...9!....
0001E0: 2A F5 08 E5 DD 66 77 DD 6E 76 7C EE 80 67 22 F5 *....fw.nv|..g".
0001F0: 08 21 01 00 11 00 00 EB 42 4B 7A EE 80 57 ED 52 .!......BKz..W.R
Size : 512 (Real : 512)
000000: DA 20 09 C5 21 08 00 E5 CD 8C 03 E1 21 20 00 E5 . ..!.......! ..
000010: CD 8C 03 E1 21 08 00 E5 CD 8C 03 E1 E1 23 18 D4 ....!........#..
000020: E1 22 F5 08 21 00 00 DD 74 77 DD 75 76 CD 60 08 ."..!...tw.uv.`.
000030: EB DD 74 75 DD 75 74 DD 66 75 DD 6E 74 11 0D 00 ..tu.ut.fu.nt...
000040: A7 ED 52 CA 00 0A DD 66 75 DD 6E 74 11 FC 00 A7 ..R....fu.nt....
000050: ED 52 CA 00 0A DD 66 75 DD 6E 74 11 03 00 A7 ED .R....fu.nt.....
000060: 52 CA 00 0A DD 66 75 DD 6E 74 11 7F 00 A7 ED 52 R....fu.nt.....R
000070: C2 AF 09 DD 7E 77 DD B6 76 C2 87 09 21 07 00 E5 ....~w..v...!...
000080: CD 8C 03 E1 C3 AC 09 21 08 00 E5 CD 8C 03 E1 21 .......!.......!
000090: 20 00 E5 CD 8C 03 E1 21 08 00 E5 CD 8C 03 E1 DD ......!........
0000A0: 66 77 DD 6E 76 2B DD 74 77 DD 75 76 C3 F3 09 DD fw.nv+.tw.uv....
0000B0: 66 77 DD 6E 76 11 FF 00 A7 ED 52 C2 C9 09 21 07 fw.nv.....R...!.
0000C0: 00 E5 CD 8C 03 E1 C3 F3 09 DD 66 75 DD 6E 74 E5 ..........fu.nt.
0000D0: CD 8C 03 E1 DD 66 77 DD 6E 76 23 DD 74 77 DD 75 .....fw.nv#.tw.u
0000E0: 76 DD 66 7F DD 6E 7E 29 DD 56 77 DD 5E 76 19 DD v.f..n~).Vw.^v..
0000F0: 7E 74 77 CD 60 08 EB DD 74 75 DD 75 74 C3 37 09 ~tw.`...tu.ut.7.
000100: DD 66 75 DD 6E 74 11 FC 00 A7 ED 52 CA 1E 0A DD .fu.nt.....R....
000110: 66 75 DD 6E 74 11 03 00 A7 ED 52 C2 27 0A DD 7E fu.nt.....R.'..~
000120: 77 DD B6 76 C2 E0 08 DD 66 75 DD 6E 74 11 FC 00 w..v....fu.nt...
000130: A7 ED 52 CA 45 0A DD 66 75 DD 6E 74 11 03 00 A7 ..R.E..fu.nt....
000140: ED 52 C2 4B 0A 21 00 00 C3 51 0A DD 66 77 DD 6E .R.K.!...Q..fw.n
000150: 76 E5 DD 66 7F DD 6E 7E 29 D1 73 DD 66 75 DD 6E v..f..n~).s.fu.n
000160: 74 11 03 00 A7 ED 52 21 FF FF 28 03 21 00 00 E5 t.....R!..(.!...
000170: DD 66 75 DD 6E 74 11 FC 00 A7 ED 52 21 FF FF 28 .fu.nt.....R!..(
000180: 03 21 00 00 D1 7C B2 67 7D B3 6F 7C EE FF 67 7D .!...|.g}.o|..g}
000190: EE FF 6F EB E1 E1 C3 9B 0A E1 E1 E1 22 10 01 DD ..o........."...
0001A0: E1 C9 21 02 01 CD 92 02 DD 21 86 FF DD 39 2A 10 ..!......!...9*.
0001B0: 01 CB 3C CB 1D E5 DD 66 79 DD 6E 78 E5 CD CF 08 ..<....fy.nx....
0001C0: E1 21 0A 00 E5 DD 66 79 DD 6E 78 E5 CD E5 0A E1 .!....fy.nx.....
0001D0: E1 EB EB E1 C3 D8 0A E1 2A 10 01 22 12 01 E1 22 ........*.."..."
0001E0: 10 01 DD E1 C9 21 00 00 CD 92 02 DD 21 8A FF DD .....!......!...
0001F0: 39 21 01 00 E5 21 00 00 E5 DD 66 7D DD 6E 7C 29 9!...!....f}.n|)
Size : 512 (Real : 512)
000000: 6E 26 00 DD 56 75 DD 5E 74 7C EE 80 67 7A EE 80 n&..Vu.^t|..gz..
000010: 57 A7 ED 52 DA A3 0B DD 66 7D DD 6E 7C 29 DD 56 W..R....f}.n|).V
000020: 75 DD 5E 74 19 6E 26 00 E5 CD B0 16 E1 EB 7C EE u.^t.n&.......|.
000030: 80 67 11 00 80 A7 ED 52 DA A3 0B DD 66 7D DD 6E .g.....R....f}.n
000040: 7C 29 DD 56 75 DD 5E 74 19 6E 26 00 E5 CD B0 16 |).Vu.^t.n&.....
000050: E1 DD 66 7F DD 6E 7E 7C EE 80 67 7A EE 80 57 A7 ..f..n~|..gz..W.
000060: ED 52 DA A3 0B DD 66 7D DD 6E 7C 29 DD 56 75 DD .R....f}.n|).Vu.
000070: 5E 74 19 6E 26 00 E5 CD B0 16 E1 D5 DD 66 73 DD ^t.n&........fs.
000080: 6E 72 DD 56 7F DD 5E 7E CD 16 01 D1 19 DD 74 73 nr.V..^~......ts
000090: DD 75 72 DD 66 75 DD 6E 74 23 DD 74 75 DD 75 74 .ur.fu.nt#.tu.ut
0000A0: C3 F9 0A DD 66 73 DD 6E 72 EB E1 E1 C3 B1 0B E1 ....fs.nr.......
0000B0: E1 E1 22 10 01 DD E1 C9 21 00 00 CD 92 02 DD 21 ..".....!......!
0000C0: 8A FF DD 39 21 0F 00 E5 DD 66 7F DD 6E 7E 29 E5 ...9!....f..n~).
0000D0: DD 66 7F DD 6E 7E E5 DD 66 7D DD 6E 7C E5 CD 11 .f..n~..f}.n|...
0000E0: 12 E1 E1 DD E5 E1 11 72 00 19 CB 3C CB 1D E5 DD .......r...<....
0000F0: E5 E1 11 74 00 19 CB 3C CB 1D E5 CD 2D 14 E1 E1 ...t...<....-...
000100: DD 66 7F DD 6E 7E 11 11 00 19 29 36 A4 23 36 00 .f..n~....)6.#6.
000110: DD 66 75 DD 6E 74 11 FF 00 A7 ED 52 21 FF FF 20 .fu.nt.....R!..
000120: 03 21 00 00 EB E1 E1 C3 2C 0C E1 E1 E1 22 10 01 .!......,...."..
000130: DD E1 C9 21 00 00 CD 92 02 DD 21 86 FF DD 39 2A ...!......!...9*
000140: 84 03 E5 21 00 00 22 84 03 DD 56 79 DD 5E 78 7A ...!.."...Vy.^xz
000150: EE 80 57 21 00 80 A7 ED 52 D2 6B 0C DD 66 79 DD ..W!....R.k..fy.
000160: 6E 78 E5 CD 7D 0F E1 EB C3 6E 0C 21 FF FF EB E1 nx..}....n.!....
000170: C3 74 0C E1 E1 22 10 01 DD E1 C9 21 00 00 CD 92 .t...".....!....
000180: 02 DD 21 86 FF DD 39 ED 5B 84 03 7A EE 80 57 21 ..!...9.[..z..W!
000190: 00 80 A7 ED 52 D2 A0 0C 2A 84 03 E5 CD 94 0F E1 ....R...*.......
0001A0: E1 22 10 01 DD E1 C9 21 00 00 CD 92 02 DD 21 8A .".....!......!.
0001B0: FF DD 39 21 16 00 E5 DD 66 7F DD 6E 7E 29 E5 DD ..9!....f..n~)..
0001C0: 66 7F DD 6E 7E E5 DD 66 7D DD 6E 7C E5 CD 11 12 f..n~..f}.n|....
0001D0: E1 E1 DD 66 7F DD 6E 7E 29 E5 21 13 00 E5 CD 6F ...f..n~).!....o
0001E0: 14 E1 E1 DD E5 E1 11 72 00 19 CB 3C CB 1D E5 DD .......r...<....
0001F0: E5 E1 11 74 00 19 CB 3C CB 1D E5 CD 2D 14 E1 E1 ...t...<....-...
Size : 512 (Real : 512)
000000: DD 66 7F DD 6E 7E 11 11 00 19 29 36 24 23 36 00 .f..n~....)6$#6.
000010: DD 66 75 DD 6E 74 11 FF 00 A7 ED 52 21 FF FF 20 .fu.nt.....R!..
000020: 03 21 00 00 EB E1 E1 C3 2C 0D E1 E1 E1 22 10 01 .!......,...."..
000030: DD E1 C9 21 00 00 CD 92 02 DD 21 86 FF DD 39 2A ...!......!...9*
000040: 86 03 E5 21 00 00 22 86 03 DD 56 79 DD 5E 78 7A ...!.."...Vy.^xz
000050: EE 80 57 21 00 80 A7 ED 52 D2 6B 0D DD 66 79 DD ..W!....R.k..fy.
000060: 6E 78 E5 CD 94 10 E1 EB C3 6E 0D 21 FF FF EB E1 nx.......n.!....
000070: C3 74 0D E1 E1 22 10 01 DD E1 C9 21 00 00 CD 92 .t...".....!....
000080: 02 DD 21 88 FF DD 39 DD 66 7F DD 6E 7E 11 0D 01 ..!...9.f..n~...
000090: A7 ED 52 C2 A7 0D 21 0D 00 E5 CD 7B 0D E1 21 0A ..R...!....{..!.
0000A0: 00 DD 74 7F DD 75 7E DD 66 7F DD 6E 7E E5 21 02 ..t..u~.f..n~.!.
0000B0: 00 E5 CD 6F 14 E1 E1 21 FF FF EB C3 BE 0D E1 22 ...o...!......."
0000C0: 10 01 DD E1 C9 21 00 00 CD 92 02 DD 21 88 FF DD .....!......!...
0000D0: 39 DD 66 7F DD 6E 7E 11 0D 01 A7 ED 52 C2 F1 0D 9.f..n~.....R...
0000E0: 21 0D 00 E5 CD C5 0D E1 21 0A 00 DD 74 7F DD 75 !.......!...t..u
0000F0: 7E DD 66 7F DD 6E 7E E5 21 05 00 E5 CD 6F 14 E1 ~.f..n~.!....o..
000100: E1 21 FF FF EB C3 08 0E E1 22 10 01 DD E1 C9 21 .!.......".....!
000110: 00 00 CD 92 02 DD 21 86 FF DD 39 E5 DD E5 E1 11 ......!...9.....
000120: 78 00 19 CB 3C CB 1D E5 21 0F 00 E5 CD 92 14 E1 x...<...!.......
000130: E1 DD 66 79 DD 6E 78 11 00 00 A7 ED 52 21 FF FF ..fy.nx.....R!..
000140: 28 03 21 00 00 EB E1 C3 4B 0E E1 E1 22 10 01 DD (.!.....K..."...
000150: E1 C9 21 00 00 CD 92 02 DD 21 86 FF DD 39 21 0B ..!......!...9!.
000160: 00 E5 E5 DD E5 E1 11 76 00 19 CB 3C CB 1D E5 DD .......v...<....
000170: E5 E1 11 78 00 19 CB 3C CB 1D E5 CD 2D 14 E1 E1 ...x...<....-...
000180: DD 66 79 DD 6E 78 11 01 00 A7 ED 52 21 FF FF 28 .fy.nx.....R!..(
000190: 03 21 00 00 EB E1 E1 C3 9C 0E E1 E1 E1 22 10 01 .!..........."..
0001A0: DD E1 C9 21 00 00 CD 92 02 DD 21 86 FF DD 39 CD ...!......!...9.
0001B0: 52 0E EB 7C B5 CA BD 0E CD 3D 03 18 F2 E1 22 10 R..|.....=....".
0001C0: 01 DD E1 C9 21 00 00 CD 92 02 DD 21 88 FF DD 39 ....!......!...9
0001D0: 21 00 00 E5 21 00 00 E5 DD 66 7F DD 6E 7E 11 11 !...!....f..n~..
0001E0: 00 19 29 5E 23 56 EB 11 A4 00 A7 ED 52 C2 1A 0F ..)^#V......R...
0001F0: DD 66 7F DD 6E 7E E5 CD 37 11 E1 EB 7C EE FF 67 .f..n~..7...|..g
Size : 512 (Real : 512)
000000: 7D EE FF 6F DD 74 75 DD 75 74 DD 66 7F DD 6E 7E }..o.tu.ut.f..n~
000010: 11 11 00 19 29 36 24 23 36 00 DD 66 7F DD 6E 7E ....)6$#6..f..n~
000020: 11 11 00 19 29 5E 23 56 EB E5 DD 66 7F DD 6E 7E ....)^#V...f..n~
000030: 29 D1 19 6E 26 00 DD 74 77 DD 75 76 DD 66 7F DD )..n&..tw.uv.f..
000040: 6E 7E 11 11 00 19 29 5E 23 56 EB 23 E5 DD 66 7F n~....)^#V.#..f.
000050: DD 6E 7E 11 11 00 19 29 D1 73 23 72 DD 66 77 DD .n~....).s#r.fw.
000060: 6E 76 DD 56 75 DD 5E 74 7C B2 67 7D B3 6F EB E1 nv.Vu.^t|.g}.o..
000070: E1 C3 76 0F E1 E1 E1 22 10 01 DD E1 C9 21 00 00 ..v....".....!..
000080: CD 92 02 DD 21 88 FF DD 39 21 FF FF EB E1 22 10 ....!...9!....".
000090: 01 DD E1 C9 21 00 00 CD 92 02 DD 21 88 FF DD 39 ....!......!...9
0000A0: DD 66 7F DD 6E 7E 29 11 20 00 19 36 00 DD 66 7F .f..n~). ..6..f.
0000B0: DD 6E 7E 11 11 00 19 29 36 A4 23 36 00 E1 22 10 .n~....)6.#6..".
0000C0: 01 DD E1 C9 21 00 00 CD 92 02 DD 21 8A FF DD 39 ....!......!...9
0000D0: 21 FF FF E5 DD 66 7D DD 6E 7C 11 0D 01 A7 ED 52 !....f}.n|.....R
0000E0: C2 0A 10 DD 66 7F DD 6E 7E E5 21 0D 00 E5 CD C4 ....f..n~.!.....
0000F0: 0F E1 E1 EB 7C B5 C2 01 10 21 00 00 EB E1 C3 8D ....|....!......
000100: 10 21 0A 00 DD 74 7D DD 75 7C DD 66 7F DD 6E 7E .!...t}.u|.f..n~
000110: 11 11 00 19 29 5E 23 56 EB 11 A4 00 A7 ED 52 C2 ....)^#V......R.
000120: 44 10 DD 66 7F DD 6E 7E E5 CD A4 11 E1 EB DD 74 D..f..n~.......t
000130: 75 DD 75 74 DD 66 7F DD 6E 7E 11 11 00 19 29 36 u.ut.f..n~....)6
000140: 24 23 36 00 DD 66 7F DD 6E 7E 11 11 00 19 29 5E $#6..f..n~....)^
000150: 23 56 EB E5 DD 66 7F DD 6E 7E 29 D1 19 DD 7E 7C #V...f..n~)...~|
000160: 77 DD 66 7F DD 6E 7E 11 11 00 19 29 5E 23 56 EB w.f..n~....)^#V.
000170: 23 E5 DD 66 7F DD 6E 7E 11 11 00 19 29 D1 73 23 #..f..n~....).s#
000180: 72 DD 66 75 DD 6E 74 EB E1 C3 8D 10 E1 E1 22 10 r.fu.nt.......".
000190: 01 DD E1 C9 21 00 00 CD 92 02 DD 21 88 FF DD 39 ....!......!...9
0001A0: 21 10 00 E5 DD 66 7F DD 6E 7E 29 E5 DD 66 7F DD !....f..n~)..f..
0001B0: 6E 7E 11 11 00 19 29 5E 23 56 EB 11 A4 00 A7 ED n~....)^#V......
0001C0: 52 CA D4 10 DD 66 7F DD 6E 7E E5 21 1A 00 E5 CD R....f..n~.!....
0001D0: C4 0F E1 E1 DD 66 7F DD 6E 7E 11 11 00 19 29 5E .....f..n~....)^
0001E0: 23 56 EB 11 24 00 A7 ED 52 CA F7 10 DD 66 7F DD #V..$...R....f..
0001F0: 6E 7E E5 CD A4 11 E1 DD E5 E1 11 74 00 19 CB 3C n~.........t...<
Size : 512 (Real : 512)
000000: CB 1D E5 DD E5 E1 11 76 00 19 CB 3C CB 1D E5 CD .......v...<....
000010: 2D 14 E1 E1 DD 66 77 DD 6E 76 11 FF 00 A7 ED 52 -....fw.nv.....R
000020: 21 FF FF 20 03 21 00 00 EB E1 E1 C3 30 11 E1 E1 !.. .!......0...
000030: E1 22 10 01 DD E1 C9 21 00 00 CD 92 02 DD 21 88 .".....!......!.
000040: FF DD 39 21 14 00 E5 DD 66 7F DD 6E 7E 29 E5 DD ..9!....f..n~)..
000050: 66 7F DD 6E 7E 29 11 24 00 19 E5 21 1A 00 E5 CD f..n~).$...!....
000060: 6F 14 E1 E1 DD E5 E1 11 74 00 19 CB 3C CB 1D E5 o.......t...<...
000070: DD E5 E1 11 76 00 19 CB 3C CB 1D E5 CD 2D 14 E1 ....v...<....-..
000080: E1 DD 66 77 DD 6E 76 11 00 00 A7 ED 52 21 FF FF ..fw.nv.....R!..
000090: 28 03 21 00 00 EB E1 E1 C3 9D 11 E1 E1 E1 22 10 (.!...........".
0000A0: 01 DD E1 C9 21 00 00 CD 92 02 DD 21 88 FF DD 39 ....!......!...9
0000B0: 21 15 00 E5 DD 66 7F DD 6E 7E 29 E5 DD 66 7F DD !....f..n~)..f..
0000C0: 6E 7E 29 11 24 00 19 E5 21 1A 00 E5 CD 6F 14 E1 n~).$...!....o..
0000D0: E1 DD E5 E1 11 74 00 19 CB 3C CB 1D E5 DD E5 E1 .....t...<......
0000E0: 11 76 00 19 CB 3C CB 1D E5 CD 2D 14 E1 E1 DD 66 .v...<....-....f
0000F0: 77 DD 6E 76 11 00 00 A7 ED 52 21 FF FF 28 03 21 w.nv.....R!..(.!
000100: 00 00 EB E1 E1 C3 0A 12 E1 E1 E1 22 10 01 DD E1 ..........."....
000110: C9 21 00 00 CD 92 02 DD 21 8A FF DD 39 21 01 00 .!......!...9!..
000120: E5 21 01 00 E5 21 00 00 E5 21 FF FF E5 2A 3F 12 .!...!...!...*?.
000130: E5 21 0B 00 7C EE 80 67 22 3F 12 21 01 00 11 00 .!..|..g"?.!....
000140: 00 EB 42 4B 7A EE 80 57 ED 52 DA 62 12 C5 DD 66 ..BKz..W.R.b...f
000150: 7F DD 6E 7E 29 DD 56 6B DD 5E 6A 19 36 20 E1 23 ..n~).Vk.^j.6 .#
000160: 18 DC E1 22 3F 12 DD 66 7F DD 6E 7E 29 36 00 DD ..."?..f..n~)6..
000170: 66 7D DD 6E 7C 29 6E 26 00 DD 56 75 DD 5E 74 7C f}.n|)n&..Vu.^t|
000180: EE 80 67 7A EE 80 57 A7 ED 52 DA 6D 13 DD 66 7D ..gz..W..R.m..f}
000190: DD 6E 7C 29 DD 56 75 DD 5E 74 19 6E 26 00 E5 CD .n|).Vu.^t.n&...
0001A0: 43 16 E1 EB DD 74 71 DD 75 70 DD 66 75 DD 6E 74 C....tq.up.fu.nt
0001B0: 23 DD 74 75 DD 75 74 DD 66 73 DD 6E 72 11 02 00 #.tu.ut.fs.nr...
0001C0: A7 ED 52 C2 0F 13 DD 66 6F DD 6E 6E 7C B5 CA 0F ..R....fo.nn|...
0001D0: 13 DD 66 71 DD 6E 70 11 3A 00 A7 ED 52 C2 0F 13 ..fq.np.:...R...
0001E0: DD 66 7F DD 6E 7E 29 23 6E 26 00 11 BF FF 19 23 .f..n~)#n&.....#
0001F0: E5 DD 66 7F DD 6E 7E 29 D1 73 21 01 00 DD 74 73 ..f..n~).s!...ts
Size : 512 (Real : 512)
000000: DD 75 72 21 00 00 DD 74 6F DD 75 6E C3 6F 12 DD .ur!...to.un.o..
000010: 66 71 DD 6E 70 11 2E 00 A7 ED 52 C2 2A 13 21 09 fq.np.....R.*.!.
000020: 00 DD 74 73 DD 75 72 C3 6D 13 DD 66 73 DD 6E 72 ..ts.ur.m..fs.nr
000030: 11 09 00 A7 ED 52 CA 48 13 DD 66 71 DD 6E 70 11 .....R.H..fq.np.
000040: 20 00 A7 ED 52 C2 4B 13 C3 6D 13 DD 66 7F DD 6E ...R.K..m..f..n
000050: 7E 29 DD 56 73 DD 5E 72 19 DD 7E 70 77 DD 66 73 ~).Vs.^r..~pw.fs
000060: DD 6E 72 23 DD 74 73 DD 75 72 C3 6F 12 DD 66 71 .nr#.ts.ur.o..fq
000070: DD 6E 70 11 2E 00 A7 ED 52 C2 07 14 DD 66 7D DD .np.....R....f}.
000080: 6E 7C 29 6E 26 00 DD 56 75 DD 5E 74 7C EE 80 67 n|)n&..Vu.^t|..g
000090: 7A EE 80 57 A7 ED 52 DA 07 14 DD 66 7D DD 6E 7C z..W..R....f}.n|
0000A0: 29 DD 56 75 DD 5E 74 19 6E 26 00 E5 CD 43 16 E1 ).Vu.^t.n&...C..
0000B0: EB DD 74 71 DD 75 70 DD 66 75 DD 6E 74 23 DD 74 ..tq.up.fu.nt#.t
0000C0: 75 DD 75 74 DD 66 71 DD 6E 70 11 20 00 A7 ED 52 u.ut.fq.np. ...R
0000D0: CA E2 13 DD 66 73 DD 6E 72 11 0C 00 A7 ED 52 C2 ....fs.nr.....R.
0000E0: E5 13 C3 07 14 DD 66 7F DD 6E 7E 29 DD 56 73 DD ......f..n~).Vs.
0000F0: 5E 72 19 DD 7E 70 77 DD 66 73 DD 6E 72 23 DD 74 ^r..~pw.fs.nr#.t
000100: 73 DD 75 72 C3 7C 13 DD 66 7F DD 6E 7E 29 11 0C s.ur.|..f..n~)..
000110: 00 19 36 00 DD 66 7F DD 6E 7E 29 11 20 00 19 36 ..6..f..n~). ..6
000120: 00 21 08 00 39 F9 E1 22 10 01 DD E1 C9 21 00 00 .!..9..".....!..
000130: CD 92 02 DD 21 8A FF DD 39 DD 66 7F DD 6E 7E 29 ....!...9.f..n~)
000140: 5E 23 56 DD 66 7D DD 6E 7C 29 4E DD E5 CD 05 00 ^#V.f}.n|)N.....
000150: DD E1 EB DD 66 7F DD 6E 7E 29 73 23 72 DD 66 7D ....f..n~)s#r.f}
000160: DD 6E 7C 29 77 23 36 00 E1 22 10 01 DD E1 C9 21 .n|)w#6..".....!
000170: 00 00 CD 92 02 DD 21 8A FF DD 39 DD 56 7F DD 5E ......!...9.V..^
000180: 7E DD 4E 7C DD E5 CD 05 00 DD E1 E1 22 10 01 DD ~.N|........"...
000190: E1 C9 21 04 00 CD 92 02 DD 21 8A FF DD 39 2A 10 ..!......!...9*.
0001A0: 01 CB 3C CB 1D E5 21 00 00 29 11 80 00 19 6E 26 ..<...!..)....n&
0001B0: 00 E5 DD 66 75 DD 6E 74 29 D1 73 21 00 00 29 11 ...fu.nt).s!..).
0001C0: 81 00 19 6E 26 00 E5 DD 66 75 DD 6E 74 29 23 D1 ...n&...fu.nt)#.
0001D0: 73 21 00 00 29 11 82 00 19 6E 26 00 E5 DD 66 75 s!..)....n&...fu
0001E0: DD 6E 74 29 11 02 00 19 D1 73 21 00 00 29 11 80 .nt).....s!..)..
0001F0: 00 19 36 C3 DD 66 7D DD 6E 7C 2B 54 5D 29 19 E5 ..6..f}.n|+T])..
Size : 512 (Real : 512)
000000: 21 00 00 29 11 02 00 19 6E 26 00 EB 21 00 01 CD !..)....n&..!...
000010: 16 01 E5 21 00 00 29 23 6E 26 00 D1 19 D1 19 23 ...!..)#n&.....#
000020: E5 21 00 00 29 D1 19 6E 26 00 E5 21 00 00 29 11 .!..)..n&..!..).
000030: 81 00 19 D1 73 DD 66 7D DD 6E 7C 2B 54 5D 29 19 ....s.f}.n|+T]).
000040: E5 21 00 00 29 11 02 00 19 6E 26 00 EB 21 00 01 .!..)....n&..!..
000050: CD 16 01 E5 21 00 00 29 23 6E 26 00 D1 19 D1 19 ....!..)#n&.....
000060: 11 02 00 19 E5 21 00 00 29 D1 19 6E 26 00 E5 21 .....!..)..n&..!
000070: 00 00 29 11 82 00 19 D1 73 DD E5 CD 80 00 DD E1 ..).....s.......
000080: DD 66 7F DD 6E 7E 29 77 23 36 00 DD 66 75 DD 6E .f..n~)w#6..fu.n
000090: 74 29 6E 26 00 E5 21 00 00 29 11 80 00 19 D1 73 t)n&..!..).....s
0000A0: DD 66 75 DD 6E 74 29 23 6E 26 00 E5 21 00 00 29 .fu.nt)#n&..!..)
0000B0: 11 81 00 19 D1 73 DD 66 75 DD 6E 74 29 11 02 00 .....s.fu.nt)...
0000C0: 19 6E 26 00 E5 21 00 00 29 11 82 00 19 D1 73 E1 .n&..!..).....s.
0000D0: 2A 10 01 22 12 01 E1 22 10 01 DD E1 C9 21 00 00 *.."...".....!..
0000E0: CD 92 02 DD 21 88 FF DD 39 DD 66 7F DD 6E 7E 22 ....!...9.f..n~"
0000F0: 84 03 E1 22 10 01 DD E1 C9 21 00 00 CD 92 02 DD ...".....!......
000100: 21 88 FF DD 39 DD 66 7F DD 6E 7E 22 86 03 E1 22 !...9.f..n~"..."
000110: 10 01 DD E1 C9 21 00 00 CD 92 02 DD 21 86 FF DD .....!......!...
000120: 39 2A 84 03 EB E1 22 10 01 DD E1 C9 21 00 00 CD 9*....".....!...
000130: 92 02 DD 21 86 FF DD 39 2A 86 03 EB E1 22 10 01 ...!...9*...."..
000140: DD E1 C9 21 00 00 CD 92 02 DD 21 88 FF DD 39 DD ...!......!...9.
000150: 66 7F DD 6E 7E 7C EE 80 67 11 61 80 A7 ED 52 DA f..n~|..g.a...R.
000160: 82 16 DD 56 7F DD 5E 7E 7A EE 80 57 21 7A 80 A7 ...V..^~z..W!z..
000170: ED 52 DA 82 16 DD 66 7F DD 6E 7E 11 E0 FF 19 C3 .R....f..n~.....
000180: 88 16 DD 66 7F DD 6E 7E EB E1 22 10 01 DD E1 C9 ...f..n~..".....
000190: 21 00 00 CD 92 02 DD 21 88 FF DD 39 DD 66 7F DD !......!...9.f..
0001A0: 6E 7E E5 CD 43 16 E1 EB EB E1 22 10 01 DD E1 C9 n~..C.....".....
0001B0: 21 00 00 CD 92 02 DD 21 88 FF DD 39 DD 66 7F DD !......!...9.f..
0001C0: 6E 7E 7C EE 80 67 11 30 80 A7 ED 52 DA EF 16 DD n~|..g.0...R....
0001D0: 56 7F DD 5E 7E 7A EE 80 57 21 39 80 A7 ED 52 DA V..^~z..W!9...R.
0001E0: EF 16 DD 66 7F DD 6E 7E 11 D0 FF 19 C3 FD 16 DD ...f..n~........
0001F0: 66 7F DD 6E 7E 11 BF FF 19 11 0A 00 19 EB E1 22 f..n~.........."
Size : 512 (Real : 512)
000000: 10 01 DD E1 C9 C3 20 17 18 17 16 15 14 13 12 11 ...... .........
000010: 10 0F 0E 0D 0C 0B 0A 09 08 07 06 05 04 03 02 01 ................
000020: C3 28 17 00 04 03 02 01 21 00 00 CD 92 02 DD 21 .(......!......!
000030: 8C FF DD 39 DD 66 7B DD 6E 7A DD 56 7D DD 5E 7C ...9.f{.nz.V}.^|
000040: DD 46 7F DD 4E 7E A7 ED 52 19 38 04 ED B0 18 08 .F..N~..R.8.....
000050: 0B 09 EB 09 EB 03 ED B8 E1 22 10 01 DD E1 C9 21 .........".....!
000060: 04 00 CD 92 02 DD 21 92 FF DD 39 2A 10 01 CB 3C ......!...9*...<
000070: CB 1D E5 21 03 00 E5 DD 66 6D DD 6E 6C 29 E5 21 ...!....fm.nl).!
000080: 90 00 E5 CD 28 17 21 06 00 39 F9 21 00 00 29 11 ....(.!..9.!..).
000090: 90 00 19 36 C3 DD 66 75 DD 6E 74 11 FF 00 7C A2 ...6..fu.nt...|.
0000A0: 67 7D A3 6F E5 21 00 00 29 11 91 00 19 D1 73 DD g}.o.!..).....s.
0000B0: 66 75 DD 6E 74 11 00 FF 7C A2 67 7D A3 6F 11 08 fu.nt...|.g}.o..
0000C0: 00 CD FE 01 E5 21 00 00 29 11 92 00 19 D1 73 DD .....!..).....s.
0000D0: E5 DD 66 77 DD 6E 76 29 5E 23 56 D5 DD 66 79 DD ..fw.nv)^#V..fy.
0000E0: 6E 78 29 4E 23 46 DD 66 7F DD 6E 7E 29 5E 23 56 nx)N#F.f..n~)^#V
0000F0: D5 DD 66 7D DD 6E 7C 29 5E 23 56 D5 DD 66 7B DD ..f}.n|)^#V..f{.
000100: 6E 7A 29 5E 23 56 E1 DD E1 F1 CD 90 00 DD 22 90 nz)^#V........".
000110: 00 DD E1 F5 E5 DD 66 7B DD 6E 7A 29 73 23 72 DD ......f{.nz)s#r.
000120: 66 7D DD 6E 7C 29 D1 73 23 72 DD 66 7F DD 6E 7E f}.n|).s#r.f..n~
000130: 29 ED 5B 90 00 73 23 72 DD 66 79 DD 6E 78 29 71 ).[..s#r.fy.nx)q
000140: 23 70 DD 66 77 DD 6E 76 29 D1 73 23 72 21 03 00 #p.fw.nv).s#r!..
000150: E5 21 90 00 E5 DD 66 6D DD 6E 6C 29 E5 CD 28 17 .!....fm.nl)..(.
000160: 21 06 00 39 F9 E1 2A 10 01 22 12 01 E1 22 10 01 !..9..*.."..."..
000170: DD E1 C9 21 08 00 CD 92 02 DD 21 92 FF DD 39 2A ...!......!...9*
000180: 10 01 CB 3C CB 1D E5 21 06 00 E5 DD 66 6D DD 6E ...<...!....fm.n
000190: 6C 29 E5 21 80 00 E5 CD 28 17 21 06 00 39 F9 21 l).!....(.!..9.!
0001A0: 00 00 29 11 80 00 19 36 CD 21 00 00 29 11 02 00 ..)....6.!..)...
0001B0: 19 6E 26 00 EB 21 00 01 CD 16 01 E5 21 00 00 29 .n&..!......!..)
0001C0: 23 6E 26 00 D1 19 11 57 00 19 23 E5 21 00 00 29 #n&....W..#.!..)
0001D0: D1 19 6E 26 00 E5 21 00 00 29 11 81 00 19 D1 73 ..n&..!..).....s
0001E0: 21 00 00 29 11 02 00 19 6E 26 00 EB 21 00 01 CD !..)....n&..!...
0001F0: 16 01 E5 21 00 00 29 23 6E 26 00 D1 19 11 57 00 ...!..)#n&....W.
Size : 512 (Real : 512)
000000: 19 11 02 00 19 E5 21 00 00 29 D1 19 6E 26 00 E5 ......!..)..n&..
000010: 21 00 00 29 11 82 00 19 D1 73 DD 66 75 DD 6E 74 !..).....s.fu.nt
000020: 11 FF 00 7C A2 67 7D A3 6F E5 21 00 00 29 11 83 ...|.g}.o.!..)..
000030: 00 19 D1 73 DD 66 75 DD 6E 74 11 00 FF 7C A2 67 ...s.fu.nt...|.g
000040: 7D A3 6F 11 08 00 CD FE 01 E5 21 00 00 29 11 84 }.o.......!..)..
000050: 00 19 D1 73 21 00 00 29 11 85 00 19 36 C9 DD 66 ...s!..)....6..f
000060: 7F DD 6E 7E E5 DD 66 7D DD 6E 7C E5 DD 66 7B DD ..n~..f}.n|..f{.
000070: 6E 7A E5 DD 66 79 DD 6E 78 E5 DD 66 77 DD 6E 76 nz..fy.nx..fw.nv
000080: E5 21 80 00 E5 CD 5F 17 21 0C 00 39 F9 21 06 00 .!...._.!..9.!..
000090: E5 21 80 00 E5 DD 66 6D DD 6E 6C 29 E5 CD 28 17 .!....fm.nl)..(.
0000A0: 21 06 00 39 F9 E1 2A 10 01 22 12 01 E1 22 10 01 !..9..*.."..."..
0000B0: DD E1 C9 21 00 00 CD 92 02 DD 21 86 FF DD 39 21 ...!......!...9!
0000C0: 0C 00 E5 E5 E5 E5 E5 E5 DD E5 E1 11 76 00 19 CB ............v...
0000D0: 3C CB 1D E5 DD E5 E1 11 78 00 19 CB 3C CB 1D E5 <.......x...<...
0000E0: CD 2D 14 E1 E1 DD 66 77 DD 6E 76 11 FF 00 7C A2 .-....fw.nv...|.
0000F0: 67 7D A3 6F 7C EE 80 67 11 30 80 A7 ED 52 D2 0D g}.o|..g.0...R..
000100: 1A 21 02 00 EB 21 0C 00 39 F9 C3 7F 1A DD E5 E1 .!...!..9.......
000110: 11 6E 00 19 CB 3C CB 1D E5 DD E5 E1 11 70 00 19 .n...<.......p..
000120: CB 3C CB 1D E5 DD E5 E1 11 76 00 19 CB 3C CB 1D .<.......v...<..
000130: E5 DD E5 E1 11 72 00 19 CB 3C CB 1D E5 DD E5 E1 .....r...<......
000140: 11 74 00 19 CB 3C CB 1D E5 21 E3 00 E5 CD 73 18 .t...<...!....s.
000150: 21 0C 00 39 F9 DD 66 75 DD 6E 74 11 00 FF 7C A2 !..9..fu.nt...|.
000160: 67 7D A3 6F 11 08 00 CD FE 01 EB 21 03 00 19 EB g}.o.......!....
000170: 21 0C 00 39 F9 C3 7F 1A 21 08 00 39 F9 E1 E1 E1 !..9....!..9....
000180: 22 10 01 DD E1 C9 21 00 00 CD 92 02 DD 21 88 FF ".....!......!..
000190: DD 39 21 1B 00 E5 CD 8C 03 E1 DD 66 7F DD 6E 7E .9!........f..n~
0001A0: E5 CD 8C 03 E1 E1 22 10 01 DD E1 C9 21 00 00 CD ......".....!...
0001B0: 92 02 DD 21 86 FF DD 39 2A 1E 17 11 02 00 A7 ED ...!...9*.......
0001C0: 52 C2 CF 1A 21 0C 00 E5 CD 8C 03 E1 C3 D7 1A 21 R...!..........!
0001D0: 45 00 E5 CD 86 1A E1 E1 22 10 01 DD E1 C9 21 00 E.......".....!.
0001E0: 00 CD 92 02 DD 21 8A FF DD 39 2A 1E 17 11 02 00 .....!...9*.....
0001F0: A7 ED 52 C2 26 1B 21 1F 00 E5 21 06 00 E5 CD 6F ..R.&.!...!....o
Size : 512 (Real : 512)
000000: 14 E1 E1 DD 66 7D DD 6E 7C E5 21 06 00 E5 CD 6F ....f}.n|.!....o
000010: 14 E1 E1 DD 66 7F DD 6E 7E E5 21 06 00 E5 CD 6F ....f..n~.!....o
000020: 14 E1 E1 C3 4E 1B 21 59 00 E5 CD 86 1A E1 DD 66 ....N.!Y.......f
000030: 7F DD 6E 7E 11 20 00 19 2B E5 CD 8C 03 E1 DD 66 ..n~. ..+......f
000040: 7D DD 6E 7C 11 20 00 19 2B E5 CD 8C 03 E1 E1 22 }.n|. ..+......"
000050: 10 01 DD E1 C9 21 00 00 CD 92 02 DD 21 88 FF DD .....!......!...
000060: 39 2A 76 1B E5 DD 66 7F DD 6E 7E 7C EE 80 67 22 9*v...f..n~|..g"
000070: 76 1B 21 01 00 11 00 00 EB 42 4B 7A EE 80 57 ED v.!......BKz..W.
000080: 52 DA 91 1B C5 21 20 00 E5 CD 8C 03 E1 E1 23 18 R....! .......#.
000090: E4 E1 22 76 1B E1 22 10 01 DD E1 C9 21 00 00 CD .."v..".....!...
0000A0: 92 02 DD 21 88 FF DD 39 DD 66 7F DD 6E 7E 11 0D ...!...9.f..n~..
0000B0: 00 A7 ED 52 C2 BD 1B CD 45 08 C3 C8 1B DD 66 7F ...R....E.....f.
0000C0: DD 6E 7E E5 CD 8C 03 E1 E1 22 10 01 DD E1 C9 21 .n~......".....!
0000D0: 00 00 CD 92 02 DD 21 86 FF DD 39 C3 DE 1B E1 22 ......!...9...."
0000E0: 10 01 DD E1 C9 21 00 00 CD 92 02 DD 21 86 FF DD .....!......!...
0000F0: 39 C3 F4 1B E1 22 10 01 DD E1 C9 21 00 00 CD 92 9....".....!....
000100: 02 DD 21 86 FF DD 39 C3 0A 1C E1 22 10 01 DD E1 ..!...9...."....
000110: C9 21 00 00 CD 92 02 DD 21 86 FF DD 39 21 07 00 .!......!...9!..
000120: E5 CD 8C 03 E1 E1 22 10 01 DD E1 C9 21 00 00 CD ......".....!...
000130: 92 02 DD 21 88 FF DD 39 21 01 00 E5 DD 66 7F DD ...!...9!....f..
000140: 6E 7E 29 5E 23 56 EB 11 0D 00 A7 ED 52 CA 6C 1C n~)^#V......R.l.
000150: DD 66 77 DD 6E 76 23 DD 74 77 DD 75 76 DD 66 7F .fw.nv#.tw.uv.f.
000160: DD 6E 7E 23 DD 74 7F DD 75 7E 18 D0 DD 66 77 DD .n~#.t..u~...fw.
000170: 6E 76 EB E1 C3 78 1C E1 E1 22 10 01 DD E1 C9 21 nv...x...".....!
000180: 00 00 CD 92 02 DD 21 8A FF DD 39 2A A1 1C E5 DD ......!...9*....
000190: 66 7F DD 6E 7E 2B 7C EE 80 67 22 A1 1C 21 00 00 f..n~+|..g"..!..
0001A0: 11 00 00 EB 42 4B 7A EE 80 57 ED 52 DA CB 1C C5 ....BKz..W.R....
0001B0: DD 66 7D DD 6E 7C DD 56 73 DD 5E 72 19 29 5E 23 .f}.n|.Vs.^r.)^#
0001C0: 56 EB E5 CD 8C 03 E1 E1 23 18 D5 E1 22 A1 1C 21 V.......#..."..!
0001D0: 4F 00 DD 56 7F DD 5E 7E A7 ED 52 E5 CD 55 1B E1 O..V..^~..R..U..
0001E0: E1 22 10 01 DD E1 C9 21 00 00 CD 92 02 DD 21 8A .".....!......!.
0001F0: FF DD 39 2A 08 17 7C B5 CA 4A 1D 2A 19 1D E5 DD ..9*..|..J.*....
Size : 512 (Real : 512)
000000: 66 7D DD 6E 7C 29 5E 23 56 EB 2B 7C EE 80 67 22 f}.n|)^#V.+|..g"
000010: 19 1D DD 66 7F DD 6E 7E 11 00 00 EB 42 4B 7A EE ...f..n~....BKz.
000020: 80 57 ED 52 DA 43 1D C5 DD 66 7D DD 6E 7C DD 56 .W.R.C...f}.n|.V
000030: 73 DD 5E 72 19 29 5E 23 56 EB E5 CD 8C 03 E1 E1 s.^r.)^#V.......
000040: 23 18 D5 E1 22 19 1D C3 61 1D DD 66 7D DD 6E 7C #..."...a..f}.n|
000050: DD 56 7F DD 5E 7E 19 29 5E 23 56 EB E5 CD 8C 03 .V..^~.)^#V.....
000060: E1 E1 22 10 01 DD E1 C9 21 00 00 CD 92 02 DD 21 ..".....!......!
000070: 8A FF DD 39 2A 08 17 7C B5 CA F2 1D DD 66 7D DD ...9*..|.....f}.
000080: 6E 7C 29 5E 23 56 EB 2B E5 DD 66 7D DD 6E 7C 29 n|)^#V.+..f}.n|)
000090: D1 73 23 72 2A B1 1D E5 DD 66 7D DD 6E 7C 29 5E .s#r*....f}.n|)^
0000A0: 23 56 EB 7C EE 80 67 22 B1 1D DD 66 7F DD 6E 7E #V.|..g"...f..n~
0000B0: 11 00 00 EB 42 4B 7A EE 80 57 ED 52 DA EB 1D C5 ....BKz..W.R....
0000C0: DD 66 73 DD 6E 72 23 EB DD 66 7D DD 6E 7C 19 29 .fs.nr#..f}.n|.)
0000D0: 5E 23 56 EB E5 DD 66 7D DD 6E 7C DD 56 73 DD 5E ^#V...f}.n|.Vs.^
0000E0: 72 19 29 D1 73 23 72 E1 23 18 C5 E1 22 B1 1D C3 r.).s#r.#..."...
0000F0: 05 1E DD 66 7D DD 6E 7C DD 56 7F DD 5E 7E 19 29 ...f}.n|.V..^~.)
000100: 36 20 23 36 00 E1 22 10 01 DD E1 C9 21 00 00 CD 6 #6..".....!...
000110: 92 02 DD 21 8C FF DD 39 2A 08 17 7C B5 CA AC 1E ...!...9*..|....
000120: 2A 3D 1E E5 DD 66 7D DD 6E 7C 7C EE 80 67 22 3D *=...f}.n||..g"=
000130: 1E DD 66 7B DD 6E 7A 29 5E 23 56 EB 11 00 00 44 ..f{.nz)^#V....D
000140: 4D 7C EE 80 67 ED 52 DA 76 1E C5 DD 66 7B DD 6E M|..g.R.v...f{.n
000150: 7A DD 56 71 DD 5E 70 19 29 5E 23 56 EB E5 DD 66 z.Vq.^p.)^#V...f
000160: 71 DD 6E 70 23 EB DD 66 7B DD 6E 7A 19 29 D1 73 q.np#..f{.nz.).s
000170: 23 72 E1 2B 18 C6 E1 22 3D 1E DD 66 7B DD 6E 7A #r.+..."=..f{.nz
000180: DD 56 7D DD 5E 7C 19 29 DD 56 7F DD 5E 7E 73 23 .V}.^|.).V..^~s#
000190: 72 DD 66 7B DD 6E 7A 29 5E 23 56 EB 23 E5 DD 66 r.f{.nz)^#V.#..f
0001A0: 7B DD 6E 7A 29 D1 73 23 72 C3 C3 1E DD 66 7B DD {.nz).s#r....f{.
0001B0: 6E 7A DD 56 7D DD 5E 7C 19 29 DD 56 7F DD 5E 7E nz.V}.^|.).V..^~
0001C0: 73 23 72 E1 22 10 01 DD E1 C9 21 00 00 CD 92 02 s#r.".....!.....
0001D0: DD 21 8A FF DD 39 DD 66 7D DD 6E 7C 29 5E 23 56 .!...9.f}.n|)^#V
0001E0: EB DD 56 7F DD 5E 7E 7C EE 80 67 7A EE 80 57 A7 ..V..^~|..gz..W.
0001F0: ED 52 DA FF 1E DD 66 7F DD 6E 7E EB C3 23 1F 2A .R....f..n~..#.*
Size : 512 (Real : 512)
000000: 12 17 E5 DD 66 7D DD 6E 7C 29 5E 23 56 EB E5 CD ....f}.n|)^#V...
000010: DE 1A E1 E1 DD 66 7D DD 6E 7C 29 5E 23 56 EB EB .....f}.n|)^#V..
000020: C3 23 1F E1 22 10 01 DD E1 C9 21 00 00 CD 92 02 .#..".....!.....
000030: DD 21 8A FF DD 39 2A 12 17 E5 2A 10 17 E5 CD DE .!...9*...*.....
000040: 1A E1 E1 DD 66 7F DD 6E 7E 11 16 21 3E 13 C3 7E ....f..n~..!>..~
000050: 01 2A 10 17 E5 DD 66 7D DD 6E 7C E5 CD CA 1E E1 .*....f}.n|.....
000060: E1 EB 22 10 17 21 0D 00 E5 2A 10 17 E5 DD 66 7D .."..!...*....f}
000070: DD 6E 7C E5 CD 0C 1E 21 06 00 39 F9 21 0D 00 E5 .n|....!..9.!...
000080: CD 8C 03 E1 DD 66 7D DD 6E 7C 23 E5 CD 2C 1C E1 .....f}.n|#..,..
000090: EB 2B E5 DD 66 7D DD 6E 7C 23 E5 CD 7F 1C E1 E1 .+..f}.n|#......
0000A0: 21 0D 00 EB C3 6B 21 ED 5B 10 17 7A EE 80 57 21 !....k!.[..z..W!
0000B0: 01 80 A7 ED 52 D2 C2 1F 2A 10 17 2B 22 10 17 C3 ....R...*..+"...
0000C0: C5 1F CD 11 1C C3 64 21 DD 66 7D DD 6E 7C 29 5E ......d!.f}.n|)^
0000D0: 23 56 EB 2B ED 5B 10 17 7C EE 80 67 7A EE 80 57 #V.+.[..|..gz..W
0000E0: A7 ED 52 DA F0 1F 2A 10 17 23 22 10 17 C3 F3 1F ..R...*..#".....
0000F0: CD 11 1C C3 64 21 21 01 00 22 10 17 C3 64 21 DD ....d!!.."...d!.
000100: 66 7D DD 6E 7C 29 5E 23 56 EB 22 10 17 C3 64 21 f}.n|)^#V."...d!
000110: DD 66 7F DD 6E 7E EB C3 6B 21 2A 10 17 E5 DD 66 .f..n~..k!*....f
000120: 7D DD 6E 7C E5 CD CA 1E E1 E1 EB 22 10 17 2A 10 }.n|......."..*.
000130: 17 11 01 00 A7 ED 52 C2 41 20 21 7F 00 EB C3 6B ......R.A !....k
000140: 21 2A 10 17 2B 22 10 17 2A 12 17 E5 2A 10 17 E5 !*..+"..*...*...
000150: CD DE 1A E1 E1 2A 10 17 E5 DD 66 7D DD 6E 7C E5 .....*....f}.n|.
000160: CD 68 1D E1 E1 2A 10 17 E5 DD 66 7D DD 6E 7C E5 .h...*....f}.n|.
000170: CD E7 1C E1 E1 2A 08 17 7C B5 CA 85 20 21 20 00 .....*..|... ! .
000180: E5 CD 8C 03 E1 C3 64 21 2A 10 17 E5 DD 66 7D DD ......d!*....f}.
000190: 6E 7C E5 CD CA 1E E1 E1 EB 22 10 17 DD 66 7D DD n|......."...f}.
0001A0: 6E 7C 29 5E 23 56 EB 7C EE 80 67 11 50 80 A7 ED n|)^#V.|..g.P...
0001B0: 52 D2 0D 21 DD 66 7F DD 6E 7E E5 2A 10 17 E5 DD R..!.f..n~.*....
0001C0: 66 7D DD 6E 7C E5 CD 0C 1E 21 06 00 39 F9 2A 10 f}.n|....!..9.*.
0001D0: 17 E5 DD 66 7D DD 6E 7C E5 CD E7 1C E1 E1 2A 08 ...f}.n|......*.
0001E0: 17 7C B5 C2 03 21 DD 66 7D DD 6E 7C 29 5E 23 56 .|...!.f}.n|)^#V
0001F0: EB EB 2A 10 17 7C EE 80 67 7A EE 80 57 A7 ED 52 ..*..|..gz..W..R
Size : 512 (Real : 512)
000000: D2 0A 21 2A 10 17 23 22 10 17 C3 10 21 CD 11 1C ..!*..#"....!...
000010: C3 64 21 C3 64 21 EF 00 13 21 7F 00 1A 20 F1 00 .d!.d!...!... ..
000020: 10 20 F0 00 10 20 03 00 10 20 FC 00 10 20 1D 00 . ... ... ... ..
000030: 10 20 1B 00 10 20 F9 00 10 20 F8 00 10 20 F5 00 . ... ... ... ..
000040: 10 20 F4 00 10 20 FB 00 FF 1F FA 00 F6 1F F7 00 . ... ..........
000050: C8 1F F3 00 C8 1F F6 00 A7 1F F2 00 A7 1F 0D 00 ................
000060: 51 1F 88 20 21 00 00 EB C3 6B 21 E1 22 10 01 DD Q.. !....k!."...
000070: E1 C9 21 00 00 CD 92 02 DD 21 88 FF DD 39 21 00 ..!......!...9!.
000080: 00 E5 2A 1C 17 E5 21 06 00 E5 CD DE 1A E1 E1 2A ..*...!........*
000090: 1A 17 E5 21 CD 10 C3 9E 21 01 03 25 49 34 E5 CD ...!....!..%I4..
0000A0: E3 03 E1 E1 2A 1C 17 E5 21 12 00 E5 CD DE 1A E1 ....*...!.......
0000B0: E1 2A 10 17 E5 21 DE 10 C3 C0 21 01 03 25 49 32 .*...!....!..%I2
0000C0: E5 CD E3 03 E1 E1 2A 12 17 E5 2A 10 17 E5 CD DE ......*...*.....
0000D0: 1A E1 E1 CD E5 1B CD 60 08 EB DD 74 77 DD 75 76 .......`...tw.uv
0000E0: CD FB 1B DD 66 77 DD 6E 76 E5 DD 66 7F DD 6E 7E ....fw.nv..f..n~
0000F0: E5 CD 2A 1F E1 E1 EB DD 74 77 DD 75 76 DD 66 77 ..*.....tw.uv.fw
000100: DD 6E 76 7C B5 CA 82 21 DD 66 7F DD 6E 7E 23 E5 .nv|...!.f..n~#.
000110: CD 2C 1C E1 EB 2B E5 2A 14 17 ED 5B 12 17 19 29 .,...+.*...[...)
000120: D1 73 23 72 DD 66 77 DD 6E 76 EB E1 C3 30 22 E1 .s#r.fw.nv...0".
000130: E1 22 10 01 DD E1 C9 21 00 00 CD 92 02 DD 21 8A .".....!......!.
000140: FF DD 39 DD 66 7D DD 6E 7C 29 36 00 23 36 00 DD ..9.f}.n|)6.#6..
000150: 66 7D DD 6E 7C 29 5E 23 56 EB 23 E5 DD 66 7D DD f}.n|)^#V.#..f}.
000160: 6E 7C 29 D1 73 23 72 2A 0E 17 29 DD 56 7F DD 5E n|).s#r*..).V..^
000170: 7E 19 6E 26 00 E5 DD 66 7D DD 6E 7C 29 5E 23 56 ~.n&...f}.n|)^#V
000180: EB EB DD 66 7D DD 6E 7C 19 29 D1 73 23 72 DD 66 ...f}.n|.).s#r.f
000190: 7F DD 6E 7E 23 DD 74 7F DD 75 7E DD 66 7F DD 6E ..n~#.t..u~.f..n
0001A0: 7E 2B E5 2A 0E 17 29 D1 19 6E 26 00 11 0D 00 A7 ~+.*..)..n&.....
0001B0: ED 52 C2 4F 22 E1 22 10 01 DD E1 C9 21 00 00 CD .R.O".".....!...
0001C0: 92 02 DD 21 88 FF DD 39 21 01 00 E5 2A 0E 17 29 ...!...9!...*..)
0001D0: DD 56 7F DD 5E 7E 19 6E 26 00 11 0D 00 A7 ED 52 .V..^~.n&......R
0001E0: CA FF 22 DD 66 77 DD 6E 76 23 DD 74 77 DD 75 76 ..".fw.nv#.tw.uv
0001F0: DD 66 7F DD 6E 7E 23 DD 74 7F DD 75 7E 18 CD DD .f..n~#.t..u~...
Size : 512 (Real : 512)
000000: 66 77 DD 6E 76 EB E1 C3 0B 23 E1 E1 22 10 01 DD fw.nv....#.."...
000010: E1 C9 21 00 00 CD 92 02 DD 21 8C FF DD 39 DD 66 ..!......!...9.f
000020: 7F DD 6E 7E E5 DD 66 7D DD 6E 7C E5 CD DE 1A E1 ..n~..f}.n|.....
000030: E1 2A 59 23 E5 DD 66 7B DD 6E 7A E5 CD BC 22 E1 .*Y#..f{.nz...".
000040: DD 66 7B DD 6E 7A 19 11 FE FF 19 7C EE 80 67 22 .f{.nz.....|..g"
000050: 59 23 DD 66 7B DD 6E 7A 11 00 00 EB 42 4B 7A EE Y#.f{.nz....BKz.
000060: 80 57 ED 52 DA 7F 23 C5 2A 0E 17 29 DD 56 71 DD .W.R..#.*..).Vq.
000070: 5E 70 19 6E 26 00 E5 CD 8C 03 E1 E1 23 18 D9 E1 ^p.n&.......#...
000080: 22 59 23 DD 66 7B DD 6E 7A E5 CD BC 22 E1 EB 2B "Y#.f{.nz..."..+
000090: E5 2A 14 17 DD 56 7F DD 5E 7E 19 29 D1 73 23 72 .*...V..^~.).s#r
0000A0: E1 22 10 01 DD E1 C9 21 00 00 CD 92 02 DD 21 86 .".....!......!.
0000B0: FF DD 39 2A 1C 17 E5 21 01 00 E5 CD DE 1A E1 E1 ..9*...!........
0000C0: 2A 1E 17 11 04 00 A7 ED 52 C2 09 24 2A 10 17 E5 *.......R..$*...
0000D0: 2A 1A 17 E5 21 ED 11 C3 FD 23 22 4C 69 6E 65 3A *...!....#"Line:
0000E0: 25 49 34 20 43 6F 6C 75 6D 6E 3A 25 49 32 20 28 %I4 Column:%I2 (
0000F0: 53 54 4F 50 20 74 6F 20 6D 65 6E 75 29 E5 CD E3 STOP to menu)...
000100: 03 21 06 00 39 F9 C3 43 24 2A 10 17 E5 2A 1A 17 .!..9..C$*...*..
000110: E5 21 0C 12 C3 3A 24 01 21 4C 69 6E 65 3A 25 49 .!...:$.!Line:%I
000120: 34 20 43 6F 6C 75 6D 6E 3A 25 49 32 20 28 45 53 4 Column:%I2 (ES
000130: 43 20 74 6F 20 6D 65 6E 75 29 E5 CD E3 03 21 06 C to menu)....!.
000140: 00 39 F9 E1 22 10 01 DD E1 C9 21 00 00 CD 92 02 .9..".....!.....
000150: DD 21 86 FF DD 39 CD AC 1A CD CF 1B CD FB 1B 2A .!...9.........*
000160: 72 24 E5 2A 1C 17 2B 7C EE 80 67 22 72 24 21 01 r$.*..+|..g"r$!.
000170: 00 11 00 00 EB 42 4B 7A EE 80 57 ED 52 DA 95 24 .....BKz..W.R..$
000180: C5 2A 14 17 DD 56 77 DD 5E 76 19 29 36 00 23 36 .*...Vw.^v.)6.#6
000190: 00 E1 23 18 DC E1 22 72 24 CD A7 23 E1 22 10 01 ..#..."r$..#."..
0001A0: DD E1 C9 21 00 00 CD 92 02 DD 21 86 FF DD 39 21 ...!......!...9!
0001B0: 01 00 E5 21 01 00 E5 CD DE 1A E1 E1 CD 3C 25 21 ...!.........<%!
0001C0: 0D 00 E5 CD 8C 03 E1 CD A7 23 2A 1C 17 2B EB 2A .........#*..+.*
0001D0: 14 17 19 29 5E 23 56 EB 11 DF FF 19 E5 CD 55 1B ...)^#V.......U.
0001E0: E1 2A F4 24 E5 21 02 00 7C EE 80 67 22 F4 24 2A .*.$.!..|..g".$*
0001F0: 1C 17 2B 11 00 00 44 4D 7C EE 80 67 ED 52 DA 27 ..+...DM|..g.R.'
Size : 512 (Real : 512)
000000: 25 C5 DD 66 77 DD 6E 76 2B EB 2A 14 17 19 29 5E %..fw.nv+.*...)^
000010: 23 56 EB E5 2A 14 17 DD 56 77 DD 5E 76 19 29 D1 #V..*...Vw.^v.).
000020: 73 23 72 E1 2B 18 CC E1 22 F4 24 2A 14 17 23 29 s#r.+...".$*..#)
000030: 36 00 23 36 00 E1 22 10 01 DD E1 C9 21 00 00 CD 6.#6..".....!...
000040: 92 02 DD 21 86 FF DD 39 2A 1E 17 11 02 00 A7 ED ...!...9*.......
000050: 52 C2 5F 25 21 0B 00 E5 CD 8C 03 E1 C3 67 25 21 R._%!........g%!
000060: 49 00 E5 CD 86 1A E1 E1 22 10 01 DD E1 C9 21 00 I.......".....!.
000070: 00 CD 92 02 DD 21 86 FF DD 39 2A 1C 17 E5 21 01 .....!...9*...!.
000080: 00 E5 CD DE 1A E1 E1 21 28 00 E5 CD 55 1B E1 21 .......!(...U..!
000090: 0A 00 E5 CD 8C 03 E1 21 0D 00 E5 CD 8C 03 E1 2A .......!.......*
0000A0: B5 25 E5 2A 1C 17 11 FE FF 19 7C EE 80 67 22 B5 .%.*......|..g".
0000B0: 25 21 01 00 11 00 00 EB 42 4B 7A EE 80 57 ED 52 %!......BKz..W.R
0000C0: DA E9 25 C5 DD 66 77 DD 6E 76 23 EB 2A 14 17 19 ..%..fw.nv#.*...
0000D0: 29 5E 23 56 EB E5 2A 14 17 DD 56 77 DD 5E 76 19 )^#V..*...Vw.^v.
0000E0: 29 D1 73 23 72 E1 23 18 CB E1 22 B5 25 2A 1C 17 ).s#r.#...".%*..
0000F0: 2B EB 2A 14 17 19 29 36 00 23 36 00 CD A7 23 E1 +.*...)6.#6...#.
000100: 22 10 01 DD E1 C9 21 00 00 CD 92 02 DD 21 8A FF ".....!......!..
000110: DD 39 2A 28 26 E5 2A 1C 17 2B 7C EE 80 67 22 28 .9*(&.*..+|..g"(
000120: 26 DD 66 7F DD 6E 7E 11 00 00 EB 42 4B 7A EE 80 &.f..n~....BKz..
000130: 57 ED 52 DA 27 27 C5 21 00 00 E5 DD 66 73 DD 6E W.R.''.!....fs.n
000140: 72 E5 21 01 00 E5 CD DE 1A E1 E1 2A 0A 17 DD 56 r.!........*...V
000150: 7D DD 5E 7C 7C EE 80 67 7A EE 80 57 A7 ED 52 D2 }.^||..gz..W..R.
000160: 7F 26 21 50 00 E5 CD 55 1B E1 2A 14 17 DD 56 73 .&!P...U..*...Vs
000170: DD 5E 72 19 29 36 00 23 36 00 E1 E1 C3 27 27 DD .^r.)6.#6....''.
000180: 66 7D DD 6E 7C E5 CD BC 22 E1 EB 2B DD 74 71 DD f}.n|..."..+.tq.
000190: 75 70 2A B2 26 E5 DD 66 7D DD 6E 7C DD 56 71 DD up*.&..f}.n|.Vq.
0001A0: 5E 70 19 2B 7C EE 80 67 22 B2 26 DD 66 7D DD 6E ^p.+|..g".&.f}.n
0001B0: 7C 11 00 00 EB 42 4B 7A EE 80 57 ED 52 DA D8 26 |....BKz..W.R..&
0001C0: C5 2A 0E 17 29 DD 56 6D DD 5E 6C 19 6E 26 00 E5 .*..).Vm.^l.n&..
0001D0: CD 8C 03 E1 E1 23 18 D9 E1 22 B2 26 2A 14 17 DD .....#...".&*...
0001E0: 56 73 DD 5E 72 19 29 5E 23 56 EB DD 56 71 DD 5E Vs.^r.)^#V..Vq.^
0001F0: 70 A7 ED 52 E5 CD 55 1B E1 2A 14 17 DD 56 73 DD p..R..U..*...Vs.
Size : 512 (Real : 512)
000000: 5E 72 19 29 DD 56 71 DD 5E 70 73 23 72 DD 66 7D ^r.).Vq.^ps#r.f}
000010: DD 6E 7C DD 56 71 DD 5E 70 19 23 DD 74 7D DD 75 .n|.Vq.^p.#.t}.u
000020: 7C E1 E1 23 C3 27 26 E1 22 28 26 E1 22 10 01 DD |..#.'&."(&."...
000030: E1 C9 21 00 00 CD 92 02 DD 21 88 FF DD 39 DD 66 ..!......!...9.f
000040: 7F DD 6E 7E E5 CD BC 22 E1 DD 66 7F DD 6E 7E 19 ..n~..."..f..n~.
000050: EB 2A 0A 17 7C EE 80 67 7A EE 80 57 A7 ED 52 D2 .*..|..gz..W..R.
000060: 6F 27 CD 11 1C DD 66 7F DD 6E 7E EB C3 91 27 DD o'....f..n~...'.
000070: 66 7F DD 6E 7E E5 CD BC 22 E1 DD 66 7F DD 6E 7E f..n~..."..f..n~
000080: 19 DD 74 7F DD 75 7E DD 66 7F DD 6E 7E EB C3 91 ..t..u~.f..n~...
000090: 27 E1 22 10 01 DD E1 C9 21 00 00 CD 92 02 DD 21 '.".....!......!
0000A0: 88 FF DD 39 DD 7E 7F DD B6 7E C2 BA 27 CD 11 1C ...9.~...~..'...
0000B0: DD 66 7F DD 6E 7E EB C3 F4 27 DD 66 7F DD 6E 7E .f..n~...'.f..n~
0000C0: 2B DD 74 7F DD 75 7E DD 66 7F DD 6E 7E 2B E5 2A +.t..u~.f..n~+.*
0000D0: 0E 17 29 D1 19 6E 26 00 11 0D 00 A7 ED 52 CA EA ..)..n&......R..
0000E0: 27 DD 7E 7F DD B6 7E C2 BA 27 DD 66 7F DD 6E 7E '.~...~..'.f..n~
0000F0: EB C3 F4 27 E1 22 10 01 DD E1 C9 21 00 00 CD 92 ...'.".....!....
000100: 02 DD 21 88 FF DD 39 DD 66 7F DD 6E 7E E5 CD 4A ..!...9.f..n~..J
000110: 24 2A 23 28 E5 21 02 00 7C EE 80 67 22 23 28 2A $*#(.!..|..g"#(*
000120: 12 17 11 00 00 44 4D 7C EE 80 67 ED 52 DA 67 28 .....DM|..g.R.g(
000130: C5 DD 7E 77 DD B6 76 C2 51 28 2A 12 17 DD 56 73 ..~w..v.Q(*...Vs
000140: DD 5E 72 A7 ED 52 23 22 12 17 E1 C3 67 28 C3 63 .^r..R#"....g(.c
000150: 28 DD 66 77 DD 6E 76 E5 CD 98 27 E1 EB DD 74 77 (.fw.nv...'...tw
000160: DD 75 76 E1 2B 18 BB E1 22 23 28 21 01 00 E5 DD .uv.+..."#(!....
000170: 66 77 DD 6E 76 E5 CD 06 26 E1 E1 E1 E1 22 10 01 fw.nv...&...."..
000180: DD E1 C9 21 00 00 CD 92 02 DD 21 88 FF DD 39 2A ...!......!...9*
000190: 1C 17 E5 21 01 00 E5 CD DE 1A E1 E1 DD 66 7F DD ...!.........f..
0001A0: 6E 7E E5 21 55 14 C3 C6 28 01 1B 25 53 2E 20 48 n~.!U...(..%S. H
0001B0: 69 74 20 61 6E 79 20 6B 65 79 20 74 6F 20 63 6F it any key to co
0001C0: 6E 74 69 6E 75 65 E5 CD E3 03 E1 E1 CD 11 1C CD ntinue..........
0001D0: 60 08 2A 1C 17 E5 21 21 00 E5 CD DE 1A E1 E1 21 `.*...!!.......!
0001E0: 14 00 E5 CD 55 1B E1 CD A7 23 21 FF FF 22 18 17 ....U....#!.."..
0001F0: 2A 0C 17 E5 CD FB 27 E1 2A 24 17 E5 2A 26 17 E5 *.....'.*$..*&..
Size : 512 (Real : 512)
000000: CD 2E 02 E1 E1 E1 22 10 01 DD E1 C9 21 00 00 CD ......".....!...
000010: 92 02 DD 21 8A FF DD 39 2A 0A 17 DD 56 7D DD 5E ...!...9*...V}.^
000020: 7C A7 ED 52 23 E5 2A 0E 17 29 DD 56 7D DD 5E 7C |..R#.*..).V}.^|
000030: 19 DD 56 7F DD 5E 7E 19 E5 2A 0E 17 29 DD 56 7D ..V..^~..*..).V}
000040: DD 5E 7C 19 E5 CD 28 17 21 06 00 39 F9 2A 0A 17 .^|...(.!..9.*..
000050: DD 56 7F DD 5E 7E 19 22 0A 17 E1 22 10 01 DD E1 .V..^~."..."....
000060: C9 21 00 00 CD 92 02 DD 21 8A FF DD 39 2A 0A 17 .!......!...9*..
000070: DD 56 7D DD 5E 7C A7 ED 52 DD 56 7F DD 5E 7E A7 .V}.^|..R.V..^~.
000080: ED 52 23 E5 2A 0E 17 29 DD 56 7D DD 5E 7C 19 E5 .R#.*..).V}.^|..
000090: 2A 0E 17 29 DD 56 7D DD 5E 7C 19 DD 56 7F DD 5E *..).V}.^|..V..^
0000A0: 7E 19 E5 CD 28 17 21 06 00 39 F9 2A 0A 17 DD 56 ~...(.!..9.*...V
0000B0: 7F DD 5E 7E A7 ED 52 22 0A 17 E1 22 10 01 DD E1 ..^~..R"..."....
0000C0: C9 21 00 00 CD 92 02 DD 21 8C FF DD 39 2A E3 29 .!......!...9*.)
0000D0: E5 DD 66 7F DD 6E 7E 2B 7C EE 80 67 22 E3 29 21 ..f..n~+|..g".)!
0000E0: 00 00 11 00 00 EB 42 4B 7A EE 80 57 ED 52 DA 1F ......BKz..W.R..
0000F0: 2A C5 DD 66 7B DD 6E 7A DD 56 71 DD 5E 70 19 29 *..f{.nz.Vq.^p.)
000100: 5E 23 56 EB E5 DD 66 7D DD 6E 7C DD 56 71 DD 5E ^#V...f}.n|.Vq.^
000110: 70 19 E5 2A 0E 17 29 D1 19 D1 73 E1 23 18 C3 E1 p..*..)...s.#...
000120: 22 E3 29 E1 22 10 01 DD E1 C9 21 00 00 CD 92 02 ".).".....!.....
000130: DD 21 8A FF DD 39 DD 66 7F DD 6E 7E E5 CD BC 22 .!...9.f..n~..."
000140: E1 EB E5 DD 66 7D DD 6E 7C 29 5E 23 56 EB E5 DD ....f}.n|)^#V...
000150: 66 73 DD 6E 72 DD 56 75 DD 5E 74 A7 ED 52 ED 5B fs.nr.Vu.^t..R.[
000160: 0A 17 19 7C EE 80 67 11 D6 D9 A7 ED 52 D2 00 2B ...|..g.....R..+
000170: DD 66 73 DD 6E 72 DD 56 75 DD 5E 74 7C EE 80 67 .fs.nr.Vu.^t|..g
000180: 7A EE 80 57 A7 ED 52 D2 A9 2A DD 66 75 DD 6E 74 z..W..R..*.fu.nt
000190: DD 56 73 DD 5E 72 A7 ED 52 E5 DD 66 7F DD 6E 7E .Vs.^r..R..f..n~
0001A0: E5 CD 61 29 E1 E1 C3 DF 2A DD 66 75 DD 6E 74 DD ..a)....*.fu.nt.
0001B0: 56 73 DD 5E 72 7C EE 80 67 7A EE 80 57 A7 ED 52 Vs.^r|..gz..W..R
0001C0: D2 DF 2A DD 66 73 DD 6E 72 DD 56 75 DD 5E 74 A7 ..*.fs.nr.Vu.^t.
0001D0: ED 52 E5 DD 66 7F DD 6E 7E E5 CD 0C 29 E1 E1 DD .R..f..n~...)...
0001E0: 66 73 DD 6E 72 E5 DD 66 7F DD 6E 7E E5 DD 66 7D fs.nr..f..n~..f}
0001F0: DD 6E 7C 23 E5 CD C1 29 21 06 00 39 F9 C3 13 2B .n|#...)!..9...+
Size : 512 (Real : 512)
000000: 21 83 15 C3 0E 2B 07 4E 6F 20 72 6F 6F 6D E5 CD !....+.No room..
000010: 83 28 E1 E1 E1 E1 22 10 01 DD E1 C9 21 00 00 CD .(....".....!...
000020: 92 02 DD 21 8C FF DD 39 DD 66 7D DD 6E 7C E5 DD ...!...9.f}.n|..
000030: 66 7B DD 6E 7A E5 CD DE 1A E1 E1 21 A1 15 C3 54 f{.nz......!...T
000040: 2B 01 11 45 6E 74 65 72 20 66 69 6C 65 20 6E 61 +..Enter file na
000050: 6D 65 3A 20 E5 CD A7 05 E1 CD E5 1B DD 66 7F DD me: .........f..
000060: 6E 7E E5 CD CF 08 E1 CD FB 1B CD 45 08 E1 22 10 n~.........E..".
000070: 01 DD E1 C9 21 2A 00 CD 92 02 DD 21 88 FF DD 39 ....!*.....!...9
000080: 2A 10 01 CB 3C CB 1D E5 DD 66 77 DD 6E 76 E5 21 *...<....fw.nv.!
000090: 13 00 E5 21 19 00 E5 CD 1C 2B 21 06 00 39 F9 2A ...!.....+!..9.*
0000A0: 16 17 E5 DD 66 77 DD 6E 76 E5 CD B8 0B E1 E1 EB ....fw.nv.......
0000B0: 7C B5 CA E6 2C 21 00 00 E5 21 00 00 22 0C 17 21 |...,!...!.."..!
0000C0: 01 00 22 10 17 21 01 00 22 12 17 21 01 00 22 1A .."..!.."..!..".
0000D0: 17 21 FF FF 22 0A 17 2A 0E 17 29 36 0D 2A 16 17 .!.."..*..)6.*..
0000E0: E5 CD C4 0E E1 EB DD 74 75 DD 75 74 DD 66 75 DD .......tu.ut.fu.
0000F0: 6E 74 11 1A 00 A7 ED 52 CA 4A 2C DD 66 75 DD 6E nt.....R.J,.fu.n
000100: 74 11 FF FF A7 ED 52 CA 4A 2C 2A 0A 17 11 D6 59 t.....R.J,*....Y
000110: A7 ED 52 CA 4A 2C DD 66 75 DD 6E 74 11 0A 00 A7 ..R.J,.fu.nt....
000120: ED 52 CA 39 2C 2A 0A 17 23 22 0A 17 2A 0E 17 29 .R.9,*..#"..*..)
000130: ED 5B 0A 17 19 DD 7E 74 77 2A 16 17 E5 CD C4 0E .[....~tw*......
000140: E1 EB DD 74 75 DD 75 74 18 A2 2A 0E 17 29 ED 5B ...tu.ut..*..).[
000150: 0A 17 19 6E 26 00 11 0D 00 A7 ED 52 CA 71 2C 2A ...n&......R.q,*
000160: 0A 17 23 22 0A 17 2A 0E 17 29 ED 5B 0A 17 19 36 ..#"..*..).[...6
000170: 0D 2A 0A 17 7C EE 80 67 11 D6 D9 A7 ED 52 DA BF .*..|..g.....R..
000180: 2C 2A 0A 17 2B 22 0A 17 2A 0E 17 29 ED 5B 0A 17 ,*..+"..*..).[..
000190: 19 36 0D 2A 16 17 E5 CD 7D 0F E1 21 00 00 E5 DD .6.*....}..!....
0001A0: 66 7F DD 6E 7E E5 CD 37 22 E1 E1 21 59 16 C3 BA f..n~..7"..!Y...
0001B0: 2C 01 07 4E 6F 20 72 6F 6F 6D E5 CD 83 28 E1 2A ,..No room...(.*
0001C0: 0A 17 11 FF FF A7 ED 52 C2 D1 2C 21 00 00 22 0A .......R..,!..".
0001D0: 17 2A 16 17 E5 CD 7D 0F E1 21 FF FF EB E1 E1 C3 .*....}..!......
0001E0: 13 2D E1 C3 12 2D DD 66 77 DD 6E 76 E5 21 7A 16 .-...-.fw.nv.!z.
0001F0: C3 01 2D 01 0C 25 53 20 6E 6F 74 20 66 6F 75 6E ..-..%S not foun
Size : 512 (Real : 512)
000000: 64 E5 CD E3 03 E1 E1 CD 60 08 21 00 00 EB E1 C3 d.......`.!.....
000010: 13 2D E1 2A 10 01 22 12 01 E1 22 10 01 DD E1 C9 .-.*.."...".....
000020: 21 2A 00 CD 92 02 DD 21 86 FF DD 39 2A 10 01 CB !*.....!...9*...
000030: 3C CB 1D E5 C3 81 2D 21 00 00 CD 92 02 DD 21 88 <.....-!......!.
000040: FF DD 39 21 A5 16 C3 60 2D 01 15 44 69 73 63 20 ..9!...`-..Disc
000050: 65 72 72 6F 72 2E 20 48 69 74 20 61 20 6B 65 79 error. Hit a key
000060: E5 CD A7 05 E1 CD 60 08 DD 66 7F DD 6E 7E E5 CD ......`..f..n~..
000070: 94 10 E1 21 00 00 EB C3 7A 2D E1 22 10 01 DD E1 ...!....z-."....
000080: C9 DD 66 79 DD 6E 78 E5 21 13 00 E5 21 19 00 E5 ..fy.nx.!...!...
000090: CD 1C 2B 21 06 00 39 F9 2A 16 17 E5 DD 66 79 DD ..+!..9.*....fy.
0000A0: 6E 78 E5 CD A7 0C E1 E1 EB 7C B5 CA 56 2E 2A C0 nx.......|..V.*.
0000B0: 2D E5 2A 0A 17 7C EE 80 67 22 C0 2D 21 00 00 11 -.*..|..g".-!...
0000C0: 00 00 EB 42 4B 7A EE 80 57 ED 52 DA 3F 2E C5 2A ...BKz..W.R.?..*
0000D0: 16 17 E5 2A 0E 17 29 DD 56 75 DD 5E 74 19 6E 26 ...*..).Vu.^t.n&
0000E0: 00 E5 CD C4 0F E1 E1 EB 7C B5 C2 FF 2D 2A 16 17 ........|...-*..
0000F0: E5 CD 37 2D E1 EB EB 21 06 00 39 F9 C3 82 2E 2A ..7-...!..9....*
000100: 0E 17 29 DD 56 75 DD 5E 74 19 6E 26 00 11 0D 00 ..).Vu.^t.n&....
000110: A7 ED 52 C2 3B 2E 2A 16 17 E5 21 0A 00 E5 CD C4 ..R.;.*...!.....
000120: 0F E1 E1 EB 7C B5 C2 3B 2E 2A 16 17 E5 CD 37 2D ....|..;.*....7-
000130: E1 EB EB 21 06 00 39 F9 C3 82 2E E1 23 18 80 E1 ...!..9.....#...
000140: 22 C0 2D 2A 16 17 E5 CD 94 10 E1 21 FF FF EB E1 ".-*.......!....
000150: C3 82 2E C3 81 2E 21 2E 17 C3 69 2E 0C 43 61 6E ......!...i..Can
000160: 6E 6F 74 20 6F 70 65 6E 20 E5 CD A7 05 E1 DD 66 not open ......f
000170: 79 DD 6E 78 E5 CD A7 05 E1 21 00 00 EB E1 C3 82 y.nx.....!......
000180: 2E E1 2A 10 01 22 12 01 E1 22 10 01 DD E1 C9 21 ..*.."...".....!
000190: 00 00 CD 92 02 DD 21 86 FF DD 39 21 00 00 E5 21 ......!...9!...!
0001A0: 01 00 22 1A 17 21 13 00 E5 21 19 00 E5 CD DE 1A .."..!...!......
0001B0: E1 E1 21 5C 17 C3 CC 2E 13 45 6E 74 65 72 20 6C ..!\.....Enter l
0001C0: 69 6E 65 20 6E 75 6D 62 65 72 3A 20 E5 CD E3 03 ine number: ....
0001D0: E1 CD E5 1B CD A2 0A EB DD 74 79 DD 75 78 CD FB .........ty.ux..
0001E0: 1B 21 00 00 22 0C 17 21 01 00 22 10 17 2A 02 2F .!.."..!.."..*./
0001F0: E5 DD 66 79 DD 6E 78 7C EE 80 67 22 02 2F 21 02 ..fy.nx|..g"./!.
Size : 512 (Real : 512)
000000: 00 11 00 00 EB 42 4B 7A EE 80 57 ED 52 DA 42 2F .....BKz..W.R.B/
000010: C5 2A 0C 17 E5 2A 0C 17 E5 CD 32 27 E1 EB 22 0C .*...*....2'..".
000020: 17 DD 66 73 DD 6E 72 ED 5B 0C 17 A7 ED 52 C2 36 ..fs.nr.[....R.6
000030: 2F E1 E1 C3 42 2F 2A 1A 17 23 22 1A 17 E1 E1 23 /...B/*..#"....#
000040: 18 BF E1 22 02 2F 21 0C 00 22 12 17 E1 E1 22 10 ..."./!.."....".
000050: 01 DD E1 C9 21 00 00 CD 92 02 DD 21 8A FF DD 39 ....!......!...9
000060: 2A 79 2F E5 DD 66 7F DD 6E 7E 29 6E 26 00 7C EE *y/..f..n~)n&.|.
000070: 80 67 22 79 2F 21 01 00 11 00 00 EB 42 4B 7A EE .g"y/!......BKz.
000080: 80 57 ED 52 DA C6 2F C5 DD 66 7F DD 6E 7E 29 DD .W.R../..f..n~).
000090: 56 73 DD 5E 72 19 6E 26 00 E5 DD 66 7D DD 6E 7C Vs.^r.n&...f}.n|
0000A0: DD 56 73 DD 5E 72 19 2B E5 2A 0E 17 29 D1 19 6E .Vs.^r.+.*..)..n
0000B0: 26 00 D1 A7 ED 52 CA C2 2F 21 00 00 EB E1 E1 C3 &....R../!......
0000C0: D1 2F E1 23 18 B2 E1 22 79 2F 21 FF FF EB C3 D1 ./.#..."y/!.....
0000D0: 2F E1 22 10 01 DD E1 C9 21 2A 00 CD 92 02 DD 21 /.".....!*.....!
0000E0: 86 FF DD 39 2A 0C 17 E5 2A 10 17 E5 2A 12 17 E5 ...9*...*...*...
0000F0: 2A 1A 17 E5 2A 10 01 CB 3C CB 1D E5 21 13 00 E5 *...*...<...!...
000100: 21 19 00 E5 CD DE 1A E1 E1 21 08 18 C3 1F 30 01 !........!....0.
000110: 0E 45 6E 74 65 72 20 73 74 72 69 6E 67 3A 20 E5 .Enter string: .
000120: CD E3 03 E1 CD E5 1B DD 66 71 DD 6E 70 E5 CD CF ........fq.np...
000130: 08 E1 CD FB 1B 2A 0C 17 ED 5B 10 17 19 2B 22 0C .....*...[...+".
000140: 17 2A 0E 17 29 ED 5B 0C 17 19 6E 26 00 11 0D 00 .*..).[...n&....
000150: A7 ED 52 CA 5D 30 2A 0C 17 23 22 0C 17 2A 0C 17 ..R.]0*..#"..*..
000160: ED 5B 0A 17 7C EE 80 67 7A EE 80 57 A7 ED 52 D2 .[..|..gz..W..R.
000170: 38 31 2A 0E 17 29 ED 5B 0C 17 19 6E 26 00 11 0D 81*..).[...n&...
000180: 00 A7 ED 52 C2 91 30 2A 1A 17 23 22 1A 17 C3 F2 ...R..0*..#"....
000190: 30 DD 66 71 DD 6E 70 E5 2A 0C 17 E5 CD 54 2F E1 0.fq.np.*....T/.
0001A0: E1 EB 7C B5 CA F2 30 2A 0C 17 DD 74 79 DD 75 78 ..|...0*...ty.ux
0001B0: 2A 0C 17 2B E5 2A 0E 17 29 D1 19 6E 26 00 11 0D *..+.*..)..n&...
0001C0: 00 A7 ED 52 CA D8 30 2A 0C 17 7C B5 CA D8 30 2A ...R..0*..|...0*
0001D0: 0C 17 2B 22 0C 17 18 D8 DD 66 79 DD 6E 78 ED 5B ..+".....fy.nx.[
0001E0: 0C 17 A7 ED 52 23 22 10 17 21 0C 00 22 12 17 C3 ....R#"..!.."...
0001F0: 38 31 2A 0C 17 23 22 0C 17 2A 0C 17 ED 5B 0A 17 81*..#"..*...[..
Size : 512 (Real : 512)
000000: 7C EE 80 67 7A EE 80 57 A7 ED 52 DA 35 31 DD 66 |..gz..W..R.51.f
000010: 79 DD 6E 78 22 0C 17 DD 66 77 DD 6E 76 22 10 17 y.nx"...fw.nv"..
000020: DD 66 75 DD 6E 74 22 12 17 DD 66 73 DD 6E 72 22 .fu.nt"...fs.nr"
000030: 1A 17 C3 38 31 C3 72 30 E1 21 08 00 39 F9 2A 10 ...81.r0.!..9.*.
000040: 01 22 12 01 E1 22 10 01 DD E1 C9 21 00 00 CD 92 ."...".....!....
000050: 02 DD 21 88 FF DD 39 21 00 00 E5 2A 0C 17 E5 DD ..!...9!...*....
000060: 66 7F DD 6E 7E E5 CD 2A 2A E1 E1 21 00 00 E5 CD f..n~..**..!....
000070: AC 1A 21 04 00 E5 21 20 00 E5 CD DE 1A E1 E1 21 ..!...! .......!
000080: C3 18 C3 92 31 01 0B 42 43 50 4C 20 65 64 69 74 ....1..BCPL edit
000090: 6F 72 E5 CD A7 05 E1 21 05 00 E5 21 20 00 E5 CD or.....!...! ...
0000A0: DE 1A E1 E1 21 D5 18 C3 B6 31 0B 2D 2D 2D 2D 2D ....!....1.-----
0000B0: 2D 2D 2D 2D 2D 2D E5 CD A7 05 E1 21 09 00 E5 21 ------.....!...!
0000C0: 20 00 E5 CD DE 1A E1 E1 21 E7 18 C3 DB 31 0C 4C .......!....1.L
0000D0: 3A 20 4C 6F 61 64 20 74 65 78 74 E5 CD A7 05 E1 : Load text.....
0000E0: 21 0A 00 E5 21 20 00 E5 CD DE 1A E1 E1 21 FA 18 !...! .......!..
0000F0: C3 01 32 01 0C 53 3A 20 53 61 76 65 20 74 65 78 ..2..S: Save tex
000100: 74 E5 CD A7 05 E1 21 0B 00 E5 21 20 00 E5 CD DE t.....!...! ....
000110: 1A E1 E1 21 0D 19 C3 27 32 01 0C 45 3A 20 45 64 ...!...'2..E: Ed
000120: 69 74 20 74 65 78 74 E5 CD A7 05 E1 21 0C 00 E5 it text.....!...
000130: 21 20 00 E5 CD DE 1A E1 E1 21 20 19 C3 4D 32 01 ! .......! ..M2.
000140: 0C 47 3A 20 47 6F 74 6F 20 6C 69 6E 65 E5 CD A7 .G: Goto line...
000150: 05 E1 21 0D 00 E5 21 20 00 E5 CD DE 1A E1 E1 21 ..!...! .......!
000160: 33 19 C3 75 32 01 0E 46 3A 20 46 69 6E 64 20 73 3..u2..F: Find s
000170: 74 72 69 6E 67 E5 CD A7 05 E1 21 0E 00 E5 21 20 tring.....!...!
000180: 00 E5 CD DE 1A E1 E1 21 47 19 C3 96 32 01 07 51 .......!G...2..Q
000190: 3A 20 51 75 69 74 E5 CD A7 05 E1 21 11 00 E5 21 : Quit.....!...!
0001A0: 20 00 E5 CD DE 1A E1 E1 21 57 19 C3 BE 32 0F 53 .......!W...2.S
0001B0: 65 6C 65 63 74 20 6F 70 74 69 6F 6E 3A 20 E5 CD elect option: ..
0001C0: A7 05 E1 CD E5 1B CD 60 08 EB DD 74 75 DD 75 74 .......`...tu.ut
0001D0: CD FB 1B DD 66 75 DD 6E 74 11 EF 00 A7 ED 52 CA ....fu.nt.....R.
0001E0: C3 32 DD 66 75 DD 6E 74 11 74 33 3E 0C C3 7E 01 .2.fu.nt.t3>..~.
0001F0: 21 4C 00 E5 CD 8C 03 E1 DD 66 7F DD 6E 7E E5 CD !L.......f..n~..
Size : 512 (Real : 512)
000000: 74 2B E1 EB 7C B5 CA 0D 33 E1 C3 AD 33 C3 A6 33 t+..|...3...3..3
000010: 21 53 00 E5 CD 8C 03 E1 CD 20 2D EB 7C B5 CA 25 !S....... -.|..%
000020: 33 E1 C3 AD 33 C3 A6 33 21 47 00 E5 CD 8C 03 E1 3...3..3!G......
000030: CD 8F 2E E1 C3 AD 33 21 46 00 E5 CD 8C 03 E1 2A ......3!F......*
000040: 10 17 E5 DD 66 7F DD 6E 7E E5 CD CA 1E E1 E1 EB ....f..n~.......
000050: 22 10 17 CD D8 2F E1 C3 AD 33 21 45 00 E5 CD 8C "..../...3!E....
000060: 03 E1 E1 C3 AD 33 21 51 00 E5 CD 8C 03 E1 C3 D6 .....3!Q........
000070: 01 C3 A6 33 71 00 66 33 51 00 66 33 65 00 5A 33 ...3q.f3Q.f3e.Z3
000080: 45 00 5A 33 66 00 37 33 46 00 37 33 67 00 28 33 E.Z3f.73F.73g.(3
000090: 47 00 28 33 73 00 10 33 53 00 10 33 6C 00 F0 32 G.(3s..3S..3l..2
0000A0: 4C 00 F0 32 A6 33 CD 11 1C E1 C3 6B 31 2A 0C 17 L..2.3.....k1*..
0000B0: E5 CD FB 27 E1 E1 E1 22 10 01 DD E1 C9 21 00 00 ...'...".....!..
0000C0: CD 92 02 DD 21 88 FF DD 39 2A 0C 17 7C B5 CA E4 ....!...9*..|...
0000D0: 34 2A 0C 17 E5 2A 0C 17 E5 CD 98 27 E1 EB E5 DD 4*...*.....'....
0000E0: 66 7F DD 6E 7E 29 5E 23 56 EB E5 DD 66 75 DD 6E f..n~)^#V...fu.n
0000F0: 74 E5 CD BC 22 E1 EB D1 19 2B 7C EE 80 67 11 50 t..."....+|..g.P
000100: 80 A7 ED 52 D2 BD 34 2A 0C 17 E5 CD BC 22 E1 D5 ...R..4*....."..
000110: DD 66 7F DD 6E 7E 29 5E 23 56 EB D1 A7 ED 52 ED .f..n~)^#V....R.
000120: 5B 0A 17 19 7C EE 80 67 11 D6 D9 A7 ED 52 DA 45 [...|..g.....R.E
000130: 34 21 1C 1A C3 40 34 01 07 4E 6F 20 72 6F 6F 6D 4!...@4..No room
000140: E5 CD 83 28 E1 2A 0C 17 2B E5 2A 0E 17 29 D1 19 ...(.*..+.*..)..
000150: 36 00 2A 0C 17 2B E5 DD 66 7F DD 6E 7E E5 CD 2A 6.*..+..f..n~..*
000160: 2A E1 E1 DD 66 75 DD 6E 74 22 0C 17 2A 1A 17 2B *...fu.nt"..*..+
000170: 22 1A 17 DD 66 7F DD 6E 7E 29 5E 23 56 EB E5 2A "...f..n~)^#V..*
000180: 0C 17 E5 CD BC 22 E1 EB D1 A7 ED 52 23 22 10 17 .....".....R#"..
000190: 2A 12 17 11 01 00 A7 ED 52 C2 B3 34 21 01 00 E5 *.......R..4!...
0001A0: 21 01 00 E5 2A 0C 17 E5 CD 12 23 21 06 00 39 F9 !...*.....#!..9.
0001B0: C3 BA 34 2A 12 17 2B 22 12 17 C3 DF 34 21 62 1A ..4*..+"....4!b.
0001C0: C3 DA 34 01 15 4C 69 6E 65 20 74 6F 6F 20 6C 6F ..4..Line too lo
0001D0: 6E 67 20 74 6F 20 6A 6F 69 6E E5 CD 83 28 E1 E1 ng to join...(..
0001E0: E1 C3 FB 34 21 75 1A C3 F6 34 0B 54 6F 70 20 6F ...4!u...4.Top o
0001F0: 66 20 66 69 6C 65 E5 CD 83 28 E1 E1 22 10 01 DD f file...(.."...
Size : 512 (Real : 512)
000000: E1 C9 21 A2 00 CD 92 02 DD 21 88 FF DD 39 2A 10 ..!......!...9*.
000010: 01 CB 3C CB 1D E5 21 01 00 E5 2A 34 35 E5 DD 66 ..<...!...*45..f
000020: 7F DD 6E 7E 29 5E 23 56 EB 7C EE 80 67 22 34 35 ..n~)^#V.|..g"45
000030: 21 00 00 11 00 00 EB 42 4B 7A EE 80 57 ED 52 DA !......BKz..W.R.
000040: 6C 35 C5 DD 66 7F DD 6E 7E DD 56 71 DD 5E 70 19 l5..f..n~.Vq.^p.
000050: 29 5E 23 56 EB E5 DD 66 77 DD 6E 76 DD 56 71 DD )^#V...fw.nv.Vq.
000060: 5E 70 19 29 D1 73 23 72 E1 23 18 C7 E1 22 34 35 ^p.).s#r.#..."45
000070: DD 66 7F DD 6E 7E DD 56 75 DD 5E 74 19 29 5E 23 .f..n~.Vu.^t.)^#
000080: 56 EB 11 0D 00 A7 ED 52 CA 9A 35 DD 66 75 DD 6E V......R..5.fu.n
000090: 74 23 DD 74 75 DD 75 74 18 D6 2A B8 35 E5 DD 66 t#.tu.ut..*.5..f
0000A0: 7F DD 6E 7E 29 5E 23 56 EB 2B 7C EE 80 67 22 B8 ..n~)^#V.+|..g".
0000B0: 35 DD 66 75 DD 6E 74 11 00 00 EB 42 4B 7A EE 80 5.fu.nt....BKz..
0000C0: 57 ED 52 DA F2 35 C5 DD 66 71 DD 6E 70 23 EB DD W.R..5..fq.np#..
0000D0: 66 7F DD 6E 7E 19 29 5E 23 56 EB E5 DD 66 7F DD f..n~.)^#V...f..
0000E0: 6E 7E DD 56 71 DD 5E 70 19 29 D1 73 23 72 E1 23 n~.Vq.^p.).s#r.#
0000F0: 18 C5 E1 22 B8 35 DD 66 7F DD 6E 7E 29 5E 23 56 ...".5.f..n~)^#V
000100: EB 2B E5 DD 66 7F DD 6E 7E 29 D1 73 23 72 2A 0C .+..f..n~).s#r*.
000110: 17 E5 DD 66 77 DD 6E 76 E5 CD 2A 2A E1 E1 21 01 ...fw.nv..**..!.
000120: 00 22 10 17 2A 1A 17 23 22 1A 17 2A 0C 17 E5 CD ."..*..#"..*....
000130: 32 27 E1 EB 22 0C 17 2A 1C 17 2B EB 2A 12 17 A7 2'.."..*..+.*...
000140: ED 52 C2 60 36 CD 6E 25 2A 1C 17 2B E5 21 01 00 .R.`6.n%*..+.!..
000150: E5 2A 0C 17 E5 CD 12 23 21 06 00 39 F9 C3 67 36 .*.....#!..9..g6
000160: 2A 12 17 23 22 12 17 E1 E1 2A 10 01 22 12 01 E1 *..#"....*.."...
000170: 22 10 01 DD E1 C9 21 00 00 CD 92 02 DD 21 86 FF ".....!......!..
000180: DD 39 2A 0C 17 7C B5 CA CA 36 2A 0C 17 E5 CD 98 .9*..|...6*.....
000190: 27 E1 EB 22 0C 17 2A 1A 17 2B 22 1A 17 2A 12 17 '.."..*..+"..*..
0001A0: 11 01 00 A7 ED 52 C2 C3 36 CD A3 24 21 01 00 E5 .....R..6..$!...
0001B0: 21 01 00 E5 2A 0C 17 E5 CD 12 23 21 06 00 39 F9 !...*.....#!..9.
0001C0: C3 CA 36 2A 12 17 2B 22 12 17 E1 22 10 01 DD E1 ..6*..+"..."....
0001D0: C9 21 00 00 CD 92 02 DD 21 88 FF DD 39 2A 0C 17 .!......!...9*..
0001E0: E5 DD 66 7F DD 6E 7E E5 CD 2A 2A E1 E1 CD 76 36 ..f..n~..**...v6
0001F0: E1 22 10 01 DD E1 C9 21 00 00 CD 92 02 DD 21 86 .".....!......!.
Size : 512 (Real : 512)
000000: FF DD 39 2A 0C 17 E5 2A 0C 17 E5 CD 32 27 E1 EB ..9*...*....2'..
000010: 22 0C 17 2A 0C 17 DD 56 79 DD 5E 78 A7 ED 52 CA "..*...Vy.^x..R.
000020: 59 37 2A 1A 17 23 22 1A 17 2A 1C 17 2B EB 2A 12 Y7*..#"..*..+.*.
000030: 17 A7 ED 52 C2 52 37 CD 6E 25 2A 1C 17 2B E5 21 ...R.R7.n%*..+.!
000040: 01 00 E5 2A 0C 17 E5 CD 12 23 21 06 00 39 F9 C3 ...*.....#!..9..
000050: 59 37 2A 12 17 23 22 12 17 E1 E1 22 10 01 DD E1 Y7*..#"...."....
000060: C9 21 00 00 CD 92 02 DD 21 88 FF DD 39 2A 0C 17 .!......!...9*..
000070: E5 DD 66 7F DD 6E 7E E5 CD 2A 2A E1 E1 CD F7 36 ..f..n~..**....6
000080: E1 22 10 01 DD E1 C9 21 00 00 CD 92 02 DD 21 88 .".....!......!.
000090: FF DD 39 2A 0C 17 E5 DD 66 7F DD 6E 7E E5 CD 2A ..9*....f..n~..*
0000A0: 2A E1 E1 2A B9 37 E5 2A 1C 17 11 FC FF 19 7C EE *..*.7.*......|.
0000B0: 80 67 22 B9 37 21 01 00 11 00 00 EB 42 4B 7A EE .g".7!......BKz.
0000C0: 80 57 ED 52 DA DB 37 C5 2A 0C 17 7C B5 C2 D4 37 .W.R..7.*..|...7
0000D0: E1 C3 DB 37 CD 76 36 E1 23 18 DD E1 22 B9 37 E1 ...7.v6.#...".7.
0000E0: 22 10 01 DD E1 C9 21 00 00 CD 92 02 DD 21 88 FF ".....!......!..
0000F0: DD 39 2A 0C 17 E5 DD 66 7F DD 6E 7E E5 CD 2A 2A .9*....f..n~..**
000100: E1 E1 2A 18 38 E5 2A 1C 17 11 FC FF 19 7C EE 80 ..*.8.*......|..
000110: 67 22 18 38 21 01 00 11 00 00 EB 42 4B 7A EE 80 g".8!......BKz..
000120: 57 ED 52 DA 48 38 C5 2A 0C 17 E5 CD F7 36 DD 66 W.R.H8.*.....6.f
000130: 73 DD 6E 72 ED 5B 0C 17 A7 ED 52 C2 43 38 E1 E1 s.nr.[....R.C8..
000140: C3 48 38 E1 E1 23 18 CF E1 22 18 38 E1 22 10 01 .H8..#...".8."..
000150: DD E1 C9 21 00 00 CD 92 02 DD 21 88 FF DD 39 2A ...!......!...9*
000160: 0C 17 E5 DD 66 7F DD 6E 7E E5 CD 2A 2A E1 E1 21 ....f..n~..**..!
000170: 00 00 22 0C 17 21 01 00 22 10 17 21 01 00 22 12 .."..!.."..!..".
000180: 17 21 01 00 22 1A 17 2A 0C 17 E5 CD FB 27 E1 E1 .!.."..*.....'..
000190: 22 10 01 DD E1 C9 21 00 00 CD 92 02 DD 21 88 FF ".....!......!..
0001A0: DD 39 21 00 00 E5 2A 0C 17 E5 DD 66 7F DD 6E 7E .9!...*....f..n~
0001B0: E5 CD 2A 2A E1 E1 21 00 00 22 0C 17 21 01 00 22 ..**..!.."..!.."
0001C0: 10 17 21 01 00 22 12 17 21 00 00 22 1A 17 2A 0C ..!.."..!.."..*.
0001D0: 17 DD 74 77 DD 75 76 2A 0C 17 E5 CD 32 27 E1 EB ..tw.uv*....2'..
0001E0: 22 0C 17 2A 12 17 23 22 12 17 2A 1A 17 23 22 1A "..*..#"..*..#".
0001F0: 17 DD 66 77 DD 6E 76 ED 5B 0C 17 A7 ED 52 C2 CE ..fw.nv.[....R..
Size : 512 (Real : 512)
000000: 38 2A 1C 17 2B ED 5B 12 17 7C EE 80 67 7A EE 80 8*..+.[..|..gz..
000010: 57 A7 ED 52 D2 1E 39 2A 1C 17 2B 22 12 17 2A 0C W..R..9*..+"..*.
000020: 17 E5 CD FB 27 E1 E1 E1 22 10 01 DD E1 C9 21 6A ....'...".....!j
000030: 5B CD 92 02 DD 21 86 FF DD 39 2A 10 01 CB 3C CB [....!...9*...<.
000040: 1D E5 2A 10 01 11 A4 00 19 CB 3C CB 1D E5 2A 10 ..*.......<...*.
000050: 01 11 E2 00 19 CB 3C CB 1D E5 2A 10 01 11 BC 5A ......<...*....Z
000060: 19 CB 3C CB 1D E5 2A 10 01 11 60 5B 19 CB 3C CB ..<...*...`[..<.
000070: 1D E5 21 00 00 E5 21 00 00 E5 21 FF FF E5 CD B3 ..!...!...!.....
000080: 19 EB 22 1E 17 2A 1E 17 11 04 00 A7 ED 52 C2 97 .."..*.......R..
000090: 39 21 1F 00 C3 AC 39 2A 1E 17 11 03 00 A7 ED 52 9!....9*.......R
0000A0: C2 A9 39 21 18 00 C3 AC 39 21 19 00 22 1C 17 21 ..9!....9!.."..!
0000B0: 00 00 22 0C 17 21 00 00 22 0A 17 DD 66 75 DD 6E .."..!.."...fu.n
0000C0: 74 22 0E 17 DD 66 71 DD 6E 70 22 24 17 DD 66 77 t"...fq.np"$..fw
0000D0: DD 6E 76 22 14 17 DD 66 79 DD 6E 78 22 16 17 CD .nv"...fy.nx"...
0000E0: 4A 24 2A 0E 17 29 36 0D 2A 24 17 E5 CD 08 02 E1 J$*..)6.*$......
0000F0: 2A 0C 17 E5 DD 66 73 DD 6E 72 E5 CD 37 22 E1 E1 *....fs.nr..7"..
000100: DD 66 6B DD 6E 6A 7C B5 CA 18 3A 2A 12 17 E5 2A .fk.nj|...:*...*
000110: 0C 17 E5 CD 06 26 E1 E1 2A 18 17 7C B5 CA 93 3A .....&..*..|...:
000120: 2A 12 17 E5 21 01 00 E5 CD DE 1A E1 E1 2A 48 3A *...!........*H:
000130: E5 DD 66 73 DD 6E 72 29 5E 23 56 EB 2B 7C EE 80 ..fs.nr)^#V.+|..
000140: 67 22 48 3A 21 01 00 11 00 00 EB 42 4B 7A EE 80 g"H:!......BKz..
000150: 57 ED 52 DA 72 3A C5 DD 66 73 DD 6E 72 DD 56 67 W.R.r:..fs.nr.Vg
000160: DD 5E 66 19 29 5E 23 56 EB E5 CD 8C 03 E1 E1 23 .^f.)^#V.......#
000170: 18 D5 E1 22 48 3A DD 66 73 DD 6E 72 29 5E 23 56 ..."H:.fs.nr)^#V
000180: EB EB 21 50 00 A7 ED 52 E5 CD 55 1B E1 21 00 00 ..!P...R..U..!..
000190: 22 18 17 DD 66 73 DD 6E 72 E5 CD 72 21 E1 EB DD "...fs.nr..r!...
0001A0: 74 6D DD 75 6C 21 00 00 DD 74 6B DD 75 6A DD 66 tm.ul!...tk.uj.f
0001B0: 6D DD 6E 6C 11 4F 3B 3E 0C C3 7E 01 21 FF FF DD m.nl.O;>..~.!...
0001C0: 74 6B DD 75 6A DD 66 73 DD 6E 72 E5 CD BD 33 E1 tk.uj.fs.nr...3.
0001D0: C3 81 3B 21 FF FF DD 74 6B DD 75 6A DD 66 73 DD ..;!...tk.uj.fs.
0001E0: 6E 72 E5 CD 02 35 E1 C3 81 3B DD 66 73 DD 6E 72 nr...5...;.fs.nr
0001F0: E5 CD D1 36 E1 C3 81 3B DD 66 73 DD 6E 72 E5 CD ...6...;.fs.nr..
Size : 512 (Real : 512)
000000: 61 37 E1 C3 81 3B DD 66 73 DD 6E 72 E5 CD 87 37 a7...;.fs.nr...7
000010: E1 C3 81 3B DD 66 73 DD 6E 72 E5 CD E6 37 E1 C3 ...;.fs.nr...7..
000020: 81 3B DD 66 73 DD 6E 72 E5 CD 53 38 E1 C3 81 3B .;.fs.nr..S8...;
000030: DD 66 73 DD 6E 72 E5 CD 96 38 E1 C3 81 3B DD 66 .fs.nr...8...;.f
000040: 73 DD 6E 72 E5 CD 4B 31 E1 C3 81 3B C3 81 3B 03 s.nr..K1...;..;.
000050: 00 3E 3B FC 00 3E 3B 1D 00 30 3B 1B 00 22 3B F9 .>;..>;..0;..";.
000060: 00 14 3B F8 00 06 3B F5 00 F8 3A F1 00 F8 3A F4 ..;...;...:...:.
000070: 00 EA 3A F0 00 EA 3A 0D 00 D3 3A 7F 00 BC 3A 81 ..:...:...:...:.
000080: 3B C3 E8 39 21 06 00 39 F9 E1 E1 E1 E1 E1 2A 10 ;..9!..9......*.
000090: 01 22 12 01 E1 22 10 01 DD E1 C9 26 17 18 3A 1E ."...".....&..:.
0000A0: 17 00 00 1C 17 00 00 1A 17 01 00 18 17 00 00 16 ................
0000B0: 17 00 00 14 17 00 00 12 17 01 00 10 17 01 00 0E ................
0000C0: 17 00 00 0C 17 00 00 0A 17 00 00 08 17 FF FF 8A ................
0000D0: 03 00 00 88 03 00 00 86 03 00 00 84 03 00 00 02 ................
0000E0: F6 14 3B F8 00 06 3B F5 00 F8 3A F1 00 F8 3A F4 ..;...;...:...:.
0000F0: 00 EA 3A F0 00 EA 3A 0D 00 D3 3A 7F 00 BC 3A 81 ..:...:...:...:.
000100: DD 66 6B DD 6E 6A 7C B5 CA 18 3A 2A 12 17 E5 2A .fk.nj|...:*...*
000110: 0C 17 E5 CD 06 26 E1 E1 2A 18 17 7C B5 CA 93 3A .....&..*..|...:
000120: 2A 12 17 E5 21 01 00 E5 CD DE 1A E1 E1 2A 48 3A *...!........*H:
000130: E5 DD 66 73 DD 6E 72 29 5E 23 56 EB 2B 7C EE 80 ..fs.nr)^#V.+|..
000140: 67 22 48 3A 21 01 00 11 00 00 EB 42 4B 7A EE 80 g"H:!......BKz..
000150: 57 ED 52 DA 72 3A C5 DD 66 73 DD 6E 72 DD 56 67 W.R.r:..fs.nr.Vg
000160: DD 5E 66 19 29 5E 23 56 EB E5 CD 8C 03 E1 E1 23 .^f.)^#V.......#
000170: 18 D5 E1 22 48 3A DD 66 73 DD 6E 72 29 5E 23 56 ..."H:.fs.nr)^#V
000180: EB EB 21 50 00 A7 ED 52 E5 CD 55 1B E1 21 00 00 ..!P...R..U..!..
000190: 22 18 17 DD 66 73 DD 6E 72 E5 CD 72 21 E1 EB DD "...fs.nr..r!...
0001A0: 74 6D DD 75 6C 21 00 00 DD 74 6B DD 75 6A DD 66 tm.ul!...tk.uj.f
0001B0: 6D DD 6E 6C 11 4F 3B 3E 0C C3 7E 01 21 FF FF DD m.nl.O;>..~.!...
0001C0: 74 6B DD 75 6A DD 66 73 DD 6E 72 E5 CD BD 33 E1 tk.uj.fs.nr...3.
0001D0: C3 81 3B 21 FF FF DD 74 6B DD 75 6A DD 66 73 DD ..;!...tk.uj.fs.
0001E0: 6E 72 E5 CD 02 35 E1 C3 81 3B DD 66 73 DD 6E 72 nr...5...;.fs.nr
0001F0: E5 CD D1 36 E1 C3 81 3B DD 66 73 DD 6E 72 E5 CD ...6...;.fs.nr..
Size : 512 (Real : 512)
000000: 2F 2F 20 43 4C 49 42 48 44 52 20 20 20 73 74 61 // CLIBHDR sta
000010: 6E 64 61 72 64 20 43 50 2F 4D 20 6C 69 62 72 61 ndard CP/M libra
000020: 72 79 20 68 65 61 64 65 72 2C 20 6C 61 73 74 20 ry header, last
000030: 6D 6F 64 69 66 69 65 64 20 32 31 2F 30 33 2F 31 modified 21/03/1
000040: 39 38 37 0D 0A 0D 0A 0D 0A 4D 41 4E 49 46 45 53 987......MANIFES
000050: 54 20 24 28 20 62 79 74 65 73 70 65 72 77 6F 72 T $( bytesperwor
000060: 64 20 3D 20 32 20 3B 20 62 69 74 73 70 65 72 77 d = 2 ; bitsperw
000070: 6F 72 64 20 3D 20 31 36 0D 0A 20 20 20 20 20 20 ord = 16..
000080: 20 20 20 20 20 20 73 6F 66 74 65 6F 66 63 68 20 softeofch
000090: 3D 20 32 36 20 20 20 3B 20 65 6E 64 73 74 72 65 = 26 ; endstre
0000A0: 61 6D 63 68 20 3D 20 2D 31 0D 0A 20 20 20 20 20 amch = -1..
0000B0: 20 20 20 20 20 20 20 76 64 75 73 74 72 65 61 6D vdustream
0000C0: 20 3D 20 30 20 20 20 20 3B 20 70 72 69 6E 74 73 = 0 ; prints
0000D0: 74 72 65 61 6D 20 3D 20 31 0D 0A 20 20 20 20 20 tream = 1..
0000E0: 20 20 20 20 20 20 20 6D 61 78 69 6E 74 20 3D 20 maxint =
0000F0: 33 32 37 36 37 20 20 20 3B 20 6D 69 6E 69 6E 74 32767 ; minint
000100: 20 3D 20 2D 33 32 37 36 38 0D 0A 20 20 20 20 20 = -32768..
000110: 20 20 20 20 20 20 20 6E 65 77 6C 69 6E 65 63 68 newlinech
000120: 20 3D 20 32 36 39 0D 0A 20 20 20 20 20 20 20 20 = 269..
000130: 20 24 29 0D 0A 0D 0A 53 54 41 54 49 43 20 20 20 $)....STATIC
000140: 24 28 20 72 65 61 64 73 74 72 65 61 6D 20 3D 20 $( readstream =
000150: 30 20 3B 20 77 72 69 74 65 73 74 72 65 61 6D 20 0 ; writestream
000160: 3D 20 30 0D 0A 20 20 20 20 20 20 20 20 20 20 20 = 0..
000170: 20 72 65 74 75 72 6E 65 64 20 3D 20 30 20 20 20 returned = 0
000180: 3B 20 6C 61 73 74 63 68 61 72 20 3D 20 30 0D 0A ; lastchar = 0..
000190: 20 20 20 20 20 20 20 20 20 24 29 0D 0A 0D 0A 0D $).....
0001A0: 0A 2F 2A 2A 2A 2A 20 4F 55 54 50 55 54 20 52 4F ./**** OUTPUT RO
0001B0: 55 54 49 4E 45 53 20 2A 2A 2A 2A 2F 0D 0A 0D 0A UTINES ****/....
0001C0: 4C 45 54 20 77 72 63 68 28 63 68 61 72 29 20 42 LET wrch(char) B
0001D0: 45 0D 0A 24 28 0D 0A 20 20 53 57 49 54 43 48 4F E..$(.. SWITCHO
0001E0: 4E 20 77 72 69 74 65 73 74 72 65 61 6D 20 49 4E N writestream IN
0001F0: 54 4F 0D 0A 20 20 24 28 0D 0A 20 20 20 20 20 43 TO.. $(.. C
Size : 512 (Real : 512)
000000: 41 53 45 20 76 64 75 73 74 72 65 61 6D 20 20 20 ASE vdustream
000010: 3A 20 20 77 72 76 64 75 28 63 68 61 72 29 20 3B : wrvdu(char) ;
000020: 20 45 4E 44 43 41 53 45 0D 0A 20 20 20 20 20 43 ENDCASE.. C
000030: 41 53 45 20 70 72 69 6E 74 73 74 72 65 61 6D 20 ASE printstream
000040: 3A 20 20 70 72 63 68 28 63 68 61 72 29 20 3B 20 : prch(char) ;
000050: 45 4E 44 43 41 53 45 0D 0A 20 20 20 20 20 44 45 ENDCASE.. DE
000060: 46 41 55 4C 54 20 20 20 20 20 20 20 20 20 20 3A FAULT :
000070: 20 20 77 72 69 74 65 63 68 28 63 68 61 72 2C 77 writech(char,w
000080: 72 69 74 65 73 74 72 65 61 6D 29 0D 0A 20 20 24 ritestream).. $
000090: 29 0D 0A 24 29 0D 0A 0D 0A 41 4E 44 20 77 72 69 )..$)....AND wri
0000A0: 74 65 66 28 73 74 72 69 6E 67 2C 61 2C 62 2C 63 tef(string,a,b,c
0000B0: 2C 64 2C 65 2C 66 2C 67 2C 68 2C 69 2C 6A 2C 6B ,d,e,f,g,h,i,j,k
0000C0: 29 20 42 45 0D 0A 24 28 0D 0A 20 20 4C 45 54 20 ) BE..$(.. LET
0000D0: 70 70 74 72 20 3D 20 40 61 0D 0A 20 20 46 4F 52 pptr = @a.. FOR
0000E0: 20 63 70 74 72 20 3D 20 31 20 54 4F 20 73 74 72 cptr = 1 TO str
0000F0: 69 6E 67 25 30 20 44 4F 0D 0A 20 20 24 28 0D 0A ing%0 DO.. $(..
000100: 20 20 20 20 4C 45 54 20 6B 20 3D 20 73 74 72 69 LET k = stri
000110: 6E 67 25 63 70 74 72 0D 0A 20 20 20 20 54 45 53 ng%cptr.. TES
000120: 54 20 6B 20 3D 20 27 25 27 20 54 48 45 4E 0D 0A T k = '%' THEN..
000130: 20 20 20 20 24 28 0D 0A 20 20 20 20 20 20 4C 45 $(.. LE
000140: 54 20 61 72 67 20 3D 20 21 70 70 74 72 0D 0A 20 T arg = !pptr..
000150: 20 20 20 20 20 63 70 74 72 20 3A 3D 20 63 70 74 cptr := cpt
000160: 72 20 2B 20 31 0D 0A 20 20 20 20 20 20 24 28 0D r + 1.. $(.
000170: 0A 20 20 20 20 20 20 20 20 4C 45 54 20 63 68 2C . LET ch,
000180: 20 73 69 7A 65 20 3D 20 73 74 72 69 6E 67 25 63 size = string%c
000190: 70 74 72 2C 20 64 65 63 76 61 6C 28 73 74 72 69 ptr, decval(stri
0001A0: 6E 67 25 28 63 70 74 72 2B 31 29 29 0D 0A 20 20 ng%(cptr+1))..
0001B0: 20 20 20 20 20 20 70 70 74 72 20 3A 3D 20 70 70 pptr := pp
0001C0: 74 72 20 2B 20 31 0D 0A 20 20 20 20 20 20 20 20 tr + 1..
0001D0: 63 70 74 72 20 3A 3D 20 63 70 74 72 20 2B 20 56 cptr := cptr + V
0001E0: 41 4C 4F 46 0D 0A 20 20 20 20 20 20 20 20 53 57 ALOF.. SW
0001F0: 49 54 43 48 4F 4E 20 63 68 20 49 4E 54 4F 0D 0A ITCHON ch INTO..
Size : 512 (Real : 512)
000000: 20 20 20 20 20 20 20 20 24 28 0D 0A 20 20 20 20 $(..
000010: 20 20 20 20 20 20 43 41 53 45 20 27 53 27 3A 20 CASE 'S':
000020: 77 72 69 74 65 73 28 61 72 67 29 20 20 20 3B 20 writes(arg) ;
000030: 52 45 53 55 4C 54 49 53 20 30 0D 0A 20 20 20 20 RESULTIS 0..
000040: 20 20 20 20 20 20 43 41 53 45 20 27 43 27 3A 20 CASE 'C':
000050: 77 72 63 68 28 61 72 67 29 20 20 20 20 20 3B 20 wrch(arg) ;
000060: 52 45 53 55 4C 54 49 53 20 30 0D 0A 20 20 20 20 RESULTIS 0..
000070: 20 20 20 20 20 20 43 41 53 45 20 27 4E 27 3A 20 CASE 'N':
000080: 77 72 69 74 65 64 28 61 72 67 2C 30 29 20 3B 20 writed(arg,0) ;
000090: 52 45 53 55 4C 54 49 53 20 30 0D 0A 20 20 20 20 RESULTIS 0..
0000A0: 20 20 20 20 20 20 43 41 53 45 20 27 4F 27 3A 20 CASE 'O':
0000B0: 77 72 69 74 65 6F 63 74 28 61 72 67 2C 73 69 7A writeoct(arg,siz
0000C0: 65 29 20 3B 20 52 45 53 55 4C 54 49 53 20 31 0D e) ; RESULTIS 1.
0000D0: 0A 20 20 20 20 20 20 20 20 20 20 43 41 53 45 20 . CASE
0000E0: 27 58 27 3A 20 77 72 69 74 65 68 65 78 28 61 72 'X': writehex(ar
0000F0: 67 2C 73 69 7A 65 29 20 3B 20 52 45 53 55 4C 54 g,size) ; RESULT
000100: 49 53 20 31 0D 0A 20 20 20 20 20 20 20 20 20 20 IS 1..
000110: 43 41 53 45 20 27 49 27 3A 20 77 72 69 74 65 64 CASE 'I': writed
000120: 28 61 72 67 2C 73 69 7A 65 29 20 20 20 3B 20 52 (arg,size) ; R
000130: 45 53 55 4C 54 49 53 20 31 0D 0A 20 20 20 20 20 ESULTIS 1..
000140: 20 20 20 20 20 43 41 53 45 20 27 24 27 3A 20 52 CASE '$': R
000150: 45 53 55 4C 54 49 53 20 30 0D 0A 20 20 20 20 20 ESULTIS 0..
000160: 20 20 20 20 20 44 45 46 41 55 4C 54 20 3A 20 77 DEFAULT : w
000170: 72 63 68 28 63 68 29 20 3B 20 70 70 74 72 20 3A rch(ch) ; pptr :
000180: 3D 20 70 70 74 72 20 2D 20 31 20 20 20 3B 20 52 = pptr - 1 ; R
000190: 45 53 55 4C 54 49 53 20 30 0D 0A 20 20 20 20 20 ESULTIS 0..
0001A0: 20 20 20 24 29 0D 0A 20 20 20 20 20 20 24 29 0D $).. $).
0001B0: 0A 20 20 20 20 24 29 0D 0A 20 20 20 20 45 4C 53 . $).. ELS
0001C0: 45 20 77 72 63 68 28 6B 29 0D 0A 20 20 24 29 0D E wrch(k).. $).
0001D0: 0A 24 29 0D 0A 0D 0A 41 4E 44 20 77 72 69 74 65 .$)....AND write
0001E0: 73 28 73 29 20 42 45 20 46 4F 52 20 63 20 3D 20 s(s) BE FOR c =
0001F0: 31 20 54 4F 20 73 25 30 20 44 4F 20 77 72 63 68 1 TO s%0 DO wrch
Size : 512 (Real : 512)
000000: 28 73 25 63 29 0D 0A 0D 0A 41 4E 44 20 77 72 69 (s%c)....AND wri
000010: 74 65 64 28 6E 75 6D 2C 64 29 20 42 45 0D 0A 24 ted(num,d) BE..$
000020: 28 0D 0A 20 20 4C 45 54 20 74 65 6D 70 20 3D 20 (.. LET temp =
000030: 56 45 43 20 32 30 0D 0A 20 20 41 4E 44 20 70 74 VEC 20.. AND pt
000040: 72 2C 20 6E 20 3D 20 30 2C 20 6E 75 6D 0D 0A 20 r, n = 0, num..
000050: 20 49 46 20 6E 75 6D 3C 30 20 54 48 45 4E 20 64 IF num<0 THEN d
000060: 2C 20 6E 20 3A 3D 20 64 2D 31 2C 20 2D 6E 0D 0A , n := d-1, -n..
000070: 20 20 74 65 6D 70 21 70 74 72 2C 20 6E 2C 20 70 temp!ptr, n, p
000080: 74 72 20 3A 3D 20 6E 20 52 45 4D 20 31 30 2C 20 tr := n REM 10,
000090: 6E 2F 31 30 2C 20 70 74 72 2B 31 20 52 45 50 45 n/10, ptr+1 REPE
0000A0: 41 54 55 4E 54 49 4C 20 6E 20 3D 20 30 0D 0A 20 ATUNTIL n = 0..
0000B0: 20 46 4F 52 20 6A 20 3D 20 70 74 72 2B 31 20 54 FOR j = ptr+1 T
0000C0: 4F 20 64 20 44 4F 20 77 72 63 68 28 27 20 27 29 O d DO wrch(' ')
0000D0: 0D 0A 20 20 49 46 20 6E 75 6D 3C 30 20 54 48 45 .. IF num<0 THE
0000E0: 4E 20 77 72 63 68 28 27 2D 27 29 0D 0A 20 20 46 N wrch('-').. F
0000F0: 4F 52 20 6A 20 3D 20 70 74 72 2D 31 20 54 4F 20 OR j = ptr-1 TO
000100: 30 20 42 59 20 2D 31 20 44 4F 20 77 72 63 68 28 0 BY -1 DO wrch(
000110: 74 65 6D 70 21 6A 2B 27 30 27 29 0D 0A 24 29 0D temp!j+'0')..$).
000120: 0A 0D 0A 41 4E 44 20 77 72 69 74 65 6E 28 6E 29 ...AND writen(n)
000130: 20 42 45 20 77 72 69 74 65 64 28 6E 2C 30 29 0D BE writed(n,0).
000140: 0A 0D 0A 41 4E 44 20 77 72 69 74 65 68 65 78 28 ...AND writehex(
000150: 6E 75 6D 2C 64 29 20 42 45 0D 0A 24 28 0D 0A 20 num,d) BE..$(..
000160: 20 49 46 20 44 3E 31 20 54 48 45 4E 20 77 72 69 IF D>1 THEN wri
000170: 74 65 68 65 78 28 6E 75 6D 3E 3E 34 2C 20 64 2D tehex(num>>4, d-
000180: 31 29 0D 0A 20 20 77 72 63 68 28 28 6E 75 6D 20 1).. wrch((num
000190: 4C 4F 47 41 4E 44 20 31 35 29 21 54 41 42 4C 45 LOGAND 15)!TABLE
0001A0: 20 27 30 27 2C 27 31 27 2C 27 32 27 2C 27 33 27 '0','1','2','3'
0001B0: 2C 27 34 27 2C 27 35 27 2C 27 36 27 2C 27 37 27 ,'4','5','6','7'
0001C0: 2C 27 38 27 2C 27 39 27 2C 0D 0A 20 20 20 20 20 ,'8','9',..
0001D0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
0001E0: 20 20 20 20 20 20 20 20 27 41 27 2C 27 42 27 2C 'A','B',
0001F0: 27 43 27 2C 27 44 27 2C 27 45 27 2C 27 46 27 29 'C','D','E','F')
Size : 512 (Real : 512)
000000: 0D 0A 24 29 0D 0A 0D 0A 41 4E 44 20 77 72 69 74 ..$)....AND writ
000010: 65 6F 63 74 28 6E 75 6D 2C 64 29 20 42 45 0D 0A eoct(num,d) BE..
000020: 24 28 0D 0A 20 20 49 46 20 64 3E 31 20 54 48 45 $(.. IF d>1 THE
000030: 4E 20 77 72 69 74 65 6F 63 74 28 6E 75 6D 3E 3E N writeoct(num>>
000040: 33 2C 64 2D 31 29 0D 0A 20 20 77 72 63 68 28 28 3,d-1).. wrch((
000050: 6E 75 6D 20 4C 4F 47 41 4E 44 20 37 29 2B 27 30 num LOGAND 7)+'0
000060: 27 29 0D 0A 24 29 0D 0A 0D 0A 41 4E 44 20 6E 65 ')..$)....AND ne
000070: 77 6C 69 6E 65 28 29 20 42 45 20 20 77 72 63 68 wline() BE wrch
000080: 28 6E 65 77 6C 69 6E 65 63 68 29 0D 0A 0D 0A 0D (newlinech).....
000090: 0A 2F 2A 2A 2A 2A 20 49 4E 50 55 54 20 52 4F 55 ./**** INPUT ROU
0000A0: 54 49 4E 45 53 20 2A 2A 2A 2A 2F 0D 0A 0D 0A 41 TINES ****/....A
0000B0: 4E 44 20 72 64 63 68 28 29 20 3D 20 56 41 4C 4F ND rdch() = VALO
0000C0: 46 0D 0A 24 28 0D 0A 20 20 55 4E 4C 45 53 53 20 F..$(.. UNLESS
0000D0: 72 65 74 75 72 6E 65 64 20 3D 20 30 20 54 48 45 returned = 0 THE
0000E0: 4E 0D 0A 20 20 24 28 0D 0A 20 20 20 20 4C 45 54 N.. $(.. LET
0000F0: 20 63 20 3D 20 72 65 74 75 72 6E 65 64 0D 0A 20 c = returned..
000100: 20 20 20 72 65 74 75 72 6E 65 64 20 3A 3D 20 30 returned := 0
000110: 0D 0A 20 20 20 20 6C 61 73 74 63 68 61 72 20 3A .. lastchar :
000120: 3D 20 63 0D 0A 20 20 20 20 52 45 53 55 4C 54 49 = c.. RESULTI
000130: 53 20 63 0D 0A 20 20 24 29 0D 0A 20 20 52 45 53 S c.. $).. RES
000140: 55 4C 54 49 53 20 72 65 61 64 73 74 72 65 61 6D ULTIS readstream
000150: 20 3D 20 30 20 2D 3E 20 72 64 76 64 75 28 29 2C = 0 -> rdvdu(),
000160: 20 72 65 61 64 63 68 28 72 65 61 64 73 74 72 65 readch(readstre
000170: 61 6D 29 0D 0A 24 29 0D 0A 0D 0A 41 4E 44 20 75 am)..$)....AND u
000180: 6E 72 64 63 68 28 29 20 42 45 20 72 65 74 75 72 nrdch() BE retur
000190: 6E 65 64 20 3A 3D 20 6C 61 73 74 63 68 61 72 0D ned := lastchar.
0001A0: 0A 0D 0A 41 4E 44 20 72 65 61 64 73 28 61 72 72 ...AND reads(arr
0001B0: 61 79 29 20 3D 20 56 41 4C 4F 46 0D 0A 24 28 0D ay) = VALOF..$(.
0001C0: 0A 20 20 4D 41 4E 49 46 45 53 54 20 24 28 20 65 . MANIFEST $( e
0001D0: 73 63 61 70 65 20 3D 20 23 78 46 43 20 20 3B 20 scape = #xFC ;
0001E0: 20 73 74 6F 70 3D 33 20 3B 20 6D 61 78 6C 65 6E stop=3 ; maxlen
0001F0: 3D 32 35 35 20 24 29 0D 0A 20 20 4C 45 54 20 70 =255 $).. LET p
Size : 512 (Real : 512)
000000: 74 72 2C 20 63 20 3D 20 30 2C 20 3F 0D 0A 20 20 tr, c = 0, ?..
000010: 24 28 0D 0A 20 20 20 20 46 4F 52 20 69 3D 31 20 $(.. FOR i=1
000020: 74 6F 20 70 74 72 20 44 4F 20 24 28 20 77 72 63 to ptr DO $( wrc
000030: 68 28 38 29 20 3B 20 77 72 63 68 28 27 20 27 29 h(8) ; wrch(' ')
000040: 20 3B 20 77 72 63 68 28 38 29 20 24 29 0D 0A 20 ; wrch(8) $)..
000050: 20 20 20 70 74 72 3A 3D 30 0D 0A 20 20 20 20 63 ptr:=0.. c
000060: 20 3A 3D 20 72 64 63 68 28 29 0D 0A 20 20 20 20 := rdch()..
000070: 55 4E 54 49 4C 20 63 3D 31 33 20 7C 20 63 3D 65 UNTIL c=13 | c=e
000080: 73 63 61 70 65 20 7C 20 63 3D 73 74 6F 70 20 44 scape | c=stop D
000090: 4F 0D 0A 20 20 20 20 24 28 0D 0A 20 20 20 20 20 O.. $(..
0000A0: 20 54 45 53 54 20 63 3D 31 32 37 20 54 48 45 4E TEST c=127 THEN
0000B0: 0D 0A 20 20 20 20 20 20 24 28 0D 0A 20 20 20 20 .. $(..
0000C0: 20 20 20 20 54 45 53 54 20 70 74 72 3D 30 20 54 TEST ptr=0 T
0000D0: 48 45 4E 20 77 72 63 68 28 37 29 0D 0A 20 20 20 HEN wrch(7)..
0000E0: 20 20 20 20 20 45 4C 53 45 0D 0A 20 20 20 20 20 ELSE..
0000F0: 20 20 20 24 28 0D 0A 20 20 20 20 20 20 20 20 20 $(..
000100: 20 77 72 63 68 28 38 29 20 3B 20 77 72 63 68 28 wrch(8) ; wrch(
000110: 27 20 27 29 20 3B 20 77 72 63 68 28 38 29 0D 0A ' ') ; wrch(8)..
000120: 20 20 20 20 20 20 20 20 20 20 70 74 72 20 3A 3D ptr :=
000130: 20 70 74 72 2D 31 0D 0A 20 20 20 20 20 20 20 20 ptr-1..
000140: 24 29 0D 0A 20 20 20 20 20 20 24 29 0D 0A 20 20 $).. $)..
000150: 20 20 20 20 45 4C 53 45 0D 0A 20 20 20 20 20 20 ELSE..
000160: 24 28 0D 0A 20 20 20 20 20 20 20 20 54 45 53 54 $(.. TEST
000170: 20 70 74 72 3D 6D 61 78 6C 65 6E 20 54 48 45 4E ptr=maxlen THEN
000180: 20 77 72 63 68 28 37 29 0D 0A 20 20 20 20 20 20 wrch(7)..
000190: 20 20 45 4C 53 45 0D 0A 20 20 20 20 20 20 20 20 ELSE..
0001A0: 24 28 20 77 72 63 68 28 63 29 0D 0A 20 20 20 20 $( wrch(c)..
0001B0: 20 20 20 20 20 20 20 70 74 72 20 3A 3D 20 70 74 ptr := pt
0001C0: 72 20 2B 20 31 0D 0A 20 20 20 20 20 20 20 20 20 r + 1..
0001D0: 20 20 61 72 72 61 79 25 70 74 72 20 3A 3D 20 63 array%ptr := c
0001E0: 0D 0A 20 20 20 20 20 20 20 20 24 29 0D 0A 20 20 .. $)..
0001F0: 20 20 20 20 24 29 0D 0A 20 20 20 20 20 20 63 20 $).. c
Size : 512 (Real : 512)
000000: 3A 3D 20 72 64 63 68 28 29 0D 0A 20 20 20 20 24 := rdch().. $
000010: 29 0D 0A 20 20 24 29 0D 0A 20 20 52 45 50 45 41 ).. $).. REPEA
000020: 54 57 48 49 4C 45 20 28 63 3D 65 73 63 61 70 65 TWHILE (c=escape
000030: 20 7C 20 63 3D 20 73 74 6F 70 29 20 26 20 28 70 | c= stop) & (p
000040: 74 72 20 5C 3D 20 30 29 0D 0A 20 20 61 72 72 61 tr \= 0).. arra
000050: 79 25 30 20 3A 3D 20 28 63 3D 65 73 63 61 70 65 y%0 := (c=escape
000060: 20 7C 20 63 3D 73 74 6F 70 29 20 2D 3E 20 30 2C | c=stop) -> 0,
000070: 20 70 74 72 0D 0A 20 20 52 45 53 55 4C 54 49 53 ptr.. RESULTIS
000080: 20 4E 4F 54 20 28 63 3D 65 73 63 61 70 65 20 7C NOT (c=escape |
000090: 20 63 3D 73 74 6F 70 29 0D 0A 24 29 0D 0A 0D 0A c=stop)..$)....
0000A0: 41 4E 44 20 72 65 61 64 6E 28 29 20 3D 20 56 41 AND readn() = VA
0000B0: 4C 4F 46 0D 0A 24 28 0D 0A 20 20 4C 45 54 20 69 LOF..$(.. LET i
0000C0: 6E 70 75 74 20 3D 20 56 45 43 20 31 32 38 0D 0A nput = VEC 128..
0000D0: 20 20 72 65 61 64 73 28 69 6E 70 75 74 29 0D 0A reads(input)..
0000E0: 20 20 52 45 53 55 4C 54 49 53 20 73 74 72 74 6F RESULTIS strto
0000F0: 6E 75 6D 28 69 6E 70 75 74 2C 31 30 29 0D 0A 24 num(input,10)..$
000100: 29 0D 0A 0D 0A 41 4E 44 20 73 74 72 74 6F 6E 75 )....AND strtonu
000110: 6D 28 73 74 72 69 6E 67 2C 62 61 73 65 29 20 3D m(string,base) =
000120: 20 56 41 4C 4F 46 0D 0A 24 28 0D 0A 20 20 4C 45 VALOF..$(.. LE
000130: 54 20 70 74 72 2C 20 74 6F 74 61 6C 20 3D 20 31 T ptr, total = 1
000140: 2C 20 30 0D 0A 20 20 57 48 49 4C 45 20 70 74 72 , 0.. WHILE ptr
000150: 20 3C 3D 20 73 74 72 69 6E 67 25 30 20 4C 4F 47 <= string%0 LOG
000160: 41 4E 44 20 28 30 3C 3D 64 65 63 76 61 6C 28 73 AND (0<=decval(s
000170: 74 72 69 6E 67 25 70 74 72 29 3C 62 61 73 65 29 tring%ptr)<base)
000180: 20 44 4F 0D 0A 20 20 24 28 0D 0A 20 20 20 20 74 DO.. $(.. t
000190: 6F 74 61 6C 20 3A 3D 20 74 6F 74 61 6C 20 2A 20 otal := total *
0001A0: 62 61 73 65 20 2B 20 64 65 63 76 61 6C 28 73 74 base + decval(st
0001B0: 72 69 6E 67 25 70 74 72 29 0D 0A 20 20 20 20 70 ring%ptr).. p
0001C0: 74 72 20 3A 3D 20 70 74 72 20 2B 20 31 0D 0A 20 tr := ptr + 1..
0001D0: 20 24 29 0D 0A 20 20 52 45 53 55 4C 54 49 53 20 $).. RESULTIS
0001E0: 74 6F 74 61 6C 0D 0A 24 29 0D 0A 0D 0A 0D 0A 2F total..$)....../
0001F0: 2A 2A 2A 2A 20 46 49 4C 45 20 49 2F 4F 20 52 4F **** FILE I/O RO
Size : 512 (Real : 512)
000000: 55 54 49 4E 45 53 20 2A 2A 2A 2A 2F 0D 0A 0D 0A UTINES ****/....
000010: 41 4E 44 20 66 69 6E 64 69 6E 70 75 74 28 6E 61 AND findinput(na
000020: 6D 65 2C 20 62 75 66 66 65 72 29 20 3D 20 56 41 me, buffer) = VA
000030: 4C 4F 46 0D 0A 24 28 0D 0A 20 20 4C 45 54 20 63 LOF..$(.. LET c
000040: 2C 20 64 65 20 3D 20 31 35 2C 20 62 75 66 66 65 , de = 15, buffe
000050: 72 2A 32 0D 0A 20 20 73 65 74 66 63 62 28 6E 61 r*2.. setfcb(na
000060: 6D 65 2C 20 62 75 66 66 65 72 29 20 20 20 20 2F me, buffer) /
000070: 2F 20 73 65 74 20 74 68 65 20 66 63 62 0D 0A 20 / set the fcb..
000080: 20 62 64 6F 73 61 28 40 63 2C 20 40 64 65 29 20 bdosa(@c, @de)
000090: 20 20 20 20 20 20 20 20 20 2F 2F 20 6F 70 65 6E // open
0000A0: 20 66 69 6C 65 0D 0A 20 20 62 75 66 66 65 72 21 file.. buffer!
0000B0: 31 37 20 3A 3D 20 31 36 34 20 20 20 20 20 20 20 17 := 164
0000C0: 20 2F 2F 20 73 65 74 20 73 65 63 74 6F 72 20 70 // set sector p
0000D0: 6F 69 6E 74 65 72 0D 0A 20 20 52 45 53 55 4C 54 ointer.. RESULT
0000E0: 49 53 20 63 20 5C 3D 20 32 35 35 0D 0A 24 29 0D IS c \= 255..$).
0000F0: 0A 0D 0A 41 4E 44 20 65 6E 64 72 65 61 64 28 29 ...AND endread()
000100: 20 3D 20 56 41 4C 4F 46 0D 0A 24 28 0D 0A 20 20 = VALOF..$(..
000110: 4C 45 54 20 62 75 66 3D 72 65 61 64 73 74 72 65 LET buf=readstre
000120: 61 6D 0D 0A 20 20 72 65 61 64 73 74 72 65 61 6D am.. readstream
000130: 20 3A 3D 20 76 64 75 73 74 72 65 61 6D 0D 0A 20 := vdustream..
000140: 20 52 45 53 55 4C 54 49 53 20 62 75 66 3E 30 20 RESULTIS buf>0
000150: 2D 3E 20 63 6C 6F 73 65 69 6E 28 62 75 66 29 2C -> closein(buf),
000160: 20 54 52 55 45 0D 0A 24 29 0D 0A 0D 0A 41 4E 44 TRUE..$)....AND
000170: 20 72 65 77 69 6E 64 28 29 20 42 45 20 49 46 20 rewind() BE IF
000180: 72 65 61 64 73 74 72 65 61 6D 20 3E 20 30 20 54 readstream > 0 T
000190: 48 45 4E 20 72 65 77 69 6E 64 69 6E 28 72 65 61 HEN rewindin(rea
0001A0: 64 73 74 72 65 61 6D 29 0D 0A 0D 0A 41 4E 44 20 dstream)....AND
0001B0: 66 69 6E 64 6F 75 74 70 75 74 28 6E 61 6D 65 2C findoutput(name,
0001C0: 62 75 66 66 65 72 29 20 3D 20 56 41 4C 4F 46 0D buffer) = VALOF.
0001D0: 0A 24 28 0D 0A 20 20 4C 45 54 20 63 2C 20 64 65 .$(.. LET c, de
0001E0: 20 3D 20 32 32 2C 20 62 75 66 66 65 72 2A 32 0D = 22, buffer*2.
0001F0: 0A 20 20 73 65 74 66 63 62 28 6E 61 6D 65 2C 20 . setfcb(name,
Size : 512 (Real : 512)
000000: 62 75 66 66 65 72 29 0D 0A 20 20 62 64 6F 73 62 buffer).. bdosb
000010: 28 31 39 2C 20 62 75 66 66 65 72 2A 32 29 0D 0A (19, buffer*2)..
000020: 20 20 62 64 6F 73 61 28 40 63 2C 20 40 64 65 29 bdosa(@c, @de)
000030: 0D 0A 20 20 62 75 66 66 65 72 21 31 37 20 3A 3D .. buffer!17 :=
000040: 20 33 36 0D 0A 20 20 52 45 53 55 4C 54 49 53 20 36.. RESULTIS
000050: 63 20 5C 3D 20 32 35 35 0D 0A 24 29 0D 0A 0D 0A c \= 255..$)....
000060: 41 4E 44 20 65 6E 64 77 72 69 74 65 28 29 20 3D AND endwrite() =
000070: 20 56 41 4C 4F 46 0D 0A 24 28 0D 0A 20 20 4C 45 VALOF..$(.. LE
000080: 54 20 62 75 66 20 3D 20 77 72 69 74 65 73 74 72 T buf = writestr
000090: 65 61 6D 0D 0A 20 20 77 72 69 74 65 73 74 72 65 eam.. writestre
0000A0: 61 6D 20 3A 3D 20 76 64 75 73 74 72 65 61 6D 0D am := vdustream.
0000B0: 0A 20 20 52 45 53 55 4C 54 49 53 20 62 75 66 3E . RESULTIS buf>
0000C0: 30 20 2D 3E 20 63 6C 6F 73 65 6F 75 74 28 62 75 0 -> closeout(bu
0000D0: 66 29 2C 20 54 52 55 45 0D 0A 24 29 0D 0A 0D 0A f), TRUE..$)....
0000E0: 0D 0A 2F 2A 2A 2A 2A 20 50 52 49 4D 49 54 49 56 ../**** PRIMITIV
0000F0: 45 20 49 2F 4F 20 52 4F 55 54 49 4E 45 53 20 2A E I/O ROUTINES *
000100: 2A 2A 2A 2F 0D 0A 0D 0A 41 4E 44 20 77 72 76 64 ***/....AND wrvd
000110: 75 28 63 29 20 3D 20 56 41 4C 4F 46 0D 0A 24 28 u(c) = VALOF..$(
000120: 0D 0A 20 20 49 46 20 63 3D 6E 65 77 6C 69 6E 65 .. IF c=newline
000130: 63 68 20 54 48 45 4E 20 24 28 20 77 72 76 64 75 ch THEN $( wrvdu
000140: 28 31 33 29 20 3B 20 63 3A 3D 31 30 20 24 29 0D (13) ; c:=10 $).
000150: 0A 20 20 62 64 6F 73 62 28 32 2C 63 29 0D 0A 20 . bdosb(2,c)..
000160: 20 52 45 53 55 4C 54 49 53 20 54 52 55 45 0D 0A RESULTIS TRUE..
000170: 24 29 0D 0A 0D 0A 41 4E 44 20 70 72 63 68 28 63 $)....AND prch(c
000180: 29 20 3D 20 56 41 4C 4F 46 0D 0A 24 28 0D 0A 20 ) = VALOF..$(..
000190: 20 49 46 20 63 3D 6E 65 77 6C 69 6E 65 63 68 20 IF c=newlinech
0001A0: 54 48 45 4E 20 24 28 20 70 72 63 68 28 31 33 29 THEN $( prch(13)
0001B0: 20 3B 20 63 3A 3D 31 30 20 24 29 0D 0A 20 20 62 ; c:=10 $).. b
0001C0: 64 6F 73 62 28 35 2C 63 29 0D 0A 20 20 52 45 53 dosb(5,c).. RES
0001D0: 55 4C 54 49 53 20 54 52 55 45 0D 0A 24 29 0D 0A ULTIS TRUE..$)..
0001E0: 0D 0A 41 4E 44 20 70 72 62 75 73 79 28 29 20 3D ..AND prbusy() =
0001F0: 20 56 41 4C 4F 46 0D 0A 24 28 0D 0A 20 20 4C 45 VALOF..$(.. LE
Size : 512 (Real : 512)
000000: 54 20 61 3D 3F 0D 0A 20 20 62 69 6F 73 28 31 35 T a=?.. bios(15
000010: 2C 40 61 29 0D 0A 20 20 52 45 53 55 4C 54 49 53 ,@a).. RESULTIS
000020: 20 61 20 3D 20 30 20 20 20 20 20 20 20 20 2F 2F a = 0 //
000030: 20 54 52 55 45 20 69 66 20 70 72 69 6E 74 65 72 TRUE if printer
000040: 20 62 75 73 79 0D 0A 24 29 0D 0A 0D 0A 41 4E 44 busy..$)....AND
000050: 20 72 64 74 65 73 74 28 29 20 3D 20 56 41 4C 4F rdtest() = VALO
000060: 46 0D 0A 24 28 20 20 0D 0A 20 20 4C 45 54 20 63 F..$( .. LET c
000070: 2C 64 65 20 3D 20 31 31 2C 3F 0D 0A 20 20 62 64 ,de = 11,?.. bd
000080: 6F 73 61 28 40 63 2C 40 64 65 29 0D 0A 20 20 52 osa(@c,@de).. R
000090: 45 53 55 4C 54 49 53 20 63 3D 31 0D 0A 24 29 0D ESULTIS c=1..$).
0000A0: 0A 0D 0A 41 4E 44 20 66 6C 75 73 68 28 29 20 42 ...AND flush() B
0000B0: 45 20 57 48 49 4C 45 20 72 64 74 65 73 74 28 29 E WHILE rdtest()
0000C0: 20 72 64 76 64 75 28 29 0D 0A 0D 0A 41 4E 44 20 rdvdu()....AND
0000D0: 72 65 61 64 63 68 28 62 75 66 66 65 72 29 20 3D readch(buffer) =
0000E0: 20 56 41 4C 4F 46 0D 0A 24 28 0D 0A 20 20 4C 45 VALOF..$(.. LE
0000F0: 54 20 63 68 61 72 61 63 74 65 72 2C 20 66 61 69 T character, fai
000100: 6C 20 3D 20 30 2C 20 46 41 4C 53 45 0D 0A 20 20 l = 0, FALSE..
000110: 49 46 20 62 75 66 66 65 72 21 31 37 20 3D 20 31 IF buffer!17 = 1
000120: 36 34 20 54 48 45 4E 0D 0A 20 20 24 28 0D 0A 20 64 THEN.. $(..
000130: 20 20 20 66 61 69 6C 20 3A 3D 20 4E 4F 54 20 72 fail := NOT r
000140: 65 61 64 73 65 63 74 6F 72 28 62 75 66 66 65 72 eadsector(buffer
000150: 29 20 20 20 20 2F 2F 20 72 65 61 64 20 61 20 73 ) // read a s
000160: 65 63 74 6F 72 0D 0A 20 20 20 20 62 75 66 66 65 ector.. buffe
000170: 72 21 31 37 20 3A 3D 20 33 36 0D 0A 20 20 24 29 r!17 := 36.. $)
000180: 0D 0A 20 20 63 68 61 72 61 63 74 65 72 20 3A 3D .. character :=
000190: 20 62 75 66 66 65 72 25 28 62 75 66 66 65 72 21 buffer%(buffer!
0001A0: 31 37 29 0D 0A 20 20 62 75 66 66 65 72 21 31 37 17).. buffer!17
0001B0: 20 3A 3D 20 62 75 66 66 65 72 21 31 37 20 2B 20 := buffer!17 +
0001C0: 31 0D 0A 20 20 52 45 53 55 4C 54 49 53 20 63 68 1.. RESULTIS ch
0001D0: 61 72 61 63 74 65 72 20 4C 4F 47 4F 52 20 66 61 aracter LOGOR fa
0001E0: 69 6C 0D 0A 24 29 0D 0A 0D 0A 41 4E 44 20 63 6C il..$)....AND cl
0001F0: 6F 73 65 69 6E 28 62 75 66 66 65 72 29 20 3D 20 osein(buffer) =
Size : 512 (Real : 512)
000000: 54 52 55 45 0D 0A 0D 0A 41 4E 44 20 72 65 77 69 TRUE....AND rewi
000010: 6E 64 69 6E 28 62 75 66 66 65 72 29 20 42 45 20 ndin(buffer) BE
000020: 24 28 20 62 75 66 66 65 72 25 33 32 20 3A 3D 20 $( buffer%32 :=
000030: 30 20 20 3B 20 20 62 75 66 66 65 72 21 31 37 20 0 ; buffer!17
000040: 3A 3D 20 31 36 34 20 24 29 0D 0A 0D 0A 41 4E 44 := 164 $)....AND
000050: 20 77 72 69 74 65 63 68 28 63 68 61 72 2C 20 62 writech(char, b
000060: 75 66 66 65 72 29 20 3D 20 56 41 4C 4F 46 0D 0A uffer) = VALOF..
000070: 24 28 0D 0A 20 20 4C 45 54 20 73 75 63 63 65 73 $(.. LET succes
000080: 73 20 3D 20 54 52 55 45 0D 0A 20 20 49 46 20 63 s = TRUE.. IF c
000090: 68 61 72 3D 6E 65 77 6C 69 6E 65 63 68 20 54 48 har=newlinech TH
0000A0: 45 4E 0D 0A 20 20 24 28 0D 0A 20 20 20 20 55 4E EN.. $(.. UN
0000B0: 4C 45 53 53 20 77 72 69 74 65 63 68 28 31 33 2C LESS writech(13,
0000C0: 62 75 66 66 65 72 29 20 52 45 53 55 4C 54 49 53 buffer) RESULTIS
0000D0: 20 46 41 4C 53 45 0D 0A 20 20 20 20 63 68 61 72 FALSE.. char
0000E0: 3A 3D 31 30 0D 0A 20 20 24 29 0D 0A 20 20 49 46 :=10.. $).. IF
0000F0: 20 62 75 66 66 65 72 21 31 37 20 3D 20 31 36 34 buffer!17 = 164
000100: 20 54 48 45 4E 0D 0A 20 20 24 28 0D 0A 20 20 20 THEN.. $(..
000110: 20 73 75 63 63 65 73 73 20 3A 3D 20 77 72 69 74 success := writ
000120: 65 73 65 63 74 6F 72 28 62 75 66 66 65 72 29 0D esector(buffer).
000130: 0A 20 20 20 20 62 75 66 66 65 72 21 31 37 20 3A . buffer!17 :
000140: 3D 20 33 36 0D 0A 20 20 24 29 0D 0A 20 20 62 75 = 36.. $).. bu
000150: 66 66 65 72 25 28 62 75 66 66 65 72 21 31 37 29 ffer%(buffer!17)
000160: 20 3A 3D 20 63 68 61 72 0D 0A 20 20 62 75 66 66 := char.. buff
000170: 65 72 21 31 37 20 3A 3D 20 62 75 66 66 65 72 21 er!17 := buffer!
000180: 31 37 20 2B 20 31 0D 0A 20 20 52 45 53 55 4C 54 17 + 1.. RESULT
000190: 49 53 20 73 75 63 63 65 73 73 0D 0A 24 29 0D 0A IS success..$)..
0001A0: 0D 0A 41 4E 44 20 63 6C 6F 73 65 6F 75 74 28 62 ..AND closeout(b
0001B0: 75 66 66 65 72 29 20 3D 20 56 41 4C 4F 46 0D 0A uffer) = VALOF..
0001C0: 24 28 0D 0A 20 20 4C 45 54 20 63 2C 20 64 65 20 $(.. LET c, de
0001D0: 3D 20 31 36 2C 62 75 66 66 65 72 2A 32 0D 0A 20 = 16,buffer*2..
0001E0: 20 55 4E 4C 45 53 53 20 62 75 66 66 65 72 21 31 UNLESS buffer!1
0001F0: 37 20 3D 20 31 36 34 20 54 48 45 4E 20 77 72 69 7 = 164 THEN wri
Size : 512 (Real : 512)
000000: 74 65 63 68 28 32 36 2C 62 75 66 66 65 72 29 0D tech(26,buffer).
000010: 0A 20 20 55 4E 4C 45 53 53 20 62 75 66 66 65 72 . UNLESS buffer
000020: 21 31 37 20 3D 20 33 36 20 54 48 45 4E 20 77 72 !17 = 36 THEN wr
000030: 69 74 65 73 65 63 74 6F 72 28 62 75 66 66 65 72 itesector(buffer
000040: 29 0D 0A 20 20 62 64 6F 73 61 28 40 63 2C 40 64 ).. bdosa(@c,@d
000050: 65 29 0D 0A 20 20 52 45 53 55 4C 54 49 53 20 63 e).. RESULTIS c
000060: 20 5C 3D 20 32 35 35 0D 0A 24 29 0D 0A 0D 0A 41 \= 255..$)....A
000070: 4E 44 20 72 65 61 64 73 65 63 74 6F 72 28 62 75 ND readsector(bu
000080: 66 66 65 72 29 20 3D 20 56 41 4C 4F 46 0D 0A 24 ffer) = VALOF..$
000090: 28 0D 0A 20 20 4C 45 54 20 72 65 73 75 6C 74 2C (.. LET result,
0000A0: 20 62 75 66 66 20 3D 20 32 30 2C 20 62 75 66 66 buff = 20, buff
0000B0: 65 72 2A 32 0D 0A 20 20 62 64 6F 73 62 28 32 36 er*2.. bdosb(26
0000C0: 2C 20 62 75 66 66 65 72 2A 32 2B 33 36 29 0D 0A , buffer*2+36)..
0000D0: 20 20 62 64 6F 73 61 28 40 72 65 73 75 6C 74 2C bdosa(@result,
0000E0: 20 40 62 75 66 66 29 0D 0A 20 20 52 45 53 55 4C @buff).. RESUL
0000F0: 54 49 53 20 72 65 73 75 6C 74 20 3D 20 30 20 20 TIS result = 0
000100: 20 20 20 2F 2F 20 54 52 55 45 20 69 73 20 73 75 // TRUE is su
000110: 63 63 65 73 73 66 75 6C 20 61 6E 64 20 6E 6F 74 ccessful and not
000120: 20 68 61 72 64 20 45 4F 46 0D 0A 24 29 0D 0A 0D hard EOF..$)...
000130: 0A 41 4E 44 20 77 72 69 74 65 73 65 63 74 6F 72 .AND writesector
000140: 28 62 75 66 66 65 72 29 20 3D 20 56 41 4C 4F 46 (buffer) = VALOF
000150: 0D 0A 24 28 0D 0A 20 20 4C 45 54 20 72 65 73 75 ..$(.. LET resu
000160: 6C 74 2C 20 62 75 66 66 20 3D 20 32 31 2C 20 62 lt, buff = 21, b
000170: 75 66 66 65 72 2A 32 0D 0A 20 20 62 64 6F 73 62 uffer*2.. bdosb
000180: 28 32 36 2C 20 62 75 66 66 65 72 2A 32 2B 33 36 (26, buffer*2+36
000190: 29 0D 0A 20 20 62 64 6F 73 61 28 40 72 65 73 75 ).. bdosa(@resu
0001A0: 6C 74 2C 20 40 62 75 66 66 29 0D 0A 20 20 52 45 lt, @buff).. RE
0001B0: 53 55 4C 54 49 53 20 72 65 73 75 6C 74 20 3D 20 SULTIS result =
0001C0: 30 20 20 20 20 20 20 2F 2F 20 54 52 55 45 20 69 0 // TRUE i
0001D0: 66 20 77 72 69 74 74 65 6E 20 73 75 63 63 65 73 f written succes
0001E0: 73 66 75 6C 6C 79 0D 0A 24 29 0D 0A 0D 0A 41 4E sfully..$)....AN
0001F0: 44 20 73 65 74 66 63 62 28 6E 61 6D 65 2C 20 62 D setfcb(name, b
Size : 512 (Real : 512)
000000: 75 66 66 65 72 29 20 42 45 0D 0A 24 28 0D 0A 20 uffer) BE..$(..
000010: 20 4C 45 54 20 6E 70 74 72 2C 20 66 70 74 72 2C LET nptr, fptr,
000020: 20 63 2C 20 64 72 76 66 6C 61 67 20 3D 20 31 2C c, drvflag = 1,
000030: 20 31 2C 20 30 2C 20 54 52 55 45 0D 0A 20 20 46 1, 0, TRUE.. F
000040: 4F 52 20 69 20 3D 20 31 20 54 4F 20 31 31 20 62 OR i = 1 TO 11 b
000050: 75 66 66 65 72 25 69 20 3A 3D 20 27 20 27 0D 0A uffer%i := ' '..
000060: 20 20 62 75 66 66 65 72 25 30 20 3A 3D 20 30 0D buffer%0 := 0.
000070: 0A 20 20 57 48 49 4C 45 20 6E 70 74 72 20 3C 3D . WHILE nptr <=
000080: 20 6E 61 6D 65 25 30 20 44 4F 0D 0A 20 20 24 28 name%0 DO.. $(
000090: 0D 0A 20 20 20 20 63 20 3A 3D 20 75 70 70 65 72 .. c := upper
0000A0: 63 61 73 65 28 6E 61 6D 65 25 6E 70 74 72 29 0D case(name%nptr).
0000B0: 0A 20 20 20 20 6E 70 74 72 20 3A 3D 20 6E 70 74 . nptr := npt
0000C0: 72 20 2B 20 31 0D 0A 20 20 20 20 49 46 20 66 70 r + 1.. IF fp
0000D0: 74 72 20 3D 20 32 20 4C 4F 47 41 4E 44 20 64 72 tr = 2 LOGAND dr
0000E0: 76 66 6C 61 67 20 4C 4F 47 41 4E 44 20 63 20 3D vflag LOGAND c =
0000F0: 20 27 3A 27 20 54 48 45 4E 0D 0A 20 20 20 20 24 ':' THEN.. $
000100: 28 0D 0A 20 20 20 20 20 20 62 75 66 66 65 72 25 (.. buffer%
000110: 30 20 3A 3D 20 62 75 66 66 65 72 25 31 20 2D 20 0 := buffer%1 -
000120: 27 41 27 20 2B 20 31 0D 0A 20 20 20 20 20 20 66 'A' + 1.. f
000130: 70 74 72 2C 20 64 72 76 66 6C 61 67 20 3A 3D 20 ptr, drvflag :=
000140: 31 2C 20 46 41 4C 53 45 0D 0A 20 20 20 20 20 20 1, FALSE..
000150: 4C 4F 4F 50 0D 0A 20 20 20 20 24 29 0D 0A 20 20 LOOP.. $)..
000160: 20 20 49 46 20 63 20 3D 20 27 2E 27 20 54 48 45 IF c = '.' THE
000170: 4E 20 24 28 20 66 70 74 72 20 3A 3D 20 39 20 3B N $( fptr := 9 ;
000180: 20 42 52 45 41 4B 20 24 29 0D 0A 20 20 20 20 49 BREAK $).. I
000190: 46 20 66 70 74 72 20 3D 20 39 20 4C 4F 47 4F 52 F fptr = 9 LOGOR
0001A0: 20 63 20 3D 20 27 20 27 20 54 48 45 4E 20 42 52 c = ' ' THEN BR
0001B0: 45 41 4B 0D 0A 20 20 20 20 62 75 66 66 65 72 25 EAK.. buffer%
0001C0: 66 70 74 72 20 3A 3D 20 63 0D 0A 20 20 20 20 66 fptr := c.. f
0001D0: 70 74 72 20 3A 3D 20 66 70 74 72 20 2B 20 31 0D ptr := fptr + 1.
0001E0: 0A 20 20 24 29 0D 0A 20 20 49 46 20 63 20 3D 20 . $).. IF c =
0001F0: 27 2E 27 20 54 48 45 4E 0D 0A 20 20 20 20 57 48 '.' THEN.. WH
Size : 512 (Real : 512)
000000: 49 4C 45 20 6E 70 74 72 20 3C 3D 20 6E 61 6D 65 ILE nptr <= name
000010: 25 30 20 44 4F 0D 0A 20 20 20 20 24 28 0D 0A 20 %0 DO.. $(..
000020: 20 20 20 20 20 63 20 3A 3D 20 75 70 70 65 72 63 c := upperc
000030: 61 73 65 28 6E 61 6D 65 25 6E 70 74 72 29 0D 0A ase(name%nptr)..
000040: 20 20 20 20 20 20 6E 70 74 72 20 3A 3D 20 6E 70 nptr := np
000050: 74 72 20 2B 20 31 0D 0A 20 20 20 20 20 20 49 46 tr + 1.. IF
000060: 20 63 20 3D 20 27 20 27 20 4C 4F 47 4F 52 20 66 c = ' ' LOGOR f
000070: 70 74 72 20 3D 20 31 32 20 54 48 45 4E 20 42 52 ptr = 12 THEN BR
000080: 45 41 4B 0D 0A 20 20 20 20 20 20 62 75 66 66 65 EAK.. buffe
000090: 72 25 66 70 74 72 20 3A 3D 20 63 0D 0A 20 20 20 r%fptr := c..
0000A0: 20 20 20 66 70 74 72 20 3A 3D 20 66 70 74 72 20 fptr := fptr
0000B0: 2B 20 31 0D 0A 20 20 20 20 24 29 0D 0A 20 20 62 + 1.. $).. b
0000C0: 75 66 66 65 72 25 31 32 2C 20 62 75 66 66 65 72 uffer%12, buffer
0000D0: 25 33 32 20 3A 3D 20 30 2C 20 30 0D 0A 24 29 0D %32 := 0, 0..$).
0000E0: 0A 0D 0A 0D 0A 2F 2A 2A 2A 2A 20 4D 49 53 43 45 ...../**** MISCE
0000F0: 4C 4C 41 4E 45 4F 55 53 20 52 4F 55 54 49 4E 45 LLANEOUS ROUTINE
000100: 53 20 2A 2A 2A 2A 2F 0D 0A 0D 0A 41 4E 44 20 62 S ****/....AND b
000110: 64 6F 73 61 28 63 2C 64 65 29 20 42 45 0D 0A 24 dosa(c,de) BE..$
000120: 28 0D 0A 20 20 49 4E 4C 49 4E 45 20 32 32 31 2C (.. INLINE 221,
000130: 31 30 32 2C 31 32 37 20 20 20 20 20 20 2F 2F 20 102,127 //
000140: 6C 64 20 68 2C 28 69 78 2B 31 32 37 29 0D 0A 20 ld h,(ix+127)..
000150: 20 49 4E 4C 49 4E 45 20 32 32 31 2C 31 31 30 2C INLINE 221,110,
000160: 31 32 36 20 20 20 20 20 20 2F 2F 20 6C 64 20 6C 126 // ld l
000170: 2C 28 69 78 2B 31 32 36 29 0D 0A 20 20 49 4E 4C ,(ix+126).. INL
000180: 49 4E 45 20 34 31 20 20 20 20 20 20 20 20 20 20 INE 41
000190: 20 20 20 20 20 2F 2F 20 61 64 64 20 68 6C 2C 68 // add hl,h
0001A0: 6C 0D 0A 20 20 49 4E 4C 49 4E 45 20 39 34 20 20 l.. INLINE 94
0001B0: 20 20 20 20 20 20 20 20 20 20 20 20 20 2F 2F 20 //
0001C0: 6C 64 20 65 2C 28 68 6C 29 0D 0A 20 20 49 4E 4C ld e,(hl).. INL
0001D0: 49 4E 45 20 33 35 20 20 20 20 20 20 20 20 20 20 INE 35
0001E0: 20 20 20 20 20 2F 2F 20 69 6E 63 20 68 6C 0D 0A // inc hl..
0001F0: 20 20 49 4E 4C 49 4E 45 20 38 36 20 20 20 20 20 INLINE 86
Size : 512 (Real : 512)
000000: 20 20 20 20 20 20 20 20 20 20 2F 2F 20 6C 64 20 // ld
000010: 64 2C 28 68 6C 29 0D 0A 20 20 49 4E 4C 49 4E 45 d,(hl).. INLINE
000020: 20 32 32 31 2C 31 30 32 2C 31 32 35 20 20 20 20 221,102,125
000030: 20 20 2F 2F 20 6C 64 20 68 2C 28 69 78 2B 31 32 // ld h,(ix+12
000040: 35 29 0D 0A 20 20 49 4E 4C 49 4E 45 20 32 32 31 5).. INLINE 221
000050: 2C 31 31 30 2C 31 32 34 20 20 20 20 20 20 2F 2F ,110,124 //
000060: 20 6C 64 20 6C 2C 28 69 78 2B 31 32 34 29 0D 0A ld l,(ix+124)..
000070: 20 20 49 4E 4C 49 4E 45 20 34 31 20 20 20 20 20 INLINE 41
000080: 20 20 20 20 20 20 20 20 20 20 2F 2F 20 61 64 64 // add
000090: 20 68 6C 2C 68 6C 0D 0A 20 20 49 4E 4C 49 4E 45 hl,hl.. INLINE
0000A0: 20 37 38 20 20 20 20 20 20 20 20 20 20 20 20 20 78
0000B0: 20 20 2F 2F 20 6C 64 20 63 2C 28 68 6C 29 0D 0A // ld c,(hl)..
0000C0: 20 20 49 4E 4C 49 4E 45 20 32 32 31 2C 32 32 39 INLINE 221,229
0000D0: 20 20 20 20 20 20 20 20 20 20 2F 2F 20 70 75 73 // pus
0000E0: 68 20 69 78 0D 0A 20 20 49 4E 4C 49 4E 45 20 32 h ix.. INLINE 2
0000F0: 30 35 2C 35 2C 30 20 20 20 20 20 20 20 20 20 20 05,5,0
000100: 2F 2F 20 63 61 6C 6C 20 62 64 6F 73 0D 0A 20 20 // call bdos..
000110: 49 4E 4C 49 4E 45 20 32 32 31 2C 32 32 35 20 20 INLINE 221,225
000120: 20 20 20 20 20 20 20 20 2F 2F 20 70 6F 70 20 69 // pop i
000130: 78 0D 0A 20 20 49 4E 4C 49 4E 45 20 32 33 35 20 x.. INLINE 235
000140: 20 20 20 20 20 20 20 20 20 20 20 20 20 2F 2F 20 //
000150: 65 78 20 64 65 2C 68 6C 0D 0A 20 20 49 4E 4C 49 ex de,hl.. INLI
000160: 4E 45 20 32 32 31 2C 31 30 32 2C 31 32 37 20 20 NE 221,102,127
000170: 20 20 20 20 2F 2F 20 6C 64 20 68 2C 28 69 78 2B // ld h,(ix+
000180: 31 32 37 29 0D 0A 20 20 49 4E 4C 49 4E 45 20 32 127).. INLINE 2
000190: 32 31 2C 31 31 30 2C 31 32 36 20 20 20 20 20 20 21,110,126
0001A0: 2F 2F 20 6C 64 20 6C 2C 28 69 78 2B 31 32 36 29 // ld l,(ix+126)
0001B0: 0D 0A 20 20 49 4E 4C 49 4E 45 20 34 31 20 20 20 .. INLINE 41
0001C0: 20 20 20 20 20 20 20 20 20 20 20 20 2F 2F 20 61 // a
0001D0: 64 64 20 68 6C 2C 68 6C 0D 0A 20 20 49 4E 4C 49 dd hl,hl.. INLI
0001E0: 4E 45 20 31 31 35 20 20 20 20 20 20 20 20 20 20 NE 115
0001F0: 20 20 20 20 2F 2F 20 6C 64 20 28 68 6C 29 2C 65 // ld (hl),e
Size : 512 (Real : 512)
000000: 0D 0A 20 20 49 4E 4C 49 4E 45 20 33 35 20 20 20 .. INLINE 35
000010: 20 20 20 20 20 20 20 20 20 20 20 20 2F 2F 20 69 // i
000020: 6E 63 20 68 6C 0D 0A 20 20 49 4E 4C 49 4E 45 20 nc hl.. INLINE
000030: 31 31 34 20 20 20 20 20 20 20 20 20 20 20 20 20 114
000040: 20 2F 2F 20 6C 64 20 28 68 6C 29 2C 64 0D 0A 20 // ld (hl),d..
000050: 20 49 4E 4C 49 4E 45 20 32 32 31 2C 31 30 32 2C INLINE 221,102,
000060: 31 32 35 20 20 20 20 20 20 2F 2F 20 6C 64 20 68 125 // ld h
000070: 2C 28 69 78 2B 31 32 35 29 0D 0A 20 20 49 4E 4C ,(ix+125).. INL
000080: 49 4E 45 20 32 32 31 2C 31 31 30 2C 31 32 34 20 INE 221,110,124
000090: 20 20 20 20 20 2F 2F 20 6C 64 20 6C 2C 28 69 78 // ld l,(ix
0000A0: 2B 31 32 34 29 0D 0A 20 20 49 4E 4C 49 4E 45 20 +124).. INLINE
0000B0: 34 31 20 20 20 20 20 20 20 20 20 20 20 20 20 20 41
0000C0: 20 2F 2F 20 61 64 64 20 68 6C 2C 68 6C 0D 0A 20 // add hl,hl..
0000D0: 20 49 4E 4C 49 4E 45 20 31 31 39 20 20 20 20 20 INLINE 119
0000E0: 20 20 20 20 20 20 20 20 20 2F 2F 20 6C 64 20 28 // ld (
0000F0: 68 6C 29 2C 61 0D 0A 20 20 49 4E 4C 49 4E 45 20 hl),a.. INLINE
000100: 33 35 20 20 20 20 20 20 20 20 20 20 20 20 20 20 35
000110: 20 2F 2F 20 69 6E 63 20 68 6C 0D 0A 20 20 49 4E // inc hl.. IN
000120: 4C 49 4E 45 20 35 34 2C 30 20 20 20 20 20 20 20 LINE 54,0
000130: 20 20 20 20 20 20 2F 2F 20 6C 64 20 28 68 6C 29 // ld (hl)
000140: 2C 30 0D 0A 24 29 0D 0A 0D 0A 41 4E 44 20 62 64 ,0..$)....AND bd
000150: 6F 73 62 28 63 2C 64 65 29 20 42 45 0D 0A 24 28 osb(c,de) BE..$(
000160: 0D 0A 20 20 49 4E 4C 49 4E 45 20 32 32 31 2C 38 .. INLINE 221,8
000170: 36 2C 31 32 37 20 20 20 20 20 20 20 2F 2F 20 6C 6,127 // l
000180: 64 20 64 2C 28 69 78 2B 31 32 37 29 0D 0A 20 20 d d,(ix+127)..
000190: 49 4E 4C 49 4E 45 20 32 32 31 2C 39 34 2C 31 32 INLINE 221,94,12
0001A0: 36 20 20 20 20 20 20 20 2F 2F 20 6C 64 20 65 2C 6 // ld e,
0001B0: 28 69 78 2B 31 32 36 29 0D 0A 20 20 49 4E 4C 49 (ix+126).. INLI
0001C0: 4E 45 20 32 32 31 2C 37 38 2C 31 32 34 20 20 20 NE 221,78,124
0001D0: 20 20 20 20 2F 2F 20 6C 64 20 63 2C 28 69 78 2B // ld c,(ix+
0001E0: 31 32 34 29 0D 0A 20 20 49 4E 4C 49 4E 45 20 32 124).. INLINE 2
0001F0: 32 31 2C 32 32 39 20 20 20 20 20 20 20 20 20 20 21,229
Size : 512 (Real : 512)
000000: 2F 2F 20 70 75 73 68 20 69 78 0D 0A 20 20 49 4E // push ix.. IN
000010: 4C 49 4E 45 20 32 30 35 2C 35 2C 30 20 20 20 20 LINE 205,5,0
000020: 20 20 20 20 20 20 2F 2F 20 63 61 6C 6C 20 62 64 // call bd
000030: 6F 73 0D 0A 20 20 49 4E 4C 49 4E 45 20 32 32 31 os.. INLINE 221
000040: 2C 32 32 35 20 20 20 20 20 20 20 20 20 20 2F 2F ,225 //
000050: 20 70 6F 70 20 69 78 0D 0A 24 29 0D 0A 0D 0A 41 pop ix..$)....A
000060: 4E 44 20 62 69 6F 73 28 6E 2C 61 29 20 42 45 0D ND bios(n,a) BE.
000070: 0A 24 28 0D 0A 20 20 4C 45 54 20 73 61 76 65 3D .$(.. LET save=
000080: 56 45 43 20 31 0D 0A 20 20 73 61 76 65 25 30 20 VEC 1.. save%0
000090: 3A 3D 20 30 25 23 78 38 30 20 3B 20 73 61 76 65 := 0%#x80 ; save
0000A0: 25 31 20 3A 3D 20 30 25 23 78 38 31 20 3B 20 73 %1 := 0%#x81 ; s
0000B0: 61 76 65 25 32 20 3A 3D 20 30 25 23 78 38 32 0D ave%2 := 0%#x82.
0000C0: 0A 20 20 30 25 23 78 38 30 20 3A 3D 20 23 78 43 . 0%#x80 := #xC
0000D0: 33 0D 0A 20 20 30 25 23 78 38 31 20 3A 3D 20 30 3.. 0%#x81 := 0
0000E0: 25 28 30 25 31 20 2B 20 32 35 36 2A 30 25 32 20 %(0%1 + 256*0%2
0000F0: 2B 20 28 6E 2D 31 29 2A 33 20 2B 31 29 0D 0A 20 + (n-1)*3 +1)..
000100: 20 30 25 23 78 38 32 20 3A 3D 20 30 25 28 30 25 0%#x82 := 0%(0%
000110: 31 20 2B 20 32 35 36 2A 30 25 32 20 2B 20 28 6E 1 + 256*0%2 + (n
000120: 2D 31 29 2A 33 20 2B 32 29 0D 0A 20 20 49 4E 4C -1)*3 +2).. INL
000130: 49 4E 45 20 32 32 31 2C 32 32 39 20 20 20 20 20 INE 221,229
000140: 20 20 20 20 20 2F 2F 20 70 75 73 68 20 69 78 0D // push ix.
000150: 0A 20 20 49 4E 4C 49 4E 45 20 23 78 43 44 2C 23 . INLINE #xCD,#
000160: 78 38 30 2C 23 78 30 30 20 20 20 2F 2F 20 63 61 x80,#x00 // ca
000170: 6C 6C 20 62 69 6F 73 20 72 6F 75 74 69 6E 65 0D ll bios routine.
000180: 0A 20 20 49 4E 4C 49 4E 45 20 32 32 31 2C 32 32 . INLINE 221,22
000190: 35 20 20 20 20 20 20 20 20 20 20 2F 2F 20 70 6F 5 // po
0001A0: 70 20 69 78 0D 0A 20 20 49 4E 4C 49 4E 45 20 32 p ix.. INLINE 2
0001B0: 32 31 2C 31 30 32 2C 31 32 37 20 20 20 20 20 20 21,102,127
0001C0: 2F 2F 20 6C 64 20 68 2C 28 69 78 2B 31 32 37 29 // ld h,(ix+127)
0001D0: 0D 0A 20 20 49 4E 4C 49 4E 45 20 32 32 31 2C 31 .. INLINE 221,1
0001E0: 31 30 2C 31 32 36 20 20 20 20 20 20 2F 2F 20 6C 10,126 // l
0001F0: 64 20 6C 2C 28 69 78 2B 31 32 36 29 0D 0A 20 20 d l,(ix+126)..
Size : 512 (Real : 512)
000000: 49 4E 4C 49 4E 45 20 34 31 20 20 20 20 20 20 20 INLINE 41
000010: 20 20 20 20 20 20 20 20 2F 2F 20 61 64 64 20 68 // add h
000020: 6C 2C 68 6C 0D 0A 20 20 49 4E 4C 49 4E 45 20 31 l,hl.. INLINE 1
000030: 31 39 20 20 20 20 20 20 20 20 20 20 20 20 20 20 19
000040: 2F 2F 20 6C 64 20 28 68 6C 29 2C 61 0D 0A 20 20 // ld (hl),a..
000050: 49 4E 4C 49 4E 45 20 33 35 20 20 20 20 20 20 20 INLINE 35
000060: 20 20 20 20 20 20 20 20 2F 2F 20 69 6E 63 20 68 // inc h
000070: 6C 0D 0A 20 20 49 4E 4C 49 4E 45 20 35 34 2C 30 l.. INLINE 54,0
000080: 20 20 20 20 20 20 20 20 20 20 20 20 20 2F 2F 20 //
000090: 6C 64 20 28 68 6C 29 2C 30 0D 0A 20 20 30 25 23 ld (hl),0.. 0%#
0000A0: 78 38 30 20 3A 3D 20 73 61 76 65 25 30 20 3B 20 x80 := save%0 ;
0000B0: 30 25 23 78 38 31 20 3A 3D 20 73 61 76 65 25 31 0%#x81 := save%1
0000C0: 20 3B 20 30 25 23 78 38 32 20 3A 3D 20 73 61 76 ; 0%#x82 := sav
0000D0: 65 25 32 0D 0A 24 29 0D 0A 0D 0A 41 4E 44 20 73 e%2..$)....AND s
0000E0: 65 6C 65 63 74 69 6E 70 75 74 28 73 74 72 65 61 electinput(strea
0000F0: 6D 29 20 20 42 45 20 72 65 61 64 73 74 72 65 61 m) BE readstrea
000100: 6D 20 20 3A 3D 20 73 74 72 65 61 6D 0D 0A 41 4E m := stream..AN
000110: 44 20 73 65 6C 65 63 74 6F 75 74 70 75 74 28 73 D selectoutput(s
000120: 74 72 65 61 6D 29 20 42 45 20 77 72 69 74 65 73 tream) BE writes
000130: 74 72 65 61 6D 20 3A 3D 20 73 74 72 65 61 6D 0D tream := stream.
000140: 0A 41 4E 44 20 69 6E 70 75 74 28 29 20 20 3D 20 .AND input() =
000150: 72 65 61 64 73 74 72 65 61 6D 0D 0A 41 4E 44 20 readstream..AND
000160: 6F 75 74 70 75 74 28 29 20 3D 20 77 72 69 74 65 output() = write
000170: 73 74 72 65 61 6D 0D 0A 41 4E 44 20 75 70 70 65 stream..AND uppe
000180: 72 63 61 73 65 28 63 68 61 72 29 20 3D 20 27 61 rcase(char) = 'a
000190: 27 3C 3D 63 68 61 72 3C 3D 27 7A 27 20 2D 3E 20 '<=char<='z' ->
0001A0: 63 68 61 72 20 2D 20 33 32 2C 20 63 68 61 72 0D char - 32, char.
0001B0: 0A 41 4E 44 20 63 61 70 69 74 61 6C 63 68 28 63 .AND capitalch(c
0001C0: 29 20 3D 20 75 70 70 65 72 63 61 73 65 28 63 29 ) = uppercase(c)
0001D0: 0D 0A 41 4E 44 20 64 65 63 76 61 6C 28 64 69 67 ..AND decval(dig
0001E0: 69 74 29 20 3D 20 27 30 27 3C 3D 64 69 67 69 74 it) = '0'<=digit
0001F0: 3C 3D 27 39 27 20 20 2D 3E 20 64 69 67 69 74 2D <='9' -> digit-
Size : 512 (Real : 512)
000000: 27 30 27 2C 20 64 69 67 69 74 2D 27 41 27 2B 31 '0', digit-'A'+1
000010: 30 0D 0A 0D 0A 1A 43 50 2F 4D 20 6C 69 62 72 61 0.....CP/M libra
000020: 72 79 20 68 65 61 64 65 72 2C 20 6C 61 73 74 20 ry header, last
000030: 6D 6F 64 69 66 69 65 64 20 32 31 2F 30 33 2F 31 modified 21/03/1
000040: 39 38 37 0D 0A 0D 0A 0D 0A 4D 41 4E 49 46 45 53 987......MANIFES
000050: 54 20 24 28 20 62 79 74 65 73 70 65 72 77 6F 72 T $( bytesperwor
000060: 64 20 3D 20 32 20 3B 20 62 69 74 73 70 65 72 77 d = 2 ; bitsperw
000070: 6F 72 64 20 3D 20 31 36 0D 0A 20 20 20 20 20 20 ord = 16..
000080: 20 20 20 20 20 20 20 20 20 20 20 20 20 2F 2F 20 //
000090: 6C 64 20 28 68 6C 29 2C 30 0D 0A 20 20 30 25 23 ld (hl),0.. 0%#
0000A0: 78 38 30 20 3A 3D 20 73 61 76 65 25 30 20 3B 20 x80 := save%0 ;
0000B0: 30 25 23 78 38 31 20 3A 3D 20 73 61 76 65 25 31 0%#x81 := save%1
0000C0: 20 3B 20 30 25 23 78 38 32 20 3A 3D 20 73 61 76 ; 0%#x82 := sav
0000D0: 65 25 32 0D 0A 24 29 0D 0A 0D 0A 41 4E 44 20 73 e%2..$)....AND s
0000E0: 65 6C 65 63 74 69 6E 70 75 74 28 73 74 72 65 61 electinput(strea
0000F0: 6D 29 20 20 42 45 20 72 65 61 64 73 74 72 65 61 m) BE readstrea
000100: 6D 20 20 3A 3D 20 73 74 72 65 61 6D 0D 0A 41 4E m := stream..AN
000110: 44 20 73 65 6C 65 63 74 6F 75 74 70 75 74 28 73 D selectoutput(s
000120: 74 72 65 61 6D 29 20 42 45 20 77 72 69 74 65 73 tream) BE writes
000130: 74 72 65 61 6D 20 3A 3D 20 73 74 72 65 61 6D 0D tream := stream.
000140: 0A 41 4E 44 20 69 6E 70 75 74 28 29 20 20 3D 20 .AND input() =
000150: 72 65 61 64 73 74 72 65 61 6D 0D 0A 41 4E 44 20 readstream..AND
000160: 6F 75 74 70 75 74 28 29 20 3D 20 77 72 69 74 65 output() = write
000170: 73 74 72 65 61 6D 0D 0A 41 4E 44 20 75 70 70 65 stream..AND uppe
000180: 72 63 61 73 65 28 63 68 61 72 29 20 3D 20 27 61 rcase(char) = 'a
000190: 27 3C 3D 63 68 61 72 3C 3D 27 7A 27 20 2D 3E 20 '<=char<='z' ->
0001A0: 63 68 61 72 20 2D 20 33 32 2C 20 63 68 61 72 0D char - 32, char.
0001B0: 0A 41 4E 44 20 63 61 70 69 74 61 6C 63 68 28 63 .AND capitalch(c
0001C0: 29 20 3D 20 75 70 70 65 72 63 61 73 65 28 63 29 ) = uppercase(c)
0001D0: 0D 0A 41 4E 44 20 64 65 63 76 61 6C 28 64 69 67 ..AND decval(dig
0001E0: 69 74 29 20 3D 20 27 30 27 3C 3D 64 69 67 69 74 it) = '0'<=digit
0001F0: 3C 3D 27 39 27 20 20 2D 3E 20 64 69 67 69 74 2D <='9' -> digit-
Size : 512 (Real : 512)
000000: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000010: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000020: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000030: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000040: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000050: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000060: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000070: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000080: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000090: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0000A0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0000B0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0000C0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0000D0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0000E0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0000F0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000100: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000110: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000120: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000130: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000140: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000150: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000160: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000170: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000180: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000190: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0001A0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0001B0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0001C0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0001D0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0001E0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0001F0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
Size : 512 (Real : 512)
000000: 2F 2F 20 43 4C 49 42 48 44 52 31 20 20 20 61 64 // CLIBHDR1 ad
000010: 64 69 74 69 6F 6E 61 6C 20 43 50 2F 4D 20 6C 69 ditional CP/M li
000020: 62 72 61 72 79 20 68 65 61 64 65 72 2C 20 6C 61 brary header, la
000030: 73 74 20 6D 6F 64 69 66 69 65 64 20 31 39 2F 31 st modified 19/1
000040: 31 2F 31 39 38 36 0D 0A 0D 0A 0D 0A 53 54 41 54 1/1986......STAT
000050: 49 43 20 24 28 20 72 61 6E 64 6F 6D 73 65 65 64 IC $( randomseed
000060: 20 3D 20 30 20 24 29 0D 0A 0D 0A 4C 45 54 20 72 = 0 $)....LET r
000070: 61 6E 64 6F 6D 28 29 20 3D 20 56 41 4C 4F 46 0D andom() = VALOF.
000080: 0A 24 28 0D 0A 20 20 72 61 6E 64 6F 6D 73 65 65 .$(.. randomsee
000090: 64 20 3A 3D 20 72 61 6E 64 6F 6D 73 65 65 64 20 d := randomseed
0000A0: 2A 20 23 78 41 33 45 44 20 2B 20 23 78 31 44 33 * #xA3ED + #x1D3
0000B0: 31 0D 0A 20 20 52 45 53 55 4C 54 49 53 20 72 61 1.. RESULTIS ra
0000C0: 6E 64 6F 6D 73 65 65 64 0D 0A 24 29 0D 0A 0D 0A ndomseed..$)....
0000D0: 41 4E 44 20 73 74 6F 70 28 63 6F 64 65 29 20 42 AND stop(code) B
0000E0: 45 0D 0A 24 28 0D 0A 20 20 62 64 6F 73 62 28 31 E..$(.. bdosb(1
0000F0: 30 38 2C 63 6F 64 65 29 0D 0A 20 20 66 69 6E 69 08,code).. fini
000100: 73 68 0D 0A 24 29 0D 0A 0D 0A 41 4E 44 20 74 61 sh..$)....AND ta
000110: 69 6C 28 73 74 72 69 6E 67 29 20 42 45 0D 0A 24 il(string) BE..$
000120: 28 0D 0A 20 20 73 74 72 69 6E 67 25 30 20 3A 3D (.. string%0 :=
000130: 20 30 25 23 78 38 30 0D 0A 20 20 46 4F 52 20 61 0%#x80.. FOR a
000140: 20 3D 20 31 20 54 4F 20 73 74 72 69 6E 67 25 30 = 1 TO string%0
000150: 20 44 4F 20 73 74 72 69 6E 67 25 61 20 3A 3D 20 DO string%a :=
000160: 30 25 28 23 78 38 30 2B 61 29 0D 0A 24 29 0D 0A 0%(#x80+a)..$)..
000170: 0D 0A 41 4E 44 20 64 65 6C 65 74 65 28 6E 61 6D ..AND delete(nam
000180: 65 2C 62 75 66 66 65 72 29 20 3D 20 56 41 4C 4F e,buffer) = VALO
000190: 46 0D 0A 24 28 0D 0A 20 20 4C 45 54 20 63 2C 20 F..$(.. LET c,
0001A0: 64 65 20 3D 20 31 39 2C 20 62 75 66 66 65 72 2A de = 19, buffer*
0001B0: 32 0D 0A 20 20 73 65 74 66 63 62 28 6E 61 6D 65 2.. setfcb(name
0001C0: 2C 62 75 66 66 65 72 29 0D 0A 20 20 62 64 6F 73 ,buffer).. bdos
0001D0: 61 28 40 63 2C 40 64 65 29 0D 0A 20 20 52 45 53 a(@c,@de).. RES
0001E0: 55 4C 54 49 53 20 63 5C 3D 32 35 35 0D 0A 24 29 ULTIS c\=255..$)
0001F0: 0D 0A 0D 0A 41 4E 44 20 72 65 6E 61 6D 65 28 6E ....AND rename(n
Size : 512 (Real : 512)
000000: 61 6D 65 31 2C 6E 61 6D 65 32 2C 62 75 66 66 65 ame1,name2,buffe
000010: 72 29 20 3D 20 56 41 4C 4F 46 0D 0A 24 28 0D 0A r) = VALOF..$(..
000020: 20 20 4C 45 54 20 63 2C 20 64 65 20 3D 20 32 33 LET c, de = 23
000030: 2C 20 62 75 66 66 65 72 2A 32 0D 0A 20 20 73 65 , buffer*2.. se
000040: 74 66 63 62 28 6E 61 6D 65 31 2C 62 75 66 66 65 tfcb(name1,buffe
000050: 72 29 0D 0A 20 20 73 65 74 66 63 62 28 6E 61 6D r).. setfcb(nam
000060: 65 32 2C 62 75 66 66 65 72 2B 31 36 29 0D 0A 20 e2,buffer+16)..
000070: 20 62 79 74 65 6D 6F 76 65 28 62 75 66 66 65 72 bytemove(buffer
000080: 2A 32 2B 33 32 2C 62 75 66 66 65 72 2A 32 2B 31 *2+32,buffer*2+1
000090: 36 2C 31 36 29 0D 0A 20 20 62 64 6F 73 61 28 40 6,16).. bdosa(@
0000A0: 63 2C 40 64 65 29 0D 0A 20 20 52 45 53 55 4C 54 c,@de).. RESULT
0000B0: 49 53 20 63 5C 3D 32 35 35 0D 0A 24 29 0D 0A 0D IS c\=255..$)...
0000C0: 0A 41 4E 44 20 77 72 69 74 65 74 28 73 2C 6E 29 .AND writet(s,n)
0000D0: 20 42 45 0D 0A 24 28 20 20 0D 0A 20 20 77 72 69 BE..$( .. wri
0000E0: 74 65 73 28 73 29 0D 0A 20 20 46 4F 52 20 69 20 tes(s).. FOR i
0000F0: 3D 20 31 20 74 6F 20 6E 2D 73 25 30 20 44 4F 20 = 1 to n-s%0 DO
000100: 77 72 63 68 28 27 20 27 29 0D 0A 24 29 0D 0A 0D wrch(' ')..$)...
000110: 0A 41 4E 44 20 77 72 69 74 65 75 28 6E 2C 64 29 .AND writeu(n,d)
000120: 20 42 45 0D 0A 24 28 0D 0A 20 20 4C 45 54 20 6D BE..$(.. LET m
000130: 20 3D 20 28 6E 3E 3E 31 29 2F 35 0D 0A 20 20 55 = (n>>1)/5.. U
000140: 4E 4C 45 53 53 20 6D 3D 30 20 44 4F 0D 0A 20 20 NLESS m=0 DO..
000150: 24 28 0D 0A 20 20 20 20 77 72 69 74 65 64 28 6D $(.. writed(m
000160: 2C 64 2D 31 29 0D 0A 20 20 20 20 64 20 3A 3D 20 ,d-1).. d :=
000170: 31 0D 0A 20 20 24 29 0D 0A 20 20 77 72 69 74 65 1.. $).. write
000180: 64 28 6E 2D 6D 2A 31 30 2C 64 29 0D 0A 24 29 0D d(n-m*10,d)..$).
000190: 0A 0D 0A 41 4E 44 20 6E 65 77 70 61 67 65 28 29 ...AND newpage()
0001A0: 20 42 45 20 20 77 72 63 68 28 31 32 29 0D 0A 0D BE wrch(12)...
0001B0: 0A 41 4E 44 20 63 6F 6D 70 63 68 28 63 68 31 2C .AND compch(ch1,
0001C0: 63 68 32 29 20 3D 20 63 61 70 69 74 61 6C 63 68 ch2) = capitalch
0001D0: 28 63 68 31 29 20 2D 20 63 61 70 69 74 61 6C 63 (ch1) - capitalc
0001E0: 68 28 63 68 32 29 0D 0A 0D 0A 41 4E 44 20 63 6F h(ch2)....AND co
0001F0: 6D 70 73 74 72 69 6E 67 28 73 31 2C 73 32 29 20 mpstring(s1,s2)
Size : 512 (Real : 512)
000000: 3D 20 56 41 4C 4F 46 0D 0A 24 28 0D 0A 20 20 4C = VALOF..$(.. L
000010: 45 54 20 6C 65 6E 31 2C 6C 65 6E 32 20 3D 20 73 ET len1,len2 = s
000020: 31 25 30 2C 20 73 32 25 30 0D 0A 20 20 4C 45 54 1%0, s2%0.. LET
000030: 20 73 68 6F 72 74 65 72 20 3D 20 6C 65 6E 31 3C shorter = len1<
000040: 6C 65 6E 32 20 2D 3E 20 73 31 2C 20 73 32 0D 0A len2 -> s1, s2..
000050: 20 20 46 4F 52 20 69 20 3D 20 31 20 74 6F 20 73 FOR i = 1 to s
000060: 68 6F 72 74 65 72 25 30 20 44 4F 0D 0A 20 20 24 horter%0 DO.. $
000070: 28 0D 0A 20 20 20 20 4C 45 54 20 72 65 73 20 3D (.. LET res =
000080: 20 63 6F 6D 70 63 68 28 73 31 25 69 2C 20 73 32 compch(s1%i, s2
000090: 25 69 29 0D 0A 20 20 20 20 55 4E 4C 45 53 53 20 %i).. UNLESS
0000A0: 72 65 73 3D 30 20 52 45 53 55 4C 54 49 53 20 72 res=0 RESULTIS r
0000B0: 65 73 0D 0A 20 20 24 29 0D 0A 20 20 52 45 53 55 es.. $).. RESU
0000C0: 4C 54 49 53 20 6C 65 6E 31 3D 6C 65 6E 32 20 2D LTIS len1=len2 -
0000D0: 3E 20 30 2C 20 73 68 6F 72 74 65 72 3D 73 31 20 > 0, shorter=s1
0000E0: 2D 3E 20 2D 31 2C 31 0D 0A 24 29 0D 0A 0D 0A 41 -> -1,1..$)....A
0000F0: 4E 44 20 62 79 74 65 6D 6F 76 65 28 73 6F 75 72 ND bytemove(sour
000100: 63 65 2C 64 65 73 74 2C 6E 75 6D 62 65 72 29 20 ce,dest,number)
000110: 42 45 0D 0A 24 28 0D 0A 20 20 69 6E 6C 69 6E 65 BE..$(.. inline
000120: 20 32 32 31 2C 31 30 32 2C 31 32 33 20 20 20 20 221,102,123
000130: 20 20 2F 2F 20 6C 64 20 68 2C 28 69 78 2B 31 32 // ld h,(ix+12
000140: 33 29 0D 0A 20 20 69 6E 6C 69 6E 65 20 32 32 31 3).. inline 221
000150: 2C 31 31 30 2C 31 32 32 20 20 20 20 20 20 2F 2F ,110,122 //
000160: 20 6C 64 20 6C 2C 28 69 78 2B 31 32 32 29 0D 0A ld l,(ix+122)..
000170: 20 20 69 6E 6C 69 6E 65 20 32 32 31 2C 38 36 2C inline 221,86,
000180: 31 32 35 20 20 20 20 20 20 20 2F 2F 20 6C 64 20 125 // ld
000190: 64 2C 28 69 78 2B 31 32 35 29 0D 0A 20 20 69 6E d,(ix+125).. in
0001A0: 6C 69 6E 65 20 32 32 31 2C 39 34 2C 31 32 34 20 line 221,94,124
0001B0: 20 20 20 20 20 20 2F 2F 20 6C 64 20 65 2C 28 69 // ld e,(i
0001C0: 78 2B 31 32 34 29 0D 0A 20 20 69 6E 6C 69 6E 65 x+124).. inline
0001D0: 20 32 32 31 2C 37 30 2C 31 32 37 20 20 20 20 20 221,70,127
0001E0: 20 20 2F 2F 20 6C 64 20 62 2C 28 69 78 2B 31 32 // ld b,(ix+12
0001F0: 37 29 0D 0A 20 20 69 6E 6C 69 6E 65 20 32 32 31 7).. inline 221
Size : 512 (Real : 512)
000000: 2C 37 38 2C 31 32 36 20 20 20 20 20 20 20 2F 2F ,78,126 //
000010: 20 6C 64 20 63 2C 28 69 78 2B 31 32 36 29 0D 0A ld c,(ix+126)..
000020: 20 20 69 6E 6C 69 6E 65 20 31 36 37 20 20 20 20 inline 167
000030: 20 20 20 20 20 20 20 20 20 20 2F 2F 20 61 6E 64 // and
000040: 20 61 0D 0A 20 20 69 6E 6C 69 6E 65 20 32 33 37 a.. inline 237
000050: 2C 38 32 20 20 20 20 20 20 20 20 20 20 20 2F 2F ,82 //
000060: 20 73 62 63 20 68 6C 2C 64 65 0D 0A 20 20 69 6E sbc hl,de.. in
000070: 6C 69 6E 65 20 32 35 20 20 20 20 20 20 20 20 20 line 25
000080: 20 20 20 20 20 20 2F 2F 20 61 64 64 20 68 6C 2C // add hl,
000090: 64 65 0D 0A 20 20 69 6E 6C 69 6E 65 20 35 36 2C de.. inline 56,
0000A0: 34 20 20 20 20 20 20 20 20 20 20 20 20 20 2F 2F 4 //
0000B0: 20 6A 72 20 63 2C 2B 34 0D 0A 20 20 69 6E 6C 69 jr c,+4.. inli
0000C0: 6E 65 20 32 33 37 2C 31 37 36 20 20 20 20 20 20 ne 237,176
0000D0: 20 20 20 20 2F 2F 20 6C 64 69 72 0D 0A 20 20 69 // ldir.. i
0000E0: 6E 6C 69 6E 65 20 32 34 2C 38 20 20 20 20 20 20 nline 24,8
0000F0: 20 20 20 20 20 20 20 2F 2F 20 6A 72 20 2B 38 0D // jr +8.
000100: 0A 20 20 69 6E 6C 69 6E 65 20 31 31 20 20 20 20 . inline 11
000110: 20 20 20 20 20 20 20 20 20 20 20 2F 2F 20 64 65 // de
000120: 63 20 62 63 0D 0A 20 20 69 6E 6C 69 6E 65 20 39 c bc.. inline 9
000130: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
000140: 2F 2F 20 61 64 64 20 68 6C 2C 62 63 0D 0A 20 20 // add hl,bc..
000150: 69 6E 6C 69 6E 65 20 32 33 35 20 20 20 20 20 20 inline 235
000160: 20 20 20 20 20 20 20 20 2F 2F 20 65 78 20 64 65 // ex de
000170: 2C 68 6C 0D 0A 20 20 69 6E 6C 69 6E 65 20 39 20 ,hl.. inline 9
000180: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2F /
000190: 2F 20 61 64 64 20 68 6C 2C 62 63 0D 0A 20 20 69 / add hl,bc.. i
0001A0: 6E 6C 69 6E 65 20 32 33 35 20 20 20 20 20 20 20 nline 235
0001B0: 20 20 20 20 20 20 20 2F 2F 20 65 78 20 64 65 2C // ex de,
0001C0: 68 6C 0D 0A 20 20 69 6E 6C 69 6E 65 20 33 20 20 hl.. inline 3
0001D0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2F 2F //
0001E0: 20 69 6E 63 20 62 63 0D 0A 20 20 69 6E 6C 69 6E inc bc.. inlin
0001F0: 65 20 32 33 37 2C 31 38 34 20 20 20 20 20 20 20 e 237,184
Size : 512 (Real : 512)
000000: 20 20 20 2F 2F 20 6C 64 64 72 0D 0A 24 29 0D 0A // lddr..$)..
000010: 0D 0A 41 4E 44 20 63 61 6C 6C 28 61 64 64 72 2C ..AND call(addr,
000020: 61 66 2C 62 63 2C 64 65 2C 68 6C 2C 69 78 29 20 af,bc,de,hl,ix)
000030: 42 45 0D 0A 24 28 0D 0A 20 20 4C 45 54 20 73 61 BE..$(.. LET sa
000040: 76 65 33 20 3D 20 56 45 43 20 31 0D 0A 20 20 62 ve3 = VEC 1.. b
000050: 79 74 65 6D 6F 76 65 28 23 78 39 30 2C 20 73 61 ytemove(#x90, sa
000060: 76 65 33 2A 32 2C 20 33 29 0D 0A 20 20 30 25 23 ve3*2, 3).. 0%#
000070: 78 39 30 20 3A 3D 20 23 78 43 33 0D 0A 20 20 30 x90 := #xC3.. 0
000080: 25 23 78 39 31 20 3A 3D 20 61 64 64 72 20 26 20 %#x91 := addr &
000090: 23 78 46 46 0D 0A 20 20 30 25 23 78 39 32 20 3A #xFF.. 0%#x92 :
0000A0: 3D 20 28 20 61 64 64 72 20 26 20 23 78 46 46 30 = ( addr & #xFF0
0000B0: 30 20 29 20 3E 3E 20 38 0D 0A 20 20 69 6E 6C 69 0 ) >> 8.. inli
0000C0: 6E 65 20 23 78 44 44 2C 23 78 45 35 20 20 20 20 ne #xDD,#xE5
0000D0: 20 20 20 20 20 20 20 20 2F 2F 20 70 75 73 68 20 // push
0000E0: 69 78 0D 0A 20 20 69 6E 6C 69 6E 65 20 23 78 44 ix.. inline #xD
0000F0: 44 2C 23 78 36 36 2C 23 78 37 37 20 20 20 20 20 D,#x66,#x77
000100: 20 20 2F 2F 20 6C 64 20 68 2C 28 69 78 2B 31 31 // ld h,(ix+11
000110: 39 29 0D 0A 20 20 69 6E 6C 69 6E 65 20 23 78 44 9).. inline #xD
000120: 44 2C 23 78 36 45 2C 23 78 37 36 20 20 20 20 20 D,#x6E,#x76
000130: 20 20 2F 2F 20 6C 64 20 6C 2C 28 69 78 2B 31 31 // ld l,(ix+11
000140: 38 29 0D 0A 20 20 69 6E 6C 69 6E 65 20 23 78 32 8).. inline #x2
000150: 39 2C 23 78 35 45 2C 23 78 35 36 2C 23 78 32 33 9,#x5E,#x56,#x23
000160: 20 20 2F 2F 20 61 64 64 20 68 6C 2C 68 6C 3A 6C // add hl,hl:l
000170: 64 20 65 2C 28 68 6C 29 3A 69 6E 63 20 68 6C 3A d e,(hl):inc hl:
000180: 6C 64 20 64 2C 28 68 6C 29 0D 0A 20 20 69 6E 6C ld d,(hl).. inl
000190: 69 6E 65 20 23 78 44 35 20 20 20 20 20 20 20 20 ine #xD5
0001A0: 20 20 20 20 20 20 20 20 20 2F 2F 20 70 75 73 68 // push
0001B0: 20 64 65 0D 0A 20 20 69 6E 6C 69 6E 65 20 23 78 de.. inline #x
0001C0: 44 44 2C 23 78 36 36 2C 23 78 37 39 20 20 20 20 DD,#x66,#x79
0001D0: 20 20 20 2F 2F 20 6C 64 20 68 2C 28 69 78 2B 31 // ld h,(ix+1
0001E0: 32 31 29 0D 0A 20 20 69 6E 6C 69 6E 65 20 23 78 21).. inline #x
0001F0: 44 44 2C 23 78 36 45 2C 23 78 37 38 20 20 20 20 DD,#x6E,#x78
Size : 512 (Real : 512)
000000: 20 20 20 2F 2F 20 6C 64 20 6C 2C 28 69 78 2B 31 // ld l,(ix+1
000010: 32 30 29 0D 0A 20 20 69 6E 6C 69 6E 65 20 23 78 20).. inline #x
000020: 32 39 2C 23 78 34 45 2C 23 78 32 33 2C 23 78 34 29,#x4E,#x23,#x4
000030: 36 20 20 2F 2F 20 61 64 64 20 68 6C 2C 68 6C 3A 6 // add hl,hl:
000040: 6C 64 20 63 2C 28 68 6C 29 3A 69 6E 63 20 68 6C ld c,(hl):inc hl
000050: 3A 6C 64 20 62 2C 28 68 6C 29 0D 0A 20 20 69 6E :ld b,(hl).. in
000060: 6C 69 6E 65 20 23 78 44 44 2C 23 78 36 36 2C 23 line #xDD,#x66,#
000070: 78 37 46 20 20 20 20 20 20 20 2F 2F 20 6C 64 20 x7F // ld
000080: 68 2C 28 69 78 2B 31 32 37 29 0D 0A 20 20 69 6E h,(ix+127).. in
000090: 6C 69 6E 65 20 23 78 44 44 2C 23 78 36 45 2C 23 line #xDD,#x6E,#
0000A0: 78 37 45 20 20 20 20 20 20 20 2F 2F 20 6C 64 20 x7E // ld
0000B0: 6C 2C 28 69 78 2B 31 32 36 29 0D 0A 20 20 69 6E l,(ix+126).. in
0000C0: 6C 69 6E 65 20 23 78 32 39 2C 23 78 35 45 2C 23 line #x29,#x5E,#
0000D0: 78 32 33 2C 23 78 35 36 20 20 2F 2F 20 61 64 64 x23,#x56 // add
0000E0: 20 68 6C 2C 68 6C 3A 6C 64 20 65 2C 28 68 6C 29 hl,hl:ld e,(hl)
0000F0: 3A 69 6E 63 20 68 6C 3A 6C 64 20 64 2C 28 68 6C :inc hl:ld d,(hl
000100: 29 0D 0A 20 20 69 6E 6C 69 6E 65 20 23 78 44 35 ).. inline #xD5
000110: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
000120: 20 2F 2F 20 70 75 73 68 20 64 65 0D 0A 20 20 69 // push de.. i
000130: 6E 6C 69 6E 65 20 23 78 44 44 2C 23 78 36 36 2C nline #xDD,#x66,
000140: 23 78 37 44 20 20 20 20 20 20 20 2F 2F 20 6C 64 #x7D // ld
000150: 20 68 2C 28 69 78 2B 31 32 35 29 0D 0A 20 20 69 h,(ix+125).. i
000160: 6E 6C 69 6E 65 20 23 78 44 44 2C 23 78 36 45 2C nline #xDD,#x6E,
000170: 23 78 37 43 20 20 20 20 20 20 20 2F 2F 20 6C 64 #x7C // ld
000180: 20 6C 2C 28 69 78 2B 31 32 34 29 0D 0A 20 20 69 l,(ix+124).. i
000190: 6E 6C 69 6E 65 20 23 78 32 39 2C 23 78 35 45 2C nline #x29,#x5E,
0001A0: 23 78 32 33 2C 23 78 35 36 20 20 2F 2F 20 61 64 #x23,#x56 // ad
0001B0: 64 20 68 6C 2C 68 6C 3A 6C 64 20 65 2C 28 68 6C d hl,hl:ld e,(hl
0001C0: 29 3A 69 6E 63 20 68 6C 3A 6C 64 20 64 2C 28 68 ):inc hl:ld d,(h
0001D0: 6C 29 0D 0A 20 20 69 6E 6C 69 6E 65 20 23 78 44 l).. inline #xD
0001E0: 35 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5
0001F0: 20 20 2F 2F 20 70 75 73 68 20 64 65 0D 0A 20 20 // push de..
Size : 512 (Real : 512)
000000: 69 6E 6C 69 6E 65 20 23 78 44 44 2C 23 78 36 36 inline #xDD,#x66
000010: 2C 23 78 37 42 20 20 20 20 20 20 20 2F 2F 20 6C ,#x7B // l
000020: 64 20 68 2C 28 69 78 2B 31 32 33 29 0D 0A 20 20 d h,(ix+123)..
000030: 69 6E 6C 69 6E 65 20 23 78 44 44 2C 23 78 36 45 inline #xDD,#x6E
000040: 2C 23 78 37 41 20 20 20 20 20 20 20 2F 2F 20 6C ,#x7A // l
000050: 64 20 6C 2C 28 69 78 2B 31 32 32 29 0D 0A 20 20 d l,(ix+122)..
000060: 69 6E 6C 69 6E 65 20 23 78 32 39 2C 23 78 35 45 inline #x29,#x5E
000070: 2C 23 78 32 33 2C 23 78 35 36 20 20 2F 2F 20 61 ,#x23,#x56 // a
000080: 64 64 20 68 6C 2C 68 6C 3A 6C 64 20 65 2C 28 68 dd hl,hl:ld e,(h
000090: 6C 29 3A 69 6E 63 20 68 6C 3A 6C 64 20 64 2C 28 l):inc hl:ld d,(
0000A0: 68 6C 29 0D 0A 20 20 69 6E 6C 69 6E 65 20 23 78 hl).. inline #x
0000B0: 45 31 2C 23 78 44 44 2C 23 78 45 31 2C 23 78 46 E1,#xDD,#xE1,#xF
0000C0: 31 20 20 2F 2F 20 70 6F 70 20 68 6C 3A 70 6F 70 1 // pop hl:pop
0000D0: 20 69 78 3A 70 6F 70 20 61 66 0D 0A 20 20 69 6E ix:pop af.. in
0000E0: 6C 69 6E 65 20 23 78 43 44 2C 23 78 39 30 2C 23 line #xCD,#x90,#
0000F0: 78 30 30 20 20 20 20 20 20 20 2F 2F 20 63 61 6C x00 // cal
000100: 6C 20 26 39 30 0D 0A 20 20 69 6E 6C 69 6E 65 20 l &90.. inline
000110: 23 78 44 44 2C 23 78 32 32 2C 23 78 39 30 2C 23 #xDD,#x22,#x90,#
000120: 78 30 30 20 20 2F 2F 20 6C 64 20 28 26 39 30 29 x00 // ld (&90)
000130: 2C 69 78 0D 0A 20 20 69 6E 6C 69 6E 65 20 23 78 ,ix.. inline #x
000140: 44 44 2C 23 78 45 31 20 20 20 20 20 20 20 20 20 DD,#xE1
000150: 20 20 20 2F 2F 20 70 6F 70 20 69 78 0D 0A 20 20 // pop ix..
000160: 69 6E 6C 69 6E 65 20 23 78 46 35 2C 23 78 45 35 inline #xF5,#xE5
000170: 20 20 20 20 20 20 20 20 20 20 20 20 2F 2F 20 70 // p
000180: 75 73 68 20 61 66 3A 70 75 73 68 20 68 6C 0D 0A ush af:push hl..
000190: 20 20 69 6E 6C 69 6E 65 20 23 78 44 44 2C 23 78 inline #xDD,#x
0001A0: 36 36 2C 23 78 37 42 20 20 20 20 20 20 20 2F 2F 66,#x7B //
0001B0: 20 6C 64 20 68 2C 28 69 78 2B 31 32 33 29 0D 0A ld h,(ix+123)..
0001C0: 20 20 69 6E 6C 69 6E 65 20 23 78 44 44 2C 23 78 inline #xDD,#x
0001D0: 36 45 2C 23 78 37 41 20 20 20 20 20 20 20 2F 2F 6E,#x7A //
0001E0: 20 6C 64 20 6C 2C 28 69 78 2B 31 32 32 29 0D 0A ld l,(ix+122)..
0001F0: 20 20 69 6E 6C 69 6E 65 20 23 78 32 39 2C 23 78 inline #x29,#x
Size : 512 (Real : 512)
000000: 37 33 2C 23 78 32 33 2C 23 78 37 32 20 20 2F 2F 73,#x23,#x72 //
000010: 20 61 64 64 20 68 6C 2C 68 6C 3A 6C 64 20 28 68 add hl,hl:ld (h
000020: 6C 29 2C 65 3A 69 6E 63 20 68 6C 3A 6C 64 20 28 l),e:inc hl:ld (
000030: 68 6C 29 2C 64 0D 0A 20 20 69 6E 6C 69 6E 65 20 hl),d.. inline
000040: 23 78 44 44 2C 23 78 36 36 2C 23 78 37 44 20 20 #xDD,#x66,#x7D
000050: 20 20 20 20 20 2F 2F 20 6C 64 20 68 2C 28 69 78 // ld h,(ix
000060: 2B 31 32 35 29 0D 0A 20 20 69 6E 6C 69 6E 65 20 +125).. inline
000070: 23 78 44 44 2C 23 78 36 45 2C 23 78 37 43 20 20 #xDD,#x6E,#x7C
000080: 20 20 20 20 20 2F 2F 20 6C 64 20 6C 2C 28 69 78 // ld l,(ix
000090: 2B 31 32 34 29 0D 0A 20 20 69 6E 6C 69 6E 65 20 +124).. inline
0000A0: 23 78 32 39 2C 23 78 44 31 20 20 20 20 20 20 20 #x29,#xD1
0000B0: 20 20 20 20 20 2F 2F 20 61 64 64 20 68 6C 2C 68 // add hl,h
0000C0: 6C 3A 70 6F 70 20 64 65 0D 0A 20 20 69 6E 6C 69 l:pop de.. inli
0000D0: 6E 65 20 23 78 37 33 2C 23 78 32 33 2C 23 78 37 ne #x73,#x23,#x7
0000E0: 32 20 20 20 20 20 20 20 2F 2F 20 6C 64 20 28 68 2 // ld (h
0000F0: 6C 29 2C 65 3A 69 6E 63 20 68 6C 3A 6C 64 20 28 l),e:inc hl:ld (
000100: 68 6C 29 2C 64 0D 0A 20 20 69 6E 6C 69 6E 65 20 hl),d.. inline
000110: 23 78 44 44 2C 23 78 36 36 2C 23 78 37 46 20 20 #xDD,#x66,#x7F
000120: 20 20 20 20 20 2F 2F 20 6C 64 20 68 2C 28 69 78 // ld h,(ix
000130: 2B 31 32 37 29 0D 0A 20 20 69 6E 6C 69 6E 65 20 +127).. inline
000140: 23 78 44 44 2C 23 78 36 45 2C 23 78 37 45 20 20 #xDD,#x6E,#x7E
000150: 20 20 20 20 20 2F 2F 20 6C 64 20 6C 2C 28 69 78 // ld l,(ix
000160: 2B 31 32 36 29 0D 0A 20 20 69 6E 6C 69 6E 65 20 +126).. inline
000170: 23 78 32 39 20 20 20 20 20 20 20 20 20 20 20 20 #x29
000180: 20 20 20 20 20 2F 2F 20 61 64 64 20 68 6C 2C 68 // add hl,h
000190: 6C 0D 0A 20 20 69 6E 6C 69 6E 65 20 23 78 45 44 l.. inline #xED
0001A0: 2C 23 78 35 42 2C 23 78 39 30 2C 23 78 30 30 20 ,#x5B,#x90,#x00
0001B0: 20 2F 2F 20 6C 64 20 64 65 2C 28 26 39 30 29 0D // ld de,(&90).
0001C0: 0A 20 20 69 6E 6C 69 6E 65 20 23 78 37 33 2C 23 . inline #x73,#
0001D0: 78 32 33 2C 23 78 37 32 20 20 20 20 20 20 20 2F x23,#x72 /
0001E0: 2F 20 6C 64 20 28 68 6C 29 2C 65 3A 69 6E 63 20 / ld (hl),e:inc
0001F0: 68 6C 3A 6C 64 20 28 68 6C 29 2C 64 0D 0A 20 20 hl:ld (hl),d..
Size : 512 (Real : 512)
000000: 69 6E 6C 69 6E 65 20 23 78 44 44 2C 23 78 36 36 inline #xDD,#x66
000010: 2C 23 78 37 39 20 20 20 20 20 20 20 2F 2F 20 6C ,#x79 // l
000020: 64 20 68 2C 28 69 78 2B 31 32 31 29 0D 0A 20 20 d h,(ix+121)..
000030: 69 6E 6C 69 6E 65 20 23 78 44 44 2C 23 78 36 45 inline #xDD,#x6E
000040: 2C 23 78 37 38 20 20 20 20 20 20 20 2F 2F 20 6C ,#x78 // l
000050: 64 20 6C 2C 28 69 78 2B 31 32 30 29 0D 0A 20 20 d l,(ix+120)..
000060: 69 6E 6C 69 6E 65 20 23 78 32 39 2C 23 78 37 31 inline #x29,#x71
000070: 2C 23 78 32 33 2C 23 78 37 30 20 20 2F 2F 20 61 ,#x23,#x70 // a
000080: 64 64 20 68 6C 2C 68 6C 3A 6C 64 20 28 68 6C 29 dd hl,hl:ld (hl)
000090: 2C 63 3A 69 6E 63 20 68 6C 3A 6C 64 20 28 68 6C ,c:inc hl:ld (hl
0000A0: 29 2C 62 0D 0A 20 20 69 6E 6C 69 6E 65 20 23 78 ),b.. inline #x
0000B0: 44 44 2C 23 78 36 36 2C 23 78 37 37 20 20 20 20 DD,#x66,#x77
0000C0: 20 20 20 2F 2F 20 6C 64 20 68 2C 28 69 78 2B 31 // ld h,(ix+1
0000D0: 31 39 29 0D 0A 20 20 69 6E 6C 69 6E 65 20 23 78 19).. inline #x
0000E0: 44 44 2C 23 78 36 45 2C 23 78 37 36 20 20 20 20 DD,#x6E,#x76
0000F0: 20 20 20 2F 2F 20 6C 64 20 6C 2C 28 69 78 2B 31 // ld l,(ix+1
000100: 31 38 29 0D 0A 20 20 69 6E 6C 69 6E 65 20 23 78 18).. inline #x
000110: 32 39 2C 23 78 44 31 20 20 20 20 20 20 20 20 20 29,#xD1
000120: 20 20 20 2F 2F 20 61 64 64 20 68 6C 2C 68 6C 3A // add hl,hl:
000130: 70 6F 70 20 64 65 0D 0A 20 20 69 6E 6C 69 6E 65 pop de.. inline
000140: 20 23 78 37 33 2C 23 78 32 33 2C 23 78 37 32 20 #x73,#x23,#x72
000150: 20 20 20 20 20 20 2F 2F 20 6C 64 20 28 68 6C 29 // ld (hl)
000160: 2C 65 3A 69 6E 63 20 68 6C 3A 6C 64 20 28 68 6C ,e:inc hl:ld (hl
000170: 29 2C 64 0D 0A 20 20 62 79 74 65 6D 6F 76 65 28 ),d.. bytemove(
000180: 73 61 76 65 33 2A 32 2C 20 23 78 39 30 2C 20 33 save3*2, #x90, 3
000190: 29 0D 0A 24 29 0D 0A 0D 0A 41 4E 44 20 66 69 72 )..$)....AND fir
0001A0: 6D 77 61 72 65 28 61 64 64 72 2C 61 66 2C 62 63 mware(addr,af,bc
0001B0: 2C 64 65 2C 68 6C 2C 69 78 29 20 42 45 0D 0A 24 ,de,hl,ix) BE..$
0001C0: 28 0D 0A 20 20 4C 45 54 20 73 61 76 65 36 20 3D (.. LET save6 =
0001D0: 20 56 45 43 20 33 0D 0A 20 20 62 79 74 65 6D 6F VEC 3.. bytemo
0001E0: 76 65 28 23 78 38 30 2C 20 73 61 76 65 36 2A 32 ve(#x80, save6*2
0001F0: 2C 20 36 29 0D 0A 20 20 30 25 23 78 38 30 20 3A , 6).. 0%#x80 :
Size : 512 (Real : 512)
000000: 3D 20 23 78 43 44 0D 0A 20 20 30 25 23 78 38 31 = #xCD.. 0%#x81
000010: 20 3A 3D 20 30 25 28 30 25 31 20 2B 20 32 35 36 := 0%(0%1 + 256
000020: 2A 30 25 32 20 2B 20 38 37 20 2B 31 29 0D 0A 20 *0%2 + 87 +1)..
000030: 20 30 25 23 78 38 32 20 3A 3D 20 30 25 28 30 25 0%#x82 := 0%(0%
000040: 31 20 2B 20 32 35 36 2A 30 25 32 20 2B 20 38 37 1 + 256*0%2 + 87
000050: 20 2B 32 29 0D 0A 20 20 30 25 23 78 38 33 20 3A +2).. 0%#x83 :
000060: 3D 20 61 64 64 72 20 26 20 23 78 46 46 0D 0A 20 = addr & #xFF..
000070: 20 30 25 23 78 38 34 20 3A 3D 20 28 20 61 64 64 0%#x84 := ( add
000080: 72 20 26 20 23 78 46 46 30 30 20 29 20 3E 3E 20 r & #xFF00 ) >>
000090: 38 0D 0A 20 20 30 25 23 78 38 35 20 3A 3D 20 23 8.. 0%#x85 := #
0000A0: 78 43 39 0D 0A 20 20 63 61 6C 6C 20 28 23 78 38 xC9.. call (#x8
0000B0: 30 2C 61 66 2C 62 63 2C 64 65 2C 68 6C 2C 69 78 0,af,bc,de,hl,ix
0000C0: 29 0D 0A 20 20 62 79 74 65 6D 6F 76 65 28 73 61 ).. bytemove(sa
0000D0: 76 65 36 2A 32 2C 20 23 78 38 30 2C 20 36 29 0D ve6*2, #x80, 6).
0000E0: 0A 24 29 0D 0A 0D 0A 41 4E 44 20 76 65 72 73 69 .$)....AND versi
0000F0: 6F 6E 28 29 20 3D 20 56 41 4C 4F 46 0D 0A 24 28 on() = VALOF..$(
000100: 0D 0A 20 20 4C 45 54 20 63 2C 64 65 3D 31 32 2C .. LET c,de=12,
000110: 3F 0D 0A 20 20 4C 45 54 20 61 66 2C 62 63 2C 68 ?.. LET af,bc,h
000120: 6C 2C 69 78 20 3D 20 3F 2C 3F 2C 3F 2C 3F 0D 0A l,ix = ?,?,?,?..
000130: 20 20 62 64 6F 73 61 28 40 63 2C 40 64 65 29 0D bdosa(@c,@de).
000140: 0A 20 20 49 46 20 28 64 65 20 26 20 23 78 46 46 . IF (de & #xFF
000150: 29 20 3C 20 23 78 33 30 20 54 48 45 4E 20 52 45 ) < #x30 THEN RE
000160: 53 55 4C 54 49 53 20 32 0D 0A 20 20 66 69 72 6D SULTIS 2.. firm
000170: 77 61 72 65 28 23 78 45 33 2C 40 61 66 2C 40 62 ware(#xE3,@af,@b
000180: 63 2C 40 64 65 2C 40 68 6C 2C 40 69 78 29 0D 0A c,@de,@hl,@ix)..
000190: 20 20 52 45 53 55 4C 54 49 53 20 33 20 2B 20 28 RESULTIS 3 + (
0001A0: 20 61 66 20 3E 3E 20 38 20 29 0D 0A 24 29 0D 0A af >> 8 )..$)..
0001B0: 0D 0A 41 4E 44 20 67 65 74 62 79 74 65 28 73 2C ..AND getbyte(s,
0001C0: 69 29 20 3D 20 73 25 69 0D 0A 41 4E 44 20 70 75 i) = s%i..AND pu
0001D0: 74 62 79 74 65 28 73 2C 69 2C 63 29 20 42 45 20 tbyte(s,i,c) BE
0001E0: 73 25 69 20 3A 3D 20 63 0D 0A 41 4E 44 20 75 6E s%i := c..AND un
0001F0: 70 61 63 6B 73 74 72 69 6E 67 28 73 2C 76 29 20 packstring(s,v)
Size : 512 (Real : 512)
000000: 42 45 20 46 4F 52 20 69 20 3D 20 30 20 54 4F 20 BE FOR i = 0 TO
000010: 73 25 30 20 44 4F 20 76 21 69 20 3A 3D 20 73 25 s%0 DO v!i := s%
000020: 69 0D 0A 41 4E 44 20 70 61 63 6B 73 74 72 69 6E i..AND packstrin
000030: 67 28 76 2C 73 29 20 42 45 0D 0A 24 28 0D 0A 20 g(v,s) BE..$(..
000040: 20 4C 45 54 20 6E 20 3D 20 21 76 20 4C 4F 47 41 LET n = !v LOGA
000050: 4E 44 20 23 78 46 46 0D 0A 20 20 46 4F 52 20 69 ND #xFF.. FOR i
000060: 20 3D 20 31 20 54 4F 20 6E 20 44 4F 20 73 25 69 = 1 TO n DO s%i
000070: 20 3A 3D 20 73 21 69 0D 0A 24 29 0D 0A 1A 46 0D := s!i..$)...F.
000080: 72 20 26 20 23 78 46 46 30 30 20 29 20 3E 3E 20 r & #xFF00 ) >>
000090: 38 0D 0A 20 20 30 25 23 78 38 35 20 3A 3D 20 23 8.. 0%#x85 := #
0000A0: 78 43 39 0D 0A 20 20 63 61 6C 6C 20 28 23 78 38 xC9.. call (#x8
0000B0: 30 2C 61 66 2C 62 63 2C 64 65 2C 68 6C 2C 69 78 0,af,bc,de,hl,ix
0000C0: 29 0D 0A 20 20 62 79 74 65 6D 6F 76 65 28 73 61 ).. bytemove(sa
0000D0: 76 65 36 2A 32 2C 20 23 78 38 30 2C 20 36 29 0D ve6*2, #x80, 6).
0000E0: 0A 24 29 0D 0A 0D 0A 41 4E 44 20 76 65 72 73 69 .$)....AND versi
0000F0: 6F 6E 28 29 20 3D 20 56 41 4C 4F 46 0D 0A 24 28 on() = VALOF..$(
000100: 0D 0A 20 20 4C 45 54 20 63 2C 64 65 3D 31 32 2C .. LET c,de=12,
000110: 3F 0D 0A 20 20 4C 45 54 20 61 66 2C 62 63 2C 68 ?.. LET af,bc,h
000120: 6C 2C 69 78 20 3D 20 3F 2C 3F 2C 3F 2C 3F 0D 0A l,ix = ?,?,?,?..
000130: 20 20 62 64 6F 73 61 28 40 63 2C 40 64 65 29 0D bdosa(@c,@de).
000140: 0A 20 20 49 46 20 28 64 65 20 26 20 23 78 46 46 . IF (de & #xFF
000150: 29 20 3C 20 23 78 33 30 20 54 48 45 4E 20 52 45 ) < #x30 THEN RE
000160: 53 55 4C 54 49 53 20 32 0D 0A 20 20 66 69 72 6D SULTIS 2.. firm
000170: 77 61 72 65 28 23 78 45 33 2C 40 61 66 2C 40 62 ware(#xE3,@af,@b
000180: 63 2C 40 64 65 2C 40 68 6C 2C 40 69 78 29 0D 0A c,@de,@hl,@ix)..
000190: 20 20 52 45 53 55 4C 54 49 53 20 33 20 2B 20 28 RESULTIS 3 + (
0001A0: 20 61 66 20 3E 3E 20 38 20 29 0D 0A 24 29 0D 0A af >> 8 )..$)..
0001B0: 0D 0A 41 4E 44 20 67 65 74 62 79 74 65 28 73 2C ..AND getbyte(s,
0001C0: 69 29 20 3D 20 73 25 69 0D 0A 41 4E 44 20 70 75 i) = s%i..AND pu
0001D0: 74 62 79 74 65 28 73 2C 69 2C 63 29 20 42 45 20 tbyte(s,i,c) BE
0001E0: 73 25 69 20 3A 3D 20 63 0D 0A 41 4E 44 20 75 6E s%i := c..AND un
0001F0: 70 61 63 6B 73 74 72 69 6E 67 28 73 2C 76 29 20 packstring(s,v)
Size : 512 (Real : 512)
000000: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000010: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000020: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000030: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000040: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000050: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000060: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000070: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000080: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000090: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0000A0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0000B0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0000C0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0000D0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0000E0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0000F0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000100: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000110: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000120: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000130: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000140: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000150: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000160: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000170: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000180: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000190: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0001A0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0001B0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0001C0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0001D0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0001E0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0001F0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
Size : 512 (Real : 512)
000000: 2F 2A 20 54 68 69 73 20 69 73 20 61 20 63 6F 70 /* This is a cop
000010: 79 20 72 6F 75 74 69 6E 65 2E 20 4C 61 73 74 20 y routine. Last
000020: 6D 6F 64 69 66 69 65 64 20 30 35 2F 31 31 2F 31 modified 05/11/1
000030: 39 38 36 20 2A 2F 0D 0A 0D 0A 6F 70 74 69 6F 6E 986 */....option
000040: 20 62 2D 0D 0A 0D 0A 2F 2A 20 49 6E 63 6C 75 64 b-..../* Includ
000050: 65 20 74 68 65 20 6C 69 62 72 61 72 79 20 2A 2F e the library */
000060: 0D 0A 0D 0A 47 45 54 20 22 63 6C 69 62 68 64 72 ....GET "clibhdr
000070: 22 0D 0A 0D 0A 4C 45 54 20 73 74 61 72 74 28 29 "....LET start()
000080: 20 42 45 0D 0A 0D 0A 24 28 0D 0A 20 20 4C 45 54 BE....$(.. LET
000090: 20 69 6E 6E 61 6D 65 20 3D 20 56 45 43 20 32 30 inname = VEC 20
0000A0: 0D 0A 20 20 4C 45 54 20 69 6E 62 75 66 66 20 3D .. LET inbuff =
0000B0: 20 56 45 43 20 38 32 0D 0A 20 20 4C 45 54 20 6F VEC 82.. LET o
0000C0: 75 74 6E 61 6D 65 20 3D 20 56 45 43 20 32 30 0D utname = VEC 20.
0000D0: 0A 20 20 4C 45 54 20 6F 75 74 62 75 66 66 20 3D . LET outbuff =
0000E0: 20 56 45 43 20 38 32 0D 0A 20 20 4C 45 54 20 63 VEC 82.. LET c
0000F0: 20 3D 20 30 0D 0A 20 20 77 72 69 74 65 73 28 22 = 0.. writes("
000100: 49 6E 70 75 74 20 66 69 6C 65 20 6E 61 6D 65 3A Input file name:
000110: 20 20 22 29 0D 0A 20 20 72 65 61 64 73 28 69 6E ").. reads(in
000120: 6E 61 6D 65 29 0D 0A 20 20 49 46 20 69 6E 6E 61 name).. IF inna
000130: 6D 65 25 30 20 3D 20 30 20 54 48 45 4E 20 46 49 me%0 = 0 THEN FI
000140: 4E 49 53 48 0D 0A 20 20 6E 65 77 6C 69 6E 65 28 NISH.. newline(
000150: 29 0D 0A 20 20 77 72 69 74 65 73 28 22 4F 75 74 ).. writes("Out
000160: 70 75 74 20 66 69 6C 65 20 6E 61 6D 65 3A 20 22 put file name: "
000170: 29 0D 0A 20 20 72 65 61 64 73 28 6F 75 74 6E 61 ).. reads(outna
000180: 6D 65 29 0D 0A 20 20 49 46 20 6F 75 74 6E 61 6D me).. IF outnam
000190: 65 25 30 20 3D 20 30 20 54 48 45 4E 20 46 49 4E e%0 = 0 THEN FIN
0001A0: 49 53 48 0D 0A 20 20 54 45 53 54 20 66 69 6E 64 ISH.. TEST find
0001B0: 69 6E 70 75 74 28 69 6E 6E 61 6D 65 2C 20 69 6E input(inname, in
0001C0: 62 75 66 66 29 20 54 48 45 4E 0D 0A 20 20 24 28 buff) THEN.. $(
0001D0: 0D 0A 20 20 20 20 73 65 6C 65 63 74 69 6E 70 75 .. selectinpu
0001E0: 74 28 69 6E 62 75 66 66 29 0D 0A 20 20 20 20 54 t(inbuff).. T
0001F0: 45 53 54 20 66 69 6E 64 6F 75 74 70 75 74 28 6F EST findoutput(o
Size : 512 (Real : 512)
000000: 75 74 6E 61 6D 65 2C 20 6F 75 74 62 75 66 66 29 utname, outbuff)
000010: 20 54 48 45 4E 0D 0A 20 20 20 20 24 28 0D 0A 20 THEN.. $(..
000020: 20 20 20 20 20 73 65 6C 65 63 74 6F 75 74 70 75 selectoutpu
000030: 74 28 6F 75 74 62 75 66 66 29 0D 0A 20 20 20 20 t(outbuff)..
000040: 20 20 24 28 0D 0A 20 20 20 20 20 20 20 20 63 20 $(.. c
000050: 3A 3D 20 72 64 63 68 28 29 0D 0A 20 20 20 20 20 := rdch()..
000060: 20 20 20 55 4E 4C 45 53 53 20 63 3D 65 6E 64 73 UNLESS c=ends
000070: 74 72 65 61 6D 63 68 20 44 4F 20 77 72 63 68 28 treamch DO wrch(
000080: 63 29 0D 0A 20 20 20 20 20 20 24 29 0D 0A 20 20 c).. $)..
000090: 20 20 20 20 52 45 50 45 41 54 55 4E 54 49 4C 20 REPEATUNTIL
0000A0: 63 20 3D 20 65 6E 64 73 74 72 65 61 6D 63 68 0D c = endstreamch.
0000B0: 0A 20 20 20 20 20 20 65 6E 64 77 72 69 74 65 28 . endwrite(
0000C0: 29 0D 0A 20 20 20 20 24 29 0D 0A 20 20 20 20 45 ).. $).. E
0000D0: 4C 53 45 20 77 72 69 74 65 73 28 22 43 61 6E 27 LSE writes("Can'
0000E0: 74 20 6F 70 65 6E 20 6F 75 74 70 75 74 20 66 69 t open output fi
0000F0: 6C 65 22 29 0D 0A 20 20 20 20 65 6E 64 72 65 61 le").. endrea
000100: 64 28 29 0D 0A 20 20 24 29 0D 0A 20 20 45 4C 53 d().. $).. ELS
000110: 45 20 77 72 69 74 65 73 28 22 43 61 6E 27 74 20 E writes("Can't
000120: 6F 70 65 6E 20 69 6E 70 75 74 20 66 69 6C 65 22 open input file"
000130: 29 0D 0A 24 29 0D 0A 2E 0D 0A 0D 0A 1A 69 6F 6E )..$)........ion
000140: 20 62 2D 0D 0A 0D 0A 2F 2A 20 49 6E 63 6C 75 64 b-..../* Includ
000150: 65 20 74 68 65 20 6C 69 62 72 61 72 79 20 2A 2F e the library */
000160: 0D 0A 0D 0A 47 45 54 20 22 63 6C 69 62 68 64 72 ....GET "clibhdr
000170: 22 0D 0A 0D 0A 4C 45 54 20 73 74 61 72 74 28 29 "....LET start()
000180: 6D 65 29 0D 0A 20 20 49 46 20 6F 75 74 6E 61 6D me).. IF outnam
000190: 65 25 30 20 3D 20 30 20 54 48 45 4E 20 46 49 4E e%0 = 0 THEN FIN
0001A0: 49 53 48 0D 0A 20 20 54 45 53 54 20 66 69 6E 64 ISH.. TEST find
0001B0: 69 6E 70 75 74 28 69 6E 6E 61 6D 65 2C 20 69 6E input(inname, in
0001C0: 62 75 66 66 29 20 54 48 45 4E 0D 0A 20 20 24 28 buff) THEN.. $(
0001D0: 0D 0A 20 20 20 20 73 65 6C 65 63 74 69 6E 70 75 .. selectinpu
0001E0: 74 28 69 6E 62 75 66 66 29 0D 0A 20 20 20 20 54 t(inbuff).. T
0001F0: 45 53 54 20 66 69 6E 64 6F 75 74 70 75 74 28 6F EST findoutput(o
Size : 512 (Real : 512)
000000: 2F 2A 20 42 43 50 4C 20 64 65 62 75 67 20 70 72 /* BCPL debug pr
000010: 6F 63 65 64 75 72 65 20 30 32 2F 31 31 2F 31 39 ocedure 02/11/19
000020: 38 36 20 2A 2F 0D 0A 0D 0A 2F 2A 20 20 20 20 20 86 */..../*
000030: 20 64 65 62 75 67 28 6F 70 74 2C 6E 2C 64 31 2C debug(opt,n,d1,
000040: 64 32 2C 64 33 2C 64 34 2C 64 35 2C 64 36 2C 64 d2,d3,d4,d5,d6,d
000050: 37 2C 64 38 2C 64 39 2C 64 31 30 2C 64 31 31 2C 7,d8,d9,d10,d11,
000060: 64 31 32 29 0D 0A 0D 0A 20 20 20 20 20 20 20 20 d12)....
000070: 54 68 65 20 66 69 72 73 74 20 70 61 72 61 6D 65 The first parame
000080: 74 65 72 20 73 70 65 63 69 66 69 65 73 20 74 68 ter specifies th
000090: 65 20 72 65 71 75 69 72 65 64 20 6F 70 74 69 6F e required optio
0000A0: 6E 2E 0D 0A 0D 0A 20 20 20 20 20 20 20 20 20 20 n.....
0000B0: 20 20 20 20 20 20 20 30 20 3A 20 70 61 75 73 65 0 : pause
0000C0: 20 65 78 65 63 75 74 69 6F 6E 2C 20 77 61 69 74 execution, wait
0000D0: 20 66 6F 72 20 61 20 6B 65 79 20 74 6F 20 62 65 for a key to be
0000E0: 20 70 72 65 73 73 65 64 0D 0A 20 20 20 20 20 20 pressed..
0000F0: 20 20 20 20 20 20 20 20 20 20 20 31 20 3A 20 64 1 : d
000100: 69 73 70 6C 61 79 20 76 61 6C 75 65 73 20 6F 66 isplay values of
000110: 20 76 61 72 69 61 62 6C 65 73 20 69 6E 20 64 65 variables in de
000120: 63 69 6D 61 6C 0D 0A 20 20 20 20 20 20 20 20 20 cimal..
000130: 20 20 20 20 20 20 20 2D 31 20 3A 20 64 69 73 70 -1 : disp
000140: 6C 61 79 20 6E 61 6D 65 73 20 61 6E 64 20 76 61 lay names and va
000150: 6C 75 65 73 20 6F 66 20 76 61 72 69 61 62 6C 65 lues of variable
000160: 73 20 69 6E 20 64 65 63 69 6D 61 6C 0D 0A 20 20 s in decimal..
000170: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 32 2
000180: 20 3A 20 64 69 73 70 6C 61 79 20 76 61 6C 75 65 : display value
000190: 20 6F 66 20 73 74 72 69 6E 67 73 0D 0A 20 20 20 of strings..
0001A0: 20 20 20 20 20 20 20 20 20 20 20 20 20 2D 32 20 -2
0001B0: 3A 20 64 69 73 70 6C 61 79 20 6E 61 6D 65 20 61 : display name a
0001C0: 6E 64 20 76 61 6C 75 65 20 6F 66 20 73 74 72 69 nd value of stri
0001D0: 6E 67 73 0D 0A 20 20 20 20 20 20 20 20 20 20 20 ngs..
0001E0: 20 20 20 20 20 20 33 20 3A 20 64 69 73 70 6C 61 3 : displa
0001F0: 79 20 63 6F 6E 74 65 6E 74 73 20 6F 66 20 76 65 y contents of ve
Size : 512 (Real : 512)
000000: 63 74 6F 72 73 0D 0A 20 20 20 20 20 20 20 20 20 ctors..
000010: 20 20 20 20 20 20 20 2D 33 20 3A 20 64 69 73 70 -3 : disp
000020: 6C 61 79 20 6E 61 6D 65 20 61 6E 64 20 63 6F 6E lay name and con
000030: 74 65 6E 74 73 20 6F 66 20 76 65 63 74 6F 72 73 tents of vectors
000040: 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ..
000050: 20 20 20 34 20 3A 20 64 69 73 70 6C 61 79 20 76 4 : display v
000060: 61 6C 75 65 73 20 6F 66 20 76 61 72 69 61 62 6C alues of variabl
000070: 65 73 20 69 6E 20 68 65 78 61 64 65 63 69 6D 61 es in hexadecima
000080: 6C 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 20 l..
000090: 20 20 20 2D 34 20 3A 20 64 69 73 70 6C 61 79 20 -4 : display
0000A0: 6E 61 6D 65 73 20 61 6E 64 20 76 61 6C 75 65 73 names and values
0000B0: 20 6F 66 20 76 61 72 69 61 62 6C 65 73 20 69 6E of variables in
0000C0: 20 68 65 78 61 64 65 63 69 6D 61 6C 0D 0A 0D 0A hexadecimal....
0000D0: 0D 0A 20 20 20 20 20 20 20 20 54 68 65 20 73 65 .. The se
0000E0: 63 6F 6E 64 20 70 61 72 61 6D 65 74 65 72 20 28 cond parameter (
0000F0: 6E 29 20 69 73 20 74 68 65 20 6E 75 6D 62 65 72 n) is the number
000100: 20 6F 66 20 76 61 72 69 61 62 6C 65 73 20 6F 72 of variables or
000110: 20 73 74 72 69 6E 67 73 0D 0A 20 20 20 20 20 20 strings..
000120: 20 20 6F 72 20 76 65 63 74 6F 72 73 20 74 6F 20 or vectors to
000130: 62 65 20 64 69 73 70 6C 61 79 65 64 2E 0D 0A 0D be displayed....
000140: 0A 20 20 20 20 20 20 20 20 49 66 20 6F 70 74 20 . If opt
000150: 69 73 20 70 6F 73 69 74 69 76 65 20 74 68 65 72 is positive ther
000160: 65 20 66 6F 6C 6C 6F 77 73 20 61 20 6C 69 73 74 e follows a list
000170: 20 6F 66 20 69 64 65 6E 74 69 66 69 65 72 73 2E of identifiers.
000180: 0D 0A 20 20 20 20 20 20 20 20 49 66 20 6F 70 74 .. If opt
000190: 20 69 73 20 6E 65 67 61 74 69 76 65 20 74 68 65 is negative the
0001A0: 72 65 20 66 6F 6C 6C 6F 77 73 20 61 20 6C 69 73 re follows a lis
0001B0: 74 20 6F 66 20 70 61 69 72 73 20 2D 20 61 20 73 t of pairs - a s
0001C0: 74 72 69 6E 67 0D 0A 20 20 20 20 20 20 20 20 67 tring.. g
0001D0: 69 76 69 6E 67 20 74 68 65 20 69 64 65 6E 74 69 iving the identi
0001E0: 66 69 65 72 20 6E 61 6D 65 20 61 6E 64 20 74 68 fier name and th
0001F0: 65 20 69 64 65 6E 74 69 66 69 65 72 2E 0D 0A 0D e identifier....
Size : 512 (Real : 512)
000000: 0A 20 20 20 20 20 20 20 20 46 6F 72 20 6F 70 74 . For opt
000010: 69 6F 6E 73 20 33 20 61 6E 64 20 2D 33 20 65 61 ions 3 and -3 ea
000020: 63 68 20 69 64 65 6E 74 69 66 69 65 72 20 69 73 ch identifier is
000030: 20 66 6F 6C 6C 6F 77 65 64 20 62 79 20 74 68 65 followed by the
000040: 20 6C 65 6E 67 74 68 20 6F 66 0D 0A 20 20 20 20 length of..
000050: 20 20 20 20 74 68 65 20 76 65 63 74 6F 72 2C 20 the vector,
000060: 74 68 61 74 20 69 73 20 74 68 65 20 6E 75 6D 62 that is the numb
000070: 65 72 20 6F 66 20 62 79 74 65 73 20 74 6F 20 64 er of bytes to d
000080: 69 73 70 6C 61 79 2E 0D 0A 0D 0A 20 20 20 20 20 isplay.....
000090: 20 20 20 45 78 61 6D 70 6C 65 73 3A 0D 0A 20 20 Examples:..
0000A0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
0000B0: 20 20 20 20 20 20 64 65 62 75 67 28 31 2C 33 2C debug(1,3,
0000C0: 76 61 72 31 2C 76 61 72 32 2C 76 61 72 33 29 0D var1,var2,var3).
0000D0: 0A 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .
0000E0: 20 20 20 20 20 20 20 20 20 64 65 62 75 67 28 2D debug(-
0000F0: 31 2C 33 2C 22 76 61 72 31 22 2C 76 61 72 31 2C 1,3,"var1",var1,
000100: 22 76 61 72 32 22 2C 76 61 72 32 2C 22 76 61 72 "var2",var2,"var
000110: 33 22 2C 76 61 72 33 29 0D 0A 20 20 20 20 20 20 3",var3)..
000120: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
000130: 20 20 64 65 62 75 67 28 32 2C 31 2C 73 74 72 29 debug(2,1,str)
000140: 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ..
000150: 20 20 20 20 20 20 20 20 20 20 64 65 62 75 67 28 debug(
000160: 2D 32 2C 32 2C 22 73 74 72 31 22 2C 73 74 72 31 -2,2,"str1",str1
000170: 2C 22 73 74 72 32 22 2C 73 74 72 32 29 0D 0A 20 ,"str2",str2)..
000180: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
000190: 20 20 20 20 20 20 20 64 65 62 75 67 28 33 2C 31 debug(3,1
0001A0: 2C 76 65 63 74 6F 72 2C 33 32 29 0D 0A 20 20 20 ,vector,32)..
0001B0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
0001C0: 20 20 20 20 20 64 65 62 75 67 28 2D 33 2C 31 2C debug(-3,1,
0001D0: 22 76 65 63 74 6F 72 22 2C 76 65 63 74 6F 72 2C "vector",vector,
0001E0: 33 32 29 0D 0A 20 20 20 20 20 20 20 20 20 20 20 32)..
0001F0: 20 20 20 20 20 20 20 20 20 20 20 20 20 64 65 62 deb
Size : 512 (Real : 512)
000000: 75 67 28 34 2C 32 2C 68 65 78 31 2C 68 65 78 32 ug(4,2,hex1,hex2
000010: 29 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 20 )..
000020: 20 20 20 20 20 20 20 20 20 20 20 64 65 62 75 67 debug
000030: 28 2D 34 2C 33 2C 22 68 65 78 31 22 2C 68 65 78 (-4,3,"hex1",hex
000040: 31 2C 22 68 65 78 32 22 2C 68 65 78 32 2C 22 68 1,"hex2",hex2,"h
000050: 65 78 33 22 2C 68 65 78 33 29 0D 0A 2A 2F 0D 0A ex3",hex3)..*/..
000060: 0D 0A 0D 0A 41 4E 44 20 64 65 62 75 67 28 6F 70 ....AND debug(op
000070: 74 2C 6E 2C 64 31 2C 64 32 2C 64 33 2C 64 34 2C t,n,d1,d2,d3,d4,
000080: 64 35 2C 64 36 2C 64 37 2C 64 38 2C 64 39 2C 64 d5,d6,d7,d8,d9,d
000090: 31 30 2C 64 31 31 2C 64 31 32 29 20 62 65 0D 0A 10,d11,d12) be..
0000A0: 0D 0A 24 28 20 20 20 20 20 20 4D 41 4E 49 46 45 ..$( MANIFE
0000B0: 53 54 20 24 28 20 65 73 63 61 70 65 3D 23 78 46 ST $( escape=#xF
0000C0: 43 20 3B 20 73 74 6F 70 3D 33 20 24 29 0D 0A 20 C ; stop=3 $)..
0000D0: 20 20 20 20 20 20 20 4C 45 54 20 70 61 72 6D 2C LET parm,
0000E0: 20 63 68 2C 20 6C 65 6E 20 3D 20 40 64 31 2C 20 ch, len = @d1,
0000F0: 3F 2C 20 3F 0D 0A 20 20 20 20 20 20 20 20 4C 45 ?, ?.. LE
000100: 54 20 77 72 6E 75 6D 2C 20 77 72 77 69 64 20 3D T wrnum, wrwid =
000110: 20 77 72 69 74 65 64 2C 20 30 0D 0A 20 20 20 20 writed, 0..
000120: 20 20 20 20 53 57 49 54 43 48 4F 4E 20 28 6F 70 SWITCHON (op
000130: 74 3E 30 20 2D 3E 20 6F 70 74 2C 20 2D 6F 70 74 t>0 -> opt, -opt
000140: 29 20 49 4E 54 4F 0D 0A 20 20 20 20 20 20 20 20 ) INTO..
000150: 24 28 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 $(..
000160: 20 20 20 20 43 41 53 45 20 31 20 3A 20 77 72 69 CASE 1 : wri
000170: 74 65 73 28 22 2A 6E 42 43 50 4C 20 44 65 62 75 tes("*nBCPL Debu
000180: 67 2E 20 56 61 72 69 61 62 6C 65 20 76 61 6C 75 g. Variable valu
000190: 65 73 3A 20 22 29 0D 0A 20 20 20 20 20 20 20 20 es: ")..
0001A0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
0001B0: 20 45 4E 44 43 41 53 45 0D 0A 20 20 20 20 20 20 ENDCASE..
0001C0: 20 20 20 20 20 20 20 20 20 20 43 41 53 45 20 32 CASE 2
0001D0: 20 3A 20 77 72 69 74 65 73 28 22 2A 6E 42 43 50 : writes("*nBCP
0001E0: 4C 20 44 65 62 75 67 2E 20 53 74 72 69 6E 67 20 L Debug. String
0001F0: 63 6F 6E 74 65 6E 74 73 3A 20 22 29 0D 0A 20 20 contents: ")..
Size : 512 (Real : 512)
000000: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
000010: 20 20 20 20 20 20 20 45 4E 44 43 41 53 45 0D 0A ENDCASE..
000020: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
000030: 43 41 53 45 20 33 20 3A 20 77 72 69 74 65 73 28 CASE 3 : writes(
000040: 22 2A 6E 42 43 50 4C 20 44 65 62 75 67 2E 20 56 "*nBCPL Debug. V
000050: 65 63 74 6F 72 20 63 6F 6E 74 65 6E 74 73 3A 20 ector contents:
000060: 22 29 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 ")..
000070: 20 20 20 20 20 20 20 20 20 20 20 20 20 45 4E 44 END
000080: 43 41 53 45 0D 0A 20 20 20 20 20 20 20 20 20 20 CASE..
000090: 20 20 20 20 20 20 43 41 53 45 20 34 20 3A 20 77 CASE 4 : w
0000A0: 72 69 74 65 73 28 22 2A 6E 42 43 50 4C 20 44 65 rites("*nBCPL De
0000B0: 62 75 67 2E 20 56 61 72 69 61 62 6C 65 20 76 61 bug. Variable va
0000C0: 6C 75 65 73 2C 20 68 65 78 3A 20 22 29 0D 0A 20 lues, hex: ")..
0000D0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
0000E0: 20 20 20 20 20 20 20 20 77 72 6E 75 6D 20 3A 3D wrnum :=
0000F0: 20 77 72 69 74 65 68 65 78 0D 0A 20 20 20 20 20 writehex..
000100: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
000110: 20 20 20 20 77 72 77 69 64 20 3A 3D 20 34 0D 0A wrwid := 4..
000120: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
000130: 20 20 20 20 20 20 20 20 20 45 4E 44 43 41 53 45 ENDCASE
000140: 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ..
000150: 20 20 44 45 46 41 55 4C 54 3A 0D 0A 20 20 20 20 DEFAULT:..
000160: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
000170: 20 20 20 20 77 72 69 74 65 73 28 22 2A 6E 50 72 writes("*nPr
000180: 65 73 73 20 61 20 6B 65 79 20 74 6F 20 72 65 73 ess a key to res
000190: 75 6D 65 20 65 78 65 63 75 74 69 6F 6E 3A 20 22 ume execution: "
0001A0: 29 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 20 )..
0001B0: 20 20 20 20 20 20 20 20 20 20 20 63 68 3A 3D 72 ch:=r
0001C0: 64 63 68 28 29 20 3B 20 49 46 20 63 68 3D 65 73 dch() ; IF ch=es
0001D0: 63 61 70 65 20 7C 20 63 68 3D 73 74 6F 70 20 20 cape | ch=stop
0001E0: 74 68 65 6E 20 46 49 4E 49 53 48 0D 0A 20 20 20 then FINISH..
0001F0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
Size : 512 (Real : 512)
000000: 20 20 20 20 20 6E 65 77 6C 69 6E 65 28 29 0D 0A newline()..
000010: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
000020: 20 20 20 20 20 20 20 20 52 45 54 55 52 4E 0D 0A RETURN..
000030: 20 20 20 20 20 20 20 20 24 29 0D 0A 0D 0A 20 20 $)....
000040: 20 20 20 20 20 20 6E 65 77 6C 69 6E 65 28 29 0D newline().
000050: 0A 20 20 20 20 20 20 20 20 49 46 20 6F 70 74 20 . IF opt
000060: 3E 20 30 20 26 20 6F 70 74 20 4E 45 20 33 20 44 > 0 & opt NE 3 D
000070: 4F 20 77 72 69 74 65 73 28 22 20 20 22 29 0D 0A O writes(" ")..
000080: 0D 0A 20 20 20 20 20 20 20 20 46 4F 52 20 69 20 .. FOR i
000090: 3D 20 31 20 54 4F 20 6E 20 44 4F 0D 0A 20 20 20 = 1 TO n DO..
0000A0: 20 20 20 20 20 24 28 0D 0A 20 20 20 20 20 20 20 $(..
0000B0: 20 20 20 20 20 53 57 49 54 43 48 4F 4E 20 6F 70 SWITCHON op
0000C0: 74 20 49 4E 54 4F 0D 0A 20 20 20 20 20 20 20 20 t INTO..
0000D0: 20 20 20 20 24 28 0D 0A 20 20 20 20 20 20 20 20 $(..
0000E0: 20 20 20 20 20 20 20 20 43 41 53 45 20 31 3A 0D CASE 1:.
0000F0: 0A 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .
000100: 20 43 41 53 45 20 34 3A 0D 0A 20 20 20 20 20 20 CASE 4:..
000110: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
000120: 20 20 77 72 6E 75 6D 28 21 70 61 72 6D 2C 77 72 wrnum(!parm,wr
000130: 77 69 64 29 20 3B 20 77 72 63 68 28 27 20 27 29 wid) ; wrch(' ')
000140: 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ..
000150: 20 20 20 20 20 20 20 20 20 20 70 61 72 6D 20 3A parm :
000160: 3D 20 70 61 72 6D 20 2B 20 31 0D 0A 20 20 20 20 = parm + 1..
000170: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
000180: 20 20 20 20 45 4E 44 43 41 53 45 0D 0A 0D 0A 20 ENDCASE....
000190: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 43 C
0001A0: 41 53 45 20 2D 31 3A 0D 0A 20 20 20 20 20 20 20 ASE -1:..
0001B0: 20 20 20 20 20 20 20 20 20 43 41 53 45 20 2D 34 CASE -4
0001C0: 3A 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 20 :..
0001D0: 20 20 20 20 20 20 20 20 20 20 20 77 72 69 74 65 write
0001E0: 73 28 22 20 20 22 29 0D 0A 20 20 20 20 20 20 20 s(" ")..
0001F0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
Size : 512 (Real : 512)
000000: 20 77 72 69 74 65 73 28 21 70 61 72 6D 29 0D 0A writes(!parm)..
000010: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
000020: 20 20 20 20 20 20 20 20 77 72 69 74 65 73 28 22 writes("
000030: 20 3D 20 22 29 0D 0A 20 20 20 20 20 20 20 20 20 = ")..
000040: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 77 w
000050: 72 6E 75 6D 28 70 61 72 6D 21 31 2C 77 72 77 69 rnum(parm!1,wrwi
000060: 64 29 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 d)..
000070: 20 20 20 20 20 20 20 20 20 20 20 20 6E 65 77 6C newl
000080: 69 6E 65 28 29 0D 0A 20 20 20 20 20 20 20 20 20 ine()..
000090: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 70 p
0000A0: 61 72 6D 20 3A 3D 20 70 61 72 6D 20 2B 20 32 0D arm := parm + 2.
0000B0: 0A 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .
0000C0: 20 20 20 20 20 20 20 20 20 45 4E 44 43 41 53 45 ENDCASE
0000D0: 0D 0A 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 ....
0000E0: 20 20 20 20 43 41 53 45 20 32 3A 0D 0A 20 20 20 CASE 2:..
0000F0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
000100: 20 20 20 20 20 77 72 63 68 28 27 22 27 29 20 3B wrch('"') ;
000110: 20 77 72 69 74 65 73 28 21 70 61 72 6D 29 20 3B writes(!parm) ;
000120: 20 77 72 63 68 28 27 22 27 29 0D 0A 20 20 20 20 wrch('"')..
000130: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
000140: 20 20 20 20 77 72 63 68 28 27 20 27 29 0D 0A 20 wrch(' ')..
000150: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
000160: 20 20 20 20 20 20 20 70 61 72 6D 20 3A 3D 20 70 parm := p
000170: 61 72 6D 20 2B 20 31 0D 0A 20 20 20 20 20 20 20 arm + 1..
000180: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
000190: 20 45 4E 44 43 41 53 45 0D 0A 0D 0A 20 20 20 20 ENDCASE....
0001A0: 20 20 20 20 20 20 20 20 20 20 20 20 43 41 53 45 CASE
0001B0: 20 2D 32 3A 0D 0A 20 20 20 20 20 20 20 20 20 20 -2:..
0001C0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 77 72 wr
0001D0: 69 74 65 73 28 22 20 20 22 29 0D 0A 20 20 20 20 ites(" ")..
0001E0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
0001F0: 20 20 20 20 77 72 69 74 65 73 28 21 70 61 72 6D writes(!parm
Size : 512 (Real : 512)
000000: 29 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 20 )..
000010: 20 20 20 20 20 20 20 20 20 20 20 77 72 69 74 65 write
000020: 73 28 22 20 3D 20 22 29 20 3B 20 77 72 63 68 28 s(" = ") ; wrch(
000030: 27 22 27 29 0D 0A 20 20 20 20 20 20 20 20 20 20 '"')..
000040: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 77 72 wr
000050: 69 74 65 73 28 70 61 72 6D 21 31 29 20 3B 20 77 ites(parm!1) ; w
000060: 72 63 68 28 27 22 27 29 0D 0A 20 20 20 20 20 20 rch('"')..
000070: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
000080: 20 20 6E 65 77 6C 69 6E 65 28 29 0D 0A 20 20 20 newline()..
000090: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
0000A0: 20 20 20 20 20 70 61 72 6D 20 3A 3D 20 70 61 72 parm := par
0000B0: 6D 20 2B 20 32 0D 0A 20 20 20 20 20 20 20 20 20 m + 2..
0000C0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 45 E
0000D0: 4E 44 43 41 53 45 0D 0A 0D 0A 20 20 20 20 20 20 NDCASE....
0000E0: 20 20 20 20 20 20 20 20 20 20 43 41 53 45 20 33 CASE 3
0000F0: 3A 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 20 :..
000100: 20 20 20 20 20 20 20 20 20 20 20 64 65 62 75 67 debug
000110: 76 65 63 74 6F 72 28 21 70 61 72 6D 2C 70 61 72 vector(!parm,par
000120: 6D 21 31 29 0D 0A 20 20 20 20 20 20 20 20 20 20 m!1)..
000130: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 70 61 pa
000140: 72 6D 20 3A 3D 20 70 61 72 6D 20 2B 20 32 0D 0A rm := parm + 2..
000150: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
000160: 20 20 20 20 20 20 20 20 45 4E 44 43 41 53 45 0D ENDCASE.
000170: 0A 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 20 ...
000180: 20 20 20 43 41 53 45 20 2D 33 3A 0D 0A 20 20 20 CASE -3:..
000190: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
0001A0: 20 20 20 20 20 77 72 69 74 65 73 28 21 70 61 72 writes(!par
0001B0: 6D 29 20 3B 20 6E 65 77 6C 69 6E 65 28 29 0D 0A m) ; newline()..
0001C0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
0001D0: 20 20 20 20 20 20 20 20 64 65 62 75 67 76 65 63 debugvec
0001E0: 74 6F 72 28 70 61 72 6D 21 31 2C 70 61 72 6D 21 tor(parm!1,parm!
0001F0: 32 29 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 2)..
Size : 512 (Real : 512)
000000: 20 20 20 20 20 20 20 20 20 20 20 20 70 61 72 6D parm
000010: 20 3A 3D 20 70 61 72 6D 20 2B 20 33 0D 0A 20 20 := parm + 3..
000020: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
000030: 20 20 20 20 20 20 45 4E 44 43 41 53 45 0D 0A 0D ENDCASE...
000040: 0A 20 20 20 20 20 20 20 20 20 20 20 20 24 29 0D . $).
000050: 0A 20 20 20 20 20 20 20 20 24 29 0D 0A 20 20 20 . $)..
000060: 20 20 20 20 20 49 46 20 6F 70 74 20 3E 20 30 20 IF opt > 0
000070: 26 20 6F 70 74 20 6E 65 20 33 20 44 4F 20 6E 65 & opt ne 3 DO ne
000080: 77 6C 69 6E 65 28 29 0D 0A 24 29 0D 0A 0D 0A 41 wline()..$)....A
000090: 4E 44 20 64 65 62 75 67 76 65 63 74 6F 72 28 61 ND debugvector(a
0000A0: 64 64 72 2C 6C 65 6E 29 20 42 45 0D 0A 0D 0A 24 ddr,len) BE....$
0000B0: 28 20 20 20 20 20 20 4C 45 54 20 61 73 63 69 69 ( LET ascii
0000C0: 20 3D 20 76 65 63 20 31 36 0D 0A 20 20 20 20 20 = vec 16..
0000D0: 20 20 20 4C 45 54 20 61 73 63 70 74 72 2C 20 6C LET ascptr, l
0000E0: 69 6E 65 2C 20 63 68 20 3D 20 31 2C 20 30 2C 20 ine, ch = 1, 0,
0000F0: 30 0D 0A 20 20 20 20 20 20 20 20 61 73 63 69 69 0.. ascii
000100: 25 30 20 3A 3D 20 31 36 0D 0A 20 20 20 20 20 20 %0 := 16..
000110: 20 20 46 4F 52 20 6C 69 6E 65 20 3D 20 30 20 54 FOR line = 0 T
000120: 4F 20 28 6C 65 6E 2D 31 29 2F 31 36 20 44 4F 0D O (len-1)/16 DO.
000130: 0A 20 20 20 20 20 20 20 20 24 28 20 20 20 20 20 . $(
000140: 20 77 72 69 74 65 73 28 22 20 20 22 29 0D 0A 20 writes(" ")..
000150: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 77 w
000160: 72 69 74 65 68 65 78 28 32 2A 61 64 64 72 2B 6C ritehex(2*addr+l
000170: 69 6E 65 2A 31 36 2C 34 29 20 20 20 20 20 20 2F ine*16,4) /
000180: 2F 20 6E 6F 74 65 20 32 2A 61 64 64 72 20 69 73 / note 2*addr is
000190: 20 70 68 79 73 69 63 61 6C 20 61 64 64 72 0D 0A physical addr..
0001A0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
0001B0: 77 72 69 74 65 73 28 22 20 20 22 29 0D 0A 20 20 writes(" ")..
0001C0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 61 73 as
0001D0: 63 70 74 72 20 3A 3D 20 31 0D 0A 20 20 20 20 20 cptr := 1..
0001E0: 20 20 20 20 20 20 20 20 20 20 20 46 4F 52 20 62 FOR b
0001F0: 79 74 65 20 3D 20 30 20 54 4F 20 31 35 20 44 4F yte = 0 TO 15 DO
Size : 512 (Real : 512)
000000: 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ..
000010: 20 20 24 28 20 20 20 20 20 20 63 68 20 3A 3D 20 $( ch :=
000020: 61 64 64 72 25 28 6C 69 6E 65 2A 31 36 2B 62 79 addr%(line*16+by
000030: 74 65 29 0D 0A 20 20 20 20 20 20 20 20 20 20 20 te)..
000040: 20 20 20 20 20 20 20 20 20 20 20 20 20 77 72 69 wri
000050: 74 65 68 65 78 28 63 68 2C 32 29 0D 0A 20 20 20 tehex(ch,2)..
000060: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
000070: 20 20 20 20 20 77 72 63 68 28 27 20 27 29 0D 0A wrch(' ')..
000080: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
000090: 20 20 20 20 20 20 20 20 49 46 20 62 79 74 65 3D IF byte=
0000A0: 37 20 74 68 65 6E 20 77 72 63 68 28 27 20 27 29 7 then wrch(' ')
0000B0: 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ..
0000C0: 20 20 20 20 20 20 20 20 20 20 61 73 63 69 69 25 ascii%
0000D0: 61 73 63 70 74 72 20 3A 3D 20 28 33 31 3C 63 68 ascptr := (31<ch
0000E0: 3C 31 32 38 29 20 2D 3E 20 63 68 20 2C 20 27 2E <128) -> ch , '.
0000F0: 27 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 20 '..
000100: 20 20 20 20 20 20 20 20 20 20 20 61 73 63 70 74 ascpt
000110: 72 20 3A 3D 20 61 73 63 70 74 72 20 2B 20 31 0D r := ascptr + 1.
000120: 0A 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .
000130: 20 24 29 0D 0A 20 20 20 20 20 20 20 20 20 20 20 $)..
000140: 20 20 20 20 20 77 72 63 68 28 27 20 27 29 0D 0A wrch(' ')..
000150: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
000160: 77 72 69 74 65 73 28 61 73 63 69 69 29 0D 0A 20 writes(ascii)..
000170: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6E n
000180: 65 77 6C 69 6E 65 28 29 0D 0A 20 20 20 20 20 20 ewline()..
000190: 20 20 24 29 0D 0A 24 29 0D 0A 1A 31 30 2F 31 39 $)..$)...10/19
0001A0: 38 36 20 2A 2F 0D 0A 0D 0A 2F 2A 20 20 20 20 20 86 */..../*
0001B0: 20 64 65 62 75 67 28 6F 70 74 2C 6E 2C 64 31 2C debug(opt,n,d1,
0001C0: 64 32 2C 64 33 2C 64 34 2C 64 35 2C 64 36 2C 64 d2,d3,d4,d5,d6,d
0001D0: 37 2C 64 38 2C 64 39 2C 64 31 30 2C 64 31 31 2C 7,d8,d9,d10,d11,
0001E0: 64 31 32 29 0D 0A 0D 0A 20 20 20 20 20 20 20 20 d12)....
0001F0: 54 68 65 20 66 69 72 73 74 20 70 61 72 61 6D 65 The first parame
Size : 512 (Real : 512)
000000: 31 34 20 4E 20 53 20 22 5E 27 23 46 30 27 22 20 14 N S "^'#F0'"
000010: 63 75 72 73 6F 72 20 75 70 20 20 20 20 20 20 20 cursor up
000020: 20 20 20 20 4B 65 79 20 64 65 66 69 6E 69 74 69 Key definiti
000030: 6F 6E 73 20 66 6F 72 20 42 43 50 4C 20 65 64 69 ons for BCPL edi
000040: 74 6F 72 20 6F 6E 20 50 43 57 0D 0A 31 34 20 41 tor on PCW..14 A
000050: 20 22 5E 27 23 46 38 27 22 20 61 6C 74 2D 63 75 "^'#F8'" alt-cu
000060: 72 73 6F 72 20 75 70 0D 0A 36 20 4E 20 53 20 22 rsor up..6 N S "
000070: 5E 27 23 46 33 27 22 20 63 75 72 73 6F 72 20 72 ^'#F3'" cursor r
000080: 69 67 68 74 0D 0A 36 20 41 20 22 5E 27 23 46 42 ight..6 A "^'#FB
000090: 27 22 20 20 61 6C 74 2D 63 75 72 73 6F 72 20 72 '" alt-cursor r
0000A0: 69 67 68 74 0D 0A 37 39 20 4E 20 53 20 22 5E 27 ight..79 N S "^'
0000B0: 23 46 31 27 22 20 63 75 72 73 6F 72 20 64 6F 77 #F1'" cursor dow
0000C0: 6E 0D 0A 37 39 20 41 20 22 5E 27 23 46 39 27 22 n..79 A "^'#F9'"
0000D0: 20 61 6C 74 2D 63 75 72 73 6F 72 20 64 6F 77 6E alt-cursor down
0000E0: 0D 0A 31 35 20 4E 20 53 20 22 5E 27 23 46 32 27 ..15 N S "^'#F2'
0000F0: 22 20 63 75 72 73 6F 72 20 6C 65 66 74 0D 0A 31 " cursor left..1
000100: 35 20 41 20 22 5E 27 23 46 41 27 22 20 61 6C 74 5 A "^'#FA'" alt
000110: 2D 63 75 72 73 6F 72 20 6C 65 66 74 0D 0A 36 36 -cursor left..66
000120: 20 4E 20 22 5E 27 23 46 43 27 22 20 73 74 6F 70 N "^'#FC'" stop
000130: 0D 0A 32 36 20 41 20 22 5E 27 32 37 27 22 20 61 ..26 A "^'27'" a
000140: 6C 74 2D 5B 0D 0A 31 37 20 41 20 22 5E 27 32 39 lt-[..17 A "^'29
000150: 27 22 20 61 6C 74 2D 5D 0D 0A 0D 0A 1A 46 42 27 '" alt-].....FB'
000160: 22 20 20 61 6C 74 2D 63 75 72 73 6F 72 20 72 69 " alt-cursor ri
000170: 67 68 74 0D 0A 37 39 20 4E 20 53 20 22 5E 27 23 ght..79 N S "^'#
000180: 65 77 6C 69 6E 65 28 29 0D 0A 20 20 20 20 20 20 ewline()..
000190: 20 20 24 29 0D 0A 24 29 0D 0A 1A 31 30 2F 31 39 $)..$)...10/19
0001A0: 38 36 20 2A 2F 0D 0A 0D 0A 2F 2A 20 20 20 20 20 86 */..../*
0001B0: 20 64 65 62 75 67 28 6F 70 74 2C 6E 2C 64 31 2C debug(opt,n,d1,
0001C0: 64 32 2C 64 33 2C 64 34 2C 64 35 2C 64 36 2C 64 d2,d3,d4,d5,d6,d
0001D0: 37 2C 64 38 2C 64 39 2C 64 31 30 2C 64 31 31 2C 7,d8,d9,d10,d11,
0001E0: 64 31 32 29 0D 0A 0D 0A 20 20 20 20 20 20 20 20 d12)....
0001F0: 54 68 65 20 66 69 72 73 74 20 70 61 72 61 6D 65 The first parame
Size : 512 (Real : 512)
000000: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000010: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000020: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000030: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000040: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000050: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000060: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000070: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000080: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000090: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0000A0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0000B0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0000C0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0000D0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0000E0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0000F0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000100: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000110: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000120: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000130: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000140: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000150: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000160: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000170: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000180: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000190: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0001A0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0001B0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0001C0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0001D0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0001E0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0001F0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
Size : 512 (Real : 512)
000000: 0D 0A 2F 2A 20 54 68 69 73 20 69 73 20 61 20 42 ../* This is a B
000010: 43 50 4C 20 62 65 61 75 74 69 66 69 65 72 2E 20 CPL beautifier.
000020: 49 74 20 77 69 6C 6C 20 74 75 72 6E 20 61 6C 6C It will turn all
000030: 20 6B 65 79 77 6F 72 64 73 20 69 6E 74 6F 20 75 keywords into u
000040: 70 70 65 72 20 63 61 73 65 20 61 6E 64 0D 0A 20 pper case and..
000050: 20 20 61 6C 6C 20 69 64 65 6E 74 69 66 69 65 72 all identifier
000060: 73 20 69 6E 74 6F 20 6C 6F 77 65 72 20 63 61 73 s into lower cas
000070: 65 20 2A 2F 0D 0A 0D 0A 2F 2F 20 6D 6F 64 69 66 e */....// modif
000080: 69 65 64 20 33 30 2F 31 30 2F 31 39 38 36 0D 0A ied 30/10/1986..
000090: 0D 0A 2F 2A 20 72 65 61 64 20 69 6E 20 74 68 65 ../* read in the
0000A0: 20 73 74 61 6E 64 61 72 64 20 6C 69 62 72 61 72 standard librar
0000B0: 79 20 68 65 61 64 65 72 20 2A 2F 0D 0A 0D 0A 4F y header */....O
0000C0: 50 54 49 4F 4E 20 42 2D 0D 0A 0D 0A 47 45 54 20 PTION B-....GET
0000D0: 22 63 6C 69 62 68 64 72 22 0D 0A 0D 0A 4F 50 54 "clibhdr"....OPT
0000E0: 49 4F 4E 20 42 2B 0D 0A 0D 0A 4D 41 4E 49 46 45 ION B+....MANIFE
0000F0: 53 54 0D 0A 24 28 0D 0A 20 20 69 6E 64 65 6E 74 ST..$(.. indent
000100: 73 69 7A 65 20 3D 20 32 0D 0A 20 20 63 6F 6D 6D size = 2.. comm
000110: 65 6E 74 73 20 3D 20 33 35 0D 0A 24 29 0D 0A 0D ents = 35..$)...
000120: 0A 0D 0A 47 4C 4F 42 41 4C 0D 0A 24 28 0D 0A 20 ...GLOBAL..$(..
000130: 20 6B 65 79 77 6F 72 64 73 3A 20 30 0D 0A 20 20 keywords: 0..
000140: 69 6E 70 75 74 3A 20 31 0D 0A 20 20 6F 75 74 70 input: 1.. outp
000150: 75 74 3A 20 32 0D 0A 20 20 65 72 72 76 65 63 3A ut: 2.. errvec:
000160: 20 33 0D 0A 20 20 65 72 72 6F 72 3A 20 34 0D 0A 3.. error: 4..
000170: 20 20 6C 61 73 74 63 68 72 3A 20 35 0D 0A 20 20 lastchr: 5..
000180: 6B 65 79 65 6E 64 3A 20 36 0D 0A 24 29 0D 0A 0D keyend: 6..$)...
000190: 0A 53 54 41 54 49 43 0D 0A 24 28 0D 0A 20 20 69 .STATIC..$(.. i
0001A0: 6E 64 65 6E 74 20 3D 20 30 0D 0A 20 20 6E 6C 64 ndent = 0.. nld
0001B0: 6F 6E 65 20 3D 20 54 52 55 45 0D 0A 20 20 69 64 one = TRUE.. id
0001C0: 66 6C 61 67 20 3D 20 46 41 4C 53 45 0D 0A 20 20 flag = FALSE..
0001D0: 63 6F 6C 75 6D 6E 20 3D 20 30 0D 0A 24 29 0D 0A column = 0..$)..
0001E0: 0D 0A 4C 45 54 20 65 72 72 28 6D 65 73 73 61 67 ..LET err(messag
0001F0: 65 29 20 42 45 0D 0A 0D 0A 24 28 0D 0A 20 20 6E e) BE....$(.. n
Size : 512 (Real : 512)
000000: 65 77 6C 69 6E 65 28 29 0D 0A 20 20 77 72 69 74 ewline().. writ
000010: 65 73 28 6D 65 73 73 61 67 65 29 0D 0A 20 20 6E es(message).. n
000020: 65 77 6C 69 6E 65 28 29 0D 0A 20 20 6C 6F 6E 67 ewline().. long
000030: 6A 75 6D 70 28 65 72 72 6F 72 2C 20 65 72 72 76 jump(error, errv
000040: 65 63 29 0D 0A 24 29 0D 0A 0D 0A 0D 0A 4C 45 54 ec)..$)......LET
000050: 20 73 70 61 63 65 28 63 68 61 72 29 20 3D 20 28 space(char) = (
000060: 20 63 68 61 72 3D 27 20 27 20 7C 20 63 68 61 72 char=' ' | char
000070: 3D 39 20 29 0D 0A 0D 0A 4C 45 54 20 72 61 77 63 =9 )....LET rawc
000080: 68 72 28 29 20 3D 20 56 41 4C 4F 46 0D 0A 0D 0A hr() = VALOF....
000090: 24 28 0D 0A 20 20 4C 45 54 20 74 65 6D 70 20 3D $(.. LET temp =
0000A0: 20 72 65 61 64 63 68 28 69 6E 70 75 74 29 0D 0A readch(input)..
0000B0: 20 20 57 48 49 4C 45 20 74 65 6D 70 20 3D 20 31 WHILE temp = 1
0000C0: 30 20 44 4F 20 74 65 6D 70 20 3A 3D 20 72 65 61 0 DO temp := rea
0000D0: 64 63 68 28 69 6E 70 75 74 29 0D 0A 20 20 49 46 dch(input).. IF
0000E0: 20 6C 61 73 74 63 68 72 20 3D 20 65 6E 64 73 74 lastchr = endst
0000F0: 72 65 61 6D 63 68 20 4C 4F 47 41 4E 44 20 74 65 reamch LOGAND te
000100: 6D 70 20 3D 20 65 6E 64 73 74 72 65 61 6D 63 68 mp = endstreamch
000110: 20 54 48 45 4E 20 65 72 72 28 22 55 6E 65 78 70 THEN err("Unexp
000120: 65 63 74 65 64 20 45 4F 46 22 29 0D 0A 20 20 6C ected EOF").. l
000130: 61 73 74 63 68 72 20 3A 3D 20 74 65 6D 70 0D 0A astchr := temp..
000140: 20 20 52 45 53 55 4C 54 49 53 20 6C 61 73 74 63 RESULTIS lastc
000150: 68 72 0D 0A 24 29 0D 0A 0D 0A 0D 0A 4C 45 54 20 hr..$)......LET
000160: 67 65 74 63 68 72 28 29 20 3D 20 56 41 4C 4F 46 getchr() = VALOF
000170: 0D 0A 0D 0A 24 28 0D 0A 20 20 72 61 77 63 68 72 ....$(.. rawchr
000180: 28 29 0D 0A 20 20 49 46 20 27 41 27 20 3C 3D 20 ().. IF 'A' <=
000190: 6C 61 73 74 63 68 72 20 3C 3D 20 27 5A 27 20 54 lastchr <= 'Z' T
0001A0: 48 45 4E 20 6C 61 73 74 63 68 72 20 3A 3D 20 6C HEN lastchr := l
0001B0: 61 73 74 63 68 72 20 2B 20 33 32 0D 0A 20 20 52 astchr + 32.. R
0001C0: 45 53 55 4C 54 49 53 20 6C 61 73 74 63 68 72 0D ESULTIS lastchr.
0001D0: 0A 24 29 0D 0A 0D 0A 0D 0A 4C 45 54 20 6F 75 74 .$)......LET out
0001E0: 28 63 68 61 72 61 63 74 65 72 29 20 42 45 0D 0A (character) BE..
0001F0: 0D 0A 24 28 0D 0A 20 20 55 4E 4C 45 53 53 20 6E ..$(.. UNLESS n
Size : 512 (Real : 512)
000000: 6C 64 6F 6E 65 20 4C 4F 47 4F 52 20 63 68 61 72 ldone LOGOR char
000010: 61 63 74 65 72 20 3D 20 31 33 20 54 48 45 4E 0D acter = 13 THEN.
000020: 0A 20 20 24 28 0D 0A 20 20 20 20 6E 6C 64 6F 6E . $(.. nldon
000030: 65 20 3A 3D 20 54 52 55 45 0D 0A 20 20 20 20 46 e := TRUE.. F
000040: 4F 52 20 73 70 61 63 65 20 3D 20 31 20 54 4F 20 OR space = 1 TO
000050: 69 6E 64 65 6E 74 20 6F 75 74 28 27 20 27 29 0D indent out(' ').
000060: 0A 20 20 24 29 0D 0A 20 20 54 45 53 54 20 63 68 . $).. TEST ch
000070: 61 72 61 63 74 65 72 20 3D 20 31 33 20 54 48 45 aracter = 13 THE
000080: 4E 0D 0A 20 20 24 28 0D 0A 20 20 20 20 6E 65 77 N.. $(.. new
000090: 6C 69 6E 65 28 29 0D 0A 20 20 20 20 77 72 69 74 line().. writ
0000A0: 65 63 68 28 31 33 2C 6F 75 74 70 75 74 29 0D 0A ech(13,output)..
0000B0: 20 20 20 20 77 72 69 74 65 63 68 28 31 30 2C 6F writech(10,o
0000C0: 75 74 70 75 74 29 0D 0A 0D 0A 20 20 20 20 6E 6C utput).... nl
0000D0: 64 6F 6E 65 20 3A 3D 20 46 41 4C 53 45 0D 0A 20 done := FALSE..
0000E0: 20 20 20 69 64 66 6C 61 67 20 3A 3D 20 46 41 4C idflag := FAL
0000F0: 53 45 0D 0A 20 20 20 20 63 6F 6C 75 6D 6E 20 3A SE.. column :
000100: 3D 20 30 0D 0A 20 20 24 29 0D 0A 20 20 45 4C 53 = 0.. $).. ELS
000110: 45 0D 0A 20 20 24 28 0D 0A 20 20 20 20 63 6F 6C E.. $(.. col
000120: 75 6D 6E 20 3A 3D 20 63 6F 6C 75 6D 6E 20 2B 20 umn := column +
000130: 31 0D 0A 20 20 20 20 77 72 63 68 28 63 68 61 72 1.. wrch(char
000140: 61 63 74 65 72 29 0D 0A 20 20 20 20 77 72 69 74 acter).. writ
000150: 65 63 68 28 63 68 61 72 61 63 74 65 72 2C 6F 75 ech(character,ou
000160: 74 70 75 74 29 0D 0A 20 20 24 29 0D 0A 24 29 0D tput).. $)..$).
000170: 0A 0D 0A 0D 0A 4C 45 54 20 68 65 78 76 61 6C 28 .....LET hexval(
000180: 63 68 61 72 29 20 3D 20 56 41 4C 4F 46 0D 0A 0D char) = VALOF...
000190: 0A 24 28 0D 0A 20 20 54 45 53 54 20 27 30 27 20 .$(.. TEST '0'
0001A0: 3C 3D 20 63 68 61 72 20 3C 3D 20 27 39 27 20 54 <= char <= '9' T
0001B0: 48 45 4E 20 52 45 53 55 4C 54 49 53 20 63 68 61 HEN RESULTIS cha
0001C0: 72 20 2D 20 27 30 27 0D 0A 20 20 45 4C 53 45 20 r - '0'.. ELSE
0001D0: 54 45 53 54 20 27 61 27 20 3C 3D 20 63 68 61 72 TEST 'a' <= char
0001E0: 20 3C 3D 20 27 66 27 20 54 48 45 4E 20 52 45 53 <= 'f' THEN RES
0001F0: 55 4C 54 49 53 20 63 68 61 72 20 2D 20 27 61 27 ULTIS char - 'a'
Size : 512 (Real : 512)
000000: 20 2B 20 31 30 0D 0A 20 20 45 4C 53 45 20 52 45 + 10.. ELSE RE
000010: 53 55 4C 54 49 53 20 31 30 30 0D 0A 24 29 0D 0A SULTIS 100..$)..
000020: 0D 0A 0D 0A 4C 45 54 20 72 65 61 64 6E 75 6D 28 ....LET readnum(
000030: 62 61 73 65 2C 20 66 69 72 73 74 29 20 42 45 0D base, first) BE.
000040: 0A 0D 0A 24 28 0D 0A 20 20 57 48 49 4C 45 20 68 ...$(.. WHILE h
000050: 65 78 76 61 6C 28 66 69 72 73 74 29 20 3C 20 62 exval(first) < b
000060: 61 73 65 20 44 4F 0D 0A 20 20 24 28 0D 0A 20 20 ase DO.. $(..
000070: 20 20 6F 75 74 28 68 65 78 76 61 6C 28 66 69 72 out(hexval(fir
000080: 73 74 29 20 3C 20 31 30 20 2D 3E 20 66 69 72 73 st) < 10 -> firs
000090: 74 2C 20 66 69 72 73 74 20 2D 20 33 32 29 0D 0A t, first - 32)..
0000A0: 20 20 20 20 66 69 72 73 74 20 3A 3D 20 67 65 74 first := get
0000B0: 63 68 72 28 29 0D 0A 20 20 24 29 0D 0A 20 20 69 chr().. $).. i
0000C0: 64 66 6C 61 67 20 3A 3D 20 32 0D 0A 24 29 0D 0A dflag := 2..$)..
0000D0: 0D 0A 0D 0A 4C 45 54 20 73 74 72 69 6E 67 73 61 ....LET stringsa
0000E0: 6D 65 28 73 74 72 69 6E 67 31 2C 20 73 74 72 69 me(string1, stri
0000F0: 6E 67 32 29 20 3D 20 56 41 4C 4F 46 0D 0A 0D 0A ng2) = VALOF....
000100: 24 28 0D 0A 20 20 49 46 20 21 73 74 72 69 6E 67 $(.. IF !string
000110: 31 20 4E 45 20 21 73 74 72 69 6E 67 32 20 54 48 1 NE !string2 TH
000120: 45 4E 20 52 45 53 55 4C 54 49 53 20 46 41 4C 53 EN RESULTIS FALS
000130: 45 0D 0A 20 20 46 4F 52 20 70 74 72 20 3D 20 31 E.. FOR ptr = 1
000140: 20 54 4F 20 21 73 74 72 69 6E 67 31 0D 0A 20 20 TO !string1..
000150: 49 46 20 73 74 72 69 6E 67 31 21 70 74 72 20 4E IF string1!ptr N
000160: 45 20 73 74 72 69 6E 67 32 21 70 74 72 20 54 48 E string2!ptr TH
000170: 45 4E 20 52 45 53 55 4C 54 49 53 20 46 41 4C 53 EN RESULTIS FALS
000180: 45 0D 0A 20 20 52 45 53 55 4C 54 49 53 20 54 52 E.. RESULTIS TR
000190: 55 45 0D 0A 24 29 0D 0A 0D 0A 0D 0A 4C 45 54 20 UE..$)......LET
0001A0: 73 79 73 77 6F 72 64 28 77 6F 72 64 29 20 3D 20 sysword(word) =
0001B0: 56 41 4C 4F 46 0D 0A 0D 0A 24 28 0D 0A 20 20 4C VALOF....$(.. L
0001C0: 45 54 20 73 74 61 72 74 20 3D 20 6B 65 79 77 6F ET start = keywo
0001D0: 72 64 73 0D 0A 20 20 57 48 49 4C 45 20 73 74 61 rds.. WHILE sta
0001E0: 72 74 20 3C 20 6B 65 79 65 6E 64 20 44 4F 0D 0A rt < keyend DO..
0001F0: 20 20 24 28 0D 0A 20 20 20 20 49 46 20 73 74 72 $(.. IF str
Size : 512 (Real : 512)
000000: 69 6E 67 73 61 6D 65 28 73 74 61 72 74 20 2B 20 ingsame(start +
000010: 31 2C 20 77 6F 72 64 29 20 54 48 45 4E 20 52 45 1, word) THEN RE
000020: 53 55 4C 54 49 53 20 73 74 61 72 74 0D 0A 20 20 SULTIS start..
000030: 20 20 73 74 61 72 74 20 3A 3D 20 73 74 61 72 74 start := start
000040: 20 2B 20 73 74 61 72 74 21 31 20 2B 20 32 0D 0A + start!1 + 2..
000050: 20 20 24 29 0D 0A 20 20 52 45 53 55 4C 54 49 53 $).. RESULTIS
000060: 20 46 41 4C 53 45 0D 0A 24 29 0D 0A 0D 0A 0D 0A FALSE..$)......
000070: 4C 45 54 20 69 64 73 70 61 63 65 28 29 20 42 45 LET idspace() BE
000080: 0D 0A 0D 0A 24 28 0D 0A 20 20 49 46 20 69 64 66 ....$(.. IF idf
000090: 6C 61 67 20 54 48 45 4E 20 6F 75 74 28 27 20 27 lag THEN out(' '
0000A0: 29 0D 0A 24 29 0D 0A 0D 0A 0D 0A 4C 45 54 20 77 )..$)......LET w
0000B0: 72 69 74 65 77 6F 72 64 28 77 6F 72 64 29 20 42 riteword(word) B
0000C0: 45 0D 0A 0D 0A 24 28 0D 0A 20 20 4C 45 54 20 70 E....$(.. LET p
0000D0: 74 72 2C 20 69 64 66 20 3D 20 73 79 73 77 6F 72 tr, idf = syswor
0000E0: 64 28 77 6F 72 64 29 2C 20 31 0D 0A 20 20 54 45 d(word), 1.. TE
0000F0: 53 54 20 70 74 72 20 54 48 45 4E 0D 0A 20 20 24 ST ptr THEN.. $
000100: 28 0D 0A 20 20 20 20 49 46 20 21 70 74 72 20 4C (.. IF !ptr L
000110: 4F 47 4F 52 20 69 64 66 6C 61 67 20 54 48 45 4E OGOR idflag THEN
000120: 20 6F 75 74 28 27 20 27 29 0D 0A 20 20 20 20 46 out(' ').. F
000130: 4F 52 20 63 70 74 72 20 3D 20 31 20 54 4F 20 77 OR cptr = 1 TO w
000140: 6F 72 64 21 30 20 6F 75 74 28 77 6F 72 64 21 63 ord!0 out(word!c
000150: 70 74 72 20 2D 20 33 32 29 0D 0A 20 20 20 20 49 ptr - 32).. I
000160: 46 20 21 70 74 72 20 54 48 45 4E 0D 0A 20 20 20 F !ptr THEN..
000170: 20 24 28 0D 0A 20 20 20 20 20 20 6F 75 74 28 27 $(.. out('
000180: 20 27 29 0D 0A 20 20 20 20 20 20 69 64 66 20 3A ').. idf :
000190: 3D 20 30 0D 0A 20 20 20 20 24 29 0D 0A 20 20 24 = 0.. $).. $
0001A0: 29 0D 0A 20 20 45 4C 53 45 0D 0A 20 20 24 28 0D ).. ELSE.. $(.
0001B0: 0A 20 20 20 20 69 64 73 70 61 63 65 28 29 0D 0A . idspace()..
0001C0: 20 20 20 20 46 4F 52 20 70 74 72 20 3D 20 31 20 FOR ptr = 1
0001D0: 54 4F 20 77 6F 72 64 21 30 20 44 4F 20 6F 75 74 TO word!0 DO out
0001E0: 28 77 6F 72 64 21 70 74 72 29 0D 0A 20 20 20 20 (word!ptr)..
0001F0: 69 64 66 20 3A 3D 20 32 0D 0A 20 20 24 29 0D 0A idf := 2.. $)..
Size : 512 (Real : 512)
000000: 20 20 69 64 66 6C 61 67 20 3A 3D 20 69 64 66 0D idflag := idf.
000010: 0A 24 29 0D 0A 0D 0A 0D 0A 4C 45 54 20 69 64 65 .$)......LET ide
000020: 6E 74 28 29 20 42 45 0D 0A 0D 0A 24 28 0D 0A 20 nt() BE....$(..
000030: 20 4C 45 54 20 77 6F 72 64 62 75 66 66 20 3D 20 LET wordbuff =
000040: 56 45 43 20 32 30 0D 0A 20 20 4C 45 54 20 77 70 VEC 20.. LET wp
000050: 74 72 20 3D 20 30 0D 0A 20 20 57 48 49 4C 45 20 tr = 0.. WHILE
000060: 27 61 27 20 3C 3D 20 6C 61 73 74 63 68 72 20 3C 'a' <= lastchr <
000070: 3D 20 27 7A 27 20 4C 4F 47 4F 52 20 27 30 27 20 = 'z' LOGOR '0'
000080: 3C 3D 20 6C 61 73 74 63 68 72 20 3C 3D 20 27 39 <= lastchr <= '9
000090: 27 20 44 4F 0D 0A 20 20 24 28 0D 0A 20 20 20 20 ' DO.. $(..
0000A0: 77 70 74 72 20 3A 3D 20 77 70 74 72 20 2B 20 31 wptr := wptr + 1
0000B0: 0D 0A 20 20 20 20 77 6F 72 64 62 75 66 66 21 77 .. wordbuff!w
0000C0: 70 74 72 20 3A 3D 20 6C 61 73 74 63 68 72 0D 0A ptr := lastchr..
0000D0: 20 20 20 20 67 65 74 63 68 72 28 29 0D 0A 20 20 getchr()..
0000E0: 24 29 0D 0A 20 20 77 6F 72 64 62 75 66 66 21 30 $).. wordbuff!0
0000F0: 20 3A 3D 20 77 70 74 72 0D 0A 20 20 77 72 69 74 := wptr.. writ
000100: 65 77 6F 72 64 28 77 6F 72 64 62 75 66 66 29 0D eword(wordbuff).
000110: 0A 24 29 0D 0A 0D 0A 0D 0A 4C 45 54 20 73 74 72 .$)......LET str
000120: 63 68 72 28 29 20 42 45 0D 0A 0D 0A 24 28 0D 0A chr() BE....$(..
000130: 20 20 54 45 53 54 20 6C 61 73 74 63 68 72 20 3D TEST lastchr =
000140: 20 27 2A 2A 27 20 54 48 45 4E 0D 0A 20 20 24 28 '**' THEN.. $(
000150: 0D 0A 20 20 20 20 6F 75 74 28 27 2A 2A 27 29 0D .. out('**').
000160: 0A 20 20 20 20 6F 75 74 28 72 61 77 63 68 72 28 . out(rawchr(
000170: 29 29 0D 0A 20 20 24 29 0D 0A 20 20 45 4C 53 45 )).. $).. ELSE
000180: 20 6F 75 74 28 6C 61 73 74 63 68 72 29 0D 0A 20 out(lastchr)..
000190: 20 72 61 77 63 68 72 28 29 0D 0A 24 29 0D 0A 0D rawchr()..$)...
0001A0: 0A 0D 0A 4C 45 54 20 63 6F 6E 64 6E 6C 28 29 20 ...LET condnl()
0001B0: 42 45 0D 0A 0D 0A 24 28 0D 0A 20 20 49 46 20 6E BE....$(.. IF n
0001C0: 6C 64 6F 6E 65 20 54 48 45 4E 20 6F 75 74 28 31 ldone THEN out(1
0001D0: 33 29 0D 0A 24 29 0D 0A 0D 0A 0D 0A 0D 0A 4C 45 3)..$)........LE
0001E0: 54 20 70 75 6E 63 74 75 61 74 65 28 29 20 42 45 T punctuate() BE
0001F0: 0D 0A 0D 0A 24 28 0D 0A 20 20 4C 45 54 20 74 65 ....$(.. LET te
Size : 512 (Real : 512)
000000: 6D 70 20 3D 20 30 0D 0A 20 20 53 57 49 54 43 48 mp = 0.. SWITCH
000010: 4F 4E 20 6C 61 73 74 63 68 72 20 49 4E 54 4F 0D ON lastchr INTO.
000020: 0A 20 20 24 28 0D 0A 20 20 20 20 43 41 53 45 20 . $(.. CASE
000030: 27 24 27 3A 0D 0A 20 20 20 20 63 6F 6E 64 6E 6C '$':.. condnl
000040: 28 29 0D 0A 20 20 20 20 74 65 6D 70 20 3A 3D 20 ().. temp :=
000050: 67 65 74 63 68 72 28 29 0D 0A 20 20 20 20 67 65 getchr().. ge
000060: 74 63 68 72 28 29 0D 0A 20 20 20 20 54 45 53 54 tchr().. TEST
000070: 20 74 65 6D 70 20 3D 20 27 28 27 20 54 48 45 4E temp = '(' THEN
000080: 0D 0A 20 20 20 20 24 28 0D 0A 20 20 20 20 20 20 .. $(..
000090: 6F 75 74 28 27 24 27 29 0D 0A 20 20 20 20 20 20 out('$')..
0000A0: 6F 75 74 28 27 28 27 29 0D 0A 20 20 20 20 20 20 out('(')..
0000B0: 69 64 65 6E 74 28 29 0D 0A 20 20 20 20 20 20 69 ident().. i
0000C0: 6E 64 65 6E 74 20 3A 3D 20 69 6E 64 65 6E 74 20 ndent := indent
0000D0: 2B 20 69 6E 64 65 6E 74 73 69 7A 65 0D 0A 20 20 + indentsize..
0000E0: 20 20 24 29 0D 0A 20 20 20 20 45 4C 53 45 0D 0A $).. ELSE..
0000F0: 20 20 20 20 24 28 0D 0A 20 20 20 20 20 20 69 6E $(.. in
000100: 64 65 6E 74 20 3A 3D 20 69 6E 64 65 6E 74 20 2D dent := indent -
000110: 20 69 6E 64 65 6E 74 73 69 7A 65 0D 0A 20 20 20 indentsize..
000120: 20 20 20 6F 75 74 28 27 24 27 29 0D 0A 20 20 20 out('$')..
000130: 20 20 20 6F 75 74 28 27 29 27 29 0D 0A 20 20 20 out(')')..
000140: 20 20 20 69 64 65 6E 74 28 29 0D 0A 20 20 20 20 ident()..
000150: 24 29 0D 0A 20 20 20 20 55 4E 4C 45 53 53 20 6C $).. UNLESS l
000160: 61 73 74 63 68 72 20 3D 20 31 33 20 54 48 45 4E astchr = 13 THEN
000170: 20 6F 75 74 28 31 33 29 0D 0A 20 20 20 20 45 4E out(13).. EN
000180: 44 43 41 53 45 0D 0A 20 20 20 20 43 41 53 45 20 DCASE.. CASE
000190: 27 3B 27 3A 0D 0A 20 20 20 20 6F 75 74 28 31 33 ';':.. out(13
0001A0: 29 0D 0A 20 20 20 20 67 65 74 63 68 72 28 29 0D ).. getchr().
0001B0: 0A 20 20 20 20 45 4E 44 43 41 53 45 0D 0A 20 20 . ENDCASE..
0001C0: 20 20 43 41 53 45 20 27 22 27 3A 0D 0A 20 20 20 CASE '"':..
0001D0: 20 69 64 73 70 61 63 65 28 29 0D 0A 20 20 20 20 idspace()..
0001E0: 6F 75 74 28 27 22 27 29 0D 0A 20 20 20 20 72 61 out('"').. ra
0001F0: 77 63 68 72 28 29 0D 0A 20 20 20 20 55 4E 54 49 wchr().. UNTI
Size : 512 (Real : 512)
000000: 4C 20 6C 61 73 74 63 68 72 20 3D 20 27 22 27 20 L lastchr = '"'
000010: 73 74 72 63 68 72 28 29 0D 0A 20 20 20 20 6F 75 strchr().. ou
000020: 74 28 27 22 27 29 0D 0A 20 20 20 20 67 65 74 63 t('"').. getc
000030: 68 72 28 29 0D 0A 20 20 20 20 69 64 66 6C 61 67 hr().. idflag
000040: 20 3A 3D 20 32 0D 0A 20 20 20 20 52 45 54 55 52 := 2.. RETUR
000050: 4E 0D 0A 20 20 20 20 43 41 53 45 20 27 3C 27 3A N.. CASE '<':
000060: 20 43 41 53 45 20 27 3E 27 3A 0D 0A 20 20 20 20 CASE '>':..
000070: 74 65 6D 70 20 3A 3D 20 6C 61 73 74 63 68 72 0D temp := lastchr.
000080: 0A 20 20 20 20 67 65 74 63 68 72 28 29 0D 0A 20 . getchr()..
000090: 20 20 20 6F 75 74 28 27 20 27 29 0D 0A 20 20 20 out(' ')..
0000A0: 20 54 45 53 54 20 6C 61 73 74 63 68 72 20 3D 20 TEST lastchr =
0000B0: 27 3D 27 20 4C 4F 47 4F 52 20 6C 61 73 74 63 68 '=' LOGOR lastch
0000C0: 72 20 3D 20 74 65 6D 70 20 54 48 45 4E 0D 0A 20 r = temp THEN..
0000D0: 20 20 20 24 28 0D 0A 20 20 20 20 20 20 6F 75 74 $(.. out
0000E0: 28 74 65 6D 70 29 0D 0A 20 20 20 20 20 20 6F 75 (temp).. ou
0000F0: 74 28 6C 61 73 74 63 68 72 29 0D 0A 20 20 20 20 t(lastchr)..
000100: 20 20 67 65 74 63 68 72 28 29 0D 0A 20 20 20 20 getchr()..
000110: 24 29 0D 0A 20 20 20 20 45 4C 53 45 20 6F 75 74 $).. ELSE out
000120: 28 74 65 6D 70 29 0D 0A 20 20 20 20 6F 75 74 28 (temp).. out(
000130: 27 20 27 29 0D 0A 20 20 20 20 45 4E 44 43 41 53 ' ').. ENDCAS
000140: 45 0D 0A 20 20 20 20 43 41 53 45 20 27 3A 27 3A E.. CASE ':':
000150: 0D 0A 20 20 20 20 54 45 53 54 20 67 65 74 63 68 .. TEST getch
000160: 72 28 29 20 3D 20 27 3D 27 20 54 48 45 4E 0D 0A r() = '=' THEN..
000170: 20 20 20 20 24 28 0D 0A 20 20 20 20 20 20 6F 75 $(.. ou
000180: 74 28 27 20 27 29 0D 0A 20 20 20 20 20 20 6F 75 t(' ').. ou
000190: 74 28 27 3A 27 29 0D 0A 20 20 20 20 20 20 6F 75 t(':').. ou
0001A0: 74 28 27 3D 27 29 0D 0A 20 20 20 20 20 20 6F 75 t('=').. ou
0001B0: 74 28 27 20 27 29 0D 0A 20 20 20 20 20 20 67 65 t(' ').. ge
0001C0: 74 63 68 72 28 29 0D 0A 20 20 20 20 24 29 0D 0A tchr().. $)..
0001D0: 20 20 20 20 45 4C 53 45 0D 0A 20 20 20 20 24 28 ELSE.. $(
0001E0: 0D 0A 20 20 20 20 20 20 6F 75 74 28 27 3A 27 29 .. out(':')
0001F0: 0D 0A 20 20 20 20 20 20 69 64 66 6C 61 67 20 3A .. idflag :
Size : 512 (Real : 512)
000000: 3D 20 31 0D 0A 20 20 20 20 20 20 52 45 54 55 52 = 1.. RETUR
000010: 4E 0D 0A 20 20 20 20 24 29 0D 0A 20 20 20 20 45 N.. $).. E
000020: 4E 44 43 41 53 45 0D 0A 20 20 20 20 43 41 53 45 NDCASE.. CASE
000030: 20 27 2D 27 3A 0D 0A 20 20 20 20 6F 75 74 28 27 '-':.. out('
000040: 20 27 29 0D 0A 20 20 20 20 54 45 53 54 20 67 65 ').. TEST ge
000050: 74 63 68 72 28 29 20 3D 20 27 3E 27 20 54 48 45 tchr() = '>' THE
000060: 4E 0D 0A 20 20 20 20 24 28 0D 0A 20 20 20 20 20 N.. $(..
000070: 20 6F 75 74 28 27 2D 27 29 0D 0A 20 20 20 20 20 out('-')..
000080: 20 6F 75 74 28 27 3E 27 29 0D 0A 20 20 20 20 20 out('>')..
000090: 20 67 65 74 63 68 72 28 29 0D 0A 20 20 20 20 24 getchr().. $
0000A0: 29 0D 0A 20 20 20 20 45 4C 53 45 20 6F 75 74 28 ).. ELSE out(
0000B0: 27 2D 27 29 0D 0A 20 20 20 20 6F 75 74 28 27 20 '-').. out('
0000C0: 27 29 0D 0A 20 20 20 20 45 4E 44 43 41 53 45 0D ').. ENDCASE.
0000D0: 0A 20 20 20 20 43 41 53 45 20 27 2F 27 3A 0D 0A . CASE '/':..
0000E0: 20 20 20 20 67 65 74 63 68 72 28 29 0D 0A 20 20 getchr()..
0000F0: 20 20 54 45 53 54 20 6C 61 73 74 63 68 72 20 3D TEST lastchr =
000100: 20 27 2A 2A 27 20 54 48 45 4E 0D 0A 20 20 20 20 '**' THEN..
000110: 24 28 0D 0A 20 20 20 20 20 20 74 65 6D 70 20 3A $(.. temp :
000120: 3D 20 69 6E 64 65 6E 74 0D 0A 20 20 20 20 20 20 = indent..
000130: 69 6E 64 65 6E 74 20 3A 3D 20 30 0D 0A 20 20 20 indent := 0..
000140: 20 20 20 63 6F 6E 64 6E 6C 28 29 0D 0A 20 20 20 condnl()..
000150: 20 20 20 6F 75 74 28 27 2F 27 29 0D 0A 20 20 20 out('/')..
000160: 20 20 20 6F 75 74 28 27 2A 2A 27 29 0D 0A 20 20 out('**')..
000170: 20 20 20 20 72 61 77 63 68 72 28 29 0D 0A 20 20 rawchr()..
000180: 20 20 20 20 24 28 0D 0A 20 20 20 20 20 20 20 20 $(..
000190: 55 4E 54 49 4C 20 6C 61 73 74 63 68 72 20 3D 20 UNTIL lastchr =
0001A0: 27 2A 2A 27 20 44 4F 0D 0A 20 20 20 20 20 20 20 '**' DO..
0001B0: 20 24 28 0D 0A 20 20 20 20 20 20 20 20 20 20 6F $(.. o
0001C0: 75 74 28 6C 61 73 74 63 68 72 29 0D 0A 20 20 20 ut(lastchr)..
0001D0: 20 20 20 20 20 20 20 72 61 77 63 68 72 28 29 0D rawchr().
0001E0: 0A 20 20 20 20 20 20 20 20 24 29 0D 0A 20 20 20 . $)..
0001F0: 20 20 20 20 20 6F 75 74 28 27 2A 2A 27 29 0D 0A out('**')..
Size : 512 (Real : 512)
000000: 20 20 20 20 20 20 20 20 72 61 77 63 68 72 28 29 rawchr()
000010: 0D 0A 20 20 20 20 20 20 24 29 0D 0A 20 20 20 20 .. $)..
000020: 20 20 52 45 50 45 41 54 55 4E 54 49 4C 20 6C 61 REPEATUNTIL la
000030: 73 74 63 68 72 20 3D 20 27 2F 27 0D 0A 20 20 20 stchr = '/'..
000040: 20 20 20 6F 75 74 28 27 2F 27 29 0D 0A 20 20 20 out('/')..
000050: 20 20 20 6F 75 74 28 31 33 29 0D 0A 20 20 20 20 out(13)..
000060: 20 20 49 46 20 67 65 74 63 68 72 28 29 20 3D 20 IF getchr() =
000070: 31 33 20 54 48 45 4E 20 67 65 74 63 68 72 28 29 13 THEN getchr()
000080: 0D 0A 20 20 20 20 20 20 69 6E 64 65 6E 74 20 3A .. indent :
000090: 3D 20 74 65 6D 70 0D 0A 20 20 20 20 24 29 0D 0A = temp.. $)..
0000A0: 20 20 20 20 45 4C 53 45 20 54 45 53 54 20 6C 61 ELSE TEST la
0000B0: 73 74 63 68 72 20 3D 20 27 2F 27 20 54 48 45 4E stchr = '/' THEN
0000C0: 0D 0A 20 20 20 20 24 28 0D 0A 20 20 20 20 20 20 .. $(..
0000D0: 49 46 20 63 6F 6C 75 6D 6E 20 3E 20 63 6F 6D 6D IF column > comm
0000E0: 65 6E 74 73 20 54 48 45 4E 20 6F 75 74 28 31 33 ents THEN out(13
0000F0: 29 0D 0A 20 20 20 20 20 20 46 4F 52 20 61 20 3D ).. FOR a =
000100: 20 63 6F 6C 75 6D 6E 20 54 4F 20 63 6F 6D 6D 65 column TO comme
000110: 6E 74 73 20 6F 75 74 28 27 20 27 29 0D 0A 20 20 nts out(' ')..
000120: 20 20 20 20 6F 75 74 28 27 2F 27 29 0D 0A 20 20 out('/')..
000130: 20 20 20 20 24 28 0D 0A 20 20 20 20 20 20 20 20 $(..
000140: 6F 75 74 28 6C 61 73 74 63 68 72 29 0D 0A 20 20 out(lastchr)..
000150: 20 20 20 20 20 20 72 61 77 63 68 72 28 29 0D 0A rawchr()..
000160: 20 20 20 20 20 20 24 29 0D 0A 20 20 20 20 20 20 $)..
000170: 52 45 50 45 41 54 55 4E 54 49 4C 20 6C 61 73 74 REPEATUNTIL last
000180: 63 68 72 20 3D 20 31 33 0D 0A 20 20 20 20 20 20 chr = 13..
000190: 6F 75 74 28 31 33 29 0D 0A 0D 0A 20 20 20 20 20 out(13)....
0001A0: 20 49 46 20 67 65 74 63 68 72 28 29 20 3D 20 31 IF getchr() = 1
0001B0: 33 20 54 48 45 4E 20 67 65 74 63 68 72 28 29 0D 3 THEN getchr().
0001C0: 0A 20 20 20 20 24 29 0D 0A 20 20 20 20 45 4C 53 . $).. ELS
0001D0: 45 20 54 45 53 54 20 6C 61 73 74 63 68 72 20 3D E TEST lastchr =
0001E0: 20 27 5C 27 20 54 48 45 4E 0D 0A 20 20 20 20 24 '\' THEN.. $
0001F0: 28 0D 0A 20 20 20 20 20 20 6F 75 74 28 27 20 27 (.. out(' '
Size : 512 (Real : 512)
000000: 29 0D 0A 20 20 20 20 20 20 6F 75 74 28 27 2F 27 ).. out('/'
000010: 29 0D 0A 20 20 20 20 20 20 6F 75 74 28 27 5C 27 ).. out('\'
000020: 29 0D 0A 20 20 20 20 20 20 6F 75 74 28 27 20 27 ).. out(' '
000030: 29 0D 0A 20 20 20 20 20 20 67 65 74 63 68 72 28 ).. getchr(
000040: 29 0D 0A 20 20 20 20 24 29 0D 0A 20 20 20 20 45 ).. $).. E
000050: 4C 53 45 0D 0A 20 20 20 20 24 28 0D 0A 20 20 20 LSE.. $(..
000060: 20 20 20 6F 75 74 28 27 20 27 29 0D 0A 20 20 20 out(' ')..
000070: 20 20 20 6F 75 74 28 27 2F 27 29 0D 0A 20 20 20 out('/')..
000080: 20 20 20 6F 75 74 28 27 20 27 29 0D 0A 20 20 20 out(' ')..
000090: 20 24 29 0D 0A 20 20 20 20 45 4E 44 43 41 53 45 $).. ENDCASE
0000A0: 0D 0A 20 20 20 20 43 41 53 45 20 27 5C 27 3A 0D .. CASE '\':.
0000B0: 0A 20 20 20 20 67 65 74 63 68 72 28 29 0D 0A 20 . getchr()..
0000C0: 20 20 20 54 45 53 54 20 6C 61 73 74 63 68 72 20 TEST lastchr
0000D0: 3D 20 27 3D 27 20 4C 4F 47 4F 52 20 6C 61 73 74 = '=' LOGOR last
0000E0: 63 68 72 20 3D 20 27 2F 27 20 54 48 45 4E 0D 0A chr = '/' THEN..
0000F0: 20 20 20 20 24 28 0D 0A 20 20 20 20 20 20 6F 75 $(.. ou
000100: 74 28 27 20 27 29 0D 0A 20 20 20 20 20 20 6F 75 t(' ').. ou
000110: 74 28 27 5C 27 29 0D 0A 20 20 20 20 20 20 6F 75 t('\').. ou
000120: 74 28 6C 61 73 74 63 68 72 29 0D 0A 20 20 20 20 t(lastchr)..
000130: 20 20 6F 75 74 28 27 20 27 29 0D 0A 20 20 20 20 out(' ')..
000140: 20 20 67 65 74 63 68 72 28 29 0D 0A 20 20 20 20 getchr()..
000150: 24 29 0D 0A 20 20 20 20 45 4C 53 45 20 6F 75 74 $).. ELSE out
000160: 28 27 5C 27 29 0D 0A 20 20 20 20 45 4E 44 43 41 ('\').. ENDCA
000170: 53 45 0D 0A 20 20 20 20 43 41 53 45 20 27 29 27 SE.. CASE ')'
000180: 3A 20 43 41 53 45 20 27 5D 27 3A 0D 0A 20 20 20 : CASE ']':..
000190: 20 6F 75 74 28 6C 61 73 74 63 68 72 29 0D 0A 20 out(lastchr)..
0001A0: 20 20 20 67 65 74 63 68 72 28 29 0D 0A 20 20 20 getchr()..
0001B0: 20 69 64 66 6C 61 67 20 3A 3D 20 32 0D 0A 20 20 idflag := 2..
0001C0: 20 20 52 45 54 55 52 4E 0D 0A 20 20 20 20 43 41 RETURN.. CA
0001D0: 53 45 20 27 27 27 3A 0D 0A 20 20 20 20 69 64 73 SE ''':.. ids
0001E0: 70 61 63 65 28 29 0D 0A 20 20 20 20 6F 75 74 28 pace().. out(
0001F0: 27 27 27 29 0D 0A 20 20 20 20 72 61 77 63 68 72 ''').. rawchr
Size : 512 (Real : 512)
000000: 28 29 0D 0A 0D 0A 20 20 20 20 73 74 72 63 68 72 ().... strchr
000010: 28 29 0D 0A 20 20 20 20 6F 75 74 28 27 27 27 29 ().. out(''')
000020: 0D 0A 20 20 20 20 67 65 74 63 68 72 28 29 0D 0A .. getchr()..
000030: 20 20 20 20 69 64 66 6C 61 67 20 3A 3D 20 32 0D idflag := 2.
000040: 0A 20 20 20 20 52 45 54 55 52 4E 0D 0A 20 20 20 . RETURN..
000050: 20 43 41 53 45 20 27 21 27 3A 0D 0A 20 20 20 20 CASE '!':..
000060: 49 46 20 69 64 66 6C 61 67 20 3D 20 31 20 54 48 IF idflag = 1 TH
000070: 45 4E 20 6F 75 74 28 27 20 27 29 0D 0A 20 20 20 EN out(' ')..
000080: 20 6F 75 74 28 27 21 27 29 0D 0A 20 20 20 20 67 out('!').. g
000090: 65 74 63 68 72 28 29 0D 0A 20 20 20 20 45 4E 44 etchr().. END
0000A0: 43 41 53 45 0D 0A 20 20 20 20 43 41 53 45 20 27 CASE.. CASE '
0000B0: 2B 27 3A 20 43 41 53 45 20 27 26 27 3A 20 43 41 +': CASE '&': CA
0000C0: 53 45 20 27 7C 27 3A 20 43 41 53 45 20 27 3D 27 SE '|': CASE '='
0000D0: 3A 20 43 41 53 45 20 27 2A 2A 27 3A 0D 0A 20 20 : CASE '**':..
0000E0: 20 20 6F 75 74 28 27 20 27 29 0D 0A 20 20 20 20 out(' ')..
0000F0: 6F 75 74 28 6C 61 73 74 63 68 72 29 0D 0A 20 20 out(lastchr)..
000100: 20 20 6F 75 74 28 27 20 27 29 0D 0A 20 20 20 20 out(' ')..
000110: 67 65 74 63 68 72 28 29 0D 0A 20 20 20 20 45 4E getchr().. EN
000120: 44 43 41 53 45 0D 0A 20 20 20 20 43 41 53 45 20 DCASE.. CASE
000130: 27 2C 27 3A 0D 0A 20 20 20 20 6F 75 74 28 6C 61 ',':.. out(la
000140: 73 74 63 68 72 29 0D 0A 20 20 20 20 6F 75 74 28 stchr).. out(
000150: 27 20 27 29 0D 0A 20 20 20 20 67 65 74 63 68 72 ' ').. getchr
000160: 28 29 0D 0A 20 20 20 20 45 4E 44 43 41 53 45 0D ().. ENDCASE.
000170: 0A 20 20 20 20 44 45 46 41 55 4C 54 3A 20 6F 75 . DEFAULT: ou
000180: 74 28 6C 61 73 74 63 68 72 29 0D 0A 20 20 20 20 t(lastchr)..
000190: 67 65 74 63 68 72 28 29 0D 0A 20 20 24 29 0D 0A getchr().. $)..
0001A0: 20 20 69 64 66 6C 61 67 20 3A 3D 20 46 41 4C 53 idflag := FALS
0001B0: 45 0D 0A 24 29 0D 0A 0D 0A 0D 0A 4C 45 54 20 62 E..$)......LET b
0001C0: 65 61 75 74 69 66 79 28 29 20 42 45 0D 0A 0D 0A eautify() BE....
0001D0: 24 28 0D 0A 20 20 4C 45 54 20 74 65 6D 70 20 3D $(.. LET temp =
0001E0: 20 30 0D 0A 20 20 57 48 49 4C 45 20 28 6C 61 73 0.. WHILE (las
0001F0: 74 63 68 72 20 4E 45 20 65 6E 64 73 74 72 65 61 tchr NE endstrea
Size : 512 (Real : 512)
000000: 6D 63 68 29 20 26 20 28 6C 61 73 74 63 68 72 20 mch) & (lastchr
000010: 4E 45 20 73 6F 66 74 65 6F 66 63 68 29 20 44 4F NE softeofch) DO
000020: 0D 0A 20 20 24 28 0D 0A 20 20 20 20 57 48 49 4C .. $(.. WHIL
000030: 45 20 73 70 61 63 65 28 6C 61 73 74 63 68 72 29 E space(lastchr)
000040: 20 44 4F 20 67 65 74 63 68 72 28 29 0D 0A 20 20 DO getchr()..
000050: 20 20 54 45 53 54 20 27 61 27 20 3C 3D 20 6C 61 TEST 'a' <= la
000060: 73 74 63 68 72 20 3C 3D 20 27 7A 27 20 54 48 45 stchr <= 'z' THE
000070: 4E 20 69 64 65 6E 74 28 29 0D 0A 20 20 20 20 45 N ident().. E
000080: 4C 53 45 20 54 45 53 54 20 27 30 27 20 3C 3D 20 LSE TEST '0' <=
000090: 6C 61 73 74 63 68 72 20 3C 3D 20 27 39 27 20 54 lastchr <= '9' T
0000A0: 48 45 4E 0D 0A 20 20 20 20 24 28 0D 0A 20 20 20 HEN.. $(..
0000B0: 20 20 20 69 64 73 70 61 63 65 28 29 0D 0A 20 20 idspace()..
0000C0: 20 20 20 20 72 65 61 64 6E 75 6D 28 31 30 2C 20 readnum(10,
0000D0: 6C 61 73 74 63 68 72 29 0D 0A 20 20 20 20 24 29 lastchr).. $)
0000E0: 0D 0A 20 20 20 20 45 4C 53 45 20 54 45 53 54 20 .. ELSE TEST
0000F0: 6C 61 73 74 63 68 72 20 3D 20 27 23 27 20 54 48 lastchr = '#' TH
000100: 45 4E 0D 0A 20 20 20 20 24 28 0D 0A 20 20 20 20 EN.. $(..
000110: 20 20 69 64 73 70 61 63 65 28 29 0D 0A 20 20 20 idspace()..
000120: 20 20 20 6F 75 74 28 27 23 27 29 0D 0A 20 20 20 out('#')..
000130: 20 20 20 67 65 74 63 68 72 28 29 0D 0A 20 20 20 getchr()..
000140: 20 20 20 53 57 49 54 43 48 4F 4E 20 6C 61 73 74 SWITCHON last
000150: 63 68 72 20 49 4E 54 4F 0D 0A 20 20 20 20 20 20 chr INTO..
000160: 24 28 0D 0A 20 20 20 20 20 20 20 20 43 41 53 45 $(.. CASE
000170: 20 27 78 27 3A 20 6F 75 74 28 27 78 27 29 0D 0A 'x': out('x')..
000180: 20 20 20 20 20 20 20 20 72 65 61 64 6E 75 6D 28 readnum(
000190: 31 36 2C 20 67 65 74 63 68 72 28 29 29 0D 0A 20 16, getchr())..
0001A0: 20 20 20 20 20 20 20 45 4E 44 43 41 53 45 0D 0A ENDCASE..
0001B0: 20 20 20 20 20 20 20 20 43 41 53 45 20 27 62 27 CASE 'b'
0001C0: 3A 20 6F 75 74 28 27 62 27 29 0D 0A 20 20 20 20 : out('b')..
0001D0: 20 20 20 20 72 65 61 64 6E 75 6D 28 32 2C 20 67 readnum(2, g
0001E0: 65 74 63 68 72 28 29 29 0D 0A 20 20 20 20 20 20 etchr())..
0001F0: 20 20 45 4E 44 43 41 53 45 0D 0A 20 20 20 20 20 ENDCASE..
Size : 512 (Real : 512)
000000: 20 20 20 43 41 53 45 20 27 6F 27 3A 20 6F 75 74 CASE 'o': out
000010: 28 27 6F 27 29 0D 0A 20 20 20 20 20 20 20 20 72 ('o').. r
000020: 65 61 64 6E 75 6D 28 38 2C 20 67 65 74 63 68 72 eadnum(8, getchr
000030: 28 29 29 0D 0A 20 20 20 20 20 20 20 20 45 4E 44 ()).. END
000040: 43 41 53 45 0D 0A 20 20 20 20 20 20 20 20 44 45 CASE.. DE
000050: 46 41 55 4C 54 3A 20 72 65 61 64 6E 75 6D 28 38 FAULT: readnum(8
000060: 2C 20 6C 61 73 74 63 68 72 29 0D 0A 20 20 20 20 , lastchr)..
000070: 20 20 24 29 0D 0A 20 20 20 20 24 29 0D 0A 20 20 $).. $)..
000080: 20 20 45 4C 53 45 20 54 45 53 54 20 6C 61 73 74 ELSE TEST last
000090: 63 68 72 20 3D 20 31 33 20 54 48 45 4E 0D 0A 20 chr = 13 THEN..
0000A0: 20 20 20 24 28 0D 0A 20 20 20 20 20 20 6F 75 74 $(.. out
0000B0: 28 31 33 29 0D 0A 20 20 20 20 20 20 67 65 74 63 (13).. getc
0000C0: 68 72 28 29 0D 0A 20 20 20 20 24 29 0D 0A 20 20 hr().. $)..
0000D0: 20 20 45 4C 53 45 20 70 75 6E 63 74 75 61 74 65 ELSE punctuate
0000E0: 28 29 0D 0A 20 20 24 29 0D 0A 24 29 0D 0A 0D 0A ().. $)..$)....
0000F0: 0D 0A 4C 45 54 20 66 69 6C 65 73 28 29 20 42 45 ..LET files() BE
000100: 0D 0A 24 28 0D 0A 20 20 4C 45 54 20 6E 61 6D 65 ..$(.. LET name
000110: 69 6E 20 3D 20 56 45 43 20 31 30 0D 0A 20 20 41 in = VEC 10.. A
000120: 4E 44 20 6E 61 6D 65 6F 75 74 20 3D 20 56 45 43 ND nameout = VEC
000130: 20 31 30 0D 0A 20 20 77 72 69 74 65 73 28 22 45 10.. writes("E
000140: 6E 74 65 72 20 74 68 65 20 69 6E 70 75 74 20 66 nter the input f
000150: 69 6C 65 20 6E 61 6D 65 3A 20 20 22 29 0D 0A 20 ile name: ")..
000160: 20 72 65 61 64 73 28 6E 61 6D 65 69 6E 29 0D 0A reads(namein)..
000170: 20 20 6E 65 77 6C 69 6E 65 28 29 0D 0A 20 20 77 newline().. w
000180: 72 69 74 65 73 28 22 45 6E 74 65 72 20 74 68 65 rites("Enter the
000190: 20 6F 75 74 70 75 74 20 66 69 6C 65 20 6E 61 6D output file nam
0001A0: 65 3A 20 22 29 0D 0A 20 20 72 65 61 64 73 28 6E e: ").. reads(n
0001B0: 61 6D 65 6F 75 74 29 0D 0A 20 20 6E 65 77 6C 69 ameout).. newli
0001C0: 6E 65 28 29 0D 0A 20 20 55 4E 4C 45 53 53 20 66 ne().. UNLESS f
0001D0: 69 6E 64 69 6E 70 75 74 28 6E 61 6D 65 69 6E 2C indinput(namein,
0001E0: 20 69 6E 70 75 74 29 20 54 48 45 4E 20 65 72 72 input) THEN err
0001F0: 28 22 43 61 6E 27 74 20 6F 70 65 6E 20 69 6E 70 ("Can't open inp
Size : 512 (Real : 512)
000000: 75 74 22 29 0D 0A 20 20 55 4E 4C 45 53 53 20 66 ut").. UNLESS f
000010: 69 6E 64 6F 75 74 70 75 74 28 6E 61 6D 65 6F 75 indoutput(nameou
000020: 74 2C 20 6F 75 74 70 75 74 29 20 54 48 45 4E 20 t, output) THEN
000030: 65 72 72 28 22 43 61 6E 27 74 20 6F 70 65 6E 20 err("Can't open
000040: 6F 75 74 70 75 74 22 29 0D 0A 24 29 0D 0A 0D 0A output")..$)....
000050: 0D 0A 0D 0A 4C 45 54 20 72 65 61 64 77 6F 72 64 ....LET readword
000060: 73 28 73 74 72 69 6E 67 29 20 42 45 0D 0A 0D 0A s(string) BE....
000070: 24 28 0D 0A 20 20 4C 45 54 20 6C 65 6E 67 74 68 $(.. LET length
000080: 2C 20 72 65 73 74 2C 20 6C 65 6E 67 74 68 70 74 , rest, lengthpt
000090: 72 20 3D 20 73 74 72 69 6E 67 25 30 2C 20 31 2C r = string%0, 1,
0000A0: 20 30 0D 0A 20 20 57 48 49 4C 45 20 6C 65 6E 67 0.. WHILE leng
0000B0: 74 68 20 3E 20 72 65 73 74 20 44 4F 0D 0A 20 20 th > rest DO..
0000C0: 24 28 0D 0A 20 20 20 20 54 45 53 54 20 73 74 72 $(.. TEST str
0000D0: 69 6E 67 25 72 65 73 74 20 3D 20 27 42 27 20 54 ing%rest = 'B' T
0000E0: 48 45 4E 0D 0A 20 20 20 20 24 28 0D 0A 20 20 20 HEN.. $(..
0000F0: 20 20 20 21 6B 65 79 65 6E 64 20 3A 3D 20 54 52 !keyend := TR
000100: 55 45 0D 0A 20 20 20 20 20 20 72 65 73 74 20 3A UE.. rest :
000110: 3D 20 72 65 73 74 20 2B 20 31 0D 0A 20 20 20 20 = rest + 1..
000120: 24 29 0D 0A 20 20 20 20 45 4C 53 45 20 21 6B 65 $).. ELSE !ke
000130: 79 65 6E 64 20 3A 3D 20 46 41 4C 53 45 0D 0A 20 yend := FALSE..
000140: 20 20 20 6C 65 6E 67 74 68 70 74 72 20 3A 3D 20 lengthptr :=
000150: 6B 65 79 65 6E 64 20 2B 20 31 0D 0A 20 20 20 20 keyend + 1..
000160: 6B 65 79 65 6E 64 20 3A 3D 20 6B 65 79 65 6E 64 keyend := keyend
000170: 20 2B 20 32 0D 0A 20 20 20 20 21 6C 65 6E 67 74 + 2.. !lengt
000180: 68 70 74 72 20 3A 3D 20 30 0D 0A 20 20 20 20 57 hptr := 0.. W
000190: 48 49 4C 45 20 73 74 72 69 6E 67 25 72 65 73 74 HILE string%rest
0001A0: 20 4E 45 20 27 2C 27 20 44 4F 0D 0A 20 20 20 20 NE ',' DO..
0001B0: 24 28 0D 0A 20 20 20 20 20 20 21 6B 65 79 65 6E $(.. !keyen
0001C0: 64 20 3A 3D 20 73 74 72 69 6E 67 25 72 65 73 74 d := string%rest
0001D0: 0D 0A 20 20 20 20 20 20 6B 65 79 65 6E 64 2C 20 .. keyend,
0001E0: 72 65 73 74 2C 20 21 6C 65 6E 67 74 68 70 74 72 rest, !lengthptr
0001F0: 20 3A 3D 20 6B 65 79 65 6E 64 20 2B 20 31 2C 20 := keyend + 1,
Size : 512 (Real : 512)
000000: 72 65 73 74 20 2B 20 31 2C 20 21 6C 65 6E 67 74 rest + 1, !lengt
000010: 68 70 74 72 20 2B 20 31 0D 0A 20 20 20 20 24 29 hptr + 1.. $)
000020: 0D 0A 20 20 20 20 72 65 73 74 20 3A 3D 20 72 65 .. rest := re
000030: 73 74 20 2B 20 31 0D 0A 20 20 24 29 0D 0A 24 29 st + 1.. $)..$)
000040: 0D 0A 0D 0A 0D 0A 41 4E 44 20 72 65 61 64 73 79 ......AND readsy
000050: 73 28 29 20 42 45 0D 0A 0D 0A 24 28 0D 0A 20 20 s() BE....$(..
000060: 72 65 61 64 77 6F 72 64 73 28 22 61 6E 64 2C 62 readwords("and,b
000070: 65 2C 62 72 65 61 6B 2C 62 79 2C 63 61 73 65 2C e,break,by,case,
000080: 64 6F 2C 64 65 66 61 75 6C 74 2C 42 65 71 2C 42 do,default,Beq,B
000090: 65 71 76 2C 65 6C 73 65 2C 65 6E 64 63 61 73 65 eqv,else,endcase
0000A0: 2C 66 61 6C 73 65 2C 66 6F 72 2C 22 29 0D 0A 20 ,false,for,")..
0000B0: 20 72 65 61 64 77 6F 72 64 73 28 22 66 69 6E 69 readwords("fini
0000C0: 73 68 2C 67 6F 74 6F 2C 42 67 65 2C 42 67 72 2C sh,goto,Bge,Bgr,
0000D0: 67 6C 6F 62 61 6C 2C 67 65 74 2C 69 66 2C 69 6E global,get,if,in
0000E0: 74 6F 2C 6C 65 74 2C 42 6C 76 2C 42 6C 65 2C 42 to,let,Blv,Ble,B
0000F0: 6C 73 2C 42 6C 6F 67 6F 72 2C 42 6C 6F 67 61 6E ls,Blogor,Blogan
000100: 64 2C 22 29 0D 0A 20 20 72 65 61 64 77 6F 72 64 d,").. readword
000110: 73 28 22 6C 6F 6F 70 2C 42 6C 73 68 69 66 74 2C s("loop,Blshift,
000120: 6D 61 6E 69 66 65 73 74 2C 42 6E 65 2C 6E 6F 74 manifest,Bne,not
000130: 2C 42 6E 65 71 76 2C 6F 72 2C 72 65 73 75 6C 74 ,Bneqv,or,result
000140: 69 73 2C 72 65 74 75 72 6E 2C 42 72 65 6D 2C 42 is,return,Brem,B
000150: 72 73 68 69 66 74 2C 22 29 0D 0A 20 20 72 65 61 rshift,").. rea
000160: 64 77 6F 72 64 73 28 22 42 72 76 2C 72 65 70 65 dwords("Brv,repe
000170: 61 74 2C 72 65 70 65 61 74 77 68 69 6C 65 2C 72 at,repeatwhile,r
000180: 65 70 65 61 74 75 6E 74 69 6C 2C 73 77 69 74 63 epeatuntil,switc
000190: 68 6F 6E 2C 73 74 61 74 69 63 2C 74 6F 2C 74 65 hon,static,to,te
0001A0: 73 74 2C 74 72 75 65 2C 22 29 0D 0A 20 20 72 65 st,true,").. re
0001B0: 61 64 77 6F 72 64 73 28 22 74 68 65 6E 2C 74 61 adwords("then,ta
0001C0: 62 6C 65 2C 75 6E 74 69 6C 2C 75 6E 6C 65 73 73 ble,until,unless
0001D0: 2C 76 65 63 2C 76 61 6C 6F 66 2C 77 68 69 6C 65 ,vec,valof,while
0001E0: 2C 69 6E 6C 69 6E 65 2C 6F 70 74 69 6F 6E 2C 22 ,inline,option,"
0001F0: 29 0D 0A 24 29 0D 0A 0D 0A 0D 0A 4C 45 54 20 73 )..$)......LET s
Size : 512 (Real : 512)
000000: 74 61 72 74 28 29 20 42 45 0D 0A 0D 0A 24 28 0D tart() BE....$(.
000010: 0A 20 20 4C 45 54 20 77 6F 72 64 61 72 72 61 79 . LET wordarray
000020: 20 3D 20 56 45 43 20 35 30 30 0D 0A 20 20 41 4E = VEC 500.. AN
000030: 44 20 69 6E 62 75 66 66 20 3D 20 56 45 43 20 38 D inbuff = VEC 8
000040: 32 0D 0A 20 20 41 4E 44 20 6F 75 74 62 75 66 66 2.. AND outbuff
000050: 20 3D 20 56 45 43 20 38 32 0D 0A 20 20 41 4E 44 = VEC 82.. AND
000060: 20 6E 61 6D 65 69 6E 20 3D 20 56 45 43 20 31 30 namein = VEC 10
000070: 0D 0A 20 20 41 4E 44 20 6E 61 6D 65 6F 75 74 20 .. AND nameout
000080: 3D 20 56 45 43 20 31 30 0D 0A 20 20 41 4E 44 20 = VEC 10.. AND
000090: 6C 65 76 20 3D 20 56 45 43 20 33 0D 0A 20 20 6C lev = VEC 3.. l
0000A0: 65 76 65 6C 28 6C 65 76 29 0D 0A 20 20 65 72 72 evel(lev).. err
0000B0: 76 65 63 2C 20 69 6E 70 75 74 2C 20 6F 75 74 70 vec, input, outp
0000C0: 75 74 20 3A 3D 20 6C 65 76 2C 20 69 6E 62 75 66 ut := lev, inbuf
0000D0: 66 2C 20 6F 75 74 62 75 66 66 0D 0A 20 20 6B 65 f, outbuff.. ke
0000E0: 79 77 6F 72 64 73 2C 20 6B 65 79 65 6E 64 20 3A ywords, keyend :
0000F0: 3D 20 77 6F 72 64 61 72 72 61 79 2C 20 77 6F 72 = wordarray, wor
000100: 64 61 72 72 61 79 0D 0A 20 20 72 65 61 64 73 79 darray.. readsy
000110: 73 28 29 0D 0A 20 20 66 69 6C 65 73 28 29 0D 0A s().. files()..
000120: 20 20 67 65 74 63 68 72 28 29 0D 0A 20 20 62 65 getchr().. be
000130: 61 75 74 69 66 79 28 29 0D 0A 20 20 65 72 72 6F autify().. erro
000140: 72 3A 20 63 6C 6F 73 65 69 6E 28 69 6E 70 75 74 r: closein(input
000150: 29 0D 0A 20 20 63 6C 6F 73 65 6F 75 74 28 6F 75 ).. closeout(ou
000160: 74 70 75 74 29 0D 0A 20 20 6E 65 77 6C 69 6E 65 tput).. newline
000170: 28 29 0D 0A 20 20 77 72 69 74 65 73 28 22 42 43 ().. writes("BC
000180: 50 4C 20 62 65 61 75 74 69 66 69 65 72 20 66 69 PL beautifier fi
000190: 6E 69 73 68 65 64 22 29 0D 0A 24 29 0D 0A 2E 0D nished")..$)....
0001A0: 0A 1A 20 77 69 6C 6C 20 74 75 72 6E 20 61 6C 6C .. will turn all
0001B0: 20 6B 65 79 77 6F 72 64 73 20 69 6E 74 6F 20 75 keywords into u
0001C0: 70 70 65 72 20 63 61 73 65 20 61 6E 64 0D 0A 20 pper case and..
0001D0: 20 20 61 6C 6C 20 69 64 65 6E 74 69 66 69 65 72 all identifier
0001E0: 73 20 69 6E 74 6F 20 6C 6F 77 65 72 20 63 61 73 s into lower cas
0001F0: 65 20 2A 2F 0D 0A 0D 0A 2F 2F 20 6D 6F 64 69 66 e */....// modif
Size : 512 (Real : 512)
000000: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000010: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000020: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000030: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000040: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000050: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000060: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000070: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000080: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000090: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0000A0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0000B0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0000C0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0000D0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0000E0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0000F0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000100: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000110: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000120: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000130: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000140: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000150: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000160: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000170: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000180: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000190: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0001A0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0001B0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0001C0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0001D0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0001E0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0001F0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
Size : 512 (Real : 512)
000000: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000010: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000020: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000030: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000040: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000050: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000060: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000070: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000080: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000090: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0000A0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0000B0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0000C0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0000D0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0000E0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0000F0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000100: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000110: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000120: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000130: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000140: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000150: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000160: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000170: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000180: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000190: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0001A0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0001B0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0001C0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0001D0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0001E0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0001F0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
Size : 512 (Real : 512)
000000: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000010: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000020: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000030: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000040: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000050: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000060: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000070: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000080: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000090: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0000A0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0000B0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0000C0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0000D0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0000E0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0000F0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000100: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000110: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000120: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000130: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000140: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000150: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000160: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000170: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000180: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000190: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0001A0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0001B0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0001C0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0001D0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0001E0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0001F0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
Size : 512 (Real : 512)
000000: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000010: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000020: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000030: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000040: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000050: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000060: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000070: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000080: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000090: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0000A0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0000B0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0000C0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0000D0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0000E0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0000F0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000100: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000110: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000120: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000130: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000140: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000150: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000160: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000170: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000180: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000190: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0001A0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0001B0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0001C0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0001D0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0001E0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0001F0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
Size : 512 (Real : 512)
000000: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000010: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000020: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000030: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000040: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000050: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000060: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000070: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000080: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000090: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0000A0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0000B0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0000C0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0000D0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0000E0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0000F0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000100: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000110: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000120: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000130: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000140: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000150: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000160: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000170: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000180: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000190: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0001A0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0001B0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0001C0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0001D0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0001E0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0001F0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
Size : 512 (Real : 512)
000000: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000010: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000020: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000030: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000040: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000050: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000060: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000070: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000080: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000090: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0000A0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0000B0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0000C0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0000D0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0000E0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0000F0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000100: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000110: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000120: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000130: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000140: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000150: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000160: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000170: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000180: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000190: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0001A0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0001B0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0001C0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0001D0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0001E0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0001F0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
Size : 512 (Real : 512)
000000: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000010: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000020: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000030: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000040: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000050: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000060: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000070: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000080: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000090: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0000A0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0000B0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0000C0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0000D0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0000E0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0000F0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000100: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000110: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000120: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000130: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000140: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000150: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000160: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000170: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000180: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000190: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0001A0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0001B0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0001C0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0001D0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0001E0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0001F0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
Size : 512 (Real : 512)
000000: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000010: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000020: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000030: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000040: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000050: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000060: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000070: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000080: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000090: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0000A0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0000B0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0000C0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0000D0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0000E0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0000F0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000100: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000110: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000120: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000130: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000140: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000150: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000160: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000170: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000180: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000190: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0001A0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0001B0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0001C0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0001D0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0001E0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0001F0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
Size : 512 (Real : 512)
000000: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000010: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000020: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000030: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000040: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000050: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000060: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000070: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000080: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000090: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0000A0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0000B0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0000C0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0000D0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0000E0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0000F0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000100: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000110: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000120: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000130: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000140: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000150: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000160: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000170: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000180: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000190: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0001A0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0001B0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0001C0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0001D0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0001E0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0001F0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
Size : 512 (Real : 512)
000000: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000010: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000020: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000030: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000040: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000050: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000060: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000070: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000080: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000090: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0000A0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0000B0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0000C0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0000D0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0000E0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0000F0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000100: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000110: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000120: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000130: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000140: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000150: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000160: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000170: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000180: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000190: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0001A0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0001B0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0001C0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0001D0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0001E0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0001F0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
Size : 512 (Real : 512)
000000: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000010: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000020: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000030: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000040: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000050: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000060: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000070: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000080: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000090: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0000A0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0000B0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0000C0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0000D0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0000E0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0000F0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000100: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000110: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000120: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000130: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000140: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000150: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000160: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000170: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000180: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000190: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0001A0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0001B0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0001C0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0001D0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0001E0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0001F0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
   
Tous droits réservés. Reproduction sans autorisation interdite. © Kukulcan