Nevada Pascal ver 4.1 (UK) (Face D) (128K) (1985) (CPM) (Version CPC 6128) [Original] [UTILITAIRE].dsk
   
Choose sector :
Size : 512 (Real : 512)
000000: 00 44 20 20 20 20 20 20 20 43 4F 4D 00 00 00 07 .D COM....
000010: 02 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
000020: 00 4A 52 54 4D 41 4E 20 20 35 30 30 00 00 00 80 .JRTMAN 500....
000030: 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F 10 11 12 ................
000040: 00 4A 52 54 4D 41 4E 20 20 35 30 30 01 00 00 80 .JRTMAN 500....
000050: 13 14 15 16 17 18 19 1A 1B 1C 1D 1E 1F 20 21 22 ............. !"
000060: 00 4A 52 54 4D 41 4E 20 20 35 30 30 02 00 00 0F .JRTMAN 500....
000070: 23 24 00 00 00 00 00 00 00 00 00 00 00 00 00 00 #$..............
000080: 00 4A 52 54 4D 41 4E 20 20 36 30 30 00 00 00 80 .JRTMAN 600....
000090: 25 26 27 28 29 2A 2B 2C 2D 2E 2F 30 31 32 33 34 %&'()*+,-./01234
0000A0: 00 4A 52 54 4D 41 4E 20 20 36 30 30 01 00 00 80 .JRTMAN 600....
0000B0: 35 36 37 38 39 3A 3B 3C 3D 3E 3F 40 41 42 43 44 56789:;<=>?@ABCD
0000C0: 00 4A 52 54 4D 41 4E 20 20 36 30 30 02 00 00 80 .JRTMAN 600....
0000D0: 45 46 47 48 49 4A 4B 4C 4D 4E 4F 50 51 52 53 54 EFGHIJKLMNOPQRST
0000E0: 00 4A 52 54 4D 41 4E 20 20 36 30 30 03 00 00 1E .JRTMAN 600....
0000F0: 55 56 57 58 00 00 00 00 00 00 00 00 00 00 00 00 UVWX............
000100: 00 4A 52 54 4D 41 4E 20 20 37 30 30 00 00 00 80 .JRTMAN 700....
000110: 59 5A 5B 5C 5D 5E 5F 60 61 62 63 64 65 66 67 68 YZ[\]^_`abcdefgh
000120: 00 4A 52 54 4D 41 4E 20 20 37 30 30 01 00 00 80 .JRTMAN 700....
000130: 69 6A 6B 6C 6D 6E 6F 70 71 72 73 74 75 76 77 78 ijklmnopqrstuvwx
000140: 00 4A 52 54 4D 41 4E 20 20 37 30 30 02 00 00 1A .JRTMAN 700....
000150: 79 7A 7B 7C 00 00 00 00 00 00 00 00 00 00 00 00 yz{|............
000160: 00 4A 52 54 4D 41 4E 20 20 38 30 30 00 00 00 80 .JRTMAN 800....
000170: 7D 7E 7F 80 81 82 83 84 85 86 87 88 89 8A 8B 8C }~..............
000180: 00 4A 52 54 4D 41 4E 20 20 38 30 30 01 00 00 34 .JRTMAN 800...4
000190: 8D 8E 8F 90 91 92 93 00 00 00 00 00 00 00 00 00 ................
0001A0: 00 4A 52 54 4D 41 4E 20 20 41 50 50 00 00 00 80 .JRTMAN APP....
0001B0: 94 95 96 97 98 99 9A 9B 9C 9D 9E 9F A0 A1 A2 A3 ................
0001C0: 00 4A 52 54 4D 41 4E 20 20 41 50 50 01 00 00 23 .JRTMAN APP...#
0001D0: A4 A5 A6 A7 A8 00 00 00 00 00 00 00 00 00 00 00 ................
0001E0: 00 2D 50 41 53 43 41 4C 20 34 30 37 00 00 00 00 .-PASCAL 407....
0001F0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
Size : 512 (Real : 512)
000000: 04 CD 2F 04 A0 C1 03 18 BB CD 02 04 CD 02 04 21 ../............!
000010: 67 04 CD 08 04 20 46 69 6C 65 F3 CD 08 04 20 45 g.... File.... E
000020: 78 74 65 6E 74 F3 CD 08 04 20 53 79 73 74 65 6D xtent.... System
000030: 20 66 69 6C 65 F3 CD 08 04 4B 20 4C 69 73 74 65 file....K Liste
000040: 64 A0 CD 08 04 4B 20 55 73 65 64 A0 0E 1F CD 05 d....K Used.....
000050: 00 3E 05 CD E7 03 5E 23 56 13 23 23 CD 8B 03 CD .>....^#V.##....
000060: 8B 03 CD 82 03 ED 5B 6F 04 A7 ED 52 CD 0D 04 4B ......[o...R...K
000070: 20 46 72 65 65 0D 8A ED 7B 87 04 C9 5F 0E 0E C3 Free...{..._...
000080: 05 00 3A 71 04 EB 3D C8 29 18 FB 23 06 08 7E 07 ..:q..=.)..#..~.
000090: 30 01 1B 10 FA C9 E5 69 60 29 29 29 29 EB 2A 84 0......i`)))).*.
0000A0: 04 A7 ED 52 EB E1 C9 0E 0B 06 08 CD C2 03 CD 2F ...R.........../
0000B0: 04 AE 06 03 CD C2 03 41 78 A7 C8 CD 2F 04 A0 10 .......Ax.../...
0000C0: FA C9 23 7E E6 7F FE 21 D4 3B 04 10 F5 C9 CD FB ..#~...!.;......
0000D0: 03 C0 21 80 00 06 80 7E 23 FE 1A C8 C5 E5 CD 52 ..!....~#......R
0000E0: 04 E1 C1 10 F2 18 E7 85 6F D0 24 C9 71 23 10 FC ........o.$.q#..
0000F0: C9 0E 0F 11 5C 00 CD 05 00 3C C9 0E 14 CD F3 03 ....\....<......
000100: 3D C9 CD 2F 04 0D 8A C9 5E 23 56 23 EB D5 0E 00 =../....^#V#....
000110: 11 10 27 CD 3E 04 11 E8 03 CD 3E 04 11 64 00 CD ..'.>.....>..d..
000120: 3E 04 11 0A 00 CD 3E 04 7D C6 30 CD 52 04 E1 E3 >.....>.}.0.R...
000130: 7E CD 52 04 CB 7E 23 28 F7 E3 C9 0D 18 14 06 2F ~.R..~#(......./
000140: 04 A7 ED 52 30 FA 19 78 0C FE 30 20 05 0D 20 02 ...R0..x..0 .. .
000150: 3E 20 C5 D5 E5 E6 7F F5 5F 0E 02 CD 05 00 F1 E1 > ......_.......
000160: D1 C1 C9 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
000170: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
000180: FA DA 5A 45 19 D6 80 2B 42 91 94 AC E9 F0 5C 62 ..ZE...+B.....\b
000190: 91 84 46 E9 4E 49 7D EC 83 0F 70 B3 F5 4F CF 4F ..F.NI}...p..O.O
0001A0: 7C 80 9B 5D DC AE 57 EB EB F1 C1 FA 64 71 B3 BA |..]..W.....dq..
0001B0: 7F 82 97 3E C0 FD 58 9C DC 7F B6 78 EC 03 DC 8F ...>..X....x....
0001C0: 17 27 AB 07 1B DC AE 57 0F 1E AF 16 8F AF 1F 9F .'.....W........
0001D0: FC 71 5C AD C7 67 0F 36 3E C0 FD F8 E3 6A 31 AE .q\..g.6>....j1.
0001E0: 1E DC 3F D9 E0 F6 2F 27 7F 78 70 72 7B BB C1 5F ..?.../'.xpr{.._
0001F0: 3E 2E D6 CF 6E C7 DB 8D 0F 70 3F 5E DC 6D F0 E2 >...n....p?^.m..
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: 20 20 20 20 20 20 37 2E 20 20 20 20 49 6E 70 75 7. Inpu
000010: 74 2F 6F 75 74 70 75 74 0D 0A 0D 0A 20 20 20 20 t/output....
000020: 20 20 20 20 20 20 20 4A 52 54 20 20 50 61 73 63 JRT Pasc
000030: 61 6C 20 69 6E 63 6C 75 64 65 73 20 61 20 70 6F al includes a po
000040: 77 65 72 66 75 6C 20 69 6E 70 75 74 2F 6F 75 74 werful input/out
000050: 70 75 74 20 73 75 62 73 79 73 74 65 6D 20 77 68 put subsystem wh
000060: 69 63 68 20 63 61 6E 0D 0A 20 20 20 20 20 20 62 ich can.. b
000070: 65 20 75 73 65 64 20 74 6F 20 6D 65 65 74 20 76 e used to meet v
000080: 69 72 74 75 61 6C 6C 79 20 61 6E 79 20 70 72 6F irtually any pro
000090: 63 65 73 73 69 6E 67 20 72 65 71 75 69 72 65 6D cessing requirem
0000A0: 65 6E 74 2E 20 20 54 68 72 65 65 20 6D 6F 64 65 ent. Three mode
0000B0: 73 20 6F 66 0D 0A 20 20 20 20 20 20 69 6E 70 75 s of.. inpu
0000C0: 74 2F 6F 75 74 70 75 74 20 2D 20 63 6F 6E 73 6F t/output - conso
0000D0: 6C 65 2C 20 73 65 71 75 65 6E 74 69 61 6C 20 64 le, sequential d
0000E0: 69 73 6B 2C 20 72 61 6E 64 6F 6D 20 64 69 73 6B isk, random disk
0000F0: 20 2D 20 61 72 65 20 70 72 6F 76 69 64 65 64 2E - are provided.
000100: 0D 0A 0D 0A 20 20 20 20 20 20 20 20 20 20 20 44 .... D
000110: 69 73 6B 20 66 69 6C 65 73 20 63 61 6E 20 62 65 isk files can be
000120: 20 70 72 6F 63 65 73 73 65 64 20 69 6E 20 65 69 processed in ei
000130: 74 68 65 72 20 54 45 58 54 20 20 6D 6F 64 65 20 ther TEXT mode
000140: 20 6F 72 20 20 69 6E 20 20 42 49 4E 41 52 59 0D or in BINARY.
000150: 0A 20 20 20 20 20 20 6D 6F 64 65 2E 20 20 20 54 . mode. T
000160: 45 58 54 20 20 6D 6F 64 65 20 69 73 20 6D 6F 73 EXT mode is mos
000170: 74 20 63 6F 6D 6D 6F 6E 6C 79 20 75 73 65 64 20 t commonly used
000180: 62 79 20 42 41 53 49 43 20 6C 61 6E 67 75 61 67 by BASIC languag
000190: 65 73 2E 20 20 44 61 74 61 20 69 73 0D 0A 20 20 es. Data is..
0001A0: 20 20 20 20 73 74 6F 72 65 64 20 69 6E 20 41 53 stored in AS
0001B0: 43 49 49 20 74 65 78 74 20 72 65 61 64 61 62 6C CII text readabl
0001C0: 65 20 66 6F 72 6D 61 74 2E 20 20 42 49 4E 41 52 e format. BINAR
0001D0: 59 20 6D 6F 64 65 20 69 73 20 66 6F 75 6E 64 20 Y mode is found
0001E0: 6F 6E 20 6C 61 72 67 65 72 0D 0A 20 20 20 20 20 on larger..
0001F0: 20 6D 69 6E 69 20 61 6E 64 20 6D 61 69 6E 66 72 mini and mainfr
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: 61 6D 65 20 63 6F 6D 70 75 74 65 72 73 2E 20 20 ame computers.
000010: 54 68 65 20 64 61 74 61 20 69 73 20 69 6E 70 75 The data is inpu
000020: 74 2F 6F 75 74 70 75 74 20 69 6E 20 74 68 65 20 t/output in the
000030: 62 69 6E 61 72 79 0D 0A 20 20 20 20 20 20 66 6F binary.. fo
000040: 72 6D 61 74 20 75 73 65 64 20 69 6E 74 65 72 6E rmat used intern
000050: 61 6C 6C 79 20 62 79 20 74 68 65 20 6C 61 6E 67 ally by the lang
000060: 75 61 67 65 2E 20 20 4E 6F 74 20 6F 6E 6C 79 20 uage. Not only
000070: 69 73 20 20 74 68 65 20 20 64 61 74 61 20 20 6D is the data m
000080: 6F 72 65 0D 0A 20 20 20 20 20 20 63 6F 6D 70 61 ore.. compa
000090: 63 74 20 20 69 6E 20 20 73 6F 6D 65 20 63 61 73 ct in some cas
0000A0: 65 73 20 62 75 74 20 69 74 20 69 73 20 61 6C 73 es but it is als
0000B0: 6F 20 6F 66 20 66 69 78 65 64 20 6C 65 6E 67 74 o of fixed lengt
0000C0: 68 2E 20 20 46 6F 72 20 65 78 61 6D 70 6C 65 2C h. For example,
0000D0: 0D 0A 20 20 20 20 20 20 61 6E 20 69 6E 74 65 67 .. an integ
0000E0: 65 72 20 69 6E 20 74 65 78 74 20 66 6F 72 6D 61 er in text forma
0000F0: 74 20 63 6F 75 6C 64 20 6F 63 63 75 70 79 20 66 t could occupy f
000100: 72 6F 6D 20 74 77 6F 20 62 79 74 65 73 20 74 6F rom two bytes to
000110: 20 20 73 69 78 20 20 62 79 74 65 73 2C 0D 0A 20 six bytes,..
000120: 20 20 20 20 20 64 65 70 65 6E 64 69 6E 67 20 20 depending
000130: 6F 6E 20 20 69 74 73 20 20 76 61 6C 75 65 2E 20 on its value.
000140: 20 42 75 74 20 69 6E 20 62 69 6E 61 72 79 20 66 But in binary f
000150: 6F 72 6D 61 74 20 61 6E 20 69 6E 74 65 67 65 72 ormat an integer
000160: 20 69 73 20 61 6C 77 61 79 73 0D 0A 20 20 20 20 is always..
000170: 20 20 65 78 61 63 74 6C 79 20 74 77 6F 20 62 79 exactly two by
000180: 74 65 73 2E 0D 0A 0D 0A 20 20 20 20 20 20 20 20 tes.....
000190: 20 20 20 54 45 58 54 20 6D 6F 64 65 20 69 73 20 TEXT mode is
0001A0: 73 6F 6D 65 74 69 6D 65 73 20 63 61 6C 6C 65 64 sometimes called
0001B0: 20 20 22 73 74 72 65 61 6D 20 20 49 2F 4F 22 2E "stream I/O".
0001C0: 20 20 20 42 49 4E 41 52 59 20 20 6D 6F 64 65 20 BINARY mode
0001D0: 20 69 73 0D 0A 20 20 20 20 20 20 73 6F 6D 65 74 is.. somet
0001E0: 69 6D 65 73 20 63 61 6C 6C 65 64 20 22 72 65 63 imes called "rec
0001F0: 6F 72 64 20 49 2F 4F 22 2E 0D 0A 0D 0A 20 20 20 ord I/O".....
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: 20 20 20 20 20 20 20 20 41 6E 6F 74 68 65 72 20 Another
000010: 20 61 64 76 61 6E 74 61 67 65 20 6F 66 20 62 69 advantage of bi
000020: 6E 61 72 79 20 66 6F 72 6D 61 74 20 69 73 20 74 nary format is t
000030: 68 61 74 20 74 68 65 20 75 73 65 72 20 63 61 6E hat the user can
000040: 20 70 72 6F 63 65 73 73 0D 0A 20 20 20 20 20 20 process..
000050: 64 61 74 61 20 66 69 6C 65 73 20 6F 72 20 43 4F data files or CO
000060: 4D 20 66 69 6C 65 73 20 63 6F 6E 74 61 69 6E 69 M files containi
000070: 6E 67 20 73 70 65 63 69 61 6C 20 63 6F 6E 74 72 ng special contr
000080: 6F 6C 20 63 68 61 72 61 63 74 65 72 73 2E 0D 0A ol characters...
000090: 0D 0A 20 20 20 20 20 20 20 20 20 20 20 41 6C 6C .. All
0000A0: 20 66 69 6C 65 73 20 69 6E 20 4A 52 54 20 50 61 files in JRT Pa
0000B0: 73 63 61 6C 20 61 72 65 20 22 75 6E 74 79 70 65 scal are "untype
0000C0: 64 22 2E 20 54 68 61 74 20 20 69 73 2C 20 20 74 d". That is, t
0000D0: 68 65 20 20 75 73 65 72 20 20 63 61 6E 0D 0A 20 he user can..
0000E0: 20 20 20 20 20 72 65 61 64 20 20 61 6E 64 20 20 read and
0000F0: 77 72 69 74 65 20 20 64 61 74 61 20 6F 66 20 61 write data of a
000100: 6E 79 20 66 6F 72 6D 61 74 20 74 6F 20 61 6E 79 ny format to any
000110: 20 66 69 6C 65 2E 20 20 54 68 65 20 75 73 65 72 file. The user
000120: 20 63 61 6E 20 77 72 69 74 65 0D 0A 20 20 20 20 can write..
000130: 20 20 72 65 63 6F 72 64 73 20 6F 66 20 65 6E 74 records of ent
000140: 69 72 65 6C 79 20 64 69 66 66 65 72 65 6E 74 20 irely different
000150: 66 6F 72 6D 61 74 73 20 61 6E 64 20 73 69 7A 65 formats and size
000160: 73 20 6F 6E 20 74 68 65 20 73 61 6D 65 20 66 69 s on the same fi
000170: 6C 65 2E 0D 0A 0D 0A 20 20 20 20 20 20 20 20 20 le.....
000180: 20 20 4A 52 54 20 20 50 61 73 63 61 6C 20 20 61 JRT Pascal a
000190: 6C 73 6F 20 20 73 75 70 70 6F 72 74 73 20 20 64 lso supports d
0001A0: 69 72 65 63 74 20 20 61 63 63 65 73 73 20 20 74 irect access t
0001B0: 6F 20 20 20 74 68 65 20 20 20 68 61 72 64 77 61 o the hardwa
0001C0: 72 65 0D 0A 20 20 20 20 20 20 69 6E 70 75 74 2F re.. input/
0001D0: 6F 75 74 70 75 74 20 20 70 6F 72 74 73 20 20 77 output ports w
0001E0: 69 74 68 6F 75 74 20 20 68 61 76 69 6E 67 20 20 ithout having
0001F0: 74 6F 20 20 77 72 69 74 65 20 20 61 6E 20 61 73 to write an as
Size : 512 (Real : 512)
000000: ED 73 87 04 31 09 05 18 23 20 20 44 69 73 6B 20 .s..1...# Disk
000010: 56 32 2E 35 20 28 63 29 20 50 68 69 6C 20 57 68 V2.5 (c) Phil Wh
000020: 65 65 6C 65 72 20 31 39 38 32 20 20 2A 06 00 2E eeler 1982 *...
000030: 00 11 F2 07 B7 ED 52 22 84 04 0E 20 1E FF CD 05 ......R"... ....
000040: 00 32 86 04 21 5D 00 7E FE 20 20 06 01 3F 0B CD .2..!].~. ..?..
000050: EC 03 3A 5C 00 3D F4 7C 03 21 5C 00 11 74 04 01 ..:\.=.|.!\..t..
000060: 10 00 ED B0 21 6C 00 11 5C 00 01 10 00 ED B0 21 ....!l..\......!
000070: 5C 00 E5 7E 32 83 04 36 00 CD F1 03 C4 CE 03 E1 \..~2..6........
000080: 01 3F 0C CD EC 03 0E 1F CD 05 00 23 23 7E D6 02 .?.........##~..
000090: 32 71 04 23 23 7E 2F 32 72 04 23 23 7E 32 73 04 2q.##~/2r.##~2s.
0000A0: 21 63 04 01 00 0E CD EC 03 0E 11 CD F3 03 CA BF !c..............
0000B0: 02 3D 0F 0F 0F 21 80 00 CD E7 03 7E FE 10 23 DC .=...!.....~..#.
0000C0: C6 01 0E 12 18 E5 E5 3E 0F CD E7 03 06 10 3A 73 .......>......:s
0000D0: 04 4F 11 00 00 7E 0C 0D 28 03 23 05 B6 A7 28 01 .O...~..(.#...(.
0000E0: 13 23 10 F1 CD 82 03 22 65 04 ED 5B 6F 04 19 22 .#....."e..[o.."
0000F0: 6F 04 2A 69 04 23 22 69 04 E1 E5 3E 0B CD E7 03 o.*i.#"i...>....
000100: 5E 2B 2B 4E 3A 72 04 A3 20 12 2A 67 04 23 22 67 ^++N:r.. .*g.#"g
000110: 04 CB 79 28 07 2A 6B 04 23 22 6B 04 E1 CB 79 28 ..y(.*k.#"k...y(
000120: 05 3A 83 04 A7 C8 3A 86 04 2B BE 23 C0 11 75 04 .:....:..+.#..u.
000130: CD A5 02 C0 E5 2A 65 04 ED 5B 6D 04 19 22 6D 04 .....*e..[m.."m.
000140: 01 00 00 E1 E5 2A 63 04 A7 ED 42 E1 28 39 CD 96 .....*c...B.(9..
000150: 03 CD A5 02 28 21 30 03 03 18 E9 C5 E5 D5 ED 4B ....(!0........K
000160: 63 04 CD 96 03 E1 A7 ED 52 44 4D 1B 1B 21 10 00 c.......RDM..!..
000170: 19 ED B0 E1 C1 18 14 EB 2B 56 2B 5E EB ED 4B 65 ........+V+^..Ke
000180: 04 09 EB 73 23 72 C9 ED 4B 63 04 CD 96 03 D5 01 ...s#r..Kc......
000190: 0B 00 ED B0 E1 ED 5B 65 04 2B 72 2B 73 2A 63 04 ......[e.+r+s*c.
0001A0: 23 22 63 04 C9 C5 06 0B D5 E5 1A E6 7F FE 3F 28 #"c...........?(
0001B0: 06 4E CB B9 B9 20 04 23 13 10 EF E1 D1 C1 C9 01 .N... .#........
0001C0: 00 00 1E FF 2A 63 04 A7 ED 42 09 28 3C 1C 7B FE ....*c...B.(<.{.
0001D0: 04 38 05 CD 02 04 1E 00 C5 D5 CD 96 03 EB E5 11 .8..............
0001E0: 08 00 19 CB 7E E1 3E 20 28 02 3E 2A CD 52 04 E5 ....~.> (.>*.R..
0001F0: 2B CD A7 03 E1 2B 2B CD 08 04 CB D1 7B FE 03 28 +....++.....{..(
Size : 512 (Real : 512)
000000: 73 65 6D 62 6C 79 20 6C 61 6E 67 75 61 67 65 0D sembly language.
000010: 0A 20 20 20 20 20 20 73 75 62 72 6F 75 74 69 6E . subroutin
000020: 65 2E 20 20 20 54 68 65 20 20 62 75 69 6C 74 69 e. The builti
000030: 6E 20 20 66 75 6E 63 74 69 6F 6E 20 20 50 4F 52 n function POR
000040: 54 49 4E 20 20 61 6E 64 20 20 62 75 69 6C 74 69 TIN and builti
000050: 6E 20 20 70 72 6F 63 65 64 75 72 65 0D 0A 20 20 n procedure..
000060: 20 20 20 20 50 4F 52 54 4F 55 54 20 20 61 72 65 PORTOUT are
000070: 20 20 64 65 73 63 72 69 62 65 64 20 20 69 6E 20 described in
000080: 20 74 68 65 20 20 73 65 63 74 69 6F 6E 73 20 20 the sections
000090: 6F 6E 20 20 62 75 69 6C 74 69 6E 20 66 75 6E 63 on builtin func
0000A0: 74 69 6F 6E 73 20 61 6E 64 0D 0A 20 20 20 20 20 tions and..
0000B0: 20 62 75 69 6C 74 69 6E 20 70 72 6F 63 65 64 75 builtin procedu
0000C0: 72 65 73 2E 0D 0A 0D 0A 20 20 20 20 20 20 20 20 res.....
0000D0: 20 20 20 4A 52 54 20 50 61 73 63 61 6C 20 76 65 JRT Pascal ve
0000E0: 72 73 69 6F 6E 20 33 20 6E 6F 77 20 73 75 70 70 rsion 3 now supp
0000F0: 6F 72 74 73 20 50 61 73 63 61 6C 20 66 69 6C 65 orts Pascal file
000100: 20 20 76 61 72 69 61 62 6C 65 73 2E 20 20 46 69 variables. Fi
000110: 6C 65 73 0D 0A 20 20 20 20 20 20 6D 61 79 20 20 les.. may
000120: 6E 6F 77 20 20 62 65 20 70 61 73 73 65 64 20 61 now be passed a
000130: 73 20 70 61 72 61 6D 65 74 65 72 73 20 74 6F 20 s parameters to
000140: 70 72 6F 63 65 64 75 72 65 73 2C 20 61 6C 6C 6F procedures, allo
000150: 63 61 74 65 64 20 6C 6F 63 61 6C 6C 79 20 69 6E cated locally in
000160: 0D 0A 20 20 20 20 20 20 70 72 6F 63 65 64 75 72 .. procedur
000170: 65 73 2C 20 62 65 20 75 73 65 64 20 69 6E 20 72 es, be used in r
000180: 65 63 6F 72 64 73 20 20 6F 72 20 20 61 72 72 61 ecords or arra
000190: 79 73 2C 20 20 62 65 20 20 75 73 65 64 20 20 69 ys, be used i
0001A0: 6E 20 20 61 73 73 69 67 6E 6D 65 6E 74 0D 0A 20 n assignment..
0001B0: 20 20 20 20 20 73 74 61 74 65 6D 65 6E 74 73 2E statements.
0001C0: 20 20 54 68 65 20 20 50 61 73 63 61 6C 20 20 62 The Pascal b
0001D0: 75 69 6C 74 69 6E 20 20 70 72 6F 63 65 64 75 72 uiltin procedur
0001E0: 65 73 20 20 47 45 54 20 20 61 6E 64 20 20 50 55 es GET and PU
0001F0: 54 20 20 61 72 65 20 6E 6F 77 0D 0A 20 20 20 20 T are now..
Size : 512 (Real : 512)
000000: 72 61 63 74 65 72 73 20 61 6E 64 20 73 69 6E 67 racters and sing
000010: 6C 65 20 71 75 6F 74 65 73 20 61 72 65 20 69 67 le quotes are ig
000020: 6E 6F 72 65 64 2E 20 20 54 68 65 20 73 79 73 74 nored. The syst
000030: 65 6D 20 77 69 6C 6C 20 6E 6F 74 20 20 61 6C 6C em will not all
000040: 6F 77 0D 0A 20 20 20 20 20 20 6D 6F 72 65 20 20 ow.. more
000050: 63 68 61 72 61 63 74 65 72 73 20 74 6F 20 62 65 characters to be
000060: 20 6B 65 79 65 64 20 69 6E 20 74 68 61 6E 20 63 keyed in than c
000070: 61 6E 20 66 69 74 20 69 6E 74 6F 20 74 68 65 20 an fit into the
000080: 76 61 72 69 61 62 6C 65 20 69 6E 20 74 68 65 0D variable in the.
000090: 0A 20 20 20 20 20 20 52 45 41 44 27 73 20 70 61 . READ's pa
0000A0: 72 61 6D 65 74 65 72 20 6C 69 73 74 2E 0D 0A 0D rameter list....
0000B0: 0A 20 20 20 20 20 20 20 20 20 20 20 43 6F 6E 73 . Cons
0000C0: 6F 6C 65 20 6F 75 74 70 75 74 20 63 61 6E 20 61 ole output can a
0000D0: 6C 73 6F 20 62 65 20 72 6F 75 74 65 64 20 74 6F lso be routed to
0000E0: 20 74 68 65 20 70 72 69 6E 74 65 72 20 6F 72 20 the printer or
0000F0: 6C 69 73 74 20 64 65 76 69 63 65 2E 0D 0A 20 20 list device...
000100: 20 20 20 20 54 68 65 20 53 59 53 54 45 4D 20 70 The SYSTEM p
000110: 72 6F 63 65 64 75 72 65 20 69 73 20 66 75 6C 6C rocedure is full
000120: 79 20 64 65 73 63 72 69 62 65 64 20 69 6E 20 20 y described in
000130: 74 68 65 20 20 73 65 63 74 69 6F 6E 20 20 6F 6E the section on
000140: 20 20 62 75 69 6C 74 69 6E 0D 0A 20 20 20 20 20 builtin..
000150: 20 70 72 6F 63 65 64 75 72 65 73 2E 20 53 6F 6D procedures. Som
000160: 65 20 6F 66 20 69 74 73 20 6F 70 74 69 6F 6E 73 e of its options
000170: 20 61 72 65 3A 0D 0A 0D 0A 20 20 20 20 20 20 20 are:....
000180: 20 20 20 20 20 20 20 20 20 20 20 53 59 53 54 45 SYSTE
000190: 4D 28 20 4C 49 53 54 20 29 3B 20 20 20 20 20 20 M( LIST );
0001A0: 20 20 20 72 6F 75 74 65 20 6F 75 74 70 75 74 20 route output
0001B0: 74 6F 20 70 72 69 6E 74 65 72 0D 0A 20 20 20 20 to printer..
0001C0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 53 59 SY
0001D0: 53 54 45 4D 28 20 4E 4F 4C 49 53 54 20 29 3B 20 STEM( NOLIST );
0001E0: 20 20 20 20 20 20 64 6F 20 6E 6F 74 20 72 6F 75 do not rou
0001F0: 74 65 20 74 6F 20 70 72 69 6E 74 65 72 0D 0A 20 te to printer..
Size : 512 (Real : 512)
000000: 20 20 73 75 70 70 6F 72 74 65 64 2E 0D 0A 0D 0A supported.....
000010: 20 20 20 20 20 20 37 2E 31 20 20 20 43 6F 6E 73 7.1 Cons
000020: 6F 6C 65 20 69 6E 70 75 74 2F 6F 75 74 70 75 74 ole input/output
000030: 0D 0A 0D 0A 20 20 20 20 20 20 20 20 20 20 20 43 .... C
000040: 6F 6E 73 6F 6C 65 20 69 6E 70 75 74 2F 6F 75 74 onsole input/out
000050: 70 75 74 20 20 69 73 20 20 74 68 65 20 20 75 73 put is the us
000060: 75 61 6C 20 20 6D 65 61 6E 73 20 20 66 6F 72 20 ual means for
000070: 20 61 20 20 70 72 6F 67 72 61 6D 20 20 74 6F 0D a program to.
000080: 0A 20 20 20 20 20 20 69 6E 74 65 72 61 63 74 20 . interact
000090: 20 77 69 74 68 20 20 74 68 65 20 20 75 73 65 72 with the user
0000A0: 2E 20 20 20 44 61 74 61 20 20 76 61 6C 75 65 73 . Data values
0000B0: 20 63 61 6E 20 62 65 20 64 69 73 70 6C 61 79 65 can be displaye
0000C0: 64 20 61 74 20 61 20 76 69 64 65 6F 0D 0A 20 20 d at a video..
0000D0: 20 20 20 20 74 65 72 6D 69 6E 61 6C 20 6F 72 20 terminal or
0000E0: 74 65 6C 65 74 79 70 65 20 61 6E 64 20 64 61 74 teletype and dat
0000F0: 61 20 63 61 6E 20 62 65 20 6B 65 79 65 64 20 69 a can be keyed i
000100: 6E 2E 0D 0A 0D 0A 20 20 20 20 20 20 20 20 20 20 n.....
000110: 20 43 6F 6E 73 6F 6C 65 20 69 6E 70 75 74 2F 6F Console input/o
000120: 75 74 70 75 74 20 61 6C 77 61 79 73 20 6F 63 63 utput always occ
000130: 75 72 73 20 69 6E 20 74 65 78 74 20 20 72 61 74 urs in text rat
000140: 68 65 72 20 20 74 68 61 6E 20 20 62 69 6E 61 72 her than binar
000150: 79 0D 0A 20 20 20 20 20 20 66 6F 72 6D 61 74 2E y.. format.
000160: 20 49 6E 74 65 67 65 72 73 2C 20 72 65 61 6C 20 Integers, real
000170: 6E 75 6D 62 65 72 73 2C 20 73 74 72 69 6E 67 73 numbers, strings
000180: 2C 20 63 68 61 72 61 63 74 65 72 73 20 61 6E 64 , characters and
000190: 20 42 6F 6F 6C 65 61 6E 73 20 77 69 6C 6C 0D 0A Booleans will..
0001A0: 20 20 20 20 20 20 62 65 20 20 64 69 73 70 6C 61 be displa
0001B0: 79 65 64 20 20 69 6E 20 74 65 78 74 20 66 6F 72 yed in text for
0001C0: 6D 61 74 2E 20 20 53 65 74 20 76 61 72 69 61 62 mat. Set variab
0001D0: 6C 65 73 20 68 61 76 65 20 6E 6F 20 6D 65 61 6E les have no mean
0001E0: 69 6E 67 66 75 6C 20 74 65 78 74 0D 0A 20 20 20 ingful text..
0001F0: 20 20 20 66 6F 72 6D 61 74 20 61 6E 64 20 63 61 format and ca
Size : 512 (Real : 512)
000000: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
000010: 20 53 59 53 54 45 4D 28 20 43 4F 4E 53 20 29 3B SYSTEM( CONS );
000020: 20 20 20 20 20 20 20 20 20 72 6F 75 74 65 20 74 route t
000030: 6F 20 63 6F 6E 73 6F 6C 65 20 64 65 76 69 63 65 o console device
000040: 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ..
000050: 20 20 20 20 53 59 53 54 45 4D 28 20 4E 4F 43 4F SYSTEM( NOCO
000060: 4E 53 20 29 3B 20 20 20 20 20 20 20 64 6F 20 6E NS ); do n
000070: 6F 74 20 72 6F 75 74 65 20 74 6F 20 63 6F 6E 73 ot route to cons
000080: 6F 6C 65 0D 0A 0D 0A 20 20 20 20 20 20 20 20 20 ole....
000090: 20 20 54 68 65 20 20 62 75 69 6C 74 69 6E 20 20 The builtin
0000A0: 70 72 6F 63 65 64 75 72 65 73 2F 66 75 6E 63 74 procedures/funct
0000B0: 69 6F 6E 73 20 20 75 73 65 64 20 69 6E 20 63 6F ions used in co
0000C0: 6E 73 6F 6C 65 20 69 6E 70 75 74 2F 6F 75 74 70 nsole input/outp
0000D0: 75 74 0D 0A 20 20 20 20 20 20 61 72 65 3A 0D 0A ut.. are:..
0000E0: 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ..
0000F0: 20 20 20 20 52 45 41 44 2C 20 52 45 41 44 4C 4E READ, READLN
000100: 20 20 20 20 20 20 20 20 20 20 20 20 72 65 61 64 read
000110: 20 64 61 74 61 20 69 6E 74 6F 20 73 74 6F 72 61 data into stora
000120: 67 65 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 ge..
000130: 20 20 20 20 20 20 57 52 49 54 45 2C 20 57 52 49 WRITE, WRI
000140: 54 45 4C 4E 20 20 20 20 20 20 20 20 20 20 77 72 TELN wr
000150: 69 74 65 20 64 61 74 61 20 74 6F 20 63 6F 6E 73 ite data to cons
000160: 6F 6C 65 2F 70 72 69 6E 74 65 72 0D 0A 20 20 20 ole/printer..
000170: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 45 E
000180: 4F 4C 4E 20 20 20 20 20 20 20 20 20 20 20 20 20 OLN
000190: 20 20 20 20 20 20 20 65 6E 64 20 6F 66 20 6C 69 end of li
0001A0: 6E 65 20 66 75 6E 63 74 69 6F 6E 0D 0A 0D 0A 0D ne function.....
0001B0: 0A 20 20 20 20 20 20 37 2E 32 20 20 20 53 65 71 . 7.2 Seq
0001C0: 75 65 6E 74 69 61 6C 20 66 69 6C 65 20 70 72 6F uential file pro
0001D0: 63 65 73 73 69 6E 67 0D 0A 0D 0A 20 20 20 20 20 cessing....
0001E0: 20 20 20 20 20 20 44 69 73 6B 20 66 69 6C 65 73 Disk files
0001F0: 20 61 72 65 20 6E 6F 74 20 69 6E 68 65 72 65 6E are not inheren
Size : 512 (Real : 512)
000000: 6E 6E 6F 74 20 62 65 20 77 72 69 74 74 65 6E 20 nnot be written
000010: 74 6F 20 74 68 65 20 63 6F 6E 73 6F 6C 65 2E 0D to the console..
000020: 0A 0D 0A 20 20 20 20 20 20 20 20 20 20 20 49 4D ... IM
000030: 50 4F 52 54 41 4E 54 20 2D 20 53 69 6E 63 65 20 PORTANT - Since
000040: 74 68 65 20 63 6F 6E 73 6F 6C 65 20 69 73 20 72 the console is r
000050: 65 67 61 72 64 65 64 20 61 73 20 61 20 74 65 78 egarded as a tex
000060: 74 20 64 65 76 69 63 65 2C 20 64 61 74 61 0D 0A t device, data..
000070: 20 20 20 20 20 20 69 74 65 6D 73 20 61 72 65 20 items are
000080: 64 65 6C 69 6D 69 74 65 64 20 62 79 20 63 6F 6D delimited by com
000090: 6D 61 73 2C 20 73 70 61 63 65 73 2C 20 74 61 62 mas, spaces, tab
0000A0: 73 20 61 6E 64 20 73 65 6D 69 63 6F 6C 6F 6E 73 s and semicolons
0000B0: 2E 20 20 54 6F 20 20 72 65 61 64 0D 0A 20 20 20 . To read..
0000C0: 20 20 20 6F 6E 65 20 63 68 61 72 61 63 74 65 72 one character
0000D0: 20 61 74 20 61 20 74 69 6D 65 2C 20 75 73 65 20 at a time, use
0000E0: 74 68 69 73 20 66 75 6E 63 74 69 6F 6E 3A 0D 0A this function:..
0000F0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 46 55 FU
000100: 4E 43 54 49 4F 4E 20 47 45 54 5F 43 48 41 52 20 NCTION GET_CHAR
000110: 3A 20 43 48 41 52 3B 0D 0A 20 20 20 20 20 20 20 : CHAR;..
000120: 20 20 20 20 20 20 20 56 41 52 20 52 20 3A 20 52 VAR R : R
000130: 45 43 4F 52 44 0D 0A 20 20 20 20 20 20 20 20 20 ECORD..
000140: 20 20 20 20 20 20 20 20 20 20 20 20 20 46 4C 41 FLA
000150: 47 2C 41 2C 43 2C 44 2C 45 2C 44 2C 4C 2C 48 20 G,A,C,D,E,D,L,H
000160: 3A 20 43 48 41 52 3B 0D 0A 20 20 20 20 20 20 20 : CHAR;..
000170: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 45 E
000180: 4E 44 3B 0D 0A 20 20 20 20 20 20 20 20 20 20 20 ND;..
000190: 20 20 20 42 45 47 49 4E 0D 0A 20 20 20 20 20 20 BEGIN..
0001A0: 20 20 20 20 20 20 20 20 52 2E 43 20 3A 3D 20 43 R.C := C
0001B0: 48 52 28 31 29 3B 0D 0A 20 20 20 20 20 20 20 20 HR(1);..
0001C0: 20 20 20 20 20 20 43 41 4C 4C 28 20 35 2C 52 2C CALL( 5,R,
0001D0: 52 20 29 3B 0D 0A 20 20 20 20 20 20 20 20 20 20 R );..
0001E0: 20 20 20 20 47 45 54 5F 43 48 41 52 20 3A 3D 20 GET_CHAR :=
0001F0: 52 2E 41 0D 0A 20 20 20 20 20 20 20 20 20 20 20 R.A..
Size : 512 (Real : 512)
000000: 74 6C 79 20 73 65 71 75 65 6E 74 69 61 6C 20 6F tly sequential o
000010: 72 20 72 61 6E 64 6F 6D 2E 20 20 54 68 6F 73 65 r random. Those
000020: 20 74 65 72 6D 73 0D 0A 20 20 20 20 20 20 61 70 terms.. ap
000030: 70 6C 79 20 74 6F 20 74 68 65 20 6D 65 61 6E 73 ply to the means
000040: 20 6F 66 20 61 63 63 65 73 73 20 77 68 69 63 68 of access which
000050: 20 6D 61 79 20 62 65 20 61 70 70 6C 69 65 64 20 may be applied
000060: 74 6F 20 61 6E 79 20 64 69 73 6B 20 66 69 6C 65 to any disk file
000070: 2E 0D 0A 0D 0A 20 20 20 20 20 20 20 20 20 20 20 .....
000080: 53 65 71 75 65 6E 74 69 61 6C 20 66 69 6C 65 20 Sequential file
000090: 20 70 72 6F 63 65 73 73 69 6E 67 20 20 69 73 20 processing is
0000A0: 20 67 65 6E 65 72 61 6C 6C 79 20 20 66 61 73 74 generally fast
0000B0: 65 72 20 20 74 68 61 6E 20 20 72 61 6E 64 6F 6D er than random
0000C0: 0D 0A 20 20 20 20 20 20 61 63 63 65 73 73 20 20 .. access
0000D0: 62 65 63 61 75 73 65 20 20 69 6E 70 75 74 2F 6F because input/o
0000E0: 75 74 70 75 74 20 20 63 61 6E 20 20 62 65 20 20 utput can be
0000F0: 62 75 66 66 65 72 65 64 20 61 6E 64 20 62 65 63 buffered and bec
000100: 61 75 73 65 20 74 68 65 20 64 69 73 6B 0D 0A 20 ause the disk..
000110: 20 20 20 20 20 70 6F 73 69 74 69 6F 6E 69 6E 67 positioning
000120: 20 6D 65 63 68 61 6E 69 73 6D 20 6F 6E 6C 79 20 mechanism only
000130: 6E 65 65 64 73 20 74 6F 20 6D 6F 76 65 20 73 68 needs to move sh
000140: 6F 72 74 20 64 69 73 74 61 6E 63 65 73 2E 0D 0A ort distances...
000150: 0D 0A 20 20 20 20 20 20 20 20 20 20 20 4A 52 54 .. JRT
000160: 20 50 61 73 63 61 6C 20 6C 65 74 73 20 74 68 65 Pascal lets the
000170: 20 75 73 65 72 20 20 6F 62 74 61 69 6E 20 20 6D user obtain m
000180: 61 78 69 6D 75 6D 20 20 70 72 6F 63 65 73 73 69 aximum processi
000190: 6E 67 20 20 73 70 65 65 64 20 20 62 79 0D 0A 20 ng speed by..
0001A0: 20 20 20 20 20 64 65 66 69 6E 69 6E 67 20 20 74 defining t
0001B0: 68 65 20 20 62 75 66 66 65 72 20 20 73 69 7A 65 he buffer size
0001C0: 20 20 66 6F 72 20 73 65 71 75 65 6E 74 69 61 6C for sequential
0001D0: 20 66 69 6C 65 73 2E 20 20 54 68 65 20 62 75 66 files. The buf
0001E0: 66 65 72 20 69 73 20 74 68 65 0D 0A 20 20 20 20 fer is the..
0001F0: 20 20 68 6F 6C 64 69 6E 67 20 61 72 65 61 20 77 holding area w
Size : 512 (Real : 512)
000000: 20 20 20 45 4E 44 3B 0D 0A 0D 0A 20 20 20 20 20 END;....
000010: 20 20 20 20 20 20 55 73 69 6E 67 20 20 74 68 65 Using the
000020: 20 20 48 45 58 24 20 62 75 69 6C 74 69 6E 20 66 HEX$ builtin f
000030: 75 6E 63 74 69 6F 6E 2C 20 61 6E 79 20 76 61 72 unction, any var
000040: 69 61 62 6C 65 20 63 61 6E 20 62 65 20 63 6F 6E iable can be con
000050: 76 65 72 74 65 64 0D 0A 20 20 20 20 20 20 74 6F verted.. to
000060: 20 68 65 78 20 66 6F 72 6D 61 74 20 66 6F 72 20 hex format for
000070: 64 69 72 65 63 74 20 64 69 73 70 6C 61 79 2E 20 direct display.
000080: 20 4F 6E 20 20 63 6F 6E 73 6F 6C 65 20 20 69 6E On console in
000090: 70 75 74 20 20 66 6F 72 20 20 69 6E 74 65 67 65 put for intege
0000A0: 72 73 2C 0D 0A 20 20 20 20 20 20 64 61 74 61 20 rs,.. data
0000B0: 20 6D 61 79 20 62 65 20 6B 65 79 65 64 20 69 6E may be keyed in
0000C0: 20 75 73 69 6E 67 20 73 74 61 6E 64 61 72 64 20 using standard
0000D0: 64 65 63 69 6D 61 6C 20 66 6F 72 6D 61 74 20 6F decimal format o
0000E0: 72 20 69 6E 20 68 65 78 20 66 6F 72 6D 61 74 2E r in hex format.
0000F0: 0D 0A 20 20 20 20 20 20 41 6E 20 27 48 27 20 63 .. An 'H' c
000100: 68 61 72 61 63 74 65 72 20 73 75 66 66 69 78 20 haracter suffix
000110: 69 6E 64 69 63 61 74 65 73 20 68 65 78 20 66 6F indicates hex fo
000120: 72 6D 61 74 2E 0D 0A 0D 0A 20 20 20 20 20 20 20 rmat.....
000130: 20 20 20 20 4F 6E 20 69 6E 70 75 74 20 74 6F 20 On input to
000140: 74 68 65 20 63 6F 6E 73 6F 6C 65 2C 20 64 61 74 the console, dat
000150: 61 20 69 74 65 6D 73 20 6D 61 79 20 62 65 20 73 a items may be s
000160: 65 70 61 72 61 74 65 64 20 62 79 20 20 73 70 61 eparated by spa
000170: 63 65 73 2C 0D 0A 20 20 20 20 20 20 74 61 62 73 ces,.. tabs
000180: 2C 20 20 63 6F 6D 6D 61 73 20 6F 72 20 73 65 6D , commas or sem
000190: 69 63 6F 6C 6F 6E 73 2E 20 20 43 68 61 72 61 63 icolons. Charac
0001A0: 74 65 72 20 6F 72 20 73 74 72 75 63 74 75 72 65 ter or structure
0001B0: 64 20 76 61 72 69 61 62 6C 65 20 69 6E 70 75 74 d variable input
0001C0: 73 0D 0A 20 20 20 20 20 20 77 68 69 63 68 20 63 s.. which c
0001D0: 6F 6E 74 61 69 6E 20 73 70 65 63 69 61 6C 20 63 ontain special c
0001E0: 68 61 72 61 63 74 65 72 73 20 6D 61 79 20 62 65 haracters may be
0001F0: 20 20 65 6E 74 65 72 65 64 20 20 69 6E 20 20 73 entered in s
Size : 512 (Real : 512)
000000: 68 65 72 65 20 64 69 73 6B 20 64 61 74 61 20 69 here disk data i
000010: 73 20 6C 6F 61 64 65 64 20 61 6E 64 20 20 77 72 s loaded and wr
000020: 69 74 74 65 6E 2E 20 20 20 54 68 69 73 20 20 61 itten. This a
000030: 72 65 61 20 20 69 73 0D 0A 20 20 20 20 20 20 66 rea is.. f
000040: 69 6C 6C 65 64 20 20 6F 72 20 20 65 6D 70 74 69 illed or empti
000050: 65 64 20 69 6E 20 6F 6E 65 20 62 75 72 73 74 20 ed in one burst
000060: 2D 20 6F 6E 65 20 64 69 73 6B 20 61 63 63 65 73 - one disk acces
000070: 73 20 77 69 74 68 20 6F 6E 65 20 68 65 61 64 20 s with one head
000080: 6C 6F 61 64 0D 0A 20 20 20 20 20 20 6F 70 65 72 load.. oper
000090: 61 74 69 6F 6E 2E 20 41 20 76 65 72 79 20 73 6D ation. A very sm
0000A0: 61 6C 6C 20 62 75 66 66 65 72 20 6D 61 79 20 20 all buffer may
0000B0: 63 61 75 73 65 20 20 64 69 73 6B 20 20 22 63 68 cause disk "ch
0000C0: 61 74 74 65 72 69 6E 67 22 20 20 64 75 72 69 6E attering" durin
0000D0: 67 0D 0A 20 20 20 20 20 20 70 72 6F 63 65 73 73 g.. process
0000E0: 69 6E 67 20 20 62 65 63 61 75 73 65 20 6F 66 20 ing because of
0000F0: 66 72 65 71 75 65 6E 74 20 61 63 63 65 73 73 65 frequent accesse
000100: 73 2E 20 20 41 20 6C 61 72 67 65 20 62 75 66 66 s. A large buff
000110: 65 72 20 77 69 6C 6C 20 72 65 73 75 6C 74 0D 0A er will result..
000120: 20 20 20 20 20 20 69 6E 20 6C 65 73 73 20 66 72 in less fr
000130: 65 71 75 65 6E 74 20 62 75 74 20 6C 6F 6E 67 65 equent but longe
000140: 72 20 64 69 73 6B 20 61 63 63 65 73 73 65 73 2E r disk accesses.
000150: 0D 0A 0D 0A 20 20 20 20 20 20 20 20 20 20 20 54 .... T
000160: 68 65 20 62 75 66 66 65 72 20 73 69 7A 65 20 69 he buffer size i
000170: 73 20 73 70 65 63 69 66 69 65 64 20 61 73 20 61 s specified as a
000180: 6E 20 20 69 6E 74 65 67 65 72 20 20 65 78 70 72 n integer expr
000190: 65 73 73 69 6F 6E 20 20 69 6E 20 20 74 68 65 0D ession in the.
0001A0: 0A 20 20 20 20 20 20 52 45 53 45 54 20 20 6F 72 . RESET or
0001B0: 20 20 52 45 57 52 49 54 45 20 70 72 6F 63 65 64 REWRITE proced
0001C0: 75 72 65 2E 20 20 49 74 20 77 69 6C 6C 20 62 65 ure. It will be
0001D0: 20 72 6F 75 6E 64 65 64 20 75 70 20 74 6F 20 61 rounded up to a
0001E0: 20 6D 75 6C 74 69 70 6C 65 20 6F 66 0D 0A 20 20 multiple of..
0001F0: 20 20 20 20 31 32 38 2E 20 20 49 66 20 73 74 6F 128. If sto
Size : 512 (Real : 512)
000000: 69 6E 67 6C 65 20 20 71 75 6F 74 65 73 2E 0D 0A ingle quotes...
000010: 20 20 20 20 20 20 54 68 65 20 71 75 6F 74 65 20 The quote
000020: 63 68 61 72 61 63 74 65 72 20 69 74 73 65 6C 66 character itself
000030: 20 6D 61 79 20 62 65 20 65 6E 74 65 72 65 64 20 may be entered
000040: 62 79 20 64 6F 75 62 6C 69 6E 67 20 69 74 2E 0D by doubling it..
000050: 0A 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 53 ... S
000060: 61 6D 70 6C 65 20 69 6E 70 75 74 20 6C 69 6E 65 ample input line
000070: 73 3A 0D 0A 0D 0A 20 20 20 20 20 20 20 20 20 20 s:....
000080: 20 20 20 20 20 20 20 20 33 2E 31 34 31 35 39 2C 3.14159,
000090: 37 37 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 77..
0000A0: 20 20 20 20 20 20 30 33 63 68 2C 27 4A 52 54 20 03ch,'JRT
0000B0: 53 79 73 74 65 6D 73 27 0D 0A 20 20 20 20 20 20 Systems'..
0000C0: 20 20 20 20 20 20 20 20 20 20 20 20 27 64 6F 6E 'don
0000D0: 27 27 74 20 73 61 79 20 79 6F 75 20 63 61 6E 27 ''t say you can'
0000E0: 27 74 27 0D 0A 20 20 20 20 20 20 20 20 20 20 20 't'..
0000F0: 20 20 20 20 20 20 20 36 2E 37 30 32 33 34 65 2D 6.70234e-
000100: 32 35 2C 30 2E 30 30 30 30 30 30 33 0D 0A 0D 0A 25,0.0000003....
000110: 20 20 20 20 20 20 20 20 20 20 20 52 65 61 64 69 Readi
000120: 6E 67 20 20 66 72 6F 6D 20 20 74 68 65 20 20 63 ng from the c
000130: 6F 6E 73 6F 6C 65 20 20 69 6E 74 6F 20 20 61 20 onsole into a
000140: 20 64 79 6E 61 6D 69 63 20 73 74 72 69 6E 67 20 dynamic string
000150: 76 61 72 69 61 62 6C 65 20 69 73 0D 0A 20 20 20 variable is..
000160: 20 20 20 74 72 65 61 74 65 64 20 64 69 66 66 65 treated diffe
000170: 72 65 6E 74 6C 79 2E 20 20 41 6E 20 65 6E 74 69 rently. An enti
000180: 72 65 20 6C 69 6E 65 20 6F 66 20 74 65 78 74 20 re line of text
000190: 20 69 73 20 20 6F 62 74 61 69 6E 65 64 20 20 66 is obtained f
0001A0: 72 6F 6D 20 20 74 68 65 0D 0A 20 20 20 20 20 20 rom the..
0001B0: 63 6F 6E 73 6F 6C 65 20 20 61 6E 64 20 20 6D 6F console and mo
0001C0: 76 65 64 20 20 64 69 72 65 63 74 6C 79 20 20 69 ved directly i
0001D0: 6E 74 6F 20 20 74 68 65 20 20 73 74 72 69 6E 67 nto the string
0001E0: 20 76 61 72 69 61 62 6C 65 2E 20 20 53 65 70 61 variable. Sepa
0001F0: 72 61 74 6F 72 0D 0A 20 20 20 20 20 20 63 68 61 rator.. cha
Size : 512 (Real : 512)
000000: 72 61 67 65 20 69 73 20 70 6C 65 6E 74 69 66 75 rage is plentifu
000010: 6C 2C 20 62 75 66 66 65 72 73 20 6F 66 20 34 30 l, buffers of 40
000020: 39 36 20 20 6F 72 20 20 38 31 39 32 20 20 62 79 96 or 8192 by
000030: 74 65 73 20 20 77 69 6C 6C 0D 0A 20 20 20 20 20 tes will..
000040: 20 69 6D 70 72 6F 76 65 20 70 72 6F 63 65 73 73 improve process
000050: 69 6E 67 2E 0D 0A 0D 0A 20 20 20 20 20 20 20 20 ing.....
000060: 20 20 20 54 68 65 20 20 62 75 69 6C 74 69 6E 20 The builtin
000070: 20 70 72 6F 63 65 64 75 72 65 73 2F 66 75 6E 63 procedures/func
000080: 74 69 6F 6E 73 20 20 75 73 65 64 20 69 6E 20 73 tions used in s
000090: 65 71 75 65 6E 74 69 61 6C 20 64 69 73 6B 20 66 equential disk f
0000A0: 69 6C 65 0D 0A 20 20 20 20 20 20 70 72 6F 63 65 ile.. proce
0000B0: 73 73 69 6E 67 20 61 72 65 0D 0A 0D 0A 20 20 20 ssing are....
0000C0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 52 R
0000D0: 45 53 45 54 20 20 20 20 20 20 20 20 20 20 20 20 ESET
0000E0: 20 6F 70 65 6E 20 66 69 6C 65 20 66 6F 72 20 69 open file for i
0000F0: 6E 70 75 74 0D 0A 20 20 20 20 20 20 20 20 20 20 nput..
000100: 20 20 20 20 20 20 20 20 52 45 57 52 49 54 45 20 REWRITE
000110: 20 20 20 20 20 20 20 20 20 20 6F 70 65 6E 20 66 open f
000120: 69 6C 65 20 66 6F 72 20 6F 75 74 70 75 74 0D 0A ile for output..
000130: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
000140: 20 20 43 4C 4F 53 45 20 20 20 20 20 20 20 20 20 CLOSE
000150: 20 20 20 20 74 65 72 6D 69 6E 61 74 65 20 66 69 terminate fi
000160: 6C 65 20 70 72 6F 63 65 73 73 69 6E 67 0D 0A 20 le processing..
000170: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
000180: 20 52 45 41 44 2C 20 52 45 41 44 4C 4E 20 20 20 READ, READLN
000190: 20 20 20 72 65 61 64 20 64 61 74 61 20 69 6E 74 read data int
0001A0: 6F 20 73 74 6F 72 61 67 65 0D 0A 20 20 20 20 20 o storage..
0001B0: 20 20 20 20 20 20 20 20 20 20 20 20 20 57 52 49 WRI
0001C0: 54 45 2C 20 57 52 49 54 45 4C 4E 20 20 20 20 77 TE, WRITELN w
0001D0: 72 69 74 65 20 64 61 74 61 20 74 6F 20 64 69 73 rite data to dis
0001E0: 6B 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 20 k..
0001F0: 20 20 20 20 20 45 4F 46 20 20 20 20 20 20 20 20 EOF
Size : 512 (Real : 512)
000000: 20 20 74 68 65 20 20 6C 6F 63 61 74 69 6F 6E 0D the location.
000010: 0A 20 20 20 20 20 20 6F 66 20 74 68 65 20 64 61 . of the da
000020: 74 61 20 69 74 65 6D 20 77 69 74 68 69 6E 20 74 ta item within t
000030: 68 65 20 66 69 6C 65 2E 20 20 54 68 65 20 66 69 he file. The fi
000040: 72 73 74 20 62 79 74 65 20 69 73 20 61 74 20 52 rst byte is at R
000050: 42 41 3D 30 2E 0D 0A 0D 0A 20 20 20 20 20 20 20 BA=0.....
000060: 20 20 20 20 54 68 65 20 20 52 42 41 20 20 6D 6F The RBA mo
000070: 64 65 20 6F 66 20 70 72 6F 63 65 73 73 69 6E 67 de of processing
000080: 20 67 69 76 65 73 20 6D 75 63 68 20 67 72 65 61 gives much grea
000090: 74 65 72 20 66 6C 65 78 69 62 69 6C 69 74 79 20 ter flexibility
0000A0: 74 68 61 6E 0D 0A 20 20 20 20 20 20 52 52 4E 2E than.. RRN.
0000B0: 20 20 49 66 20 61 6C 6C 20 72 65 63 6F 72 64 73 If all records
0000C0: 20 68 61 64 20 74 6F 20 62 65 20 74 68 65 20 73 had to be the s
0000D0: 61 6D 65 20 73 69 7A 65 2C 20 74 68 65 6E 20 61 ame size, then a
0000E0: 6C 6C 20 77 6F 75 6C 64 20 68 61 76 65 20 20 74 ll would have t
0000F0: 6F 0D 0A 20 20 20 20 20 20 62 65 20 74 68 65 20 o.. be the
000100: 73 69 7A 65 20 6F 66 20 74 68 65 20 6C 61 72 67 size of the larg
000110: 65 73 74 2C 20 72 65 73 75 6C 74 69 6E 67 20 69 est, resulting i
000120: 6E 20 6D 75 63 68 20 77 61 73 74 65 64 20 73 70 n much wasted sp
000130: 61 63 65 20 61 6E 64 20 73 6C 6F 77 65 72 0D 0A ace and slower..
000140: 20 20 20 20 20 20 61 63 63 65 73 73 2E 0D 0A 0D access....
000150: 0A 20 20 20 20 20 20 20 20 20 20 20 42 65 67 69 . Begi
000160: 6E 6E 69 6E 67 20 20 77 69 74 68 20 20 4A 52 54 nning with JRT
000170: 20 20 50 61 73 63 61 6C 20 76 65 72 73 69 6F 6E Pascal version
000180: 20 32 2E 31 2C 20 72 61 6E 64 6F 6D 20 66 69 6C 2.1, random fil
000190: 65 73 20 75 70 20 74 6F 20 74 68 65 0D 0A 20 20 es up to the..
0001A0: 20 20 20 20 43 50 2F 4D 20 6D 61 78 69 6D 75 6D CP/M maximum
0001B0: 20 6F 66 20 38 20 6D 65 67 61 62 79 74 65 73 20 of 8 megabytes
0001C0: 61 72 65 20 73 75 70 70 6F 72 74 65 64 2E 20 54 are supported. T
0001D0: 68 65 20 52 42 41 20 6F 72 20 52 52 4E 20 20 76 he RBA or RRN v
0001E0: 61 6C 75 65 20 20 6D 61 79 0D 0A 20 20 20 20 20 alue may..
0001F0: 20 62 65 20 20 61 6E 20 20 69 6E 74 65 67 65 72 be an integer
Size : 512 (Real : 512)
000000: 20 20 20 20 20 20 20 65 6E 64 20 6F 66 20 66 69 end of fi
000010: 6C 65 20 66 75 6E 63 74 69 6F 6E 0D 0A 20 20 20 le function..
000020: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 45 E
000030: 4F 4C 4E 20 20 20 20 20 20 20 20 20 20 20 20 20 OLN
000040: 20 65 6E 64 20 6F 66 20 6C 69 6E 65 20 66 75 6E end of line fun
000050: 63 74 69 6F 6E 0D 0A 20 20 20 20 20 20 20 20 20 ction..
000060: 20 20 20 20 20 20 20 20 20 45 52 41 53 45 20 20 ERASE
000070: 20 20 20 20 20 20 20 20 20 20 20 64 65 6C 65 74 delet
000080: 65 20 61 20 66 69 6C 65 0D 0A 20 20 20 20 20 20 e a file..
000090: 20 20 20 20 20 20 20 20 20 20 20 20 52 45 4E 41 RENA
0000A0: 4D 45 20 20 20 20 20 20 20 20 20 20 20 20 72 65 ME re
0000B0: 6E 61 6D 65 20 61 20 66 69 6C 65 0D 0A 0D 0A 0D name a file.....
0000C0: 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D ................
0000D0: 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D ................
0000E0: 0A 0D 0A 20 20 20 20 20 20 20 20 20 20 20 54 68 ... Th
0000F0: 69 73 20 73 61 6D 70 6C 65 20 70 72 6F 67 72 61 is sample progra
000100: 6D 20 72 65 61 64 73 20 69 6E 20 61 20 66 69 6C m reads in a fil
000110: 65 20 61 6E 64 20 64 75 6D 70 73 20 69 74 20 69 e and dumps it i
000120: 6E 20 20 68 65 78 20 20 66 6F 72 6D 61 74 0D 0A n hex format..
000130: 20 20 20 20 20 20 74 6F 20 74 68 65 20 63 6F 6E to the con
000140: 73 6F 6C 65 3A 0D 0A 0D 0A 20 20 20 20 20 20 20 sole:....
000150: 20 20 20 20 20 20 20 20 20 20 20 50 52 4F 47 52 PROGR
000160: 41 4D 20 44 55 4D 50 3B 0D 0A 0D 0A 20 20 20 20 AM DUMP;....
000170: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 54 59 TY
000180: 50 45 20 42 4C 4F 43 4B 20 3D 20 41 52 52 41 59 PE BLOCK = ARRAY
000190: 20 5B 31 2E 2E 31 36 5D 20 4F 46 20 43 48 41 52 [1..16] OF CHAR
0001A0: 3B 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 4E 41 4D 45 20 NAME
0001C0: 3D 20 41 52 52 41 59 20 5B 31 2E 2E 31 34 5D 20 = ARRAY [1..14]
0001D0: 4F 46 20 43 48 41 52 3B 0D 0A 0D 0A 20 20 20 20 OF CHAR;....
0001E0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 56 41 VA
0001F0: 52 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 20 R..
Size : 512 (Real : 512)
000000: 20 20 6F 72 20 61 20 72 65 61 6C 20 65 78 70 72 or a real expr
000010: 65 73 73 69 6F 6E 2E 20 50 72 6F 67 72 61 6D 73 ession. Programs
000020: 20 77 72 69 74 74 65 6E 20 75 6E 64 65 72 20 65 written under e
000030: 61 72 6C 69 65 72 0D 0A 20 20 20 20 20 20 76 65 arlier.. ve
000040: 72 73 69 6F 6E 73 20 61 72 65 20 73 6F 75 72 63 rsions are sourc
000050: 65 20 63 6F 64 65 20 63 6F 6D 70 61 74 69 62 6C e code compatibl
000060: 65 20 62 75 74 20 6D 75 73 74 20 62 65 20 72 65 e but must be re
000070: 63 6F 6D 70 69 6C 65 64 20 75 73 69 6E 67 20 20 compiled using
000080: 74 68 65 0D 0A 20 20 20 20 20 20 76 65 72 73 69 the.. versi
000090: 6F 6E 20 32 2E 31 20 6F 72 20 6C 61 74 65 72 20 on 2.1 or later
0000A0: 63 6F 6D 70 69 6C 65 72 2E 0D 0A 0D 0A 20 20 20 compiler.....
0000B0: 20 20 20 20 20 20 20 20 54 68 65 20 70 72 6F 63 The proc
0000C0: 65 64 75 72 65 73 20 75 73 65 64 20 69 6E 20 72 edures used in r
0000D0: 61 6E 64 6F 6D 20 66 69 6C 65 20 70 72 6F 63 65 andom file proce
0000E0: 73 73 69 6E 67 20 61 72 65 3A 0D 0A 0D 0A 20 20 ssing are:....
0000F0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
000100: 20 20 20 20 4F 50 45 4E 20 20 20 20 20 20 20 20 OPEN
000110: 20 20 20 20 6F 70 65 6E 20 6F 72 20 63 72 65 61 open or crea
000120: 74 65 20 72 61 6E 64 6F 6D 20 66 69 6C 65 0D 0A te random file..
000130: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
000140: 20 20 20 20 20 20 43 4C 4F 53 45 20 20 20 20 20 CLOSE
000150: 20 20 20 20 20 20 74 65 72 6D 69 6E 61 74 65 20 terminate
000160: 66 69 6C 65 20 70 72 6F 63 65 73 73 69 6E 67 0D file processing.
000170: 0A 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .
000180: 20 20 20 20 20 20 20 52 45 41 44 20 20 20 20 20 READ
000190: 20 20 20 20 20 20 20 72 65 61 64 20 64 61 74 61 read data
0001A0: 20 69 6E 74 6F 20 73 74 6F 72 61 67 65 0D 0A 20 into storage..
0001B0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
0001C0: 20 20 20 20 20 57 52 49 54 45 20 20 20 20 20 20 WRITE
0001D0: 20 20 20 20 20 74 72 61 6E 73 66 65 72 20 64 61 transfer da
0001E0: 74 61 20 74 6F 20 64 69 73 6B 0D 0A 20 20 20 20 ta to disk..
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 42 20 3A 20 42 4C 4F 43 4B 3B 0D B : BLOCK;.
000010: 0A 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .
000020: 20 20 20 44 55 4D 50 5F 46 49 4C 45 20 3A 20 46 DUMP_FILE : F
000030: 49 4C 45 20 4F 46 20 42 4C 4F 43 4B 3B 0D 0A 20 ILE OF BLOCK;..
000040: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
000050: 20 46 49 4C 45 4E 41 4D 45 20 3A 20 4E 41 4D 45 FILENAME : NAME
000060: 3B 0D 0A 0D 0A 20 20 20 20 20 20 20 20 20 20 20 ;....
000070: 20 20 20 20 20 20 20 42 45 47 49 4E 0D 0A 20 20 BEGIN..
000080: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
000090: 57 48 49 4C 45 20 54 52 55 45 20 44 4F 20 20 20 WHILE TRUE DO
0000A0: 20 20 28 2A 20 49 4E 46 49 4E 49 54 45 20 4C 4F (* INFINITE LO
0000B0: 4F 50 20 2A 29 0D 0A 20 20 20 20 20 20 20 20 20 OP *)..
0000C0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 42 B
0000D0: 45 47 49 4E 0D 0A 20 20 20 20 20 20 20 20 20 20 EGIN..
0000E0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 57 52 WR
0000F0: 49 54 45 28 27 65 6E 74 65 72 20 66 69 6C 65 6E ITE('enter filen
000100: 61 6D 65 20 3A 20 27 29 3B 0D 0A 20 20 20 20 20 ame : ');..
000110: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
000120: 20 20 20 52 45 41 44 4C 4E 28 20 46 49 4C 45 4E READLN( FILEN
000130: 41 4D 45 20 29 3B 0D 0A 20 20 20 20 20 20 20 20 AME );..
000140: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
000150: 52 45 53 45 54 28 20 44 55 4D 50 5F 46 49 4C 45 RESET( DUMP_FILE
000160: 2C 20 46 49 4C 45 4E 41 4D 45 2C 0D 0A 20 20 20 , FILENAME,..
000170: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
000180: 20 20 20 20 20 20 20 20 20 20 20 42 49 4E 41 52 BINAR
000190: 59 2C 20 34 30 39 36 29 3B 0D 0A 20 20 20 20 20 Y, 4096);..
0001A0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
0001B0: 20 20 20 57 48 49 4C 45 20 4E 4F 54 20 45 4F 46 WHILE NOT EOF
0001C0: 28 20 44 55 4D 50 5F 46 49 4C 45 20 29 20 44 4F ( DUMP_FILE ) DO
0001D0: 20 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 20 ..
0001E0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
0001F0: 20 42 45 47 49 4E 0D 0A 20 20 20 20 20 20 20 20 BEGIN..
Size : 512 (Real : 512)
000000: 20 20 45 52 41 53 45 20 20 20 20 20 20 20 20 20 ERASE
000010: 20 20 64 65 6C 65 74 65 20 61 20 66 69 6C 65 0D delete a file.
000020: 0A 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .
000030: 20 20 20 20 20 20 20 52 45 4E 41 4D 45 20 20 20 RENAME
000040: 20 20 20 20 20 20 20 72 65 6E 61 6D 65 20 61 20 rename a
000050: 66 69 6C 65 0D 0A 0D 0A 20 20 20 20 20 20 20 20 file....
000060: 20 20 20 41 20 20 73 61 6D 70 6C 65 20 70 72 6F A sample pro
000070: 67 72 61 6D 20 73 68 6F 77 73 20 72 61 6E 64 6F gram shows rando
000080: 6D 20 61 63 63 65 73 73 20 74 6F 20 61 20 66 69 m access to a fi
000090: 6C 65 20 63 6F 6E 74 61 69 6E 69 6E 67 20 73 61 le containing sa
0000A0: 6C 65 73 0D 0A 20 20 20 20 20 20 69 6E 66 6F 72 les.. infor
0000B0: 6D 61 74 69 6F 6E 20 66 6F 72 20 74 68 65 20 20 mation for the
0000C0: 76 61 72 69 6F 75 73 20 20 64 65 70 61 72 74 6D various departm
0000D0: 65 6E 74 73 20 20 6F 66 20 20 61 20 20 72 65 74 ents of a ret
0000E0: 61 69 6C 20 20 73 74 6F 72 65 2E 20 20 54 68 65 ail store. The
0000F0: 0D 0A 20 20 20 20 20 20 72 65 63 6F 72 64 73 20 .. records
000100: 61 72 65 20 6C 6F 63 61 74 65 64 20 62 79 20 64 are located by d
000110: 65 70 61 72 74 6D 65 6E 74 20 6E 75 6D 62 65 72 epartment number
000120: 2E 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D ................
000130: 0A 20 20 20 20 20 20 53 61 6D 70 6C 65 20 70 72 . Sample pr
000140: 6F 67 72 61 6D 3A 0D 0A 0D 0A 20 20 20 20 20 20 ogram:....
000150: 20 20 20 20 20 20 20 20 50 52 4F 47 52 41 4D 20 PROGRAM
000160: 49 4E 51 55 49 52 59 3B 0D 0A 0D 0A 20 20 20 20 INQUIRY;....
000170: 20 20 20 20 20 20 20 20 20 20 4C 41 42 45 4C 20 LABEL
000180: 31 30 3B 0D 0A 0D 0A 20 20 20 20 20 20 20 20 20 10;....
000190: 20 20 20 20 20 54 59 50 45 0D 0A 20 20 20 20 20 TYPE..
0001A0: 20 20 20 20 20 20 20 20 20 44 45 50 54 5F 52 45 DEPT_RE
0001B0: 43 4F 52 44 20 3D 20 52 45 43 4F 52 44 0D 0A 20 CORD = RECORD..
0001C0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
0001D0: 20 20 20 20 20 49 4E 56 45 4E 54 4F 52 59 20 20 INVENTORY
0001E0: 20 20 20 20 20 3A 20 52 45 41 4C 3B 0D 0A 20 20 : REAL;..
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 20 20 20 20 20 20 20 20 20 20 20
000010: 20 20 20 20 20 20 52 45 41 44 28 20 44 55 4D 50 READ( DUMP
000020: 5F 46 49 4C 45 3B 20 42 29 3B 0D 0A 20 20 20 20 _FILE; B);..
000030: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
000040: 20 20 20 20 20 20 20 20 20 20 57 52 49 54 45 4C WRITEL
000050: 4E 28 20 48 45 58 24 28 42 29 20 29 3B 0D 0A 20 N( HEX$(B) );..
000060: 20 20 20 20 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: 3B 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 20 ;..
000090: 20 20 20 20 20 20 20 20 20 20 20 43 4C 4F 53 45 CLOSE
0000A0: 28 20 44 55 4D 50 5F 46 49 4C 45 20 29 3B 0D 0A ( DUMP_FILE );..
0000B0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
0000C0: 20 20 20 20 20 20 20 20 57 52 49 54 45 4C 4E 3B WRITELN;
0000D0: 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ..
0000E0: 20 20 20 20 20 20 20 20 20 20 45 4E 44 3B 0D 0A END;..
0000F0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
000100: 20 20 45 4E 44 2E 0D 0A 0D 0A 0D 0A 20 20 20 20 END.......
000110: 20 20 37 2E 33 20 20 20 52 61 6E 64 6F 6D 20 66 7.3 Random f
000120: 69 6C 65 20 70 72 6F 63 65 73 73 69 6E 67 0D 0A ile processing..
000130: 0D 0A 20 20 20 20 20 20 20 20 20 20 20 43 50 2F .. CP/
000140: 4D 20 20 76 65 72 73 69 6F 6E 20 32 2E 32 20 6F M version 2.2 o
000150: 72 20 68 69 67 68 65 72 20 69 73 20 72 65 71 75 r higher is requ
000160: 69 72 65 64 20 74 6F 20 75 73 65 20 4A 52 54 20 ired to use JRT
000170: 50 61 73 63 61 6C 20 72 61 6E 64 6F 6D 0D 0A 20 Pascal random..
000180: 20 20 20 20 20 66 69 6C 65 20 70 72 6F 63 65 73 file proces
000190: 73 69 6E 67 2E 0D 0A 0D 0A 20 20 20 20 20 20 20 sing.....
0001A0: 20 20 20 20 46 6F 72 20 6D 61 6E 79 20 74 79 70 For many typ
0001B0: 65 73 20 6F 66 20 70 72 6F 63 65 73 73 69 6E 67 es of processing
0001C0: 20 69 74 20 69 73 20 6E 6F 74 20 6B 6E 6F 77 6E it is not known
0001D0: 20 69 6E 20 61 64 76 61 6E 63 65 20 69 6E 20 77 in advance in w
0001E0: 68 69 63 68 0D 0A 20 20 20 20 20 20 73 65 71 75 hich.. sequ
0001F0: 65 6E 63 65 20 74 68 65 20 72 65 63 6F 72 64 73 ence the records
Size : 512 (Real : 512)
000000: 20 20 20 20 4D 54 44 5F 53 41 4C 45 53 20 20 20 MTD_SALES
000010: 20 20 20 20 3A 20 52 45 41 4C 3B 0D 0A 20 20 20 : REAL;..
000020: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
000030: 20 20 20 59 54 44 5F 53 41 4C 45 53 20 20 20 20 YTD_SALES
000040: 20 20 20 3A 20 52 45 41 4C 3B 0D 0A 20 20 20 20 : REAL;..
000050: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
000060: 20 20 44 49 53 43 4F 55 4E 54 20 20 20 20 20 20 DISCOUNT
000070: 20 20 3A 20 52 45 41 4C 3B 0D 0A 20 20 20 20 20 : REAL;..
000080: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
000090: 20 45 4E 44 3B 0D 0A 0D 0A 20 20 20 20 20 20 20 END;....
0000A0: 20 20 20 20 20 20 20 56 41 52 0D 0A 20 20 20 20 VAR..
0000B0: 20 20 20 20 20 20 20 20 20 20 49 4E 50 55 54 5F INPUT_
0000C0: 41 52 45 41 20 20 20 20 20 20 3A 20 44 45 50 54 AREA : DEPT
0000D0: 5F 52 45 43 4F 52 44 3B 0D 0A 20 20 20 20 20 20 _RECORD;..
0000E0: 20 20 20 20 20 20 20 20 44 45 50 54 5F 46 49 4C DEPT_FIL
0000F0: 45 20 20 20 20 20 20 20 3A 20 46 49 4C 45 20 4F E : FILE O
000100: 46 20 44 45 50 54 5F 52 45 43 4F 52 44 3B 0D 0A F DEPT_RECORD;..
000110: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 44 45 DE
000120: 50 54 20 20 20 20 20 20 20 20 20 20 20 20 3A 20 PT :
000130: 49 4E 54 45 47 45 52 3B 0D 0A 0D 0A 20 20 20 20 INTEGER;....
000140: 20 20 20 20 20 20 20 20 20 20 42 45 47 49 4E 20 BEGIN
000150: 20 20 28 2A 20 49 4E 51 55 49 52 59 20 2A 29 0D (* INQUIRY *).
000160: 0A 20 20 20 20 20 20 20 20 20 20 20 20 20 20 4F . O
000170: 50 45 4E 28 20 44 45 50 54 5F 46 49 4C 45 2C 20 PEN( DEPT_FILE,
000180: 27 43 3A 44 45 50 54 44 41 54 41 2E 52 4E 44 27 'C:DEPTDATA.RND'
000190: 2C 20 42 49 4E 41 52 59 20 29 3B 0D 0A 0D 0A 20 , BINARY );....
0001A0: 20 20 20 20 20 20 20 20 20 20 20 20 20 52 45 50 REP
0001B0: 45 41 54 0D 0A 20 20 20 20 20 20 20 20 20 20 20 EAT..
0001C0: 20 20 20 20 20 57 52 49 54 45 28 27 45 6E 74 65 WRITE('Ente
0001D0: 72 20 64 65 70 74 20 6E 75 6D 62 65 72 20 3A 20 r dept number :
0001E0: 27 29 3B 0D 0A 20 20 20 20 20 20 20 20 20 20 20 ');..
0001F0: 20 20 20 20 20 52 45 41 44 4C 4E 28 20 44 45 50 READLN( DEP
Size : 512 (Real : 512)
000000: 20 6F 66 20 61 20 66 69 6C 65 20 77 69 6C 6C 20 of a file will
000010: 62 65 20 6E 65 65 64 65 64 2E 20 20 41 20 73 70 be needed. A sp
000020: 65 6C 6C 69 6E 67 20 64 69 63 74 69 6F 6E 61 72 elling dictionar
000030: 79 0D 0A 20 20 20 20 20 20 6F 72 20 6F 6E 6C 69 y.. or onli
000040: 6E 65 20 69 6E 71 75 69 72 79 20 63 75 73 74 6F ne inquiry custo
000050: 6D 65 72 20 64 61 74 61 62 61 73 65 20 6F 62 76 mer database obv
000060: 69 6F 75 73 6C 79 20 6D 75 73 74 20 75 73 65 20 iously must use
000070: 72 61 6E 64 6F 6D 20 20 61 63 63 65 73 73 0D 0A random access..
000080: 20 20 20 20 20 20 66 69 6C 65 73 2E 0D 0A 0D 0A files.....
000090: 20 20 20 20 20 20 20 20 20 20 20 49 6E 20 20 4A In J
0000A0: 52 54 20 20 50 61 73 63 61 6C 2C 20 20 72 61 6E RT Pascal, ran
0000B0: 64 6F 6D 20 61 63 63 65 73 73 20 69 73 20 66 75 dom access is fu
0000C0: 6C 6C 79 20 73 75 70 70 6F 72 74 65 64 2E 20 20 lly supported.
0000D0: 44 61 74 61 20 63 61 6E 20 62 65 0D 0A 20 20 20 Data can be..
0000E0: 20 20 20 72 65 61 64 20 61 6E 64 20 75 70 64 61 read and upda
0000F0: 74 65 64 20 62 79 20 70 72 6F 76 69 64 69 6E 67 ted by providing
000100: 20 74 68 65 20 72 65 6C 61 74 69 76 65 20 72 65 the relative re
000110: 63 6F 72 64 20 6E 75 6D 62 65 72 20 28 52 52 4E cord number (RRN
000120: 29 20 77 69 74 68 69 6E 0D 0A 20 20 20 20 20 20 ) within..
000130: 74 68 65 20 66 69 6C 65 20 66 6F 72 20 66 69 78 the file for fix
000140: 65 64 20 6C 65 6E 67 74 68 20 72 65 63 6F 72 64 ed length record
000150: 73 2E 20 20 54 68 65 20 66 69 72 73 74 20 20 72 s. The first r
000160: 65 63 6F 72 64 20 20 69 73 20 20 61 74 20 20 52 ecord is at R
000170: 52 4E 3D 30 2E 0D 0A 20 20 20 20 20 20 46 6F 72 RN=0... For
000180: 20 20 76 61 72 69 61 62 6C 65 20 20 6C 65 6E 67 variable leng
000190: 74 68 20 20 72 65 63 6F 72 64 73 2C 20 20 74 68 th records, th
0001A0: 65 20 20 64 61 74 61 20 20 63 61 6E 20 62 65 20 e data can be
0001B0: 72 65 61 64 20 6F 72 20 75 70 64 61 74 65 64 20 read or updated
0001C0: 62 79 0D 0A 20 20 20 20 20 20 70 72 6F 76 69 64 by.. provid
0001D0: 69 6E 67 20 74 68 65 20 72 65 6C 61 74 69 76 65 ing the relative
0001E0: 20 62 79 74 65 20 61 64 64 72 65 73 73 20 28 52 byte address (R
0001F0: 42 41 29 2E 20 20 54 68 65 20 52 42 41 20 69 73 BA). The RBA is
Size : 512 (Real : 512)
000000: 54 20 29 3B 0D 0A 20 20 20 20 20 20 20 20 20 20 T );..
000010: 20 20 20 20 20 20 49 46 20 44 45 50 54 20 3D 20 IF DEPT =
000020: 39 39 39 20 54 48 45 4E 20 47 4F 54 4F 20 31 30 999 THEN GOTO 10
000030: 3B 20 20 20 28 2A 20 45 58 49 54 20 2A 29 0D 0A ; (* EXIT *)..
000040: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
000050: 52 45 41 44 28 20 44 45 50 54 5F 46 49 4C 45 2C READ( DEPT_FILE,
000060: 20 52 52 4E 2C 20 44 45 50 54 3B 0D 0A 20 20 20 RRN, DEPT;..
000070: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
000080: 20 20 20 49 4E 50 55 54 5F 41 52 45 41 20 29 3B INPUT_AREA );
000090: 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ..
0000A0: 20 20 57 52 49 54 45 4C 4E 3B 0D 0A 20 20 20 20 WRITELN;..
0000B0: 20 20 20 20 20 20 20 20 20 20 20 20 57 52 49 54 WRIT
0000C0: 45 4C 4E 28 27 64 65 70 74 20 27 2C 44 45 50 54 ELN('dept ',DEPT
0000D0: 2C 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 20 ,..
0000E0: 20 20 20 20 20 20 20 20 20 27 20 20 20 69 6E 76 ' inv
0000F0: 20 27 2C 49 4E 50 55 54 5F 41 52 45 41 2E 49 4E ',INPUT_AREA.IN
000100: 56 45 4E 54 4F 52 59 3A 39 3A 32 2C 0D 0A 20 20 VENTORY:9:2,..
000110: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
000120: 20 20 20 20 27 20 20 20 64 69 73 63 20 27 2C 49 ' disc ',I
000130: 4E 50 55 54 5F 41 52 45 41 2E 44 49 53 43 4F 55 NPUT_AREA.DISCOU
000140: 4E 54 3A 39 3A 32 29 3B 0D 0A 20 20 20 20 20 20 NT:9:2);..
000150: 20 20 20 20 20 20 20 20 20 20 57 52 49 54 45 4C WRITEL
000160: 4E 28 27 20 20 20 4D 54 44 20 73 61 6C 65 73 27 N(' MTD sales'
000170: 2C 4D 54 44 5F 53 41 4C 45 53 3A 39 3A 32 2C 0D ,MTD_SALES:9:2,.
000180: 0A 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .
000190: 20 20 20 20 20 20 20 27 20 20 20 59 54 44 20 73 ' YTD s
0001A0: 61 6C 65 73 27 2C 59 54 44 5F 53 41 4C 45 53 3A ales',YTD_SALES:
0001B0: 39 3A 32 29 3B 0D 0A 20 20 20 20 20 20 20 20 20 9:2);..
0001C0: 20 20 20 20 20 20 20 57 52 49 54 45 4C 4E 3B 0D WRITELN;.
0001D0: 0A 20 20 20 20 20 20 20 20 20 20 20 20 20 20 31 . 1
0001E0: 30 3A 20 20 20 20 20 28 2A 20 45 58 49 54 20 4C 0: (* EXIT L
0001F0: 41 42 45 4C 20 2A 29 0D 0A 20 20 20 20 20 20 20 ABEL *)..
Size : 512 (Real : 512)
000000: 20 20 20 20 20 20 20 20 20 6B 65 79 20 73 69 7A key siz
000010: 65 20 20 20 20 20 20 20 20 6D 61 78 20 72 65 63 e max rec
000020: 6F 72 64 73 0D 0A 20 20 20 20 20 20 20 20 20 20 ords..
000030: 20 20 20 20 5F 5F 5F 5F 5F 5F 5F 5F 20 20 20 20 ________
000040: 20 20 20 20 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F 0D ___________.
000050: 0A 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .
000060: 20 20 34 20 20 20 20 20 20 20 20 20 20 20 20 20 4
000070: 20 33 32 37 36 37 20 20 3C 2D 2D 2D 20 20 20 4E 32767 <--- N
000080: 6F 74 20 6D 6F 72 65 20 74 68 61 6E 20 33 32 37 ot more than 327
000090: 36 37 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 67..
0000A0: 20 20 20 20 20 36 20 20 20 20 20 20 20 20 20 20 6
0000B0: 20 20 20 20 32 38 39 32 38 20 20 20 20 20 20 20 28928
0000C0: 20 20 72 65 63 6F 72 64 73 20 65 76 65 72 20 61 records ever a
0000D0: 6C 6C 6F 77 65 64 0D 0A 20 20 20 20 20 20 20 20 llowed..
0000E0: 20 20 20 20 20 20 20 20 20 38 20 20 20 20 20 20 8
0000F0: 20 20 20 20 20 20 20 20 32 33 38 30 38 0D 0A 20 23808..
000100: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 31 1
000110: 35 20 20 20 20 20 20 20 20 20 20 20 20 20 20 31 5 1
000120: 34 33 33 36 0D 0A 0D 0A 20 20 20 20 20 20 20 20 4336....
000130: 20 20 20 54 68 65 20 6D 61 78 69 6D 75 6D 20 6E The maximum n
000140: 75 6D 62 65 72 20 6F 66 20 72 65 63 6F 72 64 73 umber of records
000150: 20 73 68 6F 75 6C 64 20 62 65 20 20 73 65 74 20 should be set
000160: 20 74 6F 20 20 73 6F 6D 65 77 68 61 74 20 20 6C to somewhat l
000170: 65 73 73 0D 0A 20 20 20 20 20 20 74 68 61 6E 20 ess.. than
000180: 20 74 68 65 20 20 6D 61 78 69 6D 75 6D 20 74 68 the maximum th
000190: 65 6F 72 65 74 69 63 61 6C 20 6E 75 6D 62 65 72 eoretical number
0001A0: 20 6F 66 20 72 65 63 6F 72 64 73 2C 20 74 6F 20 of records, to
0001B0: 70 72 65 76 65 6E 74 20 74 68 65 20 6C 6F 73 73 prevent the loss
0001C0: 0D 0A 20 20 20 20 20 20 6F 66 20 61 20 72 65 63 .. of a rec
0001D0: 6F 72 64 20 77 68 65 6E 20 61 64 64 69 6E 67 20 ord when adding
0001E0: 74 6F 20 61 6E 20 75 6E 62 61 6C 61 6E 63 65 64 to an unbalanced
0001F0: 20 66 69 6C 65 2E 20 20 4E 6F 74 65 20 20 61 6C file. Note al
Size : 512 (Real : 512)
000000: 20 20 20 20 20 20 20 55 4E 54 49 4C 20 44 45 50 UNTIL DEP
000010: 54 20 3D 20 39 39 39 3B 0D 0A 0D 0A 20 20 20 20 T = 999;....
000020: 20 20 20 20 20 20 20 20 20 20 43 4C 4F 53 45 28 CLOSE(
000030: 20 44 45 50 54 5F 46 49 4C 45 20 29 3B 0D 0A 20 DEPT_FILE );..
000040: 20 20 20 20 20 20 20 20 20 20 20 20 20 45 4E 44 END
000050: 20 20 20 20 20 28 2A 20 49 4E 51 55 49 52 59 20 (* INQUIRY
000060: 2A 29 2E 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 37 *)....... 7
000070: 2E 34 20 20 20 49 6E 64 65 78 65 64 20 66 69 6C .4 Indexed fil
000080: 65 20 70 72 6F 63 65 73 73 69 6E 67 0D 0A 0D 0A e processing....
000090: 20 20 20 20 20 20 20 20 20 20 20 43 50 2F 4D 20 CP/M
0000A0: 76 65 72 73 69 6F 6E 20 32 2E 32 20 6F 72 20 68 version 2.2 or h
0000B0: 69 67 68 65 72 20 69 73 20 72 65 71 75 69 72 65 igher is require
0000C0: 64 20 74 6F 20 75 73 65 20 4A 52 54 20 50 61 73 d to use JRT Pas
0000D0: 63 61 6C 20 69 6E 64 65 78 65 64 0D 0A 20 20 20 cal indexed..
0000E0: 20 20 20 66 69 6C 65 20 70 72 6F 63 65 73 73 69 file processi
0000F0: 6E 67 2E 0D 0A 0D 0A 20 20 20 20 20 20 20 20 20 ng.....
000100: 20 20 42 65 67 69 6E 6E 69 6E 67 20 77 69 74 68 Beginning with
000110: 20 76 65 72 73 69 6F 6E 20 33 2E 30 2C 20 4A 52 version 3.0, JR
000120: 54 20 50 61 73 63 61 6C 20 70 72 6F 76 69 64 65 T Pascal provide
000130: 73 20 66 75 6C 6C 20 73 75 70 70 6F 72 74 20 66 s full support f
000140: 6F 72 0D 0A 20 20 20 20 20 20 69 6E 64 65 78 65 or.. indexe
000150: 64 20 20 66 69 6C 65 73 2E 20 20 20 54 68 65 20 d files. The
000160: 20 69 6E 64 65 78 20 66 69 6C 65 20 73 79 73 74 index file syst
000170: 65 6D 20 69 73 20 69 6D 70 6C 65 6D 65 6E 74 65 em is implemente
000180: 64 20 61 73 20 32 20 65 78 74 65 72 6E 61 6C 0D d as 2 external.
000190: 0A 20 20 20 20 20 20 70 72 6F 63 65 64 75 72 65 . procedure
0001A0: 73 20 73 6F 20 74 68 61 74 20 69 74 20 6F 63 63 s so that it occ
0001B0: 75 70 69 65 73 20 6E 6F 20 6D 61 69 6E 20 73 74 upies no main st
0001C0: 6F 72 61 67 65 20 77 68 65 6E 20 69 74 20 69 73 orage when it is
0001D0: 20 20 6E 6F 74 20 20 62 65 69 6E 67 0D 0A 20 20 not being..
0001E0: 20 20 20 20 75 73 65 64 2E 0D 0A 0D 0A 20 20 20 used.....
0001F0: 20 20 20 20 20 20 20 20 49 6E 64 65 78 65 64 20 Indexed
Size : 512 (Real : 512)
000000: 73 6F 20 20 74 68 61 74 20 20 74 68 65 0D 0A 20 so that the..
000010: 20 20 20 20 20 66 69 6C 65 20 20 6F 66 20 20 69 file of i
000020: 6E 64 65 78 65 73 20 77 69 6C 6C 20 62 65 20 32 ndexes will be 2
000030: 35 37 6B 20 77 68 65 6E 20 74 68 65 20 6D 61 78 57k when the max
000040: 69 6D 75 6D 20 6E 75 6D 62 65 72 20 6F 66 20 72 imum number of r
000050: 65 63 6F 72 64 73 20 61 72 65 0D 0A 20 20 20 20 ecords are..
000060: 20 20 65 6E 74 65 72 65 64 2C 20 73 6F 20 61 20 entered, so a
000070: 72 65 61 73 6F 6E 61 62 6C 65 20 28 68 69 67 68 reasonable (high
000080: 29 20 20 65 73 74 69 6D 61 74 65 20 20 73 68 6F ) estimate sho
000090: 75 6C 64 20 20 62 65 20 20 75 73 65 64 20 20 66 uld be used f
0000A0: 6F 72 20 20 74 68 65 0D 0A 20 20 20 20 20 20 6D or the.. m
0000B0: 61 78 69 6D 75 6D 20 6E 75 6D 62 65 72 20 6F 66 aximum number of
0000C0: 20 72 65 63 6F 72 64 73 2E 0D 0A 0D 0A 20 20 20 records.....
0000D0: 20 20 20 20 20 20 20 20 49 4D 50 4F 52 54 41 4E IMPORTAN
0000E0: 54 20 20 2D 20 20 4E 6F 20 6B 65 79 20 73 68 6F T - No key sho
0000F0: 75 6C 64 20 63 6F 6E 74 61 69 6E 20 61 6C 6C 20 uld contain all
000100: 7A 65 72 6F 65 73 2C 20 73 69 6E 63 65 20 61 20 zeroes, since a
000110: 7A 65 72 6F 20 6B 65 79 0D 0A 20 20 20 20 20 20 zero key..
000120: 69 73 20 75 73 65 64 20 74 6F 20 69 6E 64 69 63 is used to indic
000130: 61 74 65 20 64 65 6C 65 74 65 64 20 6B 65 79 73 ate deleted keys
000140: 20 61 6E 64 20 72 65 63 6F 72 64 73 2E 0D 0A 0D and records....
000150: 0A 20 20 20 20 20 20 20 20 20 20 20 54 68 65 20 . The
000160: 6B 65 79 20 6D 75 73 74 20 62 65 20 74 68 65 20 key must be the
000170: 66 69 72 73 74 20 66 69 65 6C 64 20 69 6E 20 65 first field in e
000180: 61 63 68 20 72 65 63 6F 72 64 2E 20 20 20 54 68 ach record. Th
000190: 65 20 20 6B 65 79 20 20 73 69 7A 65 0D 0A 20 20 e key size..
0001A0: 20 20 20 20 6D 61 79 20 62 65 20 66 72 6F 6D 20 may be from
0001B0: 32 20 74 6F 20 33 32 20 62 79 74 65 73 2E 0D 0A 2 to 32 bytes...
0001C0: 0D 0A 20 20 20 20 20 20 20 20 20 20 20 41 20 75 .. A u
0001D0: 74 69 6C 69 74 79 20 70 72 6F 67 72 61 6D 20 49 tility program I
0001E0: 4E 44 45 58 32 20 69 73 20 70 72 6F 76 69 64 65 NDEX2 is provide
0001F0: 64 20 74 6F 20 72 65 6F 72 67 61 6E 69 7A 65 20 d to reorganize
Size : 512 (Real : 512)
000000: 20 66 69 6C 65 73 20 63 6F 6E 73 69 73 74 20 6F files consist o
000010: 66 20 74 77 6F 20 73 65 70 61 72 61 74 65 20 64 f two separate d
000020: 69 73 6B 20 66 69 6C 65 73 3A 20 74 68 65 20 6D isk files: the m
000030: 61 69 6E 20 64 61 74 61 0D 0A 20 20 20 20 20 20 ain data..
000040: 66 69 6C 65 20 77 69 74 68 20 61 20 66 69 6C 65 file with a file
000050: 74 79 70 65 20 6F 66 20 44 41 54 20 61 6E 64 20 type of DAT and
000060: 61 6E 20 69 6E 64 65 78 20 66 69 6C 65 20 77 69 an index file wi
000070: 74 68 20 20 74 68 65 20 20 66 69 6C 65 74 79 70 th the filetyp
000080: 65 20 20 6F 66 0D 0A 20 20 20 20 20 20 49 58 30 e of.. IX0
000090: 2E 0D 0A 0D 0A 20 20 20 20 20 20 20 20 20 20 20 .....
0000A0: 54 68 65 20 20 69 6E 64 65 78 65 64 20 20 66 69 The indexed fi
0000B0: 6C 65 20 20 73 79 73 74 65 6D 20 20 68 61 73 20 le system has
0000C0: 20 33 20 20 63 6F 6D 70 6F 6E 65 6E 74 73 2E 20 3 components.
0000D0: 20 49 4E 44 45 58 30 20 65 78 74 65 72 6E 61 6C INDEX0 external
0000E0: 0D 0A 20 20 20 20 20 20 70 72 6F 63 65 64 75 72 .. procedur
0000F0: 65 20 70 65 72 66 6F 72 6D 73 20 6D 6F 73 74 20 e performs most
000100: 6F 66 20 74 68 65 20 66 75 6E 63 74 69 6F 6E 73 of the functions
000110: 2E 20 49 4E 44 45 58 31 20 20 65 78 74 65 72 6E . INDEX1 extern
000120: 61 6C 20 20 70 72 6F 63 65 64 75 72 65 0D 0A 20 al procedure..
000130: 20 20 20 20 20 63 6F 6D 70 72 65 73 73 65 73 20 compresses
000140: 20 74 68 65 20 20 64 61 74 61 20 20 66 69 6C 65 the data file
000150: 73 20 20 61 6E 64 20 72 65 62 61 6C 61 6E 63 65 s and rebalance
000160: 73 20 74 68 65 20 69 6E 64 65 78 65 73 2E 20 20 s the indexes.
000170: 54 68 65 20 49 4E 44 45 58 32 0D 0A 20 20 20 20 The INDEX2..
000180: 20 20 70 72 6F 67 72 61 6D 20 69 73 20 65 78 65 program is exe
000190: 63 75 74 65 64 20 62 79 20 69 74 73 65 6C 66 20 cuted by itself
0001A0: 61 6E 64 20 20 72 65 6F 72 67 61 6E 69 7A 65 73 and reorganizes
0001B0: 20 20 74 68 65 20 20 66 69 6C 65 73 20 20 66 6F the files fo
0001C0: 72 20 20 6D 6F 72 65 0D 0A 20 20 20 20 20 20 65 r more.. e
0001D0: 66 66 69 63 69 65 6E 74 20 61 63 63 65 73 73 2E fficient access.
0001E0: 0D 0A 0D 0A 20 20 20 20 20 20 20 20 20 20 20 54 .... T
0001F0: 68 65 20 65 78 74 65 72 6E 61 6C 20 70 72 6F 63 he external proc
Size : 512 (Real : 512)
000000: 74 68 65 20 64 61 74 61 20 66 69 6C 65 0D 0A 20 the data file..
000010: 20 20 20 20 20 61 6E 64 20 67 65 6E 65 72 61 74 and generat
000020: 65 20 6E 65 77 20 69 6E 64 65 78 20 66 69 6C 65 e new index file
000030: 73 2E 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 37 2E s....... 7.
000040: 34 2E 31 20 20 49 6E 64 65 78 20 66 69 6C 65 20 4.1 Index file
000050: 66 6F 72 6D 61 74 0D 0A 0D 0A 20 20 20 20 20 20 format....
000060: 20 20 20 20 20 54 68 65 20 20 69 6E 64 65 78 20 The index
000070: 20 66 69 6C 65 20 69 73 20 64 69 76 69 64 65 64 file is divided
000080: 20 69 6E 74 6F 20 6F 6E 65 20 70 72 69 6D 61 72 into one primar
000090: 79 20 69 6E 64 65 78 20 61 6E 64 20 75 70 20 74 y index and up t
0000A0: 6F 20 32 35 36 0D 0A 20 20 20 20 20 20 73 65 63 o 256.. sec
0000B0: 6F 6E 64 61 72 79 20 69 6E 64 65 78 65 73 2E 20 ondary indexes.
0000C0: 20 45 61 63 68 20 69 6E 64 65 78 20 62 6C 6F 63 Each index bloc
0000D0: 6B 20 69 73 20 31 30 32 34 20 62 79 74 65 73 2E k is 1024 bytes.
0000E0: 0D 0A 0D 0A 20 20 20 20 20 20 20 20 20 20 20 54 .... T
0000F0: 68 65 20 70 72 69 6D 61 72 79 20 69 6E 64 65 78 he primary index
000100: 20 63 6F 6E 74 61 69 6E 73 20 32 35 36 20 34 2D contains 256 4-
000110: 62 79 74 65 20 66 69 65 6C 64 73 2E 20 20 45 61 byte fields. Ea
000120: 63 68 20 6F 66 20 74 68 65 73 65 20 20 69 73 0D ch of these is.
000130: 0A 20 20 20 20 20 20 74 68 65 20 66 69 72 73 74 . the first
000140: 20 34 20 62 79 74 65 73 20 6F 66 20 74 68 65 20 4 bytes of the
000150: 6C 6F 77 65 73 74 20 6B 65 79 20 69 6E 20 61 20 lowest key in a
000160: 73 65 63 6F 6E 64 61 72 79 20 69 6E 64 65 78 2E secondary index.
000170: 0D 0A 0D 0A 20 20 20 20 20 20 20 20 20 20 20 54 .... T
000180: 68 65 20 20 73 65 63 6F 6E 64 61 72 79 20 20 69 he secondary i
000190: 6E 64 65 78 65 73 20 20 63 6F 6E 74 61 69 6E 20 ndexes contain
0001A0: 20 61 63 74 75 61 6C 20 20 6B 65 79 20 20 76 61 actual key va
0001B0: 6C 75 65 73 20 61 6E 64 20 33 2D 62 79 74 65 0D lues and 3-byte.
0001C0: 0A 20 20 20 20 20 20 72 65 63 6F 72 64 20 6C 6F . record lo
0001D0: 61 63 61 74 6F 72 20 66 69 65 6C 64 73 2E 20 20 acator fields.
0001E0: 54 68 65 20 6E 75 6D 62 65 72 20 6F 66 20 6B 65 The number of ke
0001F0: 79 73 20 70 65 72 20 73 65 63 6F 6E 64 61 72 79 ys per secondary
Size : 512 (Real : 512)
000000: 65 64 75 72 65 20 49 4E 44 45 58 30 20 70 65 72 edure INDEX0 per
000010: 66 6F 72 6D 73 20 74 68 65 73 65 20 6F 70 65 72 forms these oper
000020: 61 74 69 6F 6E 73 3A 0D 0A 0D 0A 20 20 20 20 20 ations:....
000030: 20 20 20 20 20 20 20 20 20 41 20 20 20 20 20 20 A
000040: 20 61 64 64 20 61 20 6E 65 77 20 72 65 63 6F 72 add a new recor
000050: 64 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 20 d..
000060: 20 42 20 20 20 20 20 20 20 72 65 61 64 20 66 69 B read fi
000070: 72 73 74 20 72 65 63 6F 72 64 20 28 62 65 67 69 rst record (begi
000080: 6E 6E 69 6E 67 29 0D 0A 20 20 20 20 20 20 20 20 nning)..
000090: 20 20 20 20 20 20 43 20 20 20 20 20 20 20 63 6C C cl
0000A0: 6F 73 65 20 66 69 6C 65 0D 0A 20 20 20 20 20 20 ose file..
0000B0: 20 20 20 20 20 20 20 20 44 20 20 20 20 20 20 20 D
0000C0: 64 65 6C 65 74 65 20 61 20 72 65 63 6F 72 64 0D delete a record.
0000D0: 0A 20 20 20 20 20 20 20 20 20 20 20 20 20 20 46 . F
0000E0: 20 20 20 20 20 20 20 66 6C 75 73 68 20 62 75 66 flush buf
0000F0: 66 65 72 73 2C 20 63 6C 6F 73 65 20 61 6E 64 20 fers, close and
000100: 72 65 6F 70 65 6E 20 66 69 6C 65 73 0D 0A 20 20 reopen files..
000110: 20 20 20 20 20 20 20 20 20 20 20 20 4E 20 20 20 N
000120: 20 20 20 20 6E 65 77 20 66 69 6C 65 20 61 6C 6C new file all
000130: 6F 63 61 74 69 6F 6E 0D 0A 20 20 20 20 20 20 20 ocation..
000140: 20 20 20 20 20 20 20 4F 20 20 20 20 20 20 20 6F O o
000150: 70 65 6E 20 66 69 6C 65 0D 0A 20 20 20 20 20 20 pen file..
000160: 20 20 20 20 20 20 20 20 51 20 20 20 20 20 20 20 Q
000170: 71 75 65 72 79 20 77 68 65 74 68 65 72 20 69 6E query whether in
000180: 64 65 78 65 73 20 73 68 6F 75 6C 64 20 62 65 20 dexes should be
000190: 62 61 6C 61 6E 63 65 64 0D 0A 20 20 20 20 20 20 balanced..
0001A0: 20 20 20 20 20 20 20 20 52 20 20 20 20 20 20 20 R
0001B0: 72 65 61 64 20 61 20 72 65 63 6F 72 64 0D 0A 20 read a record..
0001C0: 20 20 20 20 20 20 20 20 20 20 20 20 20 53 20 20 S
0001D0: 20 20 20 20 20 72 65 61 64 20 6E 65 78 74 20 72 read next r
0001E0: 65 63 6F 72 64 20 69 6E 20 73 65 71 75 65 6E 63 ecord in sequenc
0001F0: 65 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 20 e..
Size : 512 (Real : 512)
000000: 20 69 6E 64 65 78 20 69 73 3A 0D 0A 0D 0A 20 20 index is:....
000010: 20 20 20 20 20 20 20 20 20 20 20 20 31 30 32 34 1024
000020: 20 44 49 56 20 28 4B 45 59 5F 53 49 5A 45 20 2B DIV (KEY_SIZE +
000030: 33 29 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 37 2E 3)...... 7.
000040: 34 2E 32 20 20 44 61 74 61 20 66 69 6C 65 20 66 4.2 Data file f
000050: 6F 72 6D 61 74 0D 0A 0D 0A 20 20 20 20 20 20 20 ormat....
000060: 20 20 20 20 54 68 65 20 64 61 74 61 20 66 69 6C The data fil
000070: 65 20 63 6F 6E 73 69 73 74 73 20 6F 66 20 61 20 e consists of a
000080: 31 30 32 34 20 62 79 74 65 20 63 6F 6E 74 72 6F 1024 byte contro
000090: 6C 20 72 65 63 6F 72 64 20 66 6F 6C 6C 6F 77 65 l record followe
0000A0: 64 20 62 79 0D 0A 20 20 20 20 20 20 74 68 65 20 d by.. the
0000B0: 64 61 74 61 20 72 65 63 6F 72 64 73 2E 0D 0A 0D data records....
0000C0: 0A 20 20 20 20 20 20 20 20 20 20 20 54 68 65 20 . The
0000D0: 63 6F 6E 74 72 6F 6C 20 72 65 63 6F 72 64 20 63 control record c
0000E0: 6F 6E 74 61 69 6E 73 20 74 68 65 20 66 69 6C 65 ontains the file
0000F0: 6E 61 6D 65 2C 20 6D 61 78 69 6D 75 6D 20 72 65 name, maximum re
000100: 63 6F 72 64 20 20 63 6F 75 6E 74 2C 0D 0A 20 20 cord count,..
000110: 20 20 20 20 63 75 72 72 65 6E 74 20 20 72 65 63 current rec
000120: 6F 72 64 20 20 63 6F 75 6E 74 2C 20 20 6B 65 79 ord count, key
000130: 20 20 73 69 7A 65 2C 20 20 72 65 63 6F 72 64 20 size, record
000140: 20 73 69 7A 65 2C 20 20 64 65 6C 65 74 65 20 63 size, delete c
000150: 6F 75 6E 74 2C 20 61 6E 64 0D 0A 20 20 20 20 20 ount, and..
000160: 20 64 65 6C 65 74 65 64 20 72 65 63 6F 72 64 20 deleted record
000170: 6C 69 73 74 2E 0D 0A 0D 0A 0D 0A 0D 0A 20 20 20 list.........
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 20 20 20 20 49 6E 64 65 78 Index
0001A0: 20 66 69 6C 65 20 66 6F 72 6D 61 74 0D 0A 0D 0A file format....
0001B0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
0001C0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 21 2D !-
0001D0: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
0001E0: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 21 0D --------------!.
0001F0: 0A 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .
Size : 512 (Real : 512)
000000: 20 55 20 20 20 20 20 20 20 75 70 64 61 74 65 20 U update
000010: 61 20 72 65 63 6F 72 64 0D 0A 20 20 20 20 20 20 a record..
000020: 20 20 20 20 20 20 20 20 57 20 20 20 20 20 20 20 W
000030: 69 73 73 75 65 20 61 20 77 61 72 6E 69 6E 67 0D issue a warning.
000040: 0A 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5A . Z
000050: 20 20 20 20 20 20 20 74 75 72 6E 20 6F 66 66 20 turn off
000060: 77 61 72 6E 69 6E 67 20 6D 65 73 73 61 67 65 0D warning message.
000070: 0A 0D 0A 20 20 20 20 20 20 20 20 20 20 49 4E 44 ... IND
000080: 45 58 31 20 70 65 72 66 6F 72 6D 73 20 74 68 65 EX1 performs the
000090: 73 65 20 6F 70 65 72 61 74 69 6F 6E 73 3A 0D 0A se operations:..
0000A0: 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ..
0000B0: 4A 20 20 20 20 20 20 20 72 65 62 61 6C 61 6E 63 J rebalanc
0000C0: 65 20 74 68 65 20 69 6E 64 65 78 65 73 0D 0A 20 e the indexes..
0000D0: 20 20 20 20 20 20 20 20 20 20 20 20 20 4B 20 20 K
0000E0: 20 20 20 20 20 63 6F 6D 70 72 65 73 73 20 64 61 compress da
0000F0: 74 61 20 66 69 6C 65 20 61 6E 64 20 62 61 6C 61 ta file and bala
000100: 6E 63 65 20 69 6E 64 65 78 65 73 0D 0A 0D 0A 20 nce indexes....
000110: 20 20 20 20 20 20 20 20 20 20 52 65 63 6F 72 64 Record
000120: 73 20 6D 75 73 74 20 61 6C 6C 20 62 65 20 74 68 s must all be th
000130: 65 20 73 61 6D 65 20 73 69 7A 65 20 2D 20 66 72 e same size - fr
000140: 6F 6D 20 31 36 20 74 6F 20 32 30 34 38 20 62 79 om 16 to 2048 by
000150: 74 65 73 2E 20 20 54 68 65 79 0D 0A 20 20 20 20 tes. They..
000160: 20 20 6E 65 65 64 20 20 6E 6F 74 20 20 62 65 20 need not be
000170: 20 61 20 6D 75 6C 74 69 70 6C 65 20 6F 66 20 31 a multiple of 1
000180: 32 38 20 62 79 74 65 73 2E 20 54 68 65 20 6D 61 28 bytes. The ma
000190: 78 69 6D 75 6D 20 6E 75 6D 62 65 72 20 6F 66 20 ximum number of
0001A0: 72 65 63 6F 72 64 73 0D 0A 20 20 20 20 20 20 64 records.. d
0001B0: 65 70 65 6E 64 73 20 6F 6E 20 74 68 65 20 6B 65 epends on the ke
0001C0: 79 20 73 69 7A 65 3A 0D 0A 0D 0A 20 20 20 20 20 y size:....
0001D0: 20 20 20 20 20 20 20 20 20 28 31 30 32 34 20 44 (1024 D
0001E0: 49 56 20 28 4B 45 59 5F 53 49 5A 45 20 2B 33 29 IV (KEY_SIZE +3)
0001F0: 29 20 2A 20 32 35 36 0D 0A 0D 0A 20 20 20 20 20 ) * 256....
Size : 512 (Real : 512)
000000: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 21 !
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 20 20 20 20 20 20 20 21 !
000030: 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ..
000040: 31 20 4B 20 62 6C 6F 63 6B 73 20 20 20 20 20 20 1 K blocks
000050: 21 20 20 20 20 70 72 69 6D 61 72 79 20 69 6E 64 ! primary ind
000060: 65 78 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ex
000070: 21 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 20 !..
000080: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
000090: 20 21 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D !--------------
0000A0: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
0000B0: 2D 21 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 -!..
0000C0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
0000D0: 20 20 21 20 20 20 20 20 20 20 20 20 20 20 20 20 !
0000E0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
0000F0: 20 20 21 0D 0A 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 20 21 20 20 20 20 20 20 20 20 20 20 20 20 !
000120: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
000130: 20 20 20 21 0D 0A 20 20 20 20 20 20 20 20 20 20 !..
000140: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
000150: 20 20 20 20 21 2D 2D 2D 2D 2D 20 75 70 20 74 6F !----- up to
000160: 20 32 35 36 20 20 20 20 20 20 20 20 2D 2D 2D 2D 256 ----
000170: 2D 2D 2D 2D 21 0D 0A 20 20 20 20 20 20 20 20 20 ----!..
000180: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
000190: 20 20 20 20 20 21 20 20 20 20 20 20 20 20 20 20 !
0001A0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
0001B0: 20 20 20 20 20 21 0D 0A 20 20 20 20 20 20 20 20 !..
0001C0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
0001D0: 20 20 20 20 20 20 21 20 20 20 20 20 20 73 65 63 ! sec
0001E0: 6F 6E 64 61 72 79 20 69 6E 64 65 78 65 73 20 20 ondary indexes
0001F0: 20 20 20 20 20 20 21 0D 0A 20 20 20 20 20 20 20 !..
Size : 512 (Real : 512)
000000: 62 65 20 69 73 73 75 65 64 2C 20 73 65 65 20 63 be issued, see c
000010: 6F 6D 6D 61 6E 64 0D 0A 20 20 20 20 20 20 27 57 ommand.. 'W
000020: 27 2E 0D 0A 0D 0A 20 20 20 20 20 20 20 20 20 20 '.....
000030: 20 41 6E 20 69 6E 64 65 78 65 64 20 66 69 6C 65 An indexed file
000040: 20 6D 75 73 74 20 62 65 20 61 6C 6C 6F 63 61 74 must be allocat
000050: 65 64 20 62 65 66 6F 72 65 20 69 74 20 20 63 61 ed before it ca
000060: 6E 20 20 62 65 20 20 6F 70 65 6E 65 64 20 20 6F n be opened o
000070: 72 0D 0A 20 20 20 20 20 20 75 73 65 64 20 69 6E r.. used in
000080: 20 61 6E 79 20 77 61 79 2E 0D 0A 0D 0A 20 20 20 any way.....
000090: 20 20 20 20 20 20 20 20 45 61 63 68 20 74 69 6D Each tim
0000A0: 65 20 49 4E 44 45 58 30 20 69 73 20 63 61 6C 6C e INDEX0 is call
0000B0: 65 64 2C 20 61 20 76 61 6C 69 64 20 63 6F 6D 6D ed, a valid comm
0000C0: 61 6E 64 20 63 6F 64 65 20 6D 75 73 74 20 62 65 and code must be
0000D0: 20 70 61 73 73 65 64 2E 0D 0A 20 20 20 20 20 20 passed...
0000E0: 54 68 65 20 20 6B 65 79 2C 20 64 61 74 61 2C 20 The key, data,
0000F0: 61 6E 64 20 69 72 20 70 61 72 61 6D 65 74 65 72 and ir parameter
000100: 73 20 61 72 65 20 61 6C 73 6F 20 72 65 71 75 69 s are also requi
000110: 72 65 64 2C 20 61 6C 74 68 6F 75 67 68 20 6B 65 red, although ke
000120: 79 20 61 6E 64 0D 0A 20 20 20 20 20 20 64 61 74 y and.. dat
000130: 61 20 77 69 6C 6C 20 6E 6F 74 20 62 65 20 75 73 a will not be us
000140: 65 64 20 62 79 20 65 76 65 72 79 20 63 6F 6D 6D ed by every comm
000150: 61 6E 64 2E 0D 0A 0D 0A 20 20 20 20 20 20 20 20 and.....
000160: 20 20 20 49 74 20 69 73 20 61 6C 6C 6F 77 65 64 It is allowed
000170: 20 74 6F 20 68 61 76 65 20 6D 75 6C 74 69 70 6C to have multipl
000180: 65 20 69 6E 64 65 78 65 64 20 66 69 6C 65 73 20 e indexed files
000190: 6F 70 65 6E 20 20 61 74 20 20 74 68 65 20 20 73 open at the s
0001A0: 61 6D 65 0D 0A 20 20 20 20 20 20 74 69 6D 65 2E ame.. time.
0001B0: 20 20 45 61 63 68 20 6F 6E 65 20 69 73 20 69 6E Each one is in
0001C0: 64 65 6E 74 69 66 69 65 64 20 62 79 20 61 20 64 dentified by a d
0001D0: 69 66 66 65 72 65 6E 74 20 69 6E 64 65 78 5F 72 ifferent index_r
0001E0: 65 63 6F 72 64 2E 0D 0A 0D 0A 20 20 20 20 20 20 ecord.....
0001F0: 20 20 20 20 20 54 68 65 20 20 69 6E 64 65 78 20 The index
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 21 2D 2D 2D 2D 2D 20 20 20 !-----
000020: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2D -
000030: 2D 2D 2D 2D 2D 2D 2D 21 0D 0A 20 20 20 20 20 20 -------!..
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 21 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 20 20 21 0D 0A 20 20 20 20 20 !..
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 20 21 20 20 20 20 20 20 !
0000A0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
0000B0: 20 20 20 20 20 20 20 20 20 21 0D 0A 20 20 20 20 !..
0000C0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
0000D0: 20 20 20 20 20 20 20 20 20 20 21 2D 2D 2D 2D 2D !-----
0000E0: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
0000F0: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 21 0D 0A 0D 0A 0D ----------!.....
000100: 0A 0D 0A 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 20 20 20 20
000120: 20 44 61 74 61 20 66 69 6C 65 20 66 6F 72 6D 61 Data file forma
000130: 74 0D 0A 0D 0A 20 20 20 20 20 20 20 20 20 20 20 t....
000140: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
000150: 20 20 20 21 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D !------------
000160: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
000170: 2D 2D 2D 21 0D 0A 20 20 20 20 20 20 20 20 20 20 ---!..
000180: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
000190: 20 20 20 20 21 20 20 20 63 6F 6E 74 72 6F 6C 20 ! control
0001A0: 72 65 63 6F 72 64 20 20 31 20 4B 20 20 20 20 20 record 1 K
0001B0: 20 20 20 20 21 0D 0A 20 20 20 20 20 20 20 20 20 !..
0001C0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
0001D0: 20 20 20 20 20 21 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D !----------
0001E0: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
0001F0: 2D 2D 2D 2D 2D 21 0D 0A 20 20 20 20 20 20 20 20 -----!..
Size : 512 (Real : 512)
000000: 72 65 63 6F 72 64 20 28 49 52 29 20 73 68 6F 75 record (IR) shou
000010: 6C 64 20 62 65 20 73 65 74 20 74 6F 20 62 6C 61 ld be set to bla
000020: 6E 6B 73 20 62 65 66 6F 72 65 20 69 6E 64 69 76 nks before indiv
000030: 69 64 75 61 6C 0D 0A 20 20 20 20 20 20 66 69 65 idual.. fie
000040: 6C 64 73 20 61 72 65 20 69 6E 69 74 69 61 6C 69 lds are initiali
000050: 7A 65 64 2E 20 20 46 6F 72 20 61 20 67 69 76 65 zed. For a give
000060: 6E 20 69 6E 64 65 78 20 66 69 6C 65 2C 20 74 68 n index file, th
000070: 65 20 20 66 69 72 73 74 20 20 63 61 6C 6C 20 20 e first call
000080: 74 6F 0D 0A 20 20 20 20 20 20 49 4E 44 45 58 30 to.. INDEX0
000090: 20 69 6E 20 61 20 70 72 6F 67 72 61 6D 20 73 68 in a program sh
0000A0: 6F 75 6C 64 20 62 65 20 74 6F 20 6F 70 65 6E 20 ould be to open
0000B0: 28 27 4F 27 29 20 6F 72 20 63 72 65 61 74 65 20 ('O') or create
0000C0: 28 27 4E 27 29 20 74 68 65 20 69 6E 64 65 78 0D ('N') the index.
0000D0: 0A 20 20 20 20 20 20 61 6E 64 20 20 64 61 74 61 . and data
0000E0: 20 20 66 69 6C 65 73 2E 20 20 28 49 4E 44 45 58 files. (INDEX
0000F0: 30 20 20 63 61 6E 20 62 65 20 63 61 6C 6C 65 64 0 can be called
000100: 20 77 69 74 68 20 74 68 65 20 27 57 27 20 66 69 with the 'W' fi
000110: 72 73 74 2C 20 73 6F 20 74 68 61 74 0D 0A 20 20 rst, so that..
000120: 20 20 20 20 65 72 72 6F 72 20 6D 65 73 73 61 67 error messag
000130: 65 73 20 77 69 6C 6C 20 62 65 20 70 72 69 6E 74 es will be print
000140: 65 64 2E 29 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 ed.)......
000150: 37 2E 34 2E 34 20 20 49 4E 44 45 58 20 63 6F 6D 7.4.4 INDEX com
000160: 6D 61 6E 64 73 0D 0A 0D 0A 20 20 20 20 20 20 20 mands....
000170: 20 20 20 20 43 6F 6D 6D 61 6E 64 73 20 4A 20 61 Commands J a
000180: 6E 64 20 4B 20 20 61 72 65 20 20 70 72 6F 63 65 nd K are proce
000190: 73 73 65 64 20 20 62 79 20 20 49 4E 44 45 58 31 ssed by INDEX1
0001A0: 2E 20 20 20 41 6C 6C 20 20 6F 74 68 65 72 73 20 . All others
0001B0: 20 61 72 65 0D 0A 20 20 20 20 20 20 70 72 6F 63 are.. proc
0001C0: 65 73 73 65 64 20 62 79 20 49 4E 44 45 58 30 2E essed by INDEX0.
0001D0: 0D 0A 0D 0A 20 20 20 20 20 20 41 20 20 20 20 20 .... A
0001E0: 20 20 61 64 64 20 61 20 6E 65 77 20 72 65 63 6F add a new reco
0001F0: 72 64 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 rd..
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 21 20 20 20 20 20 20 20 20 20 !
000020: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
000030: 20 20 20 20 20 20 21 0D 0A 20 20 20 20 20 20 20 !..
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 21 20 20 20 64 61 74 61 20 ! data
000060: 72 65 63 6F 72 64 73 20 20 20 20 20 20 20 20 20 records
000070: 20 20 20 20 20 20 20 21 0D 0A 20 20 20 20 20 20 !..
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 21 20 20 20 20 20 20 20 !
0000A0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
0000B0: 20 20 20 20 20 20 20 20 21 0D 0A 20 20 20 20 20 !..
0000C0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
0000D0: 20 20 20 20 20 20 20 20 20 21 20 20 20 20 20 20 !
0000E0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
0000F0: 20 20 20 20 20 20 20 20 20 21 0D 0A 20 20 20 20 !..
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 21 20 20 20 20 20 !
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 20 21 0D 0A 20 20 20 !..
000140: 20 20 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 20 21 2D 2D 2D 2D !----
000160: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
000170: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 21 0D 0A 0D 0A -----------!....
000180: 0D 0A 20 20 20 20 20 20 37 2E 34 2E 33 20 20 55 .. 7.4.3 U
000190: 73 69 6E 67 20 49 4E 44 45 58 30 0D 0A 0D 0A 20 sing INDEX0....
0001A0: 20 20 20 20 20 20 20 20 20 20 54 68 65 20 69 6E The in
0001B0: 64 65 78 65 64 20 66 69 6C 65 20 73 79 73 74 65 dexed file syste
0001C0: 6D 20 69 73 20 69 6D 70 6C 65 6D 65 6E 74 65 64 m is implemented
0001D0: 20 69 6E 20 61 6E 20 65 78 74 65 72 6E 61 6C 20 in an external
0001E0: 20 70 72 6F 63 65 64 75 72 65 0D 0A 20 20 20 20 procedure..
0001F0: 20 20 6E 61 6D 65 64 20 20 49 4E 44 45 58 30 2E named INDEX0.
Size : 512 (Real : 512)
000000: 20 20 20 20 20 20 20 20 20 20 2D 20 69 6E 73 65 - inse
000010: 72 74 20 61 20 6E 65 77 20 6B 65 79 20 69 6E 74 rt a new key int
000020: 6F 20 69 6E 64 65 78 2C 20 69 66 20 64 75 70 6C o index, if dupl
000030: 69 63 61 74 65 20 6B 65 79 0D 0A 20 20 20 20 20 icate key..
000040: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
000050: 20 20 20 65 78 69 73 74 73 2C 20 61 62 6F 72 74 exists, abort
000060: 20 6F 70 65 72 61 74 69 6F 6E 0D 0A 20 20 20 20 operation..
000070: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
000080: 20 20 2D 20 77 72 69 74 65 20 6E 65 77 20 64 61 - write new da
000090: 74 61 20 72 65 63 6F 72 64 20 74 6F 20 64 61 74 ta record to dat
0000A0: 61 20 66 69 6C 65 0D 0A 0D 0A 20 20 20 20 20 20 a file....
0000B0: 42 20 20 20 20 20 20 20 72 65 61 64 20 66 69 72 B read fir
0000C0: 73 74 20 72 65 63 6F 72 64 20 28 62 65 67 69 6E st record (begin
0000D0: 29 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 20 )..
0000E0: 20 20 20 20 20 20 20 20 20 2D 20 72 65 61 64 20 - read
0000F0: 74 68 65 20 66 69 72 73 74 20 72 65 63 6F 72 64 the first record
000100: 20 28 69 6E 20 73 6F 72 74 65 64 20 6F 72 64 65 (in sorted orde
000110: 72 29 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 r)..
000120: 20 20 20 20 20 20 20 20 20 20 2D 20 72 65 74 75 - retu
000130: 72 6E 73 20 6B 65 79 20 61 6E 64 20 72 65 63 6F rns key and reco
000140: 72 64 0D 0A 0D 0A 20 20 20 20 20 20 43 20 20 20 rd.... C
000150: 20 20 20 20 63 6C 6F 73 65 20 69 6E 64 65 78 65 close indexe
000160: 64 20 66 69 6C 65 73 0D 0A 20 20 20 20 20 20 20 d files..
000170: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2D -
000180: 20 74 68 69 73 20 4D 55 53 54 20 62 65 20 64 6F this MUST be do
000190: 6E 65 20 6F 6E 20 63 6F 6D 70 6C 65 74 69 6F 6E ne on completion
0001A0: 20 6F 66 20 70 72 6F 63 65 73 73 69 6E 67 0D 0A of processing..
0001B0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
0001C0: 20 20 20 20 20 20 20 20 6F 72 20 6E 65 77 6C 79 or newly
0001D0: 20 77 72 69 74 74 65 6E 20 64 61 74 61 20 6D 61 written data ma
0001E0: 79 20 62 65 20 6C 6F 73 74 0D 0A 0D 0A 20 20 20 y be lost....
0001F0: 20 20 20 44 20 20 20 20 20 20 20 64 65 6C 65 74 D delet
Size : 512 (Real : 512)
000000: 20 20 54 6F 20 61 63 63 65 73 73 20 69 74 2C 20 To access it,
000010: 74 68 65 73 65 20 64 65 63 6C 61 72 61 74 69 6F these declaratio
000020: 6E 73 20 61 72 65 20 72 65 71 75 69 72 65 64 20 ns are required
000030: 69 6E 20 79 6F 75 72 0D 0A 20 20 20 20 20 20 6D in your.. m
000040: 61 69 6E 20 70 72 6F 67 72 61 6D 3A 0D 0A 0D 0A ain program:....
000050: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 54 59 TY
000060: 50 45 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 PE..
000070: 20 20 4B 45 59 5F 54 59 50 45 20 3D 20 20 2D 2D KEY_TYPE = --
000080: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 20 7B 20 79 ------------ { y
000090: 6F 75 72 20 6B 65 79 20 74 79 70 65 20 64 65 63 our key type dec
0000A0: 6C 61 72 61 74 69 6F 6E 73 20 7D 0D 0A 20 20 20 larations }..
0000B0: 20 20 20 20 20 20 20 20 20 20 20 52 45 43 4F 52 RECOR
0000C0: 44 5F 54 59 50 45 20 3D 20 20 2D 2D 2D 2D 2D 2D D_TYPE = ------
0000D0: 2D 2D 2D 2D 2D 20 7B 20 79 6F 75 72 20 72 65 63 ----- { your rec
0000E0: 6F 72 64 20 74 79 70 65 20 64 65 63 6C 61 72 61 ord type declara
0000F0: 74 69 6F 6E 73 20 7D 0D 0A 20 20 20 20 20 20 20 tions }..
000100: 20 20 20 20 20 20 20 49 4E 44 45 58 5F 52 45 43 INDEX_REC
000110: 4F 52 44 20 3D 20 52 45 43 4F 52 44 0D 0A 20 20 ORD = RECORD..
000120: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
000130: 20 20 20 20 44 49 53 4B 20 3A 20 43 48 41 52 3B DISK : CHAR;
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 46 49 4C 45 4E 41 4D 45 FILENAME
000160: 20 3A 20 41 52 52 41 59 20 5B 31 2E 2E 38 5D 20 : ARRAY [1..8]
000170: 4F 46 20 43 48 41 52 3B 0D 0A 20 20 20 20 20 20 OF CHAR;..
000180: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
000190: 52 45 54 55 52 4E 5F 43 4F 44 45 20 3A 20 49 4E RETURN_CODE : IN
0001A0: 54 45 47 45 52 3B 0D 0A 20 20 20 20 20 20 20 20 TEGER;..
0001B0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 52 45 RE
0001C0: 53 45 52 56 45 44 20 3A 20 41 52 52 41 59 20 5B SERVED : ARRAY [
0001D0: 31 2E 2E 32 30 30 5D 20 4F 46 20 43 48 41 52 3B 1..200] OF CHAR;
0001E0: 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ..
0001F0: 20 20 20 20 20 20 20 20 45 4E 44 3B 0D 0A 0D 0A END;....
Size : 512 (Real : 512)
000000: 65 20 61 20 72 65 63 6F 72 64 0D 0A 20 20 20 20 e a record..
000010: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
000020: 20 20 2D 20 6E 75 6C 6C 69 66 79 20 6B 65 79 20 - nullify key
000030: 65 6E 74 72 79 20 66 6F 72 20 72 65 63 6F 72 64 entry for record
000040: 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ..
000050: 20 20 20 20 20 20 20 20 2D 20 61 64 64 20 72 65 - add re
000060: 63 6F 72 64 20 6C 6F 63 61 74 6F 72 20 74 6F 20 cord locator to
000070: 64 65 6C 65 74 65 20 6C 69 73 74 0D 0A 0D 0A 20 delete list....
000080: 20 20 20 20 20 46 20 20 20 20 20 20 20 66 6C 75 F flu
000090: 73 68 20 62 75 66 66 65 72 73 2C 20 63 6C 6F 73 sh buffers, clos
0000A0: 65 20 61 6E 64 20 72 65 6F 70 65 6E 20 66 69 6C e and reopen fil
0000B0: 65 73 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 es..
0000C0: 20 20 20 20 20 20 20 20 20 20 2D 20 66 6C 75 73 - flus
0000D0: 68 20 62 75 66 66 65 72 73 20 74 68 61 74 20 68 h buffers that h
0000E0: 61 76 65 20 63 68 61 6E 67 65 64 0D 0A 20 20 20 ave changed..
0000F0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
000100: 20 20 20 2D 20 63 6C 6F 73 65 20 66 69 6C 65 73 - close files
000110: 20 74 6F 20 70 72 65 73 65 72 76 65 20 63 68 61 to preserve cha
000120: 6E 67 65 73 0D 0A 0D 0A 20 20 20 20 20 20 4A 20 nges.... J
000130: 20 20 20 20 20 20 72 65 62 61 6C 61 6E 63 65 20 rebalance
000140: 69 6E 64 65 78 65 73 20 28 49 4E 44 45 58 31 29 indexes (INDEX1)
000150: 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ..
000160: 20 20 20 20 20 20 20 20 2D 20 75 73 65 73 20 74 - uses t
000170: 65 6D 70 6F 72 61 72 79 20 66 69 6C 65 0D 0A 20 emporary file..
000180: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
000190: 20 20 20 20 20 2D 20 64 65 6C 65 74 65 73 20 6F - deletes o
0001A0: 6C 64 20 69 6E 64 65 78 20 66 69 6C 65 0D 0A 20 ld index file..
0001B0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
0001C0: 20 20 20 20 20 2D 20 72 65 6E 61 6D 65 73 20 6E - renames n
0001D0: 65 77 20 69 6E 64 65 78 20 66 69 6C 65 0D 0A 0D ew index file...
0001E0: 0A 20 20 20 20 20 20 4B 20 20 20 20 20 20 20 72 . K r
0001F0: 65 62 61 6C 61 6E 63 65 20 69 6E 64 65 78 65 73 ebalance indexes
Size : 512 (Real : 512)
000000: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 50 52 PR
000010: 4F 43 45 44 55 52 45 20 49 4E 44 45 58 30 20 28 OCEDURE INDEX0 (
000020: 20 43 4F 4D 4D 41 4E 44 20 3A 20 43 48 41 52 3B COMMAND : CHAR;
000030: 0D 0A 20 20 20 20 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 20 20
000050: 20 20 56 41 52 20 4B 45 59 20 3A 20 4B 45 59 5F VAR KEY : KEY_
000060: 54 59 50 45 3B 0D 0A 20 20 20 20 20 20 20 20 20 TYPE;..
000070: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
000080: 20 20 20 20 20 20 20 56 41 52 20 44 41 54 41 20 VAR DATA
000090: 3A 20 52 45 43 4F 52 44 5F 54 59 50 45 3B 0D 0A : RECORD_TYPE;..
0000A0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
0000B0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
0000C0: 56 41 52 20 49 52 20 3A 20 49 4E 44 45 58 5F 52 VAR IR : INDEX_R
0000D0: 45 43 4F 52 44 20 29 3B 20 45 58 54 45 52 4E 3B ECORD ); EXTERN;
0000E0: 0D 0A 0D 0A 20 20 20 20 20 20 20 20 20 20 20 54 .... T
0000F0: 6F 20 75 73 65 20 49 4E 44 45 58 30 20 74 68 65 o use INDEX0 the
000100: 20 69 6E 64 65 78 5F 72 65 63 6F 72 64 20 20 6D index_record m
000110: 75 73 74 20 20 62 65 20 20 69 6E 69 74 69 61 6C ust be initial
000120: 69 7A 65 64 20 20 77 69 74 68 20 20 74 68 65 0D ized with the.
000130: 0A 20 20 20 20 20 20 66 69 6C 65 6E 61 6D 65 20 . filename
000140: 20 61 6E 64 20 20 64 69 73 6B 20 20 6F 6E 20 77 and disk on w
000150: 68 69 63 68 20 74 68 65 20 66 69 6C 65 20 69 73 hich the file is
000160: 20 6C 6F 63 61 74 65 64 2E 20 54 68 65 20 72 65 located. The re
000170: 74 75 72 6E 20 63 6F 64 65 20 69 73 0D 0A 20 20 turn code is..
000180: 20 20 20 20 73 65 74 20 62 79 20 49 4E 44 45 58 set by INDEX
000190: 30 20 20 61 6E 64 20 20 69 6E 64 69 63 61 74 65 0 and indicate
0001A0: 73 20 20 69 66 20 20 65 61 63 68 20 20 6F 70 65 s if each ope
0001B0: 72 61 74 69 6F 6E 20 20 77 61 73 20 20 73 75 63 ration was suc
0001C0: 63 65 73 73 66 75 6C 6C 79 0D 0A 20 20 20 20 20 cessfully..
0001D0: 20 63 6F 6D 70 6C 65 74 65 64 2E 20 20 20 57 61 completed. Wa
0001E0: 72 6E 69 6E 67 20 20 6D 65 73 73 61 67 65 73 20 rning messages
0001F0: 20 6D 61 79 20 6F 70 74 69 6F 6E 61 6C 6C 79 20 may optionally
Size : 512 (Real : 512)
000000: 20 61 6E 64 20 63 6F 6D 70 61 63 74 20 64 61 74 and compact dat
000010: 61 20 66 69 6C 65 20 28 49 4E 44 45 58 31 29 0D a file (INDEX1).
000020: 0A 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .
000030: 20 20 20 20 20 20 20 2D 20 75 73 65 73 20 74 65 - uses te
000040: 6D 70 6F 72 61 72 79 20 66 69 6C 65 73 0D 0A 20 mporary files..
000050: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
000060: 20 20 20 20 20 2D 20 64 65 6C 65 74 65 73 20 6F - deletes o
000070: 6C 64 20 69 6E 64 65 78 20 61 6E 64 20 64 61 74 ld index and dat
000080: 61 20 66 69 6C 65 73 0D 0A 20 20 20 20 20 20 20 a files..
000090: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2D -
0000A0: 20 72 65 6E 61 6D 65 73 20 6E 65 77 20 69 6E 64 renames new ind
0000B0: 65 78 20 61 6E 64 20 64 61 74 61 20 66 69 6C 65 ex and data file
0000C0: 73 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 20 s..
0000D0: 20 20 20 20 20 20 20 20 20 2D 20 72 65 6F 70 65 - reope
0000E0: 6E 20 66 69 6C 65 73 20 66 6F 72 20 66 75 72 74 n files for furt
0000F0: 68 65 72 20 70 72 6F 63 65 73 73 69 6E 67 0D 0A her processing..
000100: 0D 0A 20 20 20 20 20 20 4E 20 20 20 20 20 20 20 .. N
000110: 6E 65 77 20 66 69 6C 65 20 61 6C 6C 6F 63 61 74 new file allocat
000120: 69 6F 6E 0D 0A 20 20 20 20 20 20 20 20 20 20 20 ion..
000130: 20 20 20 20 20 20 20 20 20 20 20 2D 20 70 72 6F - pro
000140: 67 72 61 6D 20 77 69 6C 6C 20 69 6E 71 75 69 72 gram will inquir
000150: 65 20 61 74 20 74 68 65 20 63 6F 6E 73 6F 6C 65 e at the console
000160: 20 74 68 65 0D 0A 20 20 20 20 20 20 20 20 20 20 the..
000170: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 70 61 pa
000180: 72 61 6D 65 74 65 72 73 20 6F 66 20 74 68 65 20 rameters of the
000190: 6E 65 77 20 69 6E 64 65 78 65 64 20 66 69 6C 65 new indexed file
0001A0: 0D 0A 20 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 20 20 20 20 20
0001C0: 31 2E 20 72 65 63 6F 72 64 20 73 69 7A 65 20 69 1. record size i
0001D0: 6E 20 62 79 74 65 73 0D 0A 20 20 20 20 20 20 20 n bytes..
0001E0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
0001F0: 20 20 20 20 20 20 20 32 2E 20 6B 65 79 20 73 69 2. key si
Size : 512 (Real : 512)
000000: 69 74 68 6F 75 74 20 63 6C 6F 73 69 6E 67 20 70 ithout closing p
000010: 72 65 76 69 6F 75 73 0D 0A 20 20 20 20 20 20 20 revious..
000020: 20 20 20 20 20 20 20 66 69 6C 65 0D 0A 0D 0A 20 file....
000030: 20 20 20 20 20 37 20 20 20 20 20 20 20 69 6E 76 7 inv
000040: 61 6C 69 64 20 63 6F 6D 6D 61 6E 64 20 28 65 67 alid command (eg
000050: 2E 20 27 4D 27 20 6F 72 20 61 6E 20 27 53 27 20 . 'M' or an 'S'
000060: 77 69 74 68 6F 75 74 0D 0A 20 20 20 20 20 20 20 without..
000070: 20 20 20 20 20 20 20 61 20 70 72 65 63 65 65 64 a preceed
000080: 69 6E 67 20 27 42 27 2C 20 27 52 27 2C 20 27 53 ing 'B', 'R', 'S
000090: 27 2C 20 6F 72 20 27 55 27 29 0D 0A 0D 0A 20 20 ', or 'U')....
0000A0: 20 20 20 20 38 20 20 20 20 20 20 20 66 69 6C 65 8 file
0000B0: 20 6E 6F 74 20 6F 70 65 6E 0D 0A 0D 0A 20 20 20 not open....
0000C0: 20 20 20 39 20 20 20 20 20 20 20 73 65 72 69 6F 9 serio
0000D0: 75 73 20 65 72 72 6F 72 20 28 20 6E 6F 20 73 70 us error ( no sp
0000E0: 65 63 69 66 69 63 20 6D 65 73 73 61 67 65 20 29 ecific message )
0000F0: 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 37 2E 34 2E ...... 7.4.
000100: 36 20 20 42 61 6C 61 6E 63 65 64 20 69 6E 64 65 6 Balanced inde
000110: 78 65 73 0D 0A 0D 0A 20 20 20 20 20 20 20 20 20 xes....
000120: 20 20 53 65 61 72 63 68 69 6E 67 20 20 66 6F 72 Searching for
000130: 20 72 65 63 6F 72 64 73 20 69 73 20 75 73 75 61 records is usua
000140: 6C 6C 79 20 76 65 72 79 20 65 66 66 69 63 69 65 lly very efficie
000150: 6E 74 2C 20 62 6F 74 68 20 69 6E 20 72 61 6E 64 nt, both in rand
000160: 6F 6D 0D 0A 20 20 20 20 20 20 61 6E 64 20 73 65 om.. and se
000170: 71 75 65 6E 74 69 61 6C 20 6D 6F 64 65 73 2E 20 quential modes.
000180: 41 64 64 69 6E 67 20 74 6F 20 61 20 20 64 61 74 Adding to a dat
000190: 61 20 20 62 61 73 65 20 20 69 73 20 20 75 73 75 a base is usu
0001A0: 61 6C 6C 79 20 20 65 66 66 69 63 69 65 6E 74 0D ally efficient.
0001B0: 0A 20 20 20 20 20 20 75 6E 74 69 6C 20 6F 6E 65 . until one
0001C0: 20 6F 72 20 6D 6F 72 65 20 6F 66 20 74 68 65 20 or more of the
0001D0: 73 65 63 6F 6E 64 61 72 79 20 69 6E 64 65 78 65 secondary indexe
0001E0: 73 20 67 65 74 73 20 66 75 6C 6C 2E 20 28 49 66 s gets full. (If
0001F0: 20 72 65 63 6F 72 64 73 20 61 72 65 0D 0A 20 20 records are..
Size : 512 (Real : 512)
000000: 7A 65 20 69 6E 20 62 79 74 65 73 0D 0A 20 20 20 ze in bytes..
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 20 20 20 33 2E 20 6D 61 3. ma
000030: 78 69 6D 75 6D 20 6E 75 6D 62 65 72 20 6F 66 20 ximum number of
000040: 72 65 63 6F 72 64 73 20 74 6F 20 62 65 0D 0A 20 records to be..
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: 61 6C 6C 6F 77 65 64 3B 20 74 68 65 20 69 6E 64 allowed; the ind
000080: 65 78 20 66 69 6C 65 20 77 69 6C 6C 20 62 65 0D ex file will be.
000090: 0A 20 20 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 20 20
0000B0: 20 20 61 6C 6C 6F 63 61 74 65 64 20 62 61 73 65 allocated base
0000C0: 64 20 6F 6E 20 74 68 69 73 20 6E 75 6D 62 65 72 d on this number
0000D0: 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ..
0000E0: 20 20 20 20 20 20 20 20 2D 20 69 6E 64 65 78 20 - index
0000F0: 66 69 6C 65 73 20 61 72 65 20 6C 65 66 74 20 6F files are left o
000100: 70 65 6E 20 66 6F 72 0D 0A 20 20 20 20 20 20 20 pen for..
000110: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
000120: 20 66 75 72 74 68 65 72 20 70 72 6F 63 65 73 73 further process
000130: 69 6E 67 0D 0A 20 20 20 20 20 20 20 20 20 20 20 ing..
000140: 20 20 20 20 20 20 20 20 20 20 20 2D 20 66 69 6C - fil
000150: 65 73 20 6D 75 73 74 20 62 65 20 63 6C 6F 73 65 es must be close
000160: 64 20 28 6F 72 20 66 6C 75 73 68 65 64 29 0D 0A d (or flushed)..
000170: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
000180: 20 20 20 20 20 20 20 20 74 6F 20 70 72 65 73 65 to prese
000190: 72 76 65 20 74 68 65 20 6E 65 77 20 63 6F 6E 74 rve the new cont
0001A0: 65 6E 74 73 0D 0A 0D 0A 20 20 20 20 20 20 4F 20 ents.... O
0001B0: 20 20 20 20 20 20 6F 70 65 6E 20 69 6E 64 65 78 open index
0001C0: 65 64 20 66 69 6C 65 73 0D 0A 20 20 20 20 20 20 ed files..
0001D0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
0001E0: 2D 20 6F 70 65 6E 20 74 68 65 20 69 6E 64 65 78 - open the index
0001F0: 20 61 6E 64 20 64 61 74 61 20 66 69 6C 65 73 0D and data files.
Size : 512 (Real : 512)
000000: 20 20 20 20 61 64 64 65 64 20 20 69 6E 20 20 73 added in s
000010: 6F 72 74 65 64 20 20 6F 72 64 65 72 2C 20 20 74 orted order, t
000020: 68 65 6E 20 20 74 68 65 20 20 61 64 64 69 74 69 hen the additi
000030: 6F 6E 20 20 70 72 6F 63 65 73 73 20 20 77 69 6C on process wil
000040: 6C 20 62 65 20 76 65 72 79 0D 0A 20 20 20 20 20 l be very..
000050: 20 65 66 66 69 63 69 65 6E 74 2E 29 20 49 4E 44 efficient.) IND
000060: 45 58 30 20 77 69 6C 6C 20 6E 6F 74 20 61 75 74 EX0 will not aut
000070: 6F 6D 61 74 69 63 61 6C 6C 79 20 22 62 61 6C 61 omatically "bala
000080: 6E 63 65 22 20 6B 65 79 73 20 69 6E 20 74 68 65 nce" keys in the
000090: 20 69 6E 64 65 78 0D 0A 20 20 20 20 20 20 66 69 index.. fi
0000A0: 6C 65 73 2C 20 73 6F 20 74 68 61 74 20 61 64 64 les, so that add
0000B0: 69 74 69 6F 6E 73 20 66 69 6C 6C 20 75 70 20 74 itions fill up t
0000C0: 68 65 20 73 65 63 6F 6E 64 61 72 79 20 69 6E 64 he secondary ind
0000D0: 65 78 65 73 2E 0D 0A 0D 0A 20 20 20 20 20 20 20 exes.....
0000E0: 20 20 20 20 59 6F 75 72 20 70 72 6F 67 72 61 6D Your program
0000F0: 20 63 61 6E 20 22 51 75 65 72 79 22 20 74 68 65 can "Query" the
000100: 20 73 74 61 74 75 73 20 6F 66 20 61 6E 20 69 6E status of an in
000110: 64 65 78 65 64 20 66 69 6C 65 20 62 79 20 20 75 dexed file by u
000120: 73 69 6E 67 0D 0A 20 20 20 20 20 20 27 51 27 20 sing.. 'Q'
000130: 20 69 6E 20 61 20 63 61 6C 6C 20 74 6F 20 74 68 in a call to th
000140: 65 20 69 6E 64 65 78 2E 20 20 54 68 65 20 66 69 e index. The fi
000150: 72 73 74 20 6C 65 74 74 65 72 20 6F 66 20 74 68 rst letter of th
000160: 65 20 6B 65 79 20 77 69 6C 6C 20 62 65 20 73 65 e key will be se
000170: 74 0D 0A 20 20 20 20 20 20 74 6F 20 27 59 27 20 t.. to 'Y'
000180: 69 66 20 74 68 65 20 69 6E 64 65 78 65 73 20 73 if the indexes s
000190: 68 6F 75 6C 64 20 62 65 20 62 61 6C 61 6E 63 65 hould be balance
0001A0: 64 2C 20 61 6E 64 20 20 27 4E 27 20 20 69 66 20 d, and 'N' if
0001B0: 20 74 68 61 74 20 20 69 73 20 20 6E 6F 74 0D 0A that is not..
0001C0: 20 20 20 20 20 20 6E 65 63 65 73 73 61 72 79 20 necessary
0001D0: 20 79 65 74 2E 20 20 20 28 49 4E 44 45 58 30 20 yet. (INDEX0
0001E0: 64 65 63 69 64 65 73 20 74 68 61 74 20 74 68 65 decides that the
0001F0: 20 69 6E 64 65 78 65 73 20 73 68 6F 75 6C 64 20 indexes should
Size : 512 (Real : 512)
000000: 0A 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .
000010: 20 20 20 20 20 20 20 2D 20 6C 6F 61 64 20 74 68 - load th
000020: 65 20 70 72 69 6D 61 72 79 20 69 6E 64 65 78 20 e primary index
000030: 69 6E 74 6F 20 64 79 6E 61 6D 69 63 0D 0A 20 20 into dynamic..
000040: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
000050: 20 20 20 20 20 20 73 74 6F 72 61 67 65 0D 0A 0D storage...
000060: 0A 20 20 20 20 20 20 51 20 20 20 20 20 20 20 71 . Q q
000070: 75 65 72 79 20 64 61 74 61 20 62 61 73 65 20 73 uery data base s
000080: 74 61 74 75 73 0D 0A 20 20 20 20 20 20 20 20 20 tatus..
000090: 20 20 20 20 20 20 20 20 20 20 20 20 20 2D 20 72 - r
0000A0: 65 74 75 72 6E 20 27 59 27 20 69 6E 20 6B 65 79 eturn 'Y' in key
0000B0: 5B 31 5D 20 69 66 20 74 68 65 20 64 61 74 61 0D [1] if the data.
0000C0: 0A 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .
0000D0: 20 20 20 20 20 20 20 20 20 62 61 73 65 20 73 68 base sh
0000E0: 6F 75 6C 64 20 62 65 20 72 65 6F 72 67 61 6E 69 ould be reorgani
0000F0: 7A 65 64 20 28 27 4A 27 29 0D 0A 20 20 20 20 20 zed ('J')..
000100: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
000110: 20 2D 20 65 6C 73 65 20 72 65 74 75 72 6E 20 27 - else return '
000120: 4E 27 20 69 6E 20 6B 65 79 5B 31 5D 0D 0A 0D 0A N' in key[1]....
000130: 20 20 20 20 20 20 52 20 20 20 20 20 20 20 72 65 R re
000140: 61 64 20 61 20 72 65 63 6F 72 64 0D 0A 20 20 20 ad a record..
000150: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
000160: 20 20 20 2D 20 73 65 61 72 63 68 20 74 68 65 20 - search the
000170: 69 6E 64 65 78 65 73 20 66 6F 72 20 74 68 65 20 indexes for the
000180: 6B 65 79 0D 0A 20 20 20 20 20 20 20 20 20 20 20 key..
000190: 20 20 20 20 20 20 20 20 20 20 20 2D 20 72 65 61 - rea
0001A0: 64 20 74 68 65 20 64 61 74 61 20 72 65 63 6F 72 d the data recor
0001B0: 64 20 69 6E 74 6F 20 74 68 65 20 0D 0A 20 20 20 d into the ..
0001C0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
0001D0: 20 20 20 20 20 75 73 65 72 27 73 20 72 65 63 6F user's reco
0001E0: 72 64 20 76 61 72 69 61 62 6C 65 0D 0A 0D 0A 20 rd variable....
0001F0: 20 20 20 20 20 53 20 20 20 20 20 20 20 72 65 61 S rea
Size : 512 (Real : 512)
000000: 62 65 20 62 61 6C 61 6E 63 65 64 0D 0A 20 20 20 be balanced..
000010: 20 20 20 77 68 65 6E 20 61 6E 20 61 64 64 20 28 when an add (
000020: 27 41 27 29 20 6D 75 73 74 20 6D 6F 76 65 20 61 'A') must move a
000030: 20 20 73 65 63 6F 6E 64 61 72 79 20 20 69 6E 64 secondary ind
000040: 65 78 20 20 66 72 6F 6D 20 20 6F 6E 65 20 20 62 ex from one b
000050: 6C 6F 63 6B 20 20 74 6F 0D 0A 20 20 20 20 20 20 lock to..
000060: 61 6E 6F 74 68 65 72 29 2E 0D 0A 0D 0A 20 20 20 another).....
000070: 20 52 65 6F 72 67 61 6E 69 7A 69 6E 67 20 69 6E Reorganizing in
000080: 64 65 78 65 73 0D 0A 0D 0A 20 20 20 20 20 20 20 dexes....
000090: 20 20 20 20 54 6F 20 72 65 6F 72 67 61 6E 69 7A To reorganiz
0000A0: 65 20 61 6E 20 69 6E 64 65 78 65 64 20 66 69 6C e an indexed fil
0000B0: 65 20 73 6F 20 74 68 61 74 20 61 64 64 69 6E 67 e so that adding
0000C0: 20 6E 65 77 20 72 65 63 6F 72 64 73 20 77 69 6C new records wil
0000D0: 6C 20 62 65 0D 0A 20 20 20 20 20 20 65 66 66 69 l be.. effi
0000E0: 63 69 65 6E 74 2C 20 73 65 74 20 74 68 65 20 72 cient, set the r
0000F0: 65 63 6F 72 64 20 61 72 67 75 6D 65 6E 74 20 74 ecord argument t
000100: 6F 20 61 6C 6C 20 62 6C 61 6E 6B 73 20 61 6E 64 o all blanks and
000110: 20 63 61 6C 6C 20 49 4E 44 45 58 31 20 77 69 74 call INDEX1 wit
000120: 68 0D 0A 20 20 20 20 20 20 63 6F 6D 6D 61 6E 64 h.. command
000130: 20 20 27 4A 27 20 20 28 66 6F 72 20 20 61 64 4A 'J' (for adJ
000140: 75 73 74 20 20 6F 72 20 20 4A 75 73 74 69 66 79 ust or Justify
000150: 29 2E 20 20 20 49 4E 44 45 58 31 20 20 77 69 6C ). INDEX1 wil
000160: 6C 20 63 72 65 61 74 65 20 61 20 6E 65 77 0D 0A l create a new..
000170: 20 20 20 20 20 20 62 61 6C 61 6E 63 65 64 20 69 balanced i
000180: 6E 64 65 78 20 66 69 6C 65 20 6F 6E 20 74 68 65 ndex file on the
000190: 20 73 61 6D 65 20 20 64 69 73 6B 20 20 61 73 20 same disk as
0001A0: 20 74 68 65 20 20 63 75 72 72 65 6E 74 20 20 69 the current i
0001B0: 6E 64 65 78 20 20 66 69 6C 65 2E 0D 0A 20 20 20 ndex file...
0001C0: 20 20 20 54 68 65 72 65 20 20 6D 75 73 74 20 20 There must
0001D0: 62 65 20 20 73 70 61 63 65 20 20 66 6F 72 20 20 be space for
0001E0: 74 68 65 20 6E 65 77 20 69 6E 64 65 78 20 66 69 the new index fi
0001F0: 6C 65 2C 20 77 68 69 63 68 20 77 69 6C 6C 20 62 le, which will b
Size : 512 (Real : 512)
000000: 64 20 6E 65 78 74 20 72 65 63 6F 72 64 20 69 6E d next record in
000010: 20 73 65 71 75 65 6E 63 65 0D 0A 20 20 20 20 20 sequence..
000020: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
000030: 20 2D 20 77 69 6C 6C 20 72 65 61 64 20 6E 65 78 - will read nex
000040: 74 20 72 65 63 6F 72 64 20 61 66 74 65 72 20 61 t record after a
000050: 0D 0A 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 70 72 65 76 69 6F previo
000070: 75 73 20 27 42 27 2C 20 27 52 27 2C 20 27 53 27 us 'B', 'R', 'S'
000080: 2C 20 6F 72 20 27 55 27 0D 0A 0D 0A 20 20 20 20 , or 'U'....
000090: 20 20 55 20 20 20 20 20 20 20 75 70 64 61 74 65 U update
0000A0: 20 61 20 72 65 63 6F 72 64 0D 0A 20 20 20 20 20 a record..
0000B0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
0000C0: 20 2D 20 74 68 65 20 75 70 64 61 74 65 20 6F 70 - the update op
0000D0: 65 72 61 74 69 6F 6E 20 4D 55 53 54 20 41 4C 57 eration MUST ALW
0000E0: 41 59 53 20 62 65 0D 0A 20 20 20 20 20 20 20 20 AYS be..
0000F0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
000100: 70 72 65 63 65 64 65 64 20 62 79 20 61 20 72 65 preceded by a re
000110: 61 64 20 6F 70 65 72 61 74 69 6F 6E 20 77 69 74 ad operation wit
000120: 68 20 74 68 65 0D 0A 20 20 20 20 20 20 20 20 20 h the..
000130: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 s
000140: 61 6D 65 20 6B 65 79 0D 0A 20 20 20 20 20 20 20 ame key..
000150: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2D -
000160: 20 77 72 69 74 65 20 6D 6F 64 69 66 69 65 64 20 write modified
000170: 72 65 63 6F 72 64 20 74 6F 20 64 61 74 61 20 66 record to data f
000180: 69 6C 65 0D 0A 0D 0A 20 20 20 20 20 20 57 20 20 ile.... W
000190: 20 20 20 20 20 77 61 72 6E 69 6E 67 20 6D 65 73 warning mes
0001A0: 73 61 67 65 73 0D 0A 20 20 20 20 20 20 20 20 20 sages..
0001B0: 20 20 20 20 20 20 20 20 20 20 20 20 20 2D 20 74 - t
0001C0: 75 72 6E 20 6F 6E 20 74 68 65 20 77 61 72 6E 69 urn on the warni
0001D0: 6E 67 20 6D 65 73 73 61 67 65 20 66 65 61 74 75 ng message featu
0001E0: 72 65 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 re..
0001F0: 20 20 20 20 20 20 20 20 20 20 2D 20 63 61 75 73 - caus
Size : 512 (Real : 512)
000000: 65 20 63 61 6C 6C 65 64 0D 0A 20 20 20 20 20 20 e called..
000010: 6E 61 6D 65 2E 24 24 49 2E 20 20 49 4E 44 45 58 name.$$I. INDEX
000020: 31 20 77 69 6C 6C 20 74 68 65 6E 20 64 65 6C 65 1 will then dele
000030: 74 65 20 74 68 65 20 6F 6C 64 20 2E 49 58 30 20 te the old .IX0
000040: 66 69 6C 65 20 61 6E 64 20 20 72 65 6E 61 6D 65 file and rename
000050: 20 20 74 68 65 0D 0A 20 20 20 20 20 20 6E 65 77 the.. new
000060: 20 20 66 69 6C 65 20 20 74 6F 20 20 6E 61 6D 65 file to name
000070: 2E 49 58 30 2E 20 20 20 52 65 6F 72 67 61 6E 69 .IX0. Reorgani
000080: 7A 61 74 69 6F 6E 20 74 61 6B 65 73 20 32 35 30 zation takes 250
000090: 30 20 74 6F 20 33 32 30 30 20 62 79 74 65 73 20 0 to 3200 bytes
0000A0: 6F 66 0D 0A 20 20 20 20 20 20 73 70 61 63 65 20 of.. space
0000B0: 69 6E 20 6D 61 69 6E 20 6D 65 6D 6F 72 79 20 61 in main memory a
0000C0: 73 20 77 65 6C 6C 20 61 73 20 73 70 61 63 65 20 s well as space
0000D0: 6F 6E 20 74 68 65 20 64 69 73 6B 2C 20 20 73 6F on the disk, so
0000E0: 20 20 69 74 20 20 69 73 20 20 6E 65 76 65 72 0D it is never.
0000F0: 0A 20 20 20 20 20 20 64 6F 6E 65 20 61 75 74 6F . done auto
000100: 6D 61 74 69 63 61 6C 6C 79 2E 20 20 49 4E 44 45 matically. INDE
000110: 58 31 20 6D 75 73 74 20 62 65 20 64 65 63 6C 61 X1 must be decla
000120: 72 65 64 20 61 73 20 61 6E 20 65 78 74 65 72 6E red as an extern
000130: 61 6C 20 70 72 6F 63 65 64 75 72 65 0D 0A 20 20 al procedure..
000140: 20 20 20 20 28 6A 75 73 74 20 20 61 73 20 20 49 (just as I
000150: 4E 44 45 58 30 20 20 77 61 73 20 20 64 65 63 6C NDEX0 was decl
000160: 61 72 65 64 29 20 69 66 20 79 6F 75 72 20 70 72 ared) if your pr
000170: 6F 67 72 61 6D 20 69 73 20 67 6F 69 6E 67 20 74 ogram is going t
000180: 6F 20 62 61 6C 61 6E 63 65 0D 0A 20 20 20 20 20 o balance..
000190: 20 69 6E 64 65 78 65 73 20 22 6F 6E 20 74 68 65 indexes "on the
0001A0: 20 66 6C 79 22 2E 0D 0A 0D 0A 20 20 20 20 20 20 fly".....
0001B0: 20 20 20 20 20 20 20 20 50 52 4F 43 45 44 55 52 PROCEDUR
0001C0: 45 20 49 4E 44 45 58 31 20 28 20 43 4F 4D 4D 41 E INDEX1 ( COMMA
0001D0: 4E 44 20 3A 20 43 48 41 52 3B 0D 0A 20 20 20 20 ND : CHAR;..
0001E0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
0001F0: 20 20 20 20 20 20 20 20 20 20 20 20 56 41 52 20 VAR
Size : 512 (Real : 512)
000000: 65 64 20 6E 6F 6E 2D 7A 65 72 6F 20 72 65 74 75 ed non-zero retu
000010: 72 6E 20 63 6F 64 65 73 20 74 6F 20 70 72 69 6E rn codes to prin
000020: 74 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 20 t..
000030: 20 20 20 20 20 20 20 20 20 20 20 76 65 72 62 61 verba
000040: 6C 20 65 72 72 6F 72 20 6D 65 73 73 61 67 65 73 l error messages
000050: 0D 0A 0D 0A 20 20 20 20 20 20 5A 20 20 20 20 20 .... Z
000060: 20 20 74 75 72 6E 20 6F 66 66 20 77 61 72 6E 69 turn off warni
000070: 6E 67 20 6D 65 73 73 61 67 65 73 0D 0A 0D 0A 0D ng messages.....
000080: 0A 20 20 20 20 20 20 37 2E 34 2E 35 20 20 49 4E . 7.4.5 IN
000090: 44 45 58 20 72 65 74 75 72 6E 20 63 6F 64 65 73 DEX return codes
0000A0: 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 30 20 20 20 ...... 0
0000B0: 20 20 20 20 73 75 63 63 65 73 73 66 75 6C 20 63 successful c
0000C0: 6F 6D 70 6C 65 74 69 6F 6E 0D 0A 0D 0A 20 20 20 ompletion....
0000D0: 20 20 20 31 20 20 20 20 20 20 20 64 75 70 6C 69 1 dupli
0000E0: 63 61 74 65 20 6B 65 79 0D 0A 0D 0A 20 20 20 20 cate key....
0000F0: 20 20 32 20 20 20 20 20 20 20 6D 61 78 69 6D 75 2 maximu
000100: 6D 20 6E 75 6D 62 65 72 20 6F 66 20 72 65 63 6F m number of reco
000110: 72 64 73 20 65 78 63 65 65 64 65 64 0D 0A 0D 0A rds exceeded....
000120: 20 20 20 20 20 20 33 20 20 20 20 20 20 20 6B 65 3 ke
000130: 79 20 6E 6F 74 20 66 6F 75 6E 64 0D 0A 0D 0A 20 y not found....
000140: 20 20 20 20 20 34 20 20 20 20 20 20 20 75 70 64 4 upd
000150: 61 74 65 20 6B 65 79 20 64 6F 65 73 20 6E 6F 74 ate key does not
000160: 20 6D 61 74 63 68 20 72 65 61 64 20 6B 65 79 20 match read key
000170: 6F 72 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 or..
000180: 20 20 70 72 65 76 69 6F 75 73 20 72 65 61 64 20 previous read
000190: 77 61 73 20 6E 6F 74 20 73 75 63 63 65 73 73 66 was not successf
0001A0: 75 6C 0D 0A 0D 0A 20 20 20 20 20 20 35 20 20 20 ul.... 5
0001B0: 20 20 20 20 6B 65 79 20 76 61 6C 75 65 20 64 6F key value do
0001C0: 65 73 20 6E 6F 74 20 6D 61 74 63 68 20 6B 65 79 es not match key
0001D0: 20 69 6E 20 72 65 63 6F 72 64 0D 0A 0D 0A 20 20 in record....
0001E0: 20 20 20 20 36 20 20 20 20 20 20 20 73 65 63 6F 6 seco
0001F0: 6E 64 20 6F 70 65 6E 20 6F 72 20 6E 65 77 20 77 nd open or new w
Size : 512 (Real : 512)
000000: 4B 45 59 20 3A 20 4B 45 59 5F 54 59 50 45 3B 0D KEY : KEY_TYPE;.
000010: 0A 20 20 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 20 20 20 20 20
000030: 20 56 41 52 20 44 41 54 41 20 3A 20 52 45 43 4F VAR DATA : RECO
000040: 52 44 5F 54 59 50 45 3B 0D 0A 20 20 20 20 20 20 RD_TYPE;..
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 56 41 52 20 49 52 VAR IR
000070: 20 3A 20 49 4E 44 45 58 5F 52 45 43 4F 52 44 20 : INDEX_RECORD
000080: 29 3B 20 45 58 54 45 52 4E 3B 0D 0A 0D 0A 20 20 ); EXTERN;....
000090: 20 20 20 20 20 20 20 20 20 49 4E 44 45 58 31 20 INDEX1
0000A0: 73 75 70 70 6F 72 74 73 20 74 68 65 20 4A 20 61 supports the J a
0000B0: 6E 64 20 4B 20 6F 70 65 72 61 74 69 6F 6E 73 20 nd K operations
0000C0: 77 68 69 63 68 20 20 61 72 65 20 20 64 65 73 63 which are desc
0000D0: 72 69 62 65 64 20 20 69 6E 0D 0A 20 20 20 20 20 ribed in..
0000E0: 20 73 65 63 74 69 6F 6E 20 37 2E 34 2E 34 2E 0D section 7.4.4..
0000F0: 0A 0D 0A 20 20 20 20 20 20 20 20 20 20 20 49 6E ... In
000100: 20 20 67 65 6E 65 72 61 6C 2C 20 20 74 68 65 20 general, the
000110: 20 72 65 63 6F 72 64 20 20 76 61 72 69 61 62 6C record variabl
000120: 65 20 20 73 68 6F 75 6C 64 20 62 65 20 73 65 74 e should be set
000130: 20 74 6F 20 61 6C 6C 20 62 6C 61 6E 6B 73 0D 0A to all blanks..
000140: 20 20 20 20 20 20 62 65 66 6F 72 65 20 49 4E 44 before IND
000150: 45 58 31 20 69 73 20 63 61 6C 6C 65 64 2E 0D 0A EX1 is called...
000160: 0D 0A 0D 0A 20 20 20 20 20 20 37 2E 34 2E 37 20 .... 7.4.7
000170: 20 49 4E 44 45 58 32 20 75 74 69 6C 69 74 79 0D INDEX2 utility.
000180: 0A 0D 0A 20 20 20 20 20 20 20 20 20 20 20 54 79 ... Ty
000190: 70 65 20 45 58 45 43 20 49 4E 44 45 58 32 20 74 pe EXEC INDEX2 t
0001A0: 6F 20 72 65 62 61 6C 61 6E 63 65 20 74 68 65 20 o rebalance the
0001B0: 69 6E 64 65 78 65 73 20 69 6E 20 20 74 68 65 20 indexes in the
0001C0: 20 66 69 6C 65 20 20 61 6E 64 20 20 74 6F 0D 0A file and to..
0001D0: 20 20 20 20 20 20 63 6F 6D 70 61 63 74 20 20 74 compact t
0001E0: 68 65 20 64 61 74 61 20 61 66 74 65 72 20 6D 61 he data after ma
0001F0: 6E 79 20 64 65 6C 65 74 69 6F 6E 73 2E 20 20 49 ny deletions. I
Size : 512 (Real : 512)
000000: 77 61 6E 74 20 74 6F 20 61 73 73 69 67 6E 0D 0A want to assign..
000010: 20 20 20 20 20 20 72 65 63 20 74 6F 20 63 6F 6E rec to con
000020: 74 61 69 6E 20 6E 65 77 5F 70 61 72 61 6D 2C 20 tain new_param,
000030: 61 6E 64 20 74 68 65 6E 20 63 61 6C 6C 20 49 4E and then call IN
000040: 44 45 58 31 2C 20 66 6F 72 20 65 78 61 6D 70 6C DEX1, for exampl
000050: 65 0D 0A 0D 0A 20 20 20 20 20 20 20 20 20 20 20 e....
000060: 20 72 65 63 20 3A 3D 20 6E 65 77 5F 70 61 72 61 rec := new_para
000070: 6D 3B 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 m;..
000080: 49 4E 44 45 58 31 20 28 27 4B 27 2C 6B 65 79 2C INDEX1 ('K',key,
000090: 20 72 65 63 2C 20 69 72 29 3B 0D 0A 0D 0A 20 20 rec, ir);....
0000A0: 20 20 20 20 20 20 20 20 20 4D 6F 73 74 20 70 72 Most pr
0000B0: 6F 67 72 61 6D 73 20 77 69 6C 6C 20 6E 6F 74 20 ograms will not
0000C0: 6E 65 65 64 20 74 6F 20 75 73 65 20 74 68 65 20 need to use the
0000D0: 20 27 4B 27 20 20 6F 70 74 69 6F 6E 2C 20 20 73 'K' option, s
0000E0: 69 6E 63 65 20 20 74 68 65 0D 0A 20 20 20 20 20 ince the..
0000F0: 20 65 71 75 69 76 61 6C 65 6E 74 20 20 63 61 6E equivalent can
000100: 20 20 62 65 20 20 64 6F 6E 65 20 61 73 20 6E 65 be done as ne
000110: 65 64 65 64 20 62 79 20 68 61 76 69 6E 67 20 74 eded by having t
000120: 68 65 20 75 73 65 72 20 69 73 73 75 65 20 74 68 he user issue th
000130: 65 20 43 50 2F 4D 0D 0A 20 20 20 20 20 20 63 6F e CP/M.. co
000140: 6D 6D 61 6E 64 20 45 58 45 43 20 49 4E 44 45 58 mmand EXEC INDEX
000150: 32 2C 20 70 72 65 66 65 72 61 62 6C 79 20 61 66 2, preferably af
000160: 74 65 72 20 74 68 65 20 64 61 74 61 20 62 61 73 ter the data bas
000170: 65 73 20 68 61 76 65 20 62 65 65 6E 20 63 6F 70 es have been cop
000180: 69 65 64 0D 0A 20 20 20 20 20 20 74 6F 20 62 61 ied.. to ba
000190: 63 6B 75 70 20 64 69 73 6B 73 2E 0D 0A 0D 0A 0D ckup disks......
0001A0: 0A 20 20 20 20 20 20 37 2E 34 2E 38 20 20 45 66 . 7.4.8 Ef
0001B0: 66 69 63 69 65 6E 63 79 20 6E 6F 74 65 73 0D 0A ficiency notes..
0001C0: 0D 0A 20 20 20 20 20 20 20 20 20 20 20 52 65 61 .. Rea
0001D0: 64 69 6E 67 20 72 65 63 6F 72 64 73 20 66 72 6F ding records fro
0001E0: 6D 20 74 68 65 20 64 61 74 61 20 62 61 73 65 20 m the data base
0001F0: 69 73 20 6F 6E 6C 79 20 73 6C 6F 77 20 77 68 65 is only slow whe
Size : 512 (Real : 512)
000000: 4E 44 45 58 32 20 77 69 6C 6C 20 61 73 6B 20 66 NDEX2 will ask f
000010: 6F 72 20 74 68 65 20 6E 61 6D 65 0D 0A 20 20 20 or the name..
000020: 20 20 20 6F 66 20 74 68 65 20 64 69 73 6B 20 64 of the disk d
000030: 72 69 76 65 20 63 6F 6E 74 61 69 6E 69 6E 67 20 rive containing
000040: 74 68 65 20 69 6E 64 65 78 65 64 20 66 69 6C 65 the indexed file
000050: 73 20 28 41 20 74 6F 20 50 29 2C 20 74 68 65 20 s (A to P), the
000060: 6E 61 6D 65 20 20 6F 66 0D 0A 20 20 20 20 20 20 name of..
000070: 69 6E 64 65 78 20 20 66 69 6C 65 73 20 20 28 77 index files (w
000080: 68 69 63 68 20 20 79 6F 75 20 20 77 6F 75 6C 64 hich you would
000090: 20 20 65 6E 74 65 72 20 20 77 69 74 68 6F 75 74 enter without
0000A0: 20 61 6E 79 20 27 2E 27 20 6F 72 20 27 2E 44 41 any '.' or '.DA
0000B0: 54 27 20 6F 72 0D 0A 20 20 20 20 20 20 27 2E 49 T' or.. '.I
0000C0: 58 30 27 29 2C 20 61 6E 64 20 74 68 65 20 6E 61 X0'), and the na
0000D0: 6D 65 20 6F 66 20 74 68 65 20 63 6F 6D 70 61 63 me of the compac
0000E0: 74 65 64 20 66 69 6C 65 73 2E 20 20 59 6F 75 20 ted files. You
0000F0: 63 61 6E 20 68 61 76 65 20 20 74 68 65 20 20 6E can have the n
000100: 65 77 0D 0A 20 20 20 20 20 20 66 69 6C 65 73 20 ew.. files
000110: 70 75 74 20 6F 6E 20 74 68 65 20 73 61 6D 65 20 put on the same
000120: 6F 72 20 61 6E 6F 74 68 65 72 20 64 69 73 6B 20 or another disk
000130: 64 72 69 76 65 20 61 73 20 74 68 65 20 6F 72 69 drive as the ori
000140: 67 69 6E 61 6C 20 66 69 6C 65 73 2E 0D 0A 0D 0A ginal files.....
000150: 20 20 20 20 20 20 20 20 20 20 20 49 4E 44 45 58 INDEX
000160: 32 20 20 77 69 6C 6C 20 20 61 6C 73 6F 20 20 61 2 will also a
000170: 73 6B 20 66 6F 72 20 61 20 6E 65 77 20 6E 75 6D sk for a new num
000180: 62 65 72 20 6F 66 20 6D 61 78 69 6D 75 6D 20 72 ber of maximum r
000190: 65 63 6F 72 64 73 2E 20 20 49 66 0D 0A 20 20 20 ecords. If..
0001A0: 20 20 20 79 6F 75 20 65 6E 74 65 72 20 30 2C 20 you enter 0,
0001B0: 74 68 65 20 70 72 65 76 69 6F 75 73 20 6D 61 78 the previous max
0001C0: 69 6D 75 6D 20 77 69 6C 6C 20 62 65 20 75 73 65 imum will be use
0001D0: 64 2E 0D 0A 0D 0A 20 20 20 20 43 6F 6D 70 72 65 d..... Compre
0001E0: 73 73 69 6E 67 20 64 61 74 61 20 66 72 6F 6D 20 ssing data from
0001F0: 77 69 74 68 69 6E 20 61 20 70 72 6F 67 72 61 6D within a program
Size : 512 (Real : 512)
000000: 6E 20 20 76 65 72 79 20 20 6D 61 6E 79 0D 0A 20 n very many..
000010: 20 20 20 20 20 6B 65 79 73 20 20 68 61 76 65 20 keys have
000020: 20 74 68 65 20 20 73 61 6D 65 20 20 66 69 72 73 the same firs
000030: 74 20 66 6F 75 72 20 63 68 61 72 61 63 74 65 72 t four character
000040: 73 2E 20 20 49 66 20 74 68 65 20 69 6E 64 65 78 s. If the index
000050: 65 73 20 69 6E 20 6D 6F 72 65 0D 0A 20 20 20 20 es in more..
000060: 20 20 74 68 61 6E 20 6F 6E 65 20 73 65 63 6F 6E than one secon
000070: 64 61 72 79 20 69 6E 64 65 78 20 62 6C 6F 63 6B dary index block
000080: 20 68 61 76 65 20 74 68 65 20 73 61 6D 65 20 66 have the same f
000090: 69 72 73 74 20 20 66 6F 75 72 20 20 63 68 61 72 irst four char
0000A0: 61 63 74 65 72 73 2C 0D 0A 20 20 20 20 20 20 49 acters,.. I
0000B0: 4E 44 45 58 30 20 6D 61 79 20 68 61 76 65 20 74 NDEX0 may have t
0000C0: 6F 20 73 65 61 72 63 68 20 6D 6F 72 65 20 74 68 o search more th
0000D0: 61 6E 20 6F 6E 65 20 73 65 63 6F 6E 64 61 72 79 an one secondary
0000E0: 20 69 6E 64 65 78 20 62 6C 6F 63 6B 20 74 6F 20 index block to
0000F0: 66 69 6E 64 0D 0A 20 20 20 20 20 20 61 20 67 69 find.. a gi
000100: 76 65 6E 20 72 65 63 6F 72 64 2E 20 47 65 6E 65 ven record. Gene
000110: 72 61 6C 6C 79 2C 20 74 68 69 73 20 77 69 6C 6C rally, this will
000120: 20 6E 6F 74 20 6F 63 63 75 72 2E 0D 0A 0D 0A 20 not occur.....
000130: 20 20 20 20 20 20 20 20 20 20 52 61 6E 64 6F 6D Random
000140: 20 20 6F 75 74 70 75 74 20 20 69 6E 20 20 67 65 output in ge
000150: 6E 65 72 61 6C 20 20 75 6E 64 65 72 20 20 43 50 neral under CP
000160: 2F 4D 20 20 69 73 20 20 69 6E 65 66 66 69 63 69 /M is ineffici
000170: 65 6E 74 20 64 75 65 20 74 6F 0D 0A 20 20 20 20 ent due to..
000180: 20 20 62 75 66 66 65 72 69 6E 67 20 72 65 71 75 buffering requ
000190: 69 72 65 6D 65 6E 74 73 2E 20 20 52 61 6E 64 6F irements. Rando
0001A0: 6D 20 6F 75 74 70 75 74 20 77 69 6C 6C 20 62 65 m output will be
0001B0: 20 20 6D 6F 73 74 20 20 65 66 66 69 63 69 65 6E most efficien
0001C0: 74 20 20 77 69 74 68 0D 0A 20 20 20 20 20 20 64 t with.. d
0001D0: 6F 75 62 6C 65 20 64 65 6E 73 69 74 79 20 64 69 ouble density di
0001E0: 73 6B 73 20 77 69 74 68 20 31 4B 20 62 6C 6F 63 sks with 1K bloc
0001F0: 6B 73 20 6F 72 20 77 69 74 68 20 73 69 6E 67 6C ks or with singl
Size : 512 (Real : 512)
000000: 0D 0A 0D 0A 20 20 20 20 20 20 20 20 20 20 20 49 .... I
000010: 4E 44 45 58 32 20 75 73 65 73 20 49 4E 44 45 58 NDEX2 uses INDEX
000020: 30 20 61 6E 64 20 49 4E 44 45 58 31 20 74 6F 20 0 and INDEX1 to
000030: 70 65 72 66 6F 72 6D 20 74 68 65 20 61 63 74 75 perform the actu
000040: 61 6C 20 69 6E 64 65 78 65 64 20 66 69 6C 65 0D al indexed file.
000050: 0A 20 20 20 20 20 20 61 63 63 65 73 73 65 73 2E . accesses.
000060: 20 20 48 69 67 68 6C 79 20 73 6F 70 68 69 73 74 Highly sophist
000070: 69 63 61 74 65 64 20 20 70 72 6F 67 72 61 6D 73 icated programs
000080: 20 20 63 61 6E 20 20 61 6C 73 6F 20 20 75 73 65 can also use
000090: 20 20 49 4E 44 45 58 31 20 20 74 6F 0D 0A 20 20 INDEX1 to..
0000A0: 20 20 20 20 63 6F 6D 70 61 63 74 20 20 74 68 65 compact the
0000B0: 20 20 64 61 74 61 20 20 66 69 6C 65 20 20 61 73 data file as
0000C0: 20 77 65 6C 6C 20 61 73 20 62 61 6C 61 6E 63 65 well as balance
0000D0: 20 74 68 65 20 69 6E 64 65 78 65 73 2E 20 43 61 the indexes. Ca
0000E0: 6C 6C 20 49 4E 44 45 58 31 0D 0A 20 20 20 20 20 ll INDEX1..
0000F0: 20 77 69 74 68 20 74 68 65 20 63 6F 6D 6D 61 6E with the comman
000100: 64 20 27 4B 27 20 28 6B 6F 6D 70 72 65 73 73 29 d 'K' (kompress)
000110: 20 74 6F 20 64 6F 20 61 20 63 6F 6D 70 6C 65 74 to do a complet
000120: 65 20 72 65 6F 72 67 61 6E 69 7A 61 74 69 6F 6E e reorganization
000130: 2E 20 20 20 49 66 0D 0A 20 20 20 20 20 20 74 68 . If.. th
000140: 65 20 20 72 65 63 6F 72 64 20 20 61 72 67 75 6D e record argum
000150: 65 6E 74 20 20 69 73 20 73 65 74 20 74 6F 20 61 ent is set to a
000160: 6C 6C 20 62 6C 61 6E 6B 73 2C 20 74 68 65 6E 20 ll blanks, then
000170: 74 68 65 20 73 61 6D 65 20 64 69 73 6B 20 64 72 the same disk dr
000180: 69 76 65 0D 0A 20 20 20 20 20 20 61 6E 64 20 73 ive.. and s
000190: 61 6D 65 20 6D 61 78 69 6D 75 6D 20 72 65 63 6F ame maximum reco
0001A0: 72 64 20 63 6F 75 6E 74 20 77 69 6C 6C 20 62 65 rd count will be
0001B0: 20 75 73 65 64 20 69 6E 20 63 72 65 61 74 69 6E used in creatin
0001C0: 67 20 74 68 65 20 20 6E 65 77 20 20 64 61 74 61 g the new data
0001D0: 0D 0A 20 20 20 20 20 20 62 61 73 65 20 20 20 63 .. base c
0001E0: 6F 70 69 65 73 2E 20 20 20 49 66 20 20 74 68 65 opies. If the
0001F0: 20 20 72 65 63 6F 72 64 20 20 61 72 67 75 6D 65 record argume
Size : 512 (Real : 512)
000000: 65 20 64 65 6E 73 69 74 79 20 64 69 73 6B 73 20 e density disks
000010: 77 69 74 68 0D 0A 20 20 20 20 20 20 31 32 38 20 with.. 128
000020: 62 6C 6F 63 6B 73 2E 0D 0A 0D 0A 20 20 20 20 4D blocks..... M
000030: 61 78 69 6D 75 6D 20 6E 75 6D 62 65 72 20 6F 66 aximum number of
000040: 20 72 65 63 6F 72 64 73 0D 0A 0D 0A 20 20 20 20 records....
000050: 20 20 20 20 20 20 20 54 68 65 20 20 6D 61 78 69 The maxi
000060: 6D 75 6D 20 20 6E 75 6D 62 65 72 20 6F 66 20 72 mum number of r
000070: 65 63 6F 72 64 73 20 73 68 6F 75 6C 64 20 62 65 ecords should be
000080: 20 73 65 74 20 74 6F 20 73 6F 6D 65 77 68 61 74 set to somewhat
000090: 20 28 35 30 20 74 6F 0D 0A 20 20 20 20 20 20 32 (50 to.. 2
0000A0: 30 30 29 20 6C 65 73 73 20 74 68 61 6E 20 74 68 00) less than th
0000B0: 65 20 74 68 65 6F 72 65 74 69 63 61 6C 20 6D 61 e theoretical ma
0000C0: 78 69 6D 75 6D 2E 20 20 49 66 2C 20 66 6F 72 20 ximum. If, for
0000D0: 65 78 61 6D 70 6C 65 2C 20 38 2D 62 79 74 65 20 example, 8-byte
0000E0: 6B 65 79 73 0D 0A 20 20 20 20 20 20 61 72 65 20 keys.. are
0000F0: 64 65 63 6C 61 72 65 64 20 77 69 74 68 20 75 70 declared with up
000100: 20 74 6F 20 32 33 38 30 38 20 72 65 63 6F 72 64 to 23808 record
000110: 73 2C 20 32 35 36 20 72 65 63 6F 72 64 73 20 61 s, 256 records a
000120: 72 65 20 20 65 6E 74 65 72 65 64 2C 20 20 74 68 re entered, th
000130: 65 0D 0A 20 20 20 20 20 20 69 6E 64 65 78 65 73 e.. indexes
000140: 20 20 61 72 65 20 20 62 61 6C 61 6E 63 65 64 20 are balanced
000150: 20 28 77 69 74 68 20 20 27 4A 27 29 2E 20 20 54 (with 'J'). T
000160: 68 65 72 65 20 77 69 6C 6C 20 6E 6F 77 20 62 65 here will now be
000170: 20 32 35 36 20 73 65 63 6F 6E 64 61 72 79 0D 0A 256 secondary..
000180: 20 20 20 20 20 20 69 6E 64 65 78 65 73 20 62 6C indexes bl
000190: 6F 63 6B 73 20 77 69 74 68 20 6F 6E 65 20 6B 65 ocks with one ke
0001A0: 79 20 65 61 63 68 2E 20 20 54 68 65 6E 2C 20 69 y each. Then, i
0001B0: 66 20 39 32 20 72 65 63 6F 72 64 73 20 61 72 65 f 92 records are
0001C0: 20 61 64 64 65 64 20 77 69 74 68 0D 0A 20 20 20 added with..
0001D0: 20 20 20 6B 65 79 20 67 72 65 61 74 65 72 20 74 key greater t
0001E0: 68 61 6E 20 74 68 65 20 32 35 36 74 68 20 72 65 han the 256th re
0001F0: 63 6F 72 64 2C 20 74 68 65 20 6C 61 73 74 20 73 cord, the last s
Size : 512 (Real : 512)
000000: 6E 74 20 20 69 73 20 20 67 69 76 65 6E 20 20 74 nt is given t
000010: 68 65 20 20 66 6F 6C 6C 6F 77 69 6E 67 0D 0A 20 he following..
000020: 20 20 20 20 20 73 74 72 75 63 74 75 72 65 2C 20 structure,
000030: 74 68 65 6E 20 61 6C 74 65 72 6E 61 74 65 20 64 then alternate d
000040: 69 73 6B 20 64 72 69 76 65 73 20 6F 72 20 61 20 isk drives or a
000050: 64 69 66 66 65 72 65 6E 74 20 20 6D 61 78 69 6D different maxim
000060: 75 6D 20 20 6E 75 6D 62 65 72 0D 0A 20 20 20 20 um number..
000070: 20 20 6F 66 20 72 65 63 6F 72 64 73 20 63 61 6E of records can
000080: 20 62 65 20 73 65 74 2E 0D 0A 0D 0A 0D 0A 20 20 be set.......
000090: 20 20 20 20 20 20 20 20 20 20 56 41 52 0D 0A 20 VAR..
0000A0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
0000B0: 20 6E 65 77 5F 70 61 72 61 6D 20 3A 20 52 45 43 new_param : REC
0000C0: 4F 52 44 0D 0A 20 20 20 20 20 20 20 20 20 20 20 ORD..
0000D0: 20 20 20 20 20 20 20 20 20 20 20 20 20 6E 65 77 new
0000E0: 5F 64 69 73 6B 5F 66 6C 61 67 20 3A 20 43 48 41 _disk_flag : CHA
0000F0: 52 3B 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 R;..
000100: 20 20 20 20 20 20 20 20 20 20 20 20 6E 65 77 5F new_
000110: 64 69 73 6B 20 3A 20 43 48 41 52 3B 0D 0A 20 20 disk : CHAR;..
000120: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
000130: 20 20 20 20 20 20 6D 61 78 5F 6E 72 5F 66 6C 61 max_nr_fla
000140: 67 20 3A 20 43 48 41 52 3B 0D 0A 20 20 20 20 20 g : CHAR;..
000150: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
000160: 20 20 20 6D 61 78 5F 6E 72 5F 72 65 63 20 3A 20 max_nr_rec :
000170: 49 4E 54 45 47 45 52 3B 0D 0A 20 20 20 20 20 20 INTEGER;..
000180: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
000190: 20 20 6F 6C 64 5F 6C 65 61 76 65 20 3A 20 43 48 old_leave : CH
0001A0: 41 52 3B 0D 0A 20 20 20 20 20 20 20 20 20 20 20 AR;..
0001B0: 20 20 20 20 20 20 20 20 20 20 20 20 20 45 4E 44 END
0001C0: 3B 0D 0A 0D 0A 20 20 20 20 20 20 20 20 20 20 20 ;....
0001D0: 53 65 74 20 20 20 6E 65 77 5F 70 61 72 61 6D 2E Set new_param.
0001E0: 6E 65 77 5F 64 69 73 6B 5F 66 6C 61 67 20 20 20 new_disk_flag
0001F0: 74 6F 20 20 20 27 59 27 20 20 69 66 20 20 6E 65 to 'Y' if ne
Size : 512 (Real : 512)
000000: 65 63 6F 6E 64 61 72 79 20 69 6E 64 65 78 20 20 econdary index
000010: 77 69 6C 6C 20 20 62 65 0D 0A 20 20 20 20 20 20 will be..
000020: 66 75 6C 6C 2E 20 20 20 53 69 6E 63 65 20 20 6F full. Since o
000030: 6E 65 20 20 73 65 63 6F 6E 64 61 72 79 20 20 69 ne secondary i
000040: 6E 64 65 78 20 20 62 6C 6F 63 6B 20 20 63 61 6E ndex block can
000050: 20 68 6F 6C 64 20 39 33 20 38 2D 62 79 74 65 20 hold 93 8-byte
000060: 6B 65 79 73 2C 0D 0A 20 20 20 20 20 20 61 64 64 keys,.. add
000070: 69 6E 67 20 61 20 39 33 72 64 20 6B 65 79 20 6C ing a 93rd key l
000080: 61 72 67 65 72 20 74 68 61 6E 20 20 74 68 65 20 arger than the
000090: 20 32 35 36 74 68 20 20 77 69 6C 6C 20 20 22 6F 256th will "o
0000A0: 76 65 72 66 6C 6F 77 22 20 20 74 68 65 20 20 74 verflow" the t
0000B0: 6F 70 0D 0A 20 20 20 20 20 20 73 65 63 6F 6E 64 op.. second
0000C0: 61 72 79 20 69 6E 64 65 78 20 62 6C 6F 63 6B 2E ary index block.
0000D0: 20 41 20 73 65 72 69 6F 75 73 20 65 72 72 6F 72 A serious error
0000E0: 2E 0D 0A 0D 0A 20 20 20 20 20 20 20 20 20 20 20 .....
0000F0: 43 75 72 72 65 6E 74 6C 79 2C 20 20 74 68 65 20 Currently, the
000100: 20 6D 61 78 69 6D 75 6D 20 20 6E 75 6D 62 65 72 maximum number
000110: 20 20 6F 66 20 20 72 65 63 6F 72 64 73 20 69 73 of records is
000120: 20 33 32 37 36 37 20 66 6F 72 20 69 6E 64 65 78 32767 for index
000130: 0D 0A 20 20 20 20 20 20 66 69 6C 65 73 20 77 69 .. files wi
000140: 74 68 20 32 2D 2C 20 33 2D 2C 20 61 6E 64 20 34 th 2-, 3-, and 4
000150: 2D 62 79 74 65 20 6B 65 79 73 2E 0D 0A 0D 0A 0D -byte keys......
000160: 0A 20 20 20 20 20 20 37 2E 34 2E 39 20 20 53 61 . 7.4.9 Sa
000170: 6D 70 6C 65 20 69 6E 64 65 78 65 64 20 66 69 6C mple indexed fil
000180: 65 20 70 72 6F 67 72 61 6D 0D 0A 0D 0A 20 20 20 e program....
000190: 20 20 20 20 20 20 20 20 54 68 65 20 66 6F 6C 6C The foll
0001A0: 6F 77 69 6E 67 20 73 69 6D 70 6C 65 20 70 72 6F owing simple pro
0001B0: 67 72 61 6D 20 77 69 6C 6C 20 6C 65 74 20 79 6F gram will let yo
0001C0: 75 20 63 72 65 61 74 65 2C 20 61 64 64 20 74 6F u create, add to
0001D0: 2C 20 71 75 65 72 79 2C 0D 0A 20 20 20 20 20 20 , query,..
0001E0: 63 6C 6F 73 65 2C 20 61 6E 64 20 73 65 61 72 63 close, and searc
0001F0: 68 20 61 6E 79 20 64 61 74 61 20 62 61 73 65 2E h any data base.
Size : 512 (Real : 512)
000000: 77 5F 70 61 72 61 6D 2E 6E 65 77 5F 64 69 73 6B w_param.new_disk
000010: 0D 0A 20 20 20 20 20 20 63 6F 6E 74 61 69 6E 73 .. contains
000020: 20 20 61 6E 6F 74 68 65 72 20 20 20 64 69 73 6B another disk
000030: 20 20 20 64 72 69 76 65 20 20 20 6C 65 74 74 65 drive lette
000040: 72 20 20 20 28 73 75 63 68 20 20 20 61 73 20 20 r (such as
000050: 20 27 43 27 29 2E 20 20 20 20 53 65 74 0D 0A 20 'C'). Set..
000060: 20 20 20 20 20 6E 65 77 5F 70 61 72 61 6D 2E 6D new_param.m
000070: 61 78 5F 6E 72 5F 66 6C 61 67 20 20 74 6F 20 20 ax_nr_flag to
000080: 27 59 27 20 69 66 20 6E 65 77 5F 70 61 72 61 6D 'Y' if new_param
000090: 2E 6D 61 78 5F 6E 72 5F 72 65 63 20 63 6F 6E 74 .max_nr_rec cont
0000A0: 61 69 6E 73 20 61 20 6E 65 77 0D 0A 20 20 20 20 ains a new..
0000B0: 20 20 6D 61 78 69 6D 75 6D 20 6E 75 6D 62 65 72 maximum number
0000C0: 20 6F 66 20 72 65 63 6F 72 64 73 2C 20 73 75 63 of records, suc
0000D0: 68 20 61 73 20 32 30 30 30 2E 0D 0A 0D 0A 20 20 h as 2000.....
0000E0: 20 20 20 20 20 20 20 20 20 54 68 65 20 6E 65 77 The new
0000F0: 5F 64 69 73 6B 5F 66 6C 61 67 20 6F 6E 6C 79 20 _disk_flag only
000100: 77 6F 72 6B 73 20 77 69 74 68 20 74 68 65 20 27 works with the '
000110: 4B 27 20 6F 70 74 69 6F 6E 2E 20 20 54 68 65 20 K' option. The
000120: 6F 6C 64 5F 6C 65 61 76 65 0D 0A 20 20 20 20 20 old_leave..
000130: 20 66 6C 61 67 20 6F 6E 6C 79 20 77 6F 72 6B 73 flag only works
000140: 20 77 69 74 68 20 74 68 65 20 27 4B 27 20 6F 70 with the 'K' op
000150: 74 69 6F 6E 20 77 68 65 6E 20 61 20 6E 65 77 5F tion when a new_
000160: 64 69 73 6B 20 69 73 20 73 70 65 63 69 66 69 65 disk is specifie
000170: 64 2E 0D 0A 0D 0A 20 20 20 20 20 20 20 20 20 20 d.....
000180: 20 57 68 65 6E 20 74 68 65 20 27 4B 27 20 6F 70 When the 'K' op
000190: 74 69 6F 6E 20 69 73 20 75 73 65 64 2C 20 20 74 tion is used, t
0001A0: 68 65 20 20 72 65 63 6F 72 64 20 20 70 61 73 73 he record pass
0001B0: 65 64 20 20 6D 75 73 74 20 20 62 65 20 20 62 69 ed must be bi
0001C0: 67 0D 0A 20 20 20 20 20 20 65 6E 6F 75 67 68 20 g.. enough
0001D0: 20 74 6F 20 68 6F 6C 64 20 72 65 63 6F 72 64 73 to hold records
0001E0: 20 72 65 61 64 20 66 72 6F 6D 20 74 68 65 20 64 read from the d
0001F0: 69 73 6B 2E 20 20 59 6F 75 20 6D 69 67 68 74 20 isk. You might
Size : 512 (Real : 512)
000000: 20 20 49 74 20 61 73 73 75 6D 65 73 20 74 68 61 It assumes tha
000010: 74 20 74 68 65 20 72 65 63 6F 72 64 20 61 6E 64 t the record and
000020: 20 20 74 68 65 0D 0A 20 20 20 20 20 20 6B 65 79 the.. key
000030: 20 20 20 61 72 65 20 20 20 61 6C 70 68 61 6E 75 are alphanu
000040: 6D 65 72 69 63 20 20 28 70 72 69 6E 74 61 62 6C meric (printabl
000050: 65 29 20 20 69 6E 66 6F 72 6D 61 74 69 6F 6E 2E e) information.
000060: 20 20 20 59 6F 75 20 20 63 61 6E 20 20 65 6E 74 You can ent
000070: 65 72 0D 0A 20 20 20 20 20 20 69 6E 64 69 76 69 er.. indivi
000080: 64 75 61 6C 20 63 6F 6D 6D 61 6E 64 73 20 74 6F dual commands to
000090: 20 20 74 68 65 20 20 70 72 6F 67 72 61 6D 2C 20 the program,
0000A0: 20 77 68 69 63 68 20 20 77 69 6C 6C 20 20 63 61 which will ca
0000B0: 6C 6C 20 20 49 4E 44 45 58 30 20 20 28 6F 72 0D ll INDEX0 (or.
0000C0: 0A 20 20 20 20 20 20 49 4E 44 45 58 31 29 20 20 . INDEX1)
0000D0: 74 6F 20 70 65 72 66 6F 72 6D 20 74 68 65 20 65 to perform the e
0000E0: 71 75 69 76 61 6C 65 6E 74 20 63 6F 6D 6D 61 6E quivalent comman
0000F0: 64 2E 20 20 54 68 65 20 72 75 6E 74 69 6D 65 20 d. The runtime
000100: 65 78 61 6D 70 6C 65 20 74 68 61 74 0D 0A 20 20 example that..
000110: 20 20 20 20 66 6F 6C 6C 6F 77 73 20 74 68 65 20 follows the
000120: 6C 69 73 74 69 6E 67 20 6F 66 20 20 54 53 54 49 listing of TSTI
000130: 4E 44 45 58 20 20 73 68 6F 77 73 20 20 74 68 65 NDEX shows the
000140: 20 20 63 72 65 61 74 69 6F 6E 20 20 6F 66 20 20 creation of
000150: 61 20 20 73 69 6D 70 6C 65 0D 0A 20 20 20 20 20 a simple..
000160: 20 61 64 64 72 65 73 73 20 20 66 69 6C 65 2C 20 address file,
000170: 77 69 74 68 20 31 36 20 63 68 61 72 61 63 74 65 with 16 characte
000180: 72 20 73 65 61 72 63 68 20 6B 65 79 73 20 61 6E r search keys an
000190: 64 20 28 6F 6E 65 20 6C 69 6E 65 29 20 61 64 64 d (one line) add
0001A0: 72 65 73 73 65 73 0D 0A 20 20 20 20 20 20 75 70 resses.. up
0001B0: 20 74 6F 20 38 30 20 63 68 61 72 61 63 74 65 72 to 80 character
0001C0: 73 20 6C 6F 6E 67 2E 20 20 54 68 65 20 72 65 73 s long. The res
0001D0: 75 6C 74 69 6E 67 20 72 65 63 6F 72 64 73 20 61 ulting records a
0001E0: 72 65 20 20 74 68 65 6E 20 20 39 36 20 20 62 79 re then 96 by
0001F0: 74 65 73 0D 0A 20 20 20 20 20 20 6C 6F 6E 67 2E tes.. long.
Size : 512 (Real : 512)
000000: 6F 72 20 6B 6F 6D 70 72 65 73 73 20 6D 75 73 74 or kompress must
000010: 20 63 61 6C 6C 20 49 4E 44 45 58 31 20 2A 29 0D call INDEX1 *).
000020: 0A 20 20 20 20 20 20 20 20 20 20 20 20 49 46 20 . IF
000030: 28 63 6D 64 20 69 6E 20 5B 27 4A 27 2C 20 27 4B (cmd in ['J', 'K
000040: 27 5D 20 54 48 45 4E 0D 0A 20 20 20 20 20 20 20 '] THEN..
000050: 20 20 20 20 20 20 20 20 20 20 20 42 45 47 49 4E BEGIN
000060: 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ..
000070: 20 20 20 20 72 65 63 20 3A 3D 20 27 20 27 3B 0D rec := ' ';.
000080: 0A 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .
000090: 20 20 20 49 4E 44 45 58 31 28 63 6D 64 2C 20 6B INDEX1(cmd, k
0000A0: 65 79 2C 20 72 65 63 2C 20 69 72 29 3B 0D 0A 20 ey, rec, ir);..
0000B0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
0000C0: 20 45 4E 44 0D 0A 20 20 20 20 20 20 20 20 20 20 END..
0000D0: 20 20 45 4C 53 45 0D 0A 20 20 20 20 20 20 20 20 ELSE..
0000E0: 20 20 20 20 20 20 20 20 20 20 49 4E 44 45 58 30 INDEX0
0000F0: 28 63 6D 64 2C 20 6B 65 79 2C 20 72 65 63 2C 20 (cmd, key, rec,
000100: 69 72 29 3B 0D 0A 20 20 20 20 20 20 20 20 20 20 ir);..
000110: 20 20 49 46 20 28 69 72 2E 72 65 74 75 72 6E 5F IF (ir.return_
000120: 63 6F 64 65 20 3C 3E 20 30 29 20 54 48 45 4E 0D code <> 0) THEN.
000130: 0A 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .
000140: 20 20 20 42 45 47 49 4E 0D 0A 20 20 20 20 20 20 BEGIN..
000150: 20 20 20 20 20 20 20 20 20 20 20 20 77 72 69 74 writ
000160: 65 6C 6E 28 27 45 72 72 6F 72 3A 27 2C 20 69 72 eln('Error:', ir
000170: 2E 72 65 74 75 72 6E 5F 63 6F 64 65 29 3B 0D 0A .return_code);..
000180: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
000190: 20 20 45 4E 44 3B 0D 0A 20 20 20 20 20 20 20 20 END;..
0001A0: 20 20 20 20 49 46 20 28 63 6D 64 20 3D 20 27 51 IF (cmd = 'Q
0001B0: 27 29 20 54 48 45 4E 0D 0A 20 20 20 20 20 20 20 ') THEN..
0001C0: 20 20 20 20 20 20 20 20 20 20 20 77 72 69 74 65 write
0001D0: 6C 6E 28 27 71 75 65 72 79 20 72 65 73 75 6C 74 ln('query result
0001E0: 3A 20 27 2C 6B 65 79 5B 31 5D 29 3B 0D 0A 0D 0A : ',key[1]);....
0001F0: 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 49 46 .. IF
Size : 512 (Real : 512)
000000: 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A ................
000010: 0D 0A 20 20 20 20 20 20 50 52 4F 47 52 41 4D 20 .. PROGRAM
000020: 74 73 74 69 6E 64 65 78 3B 0D 0A 0D 0A 20 20 20 tstindex;....
000030: 20 20 20 54 59 50 45 0D 0A 20 20 20 20 20 20 20 TYPE..
000040: 20 20 20 20 20 6B 65 79 5F 74 20 3D 20 41 52 52 key_t = ARR
000050: 41 59 5B 31 2E 2E 32 35 36 5D 20 6F 66 20 43 48 AY[1..256] of CH
000060: 41 52 3B 0D 0A 20 20 20 20 20 20 20 20 20 20 20 AR;..
000070: 20 72 65 63 5F 74 20 3D 20 41 52 52 41 59 5B 31 rec_t = ARRAY[1
000080: 2E 2E 32 30 34 38 5D 20 6F 66 20 43 48 41 52 3B ..2048] of CHAR;
000090: 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 63 74 .. ct
0000A0: 72 6C 5F 72 65 63 20 3D 20 52 45 43 4F 52 44 0D rl_rec = RECORD.
0000B0: 0A 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .
0000C0: 20 20 20 63 5F 31 20 3A 20 41 52 52 41 59 5B 31 c_1 : ARRAY[1
0000D0: 2E 2E 34 5D 20 6F 66 20 49 4E 54 45 47 45 52 3B ..4] of INTEGER;
0000E0: 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ..
0000F0: 20 20 20 20 72 65 63 5F 73 69 7A 65 20 3A 20 49 rec_size : I
000100: 4E 54 45 47 45 52 3B 0D 0A 20 20 20 20 20 20 20 NTEGER;..
000110: 20 20 20 20 20 20 20 20 20 20 20 63 5F 32 20 3A c_2 :
000120: 20 49 4E 54 45 47 45 52 3B 0D 0A 20 20 20 20 20 INTEGER;..
000130: 20 20 20 20 20 20 20 20 20 20 20 20 20 6B 65 79 key
000140: 5F 73 69 7A 65 20 3A 20 49 4E 54 45 47 45 52 3B _size : INTEGER;
000150: 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ..
000160: 20 20 20 20 65 6E 64 3B 0D 0A 20 20 20 20 20 20 end;..
000170: 20 20 20 20 20 20 69 6E 64 65 78 5F 72 65 63 6F index_reco
000180: 72 64 20 3D 20 52 45 43 4F 52 44 0D 0A 20 20 20 rd = RECORD..
000190: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 64 d
0001A0: 69 73 6B 20 3A 20 43 48 41 52 3B 0D 0A 20 20 20 isk : CHAR;..
0001B0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 66 f
0001C0: 69 6C 65 6E 61 6D 65 20 3A 20 41 52 52 41 59 5B ilename : ARRAY[
0001D0: 31 2E 2E 38 5D 20 6F 66 20 43 48 41 52 3B 0D 0A 1..8] of CHAR;..
0001E0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
0001F0: 20 20 72 65 74 75 72 6E 5F 63 6F 64 65 20 3A 20 return_code :
Size : 512 (Real : 512)
000000: 20 28 63 6D 64 20 69 6E 20 5B 27 42 27 2C 20 27 (cmd in ['B', '
000010: 52 27 2C 20 27 53 27 5D 29 20 54 48 45 4E 0D 0A R', 'S']) THEN..
000020: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
000030: 20 20 42 45 47 49 4E 0D 0A 20 20 20 20 20 20 20 BEGIN..
000040: 20 20 20 20 20 20 20 20 20 20 20 77 72 69 74 65 write
000050: 6C 6E 28 27 6B 65 79 3A 20 27 2C 20 63 6F 70 79 ln('key: ', copy
000060: 28 72 65 63 2C 20 31 2C 20 69 72 2E 63 74 6C 5E (rec, 1, ir.ctl^
000070: 2E 6B 65 79 5F 73 69 7A 65 29 29 3B 0D 0A 20 20 .key_size));..
000080: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
000090: 77 72 69 74 65 6C 6E 28 27 64 61 74 61 3A 20 27 writeln('data: '
0000A0: 2C 20 63 6F 70 79 28 72 65 63 2C 20 69 72 2E 63 , copy(rec, ir.c
0000B0: 74 6C 5E 2E 6B 65 79 5F 73 69 7A 65 20 2B 20 31 tl^.key_size + 1
0000C0: 2C 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 20 ,..
0000D0: 20 20 20 20 20 20 20 20 20 20 20 20 20 69 72 2E ir.
0000E0: 63 74 6C 5E 2E 72 65 63 5F 73 69 7A 65 20 2D 20 ctl^.rec_size -
0000F0: 69 72 2E 63 74 6C 5E 2E 6B 65 79 5F 73 69 7A 65 ir.ctl^.key_size
000100: 29 29 3B 0D 0A 20 20 20 20 20 20 20 20 20 20 20 ));..
000110: 20 20 20 20 20 20 20 45 4E 44 3B 0D 0A 20 20 20 END;..
000120: 20 20 20 20 20 20 20 20 20 55 4E 54 49 4C 20 28 UNTIL (
000130: 63 6D 64 20 3D 20 27 3F 27 29 3B 0D 0A 20 20 20 cmd = '?');..
000140: 20 20 20 45 4E 44 2E 20 20 20 20 20 20 20 20 28 END. (
000150: 2A 20 74 73 74 69 6E 64 65 78 20 2A 29 0D 0A 0D * tstindex *)...
000160: 0A 0D 0A 20 20 20 20 20 20 20 20 20 20 20 45 78 ... Ex
000170: 65 63 75 74 69 6F 6E 20 20 6F 66 20 20 54 53 54 ecution of TST
000180: 49 4E 44 45 58 20 20 69 73 20 73 68 6F 77 6E 20 INDEX is shown
000190: 66 6F 72 20 61 20 73 69 6D 70 6C 65 20 64 61 74 for a simple dat
0001A0: 61 20 62 61 73 65 20 77 69 74 68 20 31 36 0D 0A a base with 16..
0001B0: 20 20 20 20 20 20 63 68 61 72 61 63 74 65 72 20 character
0001C0: 6E 61 6D 65 73 20 61 6E 64 20 75 70 20 74 6F 20 names and up to
0001D0: 39 36 20 63 68 61 72 61 63 74 65 72 73 20 6F 66 96 characters of
0001E0: 20 69 6E 66 6F 72 6D 61 74 69 6F 6E 20 28 77 68 information (wh
0001F0: 69 63 68 20 68 61 70 70 65 6E 73 0D 0A 20 20 20 ich happens..
Size : 512 (Real : 512)
000000: 49 4E 54 45 47 45 52 3B 0D 0A 20 20 20 20 20 20 INTEGER;..
000010: 20 20 20 20 20 20 20 20 20 20 20 20 72 65 73 5F res_
000020: 31 20 3A 20 49 4E 54 45 47 45 52 3B 0D 0A 20 20 1 : INTEGER;..
000030: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
000040: 63 74 72 6C 20 3A 20 5E 63 74 72 6C 5F 72 65 63 ctrl : ^ctrl_rec
000050: 3B 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 20 ;..
000060: 20 20 20 20 20 72 65 73 65 72 76 65 64 20 3A 20 reserved :
000070: 41 52 52 41 59 5B 31 2E 2E 31 39 36 5D 20 6F 66 ARRAY[1..196] of
000080: 20 43 48 41 52 3B 0D 0A 20 20 20 20 20 20 20 20 CHAR;..
000090: 20 20 20 20 20 20 20 20 20 20 45 4E 44 3B 0D 0A END;..
0000A0: 0D 0A 20 20 20 20 20 20 56 41 52 0D 0A 20 20 20 .. VAR..
0000B0: 20 20 20 20 20 20 20 20 20 6B 65 79 20 3A 20 6B key : k
0000C0: 65 79 5F 74 3B 0D 0A 20 20 20 20 20 20 20 20 20 ey_t;..
0000D0: 20 20 20 72 65 63 20 3A 20 72 65 63 5F 74 3B 0D rec : rec_t;.
0000E0: 0A 20 20 20 20 20 20 20 20 20 20 20 20 63 6D 64 . cmd
0000F0: 20 3A 20 43 48 41 52 3B 0D 0A 20 20 20 20 20 20 : CHAR;..
000100: 20 20 20 20 20 20 69 72 20 3A 20 69 6E 64 65 78 ir : index
000110: 5F 72 65 63 6F 72 64 3B 0D 0A 20 20 20 20 20 20 _record;..
000120: 20 20 20 20 20 20 74 65 6D 5F 64 20 3A 20 41 52 tem_d : AR
000130: 52 41 59 5B 31 2E 2E 32 30 34 38 5D 20 6F 66 20 RAY[1..2048] of
000140: 43 48 41 52 3B 0D 0A 0D 0A 20 20 20 20 20 20 50 CHAR;.... P
000150: 52 4F 43 45 44 55 52 45 20 49 4E 44 45 58 30 20 ROCEDURE INDEX0
000160: 28 20 63 6F 6D 6D 61 6E 64 20 3A 20 43 48 41 52 ( command : CHAR
000170: 3B 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 20 ;..
000180: 20 20 20 20 20 76 61 72 20 6B 65 79 20 3A 20 6B var key : k
000190: 65 79 5F 74 3B 0D 0A 20 20 20 20 20 20 20 20 20 ey_t;..
0001A0: 20 20 20 20 20 20 20 20 20 76 61 72 20 72 65 63 var rec
0001B0: 20 3A 20 72 65 63 5F 74 3B 0D 0A 20 20 20 20 20 : rec_t;..
0001C0: 20 20 20 20 20 20 20 20 20 20 20 20 20 76 61 72 var
0001D0: 20 69 72 20 3A 20 69 6E 64 65 78 5F 72 65 63 6F ir : index_reco
0001E0: 72 64 20 29 3B 20 65 78 74 65 72 6E 3B 0D 0A 0D rd ); extern;...
0001F0: 0A 20 20 20 20 20 20 50 52 4F 43 45 44 55 52 45 . PROCEDURE
Size : 512 (Real : 512)
000000: 20 20 20 74 6F 20 62 65 20 61 64 64 72 65 73 73 to be address
000010: 65 73 29 2E 20 20 4E 6F 74 65 20 74 68 61 74 20 es). Note that
000020: 74 68 65 20 6B 65 79 20 6C 65 6E 67 74 68 20 20 the key length
000030: 61 6E 64 20 20 72 65 63 6F 72 64 20 20 6C 65 6E and record len
000040: 67 74 68 20 20 61 72 65 0D 0A 20 20 20 20 20 20 gth are..
000050: 65 6E 74 65 72 65 64 20 66 72 6F 6D 20 74 68 65 entered from the
000060: 20 74 65 72 6D 69 6E 61 6C 20 69 6E 20 74 68 65 terminal in the
000070: 20 4E 20 63 6F 6D 6D 61 6E 64 2E 0D 0A 0D 0A 20 N command.....
000080: 20 20 20 20 20 41 3E 45 58 45 43 20 42 3A 54 53 A>EXEC B:TS
000090: 54 49 4E 44 45 58 0D 0A 20 20 20 20 20 20 45 78 TINDEX.. Ex
0000A0: 65 63 20 20 76 65 72 20 33 2E 30 0D 0A 0D 0A 20 ec ver 3.0....
0000B0: 20 20 20 20 20 44 69 73 6B 3A 20 42 0D 0A 20 20 Disk: B..
0000C0: 20 20 20 20 46 69 6C 65 3A 20 41 44 44 52 45 53 File: ADDRES
0000D0: 53 0D 0A 20 20 20 20 20 20 63 6D 64 3A 20 57 0D S.. cmd: W.
0000E0: 0A 20 20 20 20 20 20 63 6D 64 3A 20 4E 0D 0A 20 . cmd: N..
0000F0: 20 20 20 20 20 52 65 63 6F 72 64 20 73 69 7A 65 Record size
000100: 20 69 6E 20 62 79 74 65 73 3A 20 39 36 0D 0A 20 in bytes: 96..
000110: 20 20 20 20 20 4B 65 79 20 73 69 7A 65 20 69 6E Key size in
000120: 20 62 79 74 65 73 3A 20 31 36 0D 0A 20 20 20 20 bytes: 16..
000130: 20 20 4D 61 78 69 6D 75 6D 20 6E 75 6D 62 65 72 Maximum number
000140: 20 6F 66 20 72 65 63 6F 72 64 73 3A 20 35 30 30 of records: 500
000150: 0D 0A 20 20 20 20 20 20 63 6D 64 3A 20 41 0D 0A .. cmd: A..
000160: 20 20 20 20 20 20 6B 65 79 3A 20 4A 52 54 0D 0A key: JRT..
000170: 20 20 20 20 20 20 64 61 74 61 3A 20 27 4A 52 54 data: 'JRT
000180: 20 53 79 73 74 65 6D 73 2F 34 35 20 43 61 6D 69 Systems/45 Cami
000190: 6E 6F 20 41 6C 74 6F 2F 4D 69 6C 6C 20 56 61 6C no Alto/Mill Val
0001A0: 6C 65 79 2C 20 43 41 20 39 34 39 34 31 27 0D 0A ley, CA 94941'..
0001B0: 20 20 20 20 20 20 63 6D 64 3A 20 41 0D 0A 20 20 cmd: A..
0001C0: 20 20 20 20 6B 65 79 3A 20 4F 4C 44 0D 0A 20 20 key: OLD..
0001D0: 20 20 20 20 64 61 74 61 3A 20 27 4F 6C 64 20 4A data: 'Old J
0001E0: 52 54 20 4F 66 66 69 63 65 2F 35 35 30 20 49 72 RT Office/550 Ir
0001F0: 76 69 6E 67 20 53 74 2F 53 46 2C 20 43 41 20 39 ving St/SF, CA 9
Size : 512 (Real : 512)
000000: 20 49 4E 44 45 58 31 20 28 20 63 6F 6D 6D 61 6E INDEX1 ( comman
000010: 64 20 3A 20 43 48 41 52 3B 0D 0A 20 20 20 20 20 d : CHAR;..
000020: 20 20 20 20 20 20 20 20 20 20 20 20 20 76 61 72 var
000030: 20 6B 65 79 20 3A 20 6B 65 79 5F 74 3B 0D 0A 20 key : key_t;..
000040: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
000050: 20 76 61 72 20 72 65 63 20 3A 20 72 65 63 5F 74 var rec : rec_t
000060: 3B 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 20 ;..
000070: 20 20 20 20 20 76 61 72 20 69 72 20 3A 20 69 6E var ir : in
000080: 64 65 78 5F 72 65 63 6F 72 64 20 29 3B 20 65 78 dex_record ); ex
000090: 74 65 72 6E 3B 0D 0A 0D 0A 20 20 20 20 20 20 42 tern;.... B
0000A0: 45 47 49 4E 20 20 20 20 20 20 20 28 2A 20 74 73 EGIN (* ts
0000B0: 74 69 6E 64 65 78 20 2A 29 0D 0A 20 20 20 20 20 tindex *)..
0000C0: 20 69 72 20 3A 3D 20 27 20 27 3B 0D 0A 20 20 20 ir := ' ';..
0000D0: 20 20 20 77 72 69 74 65 28 27 44 69 73 6B 3A 20 write('Disk:
0000E0: 27 29 3B 0D 0A 20 20 20 20 20 20 72 65 61 64 6C ');.. readl
0000F0: 6E 28 69 72 2E 64 69 73 6B 29 3B 0D 0A 20 20 20 n(ir.disk);..
000100: 20 20 20 77 72 69 74 65 28 27 46 69 6C 65 3A 20 write('File:
000110: 27 29 3B 0D 0A 20 20 20 20 20 20 72 65 61 64 6C ');.. readl
000120: 6E 28 69 72 2E 66 69 6C 65 6E 61 6D 65 29 3B 0D n(ir.filename);.
000130: 0A 20 20 20 20 20 20 52 45 50 45 41 54 0D 0A 20 . REPEAT..
000140: 20 20 20 20 20 20 20 20 20 20 20 77 72 69 74 65 write
000150: 28 27 63 6D 64 3A 20 27 29 3B 0D 0A 20 20 20 20 ('cmd: ');..
000160: 20 20 20 20 20 20 20 20 72 65 61 64 6C 6E 28 63 readln(c
000170: 6D 64 29 3B 0D 0A 20 20 20 20 20 20 20 20 20 20 md);..
000180: 20 20 63 6D 64 20 3A 3D 20 75 70 63 61 73 65 28 cmd := upcase(
000190: 63 6D 64 29 3B 0D 0A 20 20 20 20 20 20 20 20 20 cmd);..
0001A0: 20 20 20 6B 65 79 20 3A 3D 20 27 20 27 3B 0D 0A key := ' ';..
0001B0: 20 20 20 20 20 20 20 20 20 20 20 20 72 65 63 20 rec
0001C0: 3A 3D 20 27 20 27 3B 0D 0A 20 20 20 20 20 20 20 := ' ';..
0001D0: 20 20 20 20 20 49 46 20 28 63 6D 64 20 69 6E 20 IF (cmd in
0001E0: 5B 27 41 27 2C 20 27 44 27 2C 20 27 52 27 2C 20 ['A', 'D', 'R',
0001F0: 27 55 27 5D 29 20 54 48 45 4E 20 0D 0A 20 20 20 'U']) THEN ..
Size : 512 (Real : 512)
000000: 34 31 32 32 27 0D 0A 20 20 20 20 20 20 63 6D 64 4122'.. cmd
000010: 3A 20 42 0D 0A 20 20 20 20 20 20 6B 65 79 3A 20 : B.. key:
000020: 4A 52 54 0D 0A 20 20 20 20 20 20 64 61 74 61 3A JRT.. data:
000030: 20 4A 52 54 20 53 79 73 74 65 6D 73 2F 34 35 20 JRT Systems/45
000040: 63 61 6D 69 6E 6F 20 41 6C 74 6F 2F 4D 69 6C 6C camino Alto/Mill
000050: 20 56 61 6C 6C 65 79 2C 20 43 41 20 39 34 39 34 Valley, CA 9494
000060: 31 0D 0A 20 20 20 20 20 20 63 6D 64 3A 20 53 0D 1.. cmd: S.
000070: 0A 20 20 20 20 20 20 6B 65 79 3A 20 4F 4C 44 0D . key: OLD.
000080: 0A 20 20 20 20 20 20 64 61 74 61 3A 20 4F 6C 64 . data: Old
000090: 20 4A 52 54 20 4F 66 66 69 63 65 2F 35 35 30 20 JRT Office/550
0000A0: 49 72 76 69 6E 67 20 53 74 2F 53 46 2C 20 43 41 Irving St/SF, CA
0000B0: 20 39 34 31 32 32 0D 0A 20 20 20 20 20 20 63 6D 94122.. cm
0000C0: 64 3A 20 53 0D 0A 20 20 20 20 20 20 25 49 4E 44 d: S.. %IND
0000D0: 45 58 20 65 72 72 6F 72 3A 20 4B 65 79 20 6E 6F EX error: Key no
0000E0: 74 20 66 6F 75 6E 64 0D 0A 20 20 20 20 20 20 45 t found.. E
0000F0: 72 72 6F 72 3A 20 33 0D 0A 20 20 20 20 20 20 63 rror: 3.. c
000100: 6D 64 3A 20 61 0D 0A 20 20 20 20 20 20 6B 65 79 md: a.. key
000110: 3A 20 4C 49 54 54 4C 45 0D 0A 20 20 20 20 20 20 : LITTLE..
000120: 64 61 74 61 3A 20 27 4C 69 74 74 6C 65 20 49 74 data: 'Little It
000130: 61 6C 79 2F 34 31 30 39 20 32 34 74 68 20 53 74 aly/4109 24th St
000140: 2F 53 46 2C 20 43 41 20 39 34 31 31 34 27 0D 0A /SF, CA 94114'..
000150: 20 20 20 20 20 20 63 6D 64 3A 20 61 0D 0A 20 20 cmd: a..
000160: 20 20 20 20 6B 65 79 3A 20 53 5A 45 43 48 57 41 key: SZECHWA
000170: 4E 0D 0A 20 20 20 20 20 20 64 61 74 61 3A 20 27 N.. data: '
000180: 53 7A 65 63 68 77 61 6E 20 43 6F 75 72 74 2F 31 Szechwan Court/1
000190: 36 36 38 20 48 61 69 67 68 74 20 53 74 2F 53 46 668 Haight St/SF
0001A0: 2C 20 43 41 20 39 34 31 31 37 27 0D 0A 20 20 20 , CA 94117'..
0001B0: 20 20 20 63 6D 64 3A 20 66 0D 0A 20 20 20 20 20 cmd: f..
0001C0: 20 63 6D 64 3A 20 72 0D 0A 20 20 20 20 20 20 6B cmd: r.. k
0001D0: 65 79 3A 20 4A 52 54 0D 0A 20 20 20 20 20 20 6B ey: JRT.. k
0001E0: 65 79 3A 20 4A 52 54 0D 0A 20 20 20 20 20 20 64 ey: JRT.. d
0001F0: 61 74 61 3A 20 4A 52 54 20 53 79 73 74 65 6D 73 ata: JRT Systems
Size : 512 (Real : 512)
000000: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 42 B
000010: 45 47 49 4E 0D 0A 20 20 20 20 20 20 20 20 20 20 EGIN..
000020: 20 20 20 20 20 20 20 20 77 72 69 74 65 28 27 6B write('k
000030: 65 79 3A 20 27 29 3B 0D 0A 20 20 20 20 20 20 20 ey: ');..
000040: 20 20 20 20 20 20 20 20 20 20 20 72 65 61 64 6C readl
000050: 6E 28 6B 65 79 29 3B 0D 0A 20 20 20 20 20 20 20 n(key);..
000060: 20 20 20 20 20 20 20 20 20 20 20 49 46 20 28 63 IF (c
000070: 6D 64 20 69 6E 20 5B 27 41 27 2C 20 27 55 27 5D md in ['A', 'U']
000080: 20 54 48 45 4E 0D 0A 20 20 20 20 20 20 20 20 20 THEN..
000090: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 42 B
0000A0: 45 47 49 4E 0D 0A 20 20 20 20 20 20 20 20 20 20 EGIN..
0000B0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 77 72 wr
0000C0: 69 74 65 28 27 64 61 74 61 3A 20 27 29 3B 0D 0A ite('data: ');..
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 72 65 61 64 6C 6E 28 74 readln(t
0000F0: 65 6D 5F 64 29 3B 0D 0A 20 20 20 20 20 20 20 20 em_d);..
000100: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
000110: 72 65 63 20 3A 3D 20 63 6F 70 79 28 6B 65 79 2C rec := copy(key,
000120: 20 31 2C 20 69 72 2E 63 74 6C 5E 2E 6B 65 79 5F 1, ir.ctl^.key_
000130: 73 69 7A 65 29 20 2B 0D 0A 20 20 20 20 20 20 20 size) +..
000140: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
000150: 20 20 20 20 20 20 20 20 63 6F 70 79 28 74 65 6D copy(tem
000160: 5F 64 2C 20 31 2C 20 69 72 2E 63 74 6C 5E 2E 72 _d, 1, ir.ctl^.r
000170: 65 63 5F 73 69 7A 65 20 2D 0D 0A 20 20 20 20 20 ec_size -..
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 20 20 20 20 20 20 20 20 69 i
0001A0: 72 2E 63 74 6C 5E 2E 6B 65 79 5F 73 69 7A 65 29 r.ctl^.key_size)
0001B0: 3B 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 20 ;..
0001C0: 20 20 20 20 20 20 20 20 20 20 20 45 4E 44 3B 0D END;.
0001D0: 0A 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .
0001E0: 20 20 20 45 4E 44 3B 0D 0A 20 20 20 20 20 20 20 END;..
0001F0: 20 20 20 20 20 28 2A 20 6A 75 73 74 69 66 79 20 (* justify
Size : 512 (Real : 512)
000000: 2F 34 35 20 43 61 6D 69 6E 6F 20 41 6C 74 6F 2F /45 Camino Alto/
000010: 4D 69 6C 6C 20 56 61 6C 6C 65 79 2C 20 43 41 20 Mill Valley, CA
000020: 39 34 39 34 31 0D 0A 20 20 20 20 20 20 63 6D 64 94941.. cmd
000030: 3A 20 72 0D 0A 20 20 20 20 20 20 6B 65 79 3A 20 : r.. key:
000040: 4F 54 48 45 52 0D 0A 20 20 20 20 20 20 25 49 4E OTHER.. %IN
000050: 44 45 58 20 65 72 72 6F 72 3A 20 4B 65 79 20 6E DEX error: Key n
000060: 6F 74 20 66 6F 75 6E 64 0D 0A 20 20 20 20 20 20 ot found..
000070: 72 65 74 75 72 6E 20 63 6F 64 65 20 33 0D 0A 20 return code 3..
000080: 20 20 20 20 20 63 6D 64 3A 20 7A 0D 0A 20 20 20 cmd: z..
000090: 20 20 20 63 6D 64 3A 20 3F 0D 0A 20 20 20 20 20 cmd: ?..
0000A0: 20 45 72 72 6F 72 3A 20 37 0D 0A 0D 0A 20 20 20 Error: 7....
0000B0: 20 20 20 50 72 6F 67 72 61 6D 20 74 65 72 6D 69 Program termi
0000C0: 6E 61 74 69 6F 6E 0D 0A 0D 0A 20 20 20 20 20 20 nation....
0000D0: 37 2E 35 20 20 43 4C 4F 53 45 0D 0A 0D 0A 20 20 7.5 CLOSE....
0000E0: 20 20 20 20 46 6F 72 6D 61 74 0D 0A 20 20 20 20 Format..
0000F0: 20 20 43 4C 4F 53 45 20 28 20 66 69 6C 65 5F 76 CLOSE ( file_v
000100: 61 72 69 61 62 6C 65 20 29 3B 0D 0A 0D 0A 20 20 ariable );....
000110: 20 20 20 20 20 20 20 20 20 54 68 65 20 20 43 4C The CL
000120: 4F 53 45 20 20 62 75 69 6C 74 69 6E 20 20 70 72 OSE builtin pr
000130: 6F 63 65 64 75 72 65 20 20 74 65 72 6D 69 6E 61 ocedure termina
000140: 74 65 73 20 20 70 72 6F 63 65 73 73 69 6E 67 20 tes processing
000150: 61 67 61 69 6E 73 74 20 61 0D 0A 20 20 20 20 20 against a..
000160: 20 73 65 71 75 65 6E 74 69 61 6C 20 6F 72 20 72 sequential or r
000170: 61 6E 64 6F 6D 20 64 69 73 6B 20 66 69 6C 65 2E andom disk file.
000180: 20 20 49 66 20 61 20 73 65 71 75 65 6E 74 69 61 If a sequentia
000190: 6C 20 6F 75 74 70 75 74 20 66 69 6C 65 20 20 69 l output file i
0001A0: 73 20 20 6E 6F 74 0D 0A 20 20 20 20 20 20 70 72 s not.. pr
0001B0: 6F 70 65 72 6C 79 20 20 63 6C 6F 73 65 64 2C 20 operly closed,
0001C0: 20 74 68 65 20 20 64 61 74 61 20 20 77 72 69 74 the data writ
0001D0: 74 65 6E 20 20 6F 75 74 20 77 69 6C 6C 20 62 65 ten out will be
0001E0: 20 6C 6F 73 74 20 62 65 63 61 75 73 65 20 43 4C lost because CL
0001F0: 4F 53 45 0D 0A 20 20 20 20 20 20 75 70 64 61 74 OSE.. updat
Size : 512 (Real : 512)
000000: 20 2A 29 0D 0A 20 20 20 20 20 20 20 20 20 20 20 *)..
000010: 20 20 20 57 48 49 4C 45 20 43 48 20 3C 3E 20 43 WHILE CH <> C
000020: 48 52 28 31 41 48 29 20 44 4F 0D 0A 20 20 20 20 HR(1AH) DO..
000030: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
000040: 20 20 42 45 47 49 4E 0D 0A 20 20 20 20 20 20 20 BEGIN..
000050: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 57 W
000060: 52 49 54 45 28 20 43 48 20 29 3B 0D 0A 20 20 20 RITE( CH );..
000070: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
000080: 20 20 20 52 45 41 44 28 46 31 3B 20 43 48 29 3B READ(F1; CH);
000090: 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ..
0000A0: 20 20 20 20 20 20 20 20 45 4E 44 3B 0D 0A 20 20 END;..
0000B0: 20 20 20 20 20 20 20 20 20 20 20 20 43 4C 4F 53 CLOS
0000C0: 45 28 20 46 31 20 29 3B 0D 0A 0D 0A 20 20 20 20 E( F1 );....
0000D0: 20 20 37 2E 36 20 20 20 20 20 45 4F 4C 4E 0D 0A 7.6 EOLN..
0000E0: 0D 0A 20 20 20 20 20 20 46 6F 72 6D 61 74 20 31 .. Format 1
0000F0: 0D 0A 20 20 20 20 20 20 45 4F 4C 4E 20 28 20 66 .. EOLN ( f
000100: 69 6C 65 5F 76 61 72 69 61 62 6C 65 20 29 3B 0D ile_variable );.
000110: 0A 0D 0A 20 20 20 20 20 20 46 6F 72 6D 61 74 20 ... Format
000120: 32 0D 0A 20 20 20 20 20 20 45 4F 4C 4E 3B 0D 0A 2.. EOLN;..
000130: 0D 0A 20 20 20 20 20 20 20 20 20 20 20 54 68 65 .. The
000140: 20 65 6E 64 20 6F 66 20 6C 69 6E 65 20 66 75 6E end of line fun
000150: 63 74 69 6F 6E 20 72 65 74 75 72 6E 73 20 61 20 ction returns a
000160: 42 6F 6F 6C 65 61 6E 20 76 61 6C 75 65 20 74 72 Boolean value tr
000170: 75 65 20 69 66 20 74 68 65 20 65 6E 64 0D 0A 20 ue if the end..
000180: 20 20 20 20 20 6F 66 20 6C 69 6E 65 20 69 73 20 of line is
000190: 20 72 65 61 63 68 65 64 2C 20 20 6F 74 68 65 72 reached, other
0001A0: 77 69 73 65 20 20 69 74 20 20 72 65 74 75 72 6E wise it return
0001B0: 73 20 20 66 61 6C 73 65 2E 20 20 20 54 68 69 73 s false. This
0001C0: 20 20 66 75 6E 63 74 69 6F 6E 0D 0A 20 20 20 20 function..
0001D0: 20 20 61 70 70 6C 69 65 73 20 6F 6E 6C 79 20 74 applies only t
0001E0: 6F 20 63 6F 6E 73 6F 6C 65 20 61 6E 64 20 74 65 o console and te
0001F0: 78 74 20 66 69 6C 65 73 2C 20 6E 6F 74 20 74 6F xt files, not to
Size : 512 (Real : 512)
000000: 65 73 20 74 68 65 20 64 69 73 6B 20 64 69 72 65 es the disk dire
000010: 63 74 6F 72 79 2E 20 20 54 68 69 73 20 20 70 72 ctory. This pr
000020: 6F 63 65 64 75 72 65 20 20 61 6C 73 6F 20 20 72 ocedure also r
000030: 65 6C 65 61 73 65 73 20 20 73 74 6F 72 61 67 65 eleases storage
000040: 0D 0A 20 20 20 20 20 20 72 65 73 65 72 76 65 64 .. reserved
000050: 20 66 6F 72 20 69 6E 70 75 74 2F 6F 75 72 70 75 for input/ourpu
000060: 74 20 62 75 66 66 65 72 73 20 6F 66 20 73 65 71 t buffers of seq
000070: 75 65 6E 74 69 61 6C 20 66 69 6C 65 73 2E 0D 0A uential files...
000080: 0D 0A 20 20 20 20 20 20 45 78 61 6D 70 6C 65 73 .. Examples
000090: 3A 0D 0A 0D 0A 20 20 20 20 20 20 20 20 20 20 20 :....
0000A0: 20 20 20 43 4C 4F 53 45 20 28 20 46 31 20 29 3B CLOSE ( F1 );
0000B0: 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ..
0000C0: 43 4C 4F 53 45 20 28 20 44 41 54 41 5F 46 49 4C CLOSE ( DATA_FIL
0000D0: 45 20 29 3B 0D 0A 20 20 20 20 20 20 20 20 20 20 E );..
0000E0: 20 20 20 20 43 4C 4F 53 45 20 28 20 4D 41 53 54 CLOSE ( MAST
0000F0: 45 52 5F 43 55 53 54 4F 4D 45 52 5F 52 45 50 4F ER_CUSTOMER_REPO
000100: 52 54 20 29 3B 0D 0A 1A 45 78 61 6D 70 6C 65 73 RT );...Examples
000110: 3A 0D 0A 0D 0A 20 20 20 20 20 20 20 20 20 20 20 :....
000120: 20 20 20 43 4C 4F 53 45 20 28 20 46 31 20 29 3B CLOSE ( F1 );
000130: 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ..
000140: 43 4C 4F 53 45 20 28 20 44 41 54 41 5F 46 49 4C CLOSE ( DATA_FIL
000150: 45 20 29 3B 0D 0A 20 20 20 20 20 20 20 20 20 20 E );..
000160: 20 20 20 20 43 4C 4F 53 45 20 28 20 4D 41 53 54 CLOSE ( MAST
000170: 45 52 5F 43 55 53 54 4F 4D 45 52 5F 52 45 50 4F ER_CUSTOMER_REPO
000180: B0 00 8D B6 86 23 50 C4 00 53 02 9A A4 99 29 0F .....#P..S....).
000190: 00 56 66 0E 98 B6 9E 92 02 74 EF 03 DC 24 52 23 .Vf......t...$R#
0001A0: 4A 98 00 34 49 73 04 50 C4 00 53 02 1A 45 8D 28 J..4Is.P..S..E.(
0001B0: CA 40 B4 75 9B 58 0C E9 36 A6 39 70 B8 B5 5C 59 .@.u.X..6.9p..\Y
0001C0: 03 D4 54 6B 35 F7 01 6E 92 6C 6D 59 D8 6A 13 8F ..Tk5..n.lmY.j..
0001D0: 06 1F 7C 80 7B B8 D6 40 1B 09 B8 B8 5C AC 6E 36 ..|.{..@....\.n6
0001E0: C0 5C B7 0A 68 94 EE 94 D4 C0 A1 56 80 2E 45 A2 .\..h......V..E.
0001F0: D5 46 52 9A 03 62 00 D0 3D 26 65 24 F9 00 37 69 .FR..b..=&e$..7i
Size : 512 (Real : 512)
000000: 20 62 69 6E 61 72 79 20 66 69 6C 65 73 2E 0D 0A binary files...
000010: 0D 0A 20 20 20 20 20 20 20 20 20 20 20 46 6F 72 .. For
000020: 6D 61 74 20 20 31 20 69 73 20 75 73 65 64 20 74 mat 1 is used t
000030: 6F 20 73 65 6E 73 65 20 65 6E 64 20 6F 66 20 6C o sense end of l
000040: 69 6E 65 20 77 68 69 6C 65 20 72 65 61 64 69 6E ine while readin
000050: 67 20 64 69 73 6B 20 66 69 6C 65 73 2E 0D 0A 20 g disk files...
000060: 20 20 20 20 20 46 6F 72 6D 61 74 20 32 20 69 73 Format 2 is
000070: 20 75 73 65 64 20 74 6F 20 73 65 6E 73 65 20 65 used to sense e
000080: 6E 64 20 6F 66 20 6C 69 6E 65 20 69 6E 20 63 6F nd of line in co
000090: 6E 73 6F 6C 65 20 69 6E 70 75 74 2E 0D 0A 0D 0A nsole input.....
0000A0: 20 20 20 20 20 20 20 20 20 20 20 54 68 69 73 20 This
0000B0: 66 75 6E 63 74 69 6F 6E 20 69 73 20 75 73 65 64 function is used
0000C0: 20 70 72 69 6D 61 72 69 6C 79 20 74 6F 20 72 65 primarily to re
0000D0: 61 64 20 69 6E 20 61 6E 20 75 6E 6B 6E 6F 77 6E ad in an unknown
0000E0: 20 6E 75 6D 62 65 72 20 20 6F 66 0D 0A 20 20 20 number of..
0000F0: 20 20 20 64 61 74 61 20 20 69 74 65 6D 73 20 66 data items f
000100: 72 6F 6D 20 61 20 6C 69 6E 65 20 6F 66 20 74 65 rom a line of te
000110: 78 74 2E 20 20 45 78 65 63 75 74 69 6E 67 20 61 xt. Executing a
000120: 20 52 45 41 44 4C 4E 2C 20 77 69 74 68 20 6F 72 READLN, with or
000130: 20 77 69 74 68 6F 75 74 0D 0A 20 20 20 20 20 20 without..
000140: 61 6E 79 20 70 61 72 61 6D 65 74 65 72 73 2C 20 any parameters,
000150: 61 6C 77 61 79 73 20 72 65 73 65 74 73 20 45 4F always resets EO
000160: 4C 4E 20 74 6F 20 66 61 6C 73 65 20 61 6E 64 20 LN to false and
000170: 70 6F 73 69 74 69 6F 6E 73 20 74 68 65 20 66 69 positions the fi
000180: 6C 65 20 61 74 0D 0A 20 20 20 20 20 20 74 68 65 le at.. the
000190: 20 73 74 61 72 74 20 6F 66 20 74 68 65 20 6E 65 start of the ne
0001A0: 78 74 20 6C 69 6E 65 20 6F 66 20 74 65 78 74 2E xt line of text.
0001B0: 0D 0A 0D 0A 20 20 20 20 20 20 45 78 61 6D 70 6C .... Exampl
0001C0: 65 73 3A 0D 0A 0D 0A 20 20 20 20 20 20 31 2E 20 es:.... 1.
0001D0: 20 20 20 20 20 28 2A 20 52 45 41 44 20 4E 55 4D (* READ NUM
0001E0: 42 45 52 53 20 46 52 4F 4D 20 43 4F 4E 53 4F 4C BERS FROM CONSOL
0001F0: 45 2C 20 43 4F 4D 50 55 54 45 20 41 56 47 20 2A E, COMPUTE AVG *
Size : 512 (Real : 512)
000000: 20 20 20 20 20 20 37 2E 35 2E 31 20 20 20 45 4F 7.5.1 EO
000010: 46 0D 0A 0D 0A 20 20 20 20 20 20 46 6F 72 6D 61 F.... Forma
000020: 74 0D 0A 20 20 20 20 20 20 45 4F 46 20 28 20 66 t.. EOF ( f
000030: 69 6C 65 5F 76 61 72 69 61 62 6C 65 20 29 3B 0D ile_variable );.
000040: 0A 0D 0A 20 20 20 20 20 20 20 20 20 20 20 54 68 ... Th
000050: 65 20 20 65 6E 64 20 20 6F 66 20 20 66 69 6C 65 e end of file
000060: 20 20 66 75 6E 63 74 69 6F 6E 20 69 6E 64 69 63 function indic
000070: 61 74 65 73 20 77 68 65 6E 20 74 68 65 20 65 6E ates when the en
000080: 64 20 6F 66 20 61 20 66 69 6C 65 20 69 73 0D 0A d of a file is..
000090: 20 20 20 20 20 20 72 65 61 63 68 65 64 20 64 75 reached du
0000A0: 72 69 6E 67 20 69 6E 70 75 74 20 70 72 6F 63 65 ring input proce
0000B0: 73 73 69 6E 67 2E 20 20 49 74 20 72 65 74 75 72 ssing. It retur
0000C0: 6E 73 20 61 20 42 6F 6F 6C 65 61 6E 20 76 61 6C ns a Boolean val
0000D0: 75 65 20 6F 66 20 20 74 72 75 65 0D 0A 20 20 20 ue of true..
0000E0: 20 20 20 69 6D 6D 65 64 69 61 74 65 6C 79 20 20 immediately
0000F0: 61 66 74 65 72 20 65 6E 64 20 6F 66 20 66 69 6C after end of fil
000100: 65 20 64 65 74 65 63 74 69 6F 6E 2C 20 6F 74 68 e detection, oth
000110: 65 72 77 69 73 65 20 69 74 20 72 65 74 75 72 6E erwise it return
000120: 73 20 66 61 6C 73 65 2E 0D 0A 20 20 20 20 20 20 s false...
000130: 54 68 65 20 45 4F 46 20 66 75 6E 63 74 69 6F 6E The EOF function
000140: 20 68 61 73 20 6E 6F 20 6D 65 61 6E 69 6E 67 20 has no meaning
000150: 69 6E 20 63 6F 6E 73 6F 6C 65 20 6F 72 20 72 61 in console or ra
000160: 6E 64 6F 6D 20 64 69 73 6B 20 70 72 6F 63 65 73 ndom disk proces
000170: 73 69 6E 67 2E 0D 0A 0D 0A 20 20 20 20 20 20 20 sing.....
000180: 20 20 20 20 57 68 65 6E 20 70 72 6F 63 65 73 73 When process
000190: 69 6E 67 20 61 20 66 69 6C 65 20 69 6E 20 74 65 ing a file in te
0001A0: 78 74 20 6D 6F 64 65 2C 20 65 6E 64 20 20 6F 66 xt mode, end of
0001B0: 20 20 66 69 6C 65 20 20 69 73 20 20 64 65 74 65 file is dete
0001C0: 63 74 65 64 0D 0A 20 20 20 20 20 20 77 68 65 6E cted.. when
0001D0: 20 20 61 6C 6C 20 20 64 61 74 61 20 20 75 70 20 all data up
0001E0: 74 6F 20 74 68 65 20 66 69 72 73 74 20 43 54 52 to the first CTR
0001F0: 4C 2D 5A 20 28 31 41 48 29 20 68 61 73 20 62 65 L-Z (1AH) has be
Size : 512 (Real : 512)
000000: 29 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 20 )..
000010: 20 54 4F 54 41 4C 20 3A 3D 20 30 3B 20 20 20 20 TOTAL := 0;
000020: 20 43 4F 55 4E 54 20 3A 3D 20 30 3B 0D 0A 20 20 COUNT := 0;..
000030: 20 20 20 20 20 20 20 20 20 20 20 20 57 48 49 4C WHIL
000040: 45 20 4E 4F 54 20 45 4F 4C 4E 20 44 4F 0D 0A 20 E NOT EOLN DO..
000050: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
000060: 20 20 20 20 20 42 45 47 49 4E 0D 0A 20 20 20 20 BEGIN..
000070: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
000080: 20 20 52 45 41 44 28 20 4E 55 4D 42 45 52 20 29 READ( NUMBER )
000090: 3B 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 20 ;..
0000A0: 20 20 20 20 20 20 20 20 20 54 4F 54 41 4C 20 3A TOTAL :
0000B0: 3D 20 54 4F 54 41 4C 20 2B 20 4E 55 4D 42 45 52 = TOTAL + NUMBER
0000C0: 3B 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 20 ;..
0000D0: 20 20 20 20 20 20 20 20 20 43 4F 55 4E 54 20 3A COUNT :
0000E0: 3D 20 43 4F 55 4E 54 20 2B 20 31 3B 0D 0A 20 20 = COUNT + 1;..
0000F0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
000100: 20 20 20 20 45 4E 44 3B 0D 0A 20 20 20 20 20 20 END;..
000110: 20 20 20 20 20 20 20 20 52 45 41 44 4C 4E 3B 0D READLN;.
000120: 0A 20 20 20 20 20 20 20 20 20 20 20 20 20 20 41 . A
000130: 56 45 52 41 47 45 20 3A 3D 20 54 4F 54 41 4C 20 VERAGE := TOTAL
000140: 44 49 56 20 43 4F 55 4E 54 3B 0D 0A 0D 0A 20 20 DIV COUNT;....
000150: 20 20 20 20 32 2E 20 20 20 20 20 20 28 2A 20 52 2. (* R
000160: 45 41 44 20 44 41 54 41 20 46 52 4F 4D 20 46 49 EAD DATA FROM FI
000170: 4C 45 2C 20 43 4F 55 4E 54 20 4C 49 4E 45 53 20 LE, COUNT LINES
000180: 4F 46 20 54 45 58 54 20 2A 29 0D 0A 20 20 20 20 OF TEXT *)..
000190: 20 20 20 20 20 20 20 20 20 20 4C 49 4E 45 5F 43 LINE_C
0001A0: 4F 55 4E 54 20 3A 3D 20 30 3B 0D 0A 20 20 20 20 OUNT := 0;..
0001B0: 20 20 20 20 20 20 20 20 20 20 57 48 49 4C 45 20 WHILE
0001C0: 4E 4F 54 20 45 4F 46 28 46 31 29 20 44 4F 0D 0A NOT EOF(F1) DO..
0001D0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
0001E0: 20 20 20 20 20 20 42 45 47 49 4E 0D 0A 20 20 20 BEGIN..
0001F0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
Size : 512 (Real : 512)
000000: 65 6E 20 72 65 61 64 2E 20 20 54 68 69 73 20 69 en read. This i
000010: 73 0D 0A 20 20 20 20 20 20 74 68 65 20 73 74 61 s.. the sta
000020: 6E 64 61 72 64 20 63 68 61 72 61 63 74 65 72 20 ndard character
000030: 74 6F 20 69 6E 64 69 63 61 74 65 20 74 68 65 20 to indicate the
000040: 65 6E 64 20 6F 66 20 64 61 74 61 2E 0D 0A 0D 0A end of data.....
000050: 20 20 20 20 20 20 20 20 20 20 20 57 68 65 6E 20 When
000060: 70 72 6F 63 65 73 73 69 6E 67 20 61 20 66 69 6C processing a fil
000070: 65 20 69 6E 20 62 69 6E 61 72 79 20 6D 6F 64 65 e in binary mode
000080: 2C 20 65 6E 64 20 6F 66 20 66 69 6C 65 20 20 69 , end of file i
000090: 73 20 20 64 65 74 65 63 74 65 64 0D 0A 20 20 20 s detected..
0000A0: 20 20 20 77 68 65 6E 20 20 61 6C 6C 20 20 74 68 when all th
0000B0: 65 20 64 61 74 61 20 69 6E 20 74 68 65 20 6C 61 e data in the la
0000C0: 73 74 20 61 6C 6C 6F 63 61 74 65 64 20 73 65 63 st allocated sec
0000D0: 74 6F 72 20 6F 66 20 74 68 65 20 66 69 6C 65 20 tor of the file
0000E0: 68 61 73 20 62 65 65 6E 0D 0A 20 20 20 20 20 20 has been..
0000F0: 72 65 61 64 2E 0D 0A 0D 0A 20 20 20 20 20 20 45 read..... E
000100: 78 61 6D 70 6C 65 73 3A 0D 0A 0D 0A 20 20 20 20 xamples:....
000110: 20 20 31 2E 20 20 20 20 20 20 28 2A 20 43 4F 4D 1. (* COM
000120: 50 55 54 45 20 54 48 45 20 41 56 45 52 41 47 45 PUTE THE AVERAGE
000130: 20 4F 46 20 41 20 46 49 4C 45 20 4F 46 20 4E 55 OF A FILE OF NU
000140: 4D 42 45 52 53 20 2A 29 0D 0A 20 20 20 20 20 20 MBERS *)..
000150: 20 20 20 20 20 20 20 20 52 45 53 45 54 28 20 46 RESET( F
000160: 31 2C 20 27 44 41 49 4C 59 2E 53 41 4C 27 2C 20 1, 'DAILY.SAL',
000170: 54 45 58 54 2C 20 34 30 39 36 29 3B 0D 0A 20 20 TEXT, 4096);..
000180: 20 20 20 20 20 20 20 20 20 20 20 20 54 4F 54 41 TOTA
000190: 4C 20 3A 3D 20 30 3B 0D 0A 20 20 20 20 20 20 20 L := 0;..
0001A0: 20 20 20 20 20 20 20 43 4F 55 4E 54 20 3A 3D 20 COUNT :=
0001B0: 30 3B 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 0;..
0001C0: 20 20 57 48 49 4C 45 20 4E 4F 54 20 45 4F 46 28 WHILE NOT EOF(
0001D0: 46 31 29 20 44 4F 0D 0A 20 20 20 20 20 20 20 20 F1) DO..
0001E0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 42 45 BE
0001F0: 47 49 4E 0D 0A 20 20 20 20 20 20 20 20 20 20 20 GIN..
Size : 512 (Real : 512)
000000: 20 20 20 52 45 41 44 28 46 31 3B 20 44 41 54 41 READ(F1; DATA
000010: 5F 49 54 45 4D 29 3B 0D 0A 20 20 20 20 20 20 20 _ITEM);..
000020: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 50 P
000030: 52 4F 43 45 53 53 5F 44 41 54 41 28 20 44 41 54 ROCESS_DATA( DAT
000040: 41 5F 49 54 45 4D 20 29 3B 0D 0A 20 20 20 20 20 A_ITEM );..
000050: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
000060: 20 49 46 20 45 4F 4C 4E 28 46 31 29 20 54 48 45 IF EOLN(F1) THE
000070: 4E 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 20 N..
000080: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
000090: 20 42 45 47 49 4E 0D 0A 20 20 20 20 20 20 20 20 BEGIN..
0000A0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
0000B0: 20 20 20 20 20 20 4C 49 4E 45 5F 43 4F 55 4E 54 LINE_COUNT
0000C0: 20 3A 3D 20 4C 49 4E 45 5F 43 4F 55 4E 54 20 2B := LINE_COUNT +
0000D0: 20 31 3B 0D 0A 20 20 20 20 20 20 20 20 20 20 20 1;..
0000E0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
0000F0: 20 20 20 52 45 41 44 4C 4E 28 46 31 29 0D 0A 20 READLN(F1)..
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 20 45 4E 44 END
000120: 3B 0D 0A 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 3B 0D 0A 0D END;...
000140: 0A 0D 0A 20 20 20 20 20 20 37 2E 37 20 20 20 20 ... 7.7
000150: 20 45 52 41 53 45 0D 0A 0D 0A 20 20 20 20 20 20 ERASE....
000160: 46 6F 72 6D 61 74 0D 0A 20 20 20 20 20 20 45 52 Format.. ER
000170: 41 53 45 20 28 20 66 69 6C 65 6E 61 6D 65 20 29 ASE ( filename )
000180: 3B 0D 0A 0D 0A 20 20 20 20 20 20 20 20 20 20 20 ;....
000190: 54 68 65 20 45 52 41 53 45 20 70 72 6F 63 65 64 The ERASE proced
0001A0: 75 72 65 20 64 65 6C 65 74 65 73 20 66 69 6C 65 ure deletes file
0001B0: 73 20 66 72 6F 6D 20 74 68 65 20 64 69 73 6B 2E s from the disk.
0001C0: 20 20 49 74 20 63 61 6E 20 62 65 20 75 73 65 64 It can be used
0001D0: 0D 0A 20 20 20 20 20 20 74 6F 20 64 65 6C 65 74 .. to delet
0001E0: 65 20 66 69 6C 65 73 20 20 66 72 6F 6D 20 20 61 e files from a
0001F0: 6E 79 20 20 61 76 61 69 6C 61 62 6C 65 20 20 64 ny available d
Size : 512 (Real : 512)
000000: 20 20 20 20 20 20 20 20 20 20 20 52 45 41 44 28 READ(
000010: 46 31 3B 20 44 41 49 4C 59 5F 53 41 4C 45 53 29 F1; DAILY_SALES)
000020: 3B 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 20 ;..
000030: 20 20 20 20 20 20 20 20 20 54 4F 54 41 4C 20 3A TOTAL :
000040: 3D 20 54 4F 54 41 4C 20 2B 20 44 41 49 4C 59 5F = TOTAL + DAILY_
000050: 53 41 4C 45 53 3B 0D 0A 20 20 20 20 20 20 20 20 SALES;..
000060: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 43 4F CO
000070: 55 4E 54 20 3A 3D 20 43 4F 55 4E 54 20 2B 20 31 UNT := COUNT + 1
000080: 3B 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 20 ;..
000090: 20 20 20 20 20 20 20 20 20 45 4E 44 3B 0D 0A 20 END;..
0000A0: 20 20 20 20 20 20 20 20 20 20 20 20 20 41 56 45 AVE
0000B0: 52 41 47 45 20 3A 3D 20 54 4F 54 41 4C 20 2F 20 RAGE := TOTAL /
0000C0: 43 4F 55 4E 54 3B 0D 0A 20 20 20 20 20 20 20 20 COUNT;..
0000D0: 20 20 20 20 20 20 43 4C 4F 53 45 28 20 46 31 20 CLOSE( F1
0000E0: 29 3B 0D 0A 0D 0A 20 20 20 20 20 20 32 2E 20 20 );.... 2.
0000F0: 20 20 20 20 28 2A 20 57 52 49 54 45 20 41 20 46 (* WRITE A F
000100: 49 4C 45 20 54 4F 20 54 48 45 20 50 52 49 4E 54 ILE TO THE PRINT
000110: 45 52 20 2A 29 0D 0A 20 20 20 20 20 20 20 20 20 ER *)..
000120: 20 20 20 20 20 53 59 53 54 45 4D 28 20 4C 49 53 SYSTEM( LIS
000130: 54 20 29 3B 0D 0A 20 20 20 20 20 20 20 20 20 20 T );..
000140: 20 20 20 20 52 45 53 45 54 28 20 46 31 2C 20 27 RESET( F1, '
000150: 54 45 53 54 2E 50 41 53 27 2C 20 42 49 4E 41 52 TEST.PAS', BINAR
000160: 59 2C 20 32 30 34 38 20 29 3B 0D 0A 20 20 20 20 Y, 2048 );..
000170: 20 20 20 20 20 20 20 20 20 20 52 45 41 44 28 46 READ(F
000180: 31 3B 20 43 48 29 3B 0D 0A 20 20 20 20 20 20 20 1; CH);..
000190: 20 20 20 20 20 20 20 28 2A 20 49 4E 53 54 45 41 (* INSTEA
0001A0: 44 20 4F 46 20 55 53 49 4E 47 20 45 4F 46 2C 20 D OF USING EOF,
0001B0: 57 45 20 44 49 52 45 43 54 4C 59 20 54 45 53 54 WE DIRECTLY TEST
0001C0: 20 46 4F 52 20 0D 0A 20 20 20 20 20 20 20 20 20 FOR ..
0001D0: 20 20 20 20 20 41 20 43 48 41 52 41 43 54 45 52 A CHARACTER
0001E0: 20 31 41 48 2C 20 53 49 4E 43 45 20 54 48 49 53 1AH, SINCE THIS
0001F0: 20 49 53 20 42 49 4E 41 52 59 20 46 49 4C 45 20 IS BINARY FILE
Size : 512 (Real : 512)
000000: 69 73 6B 20 20 62 79 20 20 69 6E 63 6C 75 64 69 isk by includi
000010: 6E 67 20 20 74 68 65 20 20 64 69 73 6B 0D 0A 20 ng the disk..
000020: 20 20 20 20 20 69 64 65 6E 74 69 66 69 65 72 20 identifier
000030: 69 6E 20 74 68 65 20 66 69 6C 65 6E 61 6D 65 2E in the filename.
000040: 0D 0A 0D 0A 20 20 20 20 20 20 20 20 20 20 20 45 .... E
000050: 52 41 53 45 20 20 69 73 20 20 69 6D 70 6C 65 6D RASE is implem
000060: 65 6E 74 65 64 20 20 61 73 20 20 61 6E 20 20 65 ented as an e
000070: 78 74 65 72 6E 61 6C 20 70 72 6F 63 65 64 75 72 xternal procedur
000080: 65 2E 20 20 41 6E 79 20 70 72 6F 67 72 61 6D 0D e. Any program.
000090: 0A 20 20 20 20 20 20 72 65 66 65 72 65 6E 63 69 . referenci
0000A0: 6E 67 20 69 74 20 6D 75 73 74 20 69 6E 63 6C 75 ng it must inclu
0000B0: 64 65 20 69 74 20 64 65 63 6C 61 72 61 74 69 6F de it declaratio
0000C0: 6E 3A 0D 0A 0D 0A 20 20 20 20 20 20 20 20 20 20 n:....
0000D0: 20 20 20 20 20 20 20 20 20 20 20 20 50 52 4F 43 PROC
0000E0: 45 44 55 52 45 20 45 52 41 53 45 20 28 20 4E 41 EDURE ERASE ( NA
0000F0: 4D 45 20 3A 20 53 54 52 49 4E 47 5B 32 30 5D 20 ME : STRING[20]
000100: 29 3B 20 45 58 54 45 52 4E 3B 0D 0A 0D 0A 20 20 ); EXTERN;....
000110: 20 20 20 20 45 78 61 6D 70 6C 65 73 3A 0D 0A 0D Examples:...
000120: 0A 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .
000130: 20 20 20 20 20 20 20 45 52 41 53 45 28 20 27 54 ERASE( 'T
000140: 45 53 54 50 47 4D 2E 50 41 53 27 20 29 3B 0D 0A ESTPGM.PAS' );..
000150: 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ..
000160: 20 20 20 20 20 20 20 20 45 52 41 53 45 28 20 43 ERASE( C
000170: 4F 4E 43 41 54 28 20 27 42 3A 27 2C 20 46 49 4C ONCAT( 'B:', FIL
000180: 45 4E 41 4D 45 2C 20 46 49 4C 45 54 59 50 45 20 ENAME, FILETYPE
000190: 29 20 29 3B 0D 0A 0D 0A 20 20 20 20 20 20 20 20 ) );....
0001A0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 45 52 ER
0001B0: 41 53 45 28 20 27 41 3A 27 20 2B 20 4E 41 4D 45 ASE( 'A:' + NAME
0001C0: 20 2B 20 27 2E 48 45 58 27 20 29 3B 0D 0A 0D 0A + '.HEX' );....
0001D0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
0001E0: 20 20 20 20 20 20 45 52 41 53 45 28 20 42 41 43 ERASE( BAC
0001F0: 4B 55 50 5F 46 49 4C 45 20 29 3B 0D 0A 0D 0A 0D KUP_FILE );.....
Size : 512 (Real : 512)
000000: 61 6D 69 6C 69 61 72 20 66 65 61 74 75 72 65 73 amiliar features
000010: 20 73 75 63 68 20 61 73 20 77 69 74 68 20 74 72 such as with tr
000020: 61 69 6C 69 6E 67 20 73 69 67 6E 73 2E 0D 0A 0D ailing signs....
000030: 0A 20 20 20 20 20 20 20 20 20 20 20 50 49 43 54 . PICT
000040: 55 52 45 20 20 74 61 6B 65 73 20 20 61 20 20 66 URE takes a f
000050: 6F 72 6D 61 74 20 73 74 72 69 6E 67 20 61 6E 64 ormat string and
000060: 20 61 20 72 65 61 6C 20 6E 75 6D 62 65 72 20 61 a real number a
000070: 73 20 61 72 67 75 6D 65 6E 74 73 2E 0D 0A 20 20 s arguments...
000080: 20 20 20 20 49 74 20 72 65 74 75 72 6E 73 20 61 It returns a
000090: 20 66 6F 72 6D 61 74 65 64 20 73 74 72 69 6E 67 formated string
0000A0: 2C 20 77 68 69 63 68 20 63 61 6E 20 62 65 20 70 , which can be p
0000B0: 72 69 6E 74 65 64 20 20 6F 6E 20 20 74 68 65 20 rinted on the
0000C0: 20 63 6F 6E 73 6F 6C 65 2C 0D 0A 20 20 20 20 20 console,..
0000D0: 20 74 68 65 20 6C 69 6E 65 20 70 72 69 6E 74 65 the line printe
0000E0: 72 2C 20 77 72 69 74 74 65 6E 20 74 6F 20 61 20 r, written to a
0000F0: 66 69 6C 65 2C 20 63 6F 6E 63 61 74 65 6E 61 74 file, concatenat
000100: 65 64 20 77 69 74 68 20 6F 74 68 65 72 20 73 74 ed with other st
000110: 72 69 6E 67 73 2C 0D 0A 20 20 20 20 20 20 6F 72 rings,.. or
000120: 20 73 61 76 65 64 20 66 6F 72 20 66 75 72 74 68 saved for furth
000130: 65 72 20 70 72 6F 63 65 73 73 69 6E 67 2E 20 20 er processing.
000140: 46 6F 72 20 65 78 61 6D 70 6C 65 2C 0D 0A 0D 0A For example,....
000150: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 52 45 RE
000160: 53 24 20 3A 3D 20 50 49 43 54 55 52 45 28 22 2A S$ := PICTURE("*
000170: 24 23 23 2C 23 23 23 2E 23 23 22 2C 20 31 34 35 $##,###.##", 145
000180: 36 2E 32 30 29 3B 0D 0A 20 20 20 20 20 20 20 20 6.20);..
000190: 20 20 20 20 20 20 57 52 49 54 45 4C 4E 20 28 22 WRITELN ("
0001A0: 53 75 6D 3A 20 22 2C 20 50 49 43 54 55 52 45 28 Sum: ", PICTURE(
0001B0: 22 23 23 23 2C 23 23 23 2E 23 23 23 20 23 23 23 "###,###.### ###
0001C0: 22 2C 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 ",..
0001D0: 20 20 20 20 20 20 20 20 20 20 36 35 38 33 2E 31 6583.1
0001E0: 32 33 34 35 36 37 29 29 3B 0D 0A 0D 0A 20 20 20 234567));....
0001F0: 20 20 20 77 69 6C 6C 20 20 73 65 74 20 20 52 45 will set RE
Size : 512 (Real : 512)
000000: 0A 20 20 20 20 20 20 37 2E 38 20 20 47 45 54 0D . 7.8 GET.
000010: 0A 0D 0A 20 20 20 20 20 20 46 6F 72 6D 61 74 0D ... Format.
000020: 0A 20 20 20 20 20 20 47 45 54 20 28 20 66 69 6C . GET ( fil
000030: 65 5F 76 61 72 69 61 62 6C 65 20 29 3B 0D 0A 0D e_variable );...
000040: 0A 20 20 20 20 20 20 20 20 20 20 20 54 68 69 73 . This
000050: 20 73 74 61 6E 64 61 72 64 20 50 61 73 63 61 6C standard Pascal
000060: 20 70 72 6F 63 65 64 75 72 65 20 6D 6F 76 65 73 procedure moves
000070: 20 74 68 65 20 6E 65 78 74 20 64 61 74 61 20 69 the next data i
000080: 74 65 6D 20 66 72 6F 6D 20 74 68 65 0D 0A 20 20 tem from the..
000090: 20 20 20 20 73 65 71 75 65 6E 74 69 61 6C 20 66 sequential f
0000A0: 69 6C 65 20 69 6E 74 6F 20 74 68 65 20 66 69 6C ile into the fil
0000B0: 65 27 73 20 62 75 66 66 65 72 20 76 61 72 69 61 e's buffer varia
0000C0: 62 6C 65 2E 20 20 20 49 66 20 20 74 68 65 72 65 ble. If there
0000D0: 20 20 69 73 20 20 6E 6F 74 0D 0A 20 20 20 20 20 is not..
0000E0: 20 61 6E 6F 74 68 65 72 20 64 61 74 61 20 69 74 another data it
0000F0: 65 6D 20 69 6E 20 74 68 65 20 66 69 6C 65 20 74 em in the file t
000100: 68 65 6E 20 74 68 65 20 45 4F 46 20 66 75 6E 63 hen the EOF func
000110: 74 69 6F 6E 20 62 65 63 6F 6D 65 73 20 74 72 75 tion becomes tru
000120: 65 2E 0D 0A 0D 0A 20 20 20 20 20 20 20 20 20 20 e.....
000130: 20 54 68 65 20 20 52 45 41 44 20 70 72 6F 63 65 The READ proce
000140: 64 75 72 65 20 61 6C 6C 6F 77 73 20 72 65 61 64 dure allows read
000150: 69 6E 67 20 64 69 72 65 63 74 6C 79 20 66 72 6F ing directly fro
000160: 6D 20 61 20 66 69 6C 65 20 69 6E 74 6F 20 61 6E m a file into an
000170: 79 0D 0A 20 20 20 20 20 20 76 61 72 69 61 62 6C y.. variabl
000180: 65 2E 0D 0A 0D 0A 20 20 20 20 20 20 20 20 20 20 e.....
000190: 20 20 20 20 52 45 41 44 20 28 20 46 3B 20 58 20 READ ( F; X
0001A0: 29 3B 0D 0A 0D 0A 20 20 20 20 20 20 20 20 20 20 );....
0001B0: 20 69 73 20 65 71 75 69 76 61 6C 65 6E 74 20 74 is equivalent t
0001C0: 6F 3A 0D 0A 0D 0A 20 20 20 20 20 20 20 20 20 20 o:....
0001D0: 20 20 20 20 58 20 3A 3D 20 46 5E 3B 0D 0A 20 20 X := F^;..
0001E0: 20 20 20 20 20 20 20 20 20 20 20 20 47 45 54 20 GET
0001F0: 28 20 46 20 29 3B 0D 0A 0D 0A 0D 0A 20 20 20 20 ( F );......
Size : 512 (Real : 512)
000000: 53 24 20 20 28 77 68 69 63 68 20 20 73 68 6F 75 S$ (which shou
000010: 6C 64 20 20 62 65 20 20 64 65 63 6C 61 72 65 64 ld be declared
000020: 20 61 73 20 61 20 73 74 72 69 6E 67 20 6F 72 20 as a string or
000030: 61 72 72 61 79 20 6F 66 0D 0A 20 20 20 20 20 20 array of..
000040: 63 68 61 72 61 63 74 65 72 73 29 20 74 6F 20 74 characters) to t
000050: 68 65 20 65 6C 65 76 65 6E 20 63 68 61 72 61 63 he eleven charac
000060: 74 65 72 73 20 2A 2A 24 31 2C 34 35 36 2E 32 30 ters **$1,456.20
000070: 20 20 61 6E 64 20 20 6E 65 78 74 20 20 77 72 69 and next wri
000080: 74 65 20 20 61 0D 0A 20 20 20 20 20 20 6C 69 6E te a.. lin
000090: 65 20 63 6F 6E 73 69 73 74 69 6E 67 20 6F 66 20 e consisting of
0000A0: 74 68 65 20 74 77 65 6E 74 79 20 63 68 61 72 61 the twenty chara
0000B0: 63 74 65 72 73 20 20 53 75 6D 3A 20 20 20 36 2C cters Sum: 6,
0000C0: 35 38 33 2E 31 32 33 20 34 35 36 2E 0D 0A 0D 0A 583.123 456.....
0000D0: 20 20 20 20 20 20 20 20 20 20 20 50 49 43 54 55 PICTU
0000E0: 52 45 20 20 20 69 73 20 20 20 73 75 70 70 6C 69 RE is suppli
0000F0: 65 64 20 20 20 61 73 20 20 20 61 20 20 63 6F 6D ed as a com
000100: 70 69 6C 65 64 20 20 66 75 6E 63 74 69 6F 6E 20 piled function
000110: 20 28 74 68 65 20 20 66 69 6C 65 0D 0A 20 20 20 (the file..
000120: 20 20 20 50 49 43 54 55 52 45 2E 49 4E 54 29 2E PICTURE.INT).
000130: 20 20 50 49 43 54 55 52 45 20 6D 75 73 74 20 62 PICTURE must b
000140: 65 20 64 65 63 6C 61 72 65 64 20 69 6E 20 61 6E e declared in an
000150: 79 20 70 72 6F 67 72 61 6D 20 74 68 61 74 20 20 y program that
000160: 75 73 65 73 20 20 69 74 0D 0A 20 20 20 20 20 20 uses it..
000170: 61 73 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 as..
000180: 20 20 46 55 4E 43 54 49 4F 4E 20 50 49 43 54 55 FUNCTION PICTU
000190: 52 45 20 28 46 4D 54 20 3A 20 53 54 52 49 4E 47 RE (FMT : STRING
0001A0: 3B 20 52 20 3A 20 52 45 41 4C 29 20 3A 0D 0A 20 ; R : REAL) :..
0001B0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
0001C0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 53 54 ST
0001D0: 52 49 4E 47 3B 20 45 58 54 45 52 4E 3B 0D 0A 0D RING; EXTERN;...
0001E0: 0A 20 20 20 20 20 20 20 20 20 20 20 54 68 65 20 . The
0001F0: 66 6F 72 6D 61 74 20 73 74 72 69 6E 67 20 69 73 format string is
Size : 512 (Real : 512)
000000: 20 20 37 2E 39 20 20 20 4F 50 45 4E 0D 0A 0D 0A 7.9 OPEN....
000010: 20 20 20 20 20 20 46 6F 72 6D 61 74 20 31 0D 0A Format 1..
000020: 20 20 20 20 20 20 4F 50 45 4E 20 28 20 66 69 6C OPEN ( fil
000030: 65 5F 76 61 72 69 61 62 6C 65 2C 20 66 69 6C 65 e_variable, file
000040: 6E 61 6D 65 2C 20 42 49 4E 41 52 59 20 29 3B 0D name, BINARY );.
000050: 0A 0D 0A 20 20 20 20 20 20 46 6F 72 6D 61 74 20 ... Format
000060: 32 0D 0A 20 20 20 20 20 20 4F 50 45 4E 20 28 20 2.. OPEN (
000070: 66 69 6C 65 5F 76 61 72 69 61 62 6C 65 2C 20 66 file_variable, f
000080: 69 6C 65 6E 61 6D 65 2C 20 54 45 58 54 20 29 3B ilename, TEXT );
000090: 0D 0A 0D 0A 20 20 20 20 20 20 20 20 20 20 20 54 .... T
0000A0: 68 65 20 4F 50 45 4E 20 62 75 69 6C 74 69 6E 20 he OPEN builtin
0000B0: 70 72 6F 63 65 64 75 72 65 20 69 73 20 75 73 65 procedure is use
0000C0: 64 20 20 74 6F 20 20 6F 70 65 6E 20 20 66 69 6C d to open fil
0000D0: 65 73 20 20 66 6F 72 20 20 72 61 6E 64 6F 6D 0D es for random.
0000E0: 0A 20 20 20 20 20 20 61 63 63 65 73 73 2E 20 20 . access.
0000F0: 20 46 6F 72 6D 61 74 20 31 20 69 73 20 75 73 65 Format 1 is use
000100: 64 20 74 6F 20 6F 70 65 6E 20 66 69 6C 65 73 20 d to open files
000110: 69 6E 20 62 69 6E 61 72 79 20 6D 6F 64 65 2E 20 in binary mode.
000120: 20 46 6F 72 6D 61 74 20 32 20 69 73 0D 0A 20 20 Format 2 is..
000130: 20 20 20 20 75 73 65 64 20 74 6F 20 6F 70 65 6E used to open
000140: 20 66 69 6C 65 73 20 69 6E 20 74 65 78 74 20 6D files in text m
000150: 6F 64 65 2E 0D 0A 0D 0A 20 20 20 20 20 20 20 20 ode.....
000160: 20 20 20 54 68 65 20 66 69 6C 65 5F 76 61 72 69 The file_vari
000170: 61 62 6C 65 20 72 65 66 65 72 73 20 74 6F 20 61 able refers to a
000180: 20 66 69 6C 65 20 76 61 72 69 61 62 6C 65 20 64 file variable d
000190: 65 63 6C 61 72 65 64 20 69 6E 20 74 68 65 20 20 eclared in the
0001A0: 56 41 52 0D 0A 20 20 20 20 20 20 64 65 63 6C 61 VAR.. decla
0001B0: 72 61 74 69 6F 6E 20 20 20 73 65 63 74 69 6F 6E ration section
0001C0: 2E 20 20 20 54 68 65 20 20 66 69 6C 65 6E 61 6D . The filenam
0001D0: 65 20 20 69 73 20 20 61 20 20 73 74 72 69 6E 67 e is a string
0001E0: 20 20 6F 72 20 20 73 74 72 75 63 74 75 72 65 64 or structured
0001F0: 0D 0A 20 20 20 20 20 20 65 78 70 72 65 73 73 69 .. expressi
Size : 512 (Real : 512)
000000: 20 6E 6F 74 20 68 61 72 64 20 74 6F 20 63 72 65 not hard to cre
000010: 61 74 65 2E 20 20 50 49 43 54 55 52 45 20 67 65 ate. PICTURE ge
000020: 6E 65 72 61 6C 6C 79 20 70 75 74 73 0D 0A 20 20 nerally puts..
000030: 20 20 20 20 6F 6E 65 20 20 63 68 61 72 61 63 74 one charact
000040: 65 72 20 69 6E 20 74 68 65 20 72 65 73 75 6C 74 er in the result
000050: 20 73 74 72 69 6E 67 20 66 6F 72 20 65 76 65 72 string for ever
000060: 79 20 63 68 61 72 61 63 74 65 72 20 69 6E 20 74 y character in t
000070: 68 65 20 66 6F 72 6D 61 74 0D 0A 20 20 20 20 20 he format..
000080: 20 73 74 72 69 6E 67 2C 20 74 68 65 20 65 78 63 string, the exc
000090: 65 70 74 69 6F 6E 73 20 6D 61 72 6B 65 64 20 77 eptions marked w
0000A0: 69 74 68 20 61 20 2A 2E 20 20 54 68 65 20 20 66 ith a *. The f
0000B0: 6F 72 6D 61 74 20 20 63 68 61 72 61 63 74 65 72 ormat character
0000C0: 73 20 20 61 72 65 0D 0A 20 20 20 20 20 20 73 75 s are.. su
0000D0: 6D 6D 61 72 69 7A 65 64 20 62 65 6C 6F 77 2E 0D mmarized below..
0000E0: 0A 0D 0A 20 20 20 20 20 20 20 20 20 20 20 4E 6F ... No
0000F0: 74 65 20 20 74 68 61 74 20 20 79 6F 75 20 20 77 te that you w
000100: 69 6C 6C 20 75 73 75 61 6C 6C 79 20 6E 65 65 64 ill usually need
000110: 20 6F 6E 6C 79 20 70 6F 75 6E 64 20 73 69 67 6E only pound sign
000120: 73 2C 20 63 6F 6D 6D 61 73 2C 20 61 6E 64 0D 0A s, commas, and..
000130: 20 20 20 20 20 20 70 65 72 69 6F 64 73 20 69 6E periods in
000140: 20 79 6F 75 72 20 66 6F 72 6D 61 74 73 2E 0D 0A your formats...
000150: 0D 0A 20 20 20 20 20 20 20 20 20 20 20 46 6F 72 .. For
000160: 6D 61 74 20 20 20 20 20 52 65 70 6C 61 63 65 64 mat Replaced
000170: 20 77 69 74 68 0D 0A 0D 0A 20 20 20 20 20 20 20 with....
000180: 20 20 20 20 20 20 20 30 20 20 20 20 20 20 20 4C 0 L
000190: 69 74 65 72 61 6C 20 7A 65 72 6F 20 28 75 73 65 iteral zero (use
0001A0: 64 20 6F 6E 6C 79 20 77 69 74 68 20 65 78 70 6F d only with expo
0001B0: 6E 65 6E 74 69 61 6C 20 6E 6F 74 61 74 69 6F 6E nential notation
0001C0: 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ..
0001D0: 39 20 20 20 20 20 20 20 41 20 64 65 63 69 6D 61 9 A decima
0001E0: 6C 20 64 69 67 69 74 20 28 61 6C 77 61 79 73 29 l digit (always)
0001F0: 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ..
Size : 512 (Real : 512)
000000: 6F 6E 20 77 68 69 63 68 20 6D 61 79 20 69 6E 63 on which may inc
000010: 6C 75 64 65 20 64 69 73 6B 20 69 64 65 6E 74 69 lude disk identi
000020: 66 69 65 72 20 6C 65 74 74 65 72 2E 0D 0A 0D 0A fier letter.....
000030: 20 20 20 20 20 20 20 20 20 20 20 54 68 65 20 66 The f
000040: 69 6C 65 20 73 70 65 63 69 66 69 65 64 20 62 79 ile specified by
000050: 20 74 68 65 20 66 69 6C 65 6E 61 6D 65 20 69 73 the filename is
000060: 20 6F 70 65 6E 65 64 20 66 6F 72 20 75 73 65 20 opened for use
000070: 69 66 20 70 72 65 73 65 6E 74 2E 0D 0A 20 20 20 if present...
000080: 20 20 20 49 66 20 6E 6F 74 20 70 72 65 73 65 6E If not presen
000090: 74 2C 20 61 20 6E 65 77 20 66 69 6C 65 20 69 73 t, a new file is
0000A0: 20 63 72 65 61 74 65 64 2E 0D 0A 20 20 20 20 20 created...
0000B0: 20 20 20 20 20 20 42 6F 74 68 20 66 6F 72 6D 61 Both forma
0000C0: 74 73 20 6D 61 79 20 62 65 20 75 73 65 64 20 77 ts may be used w
0000D0: 69 74 68 20 62 6F 74 68 20 52 52 4E 20 61 6E 64 ith both RRN and
0000E0: 20 52 42 41 20 61 63 63 65 73 73 69 6E 67 2E 0D RBA accessing..
0000F0: 0A 0D 0A 20 20 20 20 20 20 45 78 61 6D 70 6C 65 ... Example
000100: 73 3A 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 s:..
000110: 20 20 20 20 20 20 20 20 20 20 4F 50 45 4E 20 28 OPEN (
000120: 20 49 4E 56 45 4E 54 4F 52 59 2C 20 27 49 4E 56 INVENTORY, 'INV
000130: 45 4E 54 52 59 2E 44 41 54 27 2C 20 42 49 4E 41 ENTRY.DAT', BINA
000140: 52 59 20 29 3B 0D 0A 0D 0A 20 20 20 20 20 20 20 RY );....
000150: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 4F O
000160: 50 45 4E 20 28 20 46 31 2C 20 52 41 4E 47 45 20 PEN ( F1, RANGE
000170: 2B 20 27 2E 44 41 54 27 2C 20 54 45 58 54 20 29 + '.DAT', TEXT )
000180: 3B 0D 0A 0D 0A 20 20 20 20 20 20 20 20 20 20 20 ;....
000190: 20 20 20 20 20 20 20 20 20 20 20 4F 50 45 4E 20 OPEN
0001A0: 28 20 43 41 53 45 5F 48 49 53 54 4F 52 59 2C 20 ( CASE_HISTORY,
0001B0: 27 44 3A 54 4F 52 54 53 2E 4C 49 42 27 2C 20 42 'D:TORTS.LIB', B
0001C0: 49 4E 41 52 59 20 29 3B 0D 0A 0D 0A 20 20 20 20 INARY );....
0001D0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
0001E0: 20 20 4F 50 45 4E 20 28 20 44 49 43 54 49 4F 4E OPEN ( DICTION
0001F0: 41 52 59 2C 20 27 42 3A 53 50 45 4C 4C 49 4E 47 ARY, 'B:SPELLING
Size : 512 (Real : 512)
000000: 42 20 20 20 20 20 20 20 53 70 61 63 65 20 28 6F B Space (o
000010: 72 20 66 69 6C 6C 20 63 68 61 72 61 63 74 65 72 r fill character
000020: 29 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 20 )..
000030: 20 43 52 20 20 20 20 20 20 43 52 20 69 66 20 74 CR CR if t
000040: 68 65 20 6E 75 6D 62 65 72 20 69 73 20 70 6F 73 he number is pos
000050: 69 74 69 76 65 2C 20 65 6C 73 65 20 73 70 61 63 itive, else spac
000060: 65 73 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 es..
000070: 20 20 44 42 20 20 20 20 20 20 44 42 20 69 66 20 DB DB if
000080: 74 68 65 20 6E 75 6D 62 65 72 20 69 73 20 6E 65 the number is ne
000090: 67 61 74 69 76 65 2C 20 65 6C 73 65 20 73 70 61 gative, else spa
0000A0: 63 65 73 0D 0A 20 20 20 20 20 20 20 20 20 20 20 ces..
0000B0: 20 20 20 45 20 20 20 20 20 20 20 45 78 70 6F 6E E Expon
0000C0: 65 6E 74 20 28 63 6F 6E 73 69 73 74 69 6E 67 20 ent (consisting
0000D0: 6F 66 20 45 2C 20 73 69 67 6E 2C 20 61 6E 64 20 of E, sign, and
0000E0: 74 77 6F 20 64 69 67 69 74 73 29 20 28 2A 29 0D two digits) (*).
0000F0: 0A 20 20 20 20 20 20 20 20 20 20 20 20 20 20 45 . E
000100: 2B 23 23 20 20 20 20 45 78 70 6F 6E 65 6E 74 20 +## Exponent
000110: 28 73 69 67 6E 20 61 6E 64 20 64 69 67 69 74 20 (sign and digit
000120: 69 6E 64 69 63 61 74 69 6F 6E 73 20 61 72 65 20 indications are
000130: 69 67 6E 6F 72 65 64 29 20 28 2A 29 0D 0A 20 20 ignored) (*)..
000140: 20 20 20 20 20 20 20 20 20 20 20 20 4C 20 20 20 L
000150: 20 20 20 20 4C 69 74 65 72 61 6C 20 4C 20 28 61 Literal L (a
000160: 73 20 61 20 63 75 72 72 65 6E 63 79 20 73 69 67 s a currency sig
000170: 6E 29 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 n)..
000180: 20 20 53 20 20 20 20 20 20 20 4D 69 6E 75 73 20 S Minus
000190: 6F 72 20 70 6C 75 73 20 73 69 67 6E 0D 0A 20 20 or plus sign..
0001A0: 20 20 20 20 20 20 20 20 20 20 20 20 56 20 20 20 V
0001B0: 20 20 20 20 49 6D 70 6C 69 65 64 20 64 65 63 69 Implied deci
0001C0: 6D 61 6C 20 70 6F 69 6E 74 20 20 28 2A 29 0D 0A mal point (*)..
0001D0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5A 20 Z
0001E0: 20 20 20 20 20 20 44 69 67 69 74 20 6F 72 20 66 Digit or f
0001F0: 69 6C 6C 20 63 68 61 72 61 63 74 65 72 0D 0A 20 ill character..
Size : 512 (Real : 512)
000000: 2E 4C 49 42 27 2C 20 42 49 4E 41 52 59 20 29 3B .LIB', BINARY );
000010: 0D 0A 0D 0A 20 20 20 20 20 20 37 2E 31 30 20 20 .... 7.10
000020: 50 49 43 54 55 52 45 0D 0A 0D 0A 20 20 20 20 20 PICTURE....
000030: 20 20 20 20 20 20 54 68 65 20 65 78 74 65 72 6E The extern
000040: 61 6C 20 20 66 75 6E 63 74 69 6F 6E 20 20 50 49 al function PI
000050: 43 54 55 52 45 20 20 61 6C 6C 6F 77 73 20 20 79 CTURE allows y
000060: 6F 75 20 20 74 6F 20 20 66 6F 72 6D 61 74 20 20 ou to format
000070: 28 72 65 61 6C 29 0D 0A 20 20 20 20 20 20 6E 75 (real).. nu
000080: 6D 62 65 72 73 20 20 69 6E 20 20 70 6F 77 65 72 mbers in power
000090: 66 75 6C 20 20 77 61 79 73 2E 20 20 20 43 68 65 ful ways. Che
0000A0: 63 6B 20 20 70 72 69 6E 74 69 6E 67 20 69 73 20 ck printing is
0000B0: 65 61 73 79 2C 20 61 73 20 61 72 65 20 63 6F 6D easy, as are com
0000C0: 6D 61 73 0D 0A 20 20 20 20 20 20 77 69 74 68 69 mas.. withi
0000D0: 6E 20 61 20 6E 75 6D 62 65 72 20 61 6E 64 20 65 n a number and e
0000E0: 78 70 6F 6E 65 6E 74 69 61 6C 20 6E 6F 74 61 74 xponential notat
0000F0: 69 6F 6E 2E 20 20 46 6C 6F 61 74 69 6E 67 20 28 ion. Floating (
000100: 6F 72 20 66 69 78 65 64 29 20 64 6F 6C 6C 61 72 or fixed) dollar
000110: 0D 0A 20 20 20 20 20 20 73 69 67 6E 61 20 61 72 .. signa ar
000120: 65 20 65 61 73 79 20 74 6F 20 73 70 65 63 69 66 e easy to specif
000130: 79 2E 20 20 20 43 72 65 64 69 74 20 20 61 6E 64 y. Credit and
000140: 20 20 64 65 62 69 74 20 20 69 6E 64 69 63 61 74 debit indicat
000150: 69 6F 6E 73 20 20 63 61 6E 20 20 62 65 0D 0A 20 ions can be..
000160: 20 20 20 20 20 69 6E 63 6C 75 64 65 64 2E 20 20 included.
000170: 20 4C 69 74 65 72 61 6C 20 63 68 61 72 61 63 74 Literal charact
000180: 65 72 73 20 73 75 63 68 20 61 73 20 63 75 72 72 ers such as curr
000190: 65 6E 63 79 20 73 69 67 6E 73 20 63 61 6E 20 61 ency signs can a
0001A0: 6C 73 6F 20 62 65 20 70 75 74 0D 0A 20 20 20 20 lso be put..
0001B0: 20 20 69 6E 20 74 68 65 20 66 6F 72 6D 61 74 74 in the formatt
0001C0: 65 64 20 20 73 74 72 69 6E 67 2E 20 20 20 43 4F ed string. CO
0001D0: 42 4F 4C 20 20 61 6E 64 20 20 50 4C 2F 49 20 20 BOL and PL/I
0001E0: 70 72 6F 67 72 61 6D 6D 65 72 73 20 20 77 69 6C programmers wil
0001F0: 6C 20 20 66 69 6E 64 0D 0A 20 20 20 20 20 20 66 l find.. f
Size : 512 (Real : 512)
000000: 20 20 20 20 20 20 20 20 20 20 20 20 20 2D 20 20 -
000010: 20 20 20 20 20 4D 69 6E 75 73 20 73 69 67 6E 20 Minus sign
000020: 69 66 20 6E 65 67 61 74 69 76 65 2C 20 65 6C 73 if negative, els
000030: 65 20 73 70 61 63 65 0D 0A 20 20 20 20 20 20 20 e space..
000040: 20 20 20 20 20 20 20 2B 20 20 20 20 20 20 20 50 + P
000050: 6C 75 73 20 73 69 67 6E 20 69 66 20 70 6F 73 69 lus sign if posi
000060: 74 69 76 65 2C 20 65 6C 73 65 20 6D 69 6E 75 73 tive, else minus
000070: 20 73 69 67 6E 0D 0A 20 20 20 20 20 20 20 20 20 sign..
000080: 20 20 20 20 20 23 20 20 20 20 20 20 20 44 69 67 # Dig
000090: 69 74 20 6F 72 20 66 69 6C 6C 20 63 68 61 72 61 it or fill chara
0000A0: 63 74 65 72 0D 0A 20 20 20 20 20 20 20 20 20 20 cter..
0000B0: 20 20 20 20 25 20 20 20 20 20 20 20 44 69 67 69 % Digi
0000C0: 74 20 6F 72 20 66 69 6C 6C 20 63 68 61 72 61 63 t or fill charac
0000D0: 74 65 72 0D 0A 20 20 20 20 20 20 20 20 20 20 20 ter..
0000E0: 20 20 20 2A 20 20 20 20 20 20 20 41 73 74 65 72 * Aster
0000F0: 69 73 6B 20 66 69 6C 6C 0D 0A 20 20 20 20 20 20 isk fill..
000100: 20 20 20 20 20 20 20 20 2A 2A 20 20 20 20 20 20 **
000110: 41 73 74 65 72 69 73 6B 20 66 69 6C 6C 20 61 6E Asterisk fill an
000120: 64 20 6F 6E 65 20 64 69 67 69 74 0D 0A 20 20 20 d one digit..
000130: 20 20 20 20 20 20 20 20 20 20 20 2A 24 20 20 20 *$
000140: 20 20 20 41 73 74 65 72 69 73 6B 20 66 69 6C 6C Asterisk fill
000150: 20 61 6E 64 20 66 6C 6F 61 74 69 6E 67 20 64 6F and floating do
000160: 6C 6C 61 72 20 73 69 67 6E 0D 0A 20 20 20 20 20 llar sign..
000170: 20 20 20 20 20 20 20 20 20 2A 2A 24 20 20 20 20 **$
000180: 20 41 73 74 65 72 69 73 6B 20 66 69 6C 6C 2C 20 Asterisk fill,
000190: 66 6C 6F 61 74 69 6E 67 20 64 6F 6C 6C 61 72 20 floating dollar
0001A0: 73 69 67 6E 2C 20 61 6E 64 20 6F 6E 65 20 64 69 sign, and one di
0001B0: 67 69 74 0D 0A 20 20 20 20 20 20 20 20 20 20 20 git..
0001C0: 20 20 20 2C 20 20 20 20 20 20 20 43 6F 6D 6D 61 , Comma
0001D0: 20 69 66 20 64 69 67 69 74 20 68 61 73 20 61 6C if digit has al
0001E0: 72 65 61 64 79 20 62 65 65 6E 20 66 6F 72 6D 61 ready been forma
0001F0: 74 65 64 2C 20 65 6C 73 65 20 73 70 61 63 65 0D ted, else space.
Size : 512 (Real : 512)
000000: 0A 20 20 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 20 20 20 20 20
000020: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7C |
000030: 0D 0A 20 20 20 20 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 20 20
000050: 2D 31 37 2E 39 38 20 20 20 20 20 20 20 20 20 20 -17.98
000060: 20 20 20 2D 31 37 20 20 20 20 20 20 20 20 20 20 -17
000070: 35 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 20 5..
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 20 20 20 20 20 20 20 20
0000A0: 20 7C 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 |..
0000B0: 20 20 23 23 23 2E 23 23 20 20 20 20 20 20 20 20 ###.##
0000C0: 20 20 32 39 2E 39 35 20 20 20 20 20 20 20 20 20 29.95
0000D0: 20 20 20 20 32 39 2E 39 35 20 20 20 20 20 20 20 29.95
0000E0: 20 20 36 0D 0A 20 20 20 20 20 20 20 20 20 20 20 6..
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 20 7C 0D 0A 20 20 20 20 20 20 20 20 20 20 |..
000120: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
000130: 20 20 20 20 2D 31 30 2E 37 35 36 20 20 20 20 20 -10.756
000140: 20 20 20 20 20 2D 31 30 2E 37 35 20 20 20 20 20 -10.75
000150: 20 20 20 20 36 0D 0A 0D 0A 20 20 20 20 50 75 6E 6.... Pun
000160: 63 74 75 61 74 69 6F 6E 0D 0A 0D 0A 20 20 20 20 ctuation....
000170: 20 20 20 20 20 20 20 43 6F 6D 6D 61 73 20 63 61 Commas ca
000180: 6E 20 62 65 20 69 6E 73 65 72 74 65 64 20 69 6E n be inserted in
000190: 20 74 68 65 20 66 6F 72 6D 61 74 65 64 20 6E 75 the formated nu
0001A0: 6D 62 65 72 2E 20 20 41 20 63 6F 6D 6D 61 20 20 mber. A comma
0001B0: 69 6E 20 20 74 68 65 0D 0A 20 20 20 20 20 20 66 in the.. f
0001C0: 6F 72 6D 61 74 20 20 77 69 6C 6C 20 20 63 61 75 ormat will cau
0001D0: 73 65 20 20 61 20 63 6F 6D 6D 61 20 41 54 20 54 se a comma AT T
0001E0: 48 45 20 43 4F 52 52 45 53 50 4F 4E 44 49 4E 47 HE CORRESPONDING
0001F0: 20 50 4F 53 49 54 49 4F 4E 20 69 66 20 61 20 64 POSITION if a d
Size : 512 (Real : 512)
000000: 0A 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2F . /
000010: 20 20 20 20 20 20 20 4C 69 74 65 72 61 6C 20 2F Literal /
000020: 20 28 6F 72 20 66 69 6C 6C 20 63 68 61 72 61 63 (or fill charac
000030: 74 65 72 29 0D 0A 20 20 20 20 20 20 20 20 20 20 ter)..
000040: 20 20 20 20 3A 20 20 20 20 20 20 20 4C 69 74 65 : Lite
000050: 72 61 6C 20 3A 20 28 6F 72 20 66 69 6C 6C 20 63 ral : (or fill c
000060: 68 61 72 61 63 74 65 72 29 0D 0A 20 20 20 20 20 haracter)..
000070: 20 20 20 20 20 20 20 20 20 73 70 61 63 65 20 20 space
000080: 20 4C 69 74 65 72 61 6C 20 73 70 61 63 65 20 28 Literal space (
000090: 6F 72 20 66 69 6C 6C 20 63 68 61 72 61 63 74 65 or fill characte
0000A0: 72 29 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 r)..
0000B0: 20 20 5E 20 20 20 20 20 20 20 45 78 70 6F 6E 65 ^ Expone
0000C0: 6E 74 20 28 45 2C 20 73 69 67 6E 2C 20 61 6E 64 nt (E, sign, and
0000D0: 20 74 77 6F 20 64 69 67 69 74 73 29 20 20 28 2A two digits) (*
0000E0: 29 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 20 )..
0000F0: 20 5E 5E 5E 5E 20 20 20 20 45 78 70 6F 6E 65 6E ^^^^ Exponen
000100: 74 20 20 28 2A 29 0D 0A 20 20 20 20 20 20 20 20 t (*)..
000110: 20 20 20 20 20 20 5F 20 20 20 20 20 20 20 4E 65 _ Ne
000120: 78 74 20 63 68 61 72 61 63 74 65 72 20 69 73 20 xt character is
000130: 69 6E 63 6C 75 64 65 64 20 6C 69 74 65 72 61 6C included literal
000140: 6C 79 20 28 2A 29 0D 0A 20 20 20 20 20 20 20 20 ly (*)..
000150: 20 20 20 20 20 20 5F 2A 20 6F 72 20 2A 20 41 20 _* or * A
000160: 73 69 6E 67 6C 65 20 61 73 74 65 72 69 73 6B 20 single asterisk
000170: 28 2A 29 0D 0A 20 20 20 20 20 20 20 20 20 20 20 (*)..
000180: 20 20 20 5F 24 20 6F 72 20 24 20 41 20 73 69 6E _$ or $ A sin
000190: 67 6C 65 20 64 6F 6C 6C 61 72 20 73 69 67 6E 20 gle dollar sign
0001A0: 28 2A 29 0D 0A 0D 0A 20 20 20 20 20 20 45 78 61 (*).... Exa
0001B0: 6D 70 6C 65 73 20 28 6F 75 72 20 66 61 76 6F 72 mples (our favor
0001C0: 69 74 65 20 66 6F 72 6D 61 74 73 29 0D 0A 0D 0A ite formats)....
0001D0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2D 23 -#
0001E0: 2E 23 23 23 20 23 23 23 5E 5E 5E 5E 20 20 20 20 .### ###^^^^
0001F0: 20 20 20 20 20 20 4C 61 72 67 65 20 61 6E 64 20 Large and
Size : 512 (Real : 512)
000000: 69 67 69 74 0D 0A 20 20 20 20 20 20 68 61 73 20 igit.. has
000010: 61 6C 72 65 61 64 79 20 62 65 65 6E 20 70 75 74 already been put
000020: 20 69 6E 74 6F 20 74 68 65 20 72 65 73 75 6C 74 into the result
000030: 20 20 69 6E 20 20 61 20 20 70 6F 73 69 74 69 6F in a positio
000040: 6E 20 20 74 6F 20 20 74 68 65 20 20 63 6F 6D 6D n to the comm
000050: 61 0D 0A 20 20 20 20 20 20 70 6F 73 69 74 69 6F a.. positio
000060: 6E 2E 20 20 20 49 66 20 20 6E 6F 20 20 73 69 67 n. If no sig
000070: 6E 69 66 69 63 61 6E 74 20 20 64 69 67 69 74 20 nificant digit
000080: 68 61 73 20 62 65 65 6E 20 73 65 65 6E 2C 20 74 has been seen, t
000090: 68 65 6E 20 61 20 73 70 61 63 65 20 6F 72 0D 0A hen a space or..
0000A0: 20 20 20 20 20 20 61 73 74 65 72 69 73 6B 20 69 asterisk i
0000B0: 73 20 73 75 62 73 74 69 74 75 74 65 64 2E 20 20 s substituted.
0000C0: 4E 6F 74 65 20 74 68 61 74 20 50 49 43 54 55 52 Note that PICTUR
0000D0: 45 20 20 44 4F 45 53 20 20 4E 4F 54 20 20 61 75 E DOES NOT au
0000E0: 74 6F 6D 61 74 69 63 61 6C 6C 79 0D 0A 20 20 20 tomatically..
0000F0: 20 20 20 70 75 74 20 20 63 6F 6D 6D 61 73 20 20 put commas
000100: 65 76 65 72 79 20 20 74 68 69 72 64 20 20 70 6F every third po
000110: 73 69 74 69 6F 6E 2E 20 20 20 59 6F 75 20 20 63 sition. You c
000120: 61 6E 20 20 70 6C 61 63 65 20 20 63 6F 6D 6D 61 an place comma
000130: 73 20 69 6E 20 61 6E 79 0D 0A 20 20 20 20 20 20 s in any..
000140: 6D 65 61 6E 69 6E 67 66 75 6C 20 28 6F 72 20 6D meaningful (or m
000150: 65 61 6E 69 6E 67 6C 65 73 73 29 20 70 6F 73 69 eaningless) posi
000160: 74 69 6F 6E 20 69 6E 20 79 6F 75 72 20 6E 75 6D tion in your num
000170: 62 65 72 2E 0D 0A 0D 0A 20 20 20 20 20 20 20 20 ber.....
000180: 20 20 20 20 20 20 46 6F 72 6D 61 74 20 20 20 20 Format
000190: 20 20 20 20 20 20 4E 75 6D 62 65 72 20 20 20 20 Number
0001A0: 20 20 20 20 20 20 20 52 65 73 75 6C 74 20 20 20 Result
0001B0: 20 20 20 4C 65 6E 67 74 68 0D 0A 20 20 20 20 20 Length..
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 20 20 20 20 20 20 20 20
0001E0: 20 20 20 20 20 20 20 20 20 7C 0D 0A 20 20 20 20 |..
0001F0: 20 20 20 20 20 20 20 20 20 20 23 23 23 2C 23 23 ###,##
Size : 512 (Real : 512)
000000: 73 6D 61 6C 6C 20 6E 75 6D 62 65 72 73 0D 0A 20 small numbers..
000010: 20 20 20 20 20 20 20 20 20 20 20 20 20 24 23 23 $##
000020: 2E 23 23 20 20 20 20 20 20 20 20 20 20 20 20 20 .##
000030: 20 20 20 20 20 50 72 69 63 65 20 6F 66 20 4A 52 Price of JR
000040: 54 20 50 61 73 63 61 6C 0D 0A 20 20 20 20 20 20 T Pascal..
000050: 20 20 20 20 20 20 20 20 23 23 23 2C 23 23 23 20 ###,###
000060: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
000070: 4E 75 6D 62 65 72 20 6F 66 20 68 61 70 70 79 20 Number of happy
000080: 63 75 73 74 6F 6D 65 72 73 0D 0A 20 20 20 20 20 customers..
000090: 20 20 20 20 20 20 20 20 20 2A 24 23 23 23 2C 23 *$###,#
0000A0: 23 23 2E 23 23 20 20 20 20 20 20 20 20 20 20 20 ##.##
0000B0: 20 43 68 65 63 6B 73 20 28 65 73 70 65 63 69 61 Checks (especia
0000C0: 6C 6C 79 20 70 61 79 20 63 68 65 63 6B 73 29 0D lly pay checks).
0000D0: 0A 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2D . -
0000E0: 23 23 2C 23 23 23 2C 23 23 23 2C 23 23 23 2C 23 ##,###,###,###,#
0000F0: 23 23 2E 23 23 20 20 43 68 61 6E 67 65 20 69 6E ##.## Change in
000100: 20 74 68 65 20 6E 61 74 69 6F 6E 61 6C 20 64 65 the national de
000110: 62 74 0D 0A 0D 0A 20 20 20 20 20 20 20 20 20 20 bt....
000120: 20 49 6E 20 67 65 6E 65 72 61 6C 2C 20 50 49 43 In general, PIC
000130: 54 55 52 45 20 63 61 6E 20 75 73 65 20 61 6E 79 TURE can use any
000140: 20 66 6F 72 6D 61 74 20 20 77 69 74 68 20 20 6C format with l
000150: 65 67 61 6C 20 20 63 68 61 72 61 63 74 65 72 73 egal characters
000160: 2E 0D 0A 20 20 20 20 20 20 49 74 20 20 69 73 20 ... It is
000170: 20 70 6F 73 73 69 62 6C 65 20 20 74 6F 20 20 63 possible to c
000180: 72 65 61 74 65 20 20 72 69 64 69 63 75 6C 6F 75 reate ridiculou
000190: 73 20 20 66 6F 72 6D 61 74 73 2C 20 20 73 75 63 s formats, suc
0001A0: 68 20 61 73 20 22 2D 2B 22 2E 20 20 41 6E 0D 0A h as "-+". An..
0001B0: 20 20 20 20 20 20 61 70 70 72 6F 70 72 69 61 74 appropriat
0001C0: 65 20 6D 61 74 63 68 69 6E 67 20 73 74 72 69 6E e matching strin
0001D0: 67 20 77 69 6C 6C 20 62 65 20 72 65 74 75 72 6E g will be return
0001E0: 65 64 20 28 65 69 74 68 65 72 20 73 70 61 63 65 ed (either space
0001F0: 2C 20 70 6C 75 73 2C 20 20 6F 72 0D 0A 20 20 20 , plus, or..
Size : 512 (Real : 512)
000000: 23 20 20 20 20 20 20 20 20 20 32 34 37 30 20 20 # 2470
000010: 20 20 20 20 20 20 20 20 20 20 20 20 20 32 2C 34 2,4
000020: 37 30 20 20 20 20 20 20 20 20 37 0D 0A 20 20 20 70 7..
000030: 20 20 20 20 20 20 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 20 20
000050: 20 20 20 20 20 20 20 20 20 20 20 7C 0D 0A 20 20 |..
000060: 20 20 20 20 20 20 20 20 20 20 20 20 23 2C 23 23 #,##
000070: 23 20 20 20 20 20 20 20 20 20 20 20 2D 39 39 39 # -999
000080: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2D 39 -9
000090: 39 39 20 20 20 20 20 20 20 20 20 20 35 0D 0A 20 99 5..
0000A0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
0000B0: 20 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 20 20 20 20 7C 0D 0A |..
0000D0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 23 2C #,
0000E0: 23 23 23 23 23 23 20 20 20 20 20 20 20 20 32 37 ###### 27
0000F0: 34 33 35 36 32 20 20 20 20 20 20 20 20 20 20 32 43562 2
000100: 2C 37 34 33 35 36 32 20 20 20 20 20 20 20 38 0D ,743562 8.
000110: 0A 0D 0A 20 20 20 20 20 20 43 4F 55 4E 54 20 59 ... COUNT Y
000120: 4F 55 52 20 43 4F 4D 4D 41 53 20 41 4E 44 20 44 OUR COMMAS AND D
000130: 49 47 49 54 53 2E 20 20 43 6F 6D 6D 61 73 20 63 IGITS. Commas c
000140: 61 6E 20 62 65 20 75 73 65 64 20 61 66 74 65 72 an be used after
000150: 20 20 74 68 65 20 20 64 65 63 69 6D 61 6C 0D 0A the decimal..
000160: 20 20 20 20 20 20 70 6F 69 6E 74 20 69 66 20 64 point if d
000170: 65 73 69 72 65 64 2E 0D 0A 0D 0A 20 20 20 20 20 esired.....
000180: 20 20 20 20 20 20 41 20 73 70 61 63 65 20 28 6F A space (o
000190: 72 20 42 29 20 77 6F 72 6B 73 20 65 78 61 63 74 r B) works exact
0001A0: 6C 79 20 74 68 65 20 73 61 6D 65 20 61 73 20 63 ly the same as c
0001B0: 6F 6D 6D 61 73 20 66 6F 72 20 74 68 6F 73 65 20 ommas for those
0001C0: 6F 66 20 79 6F 75 0D 0A 20 20 20 20 20 20 77 68 of you.. wh
0001D0: 6F 20 20 77 61 6E 74 20 20 74 6F 20 20 70 75 6E o want to pun
0001E0: 63 74 75 61 74 65 20 6E 75 6D 62 65 72 73 20 77 ctuate numbers w
0001F0: 69 74 68 20 73 70 61 63 65 73 20 69 6E 73 74 65 ith spaces inste
Size : 512 (Real : 512)
000000: 20 20 20 6D 69 6E 75 73 20 20 69 6E 20 20 74 68 minus in th
000010: 69 73 20 20 63 61 73 65 29 2E 20 20 20 49 66 20 is case). If
000020: 20 74 68 65 20 20 66 6F 72 6D 61 74 20 63 6F 6E the format con
000030: 74 61 69 6E 73 20 61 6E 64 20 69 6E 76 61 6C 69 tains and invali
000040: 64 20 66 6F 72 6D 61 74 0D 0A 20 20 20 20 20 20 d format..
000050: 63 68 61 72 61 63 74 65 72 2C 20 50 49 43 54 55 character, PICTU
000060: 52 45 20 77 69 6C 6C 20 63 6F 6D 70 6C 61 69 6E RE will complain
000070: 20 61 6E 64 20 20 77 69 6C 6C 20 20 72 65 74 75 and will retu
000080: 72 6E 20 20 61 20 20 74 77 6F 20 20 63 68 61 72 rn a two char
000090: 61 63 74 65 72 0D 0A 20 20 20 20 20 20 73 74 72 acter.. str
0000A0: 69 6E 67 20 3F 3F 0D 0A 0D 0A 20 20 20 20 20 20 ing ??....
0000B0: 20 20 20 20 20 55 70 70 65 72 20 20 63 61 73 65 Upper case
0000C0: 20 61 6E 64 20 6C 6F 77 65 72 20 63 61 73 65 20 and lower case
0000D0: 6C 65 74 74 65 72 73 20 61 72 65 20 65 71 75 69 letters are equi
0000E0: 76 61 6C 65 6E 74 20 69 6E 20 74 68 65 20 66 6F valent in the fo
0000F0: 72 6D 61 74 2C 0D 0A 20 20 20 20 20 20 73 6F 20 rmat,.. so
000100: 45 20 6F 72 20 65 20 63 61 6E 20 62 65 20 75 73 E or e can be us
000110: 65 64 20 66 6F 72 20 74 68 65 20 65 78 70 6F 6E ed for the expon
000120: 65 6E 74 2E 0D 0A 0D 0A 20 20 20 20 53 69 6D 70 ent..... Simp
000130: 6C 65 20 6E 75 6D 62 65 72 20 66 6F 72 6D 61 74 le number format
000140: 69 6E 67 0D 0A 0D 0A 20 20 20 20 20 20 20 20 20 ing....
000150: 20 20 50 6F 75 6E 64 20 73 69 67 6E 73 20 28 23 Pound signs (#
000160: 29 20 61 72 65 20 75 73 75 61 6C 6C 79 20 75 73 ) are usually us
000170: 65 64 20 74 6F 20 69 6E 64 69 63 61 74 65 20 77 ed to indicate w
000180: 68 65 72 65 20 64 69 67 69 74 73 20 73 68 6F 75 here digits shou
000190: 6C 64 0D 0A 20 20 20 20 20 20 62 65 20 70 6C 61 ld.. be pla
0001A0: 63 65 64 2E 20 20 41 20 64 65 63 69 6D 61 6C 20 ced. A decimal
0001B0: 70 6F 69 6E 74 20 69 6E 64 69 63 61 74 65 73 20 point indicates
0001C0: 77 68 65 72 65 20 74 68 65 20 64 65 63 69 6D 61 where the decima
0001D0: 6C 20 70 6F 69 6E 74 20 20 73 68 6F 75 6C 64 0D l point should.
0001E0: 0A 20 20 20 20 20 20 67 6F 2E 20 20 20 50 49 43 . go. PIC
0001F0: 54 55 52 45 20 20 64 6F 65 73 20 20 4E 4F 20 20 TURE does NO
Size : 512 (Real : 512)
000000: 61 64 20 6F 66 20 63 6F 6D 6D 61 73 2E 20 20 4E ad of commas. N
000010: 6F 74 65 0D 0A 20 20 20 20 20 20 74 68 61 74 20 ote.. that
000020: 74 68 69 73 20 69 73 20 64 69 66 66 65 72 65 6E this is differen
000030: 74 20 66 72 6F 6D 20 74 68 65 20 20 50 52 49 4E t from the PRIN
000040: 54 20 20 55 53 49 4E 47 20 20 73 74 61 74 65 6D T USING statem
000050: 65 6E 74 20 20 69 6E 20 20 42 61 73 69 63 73 2C ent in Basics,
000060: 0D 0A 20 20 20 20 20 20 77 68 69 63 68 20 74 72 .. which tr
000070: 65 61 74 20 62 6C 61 6E 6B 73 20 61 73 20 64 65 eat blanks as de
000080: 6C 69 6D 69 74 65 72 73 2E 0D 0A 0D 0A 20 20 20 limiters.....
000090: 20 45 78 70 6F 6E 65 6E 74 69 61 6C 20 4E 6F 74 Exponential Not
0000A0: 61 74 69 6F 6E 0D 0A 0D 0A 20 20 20 20 20 20 20 ation....
0000B0: 20 20 20 20 45 78 70 6F 6E 65 6E 74 69 61 6C 20 Exponential
0000C0: 20 6E 6F 74 61 74 69 6F 6E 20 69 73 20 69 6E 64 notation is ind
0000D0: 69 63 61 74 65 64 20 65 69 74 68 65 72 20 77 69 icated either wi
0000E0: 74 68 20 61 6E 20 75 70 61 72 72 6F 77 20 28 5E th an uparrow (^
0000F0: 29 20 6F 72 0D 0A 20 20 20 20 20 20 74 68 65 20 ) or.. the
000100: 6C 65 74 74 65 72 20 45 2E 20 20 46 6F 6C 6C 6F letter E. Follo
000110: 77 69 6E 67 20 75 70 61 72 72 6F 77 73 2C 20 73 wing uparrows, s
000120: 69 67 6E 73 2C 20 61 6E 64 20 20 64 69 67 69 74 igns, and digit
000130: 20 20 69 6E 64 69 63 61 74 6F 72 73 20 20 61 72 indicators ar
000140: 65 0D 0A 20 20 20 20 20 20 69 67 6E 6F 72 65 64 e.. ignored
000150: 2C 20 20 73 6F 20 20 79 6F 75 20 63 61 6E 20 75 , so you can u
000160: 73 65 20 5E 5E 5E 5E 20 6F 72 20 45 2B 23 23 2E se ^^^^ or E+##.
000170: 20 20 54 68 65 20 66 6F 72 6D 61 74 65 64 20 65 The formated e
000180: 78 70 6F 6E 65 6E 74 20 41 4C 57 41 59 53 0D 0A xponent ALWAYS..
000190: 20 20 20 20 20 20 74 61 6B 65 73 20 66 6F 75 72 takes four
0001A0: 20 63 68 61 72 61 63 74 65 72 73 3A 20 20 74 68 characters: th
0001B0: 65 20 6C 65 74 74 65 72 20 45 2C 20 74 68 65 20 e letter E, the
0001C0: 73 69 67 6E 20 6F 66 20 74 68 65 20 20 65 78 70 sign of the exp
0001D0: 6F 6E 65 6E 74 2C 20 20 61 6E 64 0D 0A 20 20 20 onent, and..
0001E0: 20 20 20 74 77 6F 20 64 69 67 69 74 73 2E 0D 0A two digits...
0001F0: 0D 0A 20 20 20 20 20 20 20 20 20 20 20 49 66 20 .. If
Size : 512 (Real : 512)
000000: 72 6F 75 6E 64 69 6E 67 2C 20 20 62 75 74 20 20 rounding, but
000010: 6A 75 73 74 20 74 72 75 6E 63 61 74 65 73 20 69 just truncates i
000020: 6E 73 69 67 6E 69 66 69 63 61 6E 74 0D 0A 20 20 nsignificant..
000030: 20 20 20 20 64 69 67 69 74 73 2E 20 20 28 54 68 digits. (Th
000040: 65 20 76 65 72 74 69 63 61 6C 20 62 61 72 20 6A e vertical bar j
000050: 75 73 74 20 69 6E 64 69 63 61 74 65 73 20 74 68 ust indicates th
000060: 65 20 73 74 61 72 74 20 6F 66 20 74 68 65 20 72 e start of the r
000070: 65 73 75 6C 74 20 20 69 6E 0D 0A 20 20 20 20 20 esult in..
000080: 20 74 68 65 20 20 66 6F 6C 6C 6F 77 69 6E 67 20 the following
000090: 20 65 78 61 6D 70 6C 65 73 2C 20 20 61 6E 64 20 examples, and
0000A0: 20 77 69 6C 6C 20 20 6E 6F 74 20 20 62 65 20 20 will not be
0000B0: 69 6E 63 6C 75 64 65 64 20 69 6E 20 74 68 65 20 included in the
0000C0: 61 63 74 75 61 6C 0D 0A 20 20 20 20 20 20 72 65 actual.. re
0000D0: 73 75 6C 74 29 2E 0D 0A 0D 0A 20 20 20 20 20 20 sult).....
0000E0: 20 20 20 20 20 20 20 20 46 6F 72 6D 61 74 20 20 Format
0000F0: 20 20 20 20 20 20 20 20 4E 75 6D 62 65 72 20 20 Number
000100: 20 20 20 20 20 20 20 20 20 52 65 73 75 6C 74 20 Result
000110: 20 20 20 20 20 4C 65 6E 67 74 68 0D 0A 20 20 20 Length..
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 20 20 20 20 20 20 20
000140: 20 20 20 20 20 20 20 20 20 20 20 7C 0D 0A 20 20 |..
000150: 20 20 20 20 20 20 20 20 20 20 20 20 23 23 23 23 ####
000160: 23 20 20 20 20 20 20 20 20 20 20 20 31 35 30 30 # 1500
000170: 30 20 20 20 20 20 20 20 20 20 20 20 20 31 35 30 0 150
000180: 30 30 20 20 20 20 20 20 20 20 20 20 35 0D 0A 20 00 5..
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 20 20 20 20 20 20
0001B0: 20 20 20 20 20 20 20 20 20 20 20 20 20 7C 0D 0A |..
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 20 20 20 20 20 20 2D 32 -2
0001E0: 2E 36 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .6
0001F0: 20 20 2D 32 20 20 20 20 20 20 20 20 20 20 35 0D -2 5.
Size : 512 (Real : 512)
000000: 20 79 6F 75 20 20 77 61 6E 74 20 20 50 49 43 54 you want PICT
000010: 55 52 45 20 74 6F 20 63 72 65 61 74 65 20 6E 75 URE to create nu
000020: 6D 62 65 72 73 20 69 6E 20 65 78 70 6F 6E 65 6E mbers in exponen
000030: 74 69 61 6C 20 6E 6F 74 61 74 69 6F 6E 0D 0A 20 tial notation..
000040: 20 20 20 20 20 77 69 74 68 20 61 20 6C 65 61 64 with a lead
000050: 69 6E 67 20 30 20 62 65 66 6F 72 65 20 74 68 65 ing 0 before the
000060: 20 64 65 63 69 6D 61 6C 20 70 6F 69 6E 74 2C 20 decimal point,
000070: 79 6F 75 20 63 61 6E 20 75 73 65 20 74 68 65 20 you can use the
000080: 64 69 67 69 74 20 30 20 69 6E 0D 0A 20 20 20 20 digit 0 in..
000090: 20 20 61 20 66 6F 72 6D 61 74 20 62 65 66 6F 72 a format befor
0000A0: 65 20 74 68 65 20 64 65 63 69 6D 61 6C 2E 0D 0A e the decimal...
0000B0: 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ..
0000C0: 46 6F 72 6D 61 74 20 20 20 20 20 20 20 20 20 20 Format
0000D0: 4E 75 6D 62 65 72 20 20 20 20 20 20 20 20 20 20 Number
0000E0: 20 52 65 73 75 6C 74 20 20 20 20 20 20 4C 65 6E Result Len
0000F0: 67 74 68 0D 0A 20 20 20 20 20 20 20 20 20 20 20 gth..
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 20 20 20 20
000120: 20 20 20 7C 0D 0A 20 20 20 20 20 20 20 20 20 20 |..
000130: 20 20 20 20 23 2E 23 23 23 5E 20 20 20 20 20 20 #.###^
000140: 20 20 20 20 31 35 30 30 30 20 20 20 20 20 20 20 15000
000150: 20 20 20 20 20 31 2E 35 30 30 45 2B 30 34 20 20 1.500E+04
000160: 20 20 20 20 39 0D 0A 20 20 20 20 20 20 20 20 20 9..
000170: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
000180: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
000190: 20 20 20 20 20 7C 0D 0A 20 20 20 20 20 20 20 20 |..
0001A0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
0001B0: 20 20 20 20 20 20 2D 32 2E 35 20 20 20 20 20 20 -2.5
0001C0: 20 20 20 20 20 20 20 2D 2E 32 35 30 45 2B 30 31 -.250E+01
0001D0: 20 20 20 20 20 20 39 0D 0A 20 20 20 20 20 20 20 9..
0001E0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
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 20 20 20 20 20 20 20 20 20 20 20
000010: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7C 0D |.
000020: 0A 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .
000030: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2D -
000040: 31 35 30 30 30 20 20 20 20 20 20 20 20 20 20 20 15000
000050: 2D 30 2E 31 35 30 20 30 30 30 45 2B 30 35 20 20 -0.150 000E+05
000060: 20 20 31 34 0D 0A 20 20 20 20 20 20 20 20 20 20 14..
000070: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
000080: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
000090: 20 20 20 20 7C 0D 0A 20 20 20 20 20 20 20 20 20 |..
0000A0: 20 20 20 20 20 2D 23 2E 23 23 23 23 23 23 5E 5E -#.######^^
0000B0: 5E 5E 20 20 20 31 35 30 30 30 20 20 20 20 20 20 ^^ 15000
0000C0: 20 20 20 20 20 20 20 31 2E 35 30 30 30 30 30 45 1.500000E
0000D0: 2B 30 34 20 20 20 20 20 31 33 0D 0A 20 20 20 20 +04 13..
0000E0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
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 7C 0D 0A 20 20 20 |..
000110: 20 20 20 20 20 20 20 20 20 20 20 2D 2E 23 23 23 -.###
000120: 5E 20 20 20 20 20 20 20 20 20 20 31 35 30 30 31 ^ 15001
000130: 20 20 20 20 20 20 20 20 20 20 20 20 20 2E 31 35 .15
000140: 30 45 2B 30 34 20 20 20 20 20 20 20 20 20 20 39 0E+04 9
000150: 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ..
000160: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
000170: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
000180: 7C 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 20 |..
000190: 20 2B 2E 23 23 23 5E 20 20 20 20 20 20 20 20 20 +.###^
0001A0: 20 31 35 30 30 31 20 20 20 20 20 20 20 20 20 20 15001
0001B0: 20 20 2B 2E 31 35 30 45 2B 30 34 20 20 20 20 20 +.150E+04
0001C0: 20 20 20 20 20 39 0D 0A 20 20 20 20 20 20 20 20 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 20 20 20 20 20 20 20 20
0001F0: 20 20 20 20 20 20 7C 0D 0A 20 20 20 20 20 20 20 |..
Size : 512 (Real : 512)
000000: 20 20 20 20 20 20 20 7C 0D 0A 20 20 20 20 20 20 |..
000010: 20 20 20 20 20 20 20 20 23 23 23 2E 23 23 23 23 ###.####
000020: 5E 20 20 20 20 20 20 20 31 35 30 30 30 20 20 20 ^ 15000
000030: 20 20 20 20 20 20 20 20 20 31 35 30 2E 30 30 30 150.000
000040: 30 45 2B 30 31 20 20 20 31 32 0D 0A 20 20 20 20 0E+01 12..
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 20 20 20 20 7C 0D 0A 20 20 20 |..
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 20 20 20 2D 32 2E 35 20 -2.5
0000A0: 20 20 20 20 20 20 20 20 20 20 20 20 2D 32 35 2E -25.
0000B0: 30 30 30 30 45 2D 30 31 20 20 20 31 32 0D 0A 20 0000E-01 12..
0000C0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
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 20 20 20 20 20 7C 0D 0A |..
0000F0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 23 23 ##
000100: 23 2E 23 23 23 23 45 2B 23 23 20 20 20 20 2D 32 #.####E+## -2
000110: 2E 35 20 20 20 20 20 20 20 20 20 20 20 20 20 2D .5 -
000120: 32 35 2E 30 30 30 30 45 2D 30 31 20 20 20 31 32 25.0000E-01 12
000130: 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ..
000140: 20 20 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 20 20 20 20 20 20
000160: 7C 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 20 |..
000170: 20 30 2E 23 23 23 20 23 23 23 5E 5E 5E 5E 20 20 0.### ###^^^^
000180: 20 31 35 30 30 30 20 20 20 20 20 20 20 20 20 20 15000
000190: 20 20 30 2E 31 35 30 20 30 30 30 45 2B 30 35 20 0.150 000E+05
0001A0: 20 31 33 0D 0A 0D 0A 0D 0A 20 20 20 20 53 69 67 13...... Sig
0001B0: 6E 73 0D 0A 0D 0A 20 20 20 20 20 20 20 20 20 20 ns....
0001C0: 20 4E 6F 72 6D 61 6C 6C 79 2C 20 50 49 43 54 55 Normally, PICTU
0001D0: 52 45 20 20 77 69 6C 6C 20 20 70 75 74 20 20 61 RE will put a
0001E0: 20 20 6D 69 6E 75 73 20 20 73 69 67 6E 20 20 62 minus sign b
0001F0: 65 66 6F 72 65 20 20 74 68 65 20 20 66 69 72 73 efore the firs
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 2D 32 2E 35 30 36 20 20 20 -2.506
000020: 20 20 20 20 20 20 20 20 2D 2E 32 35 30 45 2B 30 -.250E+0
000030: 31 20 20 20 20 20 20 20 20 20 20 39 0D 0A 20 20 1 9..
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: 20 20 20 20 20 20 20 20 20 20 20 20 7C 0D 0A 20 |..
000070: 20 20 20 20 20 20 20 20 20 20 20 20 20 2E 23 23 .##
000080: 23 2D 5E 20 20 20 20 20 20 20 20 20 20 31 35 30 #-^ 150
000090: 30 31 20 20 20 20 20 20 20 20 20 20 20 20 2E 31 01 .1
0000A0: 35 30 20 45 2B 30 34 20 20 20 20 20 20 20 20 20 50 E+04
0000B0: 20 39 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 9..
0000C0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
0000D0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
0000E0: 20 20 7C 0D 0A 20 20 20 20 20 20 20 20 20 20 20 |..
0000F0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
000100: 20 20 20 2D 32 2E 35 30 36 20 20 20 20 20 20 20 -2.506
000110: 20 20 20 20 2E 32 35 30 2D 45 2B 30 31 20 20 20 .250-E+01
000120: 20 20 20 20 20 20 20 39 0D 0A 0D 0A 20 20 20 20 9....
000130: 20 20 20 20 20 20 20 4E 6F 74 65 20 74 68 61 74 Note that
000140: 20 79 6F 75 20 63 61 6E 20 70 75 74 20 74 68 65 you can put the
000150: 20 73 69 67 6E 20 20 69 6E 20 20 61 20 20 6E 75 sign in a nu
000160: 6D 62 65 72 20 20 6F 66 20 20 69 6E 61 70 70 72 mber of inappr
000170: 6F 70 72 69 61 74 65 0D 0A 20 20 20 20 20 20 70 opriate.. p
000180: 6C 61 63 65 73 20 61 6E 64 20 63 61 6E 20 65 76 laces and can ev
000190: 65 6E 20 68 61 76 65 20 74 68 65 20 73 69 67 6E en have the sign
0001A0: 20 61 70 70 65 61 72 20 6D 6F 72 65 20 74 68 61 appear more tha
0001B0: 74 20 6F 6E 63 65 2E 0D 0A 0D 0A 20 20 20 20 44 t once..... D
0001C0: 6F 6C 6C 61 72 20 73 69 67 6E 73 20 61 6E 64 20 ollar signs and
0001D0: 63 68 65 63 6B 20 70 72 69 6E 74 69 6E 67 0D 0A check printing..
0001E0: 0D 0A 20 20 20 20 20 20 20 20 20 20 20 46 6C 6F .. Flo
0001F0: 61 74 69 6E 67 20 20 20 64 6F 6C 6C 61 72 20 20 ating dollar
Size : 512 (Real : 512)
000000: 74 0D 0A 20 20 20 20 20 20 73 69 67 6E 69 66 69 t.. signifi
000010: 63 61 6E 74 20 20 64 69 67 69 74 20 20 69 6E 20 cant digit in
000020: 20 61 20 6E 75 6D 62 65 72 20 69 66 20 74 68 61 a number if tha
000030: 74 20 6E 75 6D 62 65 72 20 69 73 20 6E 65 67 61 t number is nega
000040: 74 69 76 65 2E 20 20 54 68 69 73 20 69 73 0D 0A tive. This is..
000050: 20 20 20 20 20 20 63 61 6C 6C 65 64 20 61 20 66 called a f
000060: 6C 6F 61 74 69 6E 67 20 73 69 67 6E 2C 20 61 6E loating sign, an
000070: 64 20 77 69 6C 6C 20 74 61 6B 65 20 75 70 20 6F d will take up o
000080: 6E 65 20 64 69 67 69 74 20 70 6F 73 69 74 69 6F ne digit positio
000090: 6E 2E 20 20 59 6F 75 20 63 61 6E 0D 0A 20 20 20 n. You can..
0000A0: 20 20 20 68 61 76 65 20 50 49 43 54 55 52 45 20 have PICTURE
0000B0: 68 61 6E 64 6C 65 20 74 68 65 20 73 69 67 6E 20 handle the sign
0000C0: 69 6E 20 6D 61 6E 79 20 6F 74 68 65 72 20 77 61 in many other wa
0000D0: 79 73 2E 20 20 54 6F 20 20 70 75 74 20 20 74 68 ys. To put th
0000E0: 65 20 20 6D 69 6E 75 73 0D 0A 20 20 20 20 20 20 e minus..
0000F0: 73 69 67 6E 20 20 28 6F 72 20 20 62 6C 61 6E 6B sign (or blank
000100: 29 20 20 69 6E 20 20 61 20 20 66 69 78 65 64 20 ) in a fixed
000110: 70 6F 73 69 74 69 6F 6E 2C 20 75 73 65 20 61 20 position, use a
000120: 2D 20 69 6E 20 74 68 65 20 66 6F 72 6D 61 74 2E - in the format.
000130: 20 20 54 68 65 0D 0A 20 20 20 20 20 20 6D 69 6E The.. min
000140: 75 73 20 73 69 67 6E 20 63 61 6E 20 62 65 20 62 us sign can be b
000150: 65 66 6F 72 65 20 74 68 65 20 66 69 72 73 74 20 efore the first
000160: 73 69 67 6E 69 66 69 63 61 6E 74 20 64 69 67 69 significant digi
000170: 74 20 6F 72 20 61 74 20 74 68 65 20 65 6E 64 20 t or at the end
000180: 6F 66 0D 0A 20 20 20 20 20 20 74 68 65 20 6E 75 of.. the nu
000190: 6D 62 65 72 2E 0D 0A 0D 0A 20 20 20 20 20 20 20 mber.....
0001A0: 20 20 20 20 54 6F 20 70 75 74 20 61 20 6E 65 67 To put a neg
0001B0: 61 74 69 76 65 20 6F 72 20 70 6F 73 69 74 69 76 ative or positiv
0001C0: 65 20 73 69 67 6E 20 69 6E 20 61 20 66 69 78 65 e sign in a fixe
0001D0: 64 20 20 70 6F 73 69 74 69 6F 6E 2C 20 20 75 73 d position, us
0001E0: 65 20 20 61 0D 0A 20 20 20 20 20 20 70 6C 75 73 e a.. plus
0001F0: 20 73 69 67 6E 20 28 2B 29 20 6F 72 20 61 6E 20 sign (+) or an
Size : 512 (Real : 512)
000000: 20 73 69 67 6E 73 20 20 20 61 6E 64 20 20 20 61 signs and a
000010: 73 74 65 72 69 73 6B 73 20 20 20 66 69 6C 6C 20 sterisks fill
000020: 20 20 77 6F 72 6B 20 20 69 6E 20 20 61 0D 0A 20 work in a..
000030: 20 20 20 20 20 73 74 72 61 69 67 68 74 66 6F 72 straightfor
000040: 77 61 72 64 20 6D 61 6E 6E 65 72 2C 20 61 6E 64 ward manner, and
000050: 20 77 69 6C 6C 20 70 72 6F 64 75 63 65 20 20 74 will produce t
000060: 68 65 20 20 73 6F 72 74 20 20 6F 66 20 20 72 65 he sort of re
000070: 73 75 6C 74 73 20 20 79 6F 75 0D 0A 20 20 20 20 sults you..
000080: 20 20 77 6F 75 6C 64 20 20 77 61 6E 74 20 66 6F would want fo
000090: 72 20 70 72 69 6E 74 69 6E 67 20 64 6F 6C 6C 61 r printing dolla
0000A0: 72 20 73 69 67 6E 20 61 6D 6F 75 6E 74 73 20 6F r sign amounts o
0000B0: 72 20 63 68 65 63 6B 73 2E 20 20 54 6F 20 65 6E r checks. To en
0000C0: 74 65 72 20 61 20 24 0D 0A 20 20 20 20 20 20 6F ter a $.. o
0000D0: 72 20 2A 20 61 74 20 61 20 66 69 78 65 64 20 70 r * at a fixed p
0000E0: 6F 73 69 74 69 6F 6E 2C 20 75 73 65 20 6F 6E 65 osition, use one
0000F0: 20 6F 66 20 74 68 65 20 22 6C 69 74 65 72 61 6C of the "literal
000100: 20 20 6E 65 78 74 22 20 20 63 68 61 72 61 63 74 next" charact
000110: 65 72 73 2C 0D 0A 20 20 20 20 20 20 74 68 65 20 ers,.. the
000120: 75 6E 64 65 72 6C 69 6E 65 20 28 5F 29 20 6F 72 underline (_) or
000130: 20 62 61 63 6B 73 6C 61 73 68 20 28 29 20 62 65 backslash () be
000140: 66 6F 72 65 20 74 68 65 20 24 20 6F 72 20 2A 2E fore the $ or *.
000150: 0D 0A 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 ....
000160: 20 20 46 6F 72 6D 61 74 20 20 20 20 20 20 20 20 Format
000170: 20 20 4E 75 6D 62 65 72 20 20 20 20 20 20 20 20 Number
000180: 20 20 20 52 65 73 75 6C 74 20 20 20 20 20 20 20 Result
000190: 4C 65 6E 67 74 68 0D 0A 20 20 20 20 20 20 20 20 Length..
0001A0: 20 20 20 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 20 20 20 20 20
0001C0: 20 20 20 20 20 20 7C 0D 0A 20 20 20 20 20 20 20 |..
0001D0: 20 20 20 20 20 20 20 5F 24 23 23 2C 23 23 23 2E _$##,###.
0001E0: 23 23 20 20 20 20 20 32 37 34 35 2E 32 33 20 20 ## 2745.23
0001F0: 20 20 20 20 20 20 20 20 24 20 32 2C 37 34 35 2E $ 2,745.
Size : 512 (Real : 512)
000000: 53 20 69 6E 73 74 65 61 64 20 6F 66 20 74 68 65 S instead of the
000010: 20 6D 69 6E 75 73 20 73 69 67 6E 2E 0D 0A 0D 0A minus sign.....
000020: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 46 6F Fo
000030: 72 6D 61 74 20 20 20 20 20 20 20 20 20 20 4E 75 rmat Nu
000040: 6D 62 65 72 20 20 20 20 20 20 20 20 20 20 20 52 mber R
000050: 65 73 75 6C 74 20 20 20 20 20 20 4C 65 6E 67 74 esult Lengt
000060: 68 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 20 h..
000070: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
000080: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
000090: 20 7C 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 |..
0000A0: 20 20 2D 23 23 23 23 20 20 20 20 20 20 20 20 20 -####
0000B0: 20 20 2D 31 32 20 20 20 20 20 20 20 20 20 20 20 -12
0000C0: 20 20 20 2D 20 20 31 32 20 20 20 20 20 20 20 20 - 12
0000D0: 20 20 35 0D 0A 20 20 20 20 20 20 20 20 20 20 20 5..
0000E0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
0000F0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
000100: 20 20 20 7C 0D 0A 20 20 20 20 20 20 20 20 20 20 |..
000110: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
000120: 20 20 20 20 31 33 34 20 20 20 20 20 20 20 20 20 134
000130: 20 20 20 20 20 20 20 31 33 34 20 20 20 20 20 20 134
000140: 20 20 20 20 35 0D 0A 20 20 20 20 20 20 20 20 20 5..
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 20 20 20 20 20 20 20 20
000170: 20 20 20 20 20 7C 0D 0A 20 20 20 20 20 20 20 20 |..
000180: 20 20 20 20 20 20 23 23 23 23 2B 20 20 20 20 20 ####+
000190: 20 20 20 20 20 20 2D 31 32 20 20 20 20 20 20 20 -12
0001A0: 20 20 20 20 20 20 20 20 20 31 32 2D 20 20 20 20 12-
0001B0: 20 20 20 20 20 20 35 0D 0A 20 20 20 20 20 20 20 5..
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 20 20 20 20 20 20 20 20
0001E0: 20 20 20 20 20 20 20 7C 0D 0A 20 20 20 20 20 20 |..
0001F0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
Size : 512 (Real : 512)
000000: 32 33 20 20 20 20 20 31 30 0D 0A 20 20 20 20 20 23 10..
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 20 20 20 20 20 20 20 20
000030: 20 20 20 20 20 20 20 20 20 7C 0D 0A 20 20 20 20 |..
000040: 20 20 20 20 20 20 20 20 20 20 24 23 23 2C 23 23 $##,##
000050: 23 2E 23 23 20 20 20 20 20 20 32 36 34 35 2E 32 #.## 2645.2
000060: 33 20 20 20 20 20 20 20 20 20 20 20 24 32 2C 37 3 $2,7
000070: 34 35 2E 32 33 20 20 20 20 20 31 30 0D 0A 0D 0A 45.23 10....
000080: 20 20 20 20 20 20 20 20 20 20 20 4E 6F 74 65 20 Note
000090: 20 74 68 61 74 20 20 74 68 65 20 20 2A 2A 2C 20 that the **,
0000A0: 20 24 24 2C 20 20 61 6E 64 20 20 2A 2A 24 20 20 $$, and **$
0000B0: 66 6F 72 6D 61 74 73 20 61 72 65 20 6F 70 74 69 formats are opti
0000C0: 6F 6E 61 6C 20 69 6E 20 4A 52 54 0D 0A 20 20 20 onal in JRT..
0000D0: 20 20 20 50 61 73 63 61 6C 27 73 20 50 49 43 54 Pascal's PICT
0000E0: 55 52 45 20 66 75 6E 63 74 69 6F 6E 2E 20 20 54 URE function. T
0000F0: 68 65 79 20 61 72 65 20 65 71 75 69 76 61 6C 65 hey are equivale
000100: 6E 74 20 74 6F 20 2A 23 2C 20 24 23 2C 20 20 61 nt to *#, $#, a
000110: 6E 64 20 20 2A 24 23 2C 0D 0A 20 20 20 20 20 20 nd *$#,..
000120: 72 65 73 70 65 63 74 69 76 65 6C 79 0D 0A 20 20 respectively..
000130: 20 20 20 20 20 20 20 20 20 54 68 65 20 20 6F 6E The on
000140: 6C 79 20 20 65 78 63 65 70 74 69 6F 6E 73 20 20 ly exceptions
000150: 74 6F 20 20 74 68 65 20 22 6F 6E 65 20 66 6F 72 to the "one for
000160: 6D 61 74 20 63 68 61 72 61 63 74 65 72 2C 20 6F mat character, o
000170: 6E 65 20 72 65 73 75 6C 74 0D 0A 20 20 20 20 20 ne result..
000180: 20 63 68 61 72 61 63 74 65 72 22 20 72 75 6C 65 character" rule
000190: 20 61 72 65 0D 0A 0D 0A 20 20 20 20 20 20 20 20 are....
0001A0: 20 20 20 20 20 20 31 29 20 74 68 65 20 74 77 6F 1) the two
0001B0: 20 22 6C 69 74 65 72 61 6C 20 6E 65 78 74 22 20 "literal next"
0001C0: 63 68 61 72 61 63 74 65 72 73 20 28 5F 20 61 6E characters (_ an
0001D0: 64 20 20 29 0D 0A 20 20 20 20 20 20 20 20 20 20 d )..
0001E0: 20 20 20 20 20 20 20 77 68 69 63 68 20 64 6F 20 which do
0001F0: 6E 6F 74 20 61 70 70 65 61 72 20 69 6E 20 74 68 not appear in th
Size : 512 (Real : 512)
000000: 20 20 20 20 20 20 20 20 31 33 34 20 20 20 20 20 134
000010: 20 20 20 20 20 20 20 20 20 20 31 33 34 2B 20 20 134+
000020: 20 20 20 20 20 20 20 20 35 0D 0A 0D 0A 20 20 20 5....
000030: 20 20 20 20 20 20 20 20 57 69 74 68 20 20 65 78 With ex
000040: 70 6F 6E 65 6E 74 69 61 6C 20 20 6E 6F 74 61 74 ponential notat
000050: 69 6F 6E 2C 20 20 79 6F 75 20 77 69 6C 6C 20 67 ion, you will g
000060: 65 6E 65 72 61 6C 6C 79 20 77 61 6E 74 20 74 6F enerally want to
000070: 20 73 70 65 63 69 66 79 0D 0A 20 20 20 20 20 20 specify..
000080: 74 68 65 20 6C 6F 63 61 74 69 6F 6E 20 6F 66 20 the location of
000090: 74 68 65 20 73 69 67 6E 2C 20 73 69 6E 63 65 20 the sign, since
0000A0: 61 20 66 6C 6F 61 74 69 6E 67 20 73 69 67 6E 20 a floating sign
0000B0: 77 69 6C 6C 20 63 61 75 73 65 20 20 6F 6E 65 20 will cause one
0000C0: 20 6C 65 73 73 0D 0A 20 20 20 20 20 20 64 69 67 less.. dig
0000D0: 69 74 20 20 62 65 66 6F 72 65 20 20 74 68 65 20 it before the
0000E0: 20 64 65 63 69 6D 61 6C 20 20 74 6F 20 62 65 20 decimal to be
0000F0: 70 72 69 6E 74 65 64 20 57 49 54 48 20 4E 45 47 printed WITH NEG
000100: 41 54 49 56 45 20 4E 55 4D 42 45 52 53 20 74 68 ATIVE NUMBERS th
000110: 61 6E 0D 0A 20 20 20 20 20 20 77 69 74 68 20 50 an.. with P
000120: 4F 53 49 54 49 56 45 20 4E 55 4D 42 45 52 53 2E OSITIVE NUMBERS.
000130: 0D 0A 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 ....
000140: 20 20 46 6F 72 6D 61 74 20 20 20 20 20 20 20 20 Format
000150: 20 20 4E 75 6D 62 65 72 20 20 20 20 20 20 20 20 Number
000160: 20 20 20 52 65 73 75 6C 74 20 20 20 20 20 20 20 Result
000170: 20 20 4C 65 6E 67 74 68 0D 0A 20 20 20 20 20 20 Length..
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 20 20 20 20 20 20 20 20 20
0001A0: 20 20 20 20 20 20 20 20 7C 0D 0A 20 20 20 20 20 |..
0001B0: 20 20 20 20 20 20 20 20 20 2D 30 2E 23 23 23 20 -0.###
0001C0: 23 23 23 5E 5E 5E 5E 20 20 31 35 30 30 30 20 20 ###^^^^ 15000
0001D0: 20 20 20 20 20 20 20 20 20 20 20 30 2E 31 35 30 0.150
0001E0: 20 30 30 30 45 2B 30 35 20 20 20 20 31 34 0D 0A 000E+05 14..
0001F0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
Size : 512 (Real : 512)
000000: 65 20 72 65 73 75 6C 74 0D 0A 20 20 20 20 20 20 e result..
000010: 20 20 20 20 20 20 20 20 32 29 20 74 68 65 20 56 2) the V
000020: 2C 20 77 68 69 63 68 20 69 73 20 6E 6F 74 20 70 , which is not p
000030: 72 69 6E 74 65 64 0D 0A 20 20 20 20 20 20 20 20 rinted..
000040: 20 20 20 20 20 20 33 29 20 74 68 65 20 74 77 6F 3) the two
000050: 20 65 78 70 6F 6E 65 6E 74 20 63 68 61 72 61 63 exponent charac
000060: 74 65 72 73 20 28 5E 20 61 6E 64 20 45 29 20 77 ters (^ and E) w
000070: 68 69 63 68 0D 0A 20 20 20 20 20 20 20 20 20 20 hich..
000080: 20 20 20 20 20 20 20 61 6C 77 61 79 73 20 74 61 always ta
000090: 6B 65 20 66 6F 75 72 20 63 68 61 72 61 63 74 65 ke four characte
0000A0: 72 73 20 28 61 6E 64 20 77 68 69 63 68 20 63 61 rs (and which ca
0000B0: 75 73 65 0D 0A 20 20 20 20 20 20 20 20 20 20 20 use..
0000C0: 20 20 20 20 20 20 66 6F 6C 6C 6F 77 69 6E 67 20 following
0000D0: 5E 2C 20 2B 2C 20 2D 2C 20 23 2C 20 61 6E 64 20 ^, +, -, #, and
0000E0: 39 20 73 70 65 63 69 66 69 63 61 74 69 6F 6E 73 9 specifications
0000F0: 20 74 6F 0D 0A 20 20 20 20 20 20 20 20 20 20 20 to..
000100: 20 20 20 20 20 20 62 65 20 69 67 6E 6F 72 65 64 be ignored
000110: 20 69 6E 20 74 68 65 20 66 6F 72 6D 61 74 29 2E in the format).
000120: 0D 0A 20 20 20 20 4F 76 65 72 66 6C 6F 77 0D 0A .. Overflow..
000130: 0D 0A 20 20 20 20 20 20 20 20 20 20 20 4F 76 65 .. Ove
000140: 72 66 6C 6F 77 20 6F 63 63 75 72 73 20 77 68 65 rflow occurs whe
000150: 6E 20 74 68 65 20 6E 75 6D 62 65 72 20 74 6F 20 n the number to
000160: 62 65 20 66 6F 72 6D 61 74 65 64 20 63 61 6E 6E be formated cann
000170: 6F 74 20 66 69 74 20 69 6E 20 74 68 65 0D 0A 20 ot fit in the..
000180: 20 20 20 20 20 66 6F 72 6D 61 74 20 70 72 6F 76 format prov
000190: 69 64 65 64 2C 20 61 73 20 77 68 65 6E 20 31 30 ided, as when 10
0001A0: 30 30 20 69 73 20 74 6F 20 62 65 20 20 66 6F 72 00 is to be for
0001B0: 6D 61 74 65 64 20 20 69 6E 20 20 61 20 20 74 68 mated in a th
0001C0: 72 65 65 20 20 64 69 67 69 74 0D 0A 20 20 20 20 ree digit..
0001D0: 20 20 66 69 65 6C 64 20 20 28 23 23 23 29 2E 20 field (###).
0001E0: 20 20 57 68 65 6E 20 20 74 68 61 74 20 20 68 61 When that ha
0001F0: 70 70 65 6E 73 2C 20 50 49 43 54 55 52 45 20 70 ppens, PICTURE p
Size : 512 (Real : 512)
000000: 20 46 4F 52 20 49 20 3A 3D 20 31 20 54 4F 20 4E FOR I := 1 TO N
000010: 52 5F 52 45 41 4C 53 20 44 4F 0D 0A 20 20 20 20 R_REALS DO..
000020: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
000030: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
000040: 42 45 47 49 4E 0D 0A 20 20 20 20 20 20 20 20 20 BEGIN..
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 57 52 49 54 45 WRITE
000070: 4C 4E 28 49 3A 33 2C 20 27 20 27 2C 0D 0A 20 20 LN(I:3, ' ',..
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 20 20 20 20 20 20 20 20
0000A0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
0000B0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7C 0D |.
0000C0: 0A 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .
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 20 20 20 52 45 41 4C 24 REAL$
0000F0: 28 52 45 41 4C 5F 41 52 52 5B 49 5D 2C 20 27 20 (REAL_ARR[I], '
000100: 20 20 27 2C 0D 0A 20 20 20 20 20 20 20 20 20 20 ',..
000110: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
000120: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
000130: 50 49 43 54 55 52 45 28 50 49 43 2C 20 52 45 41 PICTURE(PIC, REA
000140: 4C 5F 41 52 52 5B 49 5D 29 2C 0D 0A 20 20 20 20 L_ARR[I]),..
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 20 20 20 20 20 20 20 20
000170: 20 20 20 20 20 20 20 7C 0D 0A 20 20 20 20 20 20 |..
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 20 20 20 20 20 20 20 20 20
0001A0: 20 20 20 20 27 20 27 29 3B 0D 0A 20 20 20 20 20 ' ');..
0001B0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
0001C0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 45 E
0001D0: 4E 44 3B 0D 0A 20 20 20 20 20 20 20 20 20 20 20 ND;..
0001E0: 20 20 20 20 20 20 20 20 20 20 20 20 55 4E 54 49 UNTI
0001F0: 4C 20 28 50 49 43 20 3D 20 27 2A 27 29 3B 0D 0A L (PIC = '*');..
Size : 512 (Real : 512)
000000: 75 74 73 20 61 20 25 20 69 6E 20 70 6C 61 63 65 uts a % in place
000010: 20 6F 66 20 41 4C 4C 0D 0A 20 20 20 20 20 20 64 of ALL.. d
000020: 69 67 69 74 73 2E 20 20 49 6E 20 65 78 70 6F 6E igits. In expon
000030: 65 6E 74 69 61 6C 20 6E 6F 74 61 74 69 6F 6E 2C ential notation,
000040: 20 74 68 65 20 6F 6E 6C 79 20 63 61 75 73 65 20 the only cause
000050: 6F 66 20 6F 76 65 72 66 6C 6F 77 20 69 73 20 20 of overflow is
000060: 77 69 74 68 0D 0A 20 20 20 20 20 20 6E 65 67 61 with.. nega
000070: 74 69 76 65 20 20 6E 75 6D 62 65 72 73 20 77 68 tive numbers wh
000080: 65 6E 20 6E 6F 20 73 69 67 6E 20 69 73 20 69 6E en no sign is in
000090: 64 69 63 61 74 65 64 20 61 6E 64 20 6E 6F 20 64 dicated and no d
0000A0: 69 67 69 74 73 20 61 72 65 20 61 6C 6C 6F 77 65 igits are allowe
0000B0: 64 0D 0A 20 20 20 20 20 20 62 65 66 6F 72 65 20 d.. before
0000C0: 74 68 65 20 64 65 63 69 6D 61 6C 20 70 6F 69 6E the decimal poin
0000D0: 74 2E 0D 0A 0D 0A 20 20 20 20 20 20 20 20 20 20 t.....
0000E0: 20 20 20 20 46 6F 72 6D 61 74 20 20 20 20 20 20 Format
0000F0: 20 20 20 20 4E 75 6D 62 65 72 20 20 20 20 20 20 Number
000100: 20 20 20 20 20 52 65 73 75 6C 74 20 20 20 20 20 Result
000110: 20 20 4C 65 6E 67 74 68 0D 0A 20 20 20 20 20 20 Length..
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 20 20 20 20 20 20 20
000140: 20 20 20 20 20 20 20 20 7C 0D 0A 20 20 20 20 20 |..
000150: 20 20 20 20 20 20 20 20 20 2D 23 23 20 20 20 20 -##
000160: 20 20 20 20 20 20 20 20 20 32 30 30 30 30 35 20 200005
000170: 20 20 20 20 20 20 20 20 20 20 20 25 25 20 20 20 %%
000180: 20 20 20 20 20 20 20 20 20 33 0D 0A 20 20 20 20 3..
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 20 20 20 20 20 20
0001B0: 20 20 20 20 20 20 20 20 20 20 7C 0D 0A 20 20 20 |..
0001C0: 20 20 20 20 20 20 20 20 20 20 20 23 23 23 23 23 #####
0001D0: 23 20 20 20 20 20 20 20 20 20 20 2D 34 30 30 30 # -4000
0001E0: 30 31 30 32 20 20 20 20 20 20 20 20 2D 25 25 25 0102 -%%%
0001F0: 25 25 20 20 20 20 20 20 20 20 20 36 0D 0A 20 20 %% 6..
Size : 512 (Real : 512)
000000: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 45 4E EN
000010: 44 2E 0D 0A 0D 0A 20 20 20 20 20 20 4E 6F 74 65 D..... Note
000020: 20 74 68 61 74 20 63 75 72 72 65 6E 74 6C 79 2C that currently,
000030: 20 4A 52 54 20 50 61 73 63 61 6C 20 72 65 71 75 JRT Pascal requ
000040: 69 72 65 73 20 74 68 61 74 20 72 65 61 6C 20 6E ires that real n
000050: 75 6D 62 65 72 73 20 65 6E 74 65 72 65 64 20 69 umbers entered i
000060: 6E 0D 0A 20 20 20 20 20 20 65 78 70 6F 6E 65 6E n.. exponen
000070: 74 69 61 6C 20 20 66 6F 72 6D 20 20 6D 75 73 74 tial form must
000080: 20 68 61 76 65 20 61 20 65 78 70 6F 6E 65 6E 74 have a exponent
000090: 20 73 69 67 6E 20 61 6E 64 20 74 77 6F 20 65 78 sign and two ex
0000A0: 70 6F 6E 65 6E 74 20 64 65 63 69 6D 61 6C 0D 0A ponent decimal..
0000B0: 20 20 20 20 20 20 64 69 67 69 74 73 2E 20 20 54 digits. T
0000C0: 68 69 73 20 72 65 73 74 72 69 63 74 69 6F 6E 20 his restriction
0000D0: 77 69 6C 6C 20 62 65 20 72 65 6C 61 78 65 64 20 will be relaxed
0000E0: 69 6E 20 74 68 65 20 66 75 74 75 72 65 2E 0D 0A in the future...
0000F0: 0D 0A 20 20 20 20 46 6F 72 6D 61 74 73 20 66 6F .. Formats fo
000100: 72 20 65 78 2D 43 4F 42 4F 4C 20 61 6E 64 20 50 r ex-COBOL and P
000110: 4C 2F 49 20 70 72 6F 67 72 61 6D 6D 65 72 73 0D L/I programmers.
000120: 0A 0D 0A 20 20 20 20 20 20 54 68 65 20 66 6F 72 ... The for
000130: 6D 61 74 20 63 68 61 72 61 63 74 65 72 20 56 20 mat character V
000140: 63 61 6E 20 62 65 20 75 73 65 64 20 74 6F 20 73 can be used to s
000150: 65 74 20 61 6E 20 20 69 6D 70 6C 69 65 64 20 20 et an implied
000160: 64 65 63 69 6D 61 6C 20 20 70 6F 69 6E 74 0D 0A decimal point..
000170: 20 20 20 20 20 20 77 69 74 68 6F 75 74 20 20 70 without p
000180: 72 69 6E 74 69 6E 67 20 20 6F 6E 65 2E 20 20 20 rinting one.
000190: 28 56 2E 20 20 61 6E 64 20 20 2E 56 20 20 63 61 (V. and .V ca
0001A0: 6E 20 61 6C 73 6F 20 62 65 20 75 73 65 64 2E 20 n also be used.
0001B0: 20 54 68 65 20 2E 20 77 69 6C 6C 0D 0A 20 20 20 The . will..
0001C0: 20 20 20 61 6C 77 61 79 73 20 62 65 20 69 6E 63 always be inc
0001D0: 6C 75 64 65 64 20 69 6E 20 74 68 65 20 72 65 73 luded in the res
0001E0: 75 6C 74 2E 20 20 5A 20 63 61 6E 20 62 65 20 75 ult. Z can be u
0001F0: 73 65 64 20 69 6E 20 70 6C 61 63 65 20 6F 66 20 sed in place of
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 20 20 20 20 20 20 20 20 20
000020: 20 20 20 20 20 20 20 20 20 20 20 20 7C 0D 0A 20 |..
000030: 20 20 20 20 20 20 20 20 20 20 20 20 20 2A 24 23 *$#
000040: 2C 23 23 23 20 20 20 20 20 20 20 20 20 34 30 30 ,### 400
000050: 31 30 32 20 20 20 20 20 20 20 20 20 20 20 2A 24 102 *$
000060: 25 2C 25 25 25 20 20 20 20 20 20 20 20 37 0D 0A %,%%% 7..
000070: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
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 20 20 20 20 20 20 7C 0D |.
0000A0: 0A 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2E . .
0000B0: 23 23 23 5E 20 20 20 20 20 20 20 20 20 20 20 2D ###^ -
0000C0: 32 30 37 20 20 20 20 20 20 20 20 20 20 20 20 20 207
0000D0: 2E 25 25 25 45 2B 30 33 20 20 20 20 20 20 20 38 .%%%E+03 8
0000E0: 0D 0A 0D 0A 20 20 20 20 54 65 73 74 69 6E 67 20 .... Testing
0000F0: 66 6F 72 6D 61 74 73 20 66 6F 72 20 50 49 43 54 formats for PICT
000100: 55 52 45 0D 0A 0D 0A 20 20 20 20 20 20 20 20 20 URE....
000110: 20 20 48 65 72 65 20 69 73 20 20 61 20 20 72 6F Here is a ro
000120: 75 74 69 6E 65 20 20 79 6F 75 20 20 63 61 6E 20 utine you can
000130: 20 75 73 65 20 20 74 6F 20 20 74 65 73 74 20 20 use to test
000140: 79 6F 75 72 20 20 6F 77 6E 20 20 50 49 43 54 55 your own PICTU
000150: 52 45 0D 0A 20 20 20 20 20 20 73 70 65 63 69 66 RE.. specif
000160: 69 63 61 74 69 6F 6E 73 2E 20 20 20 28 57 65 20 ications. (We
000170: 20 75 73 65 20 20 61 6E 20 20 65 78 74 65 6E 73 use an extens
000180: 69 6F 6E 20 6F 66 20 74 68 69 73 20 70 72 6F 67 ion of this prog
000190: 72 61 6D 20 74 68 61 74 20 61 6C 6C 6F 77 73 0D ram that allows.
0001A0: 0A 20 20 20 20 20 20 66 69 6C 65 20 69 6E 70 75 . file inpu
0001B0: 74 20 61 6E 64 20 6F 75 74 70 75 74 20 74 6F 20 t and output to
0001C0: 74 65 73 74 20 6F 75 72 73 2E 29 20 54 68 65 20 test ours.) The
0001D0: 70 72 6F 67 72 61 6D 20 72 65 61 64 73 20 74 68 program reads th
0001E0: 65 20 6E 75 6D 62 65 72 20 20 6F 66 0D 0A 20 20 e number of..
0001F0: 20 20 20 20 72 65 61 6C 20 20 64 69 67 69 74 73 real digits
Size : 512 (Real : 512)
000000: 23 2C 20 61 6E 64 20 39 0D 0A 20 20 20 20 20 20 #, and 9..
000010: 63 61 6E 20 62 65 20 75 73 65 64 20 74 6F 20 66 can be used to f
000020: 6F 72 63 65 20 70 72 69 6E 74 69 6E 67 20 6F 66 orce printing of
000030: 20 61 20 64 69 67 69 74 2E 0D 0A 0D 0A 20 20 20 a digit.....
000040: 20 20 20 54 68 65 20 22 6C 69 74 65 72 61 6C 22 The "literal"
000050: 20 2F 20 61 6E 64 20 3A 20 63 61 6E 20 62 65 20 / and : can be
000060: 75 73 65 64 2E 20 20 54 68 65 79 20 77 69 6C 6C used. They will
000070: 20 62 65 20 72 65 70 6C 61 63 65 64 20 62 79 20 be replaced by
000080: 74 68 65 20 66 69 6C 6C 0D 0A 20 20 20 20 20 20 the fill..
000090: 63 68 61 72 61 63 74 65 72 20 28 73 70 61 63 65 character (space
0000A0: 20 6F 72 20 2A 29 20 69 66 20 61 70 70 72 6F 70 or *) if approp
0000B0: 72 69 61 74 65 2E 20 20 4D 75 6C 74 69 70 6C 65 riate. Multiple
0000C0: 20 2B 20 61 6E 64 20 2D 20 73 69 67 6E 73 20 63 + and - signs c
0000D0: 61 6E 20 62 65 0D 0A 20 20 20 20 20 20 75 73 65 an be.. use
0000E0: 64 20 69 6E 20 70 6C 61 63 65 20 6F 66 20 23 20 d in place of #
0000F0: 74 6F 20 63 61 75 73 65 20 66 6C 6F 61 74 69 6E to cause floatin
000100: 67 20 73 69 67 6E 73 2E 0D 0A 0D 0A 20 20 20 20 g signs.....
000110: 20 20 53 75 62 74 6C 65 20 64 69 66 66 65 72 65 Subtle differe
000120: 6E 63 65 73 20 62 65 74 77 65 65 6E 20 4A 52 54 nces between JRT
000130: 20 50 61 73 63 61 6C 27 73 20 50 49 43 54 55 52 Pascal's PICTUR
000140: 45 20 61 6E 64 20 20 6F 74 68 65 72 20 20 6C 61 E and other la
000150: 6E 67 75 61 67 65 73 0D 0A 20 20 20 20 20 20 77 nguages.. w
000160: 69 6C 6C 20 62 65 20 66 6F 75 6E 64 2E 20 20 55 ill be found. U
000170: 73 65 20 74 68 65 20 54 45 53 54 50 49 43 54 20 se the TESTPICT
000180: 72 6F 75 74 69 6E 65 20 74 6F 20 65 78 70 65 72 routine to exper
000190: 69 6D 65 6E 74 20 61 73 20 6E 65 65 64 65 64 2E iment as needed.
0001A0: 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 37 2E 31 31 ...... 7.11
0001B0: 20 20 50 55 54 0D 0A 0D 0A 20 20 20 20 20 20 46 PUT.... F
0001C0: 6F 72 6D 61 74 0D 0A 20 20 20 20 20 20 50 55 54 ormat.. PUT
0001D0: 20 28 20 66 69 6C 65 5F 76 61 72 69 61 62 6C 65 ( file_variable
0001E0: 20 29 3B 0D 0A 0D 0A 20 20 20 20 20 20 20 20 20 );....
0001F0: 20 20 54 68 69 73 20 20 73 74 61 6E 64 61 72 64 This standard
Size : 512 (Real : 512)
000000: 20 20 74 6F 20 62 65 20 66 6F 72 6D 61 74 65 64 to be formated
000010: 20 61 6E 64 20 74 68 65 20 6E 75 6D 62 65 72 73 and the numbers
000020: 20 74 6F 20 62 65 20 66 6F 72 6D 61 74 65 64 2E to be formated.
000030: 20 20 49 74 20 74 68 65 6E 0D 0A 20 20 20 20 20 It then..
000040: 20 72 65 61 64 73 20 6F 6E 65 20 66 6F 72 6D 61 reads one forma
000050: 74 20 73 70 65 63 69 66 69 63 61 74 69 6F 6E 20 t specification
000060: 61 74 20 20 61 20 20 74 69 6D 65 20 20 61 6E 20 at a time an
000070: 20 70 72 69 6E 74 73 20 20 65 61 63 68 20 20 6F prints each o
000080: 66 20 20 74 68 65 0D 0A 20 20 20 20 20 20 6E 75 f the.. nu
000090: 6D 62 65 72 73 20 69 6E 20 74 68 61 74 20 66 6F mbers in that fo
0000A0: 72 6D 61 74 2E 0D 0A 0D 0A 20 20 20 20 20 20 20 rmat.....
0000B0: 20 20 20 20 20 20 20 50 52 4F 47 52 41 4D 20 54 PROGRAM T
0000C0: 45 53 54 50 49 43 54 0D 0A 0D 0A 20 20 20 20 20 ESTPICT....
0000D0: 20 20 20 20 20 20 20 20 20 43 4F 4E 53 54 0D 0A CONST..
0000E0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
0000F0: 20 20 20 20 20 20 4D 41 58 5F 52 45 41 4C 20 3D MAX_REAL =
000100: 20 31 30 30 3B 0D 0A 0D 0A 20 20 20 20 20 20 20 100;....
000110: 20 20 20 20 20 20 20 56 41 52 0D 0A 20 20 20 20 VAR..
000120: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
000130: 20 20 49 20 3A 20 49 4E 54 45 47 45 52 3B 0D 0A I : INTEGER;..
000140: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
000150: 20 20 20 20 20 20 4E 52 5F 52 45 41 4C 53 20 3A NR_REALS :
000160: 20 49 4E 54 45 47 45 52 3B 0D 0A 20 20 20 20 20 INTEGER;..
000170: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
000180: 20 50 49 43 20 3A 20 53 54 52 49 4E 47 3B 0D 0A PIC : STRING;..
000190: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
0001A0: 20 20 20 20 20 20 52 45 41 4C 5F 41 52 52 20 3A REAL_ARR :
0001B0: 20 41 52 52 41 59 5B 31 2E 2E 4D 41 58 5F 52 45 ARRAY[1..MAX_RE
0001C0: 41 4C 5D 20 4F 46 20 52 45 41 4C 3B 0D 0A 0D 0A AL] OF REAL;....
0001D0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 46 55 FU
0001E0: 4E 43 54 49 4F 4E 20 50 49 43 54 55 52 45 20 28 NCTION PICTURE (
0001F0: 20 46 4D 54 20 3A 20 53 54 52 49 4E 47 3B 20 52 FMT : STRING; R
Size : 512 (Real : 512)
000000: 20 50 61 73 63 61 6C 20 70 72 6F 63 65 64 75 72 Pascal procedur
000010: 65 20 61 70 70 65 6E 64 73 20 74 68 65 20 63 75 e appends the cu
000020: 72 72 65 6E 74 20 76 61 6C 75 65 20 6F 66 20 74 rrent value of t
000030: 68 65 0D 0A 20 20 20 20 20 20 62 75 66 66 65 72 he.. buffer
000040: 20 76 61 72 69 61 62 6C 65 20 74 6F 20 74 68 65 variable to the
000050: 20 73 65 71 75 65 6E 74 69 61 6C 20 66 69 6C 65 sequential file
000060: 2E 0D 0A 0D 0A 20 20 20 20 20 20 20 20 20 20 20 .....
000070: 54 68 65 20 57 52 49 54 45 20 70 72 6F 63 65 64 The WRITE proced
000080: 75 72 65 20 61 6C 6C 6F 77 73 20 77 72 69 74 69 ure allows writi
000090: 6E 67 20 64 69 72 65 63 74 6C 79 20 74 6F 20 61 ng directly to a
0000A0: 20 66 69 6C 65 20 20 66 72 6F 6D 20 20 61 6E 79 file from any
0000B0: 0D 0A 20 20 20 20 20 20 76 61 72 69 61 62 6C 65 .. variable
0000C0: 2E 0D 0A 0D 0A 20 20 20 20 20 20 20 20 20 20 20 .....
0000D0: 20 20 20 57 52 49 54 45 20 28 20 46 3B 20 58 20 WRITE ( F; X
0000E0: 29 3B 0D 0A 0D 0A 20 20 20 20 20 20 20 20 20 20 );....
0000F0: 20 69 73 20 65 71 75 69 76 61 6C 65 6E 74 20 74 is equivalent t
000100: 6F 3A 0D 0A 0D 0A 20 20 20 20 20 20 20 20 20 20 o:....
000110: 20 20 20 20 46 5E 20 3A 3D 20 58 3B 0D 0A 20 20 F^ := X;..
000120: 20 20 20 20 20 20 20 20 20 20 20 20 50 55 54 20 PUT
000130: 28 20 46 20 29 3B 0D 0A 0D 0A 0D 0A 20 20 20 20 ( F );......
000140: 20 20 37 2E 31 32 20 20 20 20 52 45 41 44 2C 20 7.12 READ,
000150: 52 45 41 44 4C 4E 0D 0A 0D 0A 20 20 20 20 20 20 READLN....
000160: 46 6F 72 6D 61 74 20 31 20 20 28 63 6F 6E 73 6F Format 1 (conso
000170: 6C 65 29 0D 0A 20 20 20 20 20 20 52 45 41 44 2F le).. READ/
000180: 4C 4E 20 28 76 61 72 69 61 62 6C 65 31 2C 20 76 LN (variable1, v
000190: 61 72 69 61 62 6C 65 32 2C 2E 2E 2E 20 29 3B 0D ariable2,... );.
0001A0: 0A 0D 0A 20 20 20 20 20 20 46 6F 72 6D 61 74 20 ... Format
0001B0: 32 20 20 28 73 65 71 75 65 6E 74 69 61 6C 20 64 2 (sequential d
0001C0: 69 73 6B 29 0D 0A 20 20 20 20 20 20 52 45 41 44 isk).. READ
0001D0: 2F 4C 4E 20 28 20 66 69 6C 65 5F 76 61 72 69 61 /LN ( file_varia
0001E0: 62 6C 65 20 3B 20 76 61 72 69 61 62 6C 65 31 2C ble ; variable1,
0001F0: 20 76 61 72 69 61 62 6C 65 32 2C 2E 2E 2E 20 29 variable2,... )
Size : 512 (Real : 512)
000000: 20 3A 20 52 45 41 4C 29 20 3A 20 53 54 52 49 4E : REAL) : STRIN
000010: 47 3B 20 45 58 54 45 52 4E 3B 0D 0A 0D 0A 20 20 G; EXTERN;....
000020: 20 20 20 20 20 20 20 20 20 20 20 20 42 45 47 49 BEGI
000030: 4E 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 20 N..
000040: 20 52 45 50 45 41 54 0D 0A 20 20 20 20 20 20 20 REPEAT..
000050: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 57 W
000060: 52 49 54 45 28 27 4E 75 6D 62 65 72 20 6F 66 20 RITE('Number of
000070: 72 65 61 6C 20 6E 75 6D 62 65 72 73 20 74 6F 20 real numbers to
000080: 66 6F 72 6D 61 74 3A 20 27 29 3B 0D 0A 20 20 20 format: ');..
000090: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
0000A0: 20 20 20 52 45 41 44 4C 4E 28 4E 52 5F 52 45 41 READLN(NR_REA
0000B0: 4C 53 29 3B 0D 0A 20 20 20 20 20 20 20 20 20 20 LS);..
0000C0: 20 20 20 20 20 20 20 20 20 20 20 20 55 4E 54 49 UNTI
0000D0: 4C 20 28 4E 52 5F 52 45 41 4C 53 20 3C 20 4D 41 L (NR_REALS < MA
0000E0: 58 5F 52 45 41 4C 29 3B 0D 0A 20 20 20 20 20 20 X_REAL);..
0000F0: 20 20 20 20 20 20 20 20 46 4F 52 20 49 20 3A 3D FOR I :=
000100: 20 31 20 54 4F 20 4E 52 5F 52 45 41 4C 53 20 44 1 TO NR_REALS D
000110: 4F 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 20 O..
000120: 20 20 20 20 20 20 20 20 20 52 45 41 44 28 52 45 READ(RE
000130: 41 4C 5F 41 52 52 5B 49 5D 29 3B 0D 0A 20 20 20 AL_ARR[I]);..
000140: 20 20 20 20 20 20 20 20 20 20 20 52 45 41 44 4C READL
000150: 4E 3B 0D 0A 0D 0A 20 20 20 20 20 20 20 20 20 20 N;....
000160: 20 20 20 20 52 45 50 45 41 54 0D 0A 20 20 20 20 REPEAT..
000170: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
000180: 20 20 57 52 49 54 45 28 27 46 6F 72 6D 61 74 3A WRITE('Format:
000190: 20 27 29 3B 0D 0A 20 20 20 20 20 20 20 20 20 20 ');..
0001A0: 20 20 20 20 20 20 20 20 20 20 20 20 52 45 41 44 READ
0001B0: 4C 4E 28 50 49 43 29 3B 0D 0A 20 20 20 20 20 20 LN(PIC);..
0001C0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
0001D0: 49 46 28 50 49 43 20 3C 3E 20 27 2A 27 29 20 54 IF(PIC <> '*') T
0001E0: 48 45 4E 0D 0A 20 20 20 20 20 20 20 20 20 20 20 HEN..
0001F0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
Size : 512 (Real : 512)
000000: 3B 0D 0A 0D 0A 20 20 20 20 20 20 46 6F 72 6D 61 ;.... Forma
000010: 74 20 33 20 20 28 72 61 6E 64 6F 6D 20 64 69 73 t 3 (random dis
000020: 6B 29 0D 0A 20 20 20 20 20 20 52 45 41 44 2F 4C k).. READ/L
000030: 4E 20 28 20 66 69 6C 65 5F 76 61 72 69 61 62 6C N ( file_variabl
000040: 65 2C 20 52 52 4E 2C 20 69 6E 74 65 67 65 72 5F e, RRN, integer_
000050: 6F 72 5F 72 65 61 6C 5F 65 78 70 72 20 3B 0D 0A or_real_expr ;..
000060: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
000070: 20 20 20 20 20 20 76 61 72 69 61 62 6C 65 31 2C variable1,
000080: 20 76 61 72 69 61 62 6C 65 32 2C 2E 2E 2E 20 29 variable2,... )
000090: 3B 0D 0A 0D 0A 20 20 20 20 20 20 46 6F 72 6D 61 ;.... Forma
0000A0: 74 20 34 20 20 28 72 61 6E 64 6F 6D 20 64 69 73 t 4 (random dis
0000B0: 6B 29 0D 0A 20 20 20 20 20 20 52 45 41 44 2F 4C k).. READ/L
0000C0: 4E 20 28 20 66 69 6C 65 5F 76 61 72 69 61 62 6C N ( file_variabl
0000D0: 65 2C 20 52 42 41 2C 20 69 6E 74 65 67 65 72 5F e, RBA, integer_
0000E0: 6F 72 5F 72 65 61 6C 5F 65 78 70 72 20 3B 0D 0A or_real_expr ;..
0000F0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
000100: 20 20 20 20 20 20 76 61 72 69 61 62 6C 65 31 2C variable1,
000110: 20 76 61 72 69 61 62 6C 65 32 2C 2E 2E 2E 20 29 variable2,... )
000120: 3B 0D 0A 0D 0A 20 20 20 20 20 20 20 20 20 20 20 ;....
000130: 54 68 65 20 20 52 45 41 44 20 20 73 74 61 6E 64 The READ stand
000140: 61 72 64 20 70 72 6F 63 65 64 75 72 65 20 69 73 ard procedure is
000150: 20 75 73 65 64 20 74 6F 20 62 72 69 6E 67 20 64 used to bring d
000160: 61 74 61 20 66 72 6F 6D 20 63 6F 6E 73 6F 6C 65 ata from console
000170: 0D 0A 20 20 20 20 20 20 6F 72 20 64 69 73 6B 20 .. or disk
000180: 69 6E 74 6F 20 6D 61 69 6E 20 73 74 6F 72 61 67 into main storag
000190: 65 2E 0D 0A 0D 0A 20 20 20 20 20 20 20 20 20 20 e.....
0001A0: 20 46 6F 72 6D 61 74 20 31 20 69 73 20 75 73 65 Format 1 is use
0001B0: 64 20 66 6F 72 20 72 65 61 64 69 6E 67 20 64 61 d for reading da
0001C0: 74 61 20 20 66 72 6F 6D 20 20 74 68 65 20 20 63 ta from the c
0001D0: 6F 6E 73 6F 6C 65 20 20 6B 65 79 62 6F 61 72 64 onsole keyboard
0001E0: 2E 0D 0A 20 20 20 20 20 20 57 68 65 6E 20 20 69 ... When i
0001F0: 74 20 20 69 73 20 20 65 78 65 63 75 74 65 64 20 t is executed
Size : 512 (Real : 512)
000000: 66 69 72 73 74 0D 0A 20 20 20 20 20 20 72 65 63 first.. rec
000010: 6F 72 64 20 20 6E 75 6D 62 65 72 20 20 69 73 20 ord number is
000020: 20 61 74 20 20 52 52 4E 3D 30 2E 20 20 20 54 68 at RRN=0. Th
000030: 65 20 66 69 6C 65 20 6D 75 73 74 20 68 61 76 65 e file must have
000040: 20 62 65 65 6E 20 73 75 63 63 65 73 73 66 75 6C been successful
000050: 6C 79 0D 0A 20 20 20 20 20 20 6F 70 65 6E 65 64 ly.. opened
000060: 20 77 69 74 68 20 74 68 65 20 4F 50 45 4E 20 70 with the OPEN p
000070: 72 6F 63 65 64 75 72 65 2E 20 20 53 65 71 75 65 rocedure. Seque
000080: 6E 74 69 61 6C 20 61 6E 64 20 72 61 6E 64 6F 6D ntial and random
000090: 20 66 69 6C 65 20 20 61 63 63 65 73 73 65 73 0D file accesses.
0000A0: 0A 20 20 20 20 20 20 63 61 6E 6E 6F 74 20 62 65 . cannot be
0000B0: 20 6D 69 78 65 64 20 75 6E 6C 65 73 73 20 74 68 mixed unless th
0000C0: 65 20 66 69 6C 65 20 69 73 20 66 69 72 73 74 20 e file is first
0000D0: 63 6C 6F 73 65 64 20 61 6E 64 20 74 68 65 6E 20 closed and then
0000E0: 72 65 2D 6F 70 65 6E 65 64 20 69 6E 0D 0A 20 20 re-opened in..
0000F0: 20 20 20 20 74 68 65 20 20 6F 74 68 65 72 20 20 the other
000100: 6D 6F 64 65 2E 20 20 54 68 65 20 73 69 7A 65 20 mode. The size
000110: 6F 66 20 72 65 63 6F 72 64 73 20 6F 6E 20 74 68 of records on th
000120: 65 20 66 69 6C 65 20 66 6F 72 20 52 52 4E 20 70 e file for RRN p
000130: 72 6F 63 65 73 73 69 6E 67 0D 0A 20 20 20 20 20 rocessing..
000140: 20 69 73 20 64 65 74 65 72 6D 69 6E 65 64 20 77 is determined w
000150: 68 65 6E 20 74 68 65 20 66 69 6C 65 20 69 73 20 hen the file is
000160: 64 65 63 6C 61 72 65 64 2E 20 20 46 6F 72 20 65 declared. For e
000170: 78 61 6D 70 6C 65 2C 20 61 20 46 49 4C 45 20 4F xample, a FILE O
000180: 46 20 52 45 41 4C 0D 0A 20 20 20 20 20 20 68 61 F REAL.. ha
000190: 73 20 61 20 72 65 63 6F 72 64 20 73 69 7A 65 20 s a record size
0001A0: 6F 66 20 38 20 62 79 74 65 73 2E 0D 0A 0D 0A 20 of 8 bytes.....
0001B0: 20 20 20 20 20 20 20 20 20 20 46 6F 72 6D 61 74 Format
0001C0: 20 34 20 69 73 20 75 73 65 64 20 74 6F 20 72 65 4 is used to re
0001D0: 61 64 20 64 61 74 61 20 66 72 6F 6D 20 61 20 72 ad data from a r
0001E0: 61 6E 64 6F 6D 20 66 69 6C 65 20 62 79 20 20 67 andom file by g
0001F0: 69 76 69 6E 67 20 20 74 68 65 0D 0A 20 20 20 20 iving the..
Size : 512 (Real : 512)
000000: 20 69 74 20 20 77 69 6C 6C 20 6F 62 74 61 69 6E it will obtain
000010: 20 64 61 74 61 20 66 72 6F 6D 20 74 68 65 20 63 data from the c
000020: 6F 6E 73 6F 6C 65 20 62 75 66 66 65 72 2C 0D 0A onsole buffer,..
000030: 20 20 20 20 20 20 63 6F 6E 76 65 72 74 20 69 74 convert it
000040: 20 74 6F 20 74 68 65 20 70 72 6F 70 65 72 20 66 to the proper f
000050: 6F 72 6D 61 74 2C 20 61 6E 64 20 73 74 6F 72 65 ormat, and store
000060: 20 74 68 65 20 64 61 74 61 20 69 6E 20 74 68 65 the data in the
000070: 20 20 73 70 65 63 69 66 69 65 64 0D 0A 20 20 20 specified..
000080: 20 20 20 76 61 72 69 61 62 6C 65 73 2E 20 20 49 variables. I
000090: 66 20 73 75 66 66 69 63 69 65 6E 74 20 64 61 74 f sufficient dat
0000A0: 61 20 69 73 20 6E 6F 74 20 61 76 61 69 6C 61 62 a is not availab
0000B0: 6C 65 2C 20 74 68 65 20 73 79 73 74 65 6D 20 77 le, the system w
0000C0: 69 6C 6C 20 77 61 69 74 0D 0A 20 20 20 20 20 20 ill wait..
0000D0: 66 6F 72 20 20 6D 6F 72 65 20 20 64 61 74 61 20 for more data
0000E0: 74 6F 20 62 65 20 6B 65 79 65 64 20 69 6E 2E 20 to be keyed in.
0000F0: 49 66 20 64 61 74 61 20 69 73 20 6B 65 79 65 64 If data is keyed
000100: 20 69 6E 20 77 69 74 68 20 75 6E 61 63 63 65 70 in with unaccep
000110: 74 61 62 6C 65 0D 0A 20 20 20 20 20 20 66 6F 72 table.. for
000120: 6D 61 74 2C 20 61 20 77 61 72 6E 69 6E 67 20 6D mat, a warning m
000130: 65 73 73 61 67 65 20 69 73 20 69 73 73 75 65 64 essage is issued
000140: 2E 0D 0A 0D 0A 20 20 20 20 20 20 20 20 20 20 20 .....
000150: 44 79 6E 61 6D 69 63 20 73 74 72 69 6E 67 20 76 Dynamic string v
000160: 61 72 69 61 62 6C 65 73 20 6D 61 79 20 6F 6E 6C ariables may onl
000170: 79 20 62 65 20 75 73 65 64 20 69 6E 20 52 45 41 y be used in REA
000180: 44 20 66 6F 72 6D 61 74 20 31 20 2D 20 20 69 6E D format 1 - in
000190: 0D 0A 20 20 20 20 20 20 63 6F 6E 73 6F 6C 65 20 .. console
0001A0: 20 69 6E 70 75 74 20 20 2D 20 61 6E 64 20 6E 6F input - and no
0001B0: 74 20 69 6E 20 64 69 73 6B 20 66 69 6C 65 20 69 t in disk file i
0001C0: 6E 70 75 74 2E 20 20 54 6F 20 72 65 61 64 20 63 nput. To read c
0001D0: 68 61 72 61 63 74 65 72 20 64 61 74 61 0D 0A 20 haracter data..
0001E0: 20 20 20 20 20 66 72 6F 6D 20 64 69 73 6B 20 66 from disk f
0001F0: 69 6C 65 73 2C 20 61 72 72 61 79 73 20 6F 66 20 iles, arrays of
Size : 512 (Real : 512)
000000: 20 20 72 65 6C 61 74 69 76 65 20 20 62 79 74 65 relative byte
000010: 20 20 61 64 64 72 65 73 73 20 20 28 52 42 41 29 address (RBA)
000020: 20 20 6F 66 20 74 68 65 20 64 61 74 61 20 69 74 of the data it
000030: 65 6D 20 72 65 71 75 69 72 65 64 2E 20 20 54 68 em required. Th
000040: 65 20 66 69 72 73 74 0D 0A 20 20 20 20 20 20 62 e first.. b
000050: 79 74 65 20 6F 66 20 74 68 65 20 66 69 6C 65 20 yte of the file
000060: 69 73 20 61 74 20 52 42 41 3D 30 2E 20 20 54 68 is at RBA=0. Th
000070: 65 20 66 69 6C 65 20 6D 75 73 74 20 68 61 76 65 e file must have
000080: 20 20 62 65 65 6E 20 20 73 75 63 63 65 73 73 66 been successf
000090: 75 6C 6C 79 0D 0A 20 20 20 20 20 20 6F 70 65 6E ully.. open
0000A0: 65 64 20 20 77 69 74 68 20 20 74 68 65 20 20 4F ed with the O
0000B0: 50 45 4E 20 70 72 6F 63 65 64 75 72 65 2E 20 20 PEN procedure.
0000C0: 52 61 6E 64 6F 6D 20 70 72 6F 63 65 73 73 69 6E Random processin
0000D0: 67 20 63 61 6E 6E 6F 74 20 62 65 20 6D 69 78 65 g cannot be mixe
0000E0: 64 0D 0A 20 20 20 20 20 20 77 69 74 68 20 73 65 d.. with se
0000F0: 71 75 65 6E 74 69 61 6C 20 70 72 6F 63 65 73 73 quential process
000100: 69 6E 67 20 62 75 74 20 52 52 4E 20 61 6E 64 20 ing but RRN and
000110: 52 42 41 20 70 72 6F 63 65 73 73 69 6E 67 20 20 RBA processing
000120: 63 61 6E 20 20 62 65 20 20 6D 69 78 65 64 0D 0A can be mixed..
000130: 20 20 20 20 20 20 77 69 74 68 6F 75 74 20 72 65 without re
000140: 2D 6F 70 65 6E 69 6E 67 20 74 68 65 20 66 69 6C -opening the fil
000150: 65 2E 0D 0A 0D 0A 20 20 20 20 20 20 45 78 61 6D e..... Exam
000160: 70 6C 65 73 3A 0D 0A 0D 0A 20 20 20 20 20 20 20 ples:....
000170: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 52 R
000180: 45 41 44 4C 4E 28 20 41 2C 20 42 20 29 3B 0D 0A EADLN( A, B );..
000190: 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ..
0001A0: 20 20 20 20 20 20 20 20 52 45 41 44 28 20 44 41 READ( DA
0001B0: 54 41 5F 46 49 4C 45 3B 20 58 5F 44 41 54 41 2C TA_FILE; X_DATA,
0001C0: 20 59 5F 44 41 54 41 20 29 3B 0D 0A 0D 0A 20 20 Y_DATA );....
0001D0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
0001E0: 20 20 20 20 52 45 41 44 28 20 48 49 53 54 4F 52 READ( HISTOR
0001F0: 59 5F 46 49 4C 45 2C 20 52 52 4E 2C 20 59 45 41 Y_FILE, RRN, YEA
Size : 512 (Real : 512)
000000: 63 68 61 72 61 63 74 65 72 73 20 6F 72 20 72 65 characters or re
000010: 63 6F 72 64 73 20 6D 61 79 20 62 65 20 75 73 65 cords may be use
000020: 64 2E 0D 0A 0D 0A 20 20 20 20 20 20 20 20 20 20 d.....
000030: 20 52 65 61 64 69 6E 67 20 66 72 6F 6D 20 74 68 Reading from th
000040: 65 20 63 6F 6E 73 6F 6C 65 20 20 69 6E 74 6F 20 e console into
000050: 20 61 20 20 64 79 6E 61 6D 69 63 20 20 73 74 72 a dynamic str
000060: 69 6E 67 20 20 76 61 72 69 61 62 6C 65 20 20 69 ing variable i
000070: 73 0D 0A 20 20 20 20 20 20 74 72 65 61 74 65 64 s.. treated
000080: 20 20 64 69 66 66 65 72 65 6E 74 6C 79 2E 20 20 differently.
000090: 20 41 6E 20 20 65 6E 74 69 72 65 20 20 6C 69 6E An entire lin
0000A0: 65 20 6F 66 20 74 65 78 74 20 69 73 20 6F 62 74 e of text is obt
0000B0: 61 69 6E 65 64 20 66 72 6F 6D 20 74 68 65 0D 0A ained from the..
0000C0: 20 20 20 20 20 20 63 6F 6E 73 6F 6C 65 20 61 6E console an
0000D0: 64 20 6D 6F 76 65 64 20 20 64 69 72 65 63 74 6C d moved directl
0000E0: 79 20 20 69 6E 74 6F 20 20 74 68 65 20 20 73 74 y into the st
0000F0: 72 69 6E 67 20 20 76 61 72 69 61 62 6C 65 2E 20 ring variable.
000100: 20 20 53 65 70 61 72 61 74 6F 72 0D 0A 20 20 20 Separator..
000110: 20 20 20 63 68 61 72 61 63 74 65 72 73 20 20 61 characters a
000120: 6E 64 20 73 69 6E 67 6C 65 20 71 75 6F 74 65 73 nd single quotes
000130: 20 61 72 65 20 69 67 6E 6F 72 65 64 2E 20 20 54 are ignored. T
000140: 68 65 20 73 79 73 74 65 6D 20 77 69 6C 6C 20 6E he system will n
000150: 6F 74 20 61 6C 6C 6F 77 0D 0A 20 20 20 20 20 20 ot allow..
000160: 6D 6F 72 65 20 63 68 61 72 61 63 74 65 72 73 20 more characters
000170: 74 6F 20 62 65 20 6B 65 79 65 64 20 69 6E 20 74 to be keyed in t
000180: 68 61 6E 20 63 61 6E 20 66 69 74 20 69 6E 74 6F han can fit into
000190: 20 74 68 65 20 20 76 61 72 69 61 62 6C 65 2E 20 the variable.
0001A0: 20 20 54 68 65 0D 0A 20 20 20 20 20 20 73 74 72 The.. str
0001B0: 69 6E 67 20 20 76 61 72 69 61 62 6C 65 20 20 6D ing variable m
0001C0: 75 73 74 20 20 62 65 20 20 74 68 65 20 6F 6E 6C ust be the onl
0001D0: 79 20 76 61 72 69 61 62 6C 65 20 69 6E 20 74 68 y variable in th
0001E0: 65 20 52 45 41 44 27 73 20 70 61 72 61 6D 65 74 e READ's paramet
0001F0: 65 72 0D 0A 20 20 20 20 20 20 6C 69 73 74 2E 0D er.. list..
Size : 512 (Real : 512)
000000: 52 3B 20 4D 41 4A 4F 52 5F 45 56 45 4E 54 20 29 R; MAJOR_EVENT )
000010: 3B 0D 0A 0D 0A 20 20 20 20 20 20 20 20 20 20 20 ;....
000020: 20 20 20 20 20 20 20 20 20 20 20 52 45 41 44 28 READ(
000030: 20 49 4E 51 55 49 52 59 5F 46 49 4C 45 2C 20 52 INQUIRY_FILE, R
000040: 42 41 2C 20 30 3B 20 49 4E 44 45 58 20 29 3B 0D BA, 0; INDEX );.
000050: 0A 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 20 ...
000060: 20 20 20 20 20 20 20 20 20 52 45 41 44 4C 4E 3B READLN;
000070: 20 20 20 20 20 20 20 20 20 28 2A 20 52 45 53 45 (* RESE
000080: 54 20 45 4F 4C 4E 20 2A 29 0D 0A 0D 0A 0D 0A 20 T EOLN *)......
000090: 20 20 20 20 20 37 2E 31 33 20 20 20 20 52 45 4E 7.13 REN
0000A0: 41 4D 45 0D 0A 0D 0A 20 20 20 20 20 20 46 6F 72 AME.... For
0000B0: 6D 61 74 0D 0A 20 20 20 20 20 20 52 45 4E 41 4D mat.. RENAM
0000C0: 45 20 28 20 6F 6C 64 5F 6E 61 6D 65 2C 20 6E 65 E ( old_name, ne
0000D0: 77 5F 6E 61 6D 65 20 29 3B 0D 0A 0D 0A 0D 0A 20 w_name );......
0000E0: 20 20 20 20 20 20 20 20 20 20 54 68 65 20 20 52 The R
0000F0: 45 4E 41 4D 45 20 20 70 72 6F 63 65 64 75 72 65 ENAME procedure
000100: 20 69 73 20 75 73 65 64 20 74 6F 20 72 65 6E 61 is used to rena
000110: 6D 65 20 64 69 73 6B 20 66 69 6C 65 73 20 6F 6E me disk files on
000120: 20 61 6E 79 20 64 69 73 6B 2E 0D 0A 20 20 20 20 any disk...
000130: 20 20 54 68 65 20 6F 6C 64 5F 6E 61 6D 65 20 61 The old_name a
000140: 6E 64 20 6E 65 77 5F 6E 61 6D 65 20 61 72 65 20 nd new_name are
000150: 73 74 72 69 6E 67 20 65 78 70 72 65 73 73 69 6F string expressio
000160: 6E 73 2E 0D 0A 0D 0A 20 20 20 20 20 20 20 20 20 ns.....
000170: 20 20 52 45 4E 41 4D 45 20 69 73 20 69 6D 70 6C RENAME is impl
000180: 65 6D 65 6E 74 65 64 20 61 73 20 61 6E 20 20 65 emented as an e
000190: 78 74 65 72 6E 61 6C 20 20 70 72 6F 63 65 64 75 xternal procedu
0001A0: 72 65 2E 20 20 20 41 6E 79 20 20 70 72 6F 67 72 re. Any progr
0001B0: 61 6D 0D 0A 20 20 20 20 20 20 72 65 66 65 72 65 am.. refere
0001C0: 6E 63 69 6E 67 20 69 74 20 6D 75 73 74 20 69 6E ncing it must in
0001D0: 63 6C 75 64 65 20 69 74 20 64 65 63 6C 61 72 61 clude it declara
0001E0: 74 69 6F 6E 73 3A 0D 0A 0D 0A 20 20 20 20 20 20 tions:....
0001F0: 20 20 20 20 20 20 20 20 20 20 20 20 50 52 4F 43 PROC
Size : 512 (Real : 512)
000000: 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 20 20 20 20 .....
000010: 57 68 65 6E 20 61 6C 6C 20 64 61 74 61 20 6F 6E When all data on
000020: 20 61 20 67 69 76 65 6E 20 69 6E 70 75 74 20 6C a given input l
000030: 69 6E 65 20 68 61 73 20 62 65 65 6E 20 72 65 61 ine has been rea
000040: 64 20 69 6E 2C 20 20 74 68 65 20 20 45 4F 4C 4E d in, the EOLN
000050: 0D 0A 20 20 20 20 20 20 66 75 6E 63 74 69 6F 6E .. function
000060: 20 20 62 65 63 6F 6D 65 73 20 20 74 72 75 65 2E becomes true.
000070: 20 20 20 54 68 65 20 20 52 45 41 44 4C 4E 20 20 The READLN
000080: 70 72 6F 63 65 64 75 72 65 20 20 68 61 73 20 74 procedure has t
000090: 68 65 20 61 64 64 69 74 69 6F 6E 61 6C 0D 0A 20 he additional..
0000A0: 20 20 20 20 20 70 75 72 70 6F 73 65 20 6F 66 20 purpose of
0000B0: 72 65 73 65 74 74 69 6E 67 20 45 4F 4C 4E 20 74 resetting EOLN t
0000C0: 6F 20 66 61 6C 73 65 2E 20 20 52 45 41 44 4C 4E o false. READLN
0000D0: 20 20 61 6C 77 61 79 73 20 20 63 6C 65 61 72 73 always clears
0000E0: 20 20 6F 75 74 20 20 74 68 65 0D 0A 20 20 20 20 out the..
0000F0: 20 20 63 75 72 72 65 6E 74 20 20 69 6E 70 75 74 current input
000100: 20 20 6C 69 6E 65 2E 20 20 46 6F 72 20 65 78 61 line. For exa
000110: 6D 70 6C 65 2C 20 69 66 20 35 20 6E 75 6D 62 65 mple, if 5 numbe
000120: 72 73 20 77 65 72 65 20 6B 65 79 65 64 20 69 6E rs were keyed in
000130: 20 6F 6E 20 6F 6E 65 0D 0A 20 20 20 20 20 20 6C on one.. l
000140: 69 6E 65 20 61 6E 64 20 61 20 52 45 41 44 4C 4E ine and a READLN
000150: 20 77 65 72 65 20 69 73 73 75 65 64 20 77 69 74 were issued wit
000160: 68 20 33 20 76 61 72 69 61 62 6C 65 73 20 69 6E h 3 variables in
000170: 20 69 74 73 20 70 61 72 61 6D 65 74 65 72 20 6C its parameter l
000180: 69 73 74 2C 0D 0A 20 20 20 20 20 20 74 68 65 20 ist,.. the
000190: 6C 61 73 74 20 32 20 6E 75 6D 62 65 72 73 20 6F last 2 numbers o
0001A0: 6E 20 74 68 61 74 20 6C 69 6E 65 20 77 6F 75 6C n that line woul
0001B0: 64 20 62 65 20 6C 6F 73 74 2E 0D 0A 0D 0A 20 20 d be lost.....
0001C0: 20 20 20 20 20 20 20 20 20 46 6F 72 6D 61 74 20 Format
0001D0: 32 20 69 73 20 75 73 65 64 20 74 6F 20 72 65 61 2 is used to rea
0001E0: 64 20 69 6E 20 64 61 74 61 20 66 72 6F 6D 20 61 d in data from a
0001F0: 20 20 73 65 71 75 65 6E 74 69 61 6C 20 20 64 69 sequential di
Size : 512 (Real : 512)
000000: 45 44 55 52 45 20 52 45 4E 41 4D 45 20 28 20 4F EDURE RENAME ( O
000010: 4C 44 2C 20 4E 45 57 31 20 3A 20 53 54 52 49 4E LD, NEW1 : STRIN
000020: 47 5B 32 30 5D 20 29 3B 0D 0A 20 20 20 20 20 20 G[20] );..
000030: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
000040: 20 20 20 20 20 20 20 45 58 54 45 52 4E 3B 0D 0A EXTERN;..
000050: 0D 0A 20 20 20 20 20 20 45 78 61 6D 70 6C 65 73 .. Examples
000060: 3A 0D 0A 0D 0A 20 20 20 20 20 20 20 20 20 20 20 :....
000070: 20 20 20 20 20 20 20 52 45 4E 41 4D 45 28 20 27 RENAME( '
000080: 43 3A 54 45 53 54 2E 50 41 53 27 2C 20 27 54 45 C:TEST.PAS', 'TE
000090: 53 54 32 2E 50 41 53 27 20 29 3B 0D 0A 0D 0A 20 ST2.PAS' );....
0000A0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
0000B0: 20 52 45 4E 41 4D 45 28 20 4F 4C 44 5F 46 49 4C RENAME( OLD_FIL
0000C0: 45 5F 4E 41 4D 45 2C 20 4E 45 57 5F 46 49 4C 45 E_NAME, NEW_FILE
0000D0: 5F 4E 41 4D 45 20 29 3B 0D 0A 0D 0A 20 20 20 20 _NAME );....
0000E0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 52 45 RE
0000F0: 4E 41 4D 45 28 20 44 49 53 4B 20 2B 20 4F 4C 44 NAME( DISK + OLD
000100: 5F 4E 41 4D 45 2C 20 4E 45 57 5F 4E 41 4D 45 20 _NAME, NEW_NAME
000110: 29 3B 0D 0A 0D 0A 20 20 20 20 20 20 20 20 20 20 );....
000120: 20 20 20 20 20 20 20 20 52 45 4E 41 4D 45 28 20 RENAME(
000130: 27 53 4F 52 54 2E 42 41 4B 27 2C 20 27 53 4F 52 'SORT.BAK', 'SOR
000140: 54 2E 50 41 53 27 20 29 3B 0D 0A 0D 0A 0D 0A 20 T.PAS' );......
000150: 20 20 20 20 20 37 2E 31 34 20 20 52 45 53 45 54 7.14 RESET
000160: 20 0D 0A 0D 0A 20 20 20 20 20 20 46 6F 72 6D 61 .... Forma
000170: 74 20 31 0D 0A 20 20 20 20 20 20 52 45 53 45 54 t 1.. RESET
000180: 20 28 20 66 69 6C 65 5F 76 61 72 69 61 62 6C 65 ( file_variable
000190: 2C 20 66 69 6C 65 6E 61 6D 65 2C 20 42 49 4E 41 , filename, BINA
0001A0: 52 59 2C 20 62 75 66 72 5F 73 69 7A 65 20 29 3B RY, bufr_size );
0001B0: 0D 0A 0D 0A 20 20 20 20 20 20 46 6F 72 6D 61 74 .... Format
0001C0: 20 32 0D 0A 20 20 20 20 20 20 52 45 53 45 54 20 2.. RESET
0001D0: 28 20 66 69 6C 65 5F 76 61 72 69 61 62 6C 65 2C ( file_variable,
0001E0: 20 66 69 6C 65 6E 61 6D 65 2C 20 54 45 58 54 2C filename, TEXT,
0001F0: 20 62 75 66 72 5F 73 69 7A 65 20 29 3B 0D 0A 0D bufr_size );...
Size : 512 (Real : 512)
000000: 73 6B 20 20 66 69 6C 65 2E 0D 0A 20 20 20 20 20 sk file...
000010: 20 57 68 65 74 68 65 72 20 20 74 68 65 20 20 66 Whether the f
000020: 69 6C 65 20 20 69 73 20 20 70 72 6F 63 65 73 73 ile is process
000030: 65 64 20 61 73 20 74 65 78 74 20 6F 72 20 62 69 ed as text or bi
000040: 6E 61 72 79 20 64 61 74 61 20 69 73 20 73 70 65 nary data is spe
000050: 63 69 66 69 65 64 0D 0A 20 20 20 20 20 20 77 68 cified.. wh
000060: 65 6E 20 74 68 65 20 66 69 6C 65 20 69 73 20 6F en the file is o
000070: 70 65 6E 65 64 20 28 52 45 53 45 54 29 2E 20 20 pened (RESET).
000080: 54 68 65 20 66 69 6C 65 5F 76 61 72 69 61 62 6C The file_variabl
000090: 65 20 6D 75 73 74 20 72 65 66 65 72 20 20 74 6F e must refer to
0000A0: 20 20 61 0D 0A 20 20 20 20 20 20 66 69 6C 65 20 a.. file
0000B0: 20 77 68 69 63 68 20 20 68 61 73 20 20 62 65 65 which has bee
0000C0: 6E 20 20 73 75 63 63 65 73 73 66 75 6C 6C 79 20 n successfully
0000D0: 20 6F 70 65 6E 65 64 20 6F 72 20 61 20 72 75 6E opened or a run
0000E0: 2D 74 69 6D 65 20 65 72 72 6F 72 20 77 69 6C 6C -time error will
0000F0: 0D 0A 20 20 20 20 20 20 6F 63 63 75 72 2E 0D 0A .. occur...
000100: 0D 0A 20 20 20 20 20 20 20 20 20 20 20 4E 6F 74 .. Not
000110: 65 20 74 68 61 74 20 4A 52 54 20 50 61 73 63 61 e that JRT Pasca
000120: 6C 20 75 73 65 73 20 61 20 73 65 6D 69 63 6F 6C l uses a semicol
000130: 6F 6E 20 20 61 66 74 65 72 20 20 74 68 65 20 20 on after the
000140: 66 69 6C 65 5F 76 61 72 69 61 62 6C 65 0D 0A 20 file_variable..
000150: 20 20 20 20 20 72 61 74 68 65 72 20 74 68 61 6E rather than
000160: 20 61 20 63 6F 6D 6D 61 2E 0D 0A 0D 0A 20 20 20 a comma.....
000170: 20 20 20 20 20 20 20 20 46 6F 72 6D 61 74 20 20 Format
000180: 33 20 20 69 73 20 20 75 73 65 64 20 74 6F 20 72 3 is used to r
000190: 65 61 64 20 69 6E 20 64 61 74 61 20 66 72 6F 6D ead in data from
0001A0: 20 61 20 72 61 6E 64 6F 6D 20 66 69 6C 65 20 62 a random file b
0001B0: 79 20 67 69 76 69 6E 67 0D 0A 20 20 20 20 20 20 y giving..
0001C0: 74 68 65 20 72 65 6C 61 74 69 76 65 20 72 65 63 the relative rec
0001D0: 6F 72 64 20 6E 75 6D 62 65 72 20 28 52 52 4E 29 ord number (RRN)
0001E0: 20 6F 66 20 74 68 65 20 72 65 63 6F 72 64 20 72 of the record r
0001F0: 65 71 75 69 72 65 64 2E 20 20 20 54 68 65 20 20 equired. The
Size : 512 (Real : 512)
000000: 0A 20 20 20 20 20 20 20 20 20 20 20 54 68 65 20 . The
000010: 20 52 45 53 45 54 20 20 73 74 61 6E 64 61 72 64 RESET standard
000020: 20 20 70 72 6F 63 65 64 75 72 65 20 69 73 20 75 procedure is u
000030: 73 65 64 20 74 6F 20 6F 70 65 6E 20 61 6C 72 65 sed to open alre
000040: 61 64 79 20 65 78 69 73 74 69 6E 67 0D 0A 20 20 ady existing..
000050: 20 20 20 20 66 69 6C 65 73 20 66 6F 72 20 73 65 files for se
000060: 71 75 65 6E 74 69 61 6C 20 69 6E 70 75 74 2E 0D quential input..
000070: 0A 0D 0A 20 20 20 20 20 20 20 20 20 20 20 49 4D ... IM
000080: 50 4F 52 54 41 4E 54 20 43 48 41 4E 47 45 20 66 PORTANT CHANGE f
000090: 72 6F 6D 20 76 65 72 73 69 6F 6E 20 32 2E 32 20 rom version 2.2
0000A0: 74 6F 20 76 65 72 73 69 6F 6E 20 33 2E 30 20 6F to version 3.0 o
0000B0: 66 20 4A 52 54 20 20 50 61 73 63 61 6C 3A 0D 0A f JRT Pascal:..
0000C0: 20 20 20 20 20 20 52 45 53 45 54 20 20 6E 6F 77 RESET now
0000D0: 20 73 65 74 73 20 74 68 65 20 45 4F 46 20 66 75 sets the EOF fu
0000E0: 6E 63 74 69 6F 6E 20 74 6F 20 74 72 75 65 20 61 nction to true a
0000F0: 6E 64 20 69 73 73 75 65 73 20 61 20 77 61 72 6E nd issues a warn
000100: 69 6E 67 20 6D 65 73 73 61 67 65 0D 0A 20 20 20 ing message..
000110: 20 20 20 69 66 20 74 68 65 20 66 69 6C 65 20 64 if the file d
000120: 6F 65 73 20 6E 6F 74 20 65 78 69 73 74 20 6F 6E oes not exist on
000130: 20 64 69 73 6B 2E 20 20 49 74 20 75 73 65 64 20 disk. It used
000140: 74 6F 20 63 61 75 73 65 20 74 68 65 20 6F 6C 64 to cause the old
000150: 20 70 72 6F 67 72 61 6D 0D 0A 20 20 20 20 20 20 program..
000160: 74 6F 20 74 65 72 6D 69 6E 61 74 65 20 77 69 74 to terminate wit
000170: 68 20 61 6E 20 65 72 72 6F 72 2E 20 20 4E 4F 54 h an error. NOT
000180: 45 3A 20 41 6C 6C 20 70 72 6F 67 72 61 6D 73 20 E: All programs
000190: 73 68 6F 75 6C 64 20 6E 6F 77 20 20 74 65 73 74 should now test
0001A0: 20 20 45 4F 46 0D 0A 20 20 20 20 20 20 69 6D 6D EOF.. imm
0001B0: 65 64 69 61 74 65 6C 79 20 61 66 74 65 72 20 52 ediately after R
0001C0: 45 53 45 54 2E 0D 0A 0D 0A 20 20 20 20 20 20 20 ESET.....
0001D0: 20 20 20 20 46 6F 72 6D 61 74 20 20 31 20 20 69 Format 1 i
0001E0: 73 20 75 73 65 64 20 74 6F 20 6F 70 65 6E 20 66 s used to open f
0001F0: 69 6C 65 73 20 69 6E 20 62 69 6E 61 72 79 20 6D iles in binary m
Size : 512 (Real : 512)
000000: 2E 20 20 54 68 65 20 62 75 66 66 65 72 20 20 73 . The buffer s
000010: 69 7A 65 20 20 69 73 0D 0A 20 20 20 20 20 20 72 ize is.. r
000020: 6F 75 6E 64 65 64 20 75 70 20 74 6F 20 61 20 6D ounded up to a m
000030: 75 6C 74 69 70 6C 65 20 6F 66 20 31 32 38 2E 0D ultiple of 128..
000040: 0A 0D 0A 20 20 20 20 20 20 20 20 20 20 20 56 61 ... Va
000050: 6C 75 65 73 20 6C 69 6B 65 20 31 30 32 34 2C 20 lues like 1024,
000060: 32 30 34 38 20 61 6E 64 20 34 30 39 36 20 61 72 2048 and 4096 ar
000070: 65 20 72 65 63 6F 6D 6D 65 6E 64 65 64 20 66 6F e recommended fo
000080: 72 20 62 75 66 72 5F 73 69 7A 65 2E 0D 0A 0D 0A r bufr_size.....
000090: 20 20 20 20 20 20 45 78 61 6D 70 6C 65 73 3A 0D Examples:.
0000A0: 0A 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 20 ...
0000B0: 20 20 20 20 20 52 45 57 52 49 54 45 28 20 4C 4F REWRITE( LO
0000C0: 47 5F 46 49 4C 45 2C 20 27 46 3A 4C 4F 47 2E 44 G_FILE, 'F:LOG.D
0000D0: 41 54 27 2C 20 54 45 58 54 2C 20 35 31 32 20 29 AT', TEXT, 512 )
0000E0: 3B 0D 0A 0D 0A 20 20 20 20 20 20 20 20 20 20 20 ;....
0000F0: 20 20 20 20 20 20 20 52 45 57 52 49 54 45 28 20 REWRITE(
000100: 52 45 50 4F 52 54 2C 20 4D 4F 4E 54 48 20 2B 20 REPORT, MONTH +
000110: 27 2E 52 50 54 27 2C 20 54 45 58 54 2C 20 31 30 '.RPT', TEXT, 10
000120: 32 34 20 29 3B 0D 0A 0D 0A 20 20 20 20 20 20 20 24 );....
000130: 20 20 20 20 20 20 20 20 20 20 20 52 45 57 52 49 REWRI
000140: 54 45 28 20 53 59 4D 42 4F 4C 2C 20 50 47 4D 20 TE( SYMBOL, PGM
000150: 2B 20 27 2E 53 59 4D 27 2C 20 42 49 4E 41 52 59 + '.SYM', BINARY
000160: 2C 20 32 35 36 20 29 3B 0D 0A 0D 0A 20 20 20 20 , 256 );....
000170: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 52 45 RE
000180: 57 52 49 54 45 28 20 53 54 41 54 49 53 54 49 43 WRITE( STATISTIC
000190: 53 2C 20 27 42 3A 53 54 41 54 53 2E 44 41 54 27 S, 'B:STATS.DAT'
0001A0: 2C 20 54 45 58 54 2C 20 37 36 38 20 29 3B 0D 0A , TEXT, 768 );..
0001B0: 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 ..........
0001C0: 37 2E 31 36 20 20 57 52 49 54 45 2C 20 57 52 49 7.16 WRITE, WRI
0001D0: 54 45 4C 4E 0D 0A 0D 0A 20 20 20 20 20 20 46 6F TELN.... Fo
0001E0: 72 6D 61 74 20 31 20 20 28 63 6F 6E 73 6F 6C 65 rmat 1 (console
0001F0: 29 0D 0A 20 20 20 20 20 20 57 52 49 54 45 2F 4C ).. WRITE/L
Size : 512 (Real : 512)
000000: 6F 64 65 2E 20 20 46 6F 72 6D 61 74 20 32 20 6F ode. Format 2 o
000010: 70 65 6E 73 0D 0A 20 20 20 20 20 20 66 69 6C 65 pens.. file
000020: 73 20 69 6E 20 74 65 78 74 20 6D 6F 64 65 2E 0D s in text mode..
000030: 0A 0D 0A 20 20 20 20 20 20 20 20 20 20 20 54 68 ... Th
000040: 65 20 66 69 6C 65 5F 76 61 72 69 61 62 6C 65 20 e file_variable
000050: 72 65 66 65 72 73 20 74 6F 20 61 20 66 69 6C 65 refers to a file
000060: 20 76 61 72 69 61 62 6C 65 20 64 65 63 6C 61 72 variable declar
000070: 65 64 20 69 6E 20 74 68 65 20 20 56 41 52 0D 0A ed in the VAR..
000080: 20 20 20 20 20 20 64 65 63 6C 61 72 61 74 69 6F declaratio
000090: 6E 20 20 20 73 65 63 74 69 6F 6E 2E 20 20 20 54 n section. T
0000A0: 68 65 20 20 66 69 6C 65 6E 61 6D 65 20 20 69 73 he filename is
0000B0: 20 20 61 20 20 73 74 72 69 6E 67 20 20 6F 72 20 a string or
0000C0: 20 73 74 72 75 63 74 75 72 65 64 0D 0A 20 20 20 structured..
0000D0: 20 20 20 65 78 70 72 65 73 73 69 6F 6E 20 77 68 expression wh
0000E0: 69 63 68 20 6D 61 79 20 69 6E 63 6C 75 64 65 20 ich may include
0000F0: 64 69 73 6B 20 69 64 65 6E 74 69 66 69 65 72 20 disk identifier
000100: 6C 65 74 74 65 72 2E 0D 0A 0D 0A 20 20 20 20 20 letter.....
000110: 20 20 20 20 20 20 54 68 65 20 62 75 66 72 5F 73 The bufr_s
000120: 69 7A 65 20 69 73 20 61 6E 20 69 6E 74 65 67 65 ize is an intege
000130: 72 20 65 78 70 72 65 73 73 69 6F 6E 20 77 68 69 r expression whi
000140: 63 68 20 69 6E 64 69 63 61 74 65 73 20 74 68 65 ch indicates the
000150: 20 20 73 69 7A 65 0D 0A 20 20 20 20 20 20 6F 66 size.. of
000160: 20 20 74 68 65 20 20 69 6E 70 75 74 20 20 62 75 the input bu
000170: 66 66 65 72 20 20 74 6F 20 20 62 65 20 20 61 6C ffer to be al
000180: 6C 6F 63 61 74 65 64 20 20 69 6E 20 20 64 79 6E located in dyn
000190: 61 6D 69 63 20 73 74 6F 72 61 67 65 2E 20 20 57 amic storage. W
0001A0: 68 65 6E 0D 0A 20 20 20 20 20 20 73 74 6F 72 61 hen.. stora
0001B0: 72 61 67 65 20 69 73 20 61 76 61 69 6C 61 62 6C rage is availabl
0001C0: 65 2C 20 6C 61 72 67 65 72 20 62 75 66 66 65 72 e, larger buffer
0001D0: 73 20 20 61 72 65 20 20 70 72 65 66 65 72 72 65 s are preferre
0001E0: 64 20 20 62 65 63 61 75 73 65 20 20 74 68 65 79 d because they
0001F0: 0D 0A 20 20 20 20 20 20 72 65 73 75 6C 74 20 69 .. result i
Size : 512 (Real : 512)
000000: 4E 20 28 20 76 61 72 69 61 62 6C 65 31 2C 20 76 N ( variable1, v
000010: 61 72 69 61 62 6C 65 32 2C 2E 2E 2E 20 29 3B 0D ariable2,... );.
000020: 0A 0D 0A 20 20 20 20 20 20 46 6F 72 6D 61 74 20 ... Format
000030: 32 20 20 28 73 65 71 75 65 6E 74 69 61 6C 20 64 2 (sequential d
000040: 69 73 6B 29 0D 0A 20 20 20 20 20 20 57 52 49 54 isk).. WRIT
000050: 45 2F 4C 4E 20 28 20 66 69 6C 65 5F 76 61 72 69 E/LN ( file_vari
000060: 61 62 6C 65 20 3B 20 76 61 72 69 61 62 6C 65 31 able ; variable1
000070: 2C 20 76 61 72 69 61 62 6C 65 32 2C 2E 2E 2E 20 , variable2,...
000080: 29 3B 0D 0A 0D 0A 20 20 20 20 20 20 46 6F 72 6D );.... Form
000090: 61 74 20 33 20 20 28 72 61 6E 64 6F 6D 20 64 69 at 3 (random di
0000A0: 73 6B 29 0D 0A 20 20 20 20 20 20 57 52 49 54 45 sk).. WRITE
0000B0: 2F 4C 4E 20 28 20 66 69 6C 65 5F 76 61 72 69 61 /LN ( file_varia
0000C0: 62 6C 65 2C 20 52 52 4E 2C 20 69 6E 74 65 67 65 ble, RRN, intege
0000D0: 72 5F 6F 72 5F 72 65 61 6C 5F 65 78 70 72 20 3B r_or_real_expr ;
0000E0: 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ..
0000F0: 20 20 20 20 76 61 72 69 61 62 6C 65 31 2C 20 76 variable1, v
000100: 61 72 69 61 62 6C 65 32 2C 2E 2E 2E 20 29 3B 0D ariable2,... );.
000110: 0A 0D 0A 20 20 20 20 20 20 46 6F 72 6D 61 74 20 ... Format
000120: 34 20 20 28 72 61 6E 64 6F 6D 20 64 69 73 6B 29 4 (random disk)
000130: 0D 0A 20 20 20 20 20 20 57 52 49 54 45 2F 4C 4E .. WRITE/LN
000140: 20 28 20 66 69 6C 65 5F 76 61 72 69 61 62 6C 65 ( file_variable
000150: 2C 20 52 42 41 2C 20 69 6E 74 65 67 65 72 5F 6F , RBA, integer_o
000160: 72 5F 72 65 61 6C 5F 65 78 70 72 20 3B 0D 0A 20 r_real_expr ;..
000170: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
000180: 20 76 61 72 69 61 62 6C 65 31 2C 20 76 61 72 69 variable1, vari
000190: 61 62 6C 65 32 2C 2E 2E 2E 20 29 3B 0D 0A 0D 0A able2,... );....
0001A0: 20 20 20 20 20 20 20 20 20 20 20 54 68 65 20 20 The
0001B0: 57 52 49 54 45 20 73 74 61 6E 64 61 72 64 20 70 WRITE standard p
0001C0: 72 6F 63 65 64 75 72 65 20 69 73 20 75 73 65 64 rocedure is used
0001D0: 20 74 6F 20 74 72 61 6E 73 66 65 72 20 64 61 74 to transfer dat
0001E0: 61 20 66 72 6F 6D 20 6D 61 69 6E 0D 0A 20 20 20 a from main..
0001F0: 20 20 20 73 74 6F 72 61 67 65 20 74 6F 20 74 68 storage to th
Size : 512 (Real : 512)
000000: 6E 20 66 65 77 65 72 20 64 69 73 6B 20 61 63 63 n fewer disk acc
000010: 65 73 73 65 73 20 61 6E 64 20 74 68 75 73 20 66 esses and thus f
000020: 61 73 74 65 72 20 70 72 6F 63 65 73 73 69 6E 67 aster processing
000030: 2E 20 20 54 68 65 20 62 75 66 66 65 72 0D 0A 20 . The buffer..
000040: 20 20 20 20 20 73 69 7A 65 20 69 73 20 72 6F 75 size is rou
000050: 6E 64 65 64 20 75 70 20 74 6F 20 61 20 6D 75 6C nded up to a mul
000060: 74 69 70 6C 65 20 6F 66 20 31 32 38 2E 0D 0A 0D tiple of 128....
000070: 0A 20 20 20 20 20 20 20 20 20 20 20 56 61 6C 75 . Valu
000080: 65 73 20 6C 69 6B 65 20 31 30 32 34 2C 20 32 30 es like 1024, 20
000090: 34 38 20 61 6E 64 20 34 30 39 36 20 61 72 65 20 48 and 4096 are
0000A0: 72 65 63 6F 6D 6D 65 6E 64 65 64 20 66 6F 72 20 recommended for
0000B0: 62 75 66 72 5F 73 69 7A 65 2E 0D 0A 0D 0A 20 20 bufr_size.....
0000C0: 20 20 20 20 45 78 61 6D 70 6C 65 73 3A 0D 0A 0D Examples:...
0000D0: 0A 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .
0000E0: 20 20 20 52 45 53 45 54 28 20 49 4E 50 55 54 5F RESET( INPUT_
0000F0: 46 49 4C 45 2C 20 27 53 4F 55 52 43 45 2E 50 41 FILE, 'SOURCE.PA
000100: 53 27 2C 20 42 49 4E 41 52 59 2C 20 31 30 32 34 S', BINARY, 1024
000110: 20 29 3B 0D 0A 0D 0A 20 20 20 20 20 20 20 20 20 );....
000120: 20 20 20 20 20 20 20 20 20 52 45 53 45 54 28 20 RESET(
000130: 4C 4F 47 2C 20 27 42 3A 4C 4F 47 2E 44 41 54 27 LOG, 'B:LOG.DAT'
000140: 2C 20 54 45 58 54 2C 20 32 30 34 38 20 29 3B 0D , TEXT, 2048 );.
000150: 0A 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 20 ...
000160: 20 20 20 20 20 52 45 53 45 54 28 20 44 41 49 4C RESET( DAIL
000170: 59 5F 53 41 4C 45 53 2C 20 27 43 3A 44 41 49 4C Y_SALES, 'C:DAIL
000180: 59 2E 44 41 54 27 2C 20 54 45 58 54 2C 20 32 35 Y.DAT', TEXT, 25
000190: 36 20 29 3B 0D 0A 0D 0A 20 20 20 20 20 20 20 20 6 );....
0001A0: 20 20 20 20 20 20 20 20 20 20 52 45 53 45 54 28 RESET(
0001B0: 20 53 54 41 54 49 53 54 49 43 53 2C 20 27 53 54 STATISTICS, 'ST
0001C0: 41 54 2E 44 41 54 27 2C 20 42 49 4E 41 52 59 2C AT.DAT', BINARY,
0001D0: 20 31 30 32 34 20 29 3B 0D 0A 0D 0A 0D 0A 20 20 1024 );......
0001E0: 20 20 20 20 37 2E 31 35 20 20 52 45 57 52 49 54 7.15 REWRIT
0001F0: 45 0D 0A 0D 0A 20 20 20 20 20 20 46 6F 72 6D 61 E.... Forma
Size : 512 (Real : 512)
000000: 65 20 63 6F 6E 73 6F 6C 65 20 66 6F 72 20 64 69 e console for di
000010: 73 70 6C 61 79 20 6F 72 20 74 6F 20 64 69 73 6B splay or to disk
000020: 20 66 6F 72 20 73 74 6F 72 61 67 65 2E 0D 0A 0D for storage....
000030: 0A 20 20 20 20 20 20 20 20 20 20 20 46 6F 72 6D . Form
000040: 61 74 20 31 20 69 73 20 75 73 65 64 20 74 6F 20 at 1 is used to
000050: 77 72 69 74 65 20 64 61 74 61 20 74 6F 20 74 68 write data to th
000060: 65 20 63 6F 6E 73 6F 6C 65 20 6F 72 20 20 70 72 e console or pr
000070: 69 6E 74 65 72 2E 20 20 20 54 68 65 0D 0A 20 20 inter. The..
000080: 20 20 20 20 63 6F 6E 73 6F 6C 65 20 20 69 73 20 console is
000090: 20 61 6C 77 61 79 73 20 20 63 6F 6E 73 69 64 65 always conside
0000A0: 72 65 64 20 20 74 6F 20 20 62 65 20 20 61 20 74 red to be a t
0000B0: 65 78 74 20 64 65 76 69 63 65 2C 20 69 2E 65 2E ext device, i.e.
0000C0: 2C 20 64 61 74 61 20 69 73 0D 0A 20 20 20 20 20 , data is..
0000D0: 20 61 6C 77 61 79 73 20 63 6F 6E 76 65 72 74 65 always converte
0000E0: 64 20 74 6F 20 72 65 61 64 61 62 6C 65 20 74 65 d to readable te
0000F0: 78 74 20 20 66 6F 72 6D 61 74 20 20 62 65 66 6F xt format befo
000100: 72 65 20 20 6F 75 74 70 75 74 2E 20 20 20 53 74 re output. St
000110: 61 6E 64 61 72 64 0D 0A 20 20 20 20 20 20 41 53 andard.. AS
000120: 43 49 49 20 63 6F 6E 74 72 6F 6C 20 63 68 61 72 CII control char
000130: 61 63 74 65 72 73 20 61 72 65 20 73 75 70 70 6F acters are suppo
000140: 72 74 65 64 3A 0D 0A 0D 0A 20 20 20 20 20 20 20 rted:....
000150: 20 20 20 20 20 20 20 20 64 65 63 69 6D 61 6C 20 decimal
000160: 20 68 65 78 20 20 20 70 75 72 70 6F 73 65 0D 0A hex purpose..
000170: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2D -
000180: 2D 2D 2D 2D 2D 2D 20 20 2D 2D 2D 20 20 20 2D 2D ------ --- --
000190: 2D 2D 2D 2D 2D 2D 0D 0A 20 20 20 20 20 20 20 20 ------..
0001A0: 20 20 20 20 20 20 20 20 20 20 39 20 20 20 20 20 9
0001B0: 30 39 68 20 20 20 68 6F 72 69 7A 6F 6E 74 61 6C 09h horizontal
0001C0: 20 74 61 62 0D 0A 20 20 20 20 20 20 20 20 20 20 tab..
0001D0: 20 20 20 20 20 20 20 20 31 30 20 20 20 20 30 61 10 0a
0001E0: 68 20 20 20 6C 69 6E 65 20 66 65 65 64 0D 0A 20 h line feed..
0001F0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
Size : 512 (Real : 512)
000000: 74 20 31 0D 0A 20 20 20 20 20 20 52 45 57 52 49 t 1.. REWRI
000010: 54 45 28 20 66 69 6C 65 5F 76 61 72 69 61 62 6C TE( file_variabl
000020: 65 2C 20 66 69 6C 65 6E 61 6D 65 2C 20 42 49 4E e, filename, BIN
000030: 41 52 59 2C 20 62 75 66 72 5F 73 69 7A 65 20 29 ARY, bufr_size )
000040: 3B 0D 0A 0D 0A 20 20 20 20 20 20 46 6F 72 6D 61 ;.... Forma
000050: 74 20 32 0D 0A 20 20 20 20 20 20 52 45 57 52 49 t 2.. REWRI
000060: 54 45 28 20 66 69 6C 65 5F 76 61 72 69 61 62 6C TE( file_variabl
000070: 65 2C 20 66 69 6C 65 6E 61 6D 65 2C 20 54 45 58 e, filename, TEX
000080: 54 2C 20 62 75 66 72 5F 73 69 7A 65 20 29 3B 0D T, bufr_size );.
000090: 0A 0D 0A 20 20 20 20 20 20 20 20 20 20 20 54 68 ... Th
0000A0: 65 20 20 52 45 57 52 49 54 45 20 20 73 74 61 6E e REWRITE stan
0000B0: 64 61 72 64 20 20 70 72 6F 63 65 64 75 72 65 20 dard procedure
0000C0: 20 69 73 20 75 73 65 64 20 74 6F 20 6F 70 65 6E is used to open
0000D0: 20 61 6C 6C 20 66 69 6C 65 73 20 66 6F 72 0D 0A all files for..
0000E0: 20 20 20 20 20 20 73 65 71 75 65 6E 74 69 61 6C sequential
0000F0: 20 64 69 73 6B 20 6F 75 74 70 75 74 2E 20 20 41 disk output. A
000100: 20 20 6E 65 77 20 20 66 69 6C 65 20 20 77 69 74 new file wit
000110: 68 20 20 74 68 65 20 20 67 69 76 65 6E 20 20 66 h the given f
000120: 69 6C 65 6E 61 6D 65 20 20 69 73 0D 0A 20 20 20 ilename is..
000130: 20 20 20 61 6C 6C 6F 63 61 74 65 64 2E 20 20 49 allocated. I
000140: 66 20 61 20 66 69 6C 65 20 77 69 74 68 20 74 68 f a file with th
000150: 61 74 20 6E 61 6D 65 20 61 6C 72 65 61 64 79 20 at name already
000160: 65 78 69 73 74 73 2C 20 69 74 20 69 73 20 64 65 exists, it is de
000170: 6C 65 74 65 64 20 74 6F 0D 0A 20 20 20 20 20 20 leted to..
000180: 66 72 65 65 20 74 68 65 20 73 70 61 63 65 20 61 free the space a
000190: 6C 6C 6F 63 61 74 65 64 20 74 6F 20 69 74 2E 0D llocated to it..
0001A0: 0A 0D 0A 20 20 20 20 20 20 20 20 20 20 20 46 6F ... Fo
0001B0: 72 6D 61 74 20 20 31 20 20 69 73 20 75 73 65 64 rmat 1 is used
0001C0: 20 74 6F 20 6F 70 65 6E 20 66 69 6C 65 73 20 69 to open files i
0001D0: 6E 20 62 69 6E 61 72 79 20 6D 6F 64 65 2E 20 20 n binary mode.
0001E0: 46 6F 72 6D 61 74 20 32 20 6F 70 65 6E 73 0D 0A Format 2 opens..
0001F0: 20 20 20 20 20 20 66 69 6C 65 73 20 69 6E 20 74 files in t
Size : 512 (Real : 512)
000000: 20 31 32 20 20 20 20 30 63 68 20 20 20 66 6F 72 12 0ch for
000010: 6D 20 66 65 65 64 2C 20 63 6C 65 61 72 20 73 63 m feed, clear sc
000020: 72 65 65 6E 0D 0A 20 20 20 20 20 20 20 20 20 20 reen..
000030: 20 20 20 20 20 20 20 20 31 33 20 20 20 20 30 64 13 0d
000040: 68 20 20 20 63 61 72 72 69 61 67 65 20 72 65 74 h carriage ret
000050: 75 72 6E 2C 20 65 6E 64 20 6C 69 6E 65 0D 0A 0D urn, end line...
000060: 0A 20 20 20 20 20 20 20 20 20 20 20 46 6F 72 20 . For
000070: 20 65 78 61 6D 70 6C 65 2C 20 20 65 78 65 63 75 example, execu
000080: 74 69 6E 67 20 20 74 68 65 20 50 61 73 63 61 6C ting the Pascal
000090: 20 73 74 61 74 65 6D 65 6E 74 20 57 52 49 54 45 statement WRITE
0000A0: 28 20 43 48 52 28 31 32 29 20 29 3B 0D 0A 20 20 ( CHR(12) );..
0000B0: 20 20 20 20 77 69 6C 6C 20 63 6C 65 61 72 20 74 will clear t
0000C0: 68 65 20 73 63 72 65 65 6E 20 6F 66 20 6D 6F 73 he screen of mos
0000D0: 74 20 74 79 70 65 73 20 6F 66 20 43 52 54 20 74 t types of CRT t
0000E0: 65 72 6D 69 6E 61 6C 73 2E 0D 0A 0D 0A 20 20 20 erminals.....
0000F0: 20 20 20 20 20 20 20 20 54 68 65 20 57 52 49 54 The WRIT
000100: 45 4C 4E 20 73 74 61 74 65 6D 65 6E 74 20 69 73 ELN statement is
000110: 20 69 64 65 6E 74 69 63 61 6C 20 74 6F 20 74 68 identical to th
000120: 65 20 57 52 49 54 45 20 65 78 63 65 70 74 20 20 e WRITE except
000130: 74 68 61 74 20 20 69 74 0D 0A 20 20 20 20 20 20 that it..
000140: 61 6C 73 6F 20 77 72 69 74 65 73 20 61 20 63 61 also writes a ca
000150: 72 72 69 61 67 65 20 72 65 74 75 72 6E 20 63 68 rriage return ch
000160: 61 72 61 63 74 65 72 20 61 66 74 65 72 20 74 68 aracter after th
000170: 65 20 64 61 74 61 2C 20 69 2E 65 2E 2C 20 69 74 e data, i.e., it
000180: 20 65 6E 64 73 0D 0A 20 20 20 20 20 20 74 68 65 ends.. the
000190: 20 20 63 75 72 72 65 6E 74 20 20 6F 75 74 70 75 current outpu
0001A0: 74 20 20 6C 69 6E 65 2E 20 20 41 20 57 52 49 54 t line. A WRIT
0001B0: 45 4C 4E 20 6D 61 79 20 62 65 20 75 73 65 64 20 ELN may be used
0001C0: 62 79 20 69 74 73 65 6C 66 2C 20 77 69 74 68 6F by itself, witho
0001D0: 75 74 0D 0A 20 20 20 20 20 20 61 6E 79 20 76 61 ut.. any va
0001E0: 72 69 61 62 6C 65 73 2C 20 74 6F 20 77 72 69 74 riables, to writ
0001F0: 65 20 61 20 62 6C 61 6E 6B 20 6C 69 6E 65 20 74 e a blank line t
Size : 512 (Real : 512)
000000: 65 78 74 20 6D 6F 64 65 2E 0D 0A 0D 0A 20 20 20 ext mode.....
000010: 20 20 20 20 20 20 20 20 54 68 65 20 66 69 6C 65 The file
000020: 5F 76 61 72 69 61 62 6C 65 20 72 65 66 65 72 73 _variable refers
000030: 20 74 6F 20 61 20 66 69 6C 65 20 76 61 72 69 61 to a file varia
000040: 62 6C 65 20 64 65 63 6C 61 72 65 64 20 69 6E 20 ble declared in
000050: 74 68 65 20 20 56 41 52 0D 0A 20 20 20 20 20 20 the VAR..
000060: 64 65 63 6C 61 72 61 74 69 6F 6E 20 20 20 73 65 declaration se
000070: 63 74 69 6F 6E 2E 20 20 20 54 68 65 20 20 66 69 ction. The fi
000080: 6C 65 6E 61 6D 65 20 20 69 73 20 20 61 20 20 73 lename is a s
000090: 74 72 69 6E 67 20 20 6F 72 20 20 73 74 72 75 63 tring or struc
0000A0: 74 75 72 65 64 0D 0A 20 20 20 20 20 20 65 78 70 tured.. exp
0000B0: 72 65 73 73 69 6F 6E 20 77 68 69 63 68 20 6D 61 ression which ma
0000C0: 79 20 69 6E 63 6C 75 64 65 20 64 69 73 6B 20 69 y include disk i
0000D0: 64 65 6E 74 69 66 69 65 72 20 6C 65 74 74 65 72 dentifier letter
0000E0: 2E 0D 0A 0D 0A 20 20 20 20 20 20 20 20 20 20 20 .....
0000F0: 54 68 65 20 62 75 66 72 5F 73 69 7A 65 20 69 73 The bufr_size is
000100: 20 61 6E 20 69 6E 74 65 67 65 72 20 65 78 70 72 an integer expr
000110: 65 73 73 69 6F 6E 20 77 68 69 63 68 20 69 6E 64 ession which ind
000120: 69 63 61 74 65 73 20 74 68 65 20 20 73 69 7A 65 icates the size
000130: 0D 0A 20 20 20 20 20 20 6F 66 20 74 68 65 20 69 .. of the i
000140: 6E 70 75 74 20 62 75 66 66 65 72 20 74 6F 20 62 nput buffer to b
000150: 65 20 61 6C 6C 6F 63 61 74 65 64 20 69 6E 20 64 e allocated in d
000160: 79 6E 61 6D 69 63 20 73 74 6F 72 61 67 65 2E 20 ynamic storage.
000170: 20 57 68 65 6E 20 73 74 6F 72 61 67 65 0D 0A 20 When storage..
000180: 20 20 20 20 20 69 73 20 20 61 76 61 69 6C 61 62 is availab
000190: 6C 65 2C 20 20 6C 61 72 67 65 72 20 20 62 75 66 le, larger buf
0001A0: 66 65 72 73 20 20 61 72 65 20 70 72 65 66 65 72 fers are prefer
0001B0: 72 65 64 20 62 65 63 61 75 73 65 20 74 68 65 79 red because they
0001C0: 20 72 65 73 75 6C 74 20 69 6E 0D 0A 20 20 20 20 result in..
0001D0: 20 20 66 65 77 65 72 20 64 69 73 6B 20 61 63 63 fewer disk acc
0001E0: 65 73 73 65 73 20 61 6E 64 20 74 68 75 73 20 66 esses and thus f
0001F0: 61 73 74 65 72 20 70 72 6F 63 65 73 73 69 6E 67 aster processing
Size : 512 (Real : 512)
000000: 6F 20 74 68 65 20 6F 75 74 70 75 74 20 64 65 76 o the output dev
000010: 69 63 65 2E 0D 0A 0D 0A 20 20 20 20 20 20 20 20 ice.....
000020: 20 20 20 46 6F 72 6D 61 74 20 32 20 69 73 20 75 Format 2 is u
000030: 73 65 64 20 74 6F 20 77 72 69 74 65 20 64 61 74 sed to write dat
000040: 61 20 74 6F 20 20 73 71 75 65 6E 74 69 61 6C 20 a to squential
000050: 20 64 69 73 6B 20 20 66 69 6C 65 73 2E 20 20 20 disk files.
000060: 54 68 65 0D 0A 20 20 20 20 20 20 66 69 6C 65 20 The.. file
000070: 20 6D 75 73 74 20 20 68 61 76 65 20 20 62 65 65 must have bee
000080: 6E 20 20 73 75 63 63 65 73 73 66 75 6C 6C 79 20 n successfully
000090: 6F 70 65 6E 65 64 20 77 69 74 68 20 61 20 52 45 opened with a RE
0000A0: 57 52 49 54 45 20 70 72 6F 63 65 64 75 72 65 2E WRITE procedure.
0000B0: 0D 0A 20 20 20 20 20 20 54 68 69 73 20 66 6F 72 .. This for
0000C0: 6D 61 74 20 6D 61 79 20 62 65 20 75 73 65 64 20 mat may be used
0000D0: 69 6E 20 65 69 74 68 65 72 20 62 69 6E 61 72 79 in either binary
0000E0: 20 6F 72 20 74 65 78 74 20 6D 6F 64 65 20 70 72 or text mode pr
0000F0: 6F 63 65 73 73 69 6E 67 2E 0D 0A 0D 0A 20 20 20 ocessing.....
000100: 20 20 20 20 20 20 20 20 4E 6F 74 65 20 74 68 61 Note tha
000110: 74 20 4A 52 54 20 50 61 73 63 61 6C 20 75 73 65 t JRT Pascal use
000120: 73 20 61 20 73 65 6D 69 63 6F 6C 6F 6E 20 20 61 s a semicolon a
000130: 66 74 65 72 20 20 74 68 65 20 20 66 69 6C 65 5F fter the file_
000140: 76 61 72 69 61 62 6C 65 0D 0A 20 20 20 20 20 20 variable..
000150: 72 61 74 68 65 72 20 74 68 61 6E 20 61 20 63 6F rather than a co
000160: 6D 6D 61 2E 0D 0A 0D 0A 20 20 20 20 20 20 20 20 mma.....
000170: 20 20 20 46 6F 72 6D 61 74 20 20 33 20 20 69 73 Format 3 is
000180: 20 20 75 73 65 64 20 74 6F 20 77 72 69 74 65 20 used to write
000190: 64 61 74 61 20 74 6F 20 61 20 72 61 6E 64 6F 6D data to a random
0001A0: 20 66 69 6C 65 20 62 79 20 67 69 76 69 6E 67 20 file by giving
0001B0: 74 68 65 0D 0A 20 20 20 20 20 20 72 65 6C 61 74 the.. relat
0001C0: 69 76 65 20 72 65 63 6F 72 64 20 6E 75 6D 62 65 ive record numbe
0001D0: 72 20 28 52 52 4E 29 20 6F 66 20 74 68 65 20 72 r (RRN) of the r
0001E0: 65 63 6F 72 64 20 62 65 69 6E 67 20 75 70 64 61 ecord being upda
0001F0: 74 65 64 20 6F 72 20 20 63 72 65 61 74 65 64 2E ted or created.
Size : 512 (Real : 512)
000000: 20 57 52 49 54 45 28 20 4E 45 47 41 54 49 56 45 WRITE( NEGATIVE
000010: 5F 44 41 54 41 3B 20 44 41 54 41 20 29 0D 0A 20 _DATA; DATA )..
000020: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
000030: 20 45 4C 53 45 0D 0A 20 20 20 20 20 20 20 20 20 ELSE..
000040: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 57 W
000050: 52 49 54 45 28 20 50 4F 53 49 54 49 56 45 5F 44 RITE( POSITIVE_D
000060: 41 54 41 3B 20 44 41 54 41 20 29 3B 0D 0A 0D 0A ATA; DATA );....
000070: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
000080: 20 20 57 52 49 54 45 4C 4E 28 20 52 45 50 4F 52 WRITELN( REPOR
000090: 54 3B 20 54 4F 54 41 4C 5F 53 41 4C 45 53 3A 31 T; TOTAL_SALES:1
0000A0: 32 3A 32 20 29 3B 0D 0A 0D 0A 20 20 20 20 20 20 2:2 );....
0000B0: 20 20 20 20 20 20 20 20 20 20 20 20 57 52 49 54 WRIT
0000C0: 45 28 20 43 55 53 54 4F 4D 45 52 5F 46 49 4C 45 E( CUSTOMER_FILE
0000D0: 2C 20 52 52 4E 2C 20 43 55 53 54 5F 4E 55 4D 3B , RRN, CUST_NUM;
0000E0: 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ..
0000F0: 20 20 20 20 20 20 20 20 20 20 4E 45 57 5F 43 55 NEW_CU
000100: 53 54 4F 4D 45 52 5F 52 45 43 4F 52 44 20 29 3B STOMER_RECORD );
000110: 0D 0A 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 ....
000120: 20 20 20 20 20 20 57 52 49 54 45 28 20 49 4E 51 WRITE( INQ
000130: 55 49 52 59 2C 20 52 42 41 2C 20 30 3B 20 49 4E UIRY, RBA, 0; IN
000140: 44 45 58 20 29 3B 0D 0A 0D 0A 20 20 20 20 20 20 DEX );....
000150: 20 20 20 20 20 20 20 20 20 20 20 20 57 52 49 54 WRIT
000160: 45 4C 4E 3B 20 20 20 20 28 2A 20 57 52 49 54 45 ELN; (* WRITE
000170: 20 42 4C 41 4E 4B 20 4C 49 4E 45 20 2A 29 0D 0A BLANK LINE *)..
000180: 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ..
000190: 20 20 20 20 57 52 49 54 45 28 20 43 48 52 28 30 WRITE( CHR(0
0001A0: 43 48 29 20 29 3B 20 20 20 20 20 20 28 2A 20 43 CH) ); (* C
0001B0: 4C 45 41 52 20 53 43 52 45 45 4E 20 2A 29 0D 0A LEAR SCREEN *)..
0001C0: 0D 0A 0D 0A 20 20 20 20 20 20 38 2E 20 20 20 4C .... 8. L
0001D0: 69 6E 6B 65 72 0D 0A 0D 0A 20 20 20 20 20 20 20 inker....
0001E0: 20 20 20 20 54 68 65 20 75 73 65 20 6F 66 20 74 The use of t
0001F0: 68 65 20 6C 69 6E 6B 65 72 20 69 73 20 65 6E 74 he linker is ent
Size : 512 (Real : 512)
000000: 0D 0A 20 20 20 20 20 20 54 68 65 20 20 66 69 72 .. The fir
000010: 73 74 20 20 72 65 63 6F 72 64 20 69 73 20 61 74 st record is at
000020: 20 52 52 4E 3D 30 2E 20 20 54 68 65 20 66 69 6C RRN=0. The fil
000030: 65 20 6D 75 73 74 20 68 61 76 65 20 62 65 65 6E e must have been
000040: 20 73 75 63 63 65 73 73 66 75 6C 6C 79 0D 0A 20 successfully..
000050: 20 20 20 20 20 6F 70 65 6E 65 64 20 20 77 69 74 opened wit
000060: 68 20 20 74 68 65 20 20 4F 50 45 4E 20 20 70 72 h the OPEN pr
000070: 6F 63 65 64 75 72 65 2E 20 20 20 53 65 71 75 65 ocedure. Seque
000080: 6E 74 69 61 6C 20 20 61 6E 64 20 20 20 72 61 6E ntial and ran
000090: 64 6F 6D 20 20 20 66 69 6C 65 0D 0A 20 20 20 20 dom file..
0000A0: 20 20 70 72 6F 63 65 73 73 69 6E 67 20 20 63 61 processing ca
0000B0: 6E 6E 6F 74 20 20 62 65 20 20 6D 69 78 65 64 20 nnot be mixed
0000C0: 20 75 6E 6C 65 73 73 20 20 74 68 65 20 20 66 69 unless the fi
0000D0: 6C 65 20 69 73 20 66 69 72 73 74 20 63 6C 6F 73 le is first clos
0000E0: 65 64 20 74 68 65 6E 0D 0A 20 20 20 20 20 20 72 ed then.. r
0000F0: 65 2D 6F 70 65 6E 65 64 20 69 6E 20 74 68 65 20 e-opened in the
000100: 6F 74 68 65 72 20 6D 6F 64 65 2E 20 20 54 68 65 other mode. The
000110: 20 73 69 7A 65 20 6F 66 20 72 65 63 6F 72 64 73 size of records
000120: 20 6F 6E 20 74 68 65 20 66 69 6C 65 20 66 6F 72 on the file for
000130: 20 52 52 4E 0D 0A 20 20 20 20 20 20 70 72 6F 63 RRN.. proc
000140: 65 73 73 69 6E 67 20 69 73 20 64 65 74 65 72 6D essing is determ
000150: 69 6E 65 64 20 77 68 65 6E 20 74 68 65 20 66 69 ined when the fi
000160: 6C 65 20 69 73 20 64 65 63 6C 61 72 65 64 2E 20 le is declared.
000170: 20 46 6F 72 20 20 65 78 61 6D 70 6C 65 2C 20 20 For example,
000180: 61 0D 0A 20 20 20 20 20 20 46 49 4C 45 20 20 4F a.. FILE O
000190: 46 20 20 52 45 41 4C 20 20 68 61 73 20 20 61 20 F REAL has a
0001A0: 20 72 65 63 6F 72 64 20 20 73 69 7A 65 20 20 6F record size o
0001B0: 66 20 20 38 20 20 62 79 74 65 73 2C 20 20 74 68 f 8 bytes, th
0001C0: 65 20 73 69 7A 65 20 6F 66 20 72 65 61 6C 0D 0A e size of real..
0001D0: 20 20 20 20 20 20 76 61 72 69 61 62 6C 65 73 2E variables.
0001E0: 0D 0A 0D 0A 20 20 20 20 20 20 20 20 20 20 20 46 .... F
0001F0: 6F 72 6D 61 74 20 34 20 69 73 20 75 73 65 64 20 ormat 4 is used
Size : 512 (Real : 512)
000000: 69 72 65 6C 79 20 6F 70 74 69 6F 6E 61 6C 2E 20 irely optional.
000010: 20 49 74 20 69 73 20 75 73 65 64 20 74 6F 20 6D It is used to m
000020: 65 72 67 65 0D 0A 20 20 20 20 20 20 61 20 20 50 erge.. a P
000030: 61 73 63 61 6C 20 20 70 72 6F 67 72 61 6D 20 20 ascal program
000040: 27 2E 49 4E 54 27 20 20 66 69 6C 65 20 20 77 69 '.INT' file wi
000050: 74 68 20 20 73 6F 6D 65 20 20 6F 72 20 20 61 6C th some or al
000060: 6C 20 6F 66 20 69 74 73 20 65 78 74 65 72 6E 61 l of its externa
000070: 6C 0D 0A 20 20 20 20 20 20 70 72 6F 63 65 64 75 l.. procedu
000080: 72 65 2F 66 75 6E 63 74 69 6F 6E 20 27 2E 49 4E re/function '.IN
000090: 54 27 20 66 69 6C 65 73 2E 20 20 49 74 20 63 61 T' files. It ca
0000A0: 6E 20 70 72 6F 63 65 73 73 20 20 70 72 6F 63 65 n process proce
0000B0: 64 75 72 65 73 20 20 77 72 69 74 74 65 6E 0D 0A dures written..
0000C0: 20 20 20 20 20 20 69 6E 20 61 73 73 65 6D 62 6C in assembl
0000D0: 65 72 20 61 73 20 77 65 6C 6C 20 61 73 20 50 61 er as well as Pa
0000E0: 73 63 61 6C 2E 20 20 54 6F 20 72 75 6E 20 74 68 scal. To run th
0000F0: 65 20 6C 69 6E 6B 65 72 2C 20 65 6E 74 65 72 3A e linker, enter:
000100: 0D 0A 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 ....
000110: 20 20 20 20 20 20 45 58 45 43 20 4C 49 4E 4B 45 EXEC LINKE
000120: 52 0D 0A 0D 0A 20 20 20 20 20 20 20 20 20 20 20 R....
000130: 54 68 65 20 20 6C 69 6E 6B 65 72 20 20 77 69 6C The linker wil
000140: 6C 20 20 69 73 73 75 65 20 61 20 70 72 6F 6D 70 l issue a promp
000150: 74 20 74 6F 20 74 68 65 20 63 6F 6E 73 6F 6C 65 t to the console
000160: 20 66 6F 72 20 74 68 65 20 70 72 6F 67 72 61 6D for the program
000170: 0D 0A 20 20 20 20 20 20 6E 61 6D 65 2E 20 20 41 .. name. A
000180: 66 74 65 72 20 74 68 65 20 6D 61 69 6E 20 70 72 fter the main pr
000190: 6F 67 72 61 6D 20 68 61 73 20 62 65 65 6E 20 70 ogram has been p
0001A0: 72 6F 63 65 73 73 65 64 2C 20 74 68 65 20 20 75 rocessed, the u
0001B0: 73 65 72 20 20 77 69 6C 6C 20 20 62 65 0D 0A 20 ser will be..
0001C0: 20 20 20 20 20 70 72 6F 6D 70 74 65 64 20 20 74 prompted t
0001D0: 6F 20 20 73 65 6C 65 63 74 20 20 77 68 69 63 68 o select which
0001E0: 20 6F 66 20 74 68 65 20 65 78 74 65 72 6E 61 6C of the external
0001F0: 20 70 72 6F 63 65 64 75 72 65 73 20 74 6F 20 6D procedures to m
Size : 512 (Real : 512)
000000: 74 6F 20 77 72 69 74 65 20 64 61 74 61 20 74 6F to write data to
000010: 20 61 20 72 61 6E 64 6F 6D 20 66 69 6C 65 20 20 a random file
000020: 62 79 20 20 67 69 76 69 6E 67 20 20 74 68 65 0D by giving the.
000030: 0A 20 20 20 20 20 20 72 65 6C 61 74 69 76 65 20 . relative
000040: 20 62 79 74 65 20 20 61 64 64 72 65 73 73 20 28 byte address (
000050: 52 42 41 29 20 61 74 20 77 68 69 63 68 20 74 68 RBA) at which th
000060: 65 20 64 61 74 61 20 69 73 20 74 6F 20 62 65 20 e data is to be
000070: 73 74 6F 72 65 64 2E 20 20 54 68 65 0D 0A 20 20 stored. The..
000080: 20 20 20 20 66 69 72 73 74 20 62 79 74 65 20 6F first byte o
000090: 66 20 74 68 65 20 20 66 69 6C 65 20 20 69 73 20 f the file is
0000A0: 20 61 74 20 20 52 42 41 3D 30 2E 20 20 20 54 68 at RBA=0. Th
0000B0: 65 20 20 64 61 74 61 20 20 77 69 6C 6C 20 20 62 e data will b
0000C0: 65 20 20 73 74 6F 72 65 64 0D 0A 20 20 20 20 20 e stored..
0000D0: 20 62 65 67 69 6E 6E 69 6E 67 20 61 74 20 74 68 beginning at th
0000E0: 65 20 73 70 65 63 69 66 69 65 64 20 52 42 41 20 e specified RBA
0000F0: 61 6E 64 20 63 6F 6E 74 69 6E 75 69 6E 67 20 75 and continuing u
000100: 6E 74 69 6C 20 69 74 20 69 73 20 61 6C 6C 20 77 ntil it is all w
000110: 72 69 74 74 65 6E 0D 0A 20 20 20 20 20 20 6F 75 ritten.. ou
000120: 74 2E 20 20 20 54 68 65 20 20 66 69 6C 65 20 20 t. The file
000130: 6D 75 73 74 20 20 68 61 76 65 20 20 62 65 65 6E must have been
000140: 20 20 73 75 63 63 65 73 73 66 75 6C 6C 79 20 6F successfully o
000150: 70 65 6E 65 64 20 77 69 74 68 20 74 68 65 20 4F pened with the O
000160: 50 45 4E 0D 0A 20 20 20 20 20 20 70 72 6F 63 65 PEN.. proce
000170: 64 75 72 65 2E 20 20 20 52 61 6E 64 6F 6D 20 20 dure. Random
000180: 70 72 6F 63 65 73 73 69 6E 67 20 20 63 61 6E 6E processing cann
000190: 6F 74 20 20 62 65 20 20 6D 69 78 65 64 20 20 77 ot be mixed w
0001A0: 69 74 68 20 20 20 73 65 71 75 65 6E 74 69 61 6C ith sequential
0001B0: 0D 0A 20 20 20 20 20 20 70 72 6F 63 65 73 73 69 .. processi
0001C0: 6E 67 20 62 75 74 20 52 52 4E 20 61 6E 64 20 52 ng but RRN and R
0001D0: 42 41 20 70 72 6F 63 65 73 73 69 6E 67 20 63 61 BA processing ca
0001E0: 6E 20 62 65 20 6D 69 78 65 64 20 77 69 74 68 6F n be mixed witho
0001F0: 75 74 20 72 65 2D 6F 70 65 6E 69 6E 67 0D 0A 20 ut re-opening..
Size : 512 (Real : 512)
000000: 65 72 67 65 2E 20 20 54 68 65 0D 0A 20 20 20 20 erge. The..
000010: 20 20 70 72 6F 63 65 64 75 72 65 73 20 72 65 66 procedures ref
000020: 65 72 65 6E 63 65 64 20 62 79 20 74 68 69 73 20 erenced by this
000030: 20 70 72 6F 67 72 61 6D 20 20 77 69 6C 6C 20 20 program will
000040: 62 65 20 20 6C 69 73 74 65 64 20 20 77 69 74 68 be listed with
000050: 20 20 74 68 65 69 72 0D 0A 20 20 20 20 20 20 69 their.. i
000060: 64 65 6E 74 69 66 69 63 61 74 69 6F 6E 20 20 6E dentification n
000070: 75 6D 62 65 72 73 20 20 28 31 20 74 6F 20 36 33 umbers (1 to 63
000080: 29 2E 20 20 41 6E 20 61 73 74 65 72 69 73 6B 20 ). An asterisk
000090: 69 6E 64 69 63 61 74 65 73 20 70 72 6F 63 65 64 indicates proced
0000A0: 75 72 65 73 0D 0A 20 20 20 20 20 20 73 65 6C 65 ures.. sele
0000B0: 63 74 65 64 2E 20 20 50 6F 73 73 69 62 6C 65 20 cted. Possible
0000C0: 72 65 70 6C 69 65 73 20 74 6F 20 74 68 65 20 27 replies to the '
0000D0: 50 72 6F 63 65 64 75 72 65 20 73 65 6C 65 63 74 Procedure select
0000E0: 69 6F 6E 27 20 6D 65 73 73 61 67 65 20 20 61 72 ion' message ar
0000F0: 65 0D 0A 20 20 20 20 20 20 6C 69 73 74 65 64 20 e.. listed
000100: 20 62 65 6C 6F 77 2E 20 20 20 4D 6F 72 65 20 20 below. More
000110: 74 68 61 6E 20 20 6F 6E 65 20 20 6E 75 6D 62 65 than one numbe
000120: 72 20 20 6D 61 79 20 20 62 65 20 20 65 6E 74 65 r may be ente
000130: 72 65 64 20 65 61 63 68 20 74 69 6D 65 2C 0D 0A red each time,..
000140: 20 20 20 20 20 20 73 65 70 61 72 61 74 65 64 20 separated
000150: 62 79 20 73 70 61 63 65 73 2E 20 20 45 6E 74 65 by spaces. Ente
000160: 72 69 6E 67 20 7A 65 72 6F 20 65 6E 64 73 20 74 ring zero ends t
000170: 68 65 20 69 6E 74 65 72 61 63 74 69 76 65 20 70 he interactive p
000180: 6F 72 74 69 6F 6E 20 20 61 6E 64 0D 0A 20 20 20 ortion and..
000190: 20 20 20 63 61 75 73 65 73 20 6D 65 72 67 65 20 causes merge
0001A0: 70 72 6F 63 65 73 73 69 6E 67 20 74 6F 20 62 65 processing to be
0001B0: 67 69 6E 2E 0D 0A 0D 0A 20 20 20 20 20 20 20 20 gin.....
0001C0: 20 20 20 20 20 20 20 20 20 20 72 65 70 6C 79 20 reply
0001D0: 20 20 20 20 20 20 70 75 72 70 6F 73 65 0D 0A 20 purpose..
0001E0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
0001F0: 20 2D 2D 2D 2D 2D 20 20 20 20 20 20 20 2D 2D 2D ----- ---
Size : 512 (Real : 512)
000000: 20 20 20 20 20 74 68 65 20 66 69 6C 65 2E 0D 0A the file...
000010: 0D 0A 20 20 20 20 20 20 20 20 20 20 20 57 68 65 .. Whe
000020: 6E 20 20 70 72 6F 63 65 73 73 69 6E 67 20 69 6E n processing in
000030: 20 74 65 78 74 20 6D 6F 64 65 2C 20 61 20 63 6F text mode, a co
000040: 6E 76 65 6E 69 65 6E 74 20 66 6F 72 6D 61 74 74 nvenient formatt
000050: 69 6E 67 20 6F 70 74 69 6F 6E 20 69 73 0D 0A 20 ing option is..
000060: 20 20 20 20 20 61 76 61 69 6C 61 62 6C 65 2E 20 available.
000070: 20 41 6E 79 20 6F 66 20 74 68 65 20 76 61 72 69 Any of the vari
000080: 61 62 6C 65 73 20 69 6E 20 74 68 65 20 57 52 49 ables in the WRI
000090: 54 45 20 70 61 72 61 6D 65 74 65 72 20 6C 69 73 TE parameter lis
0000A0: 74 20 20 6D 61 79 20 20 62 65 0D 0A 20 20 20 20 t may be..
0000B0: 20 20 73 75 66 66 69 78 65 64 20 20 77 69 74 68 suffixed with
0000C0: 20 61 20 63 6F 6C 6F 6E 20 61 6E 64 20 61 6E 20 a colon and an
0000D0: 69 6E 74 65 67 65 72 20 65 78 70 72 65 73 73 69 integer expressi
0000E0: 6F 6E 2E 20 20 54 68 69 73 20 73 70 65 63 69 66 on. This specif
0000F0: 69 65 73 20 74 68 65 0D 0A 20 20 20 20 20 20 66 ies the.. f
000100: 69 65 6C 64 20 77 69 64 74 68 20 6F 66 20 74 68 ield width of th
000110: 65 20 64 61 74 61 20 76 61 6C 75 65 20 62 65 69 e data value bei
000120: 6E 67 20 77 72 69 74 74 65 6E 2E 20 20 49 46 20 ng written. IF
000130: 20 74 68 65 20 20 64 61 74 61 20 20 69 74 65 6D the data item
000140: 20 20 69 73 0D 0A 20 20 20 20 20 20 73 68 6F 72 is.. shor
000150: 74 65 72 20 20 74 68 61 6E 20 20 74 68 69 73 20 ter than this
000160: 20 74 68 65 6E 20 20 73 70 61 63 65 73 20 77 69 then spaces wi
000170: 6C 6C 20 62 65 20 69 6E 73 65 72 74 65 64 20 6F ll be inserted o
000180: 6E 20 74 68 65 20 6C 65 66 74 20 6F 66 20 74 68 n the left of th
000190: 65 0D 0A 20 20 20 20 20 20 69 74 65 6D 2E 20 20 e.. item.
0001A0: 54 68 69 73 20 6F 70 74 69 6F 6E 20 69 73 20 75 This option is u
0001B0: 73 65 64 20 77 68 65 6E 20 63 6F 6C 75 6D 6E 73 sed when columns
0001C0: 20 6F 66 20 66 69 67 75 72 65 73 20 6D 75 73 74 of figures must
0001D0: 20 62 65 20 61 6C 69 67 6E 65 64 2E 0D 0A 0D 0A be aligned.....
0001E0: 20 20 20 20 20 20 20 20 20 20 20 41 20 73 65 63 A sec
0001F0: 6F 6E 64 20 6F 70 74 69 6F 6E 20 69 73 20 61 76 ond option is av
Size : 512 (Real : 512)
000000: 2D 2D 2D 2D 2D 0D 0A 20 20 20 20 20 20 20 20 20 -----..
000010: 20 20 20 20 20 20 20 20 20 31 20 74 6F 20 36 33 1 to 63
000020: 20 20 20 20 20 73 65 6C 65 63 74 20 74 68 69 73 select this
000030: 20 70 72 6F 63 65 64 75 72 65 0D 0A 20 20 20 20 procedure..
000040: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2D 36 -6
000050: 33 20 74 6F 20 2D 31 20 20 20 64 65 2D 73 65 6C 3 to -1 de-sel
000060: 65 63 74 20 74 68 69 73 20 70 72 6F 63 65 64 75 ect this procedu
000070: 72 65 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 re..
000080: 20 20 20 20 20 20 31 30 30 20 20 20 20 20 20 20 100
000090: 20 20 73 65 6C 65 63 74 20 61 6C 6C 20 70 72 6F select all pro
0000A0: 63 65 64 75 72 65 73 0D 0A 20 20 20 20 20 20 20 cedures..
0000B0: 20 20 20 20 20 20 20 20 20 20 20 2D 31 30 30 20 -100
0000C0: 20 20 20 20 20 20 20 72 65 73 65 74 2C 20 73 65 reset, se
0000D0: 6C 65 63 74 20 6E 6F 6E 65 0D 0A 20 20 20 20 20 lect none..
0000E0: 20 20 20 20 20 20 20 20 20 20 20 20 20 30 20 20 0
0000F0: 20 20 20 20 20 20 20 20 20 65 6E 64 20 73 65 6C end sel
000100: 65 63 74 69 6F 6E 2C 20 62 65 67 69 6E 20 6D 65 ection, begin me
000110: 72 67 65 20 70 72 6F 63 65 73 73 69 6E 67 0D 0A rge processing..
000120: 0D 0A 20 20 20 20 20 20 20 20 20 20 20 54 68 65 .. The
000130: 20 20 6F 75 74 70 75 74 20 20 6D 6F 64 75 6C 65 output module
000140: 20 66 69 6C 65 20 77 69 6C 6C 20 68 61 76 65 20 file will have
000150: 74 68 65 20 73 61 6D 65 20 66 69 6C 65 6E 61 6D the same filenam
000160: 65 20 61 73 20 74 68 65 20 6D 61 69 6E 0D 0A 20 e as the main..
000170: 20 20 20 20 20 70 72 6F 67 72 61 6D 20 61 6E 64 program and
000180: 20 61 20 66 69 6C 65 74 79 70 65 20 6F 66 20 27 a filetype of '
000190: 2E 49 4E 54 27 2E 20 20 54 68 65 20 66 69 6C 65 .INT'. The file
0001A0: 74 79 70 65 20 6F 66 20 74 68 65 20 20 6D 61 69 type of the mai
0001B0: 6E 20 20 70 72 6F 67 72 61 6D 0D 0A 20 20 20 20 n program..
0001C0: 20 20 77 69 6C 6C 20 20 62 65 20 20 72 65 6E 61 will be rena
0001D0: 6D 65 64 20 20 74 6F 20 27 2E 49 4E 32 27 2E 20 med to '.IN2'.
0001E0: 20 49 66 20 61 6E 79 20 6F 66 20 74 68 65 20 73 If any of the s
0001F0: 65 6C 65 63 74 65 64 20 69 6E 70 75 74 20 70 72 elected input pr
Size : 512 (Real : 512)
000000: 61 69 6C 61 62 6C 65 20 66 6F 72 20 72 65 61 6C ailable for real
000010: 20 6E 75 6D 62 65 72 73 2E 20 20 41 66 74 65 72 numbers. After
000020: 20 74 68 65 20 20 66 69 65 6C 64 0D 0A 20 20 20 the field..
000030: 20 20 20 77 69 64 74 68 20 20 69 6E 74 65 67 65 width intege
000040: 72 20 20 65 78 70 72 65 73 73 69 6F 6E 2C 20 61 r expression, a
000050: 20 73 65 63 6F 6E 64 20 63 6F 6C 6F 6E 20 61 6E second colon an
000060: 64 20 69 6E 74 65 67 65 72 20 65 78 70 72 65 73 d integer expres
000070: 73 69 6F 6E 20 6D 61 79 0D 0A 20 20 20 20 20 20 sion may..
000080: 62 65 20 75 73 65 64 20 74 6F 20 69 6E 64 69 63 be used to indic
000090: 61 74 65 20 74 68 65 20 6E 75 6D 62 65 72 20 6F ate the number o
0000A0: 66 20 64 69 67 69 74 73 20 72 69 67 68 74 20 6F f digits right o
0000B0: 66 20 74 68 65 20 20 64 65 63 69 6D 61 6C 20 20 f the decimal
0000C0: 70 6C 61 63 65 0D 0A 20 20 20 20 20 20 74 6F 20 place.. to
0000D0: 62 65 20 64 69 73 70 6C 61 79 65 64 2E 0D 0A 0D be displayed....
0000E0: 0A 0D 0A 20 20 20 20 20 20 45 78 61 6D 70 6C 65 ... Example
0000F0: 73 3A 0D 0A 0D 0A 20 20 20 20 20 20 20 20 20 20 s:....
000100: 20 20 20 20 20 20 20 20 57 52 49 54 45 4C 4E 28 WRITELN(
000110: 20 27 54 48 45 20 54 49 4D 45 20 49 53 20 27 2C 'THE TIME IS ',
000120: 47 45 54 5F 54 49 4D 45 20 29 3B 0D 0A 0D 0A 20 GET_TIME );....
000130: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
000140: 20 57 52 49 54 45 28 20 44 41 54 41 5F 46 49 4C WRITE( DATA_FIL
000150: 45 3B 20 58 5B 31 5D 2C 20 58 5B 32 5D 2C 20 58 E; X[1], X[2], X
000160: 5B 33 5D 20 29 3B 0D 0A 0D 0A 20 20 20 20 20 20 [3] );....
000170: 20 20 20 20 20 20 20 20 20 20 20 20 46 4F 52 20 FOR
000180: 49 3A 3D 31 20 54 4F 20 31 30 30 20 44 4F 0D 0A I:=1 TO 100 DO..
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 57 52 49 54 45 28 20 44 WRITE( D
0001B0: 41 54 41 5F 46 49 4C 45 3B 20 58 5B 31 5D 20 29 ATA_FILE; X[1] )
0001C0: 3B 0D 0A 0D 0A 20 20 20 20 20 20 20 20 20 20 20 ;....
0001D0: 20 20 20 20 20 20 20 49 46 20 44 41 54 41 20 3C IF DATA <
0001E0: 20 30 20 54 48 45 4E 0D 0A 20 20 20 20 20 20 20 0 THEN..
0001F0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
Size : 512 (Real : 512)
000000: 6F 63 65 64 75 72 65 0D 0A 20 20 20 20 20 20 66 ocedure.. f
000010: 69 6C 65 73 20 61 72 65 20 6E 6F 74 20 70 72 65 iles are not pre
000020: 73 65 6E 74 2C 20 61 20 72 75 6E 2D 74 69 6D 65 sent, a run-time
000030: 20 65 72 72 6F 72 20 77 69 6C 6C 20 20 6F 63 63 error will occ
000040: 75 72 20 20 61 6E 64 20 20 74 68 65 20 20 6C 69 ur and the li
000050: 6E 6B 65 72 0D 0A 20 20 20 20 20 20 77 69 6C 6C nker.. will
000060: 20 74 65 72 6D 69 6E 61 74 65 2E 20 20 41 6C 6C terminate. All
000070: 20 66 69 6C 65 73 20 6D 75 73 74 20 62 65 20 70 files must be p
000080: 72 65 73 65 6E 74 20 6F 6E 20 74 68 65 20 41 3A resent on the A:
000090: 20 64 69 73 6B 2E 0D 0A 0D 0A 20 20 20 20 20 20 disk.....
0000A0: 39 2E 20 20 43 75 73 74 6F 6D 69 7A 0D 0A 0D 0A 9. Customiz....
0000B0: 20 20 20 20 20 20 20 20 20 20 20 45 78 74 65 72 Exter
0000C0: 6E 61 6C 20 20 70 72 6F 63 65 64 75 72 65 73 20 nal procedures
0000D0: 20 61 6E 64 20 66 75 6E 63 74 69 6F 6E 73 20 61 and functions a
0000E0: 72 65 20 63 6F 6D 70 69 6C 65 64 20 73 65 70 61 re compiled sepa
0000F0: 72 61 74 65 6C 79 20 66 72 6F 6D 0D 0A 20 20 20 rately from..
000100: 20 20 20 74 68 65 20 6D 61 69 6E 20 70 72 6F 67 the main prog
000110: 72 61 6D 2E 20 20 54 68 65 79 20 63 61 6E 20 62 ram. They can b
000120: 65 20 6C 69 6E 6B 65 64 20 74 6F 67 65 74 68 65 e linked togethe
000130: 72 20 77 69 74 68 20 74 68 65 20 6D 61 69 6E 20 r with the main
000140: 20 70 72 6F 67 72 61 6D 0D 0A 20 20 20 20 20 20 program..
000150: 75 73 69 6E 67 20 20 74 68 65 20 20 4C 69 6E 6B using the Link
000160: 65 72 20 20 28 73 65 63 74 69 6F 6E 20 38 20 6F er (section 8 o
000170: 66 20 74 68 69 73 20 6D 61 6E 75 61 6C 29 2E 20 f this manual).
000180: 20 49 66 20 74 68 69 73 20 69 73 20 6E 6F 74 20 If this is not
000190: 64 6F 6E 65 2C 0D 0A 20 20 20 20 20 20 74 68 65 done,.. the
0001A0: 79 20 77 69 6C 6C 20 62 65 20 61 75 74 6F 6D 61 y will be automa
0001B0: 74 69 63 61 6C 6C 79 20 6C 6F 61 64 65 64 20 66 tically loaded f
0001C0: 72 6F 6D 20 64 69 73 6B 20 69 6E 74 6F 20 74 68 rom disk into th
0001D0: 65 20 63 6F 6D 70 75 74 65 72 27 73 20 20 6D 61 e computer's ma
0001E0: 69 6E 0D 0A 20 20 20 20 20 20 73 74 6F 72 61 67 in.. storag
0001F0: 65 20 20 77 68 65 6E 20 20 74 68 65 79 20 20 61 e when they a
Size : 512 (Real : 512)
000000: 2C 20 73 75 63 68 20 61 73 20 20 52 4D 41 43 20 , such as RMAC
000010: 20 6F 72 20 20 4D 41 43 52 4F 2D 38 30 2E 20 20 or MACRO-80.
000020: 20 54 68 65 20 20 20 43 4F 4E 56 45 52 54 4D 0D The CONVERTM.
000030: 0A 20 20 20 20 20 20 75 74 69 6C 69 74 79 20 20 . utility
000040: 63 6F 6E 76 65 72 74 73 20 20 74 68 65 20 20 27 converts the '
000050: 2E 52 45 4C 27 20 66 69 6C 65 73 20 70 72 6F 64 .REL' files prod
000060: 75 63 65 64 20 62 79 20 74 68 65 73 65 20 74 77 uced by these tw
000070: 6F 20 61 73 73 65 6D 62 6C 65 72 73 0D 0A 20 20 o assemblers..
000080: 20 20 20 20 69 6E 74 6F 20 27 2E 49 4E 54 27 20 into '.INT'
000090: 66 6F 72 6D 61 74 20 66 69 6C 65 73 20 77 68 69 format files whi
0000A0: 63 68 20 6D 61 79 20 62 65 20 61 63 63 65 73 73 ch may be access
0000B0: 65 64 20 61 73 20 65 78 74 65 72 6E 61 6C 20 70 ed as external p
0000C0: 72 6F 63 65 64 75 72 65 73 0D 0A 20 20 20 20 20 rocedures..
0000D0: 20 28 73 65 65 20 73 65 63 74 69 6F 6E 20 31 30 (see section 10
0000E0: 2E 37 20 6F 66 20 74 68 69 73 20 6D 61 6E 75 61 .7 of this manua
0000F0: 6C 29 2E 0D 0A 0D 0A 20 20 20 20 20 20 20 20 20 l).....
000100: 20 20 54 68 65 20 4A 52 54 20 61 73 73 65 6D 62 The JRT assemb
000110: 6C 65 72 20 74 72 61 6E 73 6C 61 74 65 73 20 38 ler translates 8
000120: 30 38 30 20 20 61 73 73 65 6D 62 6C 79 20 20 6C 080 assembly l
000130: 61 6E 67 75 61 67 65 20 20 69 6E 74 6F 20 20 4A anguage into J
000140: 52 54 0D 0A 20 20 20 20 20 20 72 65 6C 6F 63 61 RT.. reloca
000150: 74 61 62 6C 65 20 20 66 6F 72 6D 61 74 20 20 6D table format m
000160: 6F 64 75 6C 65 73 2E 20 20 20 54 68 65 73 65 20 odules. These
000170: 20 6D 6F 64 75 6C 65 73 20 20 63 61 6E 20 20 62 modules can b
000180: 65 20 63 61 6C 6C 65 64 20 66 72 6F 6D 20 61 0D e called from a.
000190: 0A 20 20 20 20 20 20 50 61 73 63 61 6C 20 20 70 . Pascal p
0001A0: 72 6F 67 72 61 6D 20 20 61 73 20 20 69 66 20 20 rogram as if
0001B0: 74 68 65 79 20 20 77 65 72 65 20 20 20 50 61 73 they were Pas
0001C0: 63 61 6C 20 20 20 65 78 74 65 72 6E 61 6C 20 20 cal external
0001D0: 20 70 72 6F 63 65 64 75 72 65 73 2E 0D 0A 20 20 procedures...
0001E0: 20 20 20 20 50 61 72 61 6D 65 74 65 72 73 20 20 Parameters
0001F0: 6D 61 79 20 20 62 65 20 20 70 61 73 73 65 64 20 may be passed
Size : 512 (Real : 512)
000000: 72 65 20 20 66 69 72 73 74 20 20 72 65 66 65 72 re first refer
000010: 65 6E 63 65 64 2E 20 20 20 49 66 20 20 61 20 73 enced. If a s
000020: 68 6F 72 74 2D 6F 6E 2D 73 74 6F 72 61 67 65 0D hort-on-storage.
000030: 0A 20 20 20 20 20 20 63 6F 6E 64 69 74 69 6F 6E . condition
000040: 20 61 72 69 73 65 73 2C 20 74 68 65 79 20 6D 61 arises, they ma
000050: 79 20 62 65 20 70 75 72 67 65 64 20 66 72 6F 6D y be purged from
000060: 20 73 74 6F 72 61 67 65 20 20 69 66 20 20 74 68 storage if th
000070: 65 79 20 20 61 72 65 20 20 6E 6F 74 0D 0A 20 20 ey are not..
000080: 20 20 20 20 63 75 72 72 65 6E 74 6C 79 20 61 63 currently ac
000090: 74 69 76 65 2E 0D 0A 0D 0A 20 20 20 20 20 20 20 tive.....
0000A0: 20 20 20 20 50 72 6F 63 65 64 75 72 65 73 20 20 Procedures
0000B0: 77 68 69 63 68 20 20 61 72 65 20 72 61 72 65 6C which are rarel
0000C0: 79 20 75 73 65 64 2C 20 6C 69 6B 65 20 69 6E 69 y used, like ini
0000D0: 74 69 61 6C 69 7A 61 74 69 6F 6E 20 6F 72 20 65 tialization or e
0000E0: 72 72 6F 72 0D 0A 20 20 20 20 20 20 68 61 6E 64 rror.. hand
0000F0: 6C 69 6E 67 2C 20 77 6F 75 6C 64 20 6E 6F 74 20 ling, would not
000100: 6F 63 63 75 70 79 20 6D 61 69 6E 20 73 74 6F 72 occupy main stor
000110: 61 67 65 20 65 78 63 65 70 74 20 20 77 68 65 6E age except when
000120: 20 20 6E 65 65 64 65 64 2E 20 20 20 41 6C 73 6F needed. Also
000130: 2C 0D 0A 20 20 20 20 20 20 76 65 72 79 20 20 6C ,.. very l
000140: 61 72 67 65 20 20 70 72 6F 67 72 61 6D 73 20 20 arge programs
000150: 6D 69 67 68 74 20 20 62 65 20 20 64 69 76 69 64 might be divid
000160: 65 64 20 20 69 6E 74 6F 20 20 73 65 76 65 72 61 ed into severa
000170: 6C 20 70 68 61 73 65 73 2C 20 65 61 63 68 0D 0A l phases, each..
000180: 20 20 20 20 20 20 63 6F 72 72 65 73 70 6F 6E 64 correspond
000190: 69 6E 67 20 74 6F 20 61 6E 20 65 78 74 65 72 6E ing to an extern
0001A0: 61 6C 20 70 72 6F 63 65 64 75 72 65 2E 0D 0A 0D al procedure....
0001B0: 0A 20 20 20 20 20 20 20 20 20 20 20 54 68 65 20 . The
0001C0: 45 58 45 43 20 6C 6F 61 64 73 20 74 68 65 20 65 EXEC loads the e
0001D0: 78 74 65 72 6E 61 6C 20 70 72 6F 63 65 64 75 72 xternal procedur
0001E0: 65 73 20 66 72 6F 6D 20 64 69 73 6B 2E 20 20 54 es from disk. T
0001F0: 68 65 72 65 20 20 69 73 20 20 6E 6F 0D 0A 20 20 here is no..
Size : 512 (Real : 512)
000000: 74 6F 20 74 68 65 6D 20 61 6E 64 20 66 75 6E 63 to them and func
000010: 74 69 6F 6E 20 72 65 74 75 72 6E 20 76 61 6C 75 tion return valu
000020: 65 73 20 6D 61 79 20 62 65 0D 0A 20 20 20 20 20 es may be..
000030: 20 72 65 63 65 69 76 65 64 2E 0D 0A 0D 0A 20 20 received.....
000040: 20 20 20 20 20 20 20 20 20 54 68 65 20 4A 52 54 The JRT
000050: 20 20 61 73 73 65 6D 62 6C 65 72 20 20 69 73 20 assembler is
000060: 20 63 6F 6D 70 61 74 69 62 6C 65 20 20 77 69 74 compatible wit
000070: 68 20 20 74 68 65 20 20 73 74 61 6E 64 61 72 64 h the standard
000080: 20 20 41 53 4D 2E 43 4F 4D 0D 0A 20 20 20 20 20 ASM.COM..
000090: 20 70 72 6F 67 72 61 6D 20 20 64 69 73 74 72 69 program distri
0000A0: 62 75 74 65 64 20 77 69 74 68 20 43 50 2F 4D 2E buted with CP/M.
0000B0: 20 20 49 6E 70 75 74 20 66 69 6C 65 73 20 6D 75 Input files mu
0000C0: 73 74 20 68 61 76 65 20 61 20 66 69 6C 65 20 74 st have a file t
0000D0: 79 70 65 20 6F 66 0D 0A 20 20 20 20 20 20 27 2E ype of.. '.
0000E0: 41 53 4D 27 2E 20 20 54 68 65 20 61 73 73 65 6D ASM'. The assem
0000F0: 62 6C 65 72 20 6F 75 74 70 75 74 20 69 73 20 61 bler output is a
000100: 20 66 69 6C 65 20 6F 66 20 74 79 70 65 20 27 2E file of type '.
000110: 49 4E 54 27 2C 20 77 68 69 63 68 20 6D 61 79 20 INT', which may
000120: 20 62 65 0D 0A 20 20 20 20 20 20 6C 69 6E 6B 65 be.. linke
000130: 64 20 77 69 74 68 20 74 68 65 20 6D 61 69 6E 20 d with the main
000140: 70 72 6F 67 72 61 6D 20 6F 72 20 61 75 74 6F 6D program or autom
000150: 61 74 69 63 61 6C 6C 79 20 6C 6F 61 64 65 64 20 atically loaded
000160: 61 74 20 72 75 6E 2D 74 69 6D 65 2E 0D 0A 0D 0A at run-time.....
000170: 0D 0A 20 20 20 20 20 20 31 30 2E 31 20 20 45 6E .. 10.1 En
000180: 74 72 79 20 63 6F 64 65 73 0D 0A 0D 0A 20 20 20 try codes....
000190: 20 20 20 20 20 20 20 20 41 66 74 65 72 20 20 61 After a
0001A0: 6E 20 20 65 78 74 65 72 6E 61 6C 20 20 70 72 6F n external pro
0001B0: 63 65 64 75 72 65 20 69 73 20 6C 6F 61 64 65 64 cedure is loaded
0001C0: 20 69 6E 74 6F 20 6D 61 69 6E 20 73 74 6F 72 61 into main stora
0001D0: 67 65 2C 20 45 58 45 43 0D 0A 20 20 20 20 20 20 ge, EXEC..
0001E0: 74 72 61 6E 73 66 65 72 73 20 63 6F 6E 74 72 6F transfers contro
0001F0: 6C 20 74 6F 20 69 74 2E 20 20 41 20 66 69 76 65 l to it. A five
Size : 512 (Real : 512)
000000: 20 20 20 20 6E 65 65 64 20 20 74 6F 20 20 69 6E need to in
000010: 66 6F 72 6D 20 20 45 58 45 43 20 6F 6E 20 77 68 form EXEC on wh
000020: 69 63 68 20 64 69 73 6B 20 65 61 63 68 20 70 72 ich disk each pr
000030: 6F 63 65 64 75 72 65 20 72 65 73 69 64 65 73 20 ocedure resides
000040: 2D 20 69 74 20 77 69 6C 6C 0D 0A 20 20 20 20 20 - it will..
000050: 20 73 65 61 72 63 68 20 66 6F 72 20 74 68 65 6D search for them
000060: 2E 20 20 54 68 69 73 20 6D 65 61 6E 73 20 74 68 . This means th
000070: 61 74 20 79 6F 75 20 64 6F 20 4E 4F 54 20 20 68 at you do NOT h
000080: 61 76 65 20 20 74 6F 20 20 70 75 74 20 20 61 6C ave to put al
000090: 6C 20 20 74 68 65 0D 0A 20 20 20 20 20 20 70 72 l the.. pr
0000A0: 6F 67 72 61 6D 20 73 65 63 74 69 6F 6E 73 20 6F ogram sections o
0000B0: 6E 74 6F 20 74 68 65 20 41 3A 20 64 69 73 6B 2E nto the A: disk.
0000C0: 0D 0A 0D 0A 20 20 20 20 20 20 20 20 20 20 20 45 .... E
0000D0: 58 45 43 20 20 61 6E 64 20 20 74 68 65 20 20 63 XEC and the c
0000E0: 6F 6D 70 69 6C 65 72 2C 20 20 4A 52 54 50 41 53 ompiler, JRTPAS
0000F0: 33 2C 20 20 63 6F 6E 74 61 69 6E 20 27 64 69 73 3, contain 'dis
000100: 6B 20 73 65 61 72 63 68 20 6C 69 73 74 73 27 0D k search lists'.
000110: 0A 20 20 20 20 20 20 77 68 69 63 68 20 73 70 65 . which spe
000120: 63 69 66 79 20 77 68 69 63 68 20 64 69 73 6B 73 cify which disks
000130: 20 61 72 65 20 61 76 61 69 6C 61 62 6C 65 20 6F are available o
000140: 6E 20 74 68 65 20 20 73 79 73 74 65 6D 2E 20 20 n the system.
000150: 54 68 65 20 20 64 65 66 61 75 6C 74 0D 0A 20 20 The default..
000160: 20 20 20 20 6C 69 73 74 73 20 20 61 72 65 20 20 lists are
000170: 73 65 74 20 20 74 6F 20 20 27 41 42 27 2C 20 20 set to 'AB',
000180: 69 2E 65 2E 2C 20 20 64 72 69 76 65 73 20 41 3A i.e., drives A:
000190: 20 61 6E 64 20 42 3A 2E 20 20 54 68 65 20 73 65 and B:. The se
0001A0: 61 63 68 20 6C 69 73 74 73 0D 0A 20 20 20 20 20 ach lists..
0001B0: 20 73 68 6F 75 6C 64 20 62 65 20 20 6D 6F 64 69 should be modi
0001C0: 66 69 65 64 20 20 74 6F 20 20 72 65 66 6C 65 63 fied to reflec
0001D0: 74 20 20 74 68 65 20 20 68 61 72 64 77 61 72 65 t the hardware
0001E0: 20 20 63 6F 6E 66 69 67 75 72 61 74 69 6F 6E 2E configuration.
0001F0: 20 20 20 54 68 65 0D 0A 20 20 20 20 20 20 43 75 The.. Cu
Size : 512 (Real : 512)
000000: 20 62 79 74 65 20 63 6F 64 65 20 28 39 35 2C 36 byte code (95,6
000010: 2C 30 2C 39 32 2C 30 29 20 69 73 20 70 6C 61 63 ,0,92,0) is plac
000020: 65 64 20 61 74 0D 0A 20 20 20 20 20 20 74 68 65 ed at.. the
000030: 20 73 74 61 72 74 20 6F 66 20 74 68 65 20 70 72 start of the pr
000040: 6F 63 65 64 75 72 65 20 74 6F 20 69 6E 66 6F 72 ocedure to infor
000050: 6D 20 45 58 45 43 20 74 68 61 74 20 74 68 69 73 m EXEC that this
000060: 20 69 73 20 20 61 6E 20 20 61 73 73 65 6D 62 6C is an assembl
000070: 65 72 0D 0A 20 20 20 20 20 20 70 72 6F 63 65 64 er.. proced
000080: 75 72 65 20 20 72 61 74 68 65 72 20 20 74 68 61 ure rather tha
000090: 6E 20 50 61 73 63 61 6C 2E 20 20 54 68 65 20 70 n Pascal. The p
0000A0: 72 6F 63 65 64 75 72 65 20 6D 75 73 74 20 65 6E rocedure must en
0000B0: 64 20 77 69 74 68 20 61 20 72 65 74 75 72 6E 0D d with a return.
0000C0: 0A 20 20 20 20 20 20 28 52 45 54 29 20 69 6E 73 . (RET) ins
0000D0: 74 72 75 63 74 69 6F 6E 2E 20 20 41 6E 79 20 72 truction. Any r
0000E0: 65 67 69 73 74 65 72 73 20 45 58 43 45 50 54 20 egisters EXCEPT
0000F0: 74 68 65 20 38 30 38 30 20 73 74 61 63 6B 20 20 the 8080 stack
000100: 70 6F 69 6E 74 65 72 20 20 6D 61 79 0D 0A 20 20 pointer may..
000110: 20 20 20 20 62 65 20 6D 6F 64 69 66 69 65 64 2E be modified.
000120: 0D 0A 0D 0A 20 20 20 20 20 20 45 78 61 6D 70 6C .... Exampl
000130: 65 20 6F 66 20 65 6E 74 72 79 20 63 6F 64 65 73 e of entry codes
000140: 3A 0D 0A 0D 0A 20 20 20 20 20 20 20 20 20 20 20 :....
000150: 20 20 20 20 20 20 20 3B 70 72 6F 63 65 64 75 72 ;procedur
000160: 65 20 65 6E 74 72 79 0D 0A 20 20 20 20 20 20 20 e entry..
000170: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
000180: 20 64 62 20 39 35 2C 36 2C 30 2C 39 32 2C 30 20 db 95,6,0,92,0
000190: 20 20 20 3B 72 65 71 75 69 72 65 64 20 65 6E 74 ;required ent
0001A0: 72 79 20 63 6F 64 65 73 0D 0A 20 20 20 20 20 20 ry codes..
0001B0: 20 20 20 20 20 20 20 20 20 20 20 20 3B 0D 0A 20 ;..
0001C0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
0001D0: 20 3B 73 65 6E 64 20 61 20 6D 65 73 73 61 67 65 ;send a message
0001E0: 20 74 6F 20 63 6F 6E 73 6F 6C 65 0D 0A 20 20 20 to console..
0001F0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
Size : 512 (Real : 512)
000000: 73 74 6F 6D 69 7A 20 20 70 72 6F 67 72 61 6D 20 stomiz program
000010: 20 69 73 20 20 70 72 6F 76 69 64 65 64 20 20 74 is provided t
000020: 6F 20 6D 6F 64 69 66 79 20 74 68 65 20 6C 69 73 o modify the lis
000030: 74 73 20 69 6E 20 62 6F 74 68 20 45 58 45 43 20 ts in both EXEC
000040: 61 6E 64 0D 0A 20 20 20 20 20 20 4A 52 54 50 41 and.. JRTPA
000050: 53 32 20 73 69 6D 75 6C 74 61 6E 65 6F 75 73 6C S2 simultaneousl
000060: 79 2E 20 20 42 65 66 6F 72 65 20 72 75 6E 6E 69 y. Before runni
000070: 6E 67 20 43 75 73 74 6F 6D 69 7A 2C 20 62 65 20 ng Customiz, be
000080: 73 75 72 65 20 20 74 68 61 74 20 20 62 6F 74 68 sure that both
000090: 0D 0A 20 20 20 20 20 20 45 58 45 43 20 20 61 6E .. EXEC an
0000A0: 64 20 20 4A 52 54 50 41 53 33 20 20 61 72 65 20 d JRTPAS3 are
0000B0: 20 6E 6F 74 20 20 77 72 69 74 65 20 20 70 72 6F not write pro
0000C0: 74 65 63 74 65 64 20 20 66 69 6C 65 73 20 20 6F tected files o
0000D0: 72 20 20 6F 6E 20 61 20 77 72 69 74 65 0D 0A 20 r on a write..
0000E0: 20 20 20 20 20 70 72 6F 63 74 65 63 74 65 64 20 proctected
0000F0: 64 69 73 6B 20 6F 72 20 64 72 69 76 65 2E 20 20 disk or drive.
000100: 54 6F 20 72 75 6E 20 43 75 73 74 6F 6D 69 7A 2C To run Customiz,
000110: 20 65 6E 74 65 72 3A 0D 0A 0D 0A 20 20 20 20 20 enter:....
000120: 20 20 20 20 20 20 20 20 20 20 20 20 20 45 58 45 EXE
000130: 43 20 43 55 53 54 4F 4D 49 5A 0D 0A 0D 0A 20 20 C CUSTOMIZ....
000140: 20 20 20 20 20 20 20 20 20 41 20 6E 65 77 20 64 A new d
000150: 69 73 6B 20 73 65 61 72 63 68 20 6C 69 73 74 2C isk search list,
000160: 20 77 69 74 68 20 75 70 20 74 6F 20 66 6F 75 72 with up to four
000170: 20 20 64 69 73 6B 20 20 6C 65 74 74 65 72 73 2C disk letters,
000180: 20 20 6D 61 79 20 20 62 65 0D 0A 20 20 20 20 20 may be..
000190: 20 73 70 65 63 69 66 69 65 64 2E 20 20 20 54 68 specified. Th
0001A0: 65 20 6C 65 74 74 65 72 73 20 6D 75 73 74 20 62 e letters must b
0001B0: 65 20 63 6F 6E 74 69 67 75 6F 75 73 2E 20 4E 4F e contiguous. NO
0001C0: 54 45 20 74 68 61 74 20 74 68 69 73 20 6C 69 73 TE that this lis
0001D0: 74 20 61 6C 73 6F 0D 0A 20 20 20 20 20 20 64 65 t also.. de
0001E0: 74 65 72 6D 69 6E 65 73 20 74 68 65 20 53 45 51 termines the SEQ
0001F0: 55 45 4E 43 45 20 69 6E 20 77 68 69 63 68 20 20 UENCE in which
Size : 512 (Real : 512)
000000: 20 20 20 20 20 6D 76 69 20 63 2C 39 20 20 20 20 mvi c,9
000010: 20 20 20 20 20 20 20 3B 70 72 69 6E 74 20 62 75 ;print bu
000020: 66 66 65 72 20 63 6F 64 65 0D 0A 20 20 20 20 20 ffer code..
000030: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
000040: 20 20 20 6C 78 69 20 64 2C 6D 73 67 20 20 20 20 lxi d,msg
000050: 20 20 20 20 20 3B 61 64 64 72 65 73 73 20 6F 66 ;address of
000060: 20 6D 65 73 73 61 67 65 0D 0A 20 20 20 20 20 20 message..
000070: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
000080: 20 20 63 61 6C 6C 20 35 20 20 20 20 20 20 20 20 call 5
000090: 20 20 20 20 3B 62 64 6F 73 20 65 6E 74 72 79 20 ;bdos entry
0000A0: 70 6F 69 6E 74 0D 0A 20 20 20 20 20 20 20 20 20 point..
0000B0: 20 20 20 20 20 20 20 20 20 3B 0D 0A 20 20 20 20 ;..
0000C0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
0000D0: 20 20 20 20 72 65 74 20 20 20 20 20 20 20 20 20 ret
0000E0: 20 20 20 20 20 20 3B 65 6E 64 20 6F 66 20 70 72 ;end of pr
0000F0: 6F 63 65 64 75 72 65 0D 0A 20 20 20 20 20 20 20 ocedure..
000100: 20 20 20 20 20 20 20 20 20 20 20 3B 0D 0A 20 20 ;..
000110: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
000120: 6D 73 67 20 20 20 64 62 20 27 4A 52 54 41 53 4D msg db 'JRTASM
000130: 20 73 61 6D 70 6C 65 20 70 72 6F 63 65 64 75 72 sample procedur
000140: 65 27 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 e'..
000150: 20 20 20 20 20 20 20 20 20 20 20 20 64 62 20 30 db 0
000160: 64 68 2C 30 61 68 2C 27 24 27 20 20 20 20 3B 63 dh,0ah,'$' ;c
000170: 61 72 72 69 61 67 65 20 72 65 74 75 72 6E 2F 6C arriage return/l
000180: 69 6E 65 20 66 65 65 64 0D 0A 20 20 20 20 20 20 ine feed..
000190: 3B 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ;
0001A0: 20 20 20 65 6E 64 0D 0A 0D 0A 20 20 20 20 20 20 end....
0001B0: 20 20 20 20 20 49 66 20 20 74 68 69 73 20 70 72 If this pr
0001C0: 6F 63 65 64 75 72 65 20 77 65 72 65 20 6E 61 6D ocedure were nam
0001D0: 65 64 20 53 41 4D 50 4C 45 2E 41 53 4D 20 74 68 ed SAMPLE.ASM th
0001E0: 65 6E 20 74 68 65 20 64 65 63 6C 61 72 61 74 69 en the declarati
0001F0: 6F 6E 20 69 6E 0D 0A 20 20 20 20 20 20 74 68 65 on in.. the
Size : 512 (Real : 512)
000000: 74 68 65 20 20 64 69 73 6B 73 20 20 61 72 65 20 the disks are
000010: 20 73 65 61 72 63 68 65 64 20 20 66 6F 72 20 20 searched for
000020: 74 68 65 0D 0A 20 20 20 20 20 20 65 78 74 65 72 the.. exter
000030: 6E 61 6C 20 70 72 6F 63 65 64 75 72 65 73 20 61 nal procedures a
000040: 6E 64 20 66 75 6E 63 74 69 6F 6E 73 2E 0D 0A 0D nd functions....
000050: 0A 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .
000060: 20 20 20 41 42 43 20 20 20 20 20 20 20 20 20 20 ABC
000070: 20 28 6E 6F 74 65 20 6E 6F 20 73 70 61 63 65 73 (note no spaces
000080: 20 62 65 74 77 65 65 6E 20 6C 65 74 74 65 72 73 between letters
000090: 29 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 31 30 2E )...... 10.
0000A0: 20 20 20 41 73 73 65 6D 62 6C 65 72 0D 0A 0D 0A Assembler....
0000B0: 20 20 20 20 20 20 20 20 20 20 20 54 68 65 20 4A The J
0000C0: 52 54 20 50 61 73 63 61 6C 20 73 79 73 74 65 6D RT Pascal system
0000D0: 20 70 72 6F 76 69 64 65 73 20 74 77 6F 20 6D 65 provides two me
0000E0: 74 68 6F 64 73 20 6F 66 20 70 72 65 70 61 72 69 thods of prepari
0000F0: 6E 67 20 65 78 74 65 72 6E 61 6C 0D 0A 20 20 20 ng external..
000100: 20 20 20 70 72 6F 63 65 64 75 72 65 73 20 20 61 procedures a
000110: 6E 64 20 20 66 75 6E 63 74 69 6F 6E 73 20 20 77 nd functions w
000120: 72 69 74 74 65 6E 20 20 69 6E 20 61 73 73 65 6D ritten in assem
000130: 62 6C 79 20 6C 61 6E 67 75 61 67 65 2E 20 20 41 bly language. A
000140: 20 73 70 65 63 69 61 6C 0D 0A 20 20 20 20 20 20 special..
000150: 70 75 72 70 6F 73 65 20 61 73 73 65 6D 62 6C 65 purpose assemble
000160: 72 20 69 73 20 70 72 6F 76 69 64 65 64 20 77 68 r is provided wh
000170: 69 63 68 20 67 65 6E 65 72 61 74 65 73 20 6D 6F ich generates mo
000180: 64 75 6C 65 73 20 69 6E 20 74 68 65 20 20 63 6F dules in the co
000190: 72 72 65 63 74 0D 0A 20 20 20 20 20 20 66 6F 72 rrect.. for
0001A0: 6D 61 74 2E 20 20 20 54 68 65 20 20 73 65 63 6F mat. The seco
0001B0: 6E 64 20 20 6D 65 74 68 6F 64 20 20 6D 61 79 20 nd method may
0001C0: 20 62 65 20 20 75 73 65 64 20 20 69 66 20 20 61 be used if a
0001D0: 20 20 4D 69 63 72 6F 73 6F 66 74 20 66 6F 72 6D Microsoft form
0001E0: 61 74 0D 0A 20 20 20 20 20 20 61 73 73 65 6D 62 at.. assemb
0001F0: 6C 65 72 20 69 73 20 61 76 61 69 6C 61 62 6C 65 ler is available
Size : 512 (Real : 512)
000000: 20 50 61 73 63 61 6C 20 70 72 6F 67 72 61 6D 20 Pascal program
000010: 72 65 66 65 72 65 6E 63 69 6E 67 20 69 74 20 77 referencing it w
000020: 6F 75 6C 64 20 62 65 3A 0D 0A 0D 0A 20 20 20 20 ould be:....
000030: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 50 52 PR
000040: 4F 43 45 44 55 52 45 20 53 41 4D 50 4C 45 3B 20 OCEDURE SAMPLE;
000050: 45 58 54 45 52 4E 3B 0D 0A 0D 0A 0D 0A 0D 0A 0D EXTERN;.........
000060: 0A 0D 0A 0D 0A 20 20 20 20 20 20 31 30 2E 32 20 ..... 10.2
000070: 20 4F 70 65 72 61 74 69 6E 67 20 4A 52 54 41 53 Operating JRTAS
000080: 4D 0D 0A 0D 0A 20 20 20 20 20 20 20 20 20 20 20 M....
000090: 54 6F 20 61 73 73 65 6D 62 6C 65 20 61 6E 20 65 To assemble an e
0000A0: 78 74 65 72 6E 61 6C 20 70 72 6F 63 65 64 75 72 xternal procedur
0000B0: 65 2C 20 65 6E 74 65 72 3A 0D 0A 0D 0A 20 20 20 e, enter:....
0000C0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 45 E
0000D0: 58 45 43 20 4A 52 54 41 53 4D 0D 0A 0D 0A 20 20 XEC JRTASM....
0000E0: 20 20 20 20 59 6F 75 20 77 69 6C 6C 20 62 65 20 You will be
0000F0: 70 72 6F 6D 70 74 65 64 20 61 74 20 20 74 68 65 prompted at the
000100: 20 20 63 6F 6E 73 6F 6C 65 20 20 66 6F 72 20 20 console for
000110: 74 68 65 20 20 69 6E 70 75 74 20 20 66 69 6C 65 the input file
000120: 6E 61 6D 65 20 20 61 6E 64 0D 0A 20 20 20 20 20 name and..
000130: 20 6F 70 74 69 6F 6E 73 2E 20 20 54 68 65 20 6F options. The o
000140: 70 74 69 6F 6E 73 20 61 72 65 3A 0D 0A 0D 0A 20 ptions are:....
000150: 20 20 20 20 20 20 20 20 20 31 20 20 2D 20 20 70 1 - p
000160: 72 6F 64 75 63 65 20 61 20 6C 69 73 74 69 6E 67 roduce a listing
000170: 20 6F 6E 20 74 68 65 20 63 6F 6E 73 6F 6C 65 20 on the console
000180: 64 75 72 69 6E 67 20 70 61 73 73 20 31 20 6F 66 during pass 1 of
000190: 20 74 68 65 0D 0A 20 20 20 20 20 20 20 20 20 20 the..
0001A0: 20 61 73 73 65 6D 62 6C 79 20 70 72 6F 63 65 73 assembly proces
0001B0: 73 2C 20 75 73 65 66 75 6C 20 66 6F 72 20 64 65 s, useful for de
0001C0: 62 75 67 67 69 6E 67 2E 0D 0A 0D 0A 20 20 20 20 bugging.....
0001D0: 20 20 20 20 20 20 43 20 2D 20 70 72 6F 64 75 63 C - produc
0001E0: 65 20 61 6E 20 6F 75 74 70 75 74 20 20 66 69 6C e an output fil
0001F0: 65 20 20 6F 66 20 20 74 79 70 65 20 20 27 2E 43 e of type '.C
Size : 512 (Real : 512)
000000: 74 61 62 6C 65 0D 0A 20 20 20 20 20 20 69 66 20 table.. if
000010: 20 69 74 20 72 65 66 65 72 73 20 74 6F 20 61 6E it refers to an
000020: 20 61 64 64 72 65 73 73 2C 20 6F 74 68 65 72 77 address, otherw
000030: 69 73 65 20 69 74 20 69 73 20 66 69 78 65 64 2E ise it is fixed.
000040: 20 20 49 66 20 61 6E 79 20 73 79 6D 62 6F 6C 20 If any symbol
000050: 69 6E 0D 0A 20 20 20 20 20 20 61 6E 20 20 65 78 in.. an ex
000060: 70 72 65 73 73 69 6F 6E 20 20 69 73 20 20 72 65 pression is re
000070: 6C 6F 63 61 74 61 62 6C 65 20 20 74 68 65 6E 20 locatable then
000080: 20 74 68 65 20 20 20 65 6E 74 69 72 65 20 20 20 the entire
000090: 65 78 70 72 65 73 73 69 6F 6E 20 20 20 69 73 0D expression is.
0000A0: 0A 20 20 20 20 20 20 72 65 6C 6F 63 61 74 61 62 . relocatab
0000B0: 6C 65 2E 20 20 50 61 72 65 6E 74 68 65 73 69 73 le. Parenthesis
0000C0: 20 6D 61 79 20 62 65 20 6E 65 73 74 65 64 20 74 may be nested t
0000D0: 6F 20 61 6E 79 20 6C 65 76 65 6C 2E 0D 0A 0D 0A o any level.....
0000E0: 20 20 20 20 20 20 20 20 20 20 20 54 68 65 73 65 These
0000F0: 20 6F 70 65 72 61 74 6F 72 73 20 61 72 65 20 73 operators are s
000100: 75 70 70 6F 72 74 65 64 3A 0D 0A 0D 0A 20 20 20 upported:....
000110: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2A *
000120: 20 20 2F 20 20 2B 20 20 2D 0D 0A 20 20 20 20 20 / + -..
000130: 20 20 20 20 20 20 20 20 20 20 20 20 20 4E 4F 54 NOT
000140: 20 20 41 4E 44 20 20 4F 52 20 20 58 4F 52 0D 0A AND OR XOR..
000150: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
000160: 20 20 4D 4F 44 20 20 48 49 47 48 20 20 4C 4F 57 MOD HIGH LOW
000170: 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ..
000180: 20 20 20 20 45 51 20 20 4E 45 20 20 4C 54 20 20 EQ NE LT
000190: 4C 45 20 20 47 54 20 20 47 45 0D 0A 0D 0A 20 20 LE GT GE....
0001A0: 20 20 20 20 31 30 2E 35 20 20 20 50 61 72 61 6D 10.5 Param
0001B0: 65 74 65 72 73 20 61 6E 64 20 66 75 6E 63 74 69 eters and functi
0001C0: 6F 6E 20 72 65 74 75 72 6E 20 76 61 6C 75 65 73 on return values
0001D0: 0D 0A 0D 0A 20 20 20 20 20 20 20 20 20 20 20 50 .... P
0001E0: 61 72 61 6D 65 74 65 72 73 20 20 6F 66 20 61 6E arameters of an
0001F0: 79 20 64 61 74 61 20 74 79 70 65 20 6D 61 79 20 y data type may
Size : 512 (Real : 512)
000000: 4F 4D 27 20 20 72 61 74 68 65 72 20 20 74 68 61 OM' rather tha
000010: 6E 0D 0A 20 20 20 20 20 20 20 20 20 20 20 27 2E n.. '.
000020: 49 4E 54 27 2E 20 20 54 68 69 73 20 20 69 73 20 INT'. This is
000030: 6E 6F 74 20 61 6E 20 65 78 74 65 72 6E 61 6C 20 not an external
000040: 70 72 6F 63 65 64 75 72 65 20 62 75 74 20 61 20 procedure but a
000050: 64 69 72 65 63 74 6C 79 0D 0A 20 20 20 20 20 20 directly..
000060: 20 20 20 20 20 65 78 65 63 75 74 61 62 6C 65 20 executable
000070: 63 6F 6D 6D 61 6E 64 20 66 69 6C 65 20 69 6E 20 command file in
000080: 73 74 61 6E 64 61 72 64 20 43 50 2F 4D 20 66 6F standard CP/M fo
000090: 72 6D 61 74 2E 20 20 41 6E 20 20 20 4F 52 47 0D rmat. An ORG.
0000A0: 0A 20 20 20 20 20 20 20 20 20 20 20 31 30 30 48 . 100H
0000B0: 20 20 20 20 64 69 72 65 63 74 69 76 65 20 20 73 directive s
0000C0: 68 6F 75 6C 64 20 20 62 65 20 20 69 6E 63 6C 75 hould be inclu
0000D0: 64 65 64 20 20 73 69 6E 63 65 20 74 68 65 20 64 ded since the d
0000E0: 65 66 61 75 6C 74 0D 0A 20 20 20 20 20 20 20 20 efault..
0000F0: 20 20 20 6F 72 69 67 69 6E 20 69 73 20 30 2E 0D origin is 0..
000100: 0A 0D 0A 0D 0A 20 20 20 20 20 20 31 30 2E 33 20 ..... 10.3
000110: 20 20 44 69 72 65 63 74 69 76 65 73 0D 0A 0D 0A Directives....
000120: 20 20 20 20 20 20 20 20 20 20 20 54 68 65 73 65 These
000130: 20 61 73 73 65 6D 62 6C 65 72 20 64 69 72 65 63 assembler direc
000140: 74 69 76 65 73 20 61 72 65 20 73 75 70 70 6F 72 tives are suppor
000150: 74 65 64 3A 0D 0A 0D 0A 20 20 20 20 20 20 20 20 ted:....
000160: 20 20 20 20 20 20 20 20 20 20 64 69 72 65 63 74 direct
000170: 69 76 65 20 20 20 20 20 20 20 20 20 70 75 72 70 ive purp
000180: 6F 73 65 0D 0A 20 20 20 20 20 20 20 20 20 20 20 ose..
000190: 20 20 20 20 20 20 20 2D 2D 2D 2D 2D 2D 2D 2D 2D ---------
0001A0: 20 20 20 20 20 20 20 20 20 2D 2D 2D 2D 2D 2D 2D -------
0001B0: 2D 2D 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 --..
0001C0: 20 20 20 20 20 20 4F 52 47 20 20 20 20 20 20 20 ORG
0001D0: 20 20 20 20 20 20 20 20 73 65 74 20 6C 6F 63 61 set loca
0001E0: 74 69 6F 6E 20 63 6F 75 6E 74 65 72 2C 20 6E 6F tion counter, no
0001F0: 74 20 75 73 65 64 0D 0A 20 20 20 20 20 20 20 20 t used..
Size : 512 (Real : 512)
000000: 62 65 20 70 61 73 73 65 64 20 74 6F 20 61 73 73 be passed to ass
000010: 65 6D 62 6C 65 72 20 65 78 74 65 72 6E 61 6C 0D embler external.
000020: 0A 20 20 20 20 20 20 70 72 6F 63 65 64 75 72 65 . procedure
000030: 73 20 61 6E 64 20 66 75 6E 63 74 69 6F 6E 73 2E s and functions.
000040: 20 20 54 68 65 20 45 58 45 43 20 20 6D 61 69 6E The EXEC main
000050: 74 61 69 6E 73 20 20 61 20 20 64 61 74 61 20 20 tains a data
000060: 73 74 61 63 6B 20 20 77 68 69 63 68 0D 0A 20 20 stack which..
000070: 20 20 20 20 63 6F 6E 74 61 69 6E 73 20 61 6C 6C contains all
000080: 20 73 74 61 74 69 63 20 76 61 72 69 61 62 6C 65 static variable
000090: 73 2C 20 70 61 72 61 6D 65 74 65 72 73 2C 20 66 s, parameters, f
0000A0: 75 6E 63 74 69 6F 6E 20 72 65 74 75 72 6E 20 76 unction return v
0000B0: 61 6C 75 65 73 20 61 6E 64 0D 0A 20 20 20 20 20 alues and..
0000C0: 20 70 72 6F 63 65 64 75 72 65 20 6C 69 6E 6B 61 procedure linka
0000D0: 67 65 20 62 6C 6F 63 6B 73 2E 0D 0A 0D 0A 20 20 ge blocks.....
0000E0: 20 20 20 20 20 20 20 20 20 54 68 72 65 65 20 61 Three a
0000F0: 64 64 72 65 73 73 20 70 6F 69 6E 74 65 72 73 20 ddress pointers
000100: 61 72 65 20 75 73 65 64 20 74 6F 20 61 63 63 65 are used to acce
000110: 73 73 20 74 68 65 20 64 61 74 61 20 73 74 61 63 ss the data stac
000120: 6B 2E 20 20 54 68 65 73 65 0D 0A 20 20 20 20 20 k. These..
000130: 20 61 72 65 20 20 61 76 61 69 6C 61 62 6C 65 20 are available
000140: 20 74 6F 20 20 65 78 74 65 72 6E 61 6C 20 70 72 to external pr
000150: 6F 63 65 64 75 72 65 73 20 69 6E 20 74 68 65 20 ocedures in the
000160: 38 30 38 30 20 72 65 67 69 73 74 65 72 20 70 61 8080 register pa
000170: 69 72 73 20 6F 6E 0D 0A 20 20 20 20 20 20 65 6E irs on.. en
000180: 74 72 79 20 74 6F 20 74 68 65 20 70 72 6F 63 65 try to the proce
000190: 64 75 72 65 2E 0D 0A 20 20 20 20 20 20 20 20 20 dure...
0001A0: 20 20 20 20 20 20 20 20 20 42 41 53 45 20 20 28 BASE (
0001B0: 48 4C 29 20 2D 20 61 64 64 72 65 73 73 20 6F 66 HL) - address of
0001C0: 20 74 68 65 20 64 61 74 61 20 73 74 61 63 6B 0D the data stack.
0001D0: 0A 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .
0001E0: 20 20 20 43 55 52 20 20 20 28 44 45 29 20 2D 20 CUR (DE) -
0001F0: 61 64 64 72 65 73 73 20 6F 66 20 74 68 65 20 6C address of the l
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 20 20 20 20 20 20 69 6E 20 in
000020: 65 78 74 65 72 6E 61 6C 20 70 72 6F 63 65 64 75 external procedu
000030: 72 65 73 0D 0A 20 20 20 20 20 20 20 20 20 20 20 res..
000040: 20 20 20 20 20 20 20 53 45 54 20 20 20 20 20 20 SET
000050: 20 20 20 20 20 20 20 20 20 61 73 73 69 67 6E 20 assign
000060: 61 20 76 61 6C 75 65 20 74 6F 20 61 20 76 61 72 a value to a var
000070: 69 61 62 6C 65 0D 0A 20 20 20 20 20 20 20 20 20 iable..
000080: 20 20 20 20 20 20 20 20 20 45 51 55 20 20 20 20 EQU
000090: 20 20 20 20 20 20 20 20 20 20 20 61 73 73 69 67 assig
0000A0: 6E 20 61 20 76 61 6C 75 65 20 74 6F 20 61 20 66 n a value to a f
0000B0: 69 78 65 64 20 73 79 6D 62 6F 6C 0D 0A 20 20 20 ixed symbol..
0000C0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 49 I
0000D0: 46 2F 45 4C 53 45 2F 45 4E 44 49 46 20 20 20 20 F/ELSE/ENDIF
0000E0: 20 63 6F 6E 64 69 74 69 6F 6E 61 6C 20 61 73 73 conditional ass
0000F0: 65 6D 62 6C 79 20 6F 66 20 63 6F 64 65 2C 0D 0A embly of code,..
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 20 20 20 20
000120: 20 20 20 20 20 6D 61 79 20 62 65 20 6E 65 73 74 may be nest
000130: 65 64 20 74 6F 20 31 36 20 6C 65 76 65 6C 73 0D ed to 16 levels.
000140: 0A 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .
000150: 20 20 20 44 42 20 20 20 20 20 20 20 20 20 20 20 DB
000160: 20 20 20 20 20 64 65 66 69 6E 65 20 62 79 74 65 define byte
000170: 2C 20 6D 75 6C 74 69 70 6C 65 20 6F 70 65 72 61 , multiple opera
000180: 6E 64 73 0D 0A 20 20 20 20 20 20 20 20 20 20 20 nds..
000190: 20 20 20 20 20 20 20 44 57 20 20 20 20 20 20 20 DW
0001A0: 20 20 20 20 20 20 20 20 20 64 65 66 69 6E 65 20 define
0001B0: 77 6F 72 64 0D 0A 20 20 20 20 20 20 20 20 20 20 word..
0001C0: 20 20 20 20 20 20 20 20 44 53 20 20 20 20 20 20 DS
0001D0: 20 20 20 20 20 20 20 20 20 20 64 65 66 69 6E 65 define
0001E0: 20 73 74 6F 72 61 67 65 0D 0A 20 20 20 20 20 20 storage..
0001F0: 20 20 20 20 20 20 20 20 20 20 20 20 52 45 41 44 READ
Size : 512 (Real : 512)
000000: 69 6E 6B 61 67 65 20 62 6C 6F 63 6B 20 66 6F 72 inkage block for
000010: 0D 0A 20 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 20 20 20 20 20
000030: 20 20 63 75 72 72 65 6E 74 6C 79 20 61 63 74 69 currently acti
000040: 76 65 20 70 72 6F 63 65 64 75 72 65 0D 0A 20 20 ve procedure..
000050: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
000060: 54 4F 53 20 20 20 28 42 43 29 20 2D 20 74 6F 70 TOS (BC) - top
000070: 20 6F 66 20 73 74 61 63 6B 2C 20 70 6F 69 6E 74 of stack, point
000080: 73 20 70 61 73 74 20 6C 61 73 74 0D 0A 20 20 20 s past last..
000090: 20 20 20 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 61 6C 6C all
0000B0: 6F 63 61 74 65 64 20 62 79 74 65 0D 0A 0D 0A 20 ocated byte....
0000C0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
0000D0: 20 54 4F 53 2D 2D 3E 49 20 20 20 20 20 20 20 20 TOS-->I
0000E0: 20 20 20 20 20 20 20 20 20 49 0D 0A 20 20 20 20 I..
0000F0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
000100: 20 20 20 20 49 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D I-----------
000110: 2D 2D 2D 2D 2D 2D 49 0D 0A 20 20 20 20 20 20 20 ------I..
000120: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
000130: 20 49 20 20 20 20 20 36 20 62 79 74 65 73 20 20 I 6 bytes
000140: 20 20 20 49 20 20 20 20 20 6C 69 6E 6B 61 67 65 I linkage
000150: 20 62 6C 6F 63 6B 20 66 6F 72 0D 0A 20 20 20 20 block for..
000160: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
000170: 20 20 20 20 49 20 20 20 20 20 20 20 20 20 20 20 I
000180: 20 20 20 20 20 20 49 20 20 20 20 20 20 63 75 72 I cur
000190: 72 65 6E 74 20 70 72 6F 63 65 64 75 72 65 0D 0A rent procedure..
0001A0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
0001B0: 20 20 43 55 52 2D 2D 3E 49 20 20 20 20 20 20 20 CUR-->I
0001C0: 20 20 20 20 20 20 20 20 20 20 49 0D 0A 20 20 20 I..
0001D0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
0001E0: 20 20 20 20 20 49 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D I----------
0001F0: 2D 2D 2D 2D 2D 2D 2D 49 0D 0A 20 20 20 20 20 20 -------I..
Size : 512 (Real : 512)
000000: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 75 73 us
000010: 65 64 20 74 6F 20 61 73 73 69 67 6E 20 61 20 6E ed to assign a n
000020: 65 77 20 76 61 6C 75 65 20 74 6F 20 61 0D 0A 20 ew value to a..
000030: 20 20 20 20 20 20 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 20 20
000050: 20 20 20 20 76 61 72 69 61 62 6C 65 2C 20 6C 69 variable, li
000060: 6B 65 20 53 45 54 20 65 78 63 65 70 74 20 74 68 ke SET except th
000070: 61 74 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 at..
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 20 76 61 6C 75 65 20 69 value i
0000A0: 73 20 6F 62 74 61 69 6E 65 64 20 66 72 6F 6D 20 s obtained from
0000B0: 63 6F 6E 73 6F 6C 65 20 0D 0A 20 20 20 20 20 20 console ..
0000C0: 20 20 20 20 20 20 20 20 20 20 20 20 57 52 49 54 WRIT
0000D0: 45 20 20 20 20 20 20 20 20 20 20 20 20 20 64 69 E di
0000E0: 73 70 6C 61 79 20 73 74 72 69 6E 67 73 20 6F 72 splay strings or
0000F0: 20 65 78 70 72 65 73 73 69 6F 6E 73 20 0D 0A 20 expressions ..
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 20 20 20 20
000120: 20 20 20 20 6F 6E 20 63 6F 6E 73 6F 6C 65 0D 0A on console..
000130: 0D 0A 20 20 20 20 20 20 45 78 61 6D 70 6C 65 73 .. Examples
000140: 20 6F 66 20 64 69 72 65 63 74 69 76 65 73 3A 0D of directives:.
000150: 0A 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 31 ... 1
000160: 2E 20 20 20 20 20 20 20 20 20 61 20 20 20 20 20 . a
000170: 73 65 74 20 39 0D 0A 20 20 20 20 20 20 20 20 20 set 9..
000180: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
000190: 20 20 20 20 69 66 20 61 20 3D 20 39 0D 0A 20 20 if a = 9..
0001A0: 20 20 20 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 77 72 69 74 65 write
0001C0: 20 27 61 20 69 73 20 65 71 75 61 6C 20 74 6F 20 'a is equal to
0001D0: 6E 69 6E 65 27 0D 0A 20 20 20 20 20 20 20 20 20 nine'..
0001E0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
0001F0: 20 20 20 20 65 6C 73 65 0D 0A 20 20 20 20 20 20 else..
Size : 512 (Real : 512)
000000: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
000010: 20 20 49 20 20 20 20 20 32 20 62 79 74 65 73 20 I 2 bytes
000020: 20 20 20 20 49 20 20 20 20 20 70 61 72 61 6D 65 I parame
000030: 74 65 72 20 6C 65 6E 67 74 68 20 66 6C 64 0D 0A ter length fld..
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 49 2D 2D 2D 2D 2D 2D 2D I-------
000060: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 49 0D 0A 20 20 20 ----------I..
000070: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
000080: 20 20 20 20 20 49 20 20 20 20 20 78 20 62 79 74 I x byt
000090: 65 73 20 20 20 20 20 49 20 20 20 20 20 70 61 72 es I par
0000A0: 61 6D 65 74 65 72 73 20 6F 66 20 0D 0A 20 20 20 ameters of ..
0000B0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
0000C0: 20 20 20 20 20 49 20 20 20 20 20 20 20 20 20 20 I
0000D0: 20 20 20 20 20 20 20 49 20 20 20 20 20 20 63 75 I cu
0000E0: 72 72 65 6E 74 20 70 72 6F 63 65 64 75 72 65 0D rrent procedure.
0000F0: 0A 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 49 2D 2D 2D 2D 2D 2D I------
000110: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 49 0D 0A 20 20 -----------I..
000120: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
000130: 20 20 20 20 20 20 49 20 20 20 20 20 20 20 20 20 I
000140: 20 20 20 20 20 20 20 20 49 20 20 20 20 20 67 6C I gl
000150: 6F 62 61 6C 20 76 61 72 69 61 62 6C 65 73 20 0D obal variables .
000160: 0A 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .
000170: 20 20 20 20 20 20 20 20 20 49 20 20 20 20 20 20 I
000180: 20 20 20 20 20 20 20 20 20 20 20 49 20 20 20 20 I
000190: 20 20 6F 66 20 6D 61 69 6E 20 70 72 6F 67 72 61 of main progra
0001A0: 6D 20 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 m ..
0001B0: 20 20 20 20 20 20 20 20 20 20 20 20 49 2D 2D 2D I---
0001C0: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 49 0D --------------I.
0001D0: 0A 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .
0001E0: 20 20 20 20 20 20 20 20 20 49 20 20 20 20 20 36 I 6
0001F0: 20 62 79 74 65 73 20 20 20 20 20 49 20 20 20 20 bytes I
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 77 72 69 74 65 20 27 61 20 write 'a
000020: 20 69 73 20 6E 6F 74 20 65 71 75 61 6C 20 74 6F is not equal to
000030: 20 6E 69 6E 65 27 0D 0A 20 20 20 20 20 20 20 20 nine'..
000040: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
000050: 20 20 20 20 20 65 6E 64 69 66 0D 0A 0D 0A 20 20 endif....
000060: 20 20 20 20 20 20 20 20 20 20 32 2E 20 20 20 20 2.
000070: 20 20 20 20 20 78 20 20 20 20 20 72 65 61 64 20 x read
000080: 20 20 20 20 20 20 20 3B 6D 73 67 20 61 74 20 63 ;msg at c
000090: 6F 6E 73 6F 6C 65 20 77 69 6C 6C 20 61 73 6B 20 onsole will ask
0000A0: 66 6F 72 20 78 20 0D 0A 20 20 20 20 20 20 20 20 for x ..
0000B0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
0000C0: 20 20 20 20 20 77 72 69 74 65 20 27 78 20 73 71 write 'x sq
0000D0: 75 61 72 65 64 20 69 73 20 27 2C 28 78 20 2A 20 uared is ',(x *
0000E0: 78 29 0D 0A 0D 0A 20 20 20 20 20 20 20 20 20 20 x)....
0000F0: 20 20 33 2E 20 20 20 20 20 20 20 20 20 61 20 20 3. a
000100: 20 20 20 73 65 74 20 61 20 2B 20 31 20 20 20 3B set a + 1 ;
000110: 69 6E 63 72 65 6D 65 6E 74 20 61 0D 0A 20 20 20 increment a..
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 20 64 62 20 27 73 74 db 'st
000140: 72 69 6E 67 27 2C 61 2C 32 35 35 0D 0A 0D 0A 0D ring',a,255.....
000150: 0A 20 20 20 20 20 20 31 30 2E 34 20 20 20 45 78 . 10.4 Ex
000160: 70 72 65 73 73 69 6F 6E 73 0D 0A 0D 0A 20 20 20 pressions....
000170: 20 20 20 20 20 20 20 20 49 6E 74 65 67 65 72 20 Integer
000180: 65 78 70 72 65 73 73 69 6F 6E 73 20 20 63 61 6E expressions can
000190: 20 20 62 65 20 20 75 73 65 64 20 20 69 6E 20 20 be used in
0001A0: 61 73 73 65 6D 62 6C 65 72 20 20 69 6E 73 74 72 assembler instr
0001B0: 75 63 74 69 6F 6E 73 2E 0D 0A 20 20 20 20 20 20 uctions...
0001C0: 45 78 70 72 65 73 73 69 6F 6E 73 20 61 72 65 20 Expressions are
0001D0: 65 69 74 68 65 72 20 66 69 78 65 64 20 6F 72 20 either fixed or
0001E0: 72 65 6C 6F 63 61 74 61 62 6C 65 2E 20 20 41 20 relocatable. A
0001F0: 73 79 6D 62 6F 6C 20 69 73 20 72 65 6C 6F 63 61 symbol is reloca
Size : 512 (Real : 512)
000000: 20 6C 69 6E 6B 61 67 65 20 62 6C 6F 63 6B 20 66 linkage block f
000010: 6F 72 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 or..
000020: 20 20 20 20 20 20 20 20 20 20 20 20 49 20 20 20 I
000030: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 49 20 I
000040: 20 20 20 20 20 6D 61 69 6E 20 70 72 6F 67 72 61 main progra
000050: 6D 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 20 m..
000060: 20 20 20 20 42 41 53 45 2D 2D 3E 49 2D 2D 2D 2D BASE-->I----
000070: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 49 0D 0A -------------I..
000080: 0D 0A 20 20 20 20 20 20 20 20 20 20 20 57 69 74 .. Wit
000090: 68 20 74 68 65 20 74 68 72 65 65 20 64 61 74 61 h the three data
0000A0: 20 73 74 61 63 6B 20 70 6F 69 6E 74 65 72 73 2C stack pointers,
0000B0: 20 74 68 65 20 70 61 72 61 6D 65 74 65 72 73 20 the parameters
0000C0: 70 61 73 73 65 64 20 74 6F 20 74 68 65 0D 0A 20 passed to the..
0000D0: 20 20 20 20 20 70 72 6F 63 65 64 75 72 65 20 63 procedure c
0000E0: 61 6E 20 62 65 20 61 63 63 65 73 73 65 64 2E 20 an be accessed.
0000F0: 20 49 66 20 69 74 20 69 73 20 61 20 66 75 6E 63 If it is a func
000100: 74 69 6F 6E 2C 20 74 68 65 20 72 65 74 75 72 6E tion, the return
000110: 20 76 61 6C 75 65 20 63 61 6E 0D 0A 20 20 20 20 value can..
000120: 20 20 62 65 20 73 74 6F 72 65 64 2E 20 41 6C 73 be stored. Als
000130: 6F 2C 20 74 68 65 20 67 6C 6F 62 61 6C 20 76 61 o, the global va
000140: 72 69 61 62 6C 65 73 20 6F 66 20 20 74 68 65 20 riables of the
000150: 20 6D 61 69 6E 20 20 70 72 6F 67 72 61 6D 20 20 main program
000160: 63 61 6E 20 20 62 65 0D 0A 20 20 20 20 20 20 61 can be.. a
000170: 63 63 65 73 73 65 64 2E 20 20 20 46 6F 72 20 65 ccessed. For e
000180: 78 61 6D 70 6C 65 2C 20 69 66 20 74 68 65 20 66 xample, if the f
000190: 69 72 73 74 20 67 6C 6F 62 61 6C 20 76 61 72 69 irst global vari
0001A0: 61 62 6C 65 20 64 65 63 6C 61 72 65 64 20 69 6E able declared in
0001B0: 20 74 68 65 0D 0A 20 20 20 20 20 20 6D 61 69 6E the.. main
0001C0: 20 50 61 73 63 61 6C 20 70 72 6F 67 72 61 6D 20 Pascal program
0001D0: 77 68 69 63 68 20 63 61 6C 6C 73 20 74 68 65 20 which calls the
0001E0: 65 78 74 65 72 6E 61 6C 20 70 72 6F 63 65 64 75 external procedu
0001F0: 72 65 20 69 73 20 61 6E 20 20 69 6E 74 65 67 65 re is an intege
Size : 512 (Real : 512)
000000: 72 6E 20 76 61 6C 75 65 20 69 73 20 6F 66 20 74 rn value is of t
000010: 79 70 65 20 41 52 52 41 59 20 5B 31 2E 2E 34 5D ype ARRAY [1..4]
000020: 20 4F 46 20 43 48 41 52 3B 29 0D 0A 0D 0A 20 20 OF CHAR;)....
000030: 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6E return
000040: 20 76 61 6C 75 65 20 20 72 76 20 6C 65 6E 20 20 value rv len
000050: 20 20 27 58 27 20 20 20 31 20 20 20 20 20 6C 65 'X' 1 le
000060: 6E 67 74 68 20 20 20 6C 69 6E 6B 61 67 65 20 62 ngth linkage b
000070: 6C 6F 63 6B 0D 0A 20 20 20 20 20 20 20 20 20 20 lock..
000080: 20 20 72 72 20 72 72 20 72 72 20 72 72 20 20 20 rr rr rr rr
000090: 30 34 30 30 20 20 20 20 20 20 35 38 20 20 20 20 0400 58
0000A0: 30 31 30 30 20 20 30 33 30 30 20 20 20 78 78 20 0100 0300 xx
0000B0: 78 78 20 78 78 20 78 78 20 78 78 20 78 78 20 20 xx xx xx xx xx
0000C0: 79 79 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 yy..
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 20 20 20 20 20 20 20 20
0000F0: 20 20 20 20 20 20 20 20 20 20 20 49 20 20 20 20 I
000100: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 49 0D I.
000110: 0A 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .
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 20 20 20 20 20 20 20
000140: 20 20 20 20 20 20 20 20 43 55 52 20 20 20 20 20 CUR
000150: 20 20 20 20 20 20 20 20 20 20 20 54 4F 53 0D 0A TOS..
000160: 0D 0A 20 20 20 20 20 20 31 30 2E 36 20 20 20 44 .. 10.6 D
000170: 65 62 75 67 67 69 6E 67 20 61 73 73 65 6D 62 6C ebugging assembl
000180: 65 72 20 70 72 6F 63 65 64 75 72 65 73 0D 0A 0D er procedures...
000190: 0A 20 20 20 20 20 20 20 20 20 20 20 4F 6E 65 20 . One
0001A0: 65 66 66 65 63 74 69 76 65 20 20 77 61 79 20 20 effective way
0001B0: 74 6F 20 20 64 65 62 75 67 20 20 65 78 74 65 72 to debug exter
0001C0: 6E 61 6C 20 20 70 72 6F 63 65 64 75 72 65 73 20 nal procedures
0001D0: 20 77 72 69 74 74 65 6E 20 20 69 6E 0D 0A 20 20 written in..
0001E0: 20 20 20 20 61 73 73 65 6D 62 6C 65 72 20 20 75 assembler u
0001F0: 73 65 73 20 20 74 68 65 20 20 43 50 2F 4D 20 44 ses the CP/M D
Size : 512 (Real : 512)
000000: 72 0D 0A 20 20 20 20 20 20 6E 61 6D 65 64 20 49 r.. named I
000010: 4E 54 31 2C 20 74 68 65 6E 20 6A 75 73 74 20 61 NT1, then just a
000020: 64 64 20 36 20 74 6F 20 74 68 65 20 42 41 53 45 dd 6 to the BASE
000030: 20 70 6F 69 6E 74 65 72 20 74 6F 20 67 65 74 20 pointer to get
000040: 74 68 65 20 61 64 64 72 65 73 73 20 6F 66 0D 0A the address of..
000050: 20 20 20 20 20 20 49 4E 54 31 2E 20 20 20 54 68 INT1. Th
000060: 65 20 20 42 41 53 45 20 20 70 6F 69 6E 74 65 72 e BASE pointer
000070: 20 20 69 73 20 20 69 6E 20 20 72 65 67 69 73 74 is in regist
000080: 65 72 20 20 70 61 69 72 20 48 4C 20 6F 6E 20 65 er pair HL on e
000090: 6E 74 72 79 20 74 6F 20 74 68 65 0D 0A 20 20 20 ntry to the..
0000A0: 20 20 20 70 72 6F 63 65 64 75 72 65 2E 0D 0A 20 procedure...
0000B0: 20 20 20 20 20 20 20 20 20 20 44 61 74 61 20 73 Data s
0000C0: 74 61 63 6B 20 61 66 74 65 72 20 70 72 6F 63 65 tack after proce
0000D0: 64 75 72 65 20 63 61 6C 6C 20 20 44 45 4D 4F 28 dure call DEMO(
0000E0: 20 27 41 27 2C 37 20 29 3B 0D 0A 0D 0A 20 20 20 'A',7 );....
0000F0: 20 20 20 20 20 20 20 20 20 27 41 27 20 20 20 37 'A' 7
000100: 20 20 20 20 20 6C 65 6E 67 74 68 20 20 20 20 20 length
000110: 20 20 20 6C 69 6E 6B 61 67 65 20 62 6C 6F 63 6B linkage block
000120: 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 34 31 .. 41
000130: 20 20 20 20 30 37 30 30 20 20 30 33 30 30 20 20 0700 0300
000140: 20 20 20 20 20 20 78 78 20 78 78 20 78 78 20 78 xx xx xx x
000150: 78 20 78 78 20 78 78 20 20 79 79 0D 0A 20 20 20 x xx xx yy..
000160: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
000170: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
000180: 20 49 20 20 20 20 20 20 20 20 20 20 20 20 20 20 I
000190: 20 20 20 20 49 0D 0A 20 20 20 20 20 20 20 20 20 I..
0001A0: 20 20 20 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 43 55 52 20 20 CUR
0001C0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 54 4F TO
0001D0: 53 0D 0A 0D 0A 20 20 20 20 20 20 20 54 68 65 20 S.... The
0001E0: 74 77 6F 20 62 79 74 65 20 69 6E 74 65 67 65 72 two byte integer
0001F0: 20 66 69 65 6C 64 73 20 61 72 65 20 69 6E 20 38 fields are in 8
Size : 512 (Real : 512)
000000: 79 6E 61 6D 69 63 20 44 65 62 75 67 67 69 6E 67 ynamic Debugging
000010: 20 54 6F 6F 6C 20 28 44 44 54 29 2E 20 49 66 20 Tool (DDT). If
000020: 61 20 75 73 65 72 20 69 73 0D 0A 20 20 20 20 20 a user is..
000030: 20 72 75 6E 6E 69 6E 67 20 61 20 50 61 73 63 61 running a Pasca
000040: 6C 20 70 72 6F 67 72 61 6D 20 75 6E 64 65 72 20 l program under
000050: 44 44 54 2C 20 74 68 65 6E 20 61 20 52 53 54 20 DDT, then a RST
000060: 37 20 69 6E 73 74 72 75 63 74 69 6F 6E 20 77 69 7 instruction wi
000070: 6C 6C 20 20 62 65 0D 0A 20 20 20 20 20 20 73 65 ll be.. se
000080: 65 6E 20 20 61 73 20 20 61 20 20 62 72 65 61 6B en as a break
000090: 70 6F 69 6E 74 20 20 61 6E 64 20 20 61 6C 6C 6F point and allo
0000A0: 77 20 20 74 68 65 20 20 75 73 65 72 20 20 74 6F w the user to
0000B0: 20 61 63 63 65 73 73 20 61 6C 6C 20 74 68 65 20 access all the
0000C0: 44 44 54 0D 0A 20 20 20 20 20 20 66 61 63 69 6C DDT.. facil
0000D0: 69 74 69 65 73 2E 20 20 54 6F 20 72 75 6E 20 75 ities. To run u
0000E0: 6E 64 65 72 20 44 44 54 2C 20 65 6E 74 65 72 3A nder DDT, enter:
0000F0: 0D 0A 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 ....
000100: 20 20 20 20 20 20 44 44 54 20 45 58 45 43 2E 43 DDT EXEC.C
000110: 4F 4D 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 OM..
000120: 20 20 20 20 20 20 49 70 72 6F 67 72 61 6D 5F 6E Iprogram_n
000130: 61 6D 65 0D 0A 20 20 20 20 20 20 20 20 20 20 20 ame..
000140: 20 20 20 20 20 20 20 47 31 30 30 0D 0A 0D 0A 20 G100....
000150: 20 20 20 20 20 20 20 20 20 20 57 68 65 6E 20 74 When t
000160: 68 65 20 20 52 53 54 20 20 37 20 20 69 6E 73 74 he RST 7 inst
000170: 72 75 63 74 69 6F 6E 20 20 69 73 20 20 65 6E 63 ruction is enc
000180: 6F 75 6E 74 65 72 65 64 2C 20 20 44 44 54 20 20 ountered, DDT
000190: 77 69 6C 6C 20 20 67 61 69 6E 0D 0A 20 20 20 20 will gain..
0001A0: 20 20 63 6F 6E 74 72 6F 6C 2E 20 20 20 54 68 65 control. The
0001B0: 20 20 64 69 73 70 6C 61 79 2C 20 20 6D 6F 64 69 display, modi
0001C0: 66 79 2C 20 20 64 69 73 61 73 73 65 6D 62 6C 65 fy, disassemble
0001D0: 20 66 61 63 69 6C 69 74 69 65 73 20 74 68 65 6E facilities then
0001E0: 20 63 61 6E 20 62 65 0D 0A 20 20 20 20 20 20 75 can be.. u
0001F0: 73 65 64 20 74 6F 20 65 78 61 6D 69 6E 65 20 74 sed to examine t
Size : 512 (Real : 512)
000000: 30 38 30 20 20 62 79 74 65 2D 72 65 76 65 72 73 080 byte-revers
000010: 65 20 20 66 6F 72 6D 61 74 2E 20 20 20 54 68 65 e format. The
000020: 0D 0A 20 20 20 20 20 20 70 61 72 61 6D 65 74 65 .. paramete
000030: 72 20 20 6C 65 6E 67 74 68 20 20 66 69 65 6C 64 r length field
000040: 20 69 73 20 65 71 75 61 6C 20 74 6F 20 74 68 72 is equal to thr
000050: 65 65 2E 20 20 54 68 65 20 6C 69 6E 6B 61 67 65 ee. The linkage
000060: 20 62 6C 6F 63 6B 20 69 73 20 73 69 78 0D 0A 20 block is six..
000070: 20 20 20 20 20 62 79 74 65 73 20 6F 66 20 75 6E bytes of un
000080: 73 70 65 63 69 66 69 65 64 20 64 61 74 61 0D 0A specified data..
000090: 0D 0A 20 20 20 20 20 20 20 20 20 20 20 50 61 72 .. Par
0000A0: 61 6D 65 74 65 72 73 20 61 72 65 20 61 63 63 65 ameters are acce
0000B0: 73 73 65 64 20 62 79 20 64 65 63 72 65 6D 65 6E ssed by decremen
0000C0: 74 69 6E 67 20 74 68 65 20 43 55 52 20 70 6F 69 ting the CUR poi
0000D0: 6E 74 65 72 2E 20 20 50 61 73 63 61 6C 0D 0A 20 nter. Pascal..
0000E0: 20 20 20 20 20 76 61 6C 75 65 20 70 61 72 61 6D value param
0000F0: 65 74 65 72 73 20 20 61 72 65 20 20 61 63 74 75 eters are actu
000100: 61 6C 6C 79 20 20 70 72 65 73 65 6E 74 20 20 69 ally present i
000110: 6E 20 20 74 68 65 20 20 64 61 74 61 20 20 73 74 n the data st
000120: 61 63 6B 2E 20 20 20 46 6F 72 0D 0A 20 20 20 20 ack. For..
000130: 20 20 72 65 66 65 72 65 6E 63 65 20 20 70 61 72 reference par
000140: 61 6D 65 74 65 72 73 2C 20 20 74 68 65 20 61 64 ameters, the ad
000150: 64 72 65 73 73 20 6F 66 20 74 68 65 20 76 61 72 dress of the var
000160: 69 61 62 6C 65 20 69 73 20 70 72 65 73 65 6E 74 iable is present
000170: 20 69 6E 20 74 68 65 0D 0A 20 20 20 20 20 20 64 in the.. d
000180: 61 74 61 20 73 74 61 63 6B 2E 20 20 49 66 20 74 ata stack. If t
000190: 68 65 20 70 72 6F 63 65 64 75 72 65 20 68 61 73 he procedure has
0001A0: 20 6E 6F 20 70 61 72 61 6D 65 74 65 72 73 2C 20 no parameters,
0001B0: 74 68 65 20 70 61 72 61 6D 65 74 65 72 20 6C 65 the parameter le
0001C0: 6E 67 74 68 0D 0A 20 20 20 20 20 20 66 69 65 6C ngth.. fiel
0001D0: 64 20 69 73 20 7A 65 72 6F 2E 0D 0A 0D 0A 20 20 d is zero.....
0001E0: 20 20 20 20 20 20 20 20 20 46 75 6E 63 74 69 6F Functio
0001F0: 6E 20 72 65 74 75 72 6E 20 76 61 6C 75 65 73 20 n return values
Size : 512 (Real : 512)
000000: 68 65 20 70 72 6F 63 65 64 75 72 65 20 64 61 74 he procedure dat
000010: 61 20 61 72 65 61 73 2E 20 20 54 6F 20 72 65 73 a areas. To res
000020: 75 6D 65 20 20 65 78 65 63 75 74 69 6F 6E 2C 20 ume execution,
000030: 20 75 73 65 0D 0A 20 20 20 20 20 20 74 68 65 20 use.. the
000040: 58 50 20 63 6F 6D 6D 61 6E 64 20 74 6F 20 73 65 XP command to se
000050: 74 20 74 68 65 20 69 6E 73 74 72 75 63 74 69 6F t the instructio
000060: 6E 20 61 64 64 72 65 73 73 20 61 68 65 61 64 20 n address ahead
000070: 62 79 20 31 2C 20 74 6F 20 67 65 74 20 70 61 73 by 1, to get pas
000080: 74 0D 0A 20 20 20 20 20 20 74 68 65 20 52 53 54 t.. the RST
000090: 20 37 20 69 6E 73 74 72 75 63 74 69 6F 6E 2E 0D 7 instruction..
0000A0: 0A 0D 0A 0D 0A 20 20 20 20 20 20 31 30 2E 37 20 ..... 10.7
0000B0: 20 20 43 6F 6E 76 65 72 74 6D 20 70 72 6F 67 72 Convertm progr
0000C0: 61 6D 0D 0A 0D 0A 20 20 20 20 20 20 20 20 20 20 am....
0000D0: 20 54 68 65 20 20 43 6F 6E 76 65 72 74 6D 20 20 The Convertm
0000E0: 70 72 6F 67 72 61 6D 20 20 74 72 61 6E 73 6C 61 program transla
0000F0: 74 65 73 20 4D 69 63 72 6F 73 6F 66 74 20 66 6F tes Microsoft fo
000100: 72 6D 61 74 20 27 2E 52 45 4C 27 20 66 69 6C 65 rmat '.REL' file
000110: 73 0D 0A 20 20 20 20 20 20 69 6E 74 6F 20 4A 52 s.. into JR
000120: 54 20 66 6F 72 6D 61 74 20 27 2E 49 4E 54 27 20 T format '.INT'
000130: 66 69 6C 65 73 2E 20 20 4F 6E 6C 79 20 20 27 2E files. Only '.
000140: 52 45 4C 27 20 20 66 69 6C 65 73 20 20 6D 61 79 REL' files may
000150: 20 20 62 65 20 20 69 6E 70 75 74 20 20 2D 0D 0A be input -..
000160: 20 20 20 20 20 20 27 2E 48 45 58 27 20 66 69 6C '.HEX' fil
000170: 65 73 20 64 6F 20 6E 6F 74 20 63 6F 6E 74 61 69 es do not contai
000180: 6E 20 69 6E 66 6F 72 6D 61 74 69 6F 6E 20 61 62 n information ab
000190: 6F 75 74 20 72 65 6C 6F 63 61 74 69 6F 6E 20 61 out relocation a
0001A0: 64 64 72 65 73 73 65 73 2E 0D 0A 0D 0A 20 20 20 ddresses.....
0001B0: 20 20 20 20 20 20 20 20 54 6F 20 72 75 6E 20 74 To run t
0001C0: 68 65 20 43 6F 6E 76 65 72 74 6D 20 70 72 6F 67 he Convertm prog
0001D0: 72 61 6D 2C 20 65 6E 74 65 72 3A 0D 0A 0D 0A 20 ram, enter:....
0001E0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
0001F0: 20 45 58 45 43 20 43 4F 4E 56 45 52 54 4D 0D 0A EXEC CONVERTM..
Size : 512 (Real : 512)
000000: 6D 75 73 74 20 62 65 20 73 74 6F 72 65 64 20 6A must be stored j
000010: 75 73 74 20 62 65 66 6F 72 65 20 74 68 65 20 66 ust before the f
000020: 75 6E 63 74 69 6F 6E 27 73 0D 0A 20 20 20 20 20 unction's..
000030: 20 66 69 72 73 74 20 70 61 72 61 6D 65 74 65 72 first parameter
000040: 20 69 6E 20 74 68 65 20 64 61 74 61 20 73 74 61 in the data sta
000050: 63 6B 2E 0D 0A 0D 0A 20 20 20 20 20 20 20 20 20 ck.....
000060: 20 20 44 61 74 61 20 73 74 61 63 6B 20 61 66 74 Data stack aft
000070: 65 72 20 66 75 6E 63 74 69 6F 6E 20 63 61 6C 6C er function call
000080: 20 20 58 20 3A 3D 20 54 45 53 54 28 20 33 2C 38 X := TEST( 3,8
000090: 20 29 3B 0D 0A 20 20 20 20 20 20 28 54 68 65 20 );.. (The
0000A0: 72 65 74 75 72 6E 20 76 61 6C 75 65 20 69 73 20 return value is
0000B0: 6F 66 20 74 68 65 20 74 79 70 65 20 69 6E 74 65 of the type inte
0000C0: 67 65 72 29 0D 0A 0D 0A 20 20 20 20 20 20 20 20 ger)....
0000D0: 20 20 20 20 20 20 20 20 20 20 33 20 20 20 20 20 3
0000E0: 38 20 20 20 20 20 6C 65 6E 67 74 68 20 20 20 20 8 length
0000F0: 20 20 20 20 6C 69 6E 6B 61 67 65 20 62 6C 6F 63 linkage bloc
000100: 6B 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 72 k.. r
000110: 72 72 72 20 20 30 33 30 30 20 20 30 38 30 30 20 rrr 0300 0800
000120: 20 30 34 30 30 20 20 20 20 20 20 20 20 78 78 20 0400 xx
000130: 78 78 20 78 78 20 78 78 20 78 78 20 78 78 20 20 xx xx xx xx xx
000140: 79 79 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 yy..
000150: 49 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 I
000160: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 49 20 I
000170: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
000180: 20 49 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 I..
000190: 72 65 74 75 72 6E 20 76 61 6C 75 65 20 20 20 20 return value
0001A0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 43 55 CU
0001B0: 52 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 R
0001C0: 20 54 4F 53 0D 0A 0D 0A 20 20 20 20 20 20 20 20 TOS....
0001D0: 20 20 20 49 66 20 74 68 65 20 72 65 74 75 72 6E If the return
0001E0: 20 76 61 6C 75 65 20 69 73 20 6F 66 20 74 79 70 value is of typ
0001F0: 65 20 43 48 41 52 2C 20 61 20 73 74 72 69 6E 67 e CHAR, a string
Size : 512 (Real : 512)
000000: 0D 0A 20 20 20 20 20 20 20 20 20 20 20 54 68 65 .. The
000010: 20 20 70 72 6F 67 72 61 6D 20 20 77 69 6C 6C 20 program will
000020: 20 69 6E 71 75 69 72 65 20 20 61 74 20 20 74 68 inquire at th
000030: 65 20 63 6F 6E 73 6F 6C 65 20 66 6F 72 20 74 68 e console for th
000040: 65 20 6E 61 6D 65 20 6F 66 20 74 68 65 0D 0A 20 e name of the..
000050: 20 20 20 20 20 6D 6F 64 75 6C 65 20 74 6F 20 62 module to b
000060: 65 20 74 72 61 6E 73 6C 61 74 65 64 2E 20 20 41 e translated. A
000070: 20 66 69 6C 65 20 74 79 70 65 20 20 6F 66 20 20 file type of
000080: 27 2E 52 45 4C 27 20 20 69 73 20 20 61 73 73 75 '.REL' is assu
000090: 6D 65 64 2E 20 20 20 54 68 65 0D 0A 20 20 20 20 med. The..
0000A0: 20 20 6F 75 74 70 75 74 20 6D 6F 64 75 6C 65 20 output module
0000B0: 27 2E 49 4E 54 27 20 66 69 6C 65 20 69 73 20 70 '.INT' file is p
0000C0: 6C 61 63 65 64 20 6F 6E 20 74 68 65 20 73 61 6D laced on the sam
0000D0: 65 20 64 69 73 6B 2E 0D 0A 0D 0A 0D 0A 20 20 20 e disk.......
0000E0: 20 20 20 31 30 2E 38 20 20 20 53 61 6D 70 6C 65 10.8 Sample
0000F0: 20 61 73 73 65 6D 62 6C 79 20 70 72 6F 67 72 61 assembly progra
000100: 6D 73 0D 0A 0D 0A 20 20 20 20 20 20 20 20 20 20 ms....
000110: 20 54 68 72 65 65 20 20 73 61 6D 70 6C 65 20 61 Three sample a
000120: 73 73 65 6D 62 6C 79 20 70 72 6F 67 72 61 6D 73 ssembly programs
000130: 20 61 72 65 20 69 6E 63 6C 75 64 65 64 20 68 65 are included he
000140: 72 65 2E 20 20 54 77 6F 20 65 78 74 65 72 6E 61 re. Two externa
000150: 6C 0D 0A 20 20 20 20 20 20 70 72 6F 63 65 64 75 l.. procedu
000160: 72 65 73 20 28 73 65 74 62 69 74 2C 20 72 65 73 res (setbit, res
000170: 65 74 62 69 74 29 20 61 6E 64 20 6F 6E 65 20 65 etbit) and one e
000180: 78 74 65 72 6E 61 6C 20 66 75 6E 63 74 69 6F 6E xternal function
000190: 20 28 74 65 73 74 62 69 74 29 20 63 61 6E 0D 0A (testbit) can..
0001A0: 20 20 20 20 20 20 62 65 20 63 61 6C 6C 65 64 20 be called
0001B0: 66 72 6F 6D 20 61 6E 79 20 50 61 73 63 61 6C 20 from any Pascal
0001C0: 70 72 6F 67 72 61 6D 20 6F 72 20 65 78 74 65 72 program or exter
0001D0: 6E 61 6C 20 66 75 6E 63 74 69 6F 6E 2E 20 20 54 nal function. T
0001E0: 68 65 73 65 20 20 73 6D 61 6C 6C 0D 0A 20 20 20 hese small..
0001F0: 20 20 20 6D 6F 64 75 6C 65 73 20 20 70 72 6F 76 modules prov
Size : 512 (Real : 512)
000000: 2C 20 6F 72 20 20 61 20 20 73 74 72 75 63 74 75 , or a structu
000010: 72 65 64 0D 0A 20 20 20 20 20 20 76 61 72 69 61 red.. varia
000020: 62 6C 65 20 20 28 65 6E 74 69 72 65 20 20 61 72 ble (entire ar
000030: 72 61 79 2C 20 20 65 6E 74 69 72 65 20 20 72 65 ray, entire re
000040: 63 6F 72 64 29 20 20 74 68 65 6E 20 20 74 68 65 cord) then the
000050: 72 65 20 69 73 20 61 20 74 77 6F 20 62 79 74 65 re is a two byte
000060: 0D 0A 20 20 20 20 20 20 6C 65 6E 67 74 68 20 66 .. length f
000070: 69 65 6C 64 20 62 65 74 77 65 65 6E 20 74 68 65 ield between the
000080: 20 72 65 74 75 72 6E 20 76 61 6C 75 65 20 61 6E return value an
000090: 64 20 74 68 65 20 66 69 72 73 74 20 70 61 72 61 d the first para
0000A0: 6D 65 74 65 72 2E 20 20 20 54 68 69 73 0D 0A 20 meter. This..
0000B0: 20 20 20 20 20 66 69 65 6C 64 20 20 69 73 20 20 field is
0000C0: 73 65 74 20 62 79 20 45 58 45 43 20 61 6E 64 20 set by EXEC and
0000D0: 4D 55 53 54 20 4E 4F 54 20 62 65 20 6D 6F 64 69 MUST NOT be modi
0000E0: 66 69 65 64 2E 20 20 49 66 20 74 68 65 20 72 65 fied. If the re
0000F0: 74 75 72 6E 20 76 61 6C 75 65 0D 0A 20 20 20 20 turn value..
000100: 20 20 69 73 20 61 20 64 79 6E 61 6D 69 63 20 73 is a dynamic s
000110: 74 72 69 6E 67 2C 20 74 68 65 20 63 75 72 72 65 tring, the curre
000120: 6E 74 20 6C 65 6E 67 74 68 20 66 69 65 6C 64 20 nt length field
000130: 69 73 20 61 20 74 77 6F 20 62 79 74 65 20 66 69 is a two byte fi
000140: 65 6C 64 20 20 61 74 0D 0A 20 20 20 20 20 20 74 eld at.. t
000150: 68 65 20 20 62 65 67 69 6E 6E 69 6E 67 20 20 6F he beginning o
000160: 66 20 74 68 65 20 73 74 72 69 6E 67 2E 20 54 68 f the string. Th
000170: 69 73 20 6D 75 73 74 20 62 65 20 73 65 74 20 74 is must be set t
000180: 6F 20 74 68 65 20 64 65 73 69 72 65 64 20 6C 65 o the desired le
000190: 6E 67 74 68 0D 0A 20 20 20 20 20 20 6F 66 20 74 ngth.. of t
0001A0: 68 65 20 66 69 65 6C 64 2E 0D 0A 0D 0A 20 20 20 he field.....
0001B0: 20 20 20 20 20 20 20 20 44 61 74 61 20 73 74 61 Data sta
0001C0: 63 6B 20 61 66 74 65 72 20 66 75 6E 63 74 69 6F ck after functio
0001D0: 6E 20 63 61 6C 6C 20 20 4E 41 4D 45 20 3A 3D 20 n call NAME :=
0001E0: 4C 4F 4F 4B 55 50 28 20 27 58 27 2C 31 29 3B 0D LOOKUP( 'X',1);.
0001F0: 0A 20 20 20 20 20 20 28 54 68 65 20 72 65 74 75 . (The retu
Size : 512 (Real : 512)
000000: 69 64 65 20 20 66 61 73 74 20 20 61 6E 64 20 73 ide fast and s
000010: 69 6D 70 6C 65 20 62 69 74 20 6D 61 6E 69 70 75 imple bit manipu
000020: 6C 61 74 69 6F 6E 20 66 61 63 69 6C 69 74 69 65 lation facilitie
000030: 73 2E 20 20 54 68 65 79 0D 0A 20 20 20 20 20 20 s. They..
000040: 61 6C 73 6F 20 69 6C 6C 75 73 74 72 61 74 65 20 also illustrate
000050: 74 68 65 20 70 61 73 73 69 6E 67 20 61 6E 64 20 the passing and
000060: 72 65 74 75 72 6E 69 6E 67 20 6F 66 20 70 61 72 returning of par
000070: 61 6D 65 74 65 72 73 20 66 6F 72 20 20 61 73 73 ameters for ass
000080: 65 6D 62 6C 79 0D 0A 20 20 20 20 20 20 6C 61 6E embly.. lan
000090: 67 75 61 67 65 20 65 78 74 65 72 6E 61 6C 20 70 guage external p
0000A0: 72 6F 63 65 64 75 72 65 73 2E 0D 0A 0D 0A 20 20 rocedures.....
0000B0: 20 20 20 20 4C 69 73 74 69 6E 67 20 6F 66 20 73 Listing of s
0000C0: 65 74 62 69 74 2E 61 73 6D 3A 0D 0A 0D 0A 20 20 etbit.asm:....
0000D0: 20 20 20 20 3B 73 65 74 62 69 74 2E 61 73 6D 0D ;setbit.asm.
0000E0: 0A 20 20 20 20 20 20 3B 65 78 74 65 72 6E 61 6C . ;external
0000F0: 20 70 72 6F 63 65 64 75 72 65 20 77 68 69 63 68 procedure which
000100: 20 73 65 74 73 20 61 20 62 69 74 20 6F 6E 20 69 sets a bit on i
000110: 6E 20 61 20 62 79 74 65 0D 0A 20 20 20 20 20 20 n a byte..
000120: 3B 0D 0A 20 20 20 20 20 20 3B 20 70 72 6F 63 65 ;.. ; proce
000130: 64 75 72 65 20 73 65 74 62 69 74 20 28 20 76 61 dure setbit ( va
000140: 72 20 78 20 3A 20 63 68 61 72 3B 20 62 69 74 20 r x : char; bit
000150: 3A 20 69 6E 74 65 67 65 72 20 29 3B 0D 0A 20 20 : integer );..
000160: 20 20 20 20 3B 20 20 20 20 20 20 20 20 20 20 20 ;
000170: 20 20 20 20 65 78 74 65 72 6E 3B 0D 0A 20 20 20 extern;..
000180: 20 20 20 3B 20 62 69 74 23 20 69 6E 20 72 61 6E ; bit# in ran
000190: 67 65 20 30 2E 2E 37 0D 0A 20 20 20 20 20 20 3B ge 0..7.. ;
0001A0: 0D 0A 20 20 20 20 20 20 3B 65 6E 74 72 79 20 63 .. ;entry c
0001B0: 6F 64 65 0D 0A 20 20 20 20 20 20 20 20 20 20 20 ode..
0001C0: 20 20 20 64 62 20 39 35 2C 36 2C 30 20 20 20 20 db 95,6,0
0001D0: 20 20 20 3B 69 6E 74 20 76 6D 63 6F 64 65 0D 0A ;int vmcode..
0001E0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 64 62 db
0001F0: 20 39 32 20 20 20 20 20 20 20 20 20 20 20 3B 6C 92 ;l
Size : 512 (Real : 512)
000000: 20 20 20 20 20 20 20 20 20 20 20 20 64 62 20 39 db 9
000010: 35 2C 36 2C 30 20 20 20 20 20 20 20 3B 69 6E 74 5,6,0 ;int
000020: 20 76 6D 63 6F 64 65 0D 0A 20 20 20 20 20 20 20 vmcode..
000030: 20 20 20 20 20 20 20 64 62 20 39 32 20 20 20 20 db 92
000040: 20 20 20 20 20 20 20 3B 6C 70 6E 20 76 6D 63 6F ;lpn vmco
000050: 64 65 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 de..
000060: 20 20 64 62 20 30 20 20 20 20 20 20 20 20 20 20 db 0
000070: 20 20 3B 6D 6F 64 65 20 76 6D 63 6F 64 65 0D 0A ;mode vmcode..
000080: 20 20 20 20 20 20 3B 6F 6E 20 65 6E 74 72 79 20 ;on entry
000090: 20 62 63 3D 77 74 6F 73 20 20 64 65 3D 77 62 20 bc=wtos de=wb
0000A0: 20 68 6C 3D 77 62 61 73 65 0D 0A 20 20 20 20 20 hl=wbase..
0000B0: 20 3B 0D 0A 20 20 20 20 20 20 3B 67 65 74 20 62 ;.. ;get b
0000C0: 69 74 23 20 69 6E 74 6F 20 62 5F 72 65 67 20 61 it# into b_reg a
0000D0: 6E 64 20 78 20 69 6E 74 6F 20 61 5F 72 65 67 0D nd x into a_reg.
0000E0: 0A 20 20 20 20 20 20 74 65 73 74 62 69 74 20 78 . testbit x
0000F0: 63 68 67 20 20 20 20 20 20 20 20 20 20 20 20 3B chg ;
000100: 68 6C 3D 77 62 0D 0A 20 20 20 20 20 20 20 20 20 hl=wb..
000110: 20 20 20 20 20 64 63 78 20 68 21 20 64 63 78 20 dcx h! dcx
000120: 68 21 20 64 63 78 20 68 21 20 64 63 78 20 68 20 h! dcx h! dcx h
000130: 3B 70 6F 69 6E 74 20 74 6F 20 62 69 74 20 6C 6F ;point to bit lo
000140: 77 6E 69 62 0D 0A 20 20 20 20 20 20 20 20 20 20 wnib..
000150: 20 20 20 20 6D 6F 76 20 62 2C 6D 20 20 20 20 20 mov b,m
000160: 20 20 20 20 3B 6C 6F 77 20 62 79 74 65 20 6F 66 ;low byte of
000170: 20 62 69 74 0D 0A 20 20 20 20 20 20 20 20 20 20 bit..
000180: 20 20 20 20 64 63 78 20 68 21 20 6D 6F 76 20 61 dcx h! mov a
000190: 2C 6D 20 20 3B 78 0D 0A 20 20 20 20 20 20 20 20 ,m ;x..
0001A0: 20 20 20 20 20 20 69 6E 72 20 62 0D 0A 20 20 20 inr b..
0001B0: 20 20 20 3B 73 68 69 66 74 20 6C 6F 6F 70 0D 0A ;shift loop..
0001C0: 20 20 20 20 20 20 6C 6F 6F 70 20 20 20 20 72 6C loop rl
0001D0: 63 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 20 c..
0001E0: 20 64 63 72 20 62 0D 0A 20 20 20 20 20 20 20 20 dcr b..
0001F0: 20 20 20 20 20 20 6A 6E 7A 20 6C 6F 6F 70 0D 0A jnz loop..
Size : 512 (Real : 512)
000000: 70 6E 20 76 6D 63 6F 64 65 0D 0A 20 20 20 20 20 pn vmcode..
000010: 20 20 20 20 20 20 20 20 20 64 62 20 30 20 20 20 db 0
000020: 20 20 20 20 20 20 20 20 20 3B 6D 6F 64 65 20 76 ;mode v
000030: 6D 63 6F 64 65 0D 0A 20 20 20 20 20 20 3B 6F 6E mcode.. ;on
000040: 20 65 6E 74 72 79 20 20 62 63 3D 77 74 6F 73 20 entry bc=wtos
000050: 20 64 65 3D 77 62 20 20 68 6C 3D 77 62 61 73 65 de=wb hl=wbase
000060: 0D 0A 20 20 20 20 20 20 3B 0D 0A 20 20 20 20 20 .. ;..
000070: 20 3B 67 65 74 20 62 69 74 23 20 69 6E 20 62 5F ;get bit# in b_
000080: 72 65 67 2C 20 20 61 64 64 72 28 78 29 20 69 6E reg, addr(x) in
000090: 20 68 6C 2C 20 20 78 20 69 6E 74 6F 20 63 5F 72 hl, x into c_r
0000A0: 65 67 0D 0A 20 20 20 20 20 20 73 65 74 62 69 74 eg.. setbit
0000B0: 20 20 78 63 68 67 20 20 20 20 20 20 20 20 20 20 xchg
0000C0: 20 20 3B 68 6C 3D 77 62 0D 0A 20 20 20 20 20 20 ;hl=wb..
0000D0: 20 20 20 20 20 20 20 20 64 63 78 20 68 21 20 64 dcx h! d
0000E0: 63 78 20 68 21 20 64 63 78 20 68 21 20 64 63 78 cx h! dcx h! dcx
0000F0: 20 68 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 h..
000100: 20 20 6D 6F 76 20 62 2C 6D 20 20 20 20 20 20 20 mov b,m
000110: 20 20 3B 62 69 74 23 0D 0A 20 20 20 20 20 20 20 ;bit#..
000120: 20 20 20 20 20 20 20 64 63 78 20 68 21 20 6D 6F dcx h! mo
000130: 76 20 64 2C 6D 21 20 64 63 78 20 68 21 20 6D 6F v d,m! dcx h! mo
000140: 76 20 65 2C 6D 20 3B 61 64 64 72 28 78 29 0D 0A v e,m ;addr(x)..
000150: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 78 63 xc
000160: 68 67 20 20 20 20 20 20 20 20 20 20 20 20 3B 68 hg ;h
000170: 6C 3D 61 64 64 72 28 78 29 0D 0A 20 20 20 20 20 l=addr(x)..
000180: 20 20 20 20 20 20 20 20 20 6D 6F 76 20 63 2C 6D mov c,m
000190: 20 20 20 20 20 20 20 20 20 3B 63 3D 78 0D 0A 20 ;c=x..
0001A0: 20 20 20 20 20 3B 63 72 65 61 74 65 20 6D 61 73 ;create mas
0001B0: 6B 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 20 k..
0001C0: 20 69 6E 72 20 62 20 20 20 20 20 20 20 20 20 20 inr b
0001D0: 20 3B 69 6E 63 72 20 6C 6F 6F 70 20 63 6F 75 6E ;incr loop coun
0001E0: 74 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 20 t..
0001F0: 20 6D 76 69 20 61 2C 31 0D 0A 20 20 20 20 20 20 mvi a,1..
Size : 512 (Real : 512)
000000: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6A 63 jc
000010: 20 74 72 75 65 20 20 20 20 20 20 20 20 20 3B 62 true ;b
000020: 69 74 20 69 73 20 73 65 74 0D 0A 20 20 20 20 20 it is set..
000030: 20 3B 66 61 6C 73 65 20 3A 20 62 69 74 20 69 73 ;false : bit is
000040: 20 7A 65 72 6F 0D 0A 20 20 20 20 20 20 20 20 20 zero..
000050: 20 20 20 20 20 64 63 78 20 68 21 20 6D 76 69 20 dcx h! mvi
000060: 6D 2C 30 21 20 64 63 78 20 68 21 20 6D 76 69 20 m,0! dcx h! mvi
000070: 6D 2C 30 0D 0A 20 20 20 20 20 20 20 20 20 20 20 m,0..
000080: 20 20 20 72 65 74 0D 0A 20 20 20 20 20 20 3B 74 ret.. ;t
000090: 72 75 65 20 3A 20 62 69 74 20 69 73 20 6F 6E 65 rue : bit is one
0000A0: 0D 0A 20 20 20 20 20 20 74 72 75 65 20 20 20 20 .. true
0000B0: 64 63 78 20 68 21 20 6D 76 69 20 6D 2C 30 21 20 dcx h! mvi m,0!
0000C0: 64 63 78 20 68 21 20 6D 76 69 20 6D 2C 31 0D 0A dcx h! mvi m,1..
0000D0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 re
0000E0: 74 0D 0A 20 20 20 20 20 20 3B 0D 0A 20 20 20 20 t.. ;..
0000F0: 20 20 20 20 20 20 20 20 20 20 65 6E 64 0D 0A 1A end...
000100: 2D 7D 80 3B EF 94 F4 D7 6C 39 11 8E 11 59 59 D3 -}.;....l9...YY.
000110: 2D E1 DE 1F 5E 61 81 AB 23 1F 7C 80 9B 1C 5E A1 -...^a..#.|...^.
000120: B7 94 72 C4 94 92 DE A2 8D 94 61 0D 93 32 92 D2 ..r.......a..2..
000130: 1C D3 39 4E 3B 25 3D AE 8E 7C 80 3B 9F E2 18 FF ..9N;%=..|.;....
000140: 57 2A 51 5F 76 BB DD D2 07 B8 F3 69 DB AB EB 68 W*Q_v......i...h
000150: BF 11 8E 61 0D 53 47 6A E9 03 DC 79 B2 86 AE A3 ...a.SGj...y....
000160: FD 46 38 86 35 4C 1D A9 A5 0F 70 E7 4A 6F AF 8B .F8.5L....p.Jo..
000170: 6E 0D E3 18 D6 30 75 A4 96 3E C0 9D DF BB 8E 8D n....0u..>......
000180: 14 6B 3A 1C 43 91 A4 A5 0F 70 E7 F3 EB D8 48 B1 .k:.C....p....H.
000190: A6 C3 31 14 49 5A FA 00 77 4E 26 2F 7D F0 01 6E ..1.IZ..wN&/}..n
0001A0: 72 26 CA 07 B8 C9 69 67 71 8C D3 4E 49 7F 6D 0D r&....igq..NI.m.
0001B0: 93 EA A5 D0 D2 07 1F 7C F0 01 6E 72 78 85 5E A7 .......|..nrx.^.
0001C0: A4 B7 D6 74 10 45 68 23 65 4C E7 68 94 EE 94 D4 ...t.Eh#eL.h....
0001D0: 38 ED 70 75 E4 03 DC A4 B7 89 AE 8D D4 84 63 88 8.pu..........c.
0001E0: 52 32 FF CD DD 30 3C DA FD 16 BA 47 A9 44 2D 7D R2...0<....G.D-}
0001F0: 80 9B B0 E5 44 38 86 28 25 F3 DF DC 0D C3 A3 9F ....D8.(%.......
Size : 512 (Real : 512)
000000: 6C 6F 6F 70 20 20 20 20 72 72 63 0D 0A 20 20 20 loop rrc..
000010: 20 20 20 20 20 20 20 20 20 20 20 64 63 72 20 62 dcr b
000020: 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ..
000030: 6A 6E 7A 20 6C 6F 6F 70 0D 0A 20 20 20 20 20 20 jnz loop..
000040: 3B 61 3D 6D 61 73 6B 20 20 63 3D 62 79 74 65 0D ;a=mask c=byte.
000050: 0A 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6F . o
000060: 72 61 20 63 0D 0A 20 20 20 20 20 20 20 20 20 20 ra c..
000070: 20 20 20 20 6D 6F 76 20 6D 2C 61 20 20 20 20 20 mov m,a
000080: 20 20 20 20 3B 73 74 6F 72 65 20 62 79 74 65 0D ;store byte.
000090: 0A 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 . r
0000A0: 65 74 0D 0A 20 20 20 20 20 20 3B 0D 0A 20 20 20 et.. ;..
0000B0: 20 20 20 20 20 20 20 20 20 20 20 65 6E 64 0D 0A end..
0000C0: 0D 0A 20 20 20 20 20 20 4C 69 73 74 69 6E 67 20 .. Listing
0000D0: 6F 66 20 72 65 73 65 74 62 69 74 2E 61 73 6D 0D of resetbit.asm.
0000E0: 0A 0D 0A 20 20 20 20 20 20 3B 72 65 73 65 74 62 ... ;resetb
0000F0: 69 74 2E 61 73 6D 0D 0A 20 20 20 20 20 20 3B 65 it.asm.. ;e
000100: 78 74 65 72 6E 61 6C 20 70 72 6F 63 65 64 75 72 xternal procedur
000110: 65 20 77 68 69 63 68 20 72 65 73 65 74 20 62 69 e which reset bi
000120: 74 20 69 6E 20 61 20 62 79 74 65 0D 0A 20 20 20 t in a byte..
000130: 20 20 20 3B 0D 0A 20 20 20 20 20 20 3B 20 70 72 ;.. ; pr
000140: 6F 63 65 64 75 72 65 20 72 65 73 65 74 62 69 74 ocedure resetbit
000150: 20 28 20 76 61 72 20 78 20 3A 20 63 68 61 72 3B ( var x : char;
000160: 20 62 69 74 20 3A 20 69 6E 74 65 67 65 72 20 29 bit : integer )
000170: 3B 0D 0A 20 20 20 20 20 20 3B 20 20 20 20 20 20 ;.. ;
000180: 20 20 20 20 20 20 20 20 20 65 78 74 65 72 6E 3B extern;
000190: 0D 0A 20 20 20 20 20 20 3B 20 62 69 74 23 20 69 .. ; bit# i
0001A0: 6E 20 72 61 6E 67 65 20 30 2E 2E 37 0D 0A 20 20 n range 0..7..
0001B0: 20 20 20 20 3B 0D 0A 20 20 20 20 20 20 3B 65 6E ;.. ;en
0001C0: 74 72 79 20 63 6F 64 65 0D 0A 20 20 20 20 20 20 try code..
0001D0: 20 20 20 20 20 20 20 20 64 62 20 39 35 2C 36 2C db 95,6,
0001E0: 30 20 20 20 20 20 20 20 3B 69 6E 74 20 76 6D 63 0 ;int vmc
0001F0: 6F 64 65 0D 0A 20 20 20 20 20 20 20 20 20 20 20 ode..
Size : 512 (Real : 512)
000000: 20 20 20 20 20 20 31 31 2E 20 20 20 53 74 6F 72 11. Stor
000010: 61 67 65 20 6D 61 6E 61 67 65 6D 65 6E 74 0D 0A age management..
000020: 0D 0A 20 20 20 20 20 20 20 20 20 20 20 54 68 69 .. Thi
000030: 73 20 20 73 65 63 74 69 6F 6E 20 64 69 73 63 75 s section discu
000040: 73 73 65 73 20 74 68 65 20 69 6E 69 74 69 61 6C sses the initial
000050: 69 7A 61 74 69 6F 6E 20 61 6E 64 20 73 74 72 75 ization and stru
000060: 63 74 75 72 65 20 6F 66 20 6D 61 69 6E 0D 0A 20 cture of main..
000070: 20 20 20 20 20 73 74 6F 72 61 67 65 20 69 6E 20 storage in
000080: 74 68 65 20 4A 52 54 20 50 61 73 63 61 6C 20 73 the JRT Pascal s
000090: 79 73 74 65 6D 20 64 75 72 69 6E 67 20 65 78 65 ystem during exe
0000A0: 63 75 74 69 6F 6E 20 6F 66 20 50 61 73 63 61 6C cution of Pascal
0000B0: 20 70 72 6F 67 72 61 6D 73 2E 0D 0A 0D 0A 0D 0A programs.......
0000C0: 20 20 20 20 20 20 31 31 2E 31 20 20 4D 61 69 6E 11.1 Main
0000D0: 20 73 74 6F 72 61 67 65 0D 0A 0D 0A 20 20 20 20 storage....
0000E0: 20 20 20 20 20 20 20 57 68 65 6E 20 61 20 50 61 When a Pa
0000F0: 73 63 61 6C 20 70 72 6F 67 72 61 6D 20 69 73 20 scal program is
000100: 73 74 61 72 74 65 64 20 62 79 20 65 6E 74 65 72 started by enter
000110: 69 6E 67 20 74 68 65 20 20 63 6F 6D 6D 61 6E 64 ing the command
000120: 20 20 22 45 58 45 43 0D 0A 20 20 20 20 20 20 70 "EXEC.. p
000130: 72 6F 67 5F 6E 61 6D 65 22 2C 20 20 74 68 65 20 rog_name", the
000140: 45 58 45 43 2E 43 4F 4D 20 66 69 6C 65 20 69 73 EXEC.COM file is
000150: 20 6C 6F 61 64 65 64 20 69 6E 74 6F 20 6D 61 69 loaded into mai
000160: 6E 20 73 74 6F 72 61 67 65 20 61 74 20 61 64 64 n storage at add
000170: 72 65 73 73 0D 0A 20 20 20 20 20 20 31 30 30 48 ress.. 100H
000180: 20 62 79 20 74 68 65 20 43 50 2F 4D 20 6F 70 65 by the CP/M ope
000190: 72 61 74 69 6E 67 20 73 79 73 74 65 6D 2E 20 20 rating system.
0001A0: 41 66 74 65 72 20 45 58 45 43 20 72 65 63 65 69 After EXEC recei
0001B0: 76 65 73 20 63 6F 6E 74 72 6F 6C 20 20 66 72 6F ves control fro
0001C0: 6D 0D 0A 20 20 20 20 20 20 43 50 2F 4D 2C 20 20 m.. CP/M,
0001D0: 69 74 20 20 64 65 74 65 72 6D 69 6E 65 73 20 20 it determines
0001E0: 68 6F 77 20 6D 75 63 68 20 73 74 6F 72 61 67 65 how much storage
0001F0: 20 69 73 20 61 76 61 69 6C 61 62 6C 65 20 61 6E is available an
Size : 512 (Real : 512)
000000: 20 20 20 64 62 20 39 32 20 20 20 20 20 20 20 20 db 92
000010: 20 20 20 3B 6C 70 6E 20 76 6D 63 6F 64 65 0D 0A ;lpn vmcode..
000020: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 64 62 db
000030: 20 30 20 20 20 20 20 20 20 20 20 20 20 20 3B 6D 0 ;m
000040: 6F 64 65 20 76 6D 63 6F 64 65 0D 0A 20 20 20 20 ode vmcode..
000050: 20 20 3B 6F 6E 20 65 6E 74 72 79 20 20 62 63 3D ;on entry bc=
000060: 77 74 6F 73 20 20 64 65 3D 77 62 20 20 68 6C 3D wtos de=wb hl=
000070: 77 62 61 73 65 0D 0A 20 20 20 20 20 20 3B 0D 0A wbase.. ;..
000080: 20 20 20 20 20 20 3B 67 65 74 20 62 69 74 23 20 ;get bit#
000090: 69 6E 20 62 5F 72 65 67 2C 20 20 61 64 64 72 28 in b_reg, addr(
0000A0: 78 29 20 69 6E 20 68 6C 2C 20 20 78 20 69 6E 74 x) in hl, x int
0000B0: 6F 20 63 5F 72 65 67 0D 0A 20 20 20 20 20 20 72 o c_reg.. r
0000C0: 65 73 65 74 62 69 74 20 78 63 68 67 20 20 20 20 esetbit xchg
0000D0: 20 20 20 20 20 20 20 3B 68 6C 3D 77 62 0D 0A 20 ;hl=wb..
0000E0: 20 20 20 20 20 20 20 20 20 20 20 20 20 64 63 78 dcx
0000F0: 20 68 21 20 64 63 78 20 68 21 20 64 63 78 20 68 h! dcx h! dcx h
000100: 21 20 64 63 78 20 68 0D 0A 20 20 20 20 20 20 20 ! dcx h..
000110: 20 20 20 20 20 20 20 6D 6F 76 20 62 2C 6D 20 20 mov b,m
000120: 20 20 20 20 20 20 20 3B 62 69 74 23 0D 0A 20 20 ;bit#..
000130: 20 20 20 20 20 20 20 20 20 20 20 20 64 63 78 20 dcx
000140: 68 21 20 6D 6F 76 20 64 2C 6D 21 20 64 63 78 20 h! mov d,m! dcx
000150: 68 21 20 6D 6F 76 20 65 2C 6D 20 3B 61 64 64 72 h! mov e,m ;addr
000160: 28 78 29 0D 0A 20 20 20 20 20 20 20 20 20 20 20 (x)..
000170: 20 20 20 78 63 68 67 20 20 20 20 20 20 20 20 20 xchg
000180: 20 20 20 3B 68 6C 3D 61 64 64 72 28 78 29 0D 0A ;hl=addr(x)..
000190: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6D 6F mo
0001A0: 76 20 63 2C 6D 20 20 20 20 20 20 20 20 20 3B 63 v c,m ;c
0001B0: 3D 78 0D 0A 20 20 20 20 20 20 3B 63 72 65 61 74 =x.. ;creat
0001C0: 65 20 6D 61 73 6B 0D 0A 20 20 20 20 20 20 20 20 e mask..
0001D0: 20 20 20 20 20 20 69 6E 72 20 62 20 20 20 20 20 inr b
0001E0: 20 20 20 20 20 20 3B 69 6E 63 72 20 6C 6F 6F 70 ;incr loop
0001F0: 20 63 6F 75 6E 74 0D 0A 20 20 20 20 20 20 20 20 count..
Size : 512 (Real : 512)
000000: 64 20 66 6F 72 6D 61 74 73 20 74 68 69 73 0D 0A d formats this..
000010: 20 20 20 20 20 20 61 72 65 61 2E 20 20 20 45 58 area. EX
000020: 45 43 20 20 74 68 65 6E 20 20 6C 6F 61 64 73 20 EC then loads
000030: 20 74 68 65 20 20 50 61 73 63 61 6C 20 20 70 72 the Pascal pr
000040: 6F 67 72 61 6D 20 20 6D 6F 64 75 6C 65 20 20 66 ogram module f
000050: 72 6F 6D 20 20 20 64 69 73 6B 2E 0D 0A 20 20 20 rom disk...
000060: 20 20 20 50 72 6F 63 65 73 73 69 6E 67 20 6F 66 Processing of
000070: 20 74 68 65 20 50 61 73 63 61 6C 20 70 72 6F 67 the Pascal prog
000080: 72 61 6D 20 74 68 65 6E 20 62 65 67 69 6E 73 2E ram then begins.
000090: 0D 0A 0D 0A 20 20 20 20 20 20 20 20 20 20 20 44 .... D
0000A0: 75 72 69 6E 67 20 20 70 72 6F 67 72 61 6D 20 20 uring program
0000B0: 65 78 65 63 75 74 69 6F 6E 2C 20 20 74 68 65 72 execution, ther
0000C0: 65 20 61 72 65 20 66 6F 75 72 20 6D 61 69 6E 20 e are four main
0000D0: 72 65 67 69 6F 6E 73 20 6F 66 20 6D 61 69 6E 0D regions of main.
0000E0: 0A 20 20 20 20 20 20 73 74 6F 72 61 67 65 2E 20 . storage.
0000F0: 20 53 74 61 72 74 69 6E 67 20 66 72 6F 6D 20 74 Starting from t
000100: 68 65 20 6C 6F 77 65 73 74 20 61 64 64 72 65 73 he lowest addres
000110: 73 2C 20 74 68 65 73 65 20 61 72 65 3A 0D 0A 0D s, these are:...
000120: 0A 20 20 20 20 20 20 31 2E 20 45 58 45 43 20 2D . 1. EXEC -
000130: 20 54 68 65 20 72 75 6E 2D 74 69 6D 65 20 65 6E The run-time en
000140: 76 69 72 6F 6E 6D 65 6E 74 2E 20 20 54 68 69 73 vironment. This
000150: 20 72 65 67 69 6F 6E 20 69 73 20 66 69 78 65 64 region is fixed
000160: 20 69 6E 20 73 69 7A 65 20 61 6E 64 0D 0A 20 20 in size and..
000170: 20 20 20 20 63 6F 6E 74 61 69 6E 73 20 74 68 65 contains the
000180: 20 70 72 69 6D 61 72 79 20 72 75 6E 2D 74 69 6D primary run-tim
000190: 65 20 73 75 70 70 6F 72 74 20 73 79 73 74 65 6D e support system
0001A0: 2E 0D 0A 0D 0A 20 20 20 20 20 20 32 2E 20 50 61 ..... 2. Pa
0001B0: 73 63 61 6C 20 70 72 6F 67 72 61 6D 20 6D 6F 64 scal program mod
0001C0: 75 6C 65 20 2D 20 54 68 69 73 20 72 65 67 69 6F ule - This regio
0001D0: 6E 20 69 73 20 66 69 78 65 64 20 69 6E 20 73 69 n is fixed in si
0001E0: 7A 65 20 61 6E 64 20 20 63 6F 6E 74 61 69 6E 73 ze and contains
0001F0: 0D 0A 20 20 20 20 20 20 74 68 65 20 63 6F 6D 70 .. the comp
Size : 512 (Real : 512)
000000: 20 20 20 20 20 20 6D 76 69 20 61 2C 30 66 65 68 mvi a,0feh
000010: 0D 0A 20 20 20 20 20 20 6C 6F 6F 70 20 20 20 20 .. loop
000020: 72 72 63 0D 0A 20 20 20 20 20 20 20 20 20 20 20 rrc..
000030: 20 20 20 64 63 72 20 62 0D 0A 20 20 20 20 20 20 dcr b..
000040: 20 20 20 20 20 20 20 20 6A 6E 7A 20 6C 6F 6F 70 jnz loop
000050: 0D 0A 20 20 20 20 20 20 3B 61 3D 6D 61 73 6B 20 .. ;a=mask
000060: 20 63 3D 62 79 74 65 0D 0A 20 20 20 20 20 20 20 c=byte..
000070: 20 20 20 20 20 20 20 61 6E 61 20 63 0D 0A 20 20 ana c..
000080: 20 20 20 20 20 20 20 20 20 20 20 20 6D 6F 76 20 mov
000090: 6D 2C 61 20 20 20 20 20 20 20 20 20 3B 73 74 6F m,a ;sto
0000A0: 72 65 20 62 79 74 65 0D 0A 20 20 20 20 20 20 20 re byte..
0000B0: 20 20 20 20 20 20 20 72 65 74 0D 0A 20 20 20 20 ret..
0000C0: 20 20 3B 0D 0A 20 20 20 20 20 20 20 20 20 20 20 ;..
0000D0: 20 20 20 65 6E 64 0D 0A 0D 0A 0D 0A 20 20 20 20 end......
0000E0: 20 20 4C 69 73 74 69 6E 67 20 6F 66 20 74 65 73 Listing of tes
0000F0: 74 62 69 74 2E 61 73 6D 0D 0A 0D 0A 20 20 20 20 tbit.asm....
000100: 20 20 3B 74 65 73 74 62 69 74 2E 61 73 6D 0D 0A ;testbit.asm..
000110: 20 20 20 20 20 20 3B 65 78 74 65 72 6E 61 6C 20 ;external
000120: 66 75 6E 63 74 69 6F 6E 20 77 68 69 63 68 20 72 function which r
000130: 65 74 75 72 6E 73 20 62 69 74 20 76 61 6C 75 65 eturns bit value
000140: 20 6F 66 20 61 20 62 79 74 65 0D 0A 20 20 20 20 of a byte..
000150: 20 20 3B 0D 0A 20 20 20 20 20 20 3B 20 66 75 6E ;.. ; fun
000160: 63 74 69 6F 6E 20 74 65 73 74 62 69 74 20 28 20 ction testbit (
000170: 78 20 3A 20 63 68 61 72 3B 20 62 69 74 20 3A 20 x : char; bit :
000180: 69 6E 74 65 67 65 72 20 29 3A 0D 0A 20 20 20 20 integer ):..
000190: 20 20 3B 20 20 20 20 20 20 20 20 20 20 20 20 20 ;
0001A0: 20 20 62 6F 6F 6C 65 61 6E 3B 20 65 78 74 65 72 boolean; exter
0001B0: 6E 3B 0D 0A 20 20 20 20 20 20 3B 0D 0A 20 20 20 n;.. ;..
0001C0: 20 20 20 3B 20 62 69 74 20 6E 75 6D 62 65 72 20 ; bit number
0001D0: 69 73 20 69 6E 20 72 61 6E 67 65 20 30 2E 2E 37 is in range 0..7
0001E0: 0D 0A 20 20 20 20 20 20 3B 0D 0A 20 20 20 20 20 .. ;..
0001F0: 20 3B 65 6E 74 72 79 20 63 6F 64 65 0D 0A 20 20 ;entry code..
Size : 512 (Real : 512)
000000: 69 6C 65 64 20 50 61 73 63 61 6C 20 70 72 6F 67 iled Pascal prog
000010: 72 61 6D 20 66 72 6F 6D 20 61 6E 20 27 2E 49 4E ram from an '.IN
000020: 54 27 20 66 69 6C 65 2E 0D 0A 0D 0A 20 20 20 20 T' file.....
000030: 20 20 33 2E 20 20 44 61 74 61 20 20 73 74 61 63 3. Data stac
000040: 6B 20 20 2D 20 54 68 69 73 20 72 65 67 69 6F 6E k - This region
000050: 20 69 73 20 76 61 72 69 61 62 6C 65 20 69 6E 20 is variable in
000060: 73 69 7A 65 2E 20 20 49 74 20 62 65 67 69 6E 73 size. It begins
000070: 20 61 74 20 74 68 65 0D 0A 20 20 20 20 20 20 65 at the.. e
000080: 6E 64 20 6F 66 20 74 68 65 20 50 61 73 63 61 6C nd of the Pascal
000090: 20 70 72 6F 67 72 61 6D 20 61 6E 64 20 20 67 72 program and gr
0000A0: 6F 77 73 20 20 74 6F 77 61 72 64 20 20 68 69 67 ows toward hig
0000B0: 68 65 72 20 20 61 64 64 72 65 73 73 65 73 20 20 her addresses
0000C0: 28 61 6E 64 0D 0A 20 20 20 20 20 20 74 6F 77 61 (and.. towa
0000D0: 72 64 20 20 74 68 65 20 20 64 79 6E 61 6D 69 63 rd the dynamic
0000E0: 20 20 73 74 6F 72 61 67 65 20 20 72 65 67 69 6F storage regio
0000F0: 6E 2C 20 20 64 69 73 63 75 73 73 65 64 20 6E 65 n, discussed ne
000100: 78 74 29 2E 20 20 54 68 69 73 20 72 65 67 69 6F xt). This regio
000110: 6E 0D 0A 20 20 20 20 20 20 63 6F 6E 74 61 69 6E n.. contain
000120: 73 20 61 6C 6C 20 73 74 61 74 69 63 20 76 61 72 s all static var
000130: 69 61 62 6C 65 73 20 28 74 68 6F 73 65 20 63 72 iables (those cr
000140: 65 61 74 65 64 20 20 62 79 20 20 56 41 52 20 20 eated by VAR
000150: 64 65 63 6C 61 72 61 74 69 6F 6E 73 29 2C 0D 0A declarations),..
000160: 20 20 20 20 20 20 70 61 72 61 6D 65 74 65 72 73 parameters
000170: 20 70 61 73 73 65 64 20 74 6F 20 70 72 6F 63 65 passed to proce
000180: 64 75 72 65 73 20 61 6E 64 20 70 72 6F 63 65 64 dures and proced
000190: 75 72 65 20 61 63 74 69 76 61 74 69 6F 6E 20 62 ure activation b
0001A0: 6C 6F 63 6B 73 2E 0D 0A 0D 0A 20 20 20 20 20 20 locks.....
0001B0: 34 2E 20 20 44 79 6E 61 6D 69 63 20 20 73 74 6F 4. Dynamic sto
0001C0: 72 61 67 65 20 2D 20 54 68 69 73 20 72 65 67 69 rage - This regi
0001D0: 6F 6E 20 69 73 20 76 61 72 69 61 62 6C 65 20 69 on is variable i
0001E0: 6E 20 73 69 7A 65 2E 20 20 49 74 20 62 65 67 69 n size. It begi
0001F0: 6E 73 20 61 74 0D 0A 20 20 20 20 20 20 74 68 65 ns at.. the
Size : 512 (Real : 512)
000000: 20 73 69 7A 65 20 20 20 20 20 20 20 20 49 0D 0A size I..
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 20 20 20 20 20 20 49 20 I
000030: 20 20 20 64 69 72 65 63 74 69 6F 6E 20 6F 66 20 direction of
000040: 67 72 6F 77 74 68 20 20 5E 20 20 20 49 0D 0A 20 growth ^ I..
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 49 2D 2D I--
000070: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
000080: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 49 0D 0A 20 20 -----------I..
000090: 20 20 20 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 49 20 20 50 I P
0000B0: 41 53 43 41 4C 20 50 52 4F 47 52 41 4D 20 20 20 ASCAL PROGRAM
0000C0: 20 20 20 20 20 20 20 20 20 20 49 0D 0A 20 20 20 I..
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 20 20 20 49 20 20 20 20 I
0000F0: 20 20 20 20 49 4E 54 20 6D 6F 64 75 6C 65 20 20 INT module
000100: 20 20 20 20 20 20 20 20 20 49 0D 0A 20 20 20 20 I..
000110: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
000120: 20 20 20 20 20 20 20 20 20 20 49 20 20 20 20 20 I
000130: 66 69 78 65 64 20 69 6E 20 73 69 7A 65 20 20 20 fixed in size
000140: 20 20 20 20 20 20 20 20 49 0D 0A 20 20 20 20 20 I..
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 20 49 2D 2D 2D 2D 2D 2D I------
000170: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
000180: 2D 2D 2D 2D 2D 2D 2D 49 0D 0A 20 20 20 20 20 20 -------I..
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 49 20 20 45 58 45 43 2E I EXEC.
0001B0: 43 4F 4D 20 20 20 20 20 20 20 20 20 20 20 20 20 COM
0001C0: 20 20 20 20 20 20 49 0D 0A 20 20 20 20 20 20 20 I..
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 49 20 20 20 20 20 20 20 72 I r
0001F0: 75 6E 2D 74 69 6D 65 20 73 79 73 74 65 6D 20 20 un-time system
Size : 512 (Real : 512)
000000: 20 74 6F 70 20 6F 66 20 61 76 61 69 6C 61 62 6C top of availabl
000010: 65 20 73 74 6F 72 61 67 65 20 61 6E 64 20 67 72 e storage and gr
000020: 6F 77 73 20 64 6F 77 6E 20 20 74 6F 77 61 72 64 ows down toward
000030: 20 20 6C 6F 77 65 72 20 20 61 64 64 72 65 73 73 lower address
000040: 65 73 0D 0A 20 20 20 20 20 20 28 61 6E 64 20 20 es.. (and
000050: 74 6F 77 61 72 64 73 20 20 74 68 65 20 20 64 61 towards the da
000060: 74 61 20 20 73 74 61 63 6B 2C 20 20 70 72 65 76 ta stack, prev
000070: 69 6F 75 73 6C 79 20 64 69 73 63 75 73 73 65 64 iously discussed
000080: 29 2E 20 20 54 68 69 73 20 72 65 67 69 6F 6E 0D ). This region.
000090: 0A 20 20 20 20 20 20 63 6F 6E 74 61 69 6E 73 20 . contains
0000A0: 64 79 6E 61 6D 69 63 20 76 61 72 69 61 62 6C 65 dynamic variable
0000B0: 73 20 28 74 68 6F 73 65 20 20 63 72 65 61 74 65 s (those create
0000C0: 64 20 20 62 79 20 20 74 68 65 20 20 4E 45 57 20 d by the NEW
0000D0: 20 70 72 6F 63 65 64 75 72 65 29 2C 0D 0A 20 20 procedure),..
0000E0: 20 20 20 20 69 6E 70 75 74 2F 6F 75 74 70 75 74 input/output
0000F0: 20 20 62 75 66 66 65 72 73 2C 20 20 66 69 6C 65 buffers, file
000100: 20 20 63 6F 6E 74 72 6F 6C 20 62 6C 6F 63 6B 73 control blocks
000110: 2C 20 65 78 74 65 72 6E 61 6C 20 70 72 6F 63 65 , external proce
000120: 64 75 72 65 73 20 61 6E 64 0D 0A 20 20 20 20 20 dures and..
000130: 20 45 58 45 43 20 63 6F 6E 74 72 6F 6C 20 74 61 EXEC control ta
000140: 62 6C 65 73 2E 0D 0A 0D 0A 20 20 20 20 20 20 20 bles.....
000150: 20 20 20 20 53 69 6E 63 65 20 74 68 65 20 64 61 Since the da
000160: 74 61 20 73 74 61 63 6B 20 61 6E 64 20 74 68 65 ta stack and the
000170: 20 64 79 6E 61 6D 69 63 20 73 74 6F 72 61 67 65 dynamic storage
000180: 20 72 65 67 69 6F 6E 73 20 67 72 6F 77 20 74 6F regions grow to
000190: 77 61 72 64 0D 0A 20 20 20 20 20 20 65 61 63 68 ward.. each
0001A0: 20 6F 74 68 65 72 2C 20 61 20 63 6F 6C 6C 69 73 other, a collis
0001B0: 69 6F 6E 20 62 65 74 77 65 65 6E 20 74 68 65 73 ion between thes
0001C0: 65 20 61 72 65 61 73 20 69 73 20 70 6F 73 73 69 e areas is possi
0001D0: 62 6C 65 20 77 68 65 6E 20 20 73 74 6F 72 61 67 ble when storag
0001E0: 65 0D 0A 20 20 20 20 20 20 69 73 20 20 6E 65 61 e.. is nea
0001F0: 72 6C 79 20 20 66 75 6C 6C 2E 20 20 20 54 6F 20 rly full. To
Size : 512 (Real : 512)
000000: 20 20 20 20 20 49 0D 0A 20 20 20 20 20 20 20 20 I..
000010: 20 6C 6F 77 20 61 64 64 72 65 73 73 20 31 30 30 low address 100
000020: 48 20 20 20 20 20 49 20 20 20 20 20 66 69 78 65 H I fixe
000030: 64 20 69 6E 20 73 69 7A 65 20 20 20 20 20 20 20 d in size
000040: 20 20 20 20 49 0D 0A 20 20 20 20 20 20 20 20 20 I..
000050: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
000060: 20 20 20 20 20 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D -----------
000070: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
000080: 2D 2D 2D 2D 0D 0A 0D 0A 20 20 20 20 20 20 31 31 ----.... 11
000090: 2E 32 20 20 44 79 6E 61 6D 69 63 20 73 74 6F 72 .2 Dynamic stor
0000A0: 61 67 65 0D 0A 0D 0A 20 20 20 20 20 20 20 20 20 age....
0000B0: 20 20 54 68 65 20 4A 52 54 20 50 61 73 63 61 6C The JRT Pascal
0000C0: 20 72 75 6E 2D 74 69 6D 65 20 73 79 73 74 65 6D run-time system
0000D0: 20 20 70 72 6F 76 69 64 65 73 20 20 54 52 55 45 provides TRUE
0000E0: 20 20 64 79 6E 61 6D 69 63 20 20 73 74 6F 72 61 dynamic stora
0000F0: 67 65 0D 0A 20 20 20 20 20 20 77 69 74 68 20 20 ge.. with
000100: 61 75 74 6F 2D 63 6F 6D 70 72 65 73 73 69 6F 6E auto-compression
000110: 2E 20 20 20 56 69 72 74 75 61 6C 20 20 73 74 6F . Virtual sto
000120: 72 61 67 65 20 20 69 73 20 73 75 70 70 6F 72 74 rage is support
000130: 65 64 20 66 6F 72 20 65 78 74 65 72 6E 61 6C 0D ed for external.
000140: 0A 20 20 20 20 20 20 70 72 6F 63 65 64 75 72 65 . procedure
000150: 73 2E 0D 0A 0D 0A 20 20 20 20 20 20 20 20 20 20 s.....
000160: 20 54 68 65 20 4A 52 54 20 50 61 73 63 61 6C 20 The JRT Pascal
000170: 44 79 6E 61 6D 69 63 20 53 74 6F 72 61 67 65 20 Dynamic Storage
000180: 4D 61 6E 61 67 65 6D 65 6E 74 20 53 79 73 74 65 Management Syste
000190: 6D 20 69 73 20 64 65 73 69 67 6E 65 64 20 20 74 m is designed t
0001A0: 6F 0D 0A 20 20 20 20 20 20 70 72 6F 76 69 64 65 o.. provide
0001B0: 20 20 63 6F 6D 70 6C 65 74 65 20 20 73 75 70 70 complete supp
0001C0: 6F 72 74 20 66 6F 72 20 61 64 76 61 6E 63 65 64 ort for advanced
0001D0: 20 66 65 61 74 75 72 65 73 20 73 75 63 68 20 61 features such a
0001E0: 73 20 64 79 6E 61 6D 69 63 20 64 61 74 61 0D 0A s dynamic data..
0001F0: 20 20 20 20 20 20 73 74 72 75 63 74 75 72 65 73 structures
Size : 512 (Real : 512)
000000: 20 70 72 65 76 65 6E 74 20 20 74 68 69 73 20 20 prevent this
000010: 63 6F 6E 64 69 74 69 6F 6E 2C 20 74 68 65 20 72 condition, the r
000020: 75 6E 2D 74 69 6D 65 20 73 79 73 74 65 6D 0D 0A un-time system..
000030: 20 20 20 20 20 20 6D 61 69 6E 74 61 69 6E 73 20 maintains
000040: 61 20 36 34 20 62 79 74 65 20 63 75 73 68 69 6F a 64 byte cushio
000050: 6E 20 62 65 74 77 65 65 6E 20 74 68 65 20 74 77 n between the tw
000060: 6F 20 61 72 65 61 73 2E 20 20 57 68 65 6E 20 74 o areas. When t
000070: 68 65 20 20 63 75 73 68 69 6F 6E 0D 0A 20 20 20 he cushion..
000080: 20 20 20 62 65 63 6F 6D 65 73 20 6C 65 73 73 20 becomes less
000090: 74 68 61 6E 20 36 34 20 62 79 74 65 73 2C 20 74 than 64 bytes, t
0000A0: 68 65 20 72 75 6E 2D 74 69 6D 65 20 73 79 73 74 he run-time syst
0000B0: 65 6D 20 74 61 6B 65 73 20 73 65 76 65 72 61 6C em takes several
0000C0: 20 61 63 74 69 6F 6E 73 0D 0A 20 20 20 20 20 20 actions..
0000D0: 74 6F 20 72 65 73 74 6F 72 65 20 74 68 65 20 63 to restore the c
0000E0: 75 73 68 69 6F 6E 2E 0D 0A 0D 0A 20 20 20 20 20 ushion.....
0000F0: 20 20 20 20 20 20 49 66 20 20 74 68 65 72 65 20 If there
000100: 20 69 73 20 20 6C 65 73 73 20 74 68 61 6E 20 36 is less than 6
000110: 34 20 62 79 74 65 73 20 6F 66 20 66 72 65 65 20 4 bytes of free
000120: 73 70 61 63 65 20 69 6E 20 6D 61 69 6E 20 73 74 space in main st
000130: 6F 72 61 67 65 2C 0D 0A 20 20 20 20 20 20 74 68 orage,.. th
000140: 65 20 6C 65 61 73 74 2D 72 65 63 65 6E 74 6C 79 e least-recently
000150: 2D 75 73 65 64 20 70 72 6F 63 65 64 75 72 65 20 -used procedure
000160: 77 69 6C 6C 20 62 65 20 64 65 6C 65 74 65 64 2E will be deleted.
000170: 20 20 20 44 79 6E 61 6D 69 63 20 20 73 74 6F 72 Dynamic stor
000180: 61 67 65 0D 0A 20 20 20 20 20 20 69 73 20 20 74 age.. is t
000190: 68 65 6E 20 20 63 6F 6D 70 72 65 73 73 65 64 20 hen compressed
0001A0: 20 28 73 65 65 20 20 73 65 63 74 69 6F 6E 20 31 (see section 1
0001B0: 31 2E 32 20 6F 66 20 74 68 69 73 20 6D 61 6E 75 1.2 of this manu
0001C0: 61 6C 29 2E 20 20 50 72 6F 63 65 73 73 69 6E 67 al). Processing
0001D0: 0D 0A 20 20 20 20 20 20 77 69 6C 6C 20 63 6F 6E .. will con
0001E0: 74 69 6E 75 65 20 65 76 65 6E 20 20 69 66 20 20 tinue even if
0001F0: 74 68 65 20 20 63 75 73 68 69 6F 6E 20 20 63 61 the cushion ca
Size : 512 (Real : 512)
000000: 20 28 6C 69 6E 6B 65 64 20 6C 69 73 74 73 2C 20 (linked lists,
000010: 74 72 65 65 73 2C 20 72 69 6E 67 73 2C 2E 2E 2E trees, rings,...
000020: 29 20 61 6E 64 20 63 6F 6D 70 6C 65 74 65 6C 79 ) and completely
000030: 20 20 61 75 74 6F 6D 61 74 69 63 0D 0A 20 20 20 automatic..
000040: 20 20 20 76 69 72 74 75 61 6C 20 20 73 74 6F 72 virtual stor
000050: 61 67 65 20 20 66 6F 72 20 20 65 78 74 65 72 6E age for extern
000060: 61 6C 20 70 72 6F 63 65 64 75 72 65 20 61 6E 64 al procedure and
000070: 20 66 75 6E 63 74 69 6F 6E 20 63 6F 64 65 2E 20 function code.
000080: 20 44 79 6E 61 6D 69 63 0D 0A 20 20 20 20 20 20 Dynamic..
000090: 73 74 6F 72 61 67 65 20 6D 61 79 20 63 6F 6E 74 storage may cont
0000A0: 61 69 6E 20 74 68 65 73 65 20 69 74 65 6D 73 3A ain these items:
0000B0: 0D 0A 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 ....
0000C0: 31 2E 20 65 78 74 65 72 6E 61 6C 20 70 72 6F 63 1. external proc
0000D0: 65 64 75 72 65 73 2F 66 75 6E 63 74 69 6F 6E 73 edures/functions
0000E0: 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 32 2E .. 2.
0000F0: 20 64 79 6E 61 6D 69 63 20 76 61 72 69 61 62 6C dynamic variabl
000100: 65 73 20 63 72 65 61 74 65 64 20 62 79 20 74 68 es created by th
000110: 65 20 4E 45 57 20 70 72 6F 63 65 64 75 72 65 0D e NEW procedure.
000120: 0A 20 20 20 20 20 20 20 20 20 20 20 20 33 2E 20 . 3.
000130: 69 6E 70 75 74 2F 6F 75 74 70 75 74 20 62 75 66 input/output buf
000140: 66 65 72 73 0D 0A 20 20 20 20 20 20 20 20 20 20 fers..
000150: 20 20 34 2E 20 66 69 6C 65 20 63 6F 6E 74 72 6F 4. file contro
000160: 6C 20 62 6C 6F 63 6B 73 0D 0A 20 20 20 20 20 20 l blocks..
000170: 20 20 20 20 20 20 35 2E 20 45 58 45 43 20 63 6F 5. EXEC co
000180: 6E 74 72 6F 6C 20 62 6C 6F 63 6B 73 20 61 6E 64 ntrol blocks and
000190: 20 70 6F 69 6E 74 65 72 20 74 61 62 6C 65 73 0D pointer tables.
0001A0: 0A 20 20 20 20 20 20 20 20 20 20 20 20 36 2E 20 . 6.
0001B0: 61 20 66 72 65 65 20 6C 69 73 74 20 6F 66 20 64 a free list of d
0001C0: 65 2D 61 6C 6C 6F 63 61 74 65 64 20 73 74 6F 72 e-allocated stor
0001D0: 61 67 65 20 62 6C 6F 63 6B 73 0D 0A 0D 0A 20 20 age blocks....
0001E0: 20 20 20 20 20 20 20 20 20 41 6C 6C 20 6F 66 20 All of
0001F0: 74 68 65 73 65 20 69 74 65 6D 73 20 61 72 65 20 these items are
Size : 512 (Real : 512)
000000: 6E 6E 6F 74 20 20 62 65 20 20 72 65 73 74 6F 72 nnot be restor
000010: 65 64 2C 20 20 61 6C 74 68 6F 75 67 68 0D 0A 20 ed, although..
000020: 20 20 20 20 20 70 65 72 66 6F 72 6D 61 6E 63 65 performance
000030: 20 77 69 6C 6C 20 67 72 61 64 75 61 6C 6C 79 20 will gradually
000040: 64 65 63 72 65 61 73 65 2E 0D 0A 0D 0A 20 20 20 decrease.....
000050: 20 20 20 20 20 20 20 20 4F 6E 6C 79 20 20 69 66 Only if
000060: 20 20 74 68 65 72 65 20 20 69 73 20 61 63 74 75 there is actu
000070: 61 6C 6C 79 20 61 20 63 6F 6C 6C 6C 69 73 69 6F ally a colllisio
000080: 6E 20 62 65 74 77 65 65 6E 20 74 68 65 20 64 61 n between the da
000090: 74 61 20 73 74 61 63 6B 0D 0A 20 20 20 20 20 20 ta stack..
0000A0: 61 6E 64 20 74 68 65 20 64 79 6E 61 6D 69 63 20 and the dynamic
0000B0: 73 74 6F 72 61 67 65 20 72 65 67 69 6F 6E 73 20 storage regions
0000C0: 77 69 6C 6C 20 74 68 65 20 72 75 6E 2D 74 69 6D will the run-tim
0000D0: 65 20 73 79 73 74 65 6D 20 72 65 63 6F 67 6E 69 e system recogni
0000E0: 7A 65 20 61 6E 0D 0A 20 20 20 20 20 20 65 72 72 ze an.. err
0000F0: 6F 72 20 63 6F 6E 64 69 74 69 6F 6E 20 61 6E 64 or condition and
000100: 20 74 65 72 6D 69 6E 61 74 65 20 70 72 6F 63 65 terminate proce
000110: 73 73 69 6E 67 2E 0D 0A 0D 0A 20 20 20 20 20 20 ssing.....
000120: 4D 61 70 20 6F 66 20 6D 61 69 6E 20 73 74 6F 72 Map of main stor
000130: 61 67 65 20 75 73 65 20 69 6E 20 4A 52 54 20 50 age use in JRT P
000140: 61 73 63 61 6C 20 73 79 73 74 65 6D 3A 0D 0A 0D ascal system:...
000150: 0A 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .
000160: 20 20 20 68 69 67 68 20 20 20 20 20 20 20 20 2D high -
000170: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
000180: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 0D 0A --------------..
000190: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
0001A0: 20 20 61 64 64 72 65 73 73 20 20 20 20 20 49 20 address I
0001B0: 44 59 4E 41 4D 49 43 20 53 54 4F 52 41 47 45 20 DYNAMIC STORAGE
0001C0: 20 20 20 20 20 20 20 20 20 20 20 20 49 0D 0A 20 I..
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 20 20 20 20 20 49 20 20 I
0001F0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
Size : 512 (Real : 512)
000000: 61 6C 6C 6F 63 61 74 65 64 20 61 73 20 62 6C 6F allocated as blo
000010: 63 6B 73 20 6F 66 20 20 64 79 6E 61 6D 69 63 20 cks of dynamic
000020: 20 73 74 6F 72 61 67 65 2E 0D 0A 20 20 20 20 20 storage...
000030: 20 44 79 6E 61 6D 69 63 20 20 73 74 6F 72 61 67 Dynamic storag
000040: 65 20 20 62 6C 6F 63 6B 73 20 20 61 72 65 20 20 e blocks are
000050: 61 64 64 72 65 73 73 65 64 20 20 69 6E 64 69 72 addressed indir
000060: 65 63 74 6C 79 20 69 6E 20 4A 52 54 20 50 61 73 ectly in JRT Pas
000070: 63 61 6C 20 69 6E 0D 0A 20 20 20 20 20 20 6F 72 cal in.. or
000080: 64 65 72 20 74 6F 20 61 6C 6C 6F 77 20 74 68 65 der to allow the
000090: 20 62 6C 6F 63 6B 73 20 74 6F 20 62 65 20 6D 6F blocks to be mo
0000A0: 76 65 64 20 64 75 72 69 6E 67 20 63 6F 6D 70 72 ved during compr
0000B0: 65 73 73 69 6F 6E 20 62 79 20 20 75 70 64 61 74 ession by updat
0000C0: 69 6E 67 0D 0A 20 20 20 20 20 20 61 20 20 70 6F ing.. a po
0000D0: 69 6E 74 65 72 20 20 74 61 62 6C 65 2E 20 20 20 inter table.
0000E0: 54 68 65 20 20 76 61 6C 75 65 20 20 73 74 6F 72 The value stor
0000F0: 65 64 20 20 69 6E 20 61 20 70 6F 69 6E 74 65 72 ed in a pointer
000100: 20 76 61 72 69 61 62 6C 65 20 62 79 20 74 68 65 variable by the
000110: 0D 0A 20 20 20 20 20 20 65 78 65 63 75 74 69 6F .. executio
000120: 6E 20 6F 66 20 74 68 65 20 4E 45 57 20 70 72 6F n of the NEW pro
000130: 63 65 64 75 72 65 20 69 73 20 61 20 22 76 69 72 cedure is a "vir
000140: 74 75 61 6C 20 61 64 64 72 65 73 73 22 20 72 61 tual address" ra
000150: 74 68 65 72 20 74 68 61 6E 20 74 68 65 0D 0A 20 ther than the..
000160: 20 20 20 20 20 72 65 61 6C 20 61 64 64 72 65 73 real addres
000170: 73 20 6F 66 20 74 68 65 20 62 6C 6F 63 6B 20 61 s of the block a
000180: 6C 6C 6F 63 61 74 65 64 2E 20 20 54 68 65 20 76 llocated. The v
000190: 69 72 74 75 61 6C 20 61 64 64 72 65 73 73 20 69 irtual address i
0001A0: 73 20 75 73 65 64 20 20 74 6F 0D 0A 20 20 20 20 s used to..
0001B0: 20 20 6C 6F 63 61 74 65 20 20 61 6E 20 20 65 6E locate an en
0001C0: 74 72 79 20 20 69 6E 20 61 6E 20 69 6E 74 65 72 try in an inter
0001D0: 6E 61 6C 20 74 61 62 6C 65 20 63 61 6C 6C 65 64 nal table called
0001E0: 20 61 20 70 6F 69 6E 74 65 72 20 74 61 62 6C 65 a pointer table
0001F0: 2C 20 77 68 69 63 68 0D 0A 20 20 20 20 20 20 63 , which.. c
Size : 512 (Real : 512)
000000: 20 20 20 20 20 20 20 20 20 20 20 49 0D 0A 20 20 I..
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 20 20 20 20 49 20 20 20 I
000030: 20 20 76 61 72 69 61 62 6C 65 20 69 6E 20 73 69 variable in si
000040: 7A 65 20 20 20 20 20 20 20 20 49 0D 0A 20 20 20 ze I..
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 49 20 20 20 20 I
000070: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
000080: 20 20 20 20 20 20 20 20 20 49 0D 0A 20 20 20 20 I..
000090: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
0000A0: 20 20 20 20 20 20 20 20 20 20 49 20 20 64 69 72 I dir
0000B0: 65 63 74 69 6F 6E 20 6F 66 20 67 72 6F 77 74 68 ection of growth
0000C0: 20 20 20 20 76 20 20 20 49 0D 0A 20 20 20 20 20 v I..
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 20 49 2D 2D 2D 2D 2D 2D I------
0000F0: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
000100: 2D 2D 2D 2D 2D 2D 2D 49 0D 0A 20 20 20 20 20 20 -------I..
000110: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
000120: 20 20 20 20 20 20 20 20 49 20 20 20 20 75 6E 75 I unu
000130: 73 65 64 20 61 72 65 61 20 28 43 55 53 48 49 4F sed area (CUSHIO
000140: 4E 29 20 20 20 20 49 20 20 36 34 20 62 79 74 65 N) I 64 byte
000150: 73 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 20 s..
000160: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
000170: 20 49 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D I--------------
000180: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 49 ---------------I
000190: 0D 0A 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 20 20 20 20 20 20
0001B0: 49 20 20 44 41 54 41 20 53 54 41 43 4B 20 20 20 I DATA STACK
0001C0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 49 0D I.
0001D0: 0A 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .
0001E0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 49 I
0001F0: 20 20 20 20 20 76 61 72 69 61 62 6C 65 20 69 6E variable in
Size : 512 (Real : 512)
000000: 6F 6E 74 61 69 6E 73 20 74 68 65 20 73 69 7A 65 ontains the size
000010: 20 61 6E 64 20 72 65 61 6C 20 61 64 64 72 65 73 and real addres
000020: 73 20 6F 66 20 65 61 63 68 20 73 74 6F 72 61 67 s of each storag
000030: 65 20 62 6C 6F 63 6B 2E 20 20 54 68 65 72 65 20 e block. There
000040: 20 6D 61 79 0D 0A 20 20 20 20 20 20 62 65 20 75 may.. be u
000050: 70 20 74 6F 20 33 32 20 70 6F 69 6E 74 65 72 20 p to 32 pointer
000060: 74 61 62 6C 65 73 20 61 6E 64 20 65 61 63 68 20 tables and each
000070: 6F 6E 65 20 63 6F 6E 74 61 69 6E 73 20 75 70 20 one contains up
000080: 74 6F 20 35 32 20 65 6E 74 72 69 65 73 20 66 6F to 52 entries fo
000090: 72 0D 0A 20 20 20 20 20 20 73 74 6F 72 61 67 65 r.. storage
0000A0: 20 62 6C 6F 63 6B 73 2E 20 20 44 75 72 69 6E 67 blocks. During
0000B0: 20 64 79 6E 61 6D 69 63 20 73 74 6F 72 61 67 65 dynamic storage
0000C0: 20 63 6F 6D 70 72 65 73 73 69 6F 6E 2C 20 74 68 compression, th
0000D0: 65 20 72 65 61 6C 20 61 64 64 72 65 73 73 0D 0A e real address..
0000E0: 20 20 20 20 20 20 6F 66 20 20 61 20 20 73 74 6F of a sto
0000F0: 72 61 67 65 20 20 62 6C 6F 63 6B 20 20 6D 61 79 rage block may
000100: 20 20 63 68 61 6E 67 65 2C 20 20 62 75 74 20 74 change, but t
000110: 68 65 20 76 69 72 74 75 61 6C 20 61 64 64 72 65 he virtual addre
000120: 73 73 20 64 6F 65 73 20 6E 6F 74 0D 0A 20 20 20 ss does not..
000130: 20 20 20 63 68 61 6E 67 65 2E 0D 0A 0D 0A 20 20 change.....
000140: 20 20 20 20 20 20 20 20 20 54 68 65 20 64 79 6E The dyn
000150: 61 6D 69 63 20 73 74 6F 72 61 67 65 20 6D 61 6E amic storage man
000160: 61 67 65 72 20 70 65 72 66 6F 72 6D 73 20 74 68 ager performs th
000170: 65 73 65 20 73 65 72 76 69 63 65 73 3A 0D 0A 0D ese services:...
000180: 0A 20 20 20 20 20 20 31 2E 20 46 6F 72 6D 61 74 . 1. Format
000190: 20 64 79 6E 61 6D 69 63 20 73 74 6F 72 61 67 65 dynamic storage
0001A0: 20 61 6E 64 20 69 6E 69 74 69 61 6C 69 7A 65 20 and initialize
0001B0: 70 6F 69 6E 74 65 72 20 74 61 62 6C 65 73 2E 0D pointer tables..
0001C0: 0A 0D 0A 20 20 20 20 20 20 32 2E 20 4D 61 69 6E ... 2. Main
0001D0: 74 61 69 6E 20 74 68 65 20 66 72 65 65 20 6C 69 tain the free li
0001E0: 73 74 2E 20 20 54 68 69 73 20 69 73 20 20 61 20 st. This is a
0001F0: 20 6C 69 6E 6B 65 64 20 20 6C 69 73 74 20 20 77 linked list w
Size : 512 (Real : 512)
000000: 73 65 67 6D 65 6E 74 20 70 72 6F 63 65 64 75 72 segment procedur
000010: 65 73 2C 20 6F 76 65 72 6C 61 79 73 20 6F 72 20 es, overlays or
000020: 63 68 61 69 6E 69 6E 67 2C 20 74 68 65 20 76 69 chaining, the vi
000030: 72 74 75 61 6C 20 73 74 6F 72 61 67 65 20 6D 61 rtual storage ma
000040: 6E 61 67 65 72 0D 0A 20 20 20 20 20 20 6C 6F 61 nager.. loa
000050: 64 73 2C 20 61 6E 64 20 77 68 65 6E 20 6E 65 63 ds, and when nec
000060: 65 73 73 61 72 79 20 64 65 6C 65 74 65 73 2C 20 essary deletes,
000070: 20 70 72 6F 67 72 61 6D 20 20 73 65 63 74 69 6F program sectio
000080: 6E 73 20 20 61 75 74 6F 6D 61 74 69 63 61 6C 6C ns automaticall
000090: 79 2E 0D 0A 20 20 20 20 20 20 54 68 69 73 20 20 y... This
0000A0: 6D 61 6B 65 73 20 20 74 68 65 20 61 63 74 75 61 makes the actua
0000B0: 6C 20 73 74 6F 72 61 67 65 20 6F 66 20 74 68 65 l storage of the
0000C0: 20 63 6F 6D 70 75 74 65 72 20 73 65 65 6D 20 6D computer seem m
0000D0: 75 63 68 20 6C 61 72 67 65 72 20 74 68 61 6E 0D uch larger than.
0000E0: 0A 20 20 20 20 20 20 69 74 20 61 63 74 75 61 6C . it actual
0000F0: 6C 79 20 69 73 2E 0D 0A 0D 0A 20 20 20 20 20 20 ly is.....
000100: 20 20 20 20 20 52 65 66 65 72 20 74 6F 20 74 68 Refer to th
000110: 65 20 70 72 65 76 69 6F 75 73 20 73 65 63 74 69 e previous secti
000120: 6F 6E 20 6F 6E 20 73 74 6F 72 61 67 65 20 6D 61 on on storage ma
000130: 6E 61 67 65 6D 65 6E 74 20 66 6F 72 20 20 61 20 nagement for a
000140: 20 66 75 6C 6C 0D 0A 20 20 20 20 20 20 64 65 73 full.. des
000150: 63 72 69 70 74 69 6F 6E 20 6F 66 20 76 69 72 74 cription of virt
000160: 75 61 6C 2F 64 79 6E 61 6D 69 63 20 73 74 6F 72 ual/dynamic stor
000170: 61 67 65 2E 0D 0A 0D 0A 20 20 20 20 20 20 20 20 age.....
000180: 20 20 20 45 78 74 65 72 6E 61 6C 20 70 72 6F 63 External proc
000190: 65 64 75 72 65 73 20 61 72 65 20 6C 6F 61 64 65 edures are loade
0001A0: 64 20 69 6E 74 6F 20 64 79 6E 61 6D 69 63 20 73 d into dynamic s
0001B0: 74 6F 72 61 67 65 20 62 79 20 45 58 45 43 20 77 torage by EXEC w
0001C0: 68 65 6E 0D 0A 20 20 20 20 20 20 74 68 65 79 20 hen.. they
0001D0: 20 61 72 65 20 20 66 69 72 73 74 20 20 72 65 66 are first ref
0001E0: 65 72 65 6E 63 65 64 2C 20 20 75 6E 6C 65 73 73 erenced, unless
0001F0: 20 20 74 68 65 79 20 77 65 72 65 20 6C 69 6E 6B they were link
Size : 512 (Real : 512)
000000: 68 69 63 68 20 20 63 6F 6E 74 61 69 6E 73 0D 0A hich contains..
000010: 20 20 20 20 20 20 62 6C 6F 63 6B 73 20 20 6F 66 blocks of
000020: 20 20 73 74 6F 72 61 67 65 20 20 77 68 69 63 68 storage which
000030: 20 20 68 61 76 65 20 20 62 65 65 6E 20 20 64 65 have been de
000040: 2D 61 6C 6C 6F 63 61 74 65 64 20 20 28 62 79 20 -allocated (by
000050: 74 68 65 20 44 49 53 50 4F 53 45 0D 0A 20 20 20 the DISPOSE..
000060: 20 20 20 70 72 6F 63 65 64 75 72 65 2C 20 20 62 procedure, b
000070: 79 20 20 63 6C 6F 73 69 6E 67 20 20 61 20 20 66 y closing a f
000080: 69 6C 65 2C 20 20 6F 72 20 20 62 79 20 20 70 75 ile, or by pu
000090: 72 67 69 6E 67 20 20 6F 66 20 20 61 6E 20 20 20 rging of an
0000A0: 65 78 74 65 72 6E 61 6C 0D 0A 20 20 20 20 20 20 external..
0000B0: 70 72 6F 63 65 64 75 72 65 29 2E 0D 0A 0D 0A 20 procedure).....
0000C0: 20 20 20 20 20 33 2E 20 20 41 6C 6C 6F 63 61 74 3. Allocat
0000D0: 65 20 20 61 20 73 74 6F 72 61 67 65 20 62 6C 6F e a storage blo
0000E0: 63 6B 2E 20 20 57 68 65 6E 20 61 20 73 74 6F 72 ck. When a stor
0000F0: 61 67 65 20 62 6C 6F 63 6B 20 69 73 20 72 65 71 age block is req
000100: 75 65 73 74 65 64 20 28 62 79 0D 0A 20 20 20 20 uested (by..
000110: 20 20 74 68 65 20 4E 45 57 20 70 72 6F 63 65 64 the NEW proced
000120: 75 72 65 2C 20 6F 70 65 6E 69 6E 67 20 61 20 66 ure, opening a f
000130: 69 6C 65 2C 20 6F 72 20 6C 6F 61 64 69 6E 67 20 ile, or loading
000140: 61 6E 20 65 78 74 65 72 6E 61 6C 20 70 72 6F 63 an external proc
000150: 65 64 75 72 65 29 2C 0D 0A 20 20 20 20 20 20 74 edure),.. t
000160: 68 65 20 73 74 6F 72 61 67 65 20 6D 61 6E 61 67 he storage manag
000170: 65 72 20 61 74 74 65 6D 70 74 73 20 74 6F 20 73 er attempts to s
000180: 61 74 69 73 66 79 20 74 68 69 73 20 72 65 71 75 atisfy this requ
000190: 65 73 74 20 62 79 20 73 65 61 72 63 68 69 6E 67 est by searching
0001A0: 20 74 68 65 0D 0A 20 20 20 20 20 20 66 72 65 65 the.. free
0001B0: 20 6C 69 73 74 20 6F 72 20 65 78 74 65 6E 64 69 list or extendi
0001C0: 6E 67 20 74 68 65 20 64 79 6E 61 6D 69 63 20 73 ng the dynamic s
0001D0: 74 6F 72 61 67 65 20 72 65 67 69 6F 6E 2E 20 57 torage region. W
0001E0: 68 65 6E 20 73 63 61 6E 6E 69 6E 67 20 20 74 68 hen scanning th
0001F0: 65 0D 0A 20 20 20 20 20 20 66 72 65 65 20 20 6C e.. free l
Size : 512 (Real : 512)
000000: 65 64 20 77 69 74 68 20 74 68 65 20 6D 61 69 6E ed with the main
000010: 0D 0A 20 20 20 20 20 20 70 72 6F 67 72 61 6D 20 .. program
000020: 74 6F 20 66 6F 72 6D 20 6F 6E 65 20 6D 6F 64 75 to form one modu
000030: 6C 65 20 28 73 65 65 20 73 65 63 74 69 6F 6E 20 le (see section
000040: 38 20 66 6F 72 20 61 20 20 64 65 73 63 72 69 70 8 for a descrip
000050: 74 69 6F 6E 20 20 6F 66 20 20 74 68 65 0D 0A 20 tion of the..
000060: 20 20 20 20 20 6C 69 6E 6B 65 72 29 2E 20 20 20 linker).
000070: 54 68 65 20 20 6C 6F 61 64 69 6E 67 20 20 69 73 The loading is
000080: 20 20 74 72 61 6E 73 70 61 72 65 6E 74 20 74 6F transparent to
000090: 20 74 68 65 20 70 72 6F 67 72 61 6D 6D 65 72 20 the programmer
0000A0: 69 6E 20 74 68 61 74 20 6E 6F 0D 0A 20 20 20 20 in that no..
0000B0: 20 20 70 6C 61 6E 6E 69 6E 67 20 6F 72 20 65 66 planning or ef
0000C0: 66 6F 72 74 20 69 73 20 72 65 71 75 69 72 65 64 fort is required
0000D0: 2E 0D 0A 0D 0A 20 20 20 20 20 20 20 20 20 20 20 .....
0000E0: 45 78 74 65 72 6E 61 6C 20 70 72 6F 63 65 64 75 External procedu
0000F0: 72 65 73 20 77 68 69 63 68 20 61 72 65 20 6E 6F res which are no
000100: 74 20 6C 69 6E 6B 65 64 20 77 69 74 68 20 74 68 t linked with th
000110: 65 20 20 6D 61 69 6E 20 20 70 72 6F 67 72 61 6D e main program
000120: 0D 0A 20 20 20 20 20 20 72 65 6D 61 69 6E 20 20 .. remain
000130: 69 6E 20 20 73 74 6F 72 61 67 65 20 20 6F 6E 63 in storage onc
000140: 65 20 20 74 68 65 79 20 20 61 72 65 20 6C 6F 61 e they are loa
000150: 64 65 64 20 75 6E 6C 65 73 73 20 61 20 73 68 6F ded unless a sho
000160: 72 74 2D 6F 6E 2D 73 74 6F 72 61 67 65 0D 0A 20 rt-on-storage..
000170: 20 20 20 20 20 63 6F 6E 64 69 74 69 6F 6E 20 6F condition o
000180: 63 63 75 72 73 2C 20 20 74 68 65 6E 20 20 74 68 ccurs, then th
000190: 65 20 20 6C 65 61 73 74 2D 72 65 63 65 6E 74 6C e least-recentl
0001A0: 79 2D 75 73 65 64 20 20 70 72 6F 63 65 64 75 72 y-used procedur
0001B0: 65 20 20 6D 61 79 20 20 62 65 0D 0A 20 20 20 20 e may be..
0001C0: 20 20 64 65 6C 65 74 65 64 2E 20 20 20 49 66 20 deleted. If
0001D0: 20 74 68 69 73 20 20 68 61 70 70 65 6E 73 2C 20 this happens,
0001E0: 20 74 68 65 20 63 6F 6E 74 72 6F 6C 20 62 6C 6F the control blo
0001F0: 63 6B 73 20 61 73 73 6F 63 69 61 74 65 64 20 77 cks associated w
Size : 512 (Real : 512)
000000: 69 73 74 20 20 66 6F 72 20 20 61 20 20 62 6C 6F ist for a blo
000010: 63 6B 2C 20 20 74 68 65 20 20 66 69 72 73 74 20 ck, the first
000020: 62 6C 6F 63 6B 20 77 68 69 63 68 20 69 73 20 6C block which is l
000030: 61 72 67 65 20 65 6E 6F 75 67 68 20 69 73 0D 0A arge enough is..
000040: 20 20 20 20 20 20 73 65 6C 65 63 74 65 64 2E 20 selected.
000050: 20 49 66 20 74 68 69 73 20 62 6C 6F 63 6B 20 69 If this block i
000060: 73 20 6D 75 63 68 20 74 6F 6F 20 20 6C 61 72 67 s much too larg
000070: 65 2C 20 20 69 74 20 20 69 73 20 20 73 70 6C 69 e, it is spli
000080: 74 20 20 61 6E 64 20 20 74 68 65 0D 0A 20 20 20 t and the..
000090: 20 20 20 72 65 6D 61 69 6E 64 65 72 20 20 72 65 remainder re
0000A0: 74 75 72 6E 65 64 20 20 74 6F 20 74 68 65 20 66 turned to the f
0000B0: 72 65 65 20 6C 69 73 74 2E 20 20 41 66 74 65 72 ree list. After
0000C0: 20 61 20 62 6C 6F 63 6B 20 68 61 73 20 62 65 65 a block has bee
0000D0: 6E 20 66 6F 75 6E 64 2C 0D 0A 20 20 20 20 20 20 n found,..
0000E0: 69 74 73 20 72 65 61 6C 20 61 64 64 72 65 73 73 its real address
0000F0: 2C 20 73 69 7A 65 2C 20 61 6E 64 20 61 20 66 6C , size, and a fl
000100: 61 67 20 66 69 65 6C 64 20 61 72 65 20 20 65 6E ag field are en
000110: 74 65 72 65 64 20 20 69 6E 20 20 61 20 20 70 6F tered in a po
000120: 69 6E 74 65 72 0D 0A 20 20 20 20 20 20 74 61 62 inter.. tab
000130: 6C 65 2E 0D 0A 0D 0A 20 20 20 20 20 20 34 2E 20 le..... 4.
000140: 52 65 6C 65 61 73 65 20 61 20 62 6C 6F 63 6B 20 Release a block
000150: 6F 66 20 73 74 6F 72 61 67 65 2E 20 20 54 68 69 of storage. Thi
000160: 73 20 61 64 64 73 20 61 20 64 65 2D 61 6C 6C 6F s adds a de-allo
000170: 63 61 74 65 64 20 62 6C 6F 63 6B 20 74 6F 20 74 cated block to t
000180: 68 65 0D 0A 20 20 20 20 20 20 66 72 65 65 20 6C he.. free l
000190: 69 73 74 20 61 6E 64 20 64 65 6C 65 74 65 73 20 ist and deletes
0001A0: 74 68 65 20 63 6F 72 72 65 73 70 6F 6E 64 69 6E the correspondin
0001B0: 67 20 70 6F 69 6E 74 65 72 20 74 61 62 6C 65 20 g pointer table
0001C0: 65 6E 74 72 69 65 73 2E 0D 0A 0D 0A 20 20 20 20 entries.....
0001D0: 20 20 35 2E 20 20 44 65 74 65 72 6D 69 6E 65 20 5. Determine
0001E0: 74 68 65 20 61 6D 6F 75 6E 74 20 6F 66 20 66 72 the amount of fr
0001F0: 65 65 20 73 70 61 63 65 2E 20 20 54 68 65 20 66 ee space. The f
Size : 512 (Real : 512)
000000: 69 74 68 20 74 68 65 0D 0A 20 20 20 20 20 20 70 ith the.. p
000010: 72 6F 63 65 64 75 72 65 20 41 52 45 20 4B 45 50 rocedure ARE KEP
000020: 54 20 73 6F 20 74 68 61 74 20 72 65 6C 6F 61 64 T so that reload
000030: 69 6E 67 2C 20 69 66 20 6E 65 63 65 73 73 61 72 ing, if necessar
000040: 79 2C 20 63 61 6E 20 62 65 20 64 6F 6E 65 20 20 y, can be done
000050: 6D 6F 72 65 0D 0A 20 20 20 20 20 20 72 61 70 69 more.. rapi
000060: 64 6C 79 2E 20 20 57 68 65 6E 20 6D 61 69 6E 20 dly. When main
000070: 73 74 6F 72 61 67 65 20 69 73 20 73 65 76 65 72 storage is sever
000080: 65 6C 79 20 6F 76 65 72 6C 6F 61 64 65 64 2C 20 ely overloaded,
000090: 66 72 65 71 75 65 6E 74 20 64 65 6C 65 74 69 6E frequent deletin
0000A0: 67 0D 0A 20 20 20 20 20 20 61 6E 64 20 20 72 65 g.. and re
0000B0: 6C 6F 61 64 69 6E 67 20 20 6F 66 20 20 65 78 74 loading of ext
0000C0: 65 72 6E 61 6C 20 70 72 6F 63 65 64 75 72 65 73 ernal procedures
0000D0: 20 6D 61 79 20 6F 63 63 75 72 2E 20 20 54 68 69 may occur. Thi
0000E0: 73 20 63 6F 6E 64 69 74 69 6F 6E 20 69 73 0D 0A s condition is..
0000F0: 20 20 20 20 20 20 63 61 6C 6C 65 64 20 20 22 74 called "t
000100: 68 72 61 73 68 69 6E 67 22 2E 20 20 20 54 68 72 hrashing". Thr
000110: 61 73 68 69 6E 67 20 20 63 61 6E 20 20 62 65 20 ashing can be
000120: 20 72 65 63 6F 67 6E 69 7A 65 64 20 20 62 79 20 recognized by
000130: 20 20 75 6E 75 73 75 61 6C 6C 79 0D 0A 20 20 20 unusually..
000140: 20 20 20 66 72 65 71 75 65 6E 74 20 20 64 69 73 frequent dis
000150: 6B 20 20 61 63 63 65 73 73 69 6E 67 20 20 61 6E k accessing an
000160: 64 20 6C 69 74 74 6C 65 20 75 73 65 66 75 6C 20 d little useful
000170: 70 72 6F 63 65 73 73 69 6E 67 20 62 65 69 6E 67 processing being
000180: 20 64 6F 6E 65 20 62 79 0D 0A 20 20 20 20 20 20 done by..
000190: 74 68 65 20 70 72 6F 67 72 61 6D 2E 20 20 49 74 the program. It
0001A0: 20 69 73 20 6E 65 63 65 73 73 61 72 79 20 69 6E is necessary in
0001B0: 20 74 68 69 73 20 20 63 61 73 65 20 20 74 6F 20 this case to
0001C0: 20 72 65 64 75 63 65 20 20 74 68 65 20 20 73 74 reduce the st
0001D0: 6F 72 61 67 65 0D 0A 20 20 20 20 20 20 72 65 71 orage.. req
0001E0: 75 69 72 65 6D 65 6E 74 73 20 6F 66 20 74 68 65 uirements of the
0001F0: 20 70 72 6F 67 72 61 6D 2E 0D 0A 0D 0A 0D 0A 20 program.......
Size : 512 (Real : 512)
000000: 72 65 65 20 73 70 61 63 65 20 69 73 20 74 68 65 ree space is the
000010: 20 73 75 6D 20 6F 66 0D 0A 20 20 20 20 20 20 74 sum of.. t
000020: 68 65 20 73 69 7A 65 73 20 6F 66 20 61 6C 6C 20 he sizes of all
000030: 62 6C 6F 63 6B 73 20 6F 6E 20 74 68 65 20 66 72 blocks on the fr
000040: 65 65 20 6C 69 73 74 20 61 6E 64 20 20 74 68 65 ee list and the
000050: 20 20 73 69 7A 65 20 20 6F 66 20 20 74 68 65 20 size of the
000060: 20 67 61 70 0D 0A 20 20 20 20 20 20 62 65 74 77 gap.. betw
000070: 65 65 6E 20 74 68 65 20 64 61 74 61 20 73 74 61 een the data sta
000080: 63 6B 20 72 65 67 69 6F 6E 20 61 6E 64 20 74 68 ck region and th
000090: 65 20 64 79 6E 61 6D 69 63 20 73 74 6F 72 61 67 e dynamic storag
0000A0: 65 20 72 65 67 69 6F 6E 2E 0D 0A 0D 0A 20 20 20 e region.....
0000B0: 20 20 20 36 2E 20 43 6F 6D 70 72 65 73 73 20 64 6. Compress d
0000C0: 79 6E 61 6D 69 63 20 73 74 6F 72 61 67 65 2E 20 ynamic storage.
0000D0: 20 41 6C 6C 20 6F 66 20 74 68 65 20 61 6C 6C 6F All of the allo
0000E0: 63 61 74 65 64 20 73 74 6F 72 61 67 65 20 62 6C cated storage bl
0000F0: 6F 63 6B 73 20 61 72 65 0D 0A 20 20 20 20 20 20 ocks are..
000100: 6D 6F 76 65 64 20 69 6E 74 6F 20 74 68 65 20 74 moved into the t
000110: 6F 70 20 6F 66 20 73 74 6F 72 61 67 65 20 74 6F op of storage to
000120: 20 65 6C 69 6D 69 6E 61 74 65 20 66 72 65 65 20 eliminate free
000130: 73 70 61 63 65 2E 20 20 54 68 65 20 66 72 65 65 space. The free
000140: 20 6C 69 73 74 0D 0A 20 20 20 20 20 20 69 73 20 list.. is
000150: 20 73 65 74 20 20 74 6F 20 20 61 20 6E 75 6C 6C set to a null
000160: 20 70 6F 69 6E 74 65 72 2E 20 20 54 68 65 20 70 pointer. The p
000170: 6F 69 6E 74 65 72 20 74 61 62 6C 65 20 65 6E 74 ointer table ent
000180: 72 69 65 73 20 6F 66 20 61 6C 6C 20 62 6C 6F 63 ries of all bloc
000190: 6B 73 0D 0A 20 20 20 20 20 20 61 72 65 20 20 75 ks.. are u
0001A0: 70 64 61 74 65 64 2E 20 20 20 49 66 20 20 65 78 pdated. If ex
0001B0: 74 65 72 6E 61 6C 20 20 70 72 6F 63 65 64 75 72 ternal procedur
0001C0: 65 73 20 20 77 65 72 65 20 20 20 6D 6F 76 65 64 es were moved
0001D0: 20 20 20 74 68 65 6E 20 20 20 74 68 65 69 72 0D then their.
0001E0: 0A 20 20 20 20 20 20 72 65 6C 6F 63 61 74 61 62 . relocatab
0001F0: 6C 65 20 20 61 64 64 72 65 73 73 65 73 20 20 61 le addresses a
Size : 512 (Real : 512)
000000: 20 20 20 20 20 31 32 2E 31 20 20 43 6F 64 69 6E 12.1 Codin
000010: 67 20 65 78 74 65 72 6E 61 6C 20 70 72 6F 63 65 g external proce
000020: 64 75 72 65 73 20 61 6E 64 20 66 75 6E 63 74 69 dures and functi
000030: 6F 6E 73 0D 0A 0D 0A 20 20 20 20 20 20 20 20 20 ons....
000040: 20 20 54 68 65 20 65 78 74 65 72 6E 61 6C 20 70 The external p
000050: 72 6F 63 65 64 75 72 65 20 50 61 73 63 61 6C 20 rocedure Pascal
000060: 66 69 6C 65 20 69 73 20 76 65 72 79 20 73 69 6D file is very sim
000070: 69 6C 61 72 20 74 6F 20 61 20 73 74 61 6E 64 61 ilar to a standa
000080: 72 64 0D 0A 20 20 20 20 20 20 22 69 6E 74 65 72 rd.. "inter
000090: 6E 61 6C 22 20 20 70 72 6F 63 65 64 75 72 65 20 nal" procedure
0000A0: 20 69 6E 20 66 6F 72 6D 61 74 2E 20 20 49 6E 20 in format. In
0000B0: 6D 61 6E 79 20 63 61 73 65 73 20 74 68 65 20 6F many cases the o
0000C0: 6E 6C 79 20 64 69 66 66 65 72 65 6E 63 65 73 0D nly differences.
0000D0: 0A 20 20 20 20 20 20 66 72 6F 6D 20 61 20 73 74 . from a st
0000E0: 61 6E 64 61 72 64 20 70 72 6F 63 65 64 75 72 65 andard procedure
0000F0: 20 66 6F 72 6D 61 74 20 61 72 65 20 74 68 61 74 format are that
000100: 20 74 68 65 20 50 52 4F 43 45 44 55 52 45 20 72 the PROCEDURE r
000110: 65 73 65 72 76 65 64 20 77 6F 72 64 0D 0A 20 20 eserved word..
000120: 20 20 20 20 69 73 20 70 72 65 63 65 64 65 64 20 is preceded
000130: 62 79 20 74 68 65 20 72 65 73 65 72 76 65 64 20 by the reserved
000140: 77 6F 72 64 20 45 58 54 45 52 4E 20 61 6E 64 20 word EXTERN and
000150: 74 68 61 74 20 74 68 65 20 20 77 68 6F 6C 65 20 that the whole
000160: 20 66 69 6C 65 20 20 69 73 0D 0A 20 20 20 20 20 file is..
000170: 20 65 6E 64 65 64 20 20 77 69 74 68 20 20 61 20 ended with a
000180: 20 70 65 72 69 6F 64 20 20 74 6F 20 20 73 69 67 period to sig
000190: 6E 69 66 79 20 20 74 68 65 20 65 6E 64 20 6F 66 nify the end of
0001A0: 20 74 68 65 20 63 6F 6D 70 69 6C 65 20 75 6E 69 the compile uni
0001B0: 74 2E 20 20 41 6E 0D 0A 20 20 20 20 20 20 65 78 t. An.. ex
0001C0: 61 6D 70 6C 65 20 6F 66 20 74 68 69 73 20 62 61 ample of this ba
0001D0: 73 69 63 20 63 61 73 65 20 66 6F 6C 6C 6F 77 73 sic case follows
0001E0: 3A 0D 0A 0D 0A 20 20 20 20 20 20 20 20 20 20 20 :....
0001F0: 20 20 20 20 20 20 20 45 58 54 45 52 4E 0D 0A 0D EXTERN...
Size : 512 (Real : 512)
000000: 72 65 20 20 61 64 6A 75 73 74 65 64 2E 20 20 49 re adjusted. I
000010: 66 20 61 63 74 69 76 65 20 65 78 74 65 72 6E 61 f active externa
000020: 6C 20 70 72 6F 63 65 64 75 72 65 73 0D 0A 20 20 l procedures..
000030: 20 20 20 20 77 65 72 65 20 6D 6F 76 65 64 20 74 were moved t
000040: 68 65 6E 20 74 68 65 20 50 61 73 63 61 6C 20 70 hen the Pascal p
000050: 72 6F 67 72 61 6D 20 63 6F 75 6E 74 65 72 20 61 rogram counter a
000060: 6E 64 20 74 68 65 20 20 70 72 6F 63 65 64 75 72 nd the procedur
000070: 65 20 20 72 65 74 75 72 6E 0D 0A 20 20 20 20 20 e return..
000080: 20 61 64 64 72 65 73 73 65 73 20 61 72 65 20 61 addresses are a
000090: 64 6A 75 73 74 65 64 2E 0D 0A 0D 0A 20 20 20 20 djusted.....
0000A0: 20 20 37 2E 20 43 6F 6E 76 65 72 74 20 74 68 65 7. Convert the
0000B0: 20 76 69 72 74 75 61 6C 20 61 64 64 72 65 73 73 virtual address
0000C0: 20 6F 66 20 61 20 62 6C 6F 63 6B 20 74 6F 20 61 of a block to a
0000D0: 20 72 65 61 6C 20 61 64 64 72 65 73 73 2E 0D 0A real address...
0000E0: 0D 0A 20 20 20 20 20 20 31 32 2E 20 20 20 45 78 .. 12. Ex
0000F0: 74 65 72 6E 61 6C 20 50 72 6F 63 65 64 75 72 65 ternal Procedure
000100: 73 20 61 6E 64 20 46 75 6E 63 74 69 6F 6E 73 0D s and Functions.
000110: 0A 0D 0A 20 20 20 20 20 20 20 20 20 20 20 45 78 ... Ex
000120: 74 65 72 6E 61 6C 20 20 70 72 6F 63 65 64 75 72 ternal procedur
000130: 65 73 20 61 72 65 20 61 20 66 61 63 69 6C 69 74 es are a facilit
000140: 79 20 66 6F 72 20 73 65 67 6D 65 6E 74 69 6E 67 y for segmenting
000150: 20 70 72 6F 67 72 61 6D 73 20 69 6E 74 6F 0D 0A programs into..
000160: 20 20 20 20 20 20 73 65 70 61 72 61 74 65 6C 79 separately
000170: 20 63 6F 6D 70 69 6C 65 64 20 6D 6F 64 75 6C 65 compiled module
000180: 73 2E 20 20 57 69 74 68 20 74 68 65 73 65 2C 20 s. With these,
000190: 20 74 68 65 20 20 73 69 7A 65 20 20 6F 66 20 20 the size of
0001A0: 74 68 65 20 20 65 6E 74 69 72 65 0D 0A 20 20 20 the entire..
0001B0: 20 20 20 70 72 6F 67 72 61 6D 20 20 63 61 6E 20 program can
0001C0: 20 62 65 20 70 72 61 63 74 69 63 61 6C 6C 79 20 be practically
0001D0: 75 6E 6C 69 6D 69 74 65 64 2E 20 20 54 68 69 73 unlimited. This
0001E0: 20 69 73 20 62 65 63 61 75 73 65 2C 20 75 6E 6C is because, unl
0001F0: 69 6B 65 20 77 69 74 68 0D 0A 20 20 20 20 20 20 ike with..
Size : 512 (Real : 512)
000000: 0A 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .
000010: 20 20 20 28 2A 20 50 52 49 4E 54 20 54 48 45 20 (* PRINT THE
000020: 54 4F 54 41 4C 20 41 4E 44 20 41 56 45 52 41 47 TOTAL AND AVERAG
000030: 45 20 4F 46 20 34 20 4E 55 4D 42 45 52 53 20 2A E OF 4 NUMBERS *
000040: 29 20 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 ) ..
000050: 20 20 20 20 20 20 50 52 4F 43 45 44 55 52 45 20 PROCEDURE
000060: 58 44 45 4D 4F 20 28 41 2C 42 2C 43 2C 44 20 3A XDEMO (A,B,C,D :
000070: 20 52 45 41 4C 20 29 3B 0D 0A 20 20 20 20 20 20 REAL );..
000080: 20 20 20 20 20 20 20 20 20 20 20 20 56 41 52 0D VAR.
000090: 0A 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .
0000A0: 20 20 20 54 4F 54 41 4C 20 3A 20 52 45 41 4C 3B TOTAL : REAL;
0000B0: 0D 0A 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 ....
0000C0: 20 20 20 20 20 20 42 45 47 49 4E 0D 0A 20 20 20 BEGIN..
0000D0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 54 T
0000E0: 4F 54 41 4C 20 3A 3D 20 41 20 2B 20 42 20 2B 20 OTAL := A + B +
0000F0: 43 20 2B 20 44 3B 0D 0A 20 20 20 20 20 20 20 20 C + D;..
000100: 20 20 20 20 20 20 20 20 20 20 57 52 49 54 45 4C WRITEL
000110: 4E 28 27 54 4F 54 41 4C 20 3D 27 2C 54 4F 54 41 N('TOTAL =',TOTA
000120: 4C 2C 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 L,..
000130: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 27 20 '
000140: 20 41 56 45 52 41 47 45 20 3D 27 2C 54 4F 54 41 AVERAGE =',TOTA
000150: 4C 20 2F 20 34 2E 30 29 3B 0D 0A 20 20 20 20 20 L / 4.0);..
000160: 20 20 20 20 20 20 20 20 20 20 20 20 20 45 4E 44 END
000170: 3B 2E 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 2A 2A ;....... **
000180: 2A 2A 2A 2A 20 49 4D 50 4F 52 54 41 4E 54 20 2A **** IMPORTANT *
000190: 2A 2A 2A 2A 2A 20 52 45 41 44 20 54 48 45 20 46 ***** READ THE F
0001A0: 4F 4C 4C 4F 57 49 4E 47 20 43 41 52 45 46 55 4C OLLOWING CAREFUL
0001B0: 4C 59 0D 0A 0D 0A 20 20 20 20 20 20 20 20 20 20 LY....
0001C0: 20 4A 52 54 20 50 61 73 63 61 6C 20 65 78 74 65 JRT Pascal exte
0001D0: 72 6E 61 6C 20 70 72 6F 63 65 64 75 72 65 73 20 rnal procedures
0001E0: 63 61 6E 20 20 61 63 63 65 73 73 20 20 61 6C 6C can access all
0001F0: 20 20 6F 66 20 20 74 68 65 20 20 67 6C 6F 62 61 of the globa
Size : 512 (Real : 512)
000000: 20 20 20 20 20 20 20 20 20 20 20 20 49 46 20 20 IF
000010: 4E 20 3D 20 20 43 55 53 54 4F 4D 45 52 5F 4C 49 N = CUSTOMER_LI
000020: 53 54 5B 49 5D 2E 43 55 53 54 5F 4E 41 4D 45 20 ST[I].CUST_NAME
000030: 54 48 45 4E 0D 0A 20 20 20 20 20 20 20 20 20 20 THEN..
000040: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
000050: 20 53 45 41 52 43 48 3A 3D 43 55 53 54 4F 4D 45 SEARCH:=CUSTOME
000060: 52 5F 4C 49 53 54 5B 49 5D 0D 0A 20 20 20 20 20 R_LIST[I]..
000070: 20 20 20 20 20 20 20 20 20 20 20 20 20 45 4C 53 ELS
000080: 45 20 20 20 20 20 53 45 41 52 43 48 3A 3D 27 20 E SEARCH:='
000090: 27 3B 0D 0A 0D 0A 20 20 20 20 20 20 20 20 20 20 ';....
0000A0: 20 20 20 20 20 20 20 20 45 4E 44 3B 2E 0D 0A 0D END;....
0000B0: 0A 0D 0A 20 20 20 20 20 20 31 32 2E 32 20 20 52 ... 12.2 R
0000C0: 65 66 65 72 65 6E 63 69 6E 67 20 65 78 74 65 72 eferencing exter
0000D0: 6E 61 6C 20 70 72 6F 63 65 64 75 72 65 73 20 61 nal procedures a
0000E0: 6E 64 20 66 75 6E 63 74 69 6F 6E 73 0D 0A 0D 0A nd functions....
0000F0: 20 20 20 20 20 20 20 20 20 20 20 45 78 74 65 72 Exter
000100: 6E 61 6C 20 70 72 6F 63 65 64 75 72 65 73 20 61 nal procedures a
000110: 6E 64 20 66 75 6E 63 74 69 6F 6E 73 20 4D 55 53 nd functions MUS
000120: 54 20 62 65 20 64 65 63 6C 61 72 65 64 20 69 6E T be declared in
000130: 20 20 74 68 65 20 20 6D 61 69 6E 0D 0A 20 20 20 the main..
000140: 20 20 20 70 72 6F 67 72 61 6D 73 20 20 77 68 69 programs whi
000150: 63 68 20 20 72 65 66 65 72 65 6E 63 65 20 74 68 ch reference th
000160: 65 6D 2E 20 20 54 68 65 69 72 20 64 65 63 6C 61 em. Their decla
000170: 72 61 74 69 6F 6E 20 69 73 20 69 64 65 6E 74 69 ration is identi
000180: 63 61 6C 20 74 6F 20 61 0D 0A 20 20 20 20 20 20 cal to a..
000190: 72 65 67 75 6C 61 72 20 70 72 6F 63 65 64 75 72 regular procedur
0001A0: 65 20 65 78 63 65 70 74 20 74 68 61 74 20 74 68 e except that th
0001B0: 65 20 65 6E 74 69 72 65 20 62 6F 64 79 20 20 6F e entire body o
0001C0: 66 20 20 74 68 65 20 20 70 72 6F 63 65 64 75 72 f the procedur
0001D0: 65 20 20 69 73 0D 0A 20 20 20 20 20 20 72 65 70 e is.. rep
0001E0: 6C 61 63 65 64 20 77 69 74 68 20 74 68 65 20 72 laced with the r
0001F0: 65 73 65 72 76 65 64 20 77 6F 72 64 20 45 58 54 eserved word EXT
Size : 512 (Real : 512)
000000: 6C 0D 0A 20 20 20 20 20 20 76 61 72 69 61 62 6C l.. variabl
000010: 65 73 20 69 6E 20 74 68 65 20 6D 61 69 6E 20 70 es in the main p
000020: 72 6F 67 72 61 6D 2E 20 20 54 68 65 20 47 4C 4F rogram. The GLO
000030: 42 41 4C 20 56 41 52 49 41 42 4C 45 53 20 61 72 BAL VARIABLES ar
000040: 65 20 74 68 6F 73 65 20 49 4E 20 54 48 45 0D 0A e those IN THE..
000050: 20 20 20 20 20 20 4D 41 49 4E 20 20 50 52 4F 47 MAIN PROG
000060: 52 41 4D 20 44 45 43 4C 41 52 45 44 20 42 45 46 RAM DECLARED BEF
000070: 4F 52 45 20 41 4E 59 20 50 52 4F 43 45 44 55 52 ORE ANY PROCEDUR
000080: 45 20 4F 52 20 46 55 4E 43 54 49 4F 4E 20 44 45 E OR FUNCTION DE
000090: 43 4C 41 52 41 54 49 4F 4E 53 2E 0D 0A 20 20 20 CLARATIONS...
0000A0: 20 20 20 54 68 65 79 20 61 72 65 20 76 61 72 69 They are vari
0000B0: 61 62 6C 65 73 20 74 68 61 74 20 61 72 65 20 61 ables that are a
0000C0: 76 61 69 6C 61 62 6C 65 20 67 6C 6F 62 61 6C 6C vailable globall
0000D0: 79 20 61 6E 64 20 6E 6F 74 20 6F 6E 6C 79 20 6C y and not only l
0000E0: 6F 63 61 6C 20 20 74 6F 0D 0A 20 20 20 20 20 20 ocal to..
0000F0: 73 6F 6D 65 20 20 70 72 6F 63 65 64 75 72 65 2E some procedure.
000100: 20 20 49 6E 20 74 68 65 20 70 72 65 63 65 64 69 In the precedi
000110: 6E 67 20 65 78 61 6D 70 6C 65 2C 20 54 4F 54 41 ng example, TOTA
000120: 4C 20 69 73 20 61 20 6C 6F 63 61 6C 20 76 61 72 L is a local var
000130: 69 61 62 6C 65 0D 0A 20 20 20 20 20 20 2D 20 69 iable.. - i
000140: 74 20 69 73 20 6E 6F 74 20 61 63 63 65 73 73 69 t is not accessi
000150: 62 6C 65 20 6F 75 74 73 69 64 65 20 6F 66 20 74 ble outside of t
000160: 68 65 20 70 72 6F 63 65 64 75 72 65 20 58 44 45 he procedure XDE
000170: 4D 4F 2E 0D 0A 0D 0A 20 20 20 20 20 20 20 20 20 MO.....
000180: 20 20 54 6F 20 61 63 63 65 73 73 20 67 6C 6F 62 To access glob
000190: 61 6C 20 76 61 72 69 61 62 6C 65 73 20 20 6F 72 al variables or
0001A0: 20 20 66 69 6C 65 73 2C 20 20 74 68 65 69 72 20 files, their
0001B0: 20 64 65 63 6C 61 72 61 74 69 6F 6E 73 20 20 61 declarations a
0001C0: 72 65 0D 0A 20 20 20 20 20 20 69 6E 73 65 72 74 re.. insert
0001D0: 65 64 20 20 69 6E 20 20 74 68 65 20 20 65 78 74 ed in the ext
0001E0: 65 72 6E 61 6C 20 20 70 72 6F 63 65 64 75 72 65 ernal procedure
0001F0: 20 66 69 6C 65 20 41 46 54 45 52 20 74 68 65 20 file AFTER the
Size : 512 (Real : 512)
000000: 45 52 4E 2E 0D 0A 0D 0A 20 20 20 20 20 20 20 20 ERN.....
000010: 20 20 20 20 20 20 20 20 20 20 50 52 4F 43 45 44 PROCED
000020: 55 52 45 20 50 4C 4F 54 54 45 52 20 28 20 58 2C URE PLOTTER ( X,
000030: 59 20 3A 20 49 4E 54 45 47 45 52 20 29 3B 20 45 Y : INTEGER ); E
000040: 58 54 45 52 4E 3B 0D 0A 0D 0A 20 20 20 20 20 20 XTERN;....
000050: 20 20 20 20 20 20 20 20 20 20 20 20 46 55 4E 43 FUNC
000060: 54 49 4F 4E 20 43 55 42 45 52 4F 4F 54 20 28 20 TION CUBEROOT (
000070: 41 20 3A 20 52 45 41 4C 20 29 3A 20 52 45 41 4C A : REAL ): REAL
000080: 3B 20 45 58 54 45 52 4E 3B 0D 0A 0D 0A 20 20 20 ; EXTERN;....
000090: 20 20 20 20 20 20 20 20 46 6F 72 20 20 63 6C 61 For cla
0000A0: 72 69 74 79 2C 20 20 69 74 20 20 69 73 20 20 75 rity, it is u
0000B0: 73 65 66 75 6C 20 20 74 6F 20 20 67 72 6F 75 70 seful to group
0000C0: 20 20 61 6C 6C 20 65 78 74 65 72 6E 61 6C 20 70 all external p
0000D0: 72 6F 63 65 64 75 72 65 0D 0A 20 20 20 20 20 20 rocedure..
0000E0: 64 65 63 6C 61 72 61 74 69 6F 6E 73 20 61 73 20 declarations as
0000F0: 74 68 65 20 66 69 72 73 74 20 20 70 72 6F 63 65 the first proce
000100: 64 75 72 65 20 20 64 65 63 6C 61 72 61 74 69 6F dure declaratio
000110: 6E 73 20 20 69 6E 20 20 74 68 65 20 20 70 72 6F ns in the pro
000120: 67 72 61 6D 2E 0D 0A 20 20 20 20 20 20 45 78 74 gram... Ext
000130: 65 72 6E 61 6C 20 20 70 72 6F 63 65 64 75 72 65 ernal procedure
000140: 73 20 20 6D 61 79 20 20 72 65 66 65 72 65 6E 63 s may referenc
000150: 65 20 20 6F 74 68 65 72 20 20 65 78 74 65 72 6E e other extern
000160: 61 6C 20 20 70 72 6F 63 65 64 75 72 65 73 20 20 al procedures
000170: 69 66 0D 0A 20 20 20 20 20 20 61 70 70 72 6F 70 if.. approp
000180: 72 69 61 74 65 20 64 65 63 6C 61 72 61 74 69 6F riate declaratio
000190: 6E 73 20 61 72 65 20 69 6E 63 6C 75 64 65 64 20 ns are included
0001A0: 69 6E 20 74 68 65 20 72 65 66 65 72 65 6E 63 69 in the referenci
0001B0: 6E 67 20 70 72 6F 63 65 64 75 72 65 2E 0D 0A 0D ng procedure....
0001C0: 0A 20 20 20 20 20 20 20 20 20 20 20 45 58 45 43 . EXEC
0001D0: 20 69 6E 64 65 6E 74 69 66 69 65 73 20 20 65 78 indentifies ex
0001E0: 74 65 72 6E 61 6C 20 20 70 72 6F 63 65 64 75 72 ternal procedur
0001F0: 65 73 20 20 62 79 20 20 61 20 20 53 45 51 55 45 es by a SEQUE
Size : 512 (Real : 512)
000000: 77 6F 72 64 20 45 58 54 45 52 4E 20 61 6E 64 0D word EXTERN and.
000010: 0A 20 20 20 20 20 20 42 45 46 4F 52 45 20 74 68 . BEFORE th
000020: 65 20 70 72 6F 63 65 64 75 72 65 20 68 65 61 64 e procedure head
000030: 65 72 2E 20 20 54 68 65 20 74 68 72 65 65 20 64 er. The three d
000040: 65 63 6C 61 72 61 74 69 6F 6E 20 20 73 65 63 74 eclaration sect
000050: 69 6F 6E 73 20 20 43 4F 4E 53 54 2C 0D 0A 20 20 ions CONST,..
000060: 20 20 20 20 54 59 50 45 2C 20 20 56 41 52 20 20 TYPE, VAR
000070: 6D 61 79 20 62 65 20 69 6E 73 65 72 74 65 64 20 may be inserted
000080: 61 74 20 74 68 69 73 20 70 6F 69 6E 74 2E 20 20 at this point.
000090: 54 68 65 79 20 6D 75 73 74 20 62 65 20 69 64 65 They must be ide
0000A0: 6E 74 69 63 61 6C 20 74 6F 0D 0A 20 20 20 20 20 ntical to..
0000B0: 20 74 68 65 20 67 6C 6F 62 61 6C 20 64 65 63 6C the global decl
0000C0: 61 72 61 74 69 6F 6E 73 20 69 6E 20 74 68 65 20 arations in the
0000D0: 6D 61 69 6E 20 70 72 6F 67 72 61 6D 2C 20 65 78 main program, ex
0000E0: 63 65 70 74 20 20 74 68 61 74 20 20 61 64 64 69 cept that addi
0000F0: 74 69 6F 6E 61 6C 0D 0A 20 20 20 20 20 20 63 6F tional.. co
000100: 6E 73 74 61 6E 74 73 20 61 6E 64 20 74 79 70 65 nstants and type
000110: 20 69 64 65 6E 74 69 66 69 65 72 73 20 6D 61 79 identifiers may
000120: 20 62 65 20 61 64 64 65 64 20 68 65 72 65 2E 0D be added here..
000130: 0A 0D 0A 20 20 20 20 20 20 20 20 20 20 20 54 79 ... Ty
000140: 70 65 20 20 69 64 65 6E 74 69 66 69 65 72 73 20 pe identifiers
000150: 20 6D 61 79 20 20 62 65 20 20 72 65 71 75 69 72 may be requir
000160: 65 64 20 20 69 6E 20 20 74 68 65 20 20 70 72 6F ed in the pro
000170: 63 65 64 75 72 65 20 20 68 65 61 64 65 72 0D 0A cedure header..
000180: 20 20 20 20 20 20 70 61 72 61 6D 65 74 65 72 20 parameter
000190: 6C 69 73 74 20 6F 72 20 20 69 6E 20 20 61 20 20 list or in a
0001A0: 66 75 6E 63 74 69 6F 6E 20 20 72 65 74 75 72 6E function return
0001B0: 20 20 76 61 6C 75 65 20 20 64 65 63 6C 61 72 61 value declara
0001C0: 74 69 6F 6E 2E 20 20 20 54 68 65 0D 0A 20 20 20 tion. The..
0001D0: 20 20 20 64 65 63 6C 61 72 61 74 69 6F 6E 20 20 declaration
0001E0: 6F 66 20 20 74 68 65 73 65 20 20 74 79 70 65 20 of these type
0001F0: 20 69 64 65 6E 74 69 66 69 65 72 73 20 20 73 68 identifiers sh
Size : 512 (Real : 512)
000000: 4E 43 45 20 20 4E 55 4D 42 45 52 2E 0D 0A 20 20 NCE NUMBER...
000010: 20 20 20 20 45 78 74 65 72 6E 61 6C 20 20 70 72 External pr
000020: 6F 63 65 64 75 72 65 73 20 20 53 48 4F 55 4C 44 ocedures SHOULD
000030: 20 41 4C 57 41 59 53 20 42 45 20 44 45 43 4C 41 ALWAYS BE DECLA
000040: 52 45 44 20 49 4E 20 54 48 45 20 53 41 4D 45 20 RED IN THE SAME
000050: 53 45 51 55 45 4E 43 45 2C 0D 0A 20 20 20 20 20 SEQUENCE,..
000060: 20 69 6E 20 74 68 65 20 6D 61 69 6E 20 70 72 6F in the main pro
000070: 67 72 61 6D 20 6F 72 20 69 6E 20 61 6E 6F 74 68 gram or in anoth
000080: 65 72 20 65 78 74 65 72 6E 61 6C 20 70 72 6F 63 er external proc
000090: 65 64 75 72 65 2E 0D 0A 0D 0A 20 20 20 20 20 20 edure.....
0000A0: 20 20 20 20 20 4E 4F 54 45 20 20 74 68 61 74 20 NOTE that
0000B0: 20 54 48 45 20 20 55 53 45 52 20 20 4D 55 53 54 THE USER MUST
0000C0: 20 20 45 4E 53 55 52 45 20 20 74 68 61 74 20 20 ENSURE that
0000D0: 20 65 78 74 65 72 6E 61 6C 20 20 20 70 72 6F 63 external proc
0000E0: 65 64 75 72 65 0D 0A 20 20 20 20 20 20 64 65 63 edure.. dec
0000F0: 6C 61 72 61 74 69 6F 6E 73 20 20 61 6E 64 20 20 larations and
000100: 70 61 72 61 6D 65 74 65 72 20 20 6C 69 73 74 73 parameter lists
000110: 20 20 61 72 65 20 20 43 4F 4E 53 49 53 54 45 4E are CONSISTEN
000120: 54 20 20 61 6D 6F 6E 67 20 64 69 66 66 65 72 65 T among differe
000130: 6E 74 0D 0A 20 20 20 20 20 20 66 69 6C 65 73 2C nt.. files,
000140: 20 73 69 6E 63 65 20 74 68 65 20 63 6F 6D 70 69 since the compi
000150: 6C 65 72 20 64 6F 65 73 20 6E 6F 74 20 76 61 6C ler does not val
000160: 69 64 61 74 65 20 74 68 69 73 2E 0D 0A 0D 0A 0D idate this......
000170: 0A 20 20 20 20 20 20 31 33 2E 20 20 20 44 65 62 . 13. Deb
000180: 75 67 67 69 6E 67 20 50 61 73 63 61 6C 20 70 72 ugging Pascal pr
000190: 6F 67 72 61 6D 73 0D 0A 0D 0A 20 20 20 20 20 20 ograms....
0001A0: 20 20 20 20 20 44 65 62 75 67 67 69 6E 67 20 20 Debugging
0001B0: 63 6F 6D 70 75 74 65 72 20 70 72 6F 67 72 61 6D computer program
0001C0: 73 20 69 73 20 74 68 65 20 70 72 6F 63 65 73 73 s is the process
0001D0: 20 6F 66 20 63 6F 72 72 65 63 74 69 6E 67 20 22 of correcting "
0001E0: 62 75 67 73 22 0D 0A 20 20 20 20 20 20 69 6E 20 bugs".. in
0001F0: 61 20 70 72 6F 67 72 61 6D 20 73 6F 20 74 68 61 a program so tha
Size : 512 (Real : 512)
000000: 6F 75 6C 64 20 20 61 70 70 65 61 72 20 49 4E 20 ould appear IN
000010: 54 48 45 20 53 41 4D 45 0D 0A 20 20 20 20 20 20 THE SAME..
000020: 4C 4F 43 41 54 49 4F 4E 20 61 73 20 74 68 65 20 LOCATION as the
000030: 67 6C 6F 62 61 6C 20 64 65 63 6C 61 72 61 74 69 global declarati
000040: 6F 6E 73 20 2D 2D 20 6A 75 73 74 20 61 66 74 65 ons -- just afte
000050: 72 20 45 58 54 45 52 4E 2E 0D 0A 0D 0A 0D 0A 0D r EXTERN........
000060: 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D ................
000070: 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 20 20 20 20 .....
000080: 20 20 20 20 20 20 20 45 58 54 45 52 4E 0D 0A 0D EXTERN...
000090: 0A 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .
0000A0: 20 20 20 43 4F 4E 53 54 0D 0A 0D 0A 20 20 20 20 CONST....
0000B0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 4E 41 NA
0000C0: 4D 45 5F 53 49 5A 45 20 3D 20 33 32 3B 0D 0A 0D ME_SIZE = 32;...
0000D0: 0A 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .
0000E0: 20 20 20 54 59 50 45 0D 0A 0D 0A 20 20 20 20 20 TYPE....
0000F0: 20 20 20 20 20 20 20 20 20 20 20 20 20 4E 41 4D NAM
000100: 45 20 3D 20 41 52 52 41 59 20 5B 31 2E 2E 4E 41 E = ARRAY [1..NA
000110: 4D 45 5F 53 49 5A 45 5D 20 4F 46 20 43 48 41 52 ME_SIZE] OF CHAR
000120: 3B 0D 0A 0D 0A 20 20 20 20 20 20 20 20 20 20 20 ;....
000130: 20 20 20 20 20 20 20 43 55 53 54 4F 4D 45 52 5F CUSTOMER_
000140: 52 45 43 4F 52 44 20 3D 20 52 45 43 4F 52 44 0D RECORD = RECORD.
000150: 0A 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .
000160: 20 20 20 20 20 20 20 20 20 43 55 53 54 5F 4E 41 CUST_NA
000170: 4D 45 2C 20 43 55 53 54 5F 41 44 44 52 20 20 20 ME, CUST_ADDR
000180: 20 3A 20 4E 41 4D 45 3B 0D 0A 20 20 20 20 20 20 : NAME;..
000190: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
0001A0: 20 20 42 41 4C 41 4E 43 45 20 20 20 20 20 20 20 BALANCE
0001B0: 20 20 20 20 20 20 20 20 20 20 3A 20 52 45 41 4C : REAL
0001C0: 3B 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 45 4E 44 3B 0D END;.
0001E0: 0A 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 20 ...
0001F0: 20 20 20 20 20 56 41 52 20 20 20 28 2A 20 4D 41 VAR (* MA
Size : 512 (Real : 512)
000000: 74 20 69 74 20 77 69 6C 6C 20 20 70 65 72 66 6F t it will perfo
000010: 72 6D 20 20 61 73 20 20 64 65 73 69 72 65 64 2E rm as desired.
000020: 20 20 20 54 68 65 72 65 20 20 61 72 65 20 20 74 There are t
000030: 77 6F 0D 0A 20 20 20 20 20 20 70 68 61 73 65 73 wo.. phases
000040: 20 20 6F 66 20 64 65 62 75 67 67 69 6E 67 3A 20 of debugging:
000050: 20 63 6F 72 72 65 63 74 69 6E 67 20 73 79 6E 74 correcting synt
000060: 61 78 20 65 72 72 6F 72 73 20 69 6E 20 61 20 70 ax errors in a p
000070: 72 6F 67 72 61 6D 20 69 6E 20 6F 72 64 65 72 0D rogram in order.
000080: 0A 20 20 20 20 20 20 74 6F 20 6F 62 74 61 69 6E . to obtain
000090: 20 61 6E 20 65 72 72 6F 72 2D 66 72 65 65 20 63 an error-free c
0000A0: 6F 6D 70 69 6C 65 2C 20 61 6E 64 20 63 6F 72 72 ompile, and corr
0000B0: 65 63 74 69 6E 67 20 20 65 72 72 6F 72 73 20 20 ecting errors
0000C0: 77 68 69 63 68 20 20 6F 63 63 75 72 0D 0A 20 20 which occur..
0000D0: 20 20 20 20 64 75 72 69 6E 67 20 74 68 65 20 72 during the r
0000E0: 75 6E 6E 69 6E 67 20 6F 66 20 74 68 65 20 70 72 unning of the pr
0000F0: 6F 67 72 61 6D 20 61 66 74 65 72 20 61 20 63 6C ogram after a cl
000100: 65 61 6E 20 63 6F 6D 70 69 6C 65 2E 20 20 52 65 ean compile. Re
000110: 66 65 72 65 6E 63 69 6E 67 0D 0A 20 20 20 20 20 ferencing..
000120: 20 61 6E 20 20 75 6E 64 65 63 6C 61 72 65 64 20 an undeclared
000130: 20 76 61 72 69 61 62 6C 65 20 20 69 73 20 20 61 variable is a
000140: 6E 20 20 65 78 61 6D 70 6C 65 20 6F 66 20 74 68 n example of th
000150: 65 20 66 69 72 73 74 20 6B 69 6E 64 20 6F 66 20 e first kind of
000160: 65 72 72 6F 72 2E 0D 0A 20 20 20 20 20 20 44 69 error... Di
000170: 76 69 64 69 6E 67 20 62 79 20 7A 65 72 6F 20 69 viding by zero i
000180: 73 20 61 6E 20 65 78 61 6D 70 6C 65 20 6F 66 20 s an example of
000190: 74 68 65 20 73 65 63 6F 6E 64 20 6B 69 6E 64 2E the second kind.
0001A0: 20 20 54 68 69 73 20 20 73 65 63 74 69 6F 6E 20 This section
0001B0: 20 69 73 0D 0A 20 20 20 20 20 20 70 72 69 6D 61 is.. prima
0001C0: 72 69 6C 79 20 20 63 6F 6E 63 65 72 6E 65 64 20 rily concerned
0001D0: 77 69 74 68 20 74 68 65 20 73 65 63 6F 6E 64 20 with the second
0001E0: 6B 69 6E 64 20 6F 66 20 65 72 72 6F 72 20 2D 20 kind of error -
0001F0: 74 68 6F 73 65 20 74 68 61 74 20 6F 63 63 75 72 those that occur
Size : 512 (Real : 512)
000000: 49 4E 20 50 52 4F 47 52 41 4D 20 47 4C 4F 42 41 IN PROGRAM GLOBA
000010: 4C 20 56 41 52 49 41 42 4C 45 53 20 2A 29 0D 0A L VARIABLES *)..
000020: 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ..
000030: 20 20 20 20 43 55 53 54 4F 4D 45 52 5F 4C 49 53 CUSTOMER_LIS
000040: 54 20 3A 20 41 52 52 41 59 20 5B 31 2E 2E 31 30 T : ARRAY [1..10
000050: 30 5D 20 4F 46 20 0D 0A 20 20 20 20 20 20 20 20 0] OF ..
000060: 20 20 20 20 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 20 20 20
000080: 20 20 43 55 53 54 4F 4D 45 52 5F 52 45 43 4F 52 CUSTOMER_RECOR
000090: 44 3B 0D 0A 0D 0A 20 20 20 20 20 20 20 20 20 20 D;....
0000A0: 20 20 20 20 20 20 20 20 28 2A 2A 2A 2A 20 53 45 (**** SE
0000B0: 41 52 43 48 20 43 55 53 54 4F 4D 45 52 20 4C 49 ARCH CUSTOMER LI
0000C0: 53 54 20 46 4F 52 20 47 49 56 45 4E 20 4E 41 4D ST FOR GIVEN NAM
0000D0: 45 20 2A 2A 2A 2A 29 0D 0A 20 20 20 20 20 20 20 E ****)..
0000E0: 20 20 20 20 20 20 20 20 20 20 20 46 55 4E 43 54 FUNCT
0000F0: 49 4F 4E 20 53 45 41 52 43 48 20 28 20 4E 20 3A ION SEARCH ( N :
000100: 20 4E 41 4D 45 20 29 20 3A 20 43 55 53 54 4F 4D NAME ) : CUSTOM
000110: 45 52 5F 52 45 43 4F 52 44 3B 0D 0A 20 20 20 20 ER_RECORD;..
000120: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 56 41 VA
000130: 52 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 20 R..
000140: 20 20 20 20 20 49 20 3A 20 49 4E 54 45 47 45 52 I : INTEGER
000150: 3B 0D 0A 0D 0A 20 20 20 20 20 20 20 20 20 20 20 ;....
000160: 20 20 20 20 20 20 20 42 45 47 49 4E 0D 0A 20 20 BEGIN..
000170: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
000180: 49 3A 3D 31 3B 0D 0A 0D 0A 20 20 20 20 20 20 20 I:=1;....
000190: 20 20 20 20 20 20 20 20 20 20 20 57 48 49 4C 45 WHILE
0001A0: 20 28 4E 20 3C 3E 20 43 55 53 54 4F 4D 45 52 5F (N <> CUSTOMER_
0001B0: 4C 49 53 54 5B 49 5D 2E 43 55 53 54 5F 4E 41 4D LIST[I].CUST_NAM
0001C0: 45 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 20 E..
0001D0: 20 20 20 20 20 20 20 20 20 20 20 41 4E 44 20 28 AND (
0001E0: 49 20 3C 3D 20 31 30 30 29 20 44 4F 20 20 20 49 I <= 100) DO I
0001F0: 3A 3D 49 2B 31 3B 0D 0A 0D 0A 20 20 20 20 20 20 :=I+1;....
Size : 512 (Real : 512)
000000: 0D 0A 20 20 20 20 20 20 64 75 72 69 6E 67 20 70 .. during p
000010: 72 6F 67 72 61 6D 20 74 65 73 74 69 6E 67 2E 0D rogram testing..
000020: 0A 0D 0A 20 20 20 20 20 20 20 20 20 20 20 4A 52 ... JR
000030: 54 20 50 61 73 63 61 6C 20 70 72 6F 76 69 64 65 T Pascal provide
000040: 73 20 73 65 76 65 72 61 6C 20 66 61 63 69 6C 69 s several facili
000050: 74 69 65 73 20 74 6F 20 73 69 6D 70 6C 69 66 79 ties to simplify
000060: 20 74 68 65 20 20 6C 6F 63 61 74 69 6F 6E 0D 0A the location..
000070: 20 20 20 20 20 20 61 6E 64 20 20 74 68 65 20 20 and the
000080: 63 6F 72 72 65 63 74 69 6F 6E 20 6F 66 20 72 75 correction of ru
000090: 6E 2D 74 69 6D 65 20 65 72 72 6F 72 73 2E 20 20 n-time errors.
0000A0: 54 68 65 20 64 65 62 75 67 67 69 6E 67 20 70 68 The debugging ph
0000B0: 69 6C 6F 73 6F 70 68 79 20 69 73 0D 0A 20 20 20 ilosophy is..
0000C0: 20 20 20 74 6F 20 70 72 6F 76 69 64 65 20 74 68 to provide th
0000D0: 65 20 20 70 72 6F 67 72 61 6D 6D 65 72 20 20 77 e programmer w
0000E0: 69 74 68 20 20 61 73 20 20 6D 75 63 68 20 20 72 ith as much r
0000F0: 65 6C 65 76 61 6E 74 20 20 69 6E 66 6F 72 6D 61 elevant informa
000100: 74 69 6F 6E 20 20 61 73 0D 0A 20 20 20 20 20 20 tion as..
000110: 70 6F 73 73 69 62 6C 65 20 69 6E 20 61 20 63 6C possible in a cl
000120: 65 61 72 6C 79 20 66 6F 72 6D 61 74 74 65 64 20 early formatted
000130: 64 69 73 70 6C 61 79 2E 20 20 54 68 65 20 72 75 display. The ru
000140: 6E 2D 74 69 6D 65 20 73 79 73 74 65 6D 20 64 65 n-time system de
000150: 74 65 63 74 73 0D 0A 20 20 20 20 20 20 65 72 72 tects.. err
000160: 6F 72 73 20 20 61 74 20 20 74 77 6F 20 20 6C 65 ors at two le
000170: 76 65 6C 73 20 20 6F 66 20 20 73 65 76 65 72 69 vels of severi
000180: 74 79 20 20 2D 20 20 65 72 72 6F 72 73 20 20 61 ty - errors a
000190: 6E 64 20 77 61 72 6E 69 6E 67 73 2E 20 20 57 68 nd warnings. Wh
0001A0: 65 6E 0D 0A 20 20 20 20 20 20 77 61 72 6E 69 6E en.. warnin
0001B0: 67 73 20 6F 63 63 75 72 2C 20 61 20 6D 65 73 73 gs occur, a mess
0001C0: 61 67 65 20 69 73 20 69 73 73 75 65 64 20 61 6E age is issued an
0001D0: 64 20 70 72 6F 63 65 73 73 69 6E 67 20 20 63 6F d processing co
0001E0: 6E 74 69 6E 75 65 73 2E 20 20 20 57 68 65 6E 0D ntinues. When.
0001F0: 0A 20 20 20 20 20 20 61 6E 20 65 72 72 6F 72 20 . an error
Size : 512 (Real : 512)
000000: 74 68 65 20 65 72 72 6F 72 20 6D 65 73 73 61 67 the error messag
000010: 65 2E 0D 0A 0D 0A 20 20 20 20 20 20 20 20 20 20 e.....
000020: 20 54 68 65 20 63 6F 64 69 6E 67 20 6F 66 20 74 The coding of t
000030: 68 65 73 65 20 64 69 72 65 63 74 69 76 65 73 20 hese directives
000040: 61 6E 64 20 75 73 65 20 20 6F 66 20 20 74 68 65 and use of the
000050: 20 20 53 59 53 54 45 4D 20 20 62 75 69 6C 74 69 SYSTEM builti
000060: 6E 0D 0A 20 20 20 20 20 20 70 72 6F 63 65 64 75 n.. procedu
000070: 72 65 20 20 74 6F 20 20 63 6F 6E 74 72 6F 6C 20 re to control
000080: 20 74 68 65 20 20 74 72 61 63 65 73 20 20 61 72 the traces ar
000090: 65 20 20 64 65 73 63 72 69 62 65 64 20 69 6E 20 e described in
0000A0: 74 68 65 20 73 65 63 74 69 6F 6E 20 6F 6E 0D 0A the section on..
0000B0: 20 20 20 20 20 20 63 6F 6D 70 69 6C 65 72 20 64 compiler d
0000C0: 69 72 65 63 74 69 76 65 73 20 28 73 65 63 74 69 irectives (secti
0000D0: 6F 6E 20 33 20 6F 66 20 74 68 69 73 20 6D 61 6E on 3 of this man
0000E0: 75 61 6C 29 2E 0D 0A 0D 0A 0D 0A 20 20 20 20 20 ual).......
0000F0: 20 31 33 2E 32 20 20 44 45 42 55 47 20 70 72 6F 13.2 DEBUG pro
000100: 63 65 64 75 72 65 0D 0A 0D 0A 20 20 20 20 20 20 cedure....
000110: 20 20 20 20 20 54 68 65 20 44 45 42 55 47 20 65 The DEBUG e
000120: 78 74 65 72 6E 61 6C 20 70 72 6F 63 65 64 75 72 xternal procedur
000130: 65 20 61 6C 6C 6F 77 73 20 74 68 65 20 63 6F 6E e allows the con
000140: 74 72 6F 6C 20 6F 66 20 20 74 68 65 20 20 64 79 trol of the dy
000150: 6E 61 6D 69 63 0D 0A 20 20 20 20 20 20 74 72 61 namic.. tra
000160: 63 65 20 20 66 61 63 69 6C 69 74 69 65 73 20 77 ce facilities w
000170: 68 69 6C 65 20 61 20 70 72 6F 67 72 61 6D 20 69 hile a program i
000180: 73 20 62 65 69 6E 67 20 74 65 73 74 65 64 2E 20 s being tested.
000190: 20 54 68 65 20 70 72 6F 63 65 64 75 72 65 20 61 The procedure a
0001A0: 6E 64 0D 0A 20 20 20 20 20 20 6C 69 6E 65 20 74 nd.. line t
0001B0: 72 61 63 65 73 20 63 61 6E 20 62 65 20 74 75 72 races can be tur
0001C0: 6E 65 64 20 6F 6E 20 6F 72 20 6F 66 66 20 61 6E ned on or off an
0001D0: 64 20 74 68 65 20 6C 69 6E 65 20 72 61 6E 67 65 d the line range
0001E0: 20 63 61 6E 20 62 65 20 73 65 74 20 20 62 79 0D can be set by.
0001F0: 0A 20 20 20 20 20 20 63 6F 6D 6D 61 6E 64 73 20 . commands
Size : 512 (Real : 512)
000000: 6F 63 63 75 72 73 2C 20 70 72 6F 63 65 73 73 69 occurs, processi
000010: 6E 67 20 6D 75 73 74 20 74 65 72 6D 69 6E 61 74 ng must terminat
000020: 65 2E 0D 0A 0D 0A 20 20 20 20 20 20 20 20 20 20 e.....
000030: 20 45 72 72 6F 72 20 20 61 6E 64 20 77 61 72 6E Error and warn
000040: 69 6E 67 20 6D 65 73 73 61 67 65 73 20 61 72 65 ing messages are
000050: 20 61 6C 6C 20 70 72 65 73 65 6E 74 65 64 20 69 all presented i
000060: 6E 20 76 65 72 62 61 6C 20 66 6F 72 6D 61 74 20 n verbal format
000070: 2D 0D 0A 20 20 20 20 20 20 74 68 65 72 65 20 61 -.. there a
000080: 72 65 20 6E 6F 20 6E 75 6D 62 65 72 20 6F 72 20 re no number or
000090: 6C 65 74 74 65 72 20 63 6F 64 65 73 20 74 6F 20 letter codes to
0000A0: 6C 6F 6F 6B 20 75 70 2E 20 20 54 68 65 73 65 20 look up. These
0000B0: 20 6D 65 73 73 61 67 65 73 20 20 61 72 65 0D 0A messages are..
0000C0: 20 20 20 20 20 20 73 74 6F 72 65 64 20 6F 6E 20 stored on
0000D0: 61 20 64 69 73 6B 20 66 69 6C 65 20 73 6F 20 74 a disk file so t
0000E0: 68 61 74 20 6D 61 69 6E 20 73 74 6F 72 61 67 65 hat main storage
0000F0: 20 69 73 20 6E 6F 74 20 77 61 73 74 65 64 2E 0D is not wasted..
000100: 0A 0D 0A 0D 0A 20 20 20 20 20 20 31 33 2E 31 20 ..... 13.1
000110: 20 54 72 61 63 65 20 6F 70 74 69 6F 6E 73 0D 0A Trace options..
000120: 0D 0A 20 20 20 20 20 20 20 20 20 20 20 4A 52 54 .. JRT
000130: 20 20 50 61 73 63 61 6C 20 20 61 6C 6C 6F 77 73 Pascal allows
000140: 20 20 61 20 74 72 61 63 65 20 6F 66 20 74 68 65 a trace of the
000150: 20 70 72 6F 67 72 61 6D 20 6C 69 6E 65 20 6E 75 program line nu
000160: 6D 62 65 72 73 20 77 68 69 6C 65 20 61 0D 0A 20 mbers while a..
000170: 20 20 20 20 20 70 72 6F 67 72 61 6D 20 69 73 20 program is
000180: 72 75 6E 6E 69 6E 67 2E 20 54 68 69 73 20 74 72 running. This tr
000190: 61 63 65 20 6D 61 79 20 62 65 20 74 75 72 6E 65 ace may be turne
0001A0: 64 20 6F 6E 20 6F 72 20 6F 66 66 20 62 79 20 74 d on or off by t
0001B0: 68 65 20 70 72 6F 67 72 61 6D 0D 0A 20 20 20 20 he program..
0001C0: 20 20 69 74 73 65 6C 66 2E 20 20 54 68 65 20 72 itself. The r
0001D0: 61 6E 67 65 20 6F 66 20 6C 69 6E 65 20 6E 75 6D ange of line num
0001E0: 62 65 72 73 20 74 6F 20 62 65 20 74 72 61 63 65 bers to be trace
0001F0: 64 20 6D 61 79 20 61 6C 73 6F 20 20 62 65 20 20 d may also be
Size : 512 (Real : 512)
000000: 65 6E 74 65 72 65 64 20 66 72 6F 6D 20 74 68 65 entered from the
000010: 20 63 6F 6E 73 6F 6C 65 2E 0D 0A 0D 0A 20 20 20 console.....
000020: 20 20 20 20 20 20 20 20 54 68 65 20 20 66 69 6C The fil
000030: 65 20 20 44 45 42 55 47 2E 49 4E 54 20 20 6F 6E e DEBUG.INT on
000040: 20 20 74 68 65 20 20 64 69 73 74 72 69 62 75 74 the distribut
000050: 69 6F 6E 20 64 69 73 6B 20 69 73 20 74 68 65 20 ion disk is the
000060: 63 6F 6D 70 69 6C 65 64 0D 0A 20 20 20 20 20 20 compiled..
000070: 65 78 74 65 72 6E 61 6C 20 70 72 6F 63 65 64 75 external procedu
000080: 72 65 20 6D 6F 64 75 6C 65 2E 20 20 54 6F 20 72 re module. To r
000090: 65 66 65 72 65 6E 63 65 20 61 6E 20 65 78 74 65 eference an exte
0000A0: 72 6E 61 6C 20 70 72 6F 63 65 64 75 72 65 20 66 rnal procedure f
0000B0: 72 6F 6D 20 61 0D 0A 20 20 20 20 20 20 50 61 73 rom a.. Pas
0000C0: 63 61 6C 20 70 72 6F 67 72 61 6D 2C 20 69 74 20 cal program, it
0000D0: 69 73 20 6E 65 63 65 73 73 61 72 79 20 74 6F 20 is necessary to
0000E0: 64 65 63 6C 61 72 65 20 69 74 3A 0D 0A 0D 0A 20 declare it:....
0000F0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
000100: 20 50 52 4F 43 45 44 55 52 45 20 44 45 42 55 47 PROCEDURE DEBUG
000110: 3B 20 45 58 54 45 52 4E 3B 0D 0A 0D 0A 20 20 20 ; EXTERN;....
000120: 20 20 20 20 20 20 20 20 54 68 65 20 70 72 6F 63 The proc
000130: 65 64 75 72 65 20 63 61 6E 20 62 65 20 63 61 6C edure can be cal
000140: 6C 65 64 20 66 72 6F 6D 20 61 6E 20 6E 75 6D 62 led from an numb
000150: 65 72 20 6F 66 20 70 6C 61 63 65 73 20 69 6E 20 er of places in
000160: 74 68 65 20 74 65 73 74 0D 0A 20 20 20 20 20 20 the test..
000170: 70 72 6F 67 72 61 6D 20 62 79 20 69 6E 73 65 72 program by inser
000180: 74 69 6E 67 20 61 20 70 72 6F 63 65 64 75 72 65 ting a procedure
000190: 20 63 61 6C 6C 20 73 74 61 74 65 6D 65 6E 74 3A call statement:
0001A0: 0D 0A 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 ....
0001B0: 20 20 20 20 20 20 44 45 42 55 47 3B 0D 0A 0D 0A DEBUG;....
0001C0: 20 20 20 20 20 20 20 20 20 20 20 57 68 65 6E 20 When
0001D0: 69 74 20 69 73 20 61 63 74 69 76 61 74 65 64 2C it is activated,
0001E0: 20 44 45 42 55 47 20 77 69 6C 6C 20 69 6E 74 65 DEBUG will inte
0001F0: 72 61 63 74 20 77 69 74 68 20 74 68 65 20 70 72 ract with the pr
Size : 512 (Real : 512)
000000: 73 65 74 20 20 62 79 0D 0A 20 20 20 20 20 20 74 set by.. t
000010: 68 65 20 70 72 6F 67 72 61 6D 2E 0D 0A 0D 0A 20 he program.....
000020: 20 20 20 20 20 20 20 20 20 20 41 20 20 74 72 61 A tra
000030: 63 65 20 20 6F 66 20 20 70 72 6F 63 65 64 75 72 ce of procedur
000040: 65 20 6E 61 6D 65 73 20 63 61 6E 20 61 6C 73 6F e names can also
000050: 20 62 65 20 70 72 6F 64 75 63 65 64 2E 20 20 4F be produced. O
000060: 6E 20 65 6E 74 72 79 20 74 6F 0D 0A 20 20 20 20 n entry to..
000070: 20 20 65 61 63 68 20 70 72 6F 63 65 64 75 72 65 each procedure
000080: 2C 20 74 68 65 20 6E 61 6D 65 20 61 6E 64 20 61 , the name and a
000090: 63 74 69 76 61 74 69 6F 6E 20 63 6F 75 6E 74 20 ctivation count
0000A0: 69 73 20 64 69 73 70 6C 61 79 65 64 2E 20 20 4F is displayed. O
0000B0: 6E 20 65 78 69 74 2C 0D 0A 20 20 20 20 20 20 74 n exit,.. t
0000C0: 68 65 20 6E 61 6D 65 20 6F 66 20 74 68 65 20 70 he name of the p
0000D0: 72 6F 63 65 64 75 72 65 20 69 73 20 64 69 73 70 rocedure is disp
0000E0: 6C 61 79 65 64 2E 20 20 54 68 69 73 20 20 66 65 layed. This fe
0000F0: 61 74 75 72 65 20 20 63 61 6E 20 20 61 6C 73 6F ature can also
000100: 20 20 62 65 0D 0A 20 20 20 20 20 20 74 75 72 6E be.. turn
000110: 65 64 20 6F 6E 20 6F 72 20 6F 66 66 20 75 6E 64 ed on or off und
000120: 65 72 20 70 72 6F 67 72 61 6D 20 63 6F 6E 74 72 er program contr
000130: 6F 6C 2E 0D 0A 0D 0A 20 20 20 20 20 20 20 20 20 ol.....
000140: 20 20 54 68 65 20 20 45 78 65 63 20 20 69 6E 74 The Exec int
000150: 65 72 72 75 70 74 20 20 6D 6F 64 65 20 63 61 6E errupt mode can
000160: 20 62 65 20 65 6E 74 65 72 65 64 20 62 79 20 61 be entered by a
000170: 20 63 6F 6E 74 72 6F 6C 2D 6E 20 63 6F 6D 6D 61 control-n comma
000180: 6E 64 0D 0A 20 20 20 20 20 20 77 68 69 6C 65 20 nd.. while
000190: 61 20 70 72 6F 67 72 61 6D 20 69 73 20 72 75 6E a program is run
0001A0: 6E 69 6E 67 2E 20 20 49 6E 20 74 68 69 73 20 6D ning. In this m
0001B0: 6F 64 65 2C 20 74 68 65 20 74 72 61 63 65 73 20 ode, the traces
0001C0: 61 6E 64 20 6C 69 6E 65 20 6E 75 6D 62 65 72 0D and line number.
0001D0: 0A 20 20 20 20 20 20 72 61 6E 67 65 20 63 61 6E . range can
0001E0: 20 62 65 20 6D 6F 64 69 66 69 65 64 2E 20 20 4F be modified. O
0001F0: 74 68 65 72 20 73 79 73 74 65 6D 20 73 74 61 74 ther system stat
Size : 512 (Real : 512)
000000: 6F 67 72 61 6D 6D 65 72 20 74 6F 0D 0A 20 20 20 ogrammer to..
000010: 20 20 20 6D 6F 64 69 66 79 20 74 68 65 20 63 75 modify the cu
000020: 72 72 65 6E 74 20 74 72 61 63 65 20 6F 70 65 72 rrent trace oper
000030: 61 74 69 6F 6E 73 2E 0D 0A 0D 0A 0D 0A 0D 0A 0D ations..........
000040: 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 20 20 20 20 20 ...........
000050: 20 4C 69 73 74 69 6E 67 20 6F 66 20 44 45 42 55 Listing of DEBU
000060: 47 2E 50 41 53 3A 0D 0A 0D 0A 20 20 20 20 20 20 G.PAS:....
000070: 65 78 74 65 72 6E 0D 0A 0D 0A 20 20 20 20 20 20 extern....
000080: 70 72 6F 63 65 64 75 72 65 20 64 65 62 75 67 3B procedure debug;
000090: 0D 0A 0D 0A 20 20 20 20 20 20 76 61 72 0D 0A 20 .... var..
0000A0: 20 20 20 20 20 72 65 70 6C 79 20 3A 20 63 68 61 reply : cha
0000B0: 72 3B 0D 0A 20 20 20 20 20 20 6C 6F 77 65 72 2C r;.. lower,
0000C0: 20 75 70 70 65 72 20 3A 20 69 6E 74 65 67 65 72 upper : integer
0000D0: 3B 0D 0A 0D 0A 20 20 20 20 20 20 62 65 67 69 6E ;.... begin
0000E0: 20 28 2A 20 64 65 62 75 67 20 2A 29 0D 0A 20 20 (* debug *)..
0000F0: 20 20 20 20 77 72 69 74 65 6C 6E 3B 0D 0A 20 20 writeln;..
000100: 20 20 20 20 77 72 69 74 65 28 27 41 63 74 69 76 write('Activ
000110: 61 74 65 20 6C 69 6E 65 20 74 72 61 63 65 3F 20 ate line trace?
000120: 20 79 2F 6E 20 3A 20 27 29 3B 0D 0A 20 20 20 20 y/n : ');..
000130: 20 20 72 65 61 64 6C 6E 28 72 65 70 6C 79 29 3B readln(reply);
000140: 0D 0A 20 20 20 20 20 20 69 66 20 75 70 63 61 73 .. if upcas
000150: 65 28 72 65 70 6C 79 29 20 3D 20 27 59 27 20 74 e(reply) = 'Y' t
000160: 68 65 6E 0D 0A 20 20 20 20 20 20 20 20 20 20 20 hen..
000170: 20 20 20 62 65 67 69 6E 0D 0A 20 20 20 20 20 20 begin..
000180: 20 20 20 20 20 20 20 20 77 72 69 74 65 28 27 52 write('R
000190: 61 6E 67 65 20 6F 66 20 6C 69 6E 65 73 3F 20 20 ange of lines?
0001A0: 6C 6F 77 65 72 2C 75 70 70 65 72 20 3A 20 27 29 lower,upper : ')
0001B0: 3B 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 20 ;..
0001C0: 20 72 65 61 64 6C 6E 28 6C 6F 77 65 72 2C 75 70 readln(lower,up
0001D0: 70 65 72 29 3B 0D 0A 20 20 20 20 20 20 20 20 20 per);..
0001E0: 20 20 20 20 20 73 79 73 74 65 6D 28 20 6C 74 72 system( ltr
0001F0: 61 63 65 20 29 3B 0D 0A 20 20 20 20 20 20 20 20 ace );..
Size : 512 (Real : 512)
000000: 75 73 20 69 6E 66 6F 72 6D 61 74 69 6F 6E 20 63 us information c
000010: 61 6E 20 20 61 6C 73 6F 20 20 62 65 0D 0A 20 20 an also be..
000020: 20 20 20 20 64 69 73 70 6C 61 79 65 64 2E 20 20 displayed.
000030: 20 57 68 65 6E 20 20 69 6E 20 69 6E 74 65 72 72 When in interr
000040: 75 70 74 20 6D 6F 64 65 2C 20 65 6E 74 65 72 69 upt mode, enteri
000050: 6E 67 20 61 20 73 70 61 63 65 20 63 68 61 72 61 ng a space chara
000060: 63 74 65 72 20 77 69 6C 6C 0D 0A 20 20 20 20 20 cter will..
000070: 20 63 61 75 73 65 20 61 20 6C 69 73 74 20 6F 66 cause a list of
000080: 20 76 61 6C 69 64 20 63 6F 6D 6D 61 6E 64 73 20 valid commands
000090: 74 6F 20 62 65 20 64 69 73 70 6C 61 79 65 64 2E to be displayed.
0000A0: 0D 0A 0D 0A 20 20 20 20 20 20 20 20 20 20 20 45 .... E
0000B0: 78 65 63 20 20 69 6E 74 65 72 72 75 70 74 20 20 xec interrupt
0000C0: 61 6C 6C 6F 77 73 20 20 61 73 79 6E 63 68 72 6F allows asynchro
0000D0: 6E 6F 75 73 20 20 63 6F 6E 74 72 6F 6C 20 20 6F nous control o
0000E0: 66 20 20 20 74 68 65 20 20 20 74 72 61 63 65 0D f the trace.
0000F0: 0A 20 20 20 20 20 20 66 61 63 69 6C 69 74 79 2E . facility.
000100: 20 20 50 72 6F 67 72 61 6D 6D 65 64 20 20 63 6F Programmed co
000110: 6E 74 72 6F 6C 20 20 69 73 20 20 61 6C 73 6F 20 ntrol is also
000120: 20 73 75 70 70 6F 72 74 65 64 20 20 77 69 74 68 supported with
000130: 20 20 74 68 65 20 53 59 53 54 45 4D 0D 0A 20 20 the SYSTEM..
000140: 20 20 20 20 62 75 69 6C 74 69 6E 20 70 72 6F 63 builtin proc
000150: 65 64 75 72 65 2E 0D 0A 0D 0A 20 20 20 20 20 20 edure.....
000160: 20 20 20 20 20 41 6E 20 20 69 6E 74 65 72 61 63 An interac
000170: 74 69 76 65 20 20 65 78 74 65 72 6E 61 6C 20 20 tive external
000180: 70 72 6F 63 65 64 75 72 65 20 20 74 6F 20 20 63 procedure to c
000190: 6F 6E 74 72 6F 6C 20 20 74 68 65 73 65 20 20 20 ontrol these
0001A0: 74 72 61 63 65 0D 0A 20 20 20 20 20 20 66 61 63 trace.. fac
0001B0: 69 6C 69 74 69 65 73 20 61 74 20 72 75 6E 2D 74 ilities at run-t
0001C0: 69 6D 65 20 69 73 20 70 72 6F 76 69 64 65 64 2E ime is provided.
0001D0: 20 20 54 68 65 20 44 45 42 55 47 20 70 72 6F 63 The DEBUG proc
0001E0: 65 64 75 72 65 20 69 73 20 64 65 73 63 72 69 62 edure is describ
0001F0: 65 64 0D 0A 20 20 20 20 20 20 69 6E 20 73 65 63 ed.. in sec
Size : 512 (Real : 512)
000000: 20 20 20 20 20 20 73 79 73 74 65 6D 28 20 6C 72 system( lr
000010: 61 6E 67 65 2C 6C 6F 77 65 72 2C 75 70 70 65 72 ange,lower,upper
000020: 20 29 3B 0D 0A 20 20 20 20 20 20 20 20 20 20 20 );..
000030: 20 20 20 65 6E 64 0D 0A 20 20 20 20 20 20 65 6C end.. el
000040: 73 65 20 20 20 20 73 79 73 74 65 6D 28 20 6E 6F se system( no
000050: 6C 74 72 61 63 65 20 29 3B 0D 0A 0D 0A 20 20 20 ltrace );....
000060: 20 20 20 77 72 69 74 65 28 27 41 63 74 69 76 61 write('Activa
000070: 74 65 20 70 72 6F 63 65 64 75 72 65 20 74 72 61 te procedure tra
000080: 63 65 3F 20 20 79 2F 6E 20 3A 20 27 29 3B 0D 0A ce? y/n : ');..
000090: 20 20 20 20 20 20 72 65 61 64 6C 6E 28 72 65 70 readln(rep
0000A0: 6C 79 29 3B 0D 0A 20 20 20 20 20 20 69 66 20 75 ly);.. if u
0000B0: 70 63 61 73 65 28 72 65 70 6C 79 29 20 3D 20 27 pcase(reply) = '
0000C0: 59 27 20 74 68 65 6E 20 73 79 73 74 65 6D 28 20 Y' then system(
0000D0: 70 74 72 61 63 65 20 29 0D 0A 20 20 20 20 20 20 ptrace )..
0000E0: 65 6C 73 65 20 20 20 20 73 79 73 74 65 6D 28 20 else system(
0000F0: 6E 6F 70 74 72 61 63 65 20 29 3B 0D 0A 20 20 20 noptrace );..
000100: 20 20 20 77 72 69 74 65 6C 6E 3B 0D 0A 20 20 20 writeln;..
000110: 20 20 20 65 6E 64 3B 20 20 20 20 28 2A 20 64 65 end; (* de
000120: 62 75 67 20 2A 29 2E 0D 0A 0D 0A 0D 0A 20 20 20 bug *).......
000130: 20 20 20 31 33 2E 33 20 20 53 79 73 74 65 6D 20 13.3 System
000140: 73 74 61 74 75 73 20 64 69 73 70 6C 61 79 0D 0A status display..
000150: 0D 0A 20 20 20 20 20 20 20 20 20 20 20 57 68 65 .. Whe
000160: 6E 20 61 6E 20 65 72 72 6F 72 20 69 73 20 64 65 n an error is de
000170: 74 65 63 74 65 64 2C 20 61 6E 20 65 72 72 6F 72 tected, an error
000180: 20 6D 65 73 73 61 67 65 20 69 73 20 64 69 73 70 message is disp
000190: 6C 61 79 65 64 20 6F 6E 20 20 74 68 65 0D 0A 20 layed on the..
0001A0: 20 20 20 20 20 63 6F 6E 73 6F 6C 65 2E 20 20 54 console. T
0001B0: 68 65 20 63 75 72 72 65 6E 74 20 6C 69 6E 65 20 he current line
0001C0: 6E 75 6D 62 65 72 20 61 6E 64 20 6C 61 73 74 20 number and last
0001D0: 65 6E 74 65 72 65 64 20 70 72 6F 63 65 64 75 72 entered procedur
0001E0: 65 20 6E 61 6D 65 20 6D 61 79 0D 0A 20 20 20 20 e name may..
0001F0: 20 20 61 6C 73 6F 20 20 62 65 20 20 64 69 73 70 also be disp
Size : 512 (Real : 512)
000000: 74 69 6F 6E 20 31 33 2E 32 20 6F 66 20 74 68 69 tion 13.2 of thi
000010: 73 20 6D 61 6E 75 61 6C 2E 0D 0A 0D 0A 20 20 20 s manual.....
000020: 20 20 20 20 20 20 20 20 54 6F 20 75 73 65 20 74 To use t
000030: 68 65 73 65 20 74 72 61 63 65 73 2C 20 74 68 65 hese traces, the
000040: 20 25 4C 54 52 41 43 45 20 61 6E 64 20 25 50 54 %LTRACE and %PT
000050: 52 41 43 45 20 63 6F 6D 70 69 6C 65 72 20 64 69 RACE compiler di
000060: 72 65 63 74 69 76 65 73 0D 0A 20 20 20 20 20 20 rectives..
000070: 6D 75 73 74 20 20 62 65 20 20 69 6E 73 65 72 74 must be insert
000080: 65 64 20 20 69 6E 20 74 68 65 20 70 72 6F 67 72 ed in the progr
000090: 61 6D 2E 20 20 49 74 20 69 73 20 72 65 63 6F 6D am. It is recom
0000A0: 6D 65 6E 64 65 64 20 74 68 61 74 20 74 68 65 20 mended that the
0000B0: 66 69 72 73 74 0D 0A 20 20 20 20 20 20 6C 69 6E first.. lin
0000C0: 65 20 6F 66 20 61 20 70 72 6F 67 72 61 6D 20 62 e of a program b
0000D0: 65 69 6E 67 20 74 65 73 74 65 64 20 63 6F 6E 74 eing tested cont
0000E0: 61 69 6E 73 20 62 6F 74 68 20 64 69 72 65 63 74 ains both direct
0000F0: 69 76 65 73 2C 20 73 6F 20 74 68 61 74 20 20 74 ives, so that t
000100: 68 65 0D 0A 20 20 20 20 20 20 65 6E 74 69 72 65 he.. entire
000110: 20 20 70 72 6F 67 72 61 6D 20 20 77 69 6C 6C 20 program will
000120: 62 65 20 73 75 62 6A 65 63 74 20 74 6F 20 74 72 be subject to tr
000130: 61 63 69 6E 67 2E 20 20 41 6E 20 61 64 64 69 74 acing. An addit
000140: 69 6F 6E 61 6C 20 61 64 76 61 6E 74 61 67 65 0D ional advantage.
000150: 0A 20 20 20 20 20 20 69 73 20 74 68 61 74 20 77 . is that w
000160: 68 65 6E 20 74 68 65 73 65 20 6F 70 74 69 6F 6E hen these option
000170: 73 20 20 61 72 65 20 20 70 72 65 73 65 6E 74 2C s are present,
000180: 20 20 69 66 20 20 61 6E 20 20 65 72 72 6F 72 20 if an error
000190: 20 6F 72 20 20 77 61 72 6E 69 6E 67 0D 0A 20 20 or warning..
0001A0: 20 20 20 20 6F 63 63 75 72 73 2C 20 20 74 68 65 occurs, the
0001B0: 20 20 6C 69 6E 65 20 20 6E 75 6D 62 65 72 20 20 line number
0001C0: 61 6E 64 20 20 74 68 65 20 20 6C 61 74 65 73 74 and the latest
0001D0: 20 20 70 72 6F 63 65 64 75 72 65 20 20 6E 61 6D procedure nam
0001E0: 65 20 77 69 6C 6C 20 62 65 0D 0A 20 20 20 20 20 e will be..
0001F0: 20 64 69 73 70 6C 61 79 65 64 20 77 69 74 68 20 displayed with
Size : 512 (Real : 512)
000000: 6C 61 79 65 64 20 20 28 73 65 65 20 20 73 65 63 layed (see sec
000010: 74 69 6F 6E 20 31 33 2E 31 29 2E 20 20 41 20 73 tion 13.1). A s
000020: 79 73 74 65 6D 20 73 74 61 74 75 73 20 64 69 73 ystem status dis
000030: 70 6C 61 79 20 69 73 0D 0A 20 20 20 20 20 20 61 play is.. a
000040: 6C 73 6F 20 63 72 65 61 74 65 64 2E 20 20 54 68 lso created. Th
000050: 69 73 20 64 69 73 70 6C 61 79 20 63 6F 6E 74 61 is display conta
000060: 69 6E 73 20 20 75 73 65 66 75 6C 20 20 69 6E 66 ins useful inf
000070: 6F 72 6D 61 74 69 6F 6E 20 20 61 62 6F 75 74 20 ormation about
000080: 20 74 68 65 0D 0A 20 20 20 20 20 20 63 75 72 72 the.. curr
000090: 65 6E 74 20 73 74 61 74 65 20 6F 66 20 74 68 65 ent state of the
0000A0: 20 72 75 6E 2D 74 69 6D 65 20 73 79 73 74 65 6D run-time system
0000B0: 2E 0D 0A 0D 0A 20 20 20 20 20 20 20 20 20 20 20 .....
0000C0: 54 68 65 20 20 73 79 73 74 65 6D 20 73 74 61 74 The system stat
0000D0: 75 73 20 64 69 73 70 6C 61 79 20 73 68 6F 77 73 us display shows
0000E0: 20 6E 69 6E 65 20 66 69 65 6C 64 73 20 6F 66 20 nine fields of
0000F0: 69 6E 66 6F 72 6D 61 74 69 6F 6E 2E 20 20 49 66 information. If
000100: 0D 0A 20 20 20 20 20 20 65 78 74 65 72 6E 61 6C .. external
000110: 20 70 72 6F 63 65 64 75 72 65 73 20 61 72 65 20 procedures are
000120: 70 72 65 73 65 6E 74 2C 20 74 68 65 20 65 78 74 present, the ext
000130: 65 72 6E 61 6C 20 70 72 6F 63 65 64 75 72 65 20 ernal procedure
000140: 74 61 62 6C 65 20 69 73 20 61 6C 73 6F 0D 0A 20 table is also..
000150: 20 20 20 20 20 66 6F 72 6D 61 74 74 65 64 20 61 formatted a
000160: 6E 64 20 64 69 73 70 6C 61 79 65 64 2E 0D 0A 0D nd displayed....
000170: 0A 20 20 20 20 53 79 73 74 65 6D 20 73 74 61 74 . System stat
000180: 75 73 20 64 69 73 70 6C 61 79 0D 0A 0D 0A 20 20 us display....
000190: 20 20 20 20 20 20 20 61 64 64 72 20 3A 35 34 46 addr :54F
0001A0: 35 20 20 20 70 72 6F 67 20 3A 33 42 41 37 20 20 5 prog :3BA7
0001B0: 20 73 69 7A 65 20 3A 34 38 31 35 0D 0A 20 20 20 size :4815..
0001C0: 20 20 20 20 20 20 62 61 73 65 20 3A 38 33 42 43 base :83BC
0001D0: 20 20 20 63 75 72 20 20 3A 38 39 41 43 20 20 20 cur :89AC
0001E0: 74 6F 73 20 20 3A 38 41 33 33 0D 0A 20 20 20 20 tos :8A33..
0001F0: 20 20 20 20 20 6C 6F 77 20 20 3A 41 38 42 39 20 low :A8B9
Size : 512 (Real : 512)
000000: 20 2D 20 74 68 65 20 6C 6F 77 65 73 74 20 61 64 - the lowest ad
000010: 64 72 65 73 73 20 6F 63 63 75 70 69 65 64 20 62 dress occupied b
000020: 79 20 61 6E 79 20 64 79 6E 61 6D 69 63 20 73 74 y any dynamic st
000030: 6F 72 61 67 65 20 62 6C 6F 63 6B 2E 0D 0A 0D 0A orage block.....
000040: 20 20 20 20 20 20 38 2E 20 20 63 6F 6D 70 72 20 8. compr
000050: 20 2D 20 20 61 20 20 63 6F 75 6E 74 20 20 6F 66 - a count of
000060: 20 20 74 68 65 20 20 6E 75 6D 62 65 72 20 20 6F the number o
000070: 66 20 20 74 69 6D 65 73 20 20 73 74 6F 72 61 67 f times storag
000080: 65 20 20 68 61 73 20 62 65 65 6E 0D 0A 20 20 20 e has been..
000090: 20 20 20 61 75 74 6F 2D 63 6F 6D 70 72 65 73 73 auto-compress
0000A0: 65 64 2E 0D 0A 0D 0A 20 20 20 20 20 20 39 2E 20 ed..... 9.
0000B0: 70 75 72 67 65 20 2D 20 61 20 63 6F 75 6E 74 20 purge - a count
0000C0: 6F 66 20 74 68 65 20 6E 75 6D 62 65 72 20 6F 66 of the number of
0000D0: 20 20 65 78 74 65 72 6E 61 6C 20 20 70 72 6F 63 external proc
0000E0: 65 64 75 72 65 73 20 20 74 68 61 74 20 20 68 61 edures that ha
0000F0: 76 65 0D 0A 20 20 20 20 20 20 62 65 65 6E 20 70 ve.. been p
000100: 75 72 67 65 64 20 66 72 6F 6D 20 64 79 6E 61 6D urged from dynam
000110: 69 63 20 73 74 6F 72 61 67 65 20 64 75 65 20 74 ic storage due t
000120: 6F 20 73 68 6F 72 74 2D 6F 6E 2D 73 74 6F 72 61 o short-on-stora
000130: 67 65 20 63 6F 6E 64 69 74 69 6F 6E 2E 0D 0A 0D ge condition....
000140: 0A 20 20 20 20 20 20 20 20 20 20 20 54 68 65 20 . The
000150: 20 73 79 73 74 65 6D 20 20 73 74 61 74 75 73 20 system status
000160: 20 64 69 73 70 6C 61 79 20 20 6D 61 79 20 63 6F display may co
000170: 6E 74 61 69 6E 20 6F 6E 65 20 61 64 64 69 74 69 ntain one additi
000180: 6F 6E 61 6C 20 6C 69 6E 65 20 6F 66 0D 0A 20 20 onal line of..
000190: 20 20 20 20 69 6E 70 75 74 2F 6F 75 74 70 75 74 input/output
0001A0: 20 69 6E 66 6F 72 6D 61 74 69 6F 6E 2E 20 20 54 information. T
0001B0: 68 65 20 6E 61 6D 65 20 6F 66 20 74 68 65 20 6D he name of the m
0001C0: 6F 73 74 20 20 72 65 63 65 6E 74 6C 79 20 20 72 ost recently r
0001D0: 65 66 65 72 65 6E 63 65 64 0D 0A 20 20 20 20 20 eferenced..
0001E0: 20 66 69 6C 65 2C 20 61 20 73 74 61 74 75 73 20 file, a status
0001F0: 62 79 74 65 20 61 6E 64 20 74 68 65 20 63 75 72 byte and the cur
Size : 512 (Real : 512)
000000: 20 20 63 6F 6D 70 72 3A 30 30 30 32 20 20 20 70 compr:0002 p
000010: 75 72 67 65 3A 30 30 30 30 0D 0A 0D 0A 20 20 20 urge:0000....
000020: 20 20 20 20 20 20 20 20 4D 6F 73 74 20 6F 66 20 Most of
000030: 74 68 65 73 65 20 76 61 6C 75 65 73 20 69 6E 64 these values ind
000040: 69 63 61 74 65 20 74 68 65 20 75 73 65 20 6F 66 icate the use of
000050: 20 73 74 6F 72 61 67 65 20 69 6E 20 74 68 65 20 storage in the
000060: 72 75 6E 2D 74 69 6D 65 0D 0A 20 20 20 20 20 20 run-time..
000070: 73 79 73 74 65 6D 2E 20 20 53 74 6F 72 61 67 65 system. Storage
000080: 20 6D 61 6E 61 67 65 6D 65 6E 74 20 69 73 20 64 management is d
000090: 69 73 63 75 73 73 65 64 20 66 75 6C 6C 79 20 69 iscussed fully i
0000A0: 6E 20 73 65 63 74 69 6F 6E 20 31 31 20 6F 66 20 n section 11 of
0000B0: 20 74 68 69 73 0D 0A 20 20 20 20 20 20 6D 61 6E this.. man
0000C0: 75 61 6C 2E 20 20 41 20 73 69 6D 70 6C 69 66 69 ual. A simplifi
0000D0: 65 64 20 6D 61 70 20 6F 66 20 73 74 6F 72 61 67 ed map of storag
0000E0: 65 20 69 73 20 70 72 65 73 65 6E 74 65 64 20 68 e is presented h
0000F0: 65 72 65 3A 0D 0A 0D 0A 20 20 20 20 20 20 20 20 ere:....
000100: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
000110: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
000120: 2D 2D 2D 2D 2D 2D 2D 2D 2D 0D 0A 20 20 20 20 20 ---------..
000130: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
000140: 20 20 20 49 20 20 20 20 20 20 20 20 20 43 50 2F I CP/
000150: 4D 20 20 20 20 20 20 20 20 20 20 49 0D 0A 20 20 M I..
000160: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
000170: 20 20 20 20 20 20 49 2D 2D 2D 2D 2D 2D 2D 2D 2D I---------
000180: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 49 0D --------------I.
000190: 0A 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 49 20 20 20 20 44 59 I DY
0001B0: 4E 41 4D 49 43 20 53 54 4F 52 41 47 45 20 20 20 NAMIC STORAGE
0001C0: 20 49 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 I..
0001D0: 20 20 20 20 20 20 20 20 20 20 20 20 49 20 20 20 I
0001E0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
0001F0: 20 20 20 20 49 0D 0A 20 20 20 20 20 20 20 20 20 I..
Size : 512 (Real : 512)
000000: 72 65 6E 74 20 64 65 66 61 75 6C 74 20 64 69 73 rent default dis
000010: 6B 20 77 69 6C 6C 20 62 65 20 64 69 73 70 6C 61 k will be displa
000020: 79 65 64 20 69 66 0D 0A 20 20 20 20 20 20 66 69 yed if.. fi
000030: 6C 65 73 20 68 61 76 65 20 62 65 65 6E 20 75 73 les have been us
000040: 65 64 20 62 79 20 74 68 65 20 70 72 6F 67 72 61 ed by the progra
000050: 6D 2E 0D 0A 0D 0A 20 20 20 20 20 20 20 20 20 20 m.....
000060: 20 20 20 20 20 20 20 20 40 3A 53 41 4D 50 4C 45 @:SAMPLE
000070: 20 20 50 41 53 20 20 20 20 38 38 20 20 20 41 0D PAS 88 A.
000080: 0A 0D 0A 20 20 20 20 20 20 20 20 20 20 20 49 66 ... If
000090: 20 20 74 68 65 20 20 66 69 6C 65 20 77 61 73 20 the file was
0000A0: 6F 70 65 6E 65 64 20 77 69 74 68 6F 75 74 20 73 opened without s
0000B0: 70 65 63 69 66 79 69 6E 67 20 61 20 64 69 73 6B pecifying a disk
0000C0: 20 6C 65 74 74 65 72 20 74 68 65 6E 20 40 0D 0A letter then @..
0000D0: 20 20 20 20 20 20 69 73 20 73 68 6F 77 6E 2C 20 is shown,
0000E0: 6F 74 68 65 72 77 69 73 65 20 20 74 68 65 20 20 otherwise the
0000F0: 64 69 73 6B 20 20 6C 65 74 74 65 72 2E 20 20 20 disk letter.
000100: 54 68 65 20 20 73 74 61 74 75 73 20 20 62 79 74 The status byt
000110: 65 20 20 63 6F 6E 74 61 69 6E 73 0D 0A 20 20 20 e contains..
000120: 20 20 20 73 65 76 65 72 61 6C 20 66 6C 61 67 20 several flag
000130: 62 69 74 73 3A 0D 0A 0D 0A 20 20 20 20 20 20 20 bits:....
000140: 20 20 20 20 20 20 20 20 20 20 20 62 69 74 20 20 bit
000150: 20 6D 65 61 6E 69 6E 67 0D 0A 20 20 20 20 20 20 meaning..
000160: 20 20 20 20 20 20 20 20 20 20 20 20 2D 2D 2D 20 ---
000170: 20 20 2D 2D 2D 2D 2D 2D 2D 2D 2D 0D 0A 20 20 20 ---------..
000180: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 38 8
000190: 30 20 20 20 20 66 69 6C 65 20 69 73 20 6F 70 65 0 file is ope
0001A0: 6E 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 20 n..
0001B0: 20 20 20 20 20 34 30 20 20 20 20 72 61 6E 64 6F 40 rando
0001C0: 6D 20 6D 6F 64 65 20 2D 20 6E 6F 74 20 73 65 71 m mode - not seq
0001D0: 75 65 6E 74 69 61 6C 0D 0A 20 20 20 20 20 20 20 uential..
0001E0: 20 20 20 20 20 20 20 20 20 20 20 32 30 20 20 20 20
0001F0: 20 74 65 78 74 20 6D 6F 64 65 20 2D 20 6E 6F 74 text mode - not
Size : 512 (Real : 512)
000000: 20 20 20 20 20 20 20 6C 6F 77 2D 2D 2D 3E 20 49 low---> I
000010: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
000020: 2D 2D 2D 2D 2D 2D 2D 49 0D 0A 20 20 20 20 20 20 -------I..
000030: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
000040: 20 20 49 20 20 20 20 20 20 20 20 20 20 20 20 20 I
000050: 20 20 20 20 20 20 20 20 20 20 49 0D 0A 20 20 20 I..
000060: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
000070: 20 20 20 20 20 49 20 20 20 20 20 75 6E 75 73 65 I unuse
000080: 64 20 20 20 20 20 20 20 20 20 20 20 20 49 0D 0A d I..
000090: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
0000A0: 20 20 20 20 20 20 20 20 49 20 20 20 20 20 20 20 I
0000B0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
0000C0: 49 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 20 I..
0000D0: 20 20 20 74 6F 73 2D 2D 2D 3E 20 49 2D 2D 2D 2D tos---> I----
0000E0: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
0000F0: 2D 2D 2D 49 0D 0A 20 20 20 20 20 20 20 20 20 20 ---I..
000100: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 49 20 I
000110: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
000120: 20 20 20 20 20 20 49 0D 0A 20 20 20 20 20 20 20 I..
000130: 20 20 20 20 20 20 20 20 20 63 75 72 2D 2D 2D 3E cur--->
000140: 20 49 20 20 20 20 20 20 44 41 54 41 20 53 54 41 I DATA STA
000150: 43 4B 20 20 20 20 20 20 20 49 0D 0A 20 20 20 20 CK I..
000160: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
000170: 20 20 20 20 49 20 20 20 20 20 20 20 20 20 20 20 I
000180: 20 20 20 20 20 20 20 20 20 20 20 20 49 0D 0A 20 I..
000190: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 62 b
0001A0: 61 73 65 2D 2D 3E 20 49 2D 2D 2D 2D 2D 2D 2D 2D ase--> I--------
0001B0: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 49 ---------------I
0001C0: 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ..
0001D0: 20 20 20 20 20 20 20 20 20 20 49 20 20 20 20 20 I
0001E0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
0001F0: 20 20 49 0D 0A 20 20 20 20 20 20 20 20 20 20 20 I..
Size : 512 (Real : 512)
000000: 20 62 69 6E 61 72 79 0D 0A 20 20 20 20 20 20 20 binary..
000010: 20 20 20 20 20 20 20 20 20 20 20 31 30 20 20 20 10
000020: 20 45 4F 4C 4E 20 66 6C 61 67 20 73 65 74 0D 0A EOLN flag set..
000030: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
000040: 20 20 30 38 20 20 20 20 69 6E 70 75 74 20 2D 20 08 input -
000050: 6E 6F 74 20 6F 75 74 70 75 74 20 6F 72 20 72 61 not output or ra
000060: 6E 64 6F 6D 0D 0A 20 20 20 20 20 20 20 20 20 20 ndom..
000070: 20 20 20 20 20 20 20 20 30 34 20 20 20 20 45 4F 04 EO
000080: 46 20 66 6C 61 67 20 73 65 74 0D 0A 0D 0A 20 20 F flag set....
000090: 20 20 20 20 46 6F 72 6D 61 74 74 65 64 20 65 78 Formatted ex
0000A0: 74 65 72 6E 61 6C 20 70 72 6F 63 65 64 75 72 65 ternal procedure
0000B0: 20 74 61 62 6C 65 0D 0A 0D 0A 20 20 20 20 20 20 table....
0000C0: 20 20 20 20 20 20 20 20 20 20 20 65 78 70 72 6F expro
0000D0: 63 20 6E 61 6D 65 20 20 61 64 64 72 20 20 20 75 c name addr u
0000E0: 73 65 20 63 6E 74 20 20 20 74 69 6D 65 20 20 73 se cnt time s
0000F0: 74 61 74 0D 0A 20 20 20 20 20 20 20 20 20 20 20 tat..
000100: 20 20 20 20 20 20 20 41 43 43 54 50 41 59 31 20 ACCTPAY1
000110: 20 20 20 43 32 41 45 20 20 20 20 30 30 30 30 20 C2AE 0000
000120: 20 20 20 20 30 30 30 34 20 20 20 33 30 0D 0A 20 0004 30..
000130: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
000140: 20 41 43 43 54 50 41 59 32 20 20 20 20 33 45 32 ACCTPAY2 3E2
000150: 32 20 20 20 20 30 30 30 30 20 20 20 20 20 30 31 2 0000 01
000160: 36 35 20 20 20 37 34 0D 0A 20 20 20 20 20 20 20 65 74..
000170: 20 20 20 20 20 20 20 20 20 20 20 47 45 4E 4C 45 GENLE
000180: 44 47 31 20 20 20 20 30 30 30 31 20 20 20 20 30 DG1 0001 0
000190: 30 30 30 20 20 20 20 20 30 30 30 30 20 20 20 30 000 0000 0
0001A0: 30 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 20 0..
0001B0: 20 20 20 20 20 41 43 43 54 52 45 43 31 20 20 20 ACCTREC1
0001C0: 20 33 46 35 35 20 20 20 20 30 30 30 31 20 20 20 3F55 0001
0001D0: 20 20 30 31 34 45 20 20 20 46 34 0D 0A 20 20 20 014E F4..
0001E0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 41 A
0001F0: 43 43 54 52 45 43 32 20 20 20 20 34 34 30 43 20 CCTREC2 440C
Size : 512 (Real : 512)
000000: 20 20 20 20 20 20 20 20 20 20 20 20 20 49 20 20 I
000010: 20 20 20 50 41 53 43 41 4C 20 43 4F 44 45 20 20 PASCAL CODE
000020: 20 20 20 20 20 49 20 20 3C 2D 2D 61 64 64 72 20 I <--addr
000030: 28 6F 66 20 65 72 72 6F 72 29 0D 0A 20 20 20 20 (of error)..
000040: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
000050: 20 20 20 20 49 20 20 20 20 20 20 20 20 20 20 20 I
000060: 20 20 20 20 20 20 20 20 20 20 20 20 49 0D 0A 20 I..
000070: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 70 p
000080: 72 6F 67 2D 2D 3E 20 49 2D 2D 2D 2D 2D 2D 2D 2D rog--> I--------
000090: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 49 ---------------I
0000A0: 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ..
0000B0: 20 20 20 20 20 20 20 20 20 20 49 20 20 20 20 20 I
0000C0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
0000D0: 20 20 49 0D 0A 20 20 20 20 20 20 20 20 20 20 20 I..
0000E0: 20 20 20 20 20 20 20 20 20 20 20 20 20 49 20 20 I
0000F0: 20 20 20 45 58 45 43 20 72 75 6E 2D 74 69 6D 65 EXEC run-time
000100: 20 20 20 20 20 49 0D 0A 20 20 20 20 20 20 20 20 I..
000110: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
000120: 49 20 20 20 20 20 73 79 73 74 65 6D 20 20 20 20 I system
000130: 20 20 20 20 20 20 20 20 49 0D 0A 20 20 20 20 20 I..
000140: 20 20 20 20 20 20 20 20 20 20 20 31 30 30 68 2D 100h-
000150: 2D 3E 20 49 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D -> I------------
000160: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 49 0D 0A 20 20 -----------I..
000170: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
000180: 20 20 20 20 20 20 49 20 20 20 20 20 72 65 73 65 I rese
000190: 72 76 65 64 20 61 72 65 61 20 20 20 20 20 49 0D rved area I.
0001A0: 0A 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .
0001B0: 20 20 20 20 20 20 20 20 20 2D 2D 2D 2D 2D 2D 2D -------
0001C0: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
0001D0: 2D 2D 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 31 2E --...... 1.
0001E0: 20 61 64 64 72 20 2D 20 74 68 65 20 61 64 64 72 addr - the addr
0001F0: 65 73 73 20 61 74 20 77 68 69 63 68 20 74 68 65 ess at which the
Size : 512 (Real : 512)
000000: 20 20 20 30 30 30 31 20 20 20 20 20 30 31 35 41 0001 015A
000010: 20 20 20 46 34 0D 0A 20 20 20 20 20 20 20 20 20 F4..
000020: 20 20 20 20 20 20 20 20 20 53 4F 52 54 20 20 20 SORT
000030: 20 20 20 20 20 30 30 30 31 20 20 20 20 30 30 30 0001 000
000040: 30 20 20 20 20 20 30 30 30 30 20 20 20 30 30 0D 0 0000 00.
000050: 0A 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .
000060: 20 20 2B 49 4E 56 45 4E 54 52 59 20 20 20 20 35 +INVENTRY 5
000070: 30 33 41 20 20 20 20 30 30 30 31 20 20 20 20 20 03A 0001
000080: 30 32 30 44 20 20 20 46 34 0D 0A 20 20 20 20 20 020D F4..
000090: 20 20 20 20 20 20 20 20 20 20 20 20 20 43 48 45 CHE
0000A0: 43 4B 53 20 20 20 20 20 20 35 30 35 32 20 20 20 CKS 5052
0000B0: 20 30 30 30 30 20 20 20 20 20 30 31 30 33 20 20 0000 0103
0000C0: 20 33 30 0D 0A 0D 0A 20 20 20 20 20 20 31 2E 20 30.... 1.
0000D0: 20 65 78 70 72 6F 63 20 20 6E 61 6D 65 20 20 2D exproc name -
0000E0: 20 74 68 65 20 6E 61 6D 65 20 6F 66 20 74 68 65 the name of the
0000F0: 20 65 78 74 65 72 6E 61 6C 20 70 72 6F 63 65 64 external proced
000100: 75 72 65 20 6F 72 20 66 75 6E 63 74 69 6F 6E 2E ure or function.
000110: 20 41 0D 0A 20 20 20 20 20 20 70 6C 75 73 20 73 A.. plus s
000120: 69 67 6E 20 69 6E 64 69 63 61 74 65 73 20 74 68 ign indicates th
000130: 65 20 65 78 74 65 72 6E 61 6C 20 70 72 6F 63 65 e external proce
000140: 64 75 72 65 20 77 68 69 63 68 20 77 61 73 20 20 dure which was
000150: 6D 6F 73 74 20 20 63 75 72 72 65 6E 74 6C 79 0D most currently.
000160: 0A 20 20 20 20 20 20 65 6E 74 65 72 65 64 20 20 . entered
000170: 6F 72 20 20 65 78 69 74 65 64 2E 20 20 54 68 69 or exited. Thi
000180: 73 20 20 69 73 20 20 6E 6F 74 20 20 6E 65 63 65 s is not nece
000190: 73 73 61 72 69 6C 79 20 74 68 65 20 63 75 72 72 ssarily the curr
0001A0: 65 6E 74 6C 79 20 61 63 74 69 76 65 0D 0A 20 20 ently active..
0001B0: 20 20 20 20 70 72 6F 63 65 64 75 72 65 2E 0D 0A procedure...
0001C0: 0D 0A 20 20 20 20 20 20 32 2E 20 61 64 64 72 20 .. 2. addr
0001D0: 2D 20 74 68 65 20 61 64 64 72 65 73 73 20 69 6E - the address in
0001E0: 20 20 6D 61 69 6E 20 20 73 74 6F 72 61 67 65 20 main storage
0001F0: 20 6F 66 20 20 74 68 65 20 20 65 78 74 65 72 6E of the extern
Size : 512 (Real : 512)
000000: 20 65 72 72 6F 72 20 6F 63 63 75 72 72 65 64 2E error occurred.
000010: 20 54 68 69 73 20 6D 61 79 20 62 65 20 69 6E 20 This may be in
000020: 74 68 65 0D 0A 20 20 20 20 20 20 50 61 73 63 61 the.. Pasca
000030: 6C 20 20 63 6F 64 65 20 20 61 72 65 61 20 6F 72 l code area or
000040: 20 69 6E 20 74 68 65 20 64 79 6E 61 6D 69 63 20 in the dynamic
000050: 73 74 6F 72 61 67 65 20 61 72 65 61 20 69 66 20 storage area if
000060: 74 68 65 20 65 72 72 6F 72 20 77 61 73 20 69 6E the error was in
000070: 0D 0A 20 20 20 20 20 20 61 6E 20 65 78 74 65 72 .. an exter
000080: 6E 61 6C 20 70 72 6F 63 65 64 75 72 65 2E 0D 0A nal procedure...
000090: 0D 0A 20 20 20 20 20 20 32 2E 20 70 72 6F 67 20 .. 2. prog
0000A0: 2D 20 74 68 65 20 73 74 61 72 74 69 6E 67 20 61 - the starting a
0000B0: 64 64 72 65 73 73 20 6F 66 20 74 68 65 20 6D 61 ddress of the ma
0000C0: 69 6E 20 50 61 73 63 61 6C 20 70 72 6F 67 72 61 in Pascal progra
0000D0: 6D 2E 0D 0A 0D 0A 20 20 20 20 20 20 33 2E 20 73 m..... 3. s
0000E0: 69 7A 65 20 2D 20 74 68 65 20 73 69 7A 65 20 6F ize - the size o
0000F0: 66 20 74 68 65 20 6D 61 69 6E 20 70 72 6F 67 72 f the main progr
000100: 61 6D 20 6D 6F 64 75 6C 65 2E 0D 0A 0D 0A 20 20 am module.....
000110: 20 20 20 20 34 2E 20 62 61 73 65 20 2D 20 74 68 4. base - th
000120: 65 20 62 61 73 65 20 6F 72 20 62 6F 74 74 6F 6D e base or bottom
000130: 20 6F 66 20 74 68 65 20 64 61 74 61 20 73 74 61 of the data sta
000140: 63 6B 2E 0D 0A 0D 0A 20 20 20 20 20 20 35 2E 20 ck..... 5.
000150: 63 75 72 20 20 2D 20 74 68 65 20 61 64 64 72 65 cur - the addre
000160: 73 73 20 6F 66 20 74 68 65 20 63 75 72 72 65 6E ss of the curren
000170: 74 20 70 72 6F 63 65 64 75 72 65 20 61 63 74 69 t procedure acti
000180: 76 61 74 69 6F 6E 20 62 6C 6F 63 6B 2E 0D 0A 0D vation block....
000190: 0A 20 20 20 20 20 20 36 2E 20 74 6F 73 20 20 2D . 6. tos -
0001A0: 20 74 6F 70 20 6F 66 20 73 74 61 63 6B 2E 20 54 top of stack. T
0001B0: 68 69 73 20 69 73 20 74 68 65 20 61 64 64 72 65 his is the addre
0001C0: 73 73 20 6A 75 73 74 20 70 61 73 74 20 74 68 65 ss just past the
0001D0: 20 65 6E 64 20 6F 66 20 20 74 68 65 0D 0A 20 20 end of the..
0001E0: 20 20 20 20 64 61 74 61 20 73 74 61 63 6B 2E 0D data stack..
0001F0: 0A 0D 0A 20 20 20 20 20 20 37 2E 20 6C 6F 77 20 ... 7. low
Size : 512 (Real : 512)
000000: 61 6C 20 20 70 72 6F 63 65 64 75 72 65 0D 0A 20 al procedure..
000010: 20 20 20 20 20 6D 6F 64 75 6C 65 2E 20 20 49 66 module. If
000020: 20 20 74 68 69 73 20 20 76 61 6C 75 65 20 20 69 this value i
000030: 73 20 30 30 30 31 20 74 68 65 6E 20 74 68 65 20 s 0001 then the
000040: 6D 6F 64 75 6C 65 20 69 73 20 6E 6F 74 20 63 75 module is not cu
000050: 72 72 65 6E 74 6C 79 20 69 6E 0D 0A 20 20 20 20 rrently in..
000060: 20 20 6D 61 69 6E 20 73 74 6F 72 61 67 65 2E 0D main storage..
000070: 0A 0D 0A 20 20 20 20 20 20 33 2E 20 75 73 65 20 ... 3. use
000080: 63 6E 74 20 2D 20 61 20 20 63 6F 75 6E 74 20 20 cnt - a count
000090: 6F 66 20 20 74 68 65 20 20 6E 75 6D 62 65 72 20 of the number
0000A0: 20 6F 66 20 20 74 69 6D 65 73 20 20 74 68 65 20 of times the
0000B0: 20 70 72 6F 63 65 64 75 72 65 20 20 69 73 0D 0A procedure is..
0000C0: 20 20 20 20 20 20 43 55 52 52 45 4E 54 4C 59 20 CURRENTLY
0000D0: 20 61 63 74 69 76 65 2E 20 20 20 55 73 75 61 6C active. Usual
0000E0: 6C 79 20 20 74 68 69 73 20 20 77 69 6C 6C 20 62 ly this will b
0000F0: 65 20 30 30 30 30 20 28 6E 6F 74 20 61 63 74 69 e 0000 (not acti
000100: 76 65 29 20 6F 72 20 30 30 30 31 0D 0A 20 20 20 ve) or 0001..
000110: 20 20 20 28 61 63 74 69 76 65 29 2E 20 20 49 74 (active). It
000120: 20 77 69 6C 6C 20 62 65 20 67 72 65 61 74 65 72 will be greater
000130: 20 74 68 61 74 20 30 30 30 31 20 20 6F 6E 6C 79 that 0001 only
000140: 20 20 69 66 20 20 74 68 65 20 20 70 72 6F 63 65 if the proce
000150: 64 75 72 65 20 20 69 73 0D 0A 20 20 20 20 20 20 dure is..
000160: 63 61 6C 6C 65 64 20 72 65 63 75 72 73 69 76 65 called recursive
000170: 6C 79 2E 0D 0A 0D 0A 20 20 20 20 20 20 34 2E 20 ly..... 4.
000180: 20 20 74 69 6D 65 20 20 20 2D 20 20 20 69 6E 20 time - in
000190: 20 20 6F 72 64 65 72 20 20 20 74 6F 20 20 20 64 order to d
0001A0: 65 74 65 72 6D 69 6E 65 20 20 20 77 68 69 63 68 etermine which
0001B0: 20 20 20 70 72 6F 63 65 64 75 72 65 20 20 20 77 procedure w
0001C0: 61 73 0D 0A 20 20 20 20 20 20 6C 65 61 73 74 2D as.. least-
0001D0: 72 65 63 65 6E 74 6C 79 2D 75 73 65 64 2C 20 74 recently-used, t
0001E0: 68 65 20 72 75 6E 2D 74 69 6D 65 20 20 73 79 73 he run-time sys
0001F0: 74 65 6D 20 20 6D 61 69 6E 74 61 69 6E 73 20 20 tem maintains
Size : 512 (Real : 512)
000000: 72 20 20 6F 63 63 75 72 72 65 64 20 20 69 6E 20 r occurred in
000010: 20 6D 61 69 6E 20 20 70 72 6F 67 72 61 6D 20 20 main program
000020: 42 45 47 49 4E 2D 45 4E 44 20 62 6C 6F 63 6B 2C BEGIN-END block,
000030: 20 6E 6F 74 20 69 6E 0D 0A 20 20 20 20 20 20 70 not in.. p
000040: 72 6F 63 65 64 75 72 65 2E 0D 0A 0D 0A 20 20 20 rocedure.....
000050: 20 20 20 25 50 72 6F 63 20 2D 20 65 72 72 6F 72 %Proc - error
000060: 20 6F 63 63 75 72 72 65 64 20 69 6E 20 70 72 6F occurred in pro
000070: 63 65 64 75 72 65 2C 20 6E 6F 74 20 69 6E 20 20 cedure, not in
000080: 6D 61 69 6E 20 20 70 72 6F 67 72 61 6D 20 20 42 main program B
000090: 45 47 49 4E 2D 45 4E 44 0D 0A 20 20 20 20 20 20 EGIN-END..
0000A0: 62 6C 6F 63 6B 2E 0D 0A 0D 0A 20 20 20 20 20 20 block.....
0000B0: 25 54 72 61 63 65 20 2D 20 6C 69 6E 65 20 6E 75 %Trace - line nu
0000C0: 6D 62 65 72 20 74 72 61 63 65 20 69 6E 64 69 63 mber trace indic
0000D0: 61 74 6F 72 2E 0D 0A 0D 0A 20 20 20 20 20 20 25 ator..... %
0000E0: 57 61 72 6E 69 6E 67 20 2D 20 6E 6F 6E 2D 66 61 Warning - non-fa
0000F0: 74 61 6C 20 65 72 72 6F 72 20 63 6F 6E 64 69 74 tal error condit
000100: 69 6F 6E 2E 20 20 50 72 6F 63 65 73 73 69 6E 67 ion. Processing
000110: 20 63 6F 6E 74 69 6E 75 65 73 2E 0D 0A 0D 0A 20 continues.....
000120: 20 20 20 20 20 31 33 2E 35 20 20 43 6F 6D 6D 6F 13.5 Commo
000130: 6E 20 50 72 6F 62 6C 65 6D 73 0D 0A 0D 0A 20 20 n Problems....
000140: 20 20 20 20 41 2E 20 20 47 65 6E 65 72 61 6C 20 A. General
000150: 64 69 66 66 69 63 75 6C 74 69 65 73 0D 0A 0D 0A difficulties....
000160: 20 20 20 20 31 2E 20 20 54 68 65 20 6D 61 73 74 1. The mast
000170: 65 72 20 64 69 73 6B 73 20 61 63 63 69 64 65 6E er disks acciden
000180: 74 6C 79 20 67 6F 74 20 65 72 61 73 65 64 20 62 tly got erased b
000190: 79 20 61 20 70 72 6F 67 72 61 6D 2E 2E 2E 0D 0A y a program.....
0001A0: 20 20 20 20 20 20 4D 41 4B 45 20 20 42 41 43 4B MAKE BACK
0001B0: 55 50 20 20 43 4F 50 49 45 53 20 20 4F 46 20 20 UP COPIES OF
0001C0: 4A 52 54 20 20 50 41 53 43 41 4C 20 20 77 68 65 JRT PASCAL whe
0001D0: 6E 20 79 6F 75 20 66 69 72 73 74 20 67 65 74 20 n you first get
0001E0: 69 74 2E 0D 0A 0D 0A 20 20 20 20 32 2E 20 20 54 it..... 2. T
0001F0: 68 65 20 64 69 73 6B 73 20 77 69 6C 6C 20 6E 6F he disks will no
Size : 512 (Real : 512)
000000: 61 20 20 70 73 65 75 64 6F 2D 74 69 6D 65 72 0D a pseudo-timer.
000010: 0A 20 20 20 20 20 20 77 68 69 63 68 20 20 69 73 . which is
000020: 20 20 69 6E 63 72 65 6D 65 6E 74 65 64 20 6F 6E incremented on
000030: 63 65 20 6F 6E 20 65 61 63 68 20 65 6E 74 72 79 ce on each entry
000040: 20 74 6F 20 6F 72 20 65 78 69 74 20 66 72 6F 6D to or exit from
000050: 20 61 6E 20 65 78 74 65 72 6E 61 6C 0D 0A 20 20 an external..
000060: 20 20 20 20 70 72 6F 63 65 64 75 72 65 2E 20 54 procedure. T
000070: 68 65 20 66 69 65 6C 64 20 63 6F 6E 74 61 69 6E he field contain
000080: 73 20 74 68 65 20 76 61 6C 75 65 20 6F 66 20 74 s the value of t
000090: 68 65 20 70 73 65 75 64 6F 2D 74 69 6D 65 72 20 he pseudo-timer
0000A0: 74 68 65 20 20 6C 61 73 74 0D 0A 20 20 20 20 20 the last..
0000B0: 20 74 69 6D 65 20 74 68 65 20 70 72 6F 63 65 64 time the proced
0000C0: 75 72 65 20 77 61 73 20 65 6E 74 65 72 65 64 20 ure was entered
0000D0: 6F 72 20 65 78 69 74 65 64 2E 0D 0A 0D 0A 20 20 or exited.....
0000E0: 20 20 20 20 35 2E 20 73 74 61 74 20 2D 20 61 20 5. stat - a
0000F0: 73 74 61 74 75 73 20 69 6E 64 69 63 61 74 6F 72 status indicator
000100: 20 77 69 74 68 20 73 65 76 65 72 61 6C 20 66 6C with several fl
000110: 61 67 20 62 69 74 73 3A 0D 0A 0D 0A 20 20 20 20 ag bits:....
000120: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 62 69 bi
000130: 74 20 20 20 6D 65 61 6E 69 6E 67 0D 0A 20 20 20 t meaning..
000140: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2D -
000150: 2D 2D 20 20 20 2D 2D 2D 2D 2D 2D 2D 2D 0D 0A 20 -- --------..
000160: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
000170: 20 38 30 20 20 20 20 70 72 6F 63 65 64 75 72 65 80 procedure
000180: 20 69 73 20 63 75 72 72 65 6E 74 6C 79 20 61 63 is currently ac
000190: 74 69 76 65 0D 0A 20 20 20 20 20 20 20 20 20 20 tive..
0001A0: 20 20 20 20 20 20 20 20 34 30 20 20 20 20 70 72 40 pr
0001B0: 6F 63 65 64 75 72 65 20 77 61 73 20 6C 69 6E 6B ocedure was link
0001C0: 65 64 20 77 69 74 68 20 6D 61 69 6E 20 70 72 6F ed with main pro
0001D0: 67 72 61 6D 0D 0A 20 20 20 20 20 20 20 20 20 20 gram..
0001E0: 20 20 20 20 20 20 20 20 32 30 20 20 20 20 70 72 20 pr
0001F0: 6F 63 65 64 75 72 65 20 69 73 20 63 75 72 72 65 ocedure is curre
Size : 512 (Real : 512)
000000: 74 20 62 6F 6F 74 20 75 70 20 77 68 65 6E 20 6F t boot up when o
000010: 6E 20 69 73 20 20 70 75 74 20 20 69 6E 20 20 64 n is put in d
000020: 72 69 76 65 20 20 41 3A 20 20 61 6E 64 20 20 74 rive A: and t
000030: 68 65 0D 0A 20 20 20 20 20 20 73 79 73 74 65 6D he.. system
000040: 20 69 73 20 72 65 73 65 74 2E 2E 2E 0D 0A 20 20 is reset.....
000050: 20 20 20 20 59 6F 75 20 6E 65 65 64 20 79 6F 75 You need you
000060: 72 20 6F 70 65 72 61 74 69 6E 67 20 73 79 73 74 r operating syst
000070: 65 6D 2E 0D 0A 0D 0A 20 20 20 20 33 2E 20 20 57 em..... 3. W
000080: 69 74 68 20 43 50 2F 4D 20 31 2E 34 2C 20 43 44 ith CP/M 1.4, CD
000090: 4F 53 20 6F 72 20 74 68 65 20 65 71 75 69 76 61 OS or the equiva
0000A0: 6C 65 6E 74 73 2C 20 43 55 53 54 4F 4D 49 5A 2C lents, CUSTOMIZ,
0000B0: 20 4C 49 4E 4B 45 52 20 61 6E 64 20 72 61 6E 64 LINKER and rand
0000C0: 6F 6D 0D 0A 20 20 20 20 20 20 49 2F 4F 20 69 6E om.. I/O in
0000D0: 20 67 65 6E 65 72 61 6C 20 77 69 6C 6C 20 6E 6F general will no
0000E0: 74 20 77 6F 72 6B 2E 2E 2E 2E 0D 0A 20 20 20 20 t work......
0000F0: 20 20 53 6F 72 72 79 20 61 62 6F 75 74 20 74 68 Sorry about th
000100: 61 74 2C 20 62 75 74 20 74 6F 20 67 65 74 20 72 at, but to get r
000110: 61 6E 64 6F 6D 20 49 2F 4F 20 6F 6E 20 38 20 6D andom I/O on 8 m
000120: 65 67 61 62 79 74 65 20 66 69 6C 65 73 2C 20 43 egabyte files, C
000130: 50 2F 4D 20 32 2E 32 0D 0A 20 20 20 20 20 20 77 P/M 2.2.. w
000140: 6F 75 6C 64 20 20 62 65 20 20 72 65 71 75 69 72 ould be requir
000150: 65 64 2E 20 20 20 4C 49 4E 4B 45 52 20 20 69 73 ed. LINKER is
000160: 20 20 6E 65 76 65 72 20 72 65 71 75 69 72 65 64 never required
000170: 20 66 6F 72 20 4A 52 54 20 50 61 73 63 61 6C 2E for JRT Pascal.
000180: 20 54 68 65 0D 0A 20 20 20 20 20 20 66 75 6E 63 The.. func
000190: 74 69 6F 6E 20 6F 66 20 43 55 53 54 4F 4D 49 5A tion of CUSTOMIZ
0001A0: 20 63 61 6E 20 62 65 20 70 65 72 66 6F 72 6D 65 can be performe
0001B0: 64 20 62 79 20 74 77 6F 20 73 69 6D 70 6C 65 20 d by two simple
0001C0: 70 61 74 63 68 65 73 20 20 69 6E 20 20 44 44 54 patches in DDT
0001D0: 2E 0D 0A 20 20 20 20 20 20 54 68 69 73 20 20 20 ... This
0001E0: 69 6E 76 6F 6C 76 65 73 20 20 70 61 74 63 68 69 involves patchi
0001F0: 6E 67 20 20 74 68 65 20 20 64 69 73 6B 20 20 73 ng the disk s
Size : 512 (Real : 512)
000000: 6E 74 6C 79 20 69 6E 20 73 74 6F 72 61 67 65 0D ntly in storage.
000010: 0A 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .
000020: 20 20 20 31 30 20 20 20 20 70 72 6F 63 65 64 75 10 procedu
000030: 72 65 20 66 69 6C 65 20 63 6F 6E 74 72 6F 6C 20 re file control
000040: 62 6C 6F 63 6B 20 69 73 20 6F 70 65 6E 0D 0A 20 block is open..
000050: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
000060: 20 30 34 20 20 20 20 70 72 6F 63 65 64 75 72 65 04 procedure
000070: 20 61 64 64 72 65 73 73 20 69 73 20 72 65 61 6C address is real
000080: 2C 20 6E 6F 74 20 76 69 72 74 75 61 6C 0D 0A 0D , not virtual...
000090: 0A 20 20 20 20 20 20 31 33 2E 34 20 20 52 75 6E . 13.4 Run
0000A0: 2D 74 69 6D 65 20 6D 65 73 73 61 67 65 73 0D 0A -time messages..
0000B0: 0D 0A 20 20 20 20 20 20 20 20 20 20 20 54 68 65 .. The
0000C0: 20 20 72 75 6E 2D 74 69 6D 65 20 20 73 79 73 74 run-time syst
0000D0: 65 6D 20 20 70 72 6F 76 69 64 65 73 20 20 73 65 em provides se
0000E0: 76 65 72 61 6C 20 20 6D 65 73 73 61 67 65 73 20 veral messages
0000F0: 74 6F 20 61 69 64 20 69 6E 20 74 68 65 0D 0A 20 to aid in the..
000100: 20 20 20 20 20 63 6F 72 72 65 63 74 69 6F 6E 20 correction
000110: 6F 66 20 65 72 72 6F 72 20 6F 72 20 65 78 63 65 of error or exce
000120: 70 74 69 6F 6E 61 6C 20 63 6F 6E 64 69 74 69 6F ptional conditio
000130: 6E 73 2E 20 20 49 6E 20 61 64 64 69 74 69 6F 6E ns. In addition
000140: 20 74 6F 20 20 74 68 65 73 65 0D 0A 20 20 20 20 to these..
000150: 20 20 67 65 6E 65 72 61 6C 20 20 6D 65 73 73 61 general messa
000160: 67 65 73 2C 20 61 62 6F 75 74 20 37 35 20 6D 6F ges, about 75 mo
000170: 72 65 20 73 70 65 63 69 66 69 63 20 6D 65 73 73 re specific mess
000180: 61 67 65 73 20 6F 66 20 31 20 74 6F 20 34 20 6C ages of 1 to 4 l
000190: 69 6E 65 73 20 74 6F 0D 0A 20 20 20 20 20 20 74 ines to.. t
0001A0: 65 78 74 20 61 72 65 20 70 72 6F 76 69 64 65 64 ext are provided
0001B0: 20 74 6F 20 64 65 73 63 72 69 62 65 20 70 61 72 to describe par
0001C0: 74 69 63 75 6C 61 72 20 65 72 72 6F 72 20 63 6F ticular error co
0001D0: 6E 64 69 74 69 6F 6E 73 2E 0D 0A 0D 0A 20 20 20 nditions.....
0001E0: 20 20 20 20 20 20 20 20 54 68 65 20 20 67 65 6E The gen
0001F0: 65 72 61 6C 20 20 72 75 6E 2D 74 69 6D 65 20 20 eral run-time
Size : 512 (Real : 512)
000000: 65 61 72 63 68 20 20 6C 69 73 74 20 20 69 6E 20 earch list in
000010: 20 45 58 45 43 2E 43 4F 4D 20 20 61 6E 64 0D 0A EXEC.COM and..
000020: 20 20 20 20 20 20 4A 52 54 50 41 53 33 2E 43 4F JRTPAS3.CO
000030: 4D 2E 20 20 42 6F 74 68 20 6F 66 20 74 68 65 73 M. Both of thes
000040: 65 20 6C 69 73 74 20 61 72 65 20 61 74 20 30 31 e list are at 01
000050: 35 35 68 20 61 6E 64 20 63 6F 6E 73 69 73 74 20 55h and consist
000060: 20 6F 66 20 20 75 70 20 20 74 6F 0D 0A 20 20 20 of up to..
000070: 20 20 20 66 6F 75 72 20 75 70 70 65 72 20 63 61 four upper ca
000080: 73 65 20 6C 65 74 74 65 72 73 20 66 6F 6C 6C 6F se letters follo
000090: 77 65 64 20 62 79 20 61 20 5A 2E 0D 0A 0D 0A 20 wed by a Z.....
0000A0: 20 20 20 20 20 20 20 20 20 20 20 20 20 41 3E 44 A>D
0000B0: 44 54 20 45 58 45 43 2E 43 4F 4D 0D 0A 20 20 20 DT EXEC.COM..
0000C0: 20 20 20 20 20 20 20 20 20 20 20 2D 53 31 35 35 -S155
0000D0: 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ..
0000E0: 30 31 35 35 20 34 31 20 34 31 0D 0A 20 20 20 20 0155 41 41..
0000F0: 20 20 20 20 20 20 20 20 20 20 30 31 35 36 20 34 0156 4
000100: 32 20 34 32 0D 0A 20 20 20 20 20 20 20 20 20 20 2 42..
000110: 20 20 20 20 30 31 35 37 20 34 41 20 35 41 20 20 0157 4A 5A
000120: 20 20 20 20 28 61 6E 20 75 70 70 65 72 20 63 61 (an upper ca
000130: 73 65 20 5A 29 0D 0A 20 20 20 20 20 20 20 20 20 se Z)..
000140: 20 20 20 20 20 30 31 35 38 20 30 30 20 2E 20 0D 0158 00 . .
000150: 0A 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2D . -
000160: 47 30 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 G0..
000170: 20 20 41 3E 53 41 56 45 20 39 33 20 45 58 45 43 A>SAVE 93 EXEC
000180: 2E 43 4F 4D 0D 0A 0D 0A 20 20 20 20 20 20 20 20 .COM....
000190: 46 6F 72 20 4A 52 54 50 41 53 33 2E 43 4F 4D 2C For JRTPAS3.COM,
0001A0: 20 74 68 65 20 53 41 56 45 20 63 6F 6D 6D 61 6E the SAVE comman
0001B0: 64 20 6C 69 6E 65 20 69 73 0D 0A 20 20 20 20 20 d line is..
0001C0: 20 20 20 20 20 20 20 20 20 41 3E 53 41 56 45 20 A>SAVE
0001D0: 38 35 20 4A 52 54 50 41 53 33 2E 43 4F 4D 0D 0A 85 JRTPAS3.COM..
0001E0: 0D 0A 20 20 20 20 34 2E 20 20 54 68 65 20 64 69 .. 4. The di
0001F0: 61 67 6E 6F 73 74 69 63 20 22 4A 52 54 50 41 53 agnostic "JRTPAS
Size : 512 (Real : 512)
000000: 6D 65 73 73 61 67 65 73 20 20 61 72 65 20 20 61 messages are a
000010: 6C 6C 20 20 70 72 65 66 69 78 65 64 20 20 77 69 ll prefixed wi
000020: 74 68 20 20 61 20 20 25 0D 0A 20 20 20 20 20 20 th a %..
000030: 63 68 61 72 61 63 74 65 72 2E 20 20 54 68 65 73 character. Thes
000040: 65 20 6D 65 73 73 61 67 65 73 20 61 72 65 20 6C e messages are l
000050: 69 73 74 65 64 20 68 65 72 65 3A 0D 0A 0D 0A 20 isted here:....
000060: 20 20 20 20 20 25 45 6E 74 72 79 20 20 2D 20 20 %Entry -
000070: 69 6E 64 69 63 61 74 65 64 20 20 65 6E 74 72 79 indicated entry
000080: 20 20 74 6F 20 20 61 20 20 70 72 6F 63 65 64 75 to a procedu
000090: 72 65 20 77 68 65 6E 20 70 72 6F 63 65 64 75 72 re when procedur
0000A0: 65 20 74 72 61 63 65 20 69 73 0D 0A 20 20 20 20 e trace is..
0000B0: 20 20 61 63 74 69 76 65 2E 20 20 50 72 6F 63 65 active. Proce
0000C0: 64 75 72 65 20 6E 61 6D 65 20 61 6E 64 20 61 63 dure name and ac
0000D0: 74 69 76 61 74 69 6F 6E 20 20 63 6F 75 6E 74 20 tivation count
0000E0: 20 61 72 65 20 20 6C 69 73 74 65 64 2E 20 20 45 are listed. E
0000F0: 78 74 65 72 6E 61 6C 0D 0A 20 20 20 20 20 20 70 xternal.. p
000100: 72 6F 63 65 64 75 72 65 73 20 61 72 65 20 69 6E rocedures are in
000110: 64 69 63 61 74 65 64 20 62 79 20 61 6E 20 61 73 dicated by an as
000120: 74 65 72 69 73 6B 20 62 65 66 6F 72 65 20 74 68 terisk before th
000130: 65 20 6E 61 6D 65 2E 0D 0A 0D 0A 20 20 20 20 20 e name.....
000140: 20 25 45 72 72 6F 72 20 2D 20 66 61 74 61 6C 20 %Error - fatal
000150: 65 72 72 6F 72 20 64 65 74 65 63 74 65 64 20 62 error detected b
000160: 79 20 72 75 6E 2D 74 69 6D 65 20 73 79 73 74 65 y run-time syste
000170: 6D 2E 20 50 72 6F 67 72 61 6D 20 74 65 72 6D 69 m. Program termi
000180: 6E 61 74 65 73 2E 0D 0A 0D 0A 20 20 20 20 20 20 nates.....
000190: 25 45 78 69 74 20 2D 20 69 6E 64 69 63 61 74 65 %Exit - indicate
0001A0: 73 20 65 78 69 74 20 66 72 6F 6D 20 70 72 6F 63 s exit from proc
0001B0: 65 64 75 72 65 20 77 68 65 6E 20 70 72 6F 63 65 edure when proce
0001C0: 64 75 72 65 20 74 72 61 63 65 20 69 73 20 61 63 dure trace is ac
0001D0: 74 69 76 65 2E 0D 0A 20 20 20 20 20 20 50 72 6F tive... Pro
0001E0: 63 65 64 75 72 65 20 20 6E 61 6D 65 20 20 69 73 cedure name is
0001F0: 20 20 6C 69 73 74 65 64 2E 20 20 45 78 74 65 72 listed. Exter
Size : 512 (Real : 512)
000000: 33 3F 22 20 6F 72 20 22 53 4F 55 52 43 45 20 46 3?" or "SOURCE F
000010: 49 4C 45 20 4E 4F 54 20 46 4F 55 4E 44 22 20 63 ILE NOT FOUND" c
000020: 6F 6D 65 73 20 75 70 2E 2E 2E 0D 0A 20 20 20 20 omes up.....
000030: 20 20 43 50 2F 4D 20 20 6E 65 65 64 73 20 20 74 CP/M needs t
000040: 6F 20 20 6B 6E 6F 77 20 20 74 68 65 20 20 64 72 o know the dr
000050: 69 76 65 20 20 6F 6E 20 20 77 68 69 63 68 20 20 ive on which
000060: 74 68 65 20 66 69 6C 65 20 4A 52 54 50 41 53 33 the file JRTPAS3
000070: 2E 43 4F 4D 20 69 73 0D 0A 20 20 20 20 20 20 6C .COM is.. l
000080: 6F 63 61 74 65 64 2C 20 69 66 20 69 74 20 69 73 ocated, if it is
000090: 20 6E 6F 74 20 6F 6E 20 74 68 65 20 63 75 72 72 not on the curr
0000A0: 65 6E 74 20 64 65 66 61 75 6C 74 20 64 72 69 76 ent default driv
0000B0: 65 2E 20 20 4A 52 54 50 41 53 33 20 6E 65 65 64 e. JRTPAS3 need
0000C0: 73 20 74 6F 0D 0A 20 20 20 20 20 20 6B 6E 6F 77 s to.. know
0000D0: 20 74 68 65 20 64 72 69 76 65 20 6F 6E 20 77 68 the drive on wh
0000E0: 69 63 68 20 74 68 65 20 73 6F 75 72 63 65 20 66 ich the source f
0000F0: 69 6C 65 20 74 6F 20 62 65 20 20 63 6F 6D 70 69 ile to be compi
000100: 6C 65 64 20 20 69 73 20 20 6C 6F 63 61 74 65 64 led is located
000110: 2E 0D 0A 20 20 20 20 20 20 46 75 72 74 68 65 72 ... Further
000120: 2C 20 74 68 61 74 20 73 6F 75 72 63 65 20 66 69 , that source fi
000130: 6C 65 20 6D 75 73 74 20 68 61 76 65 20 61 20 27 le must have a '
000140: 2E 50 41 53 27 20 73 75 66 66 69 78 20 6F 6E 20 .PAS' suffix on
000150: 74 68 65 20 6E 61 6D 65 2E 20 20 53 6F 2C 0D 0A the name. So,..
000160: 20 20 20 20 20 20 66 6F 72 20 20 65 78 61 6D 70 for examp
000170: 6C 65 2C 20 20 79 6F 75 20 20 6D 61 79 20 20 6E le, you may n
000180: 65 65 64 20 20 74 6F 20 74 79 70 65 20 42 3A 4A eed to type B:J
000190: 52 54 50 41 53 33 20 42 3A 50 47 4D 20 69 66 20 RTPAS3 B:PGM if
0001A0: 74 68 65 20 64 65 66 61 75 6C 74 0D 0A 20 20 20 the default..
0001B0: 20 20 20 64 72 69 76 65 20 69 73 20 41 3A 20 61 drive is A: a
0001C0: 6E 64 20 62 6F 74 68 20 4A 52 54 50 41 53 33 2E nd both JRTPAS3.
0001D0: 43 4F 4D 20 61 6E 64 20 50 47 4D 2E 50 41 53 20 COM and PGM.PAS
0001E0: 61 72 65 20 6F 6E 20 74 68 65 20 42 3A 20 64 72 are on the B: dr
0001F0: 69 76 65 2E 0D 0A 0D 0A 20 20 20 20 35 2E 20 20 ive..... 5.
Size : 512 (Real : 512)
000000: 6E 61 6C 20 70 72 6F 63 65 64 75 72 65 73 20 61 nal procedures a
000010: 72 65 20 69 6E 64 69 63 61 74 65 64 20 62 79 20 re indicated by
000020: 61 6E 0D 0A 20 20 20 20 20 20 61 73 74 65 72 69 an.. asteri
000030: 73 6B 20 62 65 66 6F 72 65 20 74 68 65 20 6E 61 sk before the na
000040: 6D 65 2E 0D 0A 0D 0A 20 20 20 20 20 20 25 45 78 me..... %Ex
000050: 74 65 72 6E 20 2D 20 69 6E 64 69 63 61 74 65 73 tern - indicates
000060: 20 74 68 61 74 20 65 72 72 6F 72 20 6F 63 63 75 that error occu
000070: 72 72 65 64 20 77 68 69 6C 65 20 61 74 74 65 6D rred while attem
000080: 70 74 69 6E 67 20 74 6F 20 20 6C 6F 61 64 20 20 pting to load
000090: 61 6E 0D 0A 20 20 20 20 20 20 65 78 74 65 72 6E an.. extern
0000A0: 61 6C 20 70 72 6F 63 65 64 75 72 65 20 6D 6F 64 al procedure mod
0000B0: 75 6C 65 2E 20 54 68 65 20 70 72 6F 63 65 64 75 ule. The procedu
0000C0: 72 65 20 6E 61 6D 65 20 69 73 20 6C 69 73 74 65 re name is liste
0000D0: 64 2E 0D 0A 0D 0A 20 20 20 20 20 20 25 49 6E 70 d..... %Inp
0000E0: 75 74 20 20 65 72 72 6F 72 20 20 2D 20 69 6E 64 ut error - ind
0000F0: 69 63 61 74 65 73 20 61 20 66 6F 72 6D 61 74 20 icates a format
000100: 65 72 72 6F 72 20 77 68 65 6E 20 72 65 61 64 69 error when readi
000110: 6E 67 20 63 6F 6E 73 6F 6C 65 20 69 6E 70 75 74 ng console input
000120: 2C 0D 0A 20 20 20 20 20 20 73 75 63 68 20 61 73 ,.. such as
000130: 20 65 6E 74 65 72 69 6E 67 20 61 20 63 68 61 72 entering a char
000140: 61 63 74 65 72 20 73 74 72 69 6E 67 20 77 68 65 acter string whe
000150: 6E 20 61 6E 20 69 6E 74 65 67 65 72 20 77 61 73 n an integer was
000160: 20 65 78 70 65 63 74 65 64 2E 0D 0A 0D 0A 20 20 expected.....
000170: 20 20 20 20 25 4C 69 6E 65 20 2D 20 69 6E 64 69 %Line - indi
000180: 63 61 74 65 73 20 6C 69 6E 65 20 6E 75 6D 62 65 cates line numbe
000190: 72 20 77 68 65 72 65 20 65 72 72 6F 72 20 6F 63 r where error oc
0001A0: 63 75 72 72 65 64 2E 20 54 68 65 20 20 6D 6F 64 curred. The mod
0001B0: 75 6C 65 20 20 6D 75 73 74 0D 0A 20 20 20 20 20 ule must..
0001C0: 20 68 61 76 65 20 62 65 65 6E 20 63 6F 6D 70 69 have been compi
0001D0: 6C 65 64 20 77 69 74 68 20 25 4C 54 52 41 43 45 led with %LTRACE
0001E0: 20 6F 70 74 69 6F 6E 2E 0D 0A 0D 0A 20 20 20 20 option.....
0001F0: 20 20 25 4D 61 69 6E 20 20 2D 20 20 65 72 72 6F %Main - erro
Size : 512 (Real : 512)
000000: 54 68 65 20 63 6F 6D 70 69 6C 65 72 20 61 6E 64 The compiler and
000010: 20 65 76 65 72 79 74 68 69 6E 67 20 65 6C 73 65 everything else
000020: 20 64 6F 65 73 20 6E 6F 74 20 66 69 74 20 6F 6E does not fit on
000030: 20 6F 6E 65 20 64 69 73 6B 2E 2E 2E 0D 0A 20 20 one disk.....
000040: 20 20 20 20 54 68 65 72 65 20 61 72 65 20 6D 61 There are ma
000050: 6E 79 20 70 6F 73 73 69 62 6C 65 20 77 61 79 73 ny possible ways
000060: 20 74 6F 20 73 65 74 20 4A 52 54 20 50 61 73 63 to set JRT Pasc
000070: 61 6C 20 75 70 20 20 77 68 65 6E 20 20 79 6F 75 al up when you
000080: 20 20 68 61 76 65 20 20 61 0D 0A 20 20 20 20 20 have a..
000090: 20 73 79 73 74 65 6D 20 77 69 74 68 20 73 6D 61 system with sma
0000A0: 6C 6C 20 64 72 69 76 65 20 63 61 70 61 62 69 6C ll drive capabil
0000B0: 69 74 69 65 73 2E 20 20 4F 6E 65 20 69 73 3A 0D ities. One is:.
0000C0: 0A 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 20 ...
0000D0: 20 4F 6E 20 64 69 73 6B 20 41 3A 20 20 20 20 20 On disk A:
0000E0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
0000F0: 20 4F 6E 20 64 69 73 6B 20 42 3A 0D 0A 20 20 20 On disk B:..
000100: 20 20 20 20 20 20 20 20 20 20 20 2D 45 58 45 43 -EXEC
000110: 2E 43 4F 4D 20 20 20 20 20 20 20 20 20 20 20 20 .COM
000120: 20 20 20 20 20 20 20 20 20 20 20 2D 4A 52 54 50 -JRTP
000130: 41 53 33 2E 43 4F 4D 0D 0A 20 20 20 20 20 20 20 AS3.COM..
000140: 20 20 20 20 20 20 20 2D 79 6F 75 72 20 65 64 69 -your edi
000150: 74 6F 72 20 20 20 20 20 20 20 20 20 20 20 20 20 tor
000160: 20 20 20 20 20 20 20 2D 50 41 53 43 41 4C 30 2E -PASCAL0.
000170: 49 4E 54 0D 0A 20 20 20 20 20 20 20 20 20 20 20 INT..
000180: 20 20 20 20 20 28 45 44 2C 20 57 6F 72 64 53 74 (ED, WordSt
000190: 61 72 2C 20 65 74 63 2E 29 20 20 20 20 20 20 20 ar, etc.)
0001A0: 20 20 20 2D 50 41 53 43 41 4C 31 2E 49 4E 54 0D -PASCAL1.INT.
0001B0: 0A 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2D . -
0001C0: 74 68 65 20 50 41 53 43 41 4C 20 53 4F 55 52 43 the PASCAL SOURC
0001D0: 45 20 70 72 6F 67 72 61 6D 20 20 20 20 20 20 2D E program -
0001E0: 50 41 53 43 41 4C 32 2E 49 4E 54 0D 0A 20 20 20 PASCAL2.INT..
0001F0: 20 20 20 20 20 20 20 20 20 20 20 20 20 62 65 69 bei
Size : 512 (Real : 512)
000000: 20 20 41 20 73 79 73 74 65 6D 20 72 65 73 65 74 A system reset
000010: 20 6D 61 79 20 62 65 20 6E 65 65 64 65 64 2E 0D may be needed..
000020: 0A 0D 0A 0D 0A 20 20 20 20 20 20 42 2E 20 20 43 ..... B. C
000030: 6F 6D 70 69 6C 65 72 20 45 72 72 6F 72 73 0D 0A ompiler Errors..
000040: 0D 0A 20 20 20 20 31 2E 20 20 53 74 72 69 6E 67 .. 1. String
000050: 20 6C 69 74 65 72 61 6C 20 74 6F 6F 20 6C 6F 6E literal too lon
000060: 67 2E 2E 2E 0D 0A 20 20 20 20 20 20 53 6F 6D 65 g..... Some
000070: 77 68 65 72 65 20 69 6E 20 74 68 65 20 70 72 6F where in the pro
000080: 67 72 61 6D 2C 20 61 20 6C 69 74 65 72 61 6C 20 gram, a literal
000090: 73 74 72 69 6E 67 20 64 6F 65 73 20 6E 6F 74 20 string does not
0000A0: 68 61 76 65 20 61 20 63 6C 6F 73 69 6E 67 20 6F have a closing o
0000B0: 72 0D 0A 20 20 20 20 20 20 6F 70 65 6E 69 6E 67 r.. opening
0000C0: 20 73 69 6E 67 6C 65 20 71 75 6F 74 65 2E 20 20 single quote.
0000D0: 54 68 69 73 20 65 72 72 6F 72 20 69 73 20 63 61 This error is ca
0000E0: 75 67 68 74 20 62 79 20 20 74 68 65 20 20 6C 65 ught by the le
0000F0: 78 69 63 61 6C 20 20 73 63 61 6E 6E 65 72 0D 0A xical scanner..
000100: 20 20 20 20 20 20 62 65 66 6F 72 65 20 20 74 68 before th
000110: 65 20 20 70 72 6F 67 72 61 6D 20 69 73 20 6C 69 e program is li
000120: 73 74 65 64 2E 20 20 28 4D 6F 73 74 20 65 64 69 sted. (Most edi
000130: 74 6F 72 73 20 6D 61 6B 65 20 69 74 20 65 61 73 tors make it eas
000140: 79 20 74 6F 20 73 65 61 72 63 68 0D 0A 20 20 20 y to search..
000150: 20 20 20 66 6F 72 20 61 6C 6C 20 6C 69 6E 65 73 for all lines
000160: 20 77 69 74 68 20 73 69 6E 67 6C 65 20 71 75 6F with single quo
000170: 74 65 73 2E 29 0D 0A 0D 0A 20 20 20 20 32 2E 20 tes.).... 2.
000180: 20 42 6C 6F 63 6B 20 73 74 72 75 63 74 75 72 65 Block structure
000190: 20 69 6E 76 61 6C 69 64 20 28 61 6E 64 20 6F 74 invalid (and ot
0001A0: 68 65 72 20 73 74 72 61 6E 67 65 20 64 69 61 67 her strange diag
0001B0: 6E 6F 73 74 69 63 73 29 2E 2E 2E 0D 0A 20 20 20 nostics).....
0001C0: 20 20 20 50 65 72 68 61 70 73 20 74 68 65 20 70 Perhaps the p
0001D0: 72 6F 67 72 61 6D 20 69 73 20 61 74 74 65 6D 70 rogram is attemp
0001E0: 74 69 6E 67 20 74 6F 20 64 65 63 6C 61 72 65 20 ting to declare
0001F0: 6F 72 20 75 73 65 20 61 20 72 65 73 65 72 76 65 or use a reserve
Size : 512 (Real : 512)
000000: 6E 67 20 64 65 76 65 6C 6F 70 65 64 20 20 20 20 ng developed
000010: 20 20 20 20 20 20 20 20 20 20 20 2D 50 41 53 43 -PASC
000020: 41 4C 33 2E 49 4E 54 0D 0A 20 20 20 20 20 20 20 AL3.INT..
000030: 20 20 20 20 20 20 20 2D 70 65 72 68 61 70 73 20 -perhaps
000040: 50 41 53 43 41 4C 2E 4C 49 42 20 20 20 20 20 20 PASCAL.LIB
000050: 20 20 20 20 20 20 20 2D 50 41 53 43 41 4C 34 2E -PASCAL4.
000060: 49 4E 54 0D 0A 20 20 20 20 20 20 20 20 20 20 20 INT..
000070: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
000080: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
000090: 20 20 20 2D 50 41 53 43 41 4C 2E 4C 49 42 0D 0A -PASCAL.LIB..
0000A0: 0D 0A 20 20 20 20 20 20 59 6F 75 20 20 4F 73 62 .. You Osb
0000B0: 6F 72 6E 65 20 20 6F 77 6E 65 72 73 20 6D 61 79 orne owners may
0000C0: 20 68 61 76 65 20 74 6F 20 64 6F 20 73 6F 6D 65 have to do some
0000D0: 20 73 68 75 66 66 6C 69 6E 67 20 75 6E 74 69 6C shuffling until
0000E0: 20 79 6F 75 20 66 69 6E 64 20 74 68 65 0D 0A 20 you find the..
0000F0: 20 20 20 20 20 61 72 72 61 6E 67 65 6D 65 6E 74 arrangement
000100: 20 74 68 61 74 20 77 6F 72 6B 73 20 62 65 73 74 that works best
000110: 20 66 6F 72 20 79 6F 75 2E 20 20 46 6F 72 20 65 for you. For e
000120: 78 61 6D 70 6C 65 2C 20 74 68 65 20 63 6F 6D 70 xample, the comp
000130: 69 6C 65 72 20 20 64 69 73 6B 0D 0A 20 20 20 20 iler disk..
000140: 20 20 63 6F 75 6C 64 20 62 65 20 6F 6E 20 64 72 could be on dr
000150: 69 76 65 20 41 3A 2C 20 77 68 69 63 68 20 77 6F ive A:, which wo
000160: 75 6C 64 20 61 6C 74 65 72 6E 61 74 65 20 77 69 uld alternate wi
000170: 74 68 20 74 68 65 20 57 6F 72 64 53 74 61 72 20 th the WordStar
000180: 64 69 73 6B 20 61 73 0D 0A 20 20 20 20 20 20 6E disk as.. n
000190: 65 63 65 73 73 61 72 79 20 20 28 77 69 74 68 20 ecessary (with
0001A0: 20 61 70 70 72 6F 70 72 69 61 74 65 20 20 43 6F appropriate Co
0001B0: 6E 74 72 6F 6C 2D 43 27 73 20 20 61 66 74 65 72 ntrol-C's after
0001C0: 20 64 69 73 6B 20 63 68 61 6E 67 65 73 29 2E 20 disk changes).
0001D0: 20 54 68 65 0D 0A 20 20 20 20 20 20 73 6F 75 72 The.. sour
0001E0: 63 65 20 61 6E 64 20 6F 62 6A 65 63 74 20 70 72 ce and object pr
0001F0: 6F 67 72 61 6D 73 20 20 63 6F 75 6C 64 20 20 74 ograms could t
Size : 512 (Real : 512)
000000: 64 20 20 77 6F 72 64 2E 0D 0A 20 20 20 20 20 20 d word...
000010: 54 68 65 20 20 6C 69 73 74 20 20 6F 66 20 20 72 The list of r
000020: 65 73 65 72 76 65 64 20 20 77 6F 72 64 73 20 20 eserved words
000030: 69 6E 20 4A 52 54 20 50 61 73 63 61 6C 20 69 73 in JRT Pascal is
000040: 20 73 6F 6D 65 77 68 61 74 20 6C 6F 6E 67 65 72 somewhat longer
000050: 20 74 68 61 6E 0D 0A 20 20 20 20 20 20 73 74 61 than.. sta
000060: 6E 64 61 72 64 2E 20 46 6F 72 20 65 78 61 6D 70 ndard. For examp
000070: 6C 65 2C 20 4C 45 4E 47 54 48 20 61 6E 64 20 50 le, LENGTH and P
000080: 4F 53 20 61 72 65 20 72 65 73 65 72 76 65 64 2E OS are reserved.
000090: 0D 0A 0D 0A 20 20 20 20 33 2E 20 20 43 6F 6D 70 .... 3. Comp
0000A0: 69 6C 65 72 20 61 63 74 73 20 6C 69 6B 65 20 73 iler acts like s
0000B0: 6F 6D 65 74 68 69 6E 67 20 69 73 20 6E 6F 74 20 omething is not
0000C0: 74 68 65 72 65 2E 2E 2E 0D 0A 20 20 20 20 20 20 there.....
0000D0: 4D 61 6E 79 20 76 65 72 73 69 6F 6E 73 20 6F 66 Many versions of
0000E0: 20 57 6F 72 64 53 74 61 72 20 73 65 74 20 74 68 WordStar set th
0000F0: 65 20 68 69 67 68 2D 6F 72 64 65 72 20 20 62 69 e high-order bi
000100: 74 20 20 6F 66 20 20 74 68 65 20 20 27 63 75 72 t of the 'cur
000110: 72 65 6E 74 27 0D 0A 20 20 20 20 20 20 63 68 61 rent'.. cha
000120: 72 61 63 74 65 72 20 20 77 68 65 6E 20 20 61 20 racter when a
000130: 20 66 69 6C 65 20 69 73 20 63 6C 6F 73 65 64 2C file is closed,
000140: 20 65 76 65 6E 20 77 68 65 6E 20 65 64 69 74 69 even when editi
000150: 6E 67 20 69 6E 20 6E 6F 6E 2D 64 6F 63 75 6D 65 ng in non-docume
000160: 6E 74 0D 0A 20 20 20 20 20 20 66 6F 72 6D 2E 20 nt.. form.
000170: 20 41 4C 57 41 59 53 20 65 6E 64 20 61 20 57 6F ALWAYS end a Wo
000180: 72 64 53 74 61 72 20 65 64 69 74 20 77 69 74 68 rdStar edit with
000190: 20 28 5E 51 43 29 20 62 65 66 6F 72 65 20 28 5E (^QC) before (^
0001A0: 4B 44 29 2E 20 20 41 6C 73 6F 2C 20 75 73 65 0D KD). Also, use.
0001B0: 0A 20 20 20 20 20 20 50 49 50 20 6E 65 77 66 69 . PIP newfi
0001C0: 6C 65 2E 50 41 53 3D 6F 6C 64 66 69 6C 65 2E 50 le.PAS=oldfile.P
0001D0: 41 53 5B 5A 5D 20 74 6F 20 63 6C 65 61 72 20 6F AS[Z] to clear o
0001E0: 66 66 20 70 61 72 69 74 79 20 62 69 74 73 2E 0D ff parity bits..
0001F0: 0A 0D 0A 20 20 20 20 34 2E 20 20 43 6F 6D 70 69 ... 4. Compi
Size : 512 (Real : 512)
000000: 68 65 6E 20 20 73 74 61 79 20 20 6F 6E 20 20 42 hen stay on B
000010: 3A 2C 20 20 70 65 72 68 61 70 73 20 20 77 69 74 :, perhaps wit
000020: 68 0D 0A 20 20 20 20 20 20 45 58 45 43 2E 43 4F h.. EXEC.CO
000030: 4D 20 61 6E 64 20 61 6E 6F 74 68 65 72 20 63 6F M and another co
000040: 70 79 20 6F 66 20 50 41 53 43 41 4C 2E 4C 49 42 py of PASCAL.LIB
000050: 2E 0D 0A 20 20 20 20 20 20 20 20 20 20 20 42 65 ... Be
000060: 20 20 73 75 72 65 20 20 74 68 65 72 65 20 20 69 sure there i
000070: 73 20 61 20 63 6F 70 79 20 6F 66 20 79 6F 75 72 s a copy of your
000080: 20 6F 70 65 72 61 74 69 6E 67 20 73 79 73 74 65 operating syste
000090: 6D 20 6F 6E 20 65 61 63 68 20 64 69 73 6B 0D 0A m on each disk..
0000A0: 20 20 20 20 20 20 79 6F 75 20 70 75 74 20 69 6E you put in
0000B0: 20 64 72 69 76 65 20 41 3A 2E 0D 0A 0D 0A 20 20 drive A:.....
0000C0: 20 20 36 2E 20 20 54 68 65 20 63 6F 6D 70 69 6C 6. The compil
0000D0: 65 72 20 28 6F 72 20 72 75 6E 2D 74 69 6D 65 29 er (or run-time)
0000E0: 20 55 53 45 44 20 74 6F 20 77 6F 72 6B 2C 20 62 USED to work, b
0000F0: 75 74 20 6E 6F 77 20 69 74 20 64 6F 65 73 6E 27 ut now it doesn'
000100: 74 2E 2E 2E 0D 0A 20 20 20 20 20 20 55 73 65 20 t..... Use
000110: 45 58 45 43 20 56 45 52 49 46 59 20 74 6F 20 63 EXEC VERIFY to c
000120: 68 65 63 6B 20 74 68 65 20 63 6F 6D 70 69 6C 65 heck the compile
000130: 72 20 61 6E 64 2F 6F 72 20 72 75 6E 20 20 74 69 r and/or run ti
000140: 6D 65 20 20 66 69 6C 65 73 20 20 61 67 61 69 6E me files again
000150: 2E 0D 0A 20 20 20 20 20 20 45 76 65 6E 20 69 66 ... Even if
000160: 20 74 68 65 20 73 75 6D 73 20 61 67 72 65 65 2C the sums agree,
000170: 20 61 20 66 69 6C 65 20 6F 72 20 66 69 6C 65 73 a file or files
000180: 20 6D 61 79 20 68 61 76 65 20 67 6F 74 74 65 6E may have gotten
000190: 20 73 68 75 66 66 6C 65 64 20 62 79 20 61 0D 0A shuffled by a..
0001A0: 20 20 20 20 20 20 6D 61 6C 66 75 6E 63 74 69 6F malfunctio
0001B0: 6E 69 6E 67 20 20 70 72 6F 67 72 61 6D 2C 20 20 ning program,
0001C0: 68 61 72 64 77 61 72 65 20 20 65 72 72 6F 72 73 hardware errors
0001D0: 2C 20 6F 72 20 62 61 64 20 64 69 73 6B 65 74 74 , or bad diskett
0001E0: 65 20 68 61 6E 64 6C 69 6E 67 2E 0D 0A 20 20 20 e handling...
0001F0: 20 20 20 49 66 20 6E 65 63 65 73 73 61 72 79 2C If necessary,
Size : 512 (Real : 512)
000000: 6C 65 72 20 22 67 6F 65 73 20 61 77 61 79 22 2E ler "goes away".
000010: 2E 2E 0D 0A 20 20 20 20 20 20 48 69 74 20 73 79 .... Hit sy
000020: 73 74 65 6D 20 72 65 73 65 74 2C 20 74 68 65 6E stem reset, then
000030: 20 20 6C 6F 6F 6B 20 20 66 6F 72 20 20 75 6E 64 look for und
000040: 65 63 6C 61 72 65 64 20 20 76 61 72 69 61 62 6C eclared variabl
000050: 65 73 2C 20 20 74 79 70 65 73 2C 20 20 6F 72 0D es, types, or.
000060: 0A 20 20 20 20 20 20 63 6F 6E 73 74 61 6E 74 73 . constants
000070: 20 20 69 6E 20 20 74 68 65 20 20 6E 65 78 74 20 in the next
000080: 20 6C 69 6E 65 20 20 6C 69 73 74 65 64 2E 20 20 line listed.
000090: 20 41 6C 73 6F 20 20 63 68 65 63 6B 20 66 6F 72 Also check for
0000A0: 20 3B 20 6F 72 20 2C 20 75 73 65 64 0D 0A 20 20 ; or , used..
0000B0: 20 20 20 20 69 6E 61 70 70 72 6F 70 72 69 61 74 inappropriat
0000C0: 65 6C 79 2E 20 20 4C 6F 6F 6B 20 66 6F 72 20 75 ely. Look for u
0000D0: 6E 62 61 6C 61 6E 63 65 64 20 70 61 72 65 6E 74 nbalanced parent
0000E0: 68 65 73 69 73 2E 0D 0A 0D 0A 20 20 20 20 35 2E hesis..... 5.
0000F0: 20 20 4F 75 74 20 6F 66 20 6D 65 6D 6F 72 79 2E Out of memory.
000100: 2E 2E 0D 0A 20 20 20 20 20 20 53 70 6C 69 74 20 .... Split
000110: 74 68 65 20 70 72 6F 67 72 61 6D 20 69 6E 74 6F the program into
000120: 20 61 20 6D 61 69 6E 20 70 72 6F 67 72 61 6D 20 a main program
000130: 61 6E 64 20 65 78 74 65 72 6E 61 6C 20 70 72 6F and external pro
000140: 63 65 64 75 72 65 73 20 73 6F 20 74 68 61 74 0D cedures so that.
000150: 0A 20 20 20 20 20 20 65 61 63 68 20 70 6F 72 74 . each port
000160: 69 6F 6E 20 69 73 20 36 30 30 20 74 6F 20 31 32 ion is 600 to 12
000170: 30 30 20 6C 69 6E 65 73 20 6C 6F 6E 67 2E 20 28 00 lines long. (
000180: 4D 61 78 69 6D 75 6D 20 20 6C 65 6E 67 74 68 20 Maximum length
000190: 20 64 65 70 65 6E 64 73 20 20 6F 6E 0D 0A 20 20 depends on..
0001A0: 20 20 20 20 74 68 65 20 70 72 6F 67 72 61 6D 20 the program
0001B0: 61 6E 64 20 74 68 65 20 61 76 61 69 6C 61 62 6C and the availabl
0001C0: 65 20 6D 65 6D 6F 72 79 2E 29 0D 0A 0D 0A 20 20 e memory.)....
0001D0: 20 20 36 2E 20 20 41 72 72 61 79 20 6F 75 74 20 6. Array out
0001E0: 6F 66 20 62 6F 75 6E 64 73 20 61 74 20 65 6E 64 of bounds at end
0001F0: 20 6F 66 20 63 6F 6D 70 69 6C 61 74 69 6F 6E 2E of compilation.
Size : 512 (Real : 512)
000000: 20 67 6F 20 62 61 63 6B 20 74 6F 20 74 68 65 20 go back to the
000010: 20 6F 72 69 67 69 6E 61 6C 20 20 6D 61 73 74 65 original maste
000020: 72 20 20 64 69 73 6B 73 20 20 28 77 72 69 74 65 r disks (write
000030: 2D 70 72 6F 74 65 63 74 0D 0A 20 20 20 20 20 20 -protect..
000040: 6C 61 62 65 6C 73 2C 20 20 72 69 67 68 74 3F 29 labels, right?)
000050: 20 20 61 6E 64 20 20 63 6F 70 79 20 20 74 68 65 and copy the
000060: 20 20 6E 65 65 64 65 64 20 66 69 6C 65 73 20 74 needed files t
000070: 6F 20 61 20 4E 45 57 20 64 69 73 6B 65 74 74 65 o a NEW diskette
000080: 2E 20 20 49 66 0D 0A 20 20 20 20 20 20 6E 65 63 . If.. nec
000090: 65 73 73 61 72 79 2C 20 61 63 74 20 61 73 20 69 essary, act as i
0000A0: 66 20 79 6F 75 20 68 61 64 20 6A 75 73 74 20 67 f you had just g
0000B0: 6F 74 74 65 6E 20 4A 52 54 20 50 61 73 63 61 6C otten JRT Pascal
0000C0: 20 28 73 71 75 61 72 65 2D 31 29 2E 0D 0A 0D 0A (square-1).....
0000D0: 20 20 20 20 37 2E 20 20 45 58 45 43 20 56 45 52 7. EXEC VER
0000E0: 49 46 59 20 64 6F 65 73 20 6E 6F 74 20 65 76 65 IFY does not eve
0000F0: 6E 20 77 6F 72 6B 2E 2E 2E 0D 0A 20 20 20 20 20 n work.....
000100: 20 4D 61 6B 65 20 73 75 72 65 20 74 68 61 74 20 Make sure that
000110: 45 58 45 43 2E 43 4F 4D 2C 20 56 45 52 49 46 59 EXEC.COM, VERIFY
000120: 2E 49 4E 54 2C 20 61 6E 64 20 50 41 53 43 41 4C .INT, and PASCAL
000130: 2E 4C 49 42 20 20 61 72 65 20 20 4D 4F 55 4E 54 .LIB are MOUNT
000140: 45 44 20 20 6F 6E 0D 0A 20 20 20 20 20 20 79 6F ED on.. yo
000150: 75 72 20 64 69 73 6B 20 73 79 73 74 65 6D 2C 20 ur disk system,
000160: 61 6E 64 20 74 68 61 74 20 79 6F 75 20 74 6F 6C and that you tol
000170: 64 20 43 50 2F 4D 20 74 68 65 20 72 69 67 68 74 d CP/M the right
000180: 20 64 72 69 76 65 20 66 6F 72 20 45 58 45 43 2E drive for EXEC.
000190: 43 4F 4D 0D 0A 20 20 20 20 20 20 61 6E 64 20 20 COM.. and
0001A0: 74 68 61 74 20 20 79 6F 75 20 20 67 61 76 65 20 that you gave
0001B0: 45 58 45 43 20 74 68 65 20 72 69 67 68 74 20 6C EXEC the right l
0001C0: 6F 63 61 74 69 6F 6E 20 66 6F 72 20 56 45 52 49 ocation for VERI
0001D0: 46 59 2E 49 4E 54 2E 20 20 59 6F 75 20 6D 61 79 FY.INT. You may
0001E0: 0D 0A 20 20 20 20 20 20 6E 65 65 64 20 74 6F 20 .. need to
0001F0: 75 73 65 20 42 3A 45 58 45 43 20 42 3A 56 45 52 use B:EXEC B:VER
Size : 512 (Real : 512)
000000: 2E 2E 0D 0A 20 20 20 20 20 20 45 78 74 65 72 6E .... Extern
000010: 61 6C 20 20 70 72 6F 63 65 64 75 72 65 20 20 6E al procedure n
000020: 61 6D 65 73 20 20 63 61 6E 20 20 62 65 20 20 38 ames can be 8
000030: 20 63 68 61 72 61 63 74 65 72 73 20 6C 6F 6E 67 characters long
000040: 20 61 6E 64 20 73 68 6F 75 6C 64 20 6E 6F 74 0D and should not.
000050: 0A 20 20 20 20 20 20 63 6F 6E 74 61 69 6E 20 24 . contain $
000060: 20 6F 72 20 5F 20 63 68 61 72 61 63 74 65 72 73 or _ characters
000070: 2C 20 73 69 6E 63 65 20 74 68 65 20 65 78 70 72 , since the expr
000080: 6F 63 20 6E 61 6D 65 20 20 69 73 20 20 74 75 72 oc name is tur
000090: 6E 65 64 20 20 69 6E 74 6F 20 20 61 0D 0A 20 20 ned into a..
0000A0: 20 20 20 20 43 50 2F 4D 20 66 69 6C 65 20 6E 61 CP/M file na
0000B0: 6D 65 2E 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 43 me....... C
0000C0: 2E 20 20 52 75 6E 2D 74 69 6D 65 20 45 72 72 6F . Run-time Erro
0000D0: 72 73 0D 0A 0D 0A 20 20 20 20 31 2E 20 20 4F 62 rs.... 1. Ob
0000E0: 6A 65 63 74 20 66 69 6C 65 20 6E 6F 74 20 66 6F ject file not fo
0000F0: 75 6E 64 2E 2E 2E 0D 0A 20 20 20 20 20 20 4D 61 und..... Ma
000100: 6B 65 20 20 73 75 72 65 20 74 68 61 74 20 74 68 ke sure that th
000110: 65 20 73 6F 75 72 63 65 20 70 72 6F 67 72 61 6D e source program
000120: 20 69 73 20 63 6F 6D 70 69 6C 65 64 20 73 75 63 is compiled suc
000130: 63 65 73 73 66 75 6C 6C 79 2C 20 61 6E 64 20 74 cessfully, and t
000140: 68 61 74 0D 0A 20 20 20 20 20 20 74 68 65 20 61 hat.. the a
000150: 70 70 72 6F 70 72 69 61 74 65 20 64 72 69 76 65 ppropriate drive
000160: 20 69 73 20 69 6E 64 69 63 61 74 65 64 20 6F 6E is indicated on
000170: 20 74 68 65 20 66 69 6C 65 20 6E 61 6D 65 2C 20 the file name,
000180: 61 73 20 45 58 45 43 20 42 3A 50 47 4D 2E 0D 0A as EXEC B:PGM...
000190: 0D 0A 20 20 20 20 32 2E 20 20 4C 69 62 72 61 72 .. 2. Librar
0001A0: 79 20 6E 6F 74 20 70 72 65 73 65 6E 74 2E 2E 2E y not present...
0001B0: 0D 0A 20 20 20 20 20 20 50 41 53 43 41 4C 2E 4C .. PASCAL.L
0001C0: 49 42 20 6D 75 73 74 20 62 65 20 70 72 65 73 65 IB must be prese
0001D0: 6E 74 20 6F 6E 20 6F 6E 65 20 6F 66 20 74 68 65 nt on one of the
0001E0: 20 64 72 69 76 65 73 20 69 6E 20 74 68 65 20 20 drives in the
0001F0: 22 64 69 73 6B 20 20 73 65 61 72 63 68 0D 0A 20 "disk search..
Size : 512 (Real : 512)
000000: 49 46 59 20 69 66 20 74 68 65 20 66 69 6C 65 73 IFY if the files
000010: 20 61 72 65 20 6F 6E 20 20 42 3A 2E 20 20 20 52 are on B:. R
000020: 65 6D 65 6D 62 65 72 20 20 77 68 65 6E 0D 0A 20 emember when..
000030: 20 20 20 20 20 79 6F 75 20 72 75 6E 20 45 58 45 you run EXE
000040: 43 2E 43 4F 4D 20 74 68 61 74 20 50 41 53 43 41 C.COM that PASCA
000050: 4C 2E 4C 49 42 20 6D 75 73 74 20 62 65 20 70 72 L.LIB must be pr
000060: 65 73 65 6E 74 20 6F 6E 20 6F 6E 65 20 6F 66 20 esent on one of
000070: 74 68 65 20 64 72 69 76 65 73 0D 0A 20 20 20 20 the drives..
000080: 20 20 69 6E 20 74 68 65 20 22 64 69 73 6B 20 73 in the "disk s
000090: 65 61 72 63 68 20 6C 69 73 74 22 20 28 75 73 75 earch list" (usu
0000A0: 61 6C 6C 79 20 41 3A 20 6F 72 20 42 3A 29 2E 0D ally A: or B:)..
0000B0: 0A 0D 0A 20 20 20 20 38 2E 20 20 42 44 4F 53 20 ... 8. BDOS
0000C0: 65 72 72 6F 72 73 20 73 68 6F 77 20 75 70 20 77 errors show up w
0000D0: 68 65 6E 20 61 20 44 49 52 20 69 73 20 72 65 71 hen a DIR is req
0000E0: 75 65 73 74 65 64 20 6F 66 20 61 20 6D 61 73 74 uested of a mast
0000F0: 65 72 20 64 69 73 6B 2E 2E 2E 0D 0A 20 20 20 20 er disk.....
000100: 20 20 4D 61 6B 65 20 20 73 75 72 65 20 20 74 68 Make sure th
000110: 61 74 20 20 79 6F 75 72 20 20 73 79 73 74 65 6D at your system
000120: 20 20 69 73 20 20 65 78 70 65 63 74 69 6E 67 20 is expecting
000130: 20 61 20 20 64 69 73 6B 20 20 69 6E 20 74 68 65 a disk in the
000140: 20 66 6F 72 6D 61 74 0D 0A 20 20 20 20 20 20 70 format.. p
000150: 72 6F 76 69 64 65 64 2E 20 20 46 6F 72 20 65 78 rovided. For ex
000160: 61 6D 70 6C 65 2C 20 20 73 69 6E 67 6C 65 20 20 ample, single
000170: 64 65 6E 73 69 74 79 20 20 38 22 20 20 64 69 73 density 8" dis
000180: 6B 73 3A 20 20 53 6F 6D 65 20 20 6F 70 65 72 61 ks: Some opera
000190: 74 69 6E 67 0D 0A 20 20 20 20 20 20 73 79 73 74 ting.. syst
0001A0: 65 6D 73 20 20 63 61 6E 6E 6F 74 20 73 65 6E 73 ems cannot sens
0001B0: 65 20 61 20 64 65 6E 73 69 74 79 20 63 68 61 6E e a density chan
0001C0: 67 65 20 6F 6E 63 65 20 74 68 65 79 20 68 61 76 ge once they hav
0001D0: 65 20 64 65 74 65 72 6D 69 6E 65 64 20 22 74 68 e determined "th
0001E0: 65 0D 0A 20 20 20 20 20 20 66 6F 72 6D 61 74 20 e.. format
0001F0: 66 6F 72 20 74 68 61 74 20 64 72 69 76 65 22 2E for that drive".
Size : 512 (Real : 512)
000000: 20 20 20 20 20 6C 69 73 74 22 20 28 75 73 75 61 list" (usua
000010: 6C 6C 79 20 41 3A 20 6F 72 20 42 3A 29 2E 0D 0A lly A: or B:)...
000020: 0D 0A 20 20 20 20 33 2E 20 20 46 69 6C 65 73 20 .. 3. Files
000030: 6E 65 76 65 72 20 67 65 74 20 77 72 69 74 74 65 never get writte
000040: 6E 20 74 6F 2E 2E 2E 0D 0A 20 20 20 20 20 20 43 n to..... C
000050: 4C 4F 53 45 28 66 69 6C 65 5F 76 61 72 69 61 62 LOSE(file_variab
000060: 6C 65 29 20 20 69 73 20 20 72 65 71 75 69 72 65 le) is require
000070: 64 20 20 61 66 74 65 72 20 66 69 6C 65 73 20 68 d after files h
000080: 61 76 65 20 62 65 65 6E 20 77 72 69 74 74 65 6E ave been written
000090: 2C 20 73 6F 0D 0A 20 20 20 20 20 20 74 68 61 74 , so.. that
0000A0: 20 43 50 2F 4D 20 70 65 72 66 6F 72 6D 73 20 61 CP/M performs a
0000B0: 20 70 72 6F 70 65 72 20 63 6C 6F 73 65 20 6F 6E proper close on
0000C0: 20 74 68 65 20 66 69 6C 65 2E 20 20 4F 74 68 65 the file. Othe
0000D0: 72 77 69 73 65 2C 20 20 74 68 65 20 20 66 69 6C rwise, the fil
0000E0: 65 0D 0A 20 20 20 20 20 20 73 69 7A 65 20 77 69 e.. size wi
0000F0: 6C 6C 20 62 65 20 74 68 65 20 6E 65 78 74 20 6C ll be the next l
000100: 6F 77 65 72 20 6D 75 6C 74 69 70 6C 65 20 6F 66 ower multiple of
000110: 20 31 36 4B 20 69 6E 20 73 69 7A 65 2C 20 75 73 16K in size, us
000120: 75 61 6C 6C 79 20 7A 65 72 6F 2E 0D 0A 0D 0A 20 ually zero.....
000130: 20 20 20 34 2E 20 20 20 52 65 61 64 69 6E 67 20 4. Reading
000140: 20 63 68 61 72 61 63 74 65 72 73 20 20 66 72 6F characters fro
000150: 6D 20 61 20 66 69 6C 65 2C 20 6D 6F 73 74 20 6F m a file, most o
000160: 66 20 74 68 65 20 63 68 61 72 61 63 74 65 72 73 f the characters
000170: 20 69 6E 20 61 20 77 6F 72 64 0D 0A 20 20 20 20 in a word..
000180: 20 20 67 65 74 20 73 6B 69 70 70 65 64 2E 2E 2E get skipped...
000190: 0D 0A 20 20 20 20 20 20 54 68 65 20 64 69 66 66 .. The diff
0001A0: 65 72 65 6E 63 65 20 62 65 74 77 65 65 6E 20 62 erence between b
0001B0: 69 6E 61 72 79 20 61 6E 64 20 74 65 78 74 20 6D inary and text m
0001C0: 6F 64 65 73 20 61 72 65 20 73 69 67 6E 69 66 69 odes are signifi
0001D0: 63 61 6E 74 2E 20 20 49 66 20 79 6F 75 0D 0A 20 cant. If you..
0001E0: 20 20 20 20 20 77 61 6E 74 20 65 76 65 72 79 20 want every
0001F0: 63 68 61 72 61 63 74 65 72 20 69 6E 20 61 20 66 character in a f
Size : 512 (Real : 512)
000000: 72 20 20 65 78 69 74 0D 0A 20 20 20 20 20 20 74 r exit.. t
000010: 68 65 20 20 70 72 6F 67 72 61 6D 20 77 69 74 68 he program with
000020: 20 5A 20 6F 72 20 63 6F 6E 74 69 6E 75 65 20 77 Z or continue w
000030: 69 74 68 20 52 2C 20 61 73 20 61 70 70 72 6F 70 ith R, as approp
000040: 72 69 61 74 65 29 2E 20 20 55 73 65 20 25 4C 54 riate). Use %LT
000050: 52 41 43 45 0D 0A 20 20 20 20 20 20 6F 72 20 24 RACE.. or $
000060: 4C 20 77 68 65 6E 20 63 6F 6D 70 69 6C 69 6E 67 L when compiling
000070: 20 74 68 65 20 70 72 6F 67 72 61 6D 20 74 6F 20 the program to
000080: 61 6C 6C 6F 77 20 20 65 78 65 63 75 74 69 6F 6E allow execution
000090: 20 20 69 6E 74 65 72 72 75 70 74 73 20 20 61 6E interrupts an
0000A0: 64 0D 0A 20 20 20 20 20 20 61 6C 73 6F 20 65 72 d.. also er
0000B0: 72 6F 72 20 64 69 61 67 6E 6F 73 74 69 63 73 20 ror diagnostics
0000C0: 77 69 74 68 20 6C 69 6E 65 20 6E 75 6D 62 65 72 with line number
0000D0: 73 2E 0D 0A 1A 0A 20 20 20 20 20 20 6F 72 20 24 s..... or $
0000E0: 4C 20 77 68 65 6E 20 63 6F 6D 70 69 6C 69 6E 67 L when compiling
0000F0: 20 74 68 65 20 70 72 6F 67 72 61 6D 20 74 6F 20 the program to
000100: E8 EC 70 EF BA 53 36 03 5B DD A6 0C 4C 09 88 C4 ..p..S6.[...L...
000110: 60 8D 5E 52 24 D8 1E 9D B2 19 C9 1A 8A 50 AD 31 `.^R$........P.1
000120: D6 74 90 A2 74 8C 3E C0 4D B8 22 74 4A 9A 0A B1 .t..t.>.M."tJ...
000130: D2 6D CA 98 12 74 6D 99 29 0F C0 45 37 CC AF 3B .m...tm.)..E7..;
000140: 65 33 6C 44 B2 6F 68 6B 23 21 12 83 35 D0 4B 8A e3lD.ohk#!..5.K.
000150: 04 D8 DE 07 B8 49 A7 6C 06 92 35 14 01 D5 1A 63 .....I.l..5....c
000160: 4D 07 B4 0D 20 26 03 59 6F 0D 20 8A C0 1A 53 82 M... &.Yo. ...S.
000170: AE 2D 33 E5 01 B8 E8 EC A0 F4 36 42 4C F6 01 6E .-3.......6BL..n
000180: 72 DA D9 A1 E8 D4 D6 26 A2 68 C3 62 0D B8 22 98 r......&.h.b..".
000190: B6 9E 92 82 EE 81 64 0D 45 40 4C 06 4C 5B 4F 49 ......d.E@L.L[OI
0001A0: 01 BA 07 4A 25 4A 0A 93 8A 3E C0 4D A4 28 1D 23 ...J%J...>.M.(.#
0001B0: B8 22 4C 75 9E 43 F7 E0 8A D0 24 CD B0 1C 29 F5 ."Lu.C....$...).
0001C0: 38 AC AD 69 23 B4 A1 A3 C1 07 1F E0 1E AE 2B 02 8..i#.........+.
0001D0: 4C 5B 4F 49 01 BA 87 D2 DB 08 31 19 45 A7 B6 36 L[OI......1.E..6
0001E0: 11 B1 D2 6D CA 30 5A D5 92 D2 1C 53 42 B6 67 36 ...m.0Z....SB.g6
0001F0: DA 69 22 4C E7 3E C0 4D EE 76 03 F0 3C 69 46 B4 .i"L.>.M.v..<iF.
Size : 512 (Real : 512)
000000: 69 6C 65 2C 20 75 73 65 20 20 62 69 6E 61 72 79 ile, use binary
000010: 20 20 69 6E 20 20 74 68 65 20 20 72 65 73 65 74 in the reset
000020: 20 20 6F 66 20 20 6F 70 65 6E 0D 0A 20 20 20 20 of open..
000030: 20 20 73 74 61 74 65 6D 65 6E 74 2E 0D 0A 0D 0A statement.....
000040: 20 20 20 20 35 2E 20 20 20 52 65 61 64 69 6E 67 5. Reading
000050: 20 20 66 72 6F 6D 20 20 61 20 20 66 69 6C 65 20 from a file
000060: 20 69 6E 20 20 62 69 6E 61 72 79 20 20 6D 6F 64 in binary mod
000070: 65 2C 20 20 65 6E 64 20 20 6F 66 20 66 69 6C 65 e, end of file
000080: 20 69 73 20 68 61 72 64 20 74 6F 0D 0A 20 20 20 is hard to..
000090: 20 20 20 64 65 74 65 72 6D 69 6E 65 2E 2E 2E 0D determine....
0000A0: 0A 20 20 20 20 20 20 43 6F 6E 74 72 6F 6C 2D 5A . Control-Z
0000B0: 20 28 31 61 68 29 20 6D 61 72 6B 73 20 74 68 65 (1ah) marks the
0000C0: 20 65 6E 64 20 6F 66 20 61 20 74 65 78 74 20 66 end of a text f
0000D0: 69 6C 65 20 28 75 6E 6C 65 73 73 20 74 68 65 20 ile (unless the
0000E0: 72 65 61 6C 20 65 6E 64 20 20 6F 66 0D 0A 20 20 real end of..
0000F0: 20 20 20 20 66 69 6C 65 20 20 6F 6E 20 20 61 20 file on a
000100: 20 31 32 38 20 20 62 79 74 65 20 20 62 6F 75 6E 128 byte boun
000110: 64 61 72 79 20 20 6F 63 63 75 72 73 29 2E 20 20 dary occurs).
000120: 20 54 65 73 74 20 20 66 6F 72 20 62 6F 74 68 20 Test for both
000130: 63 68 61 72 61 63 74 65 72 0D 0A 20 20 20 20 20 character..
000140: 20 3D 43 48 52 28 32 36 29 20 61 6E 64 20 45 4F =CHR(26) and EO
000150: 46 2E 20 20 46 6F 72 20 62 69 6E 61 72 79 20 72 F. For binary r
000160: 65 63 6F 72 64 73 2C 20 61 20 73 70 65 63 69 61 ecords, a specia
000170: 6C 20 72 65 63 6F 72 64 20 63 6F 6E 73 69 73 74 l record consist
000180: 69 6E 67 20 6F 66 0D 0A 20 20 20 20 20 20 61 6C ing of.. al
000190: 6C 20 32 35 35 20 28 30 66 66 68 29 20 6F 72 20 l 255 (0ffh) or
0001A0: 61 6C 6C 20 45 4F 46 27 73 20 28 31 61 68 29 20 all EOF's (1ah)
0001B0: 6D 61 79 20 62 65 20 6E 65 65 64 65 64 20 74 6F may be needed to
0001C0: 20 6D 61 72 6B 20 20 74 68 65 20 20 65 6E 64 20 mark the end
0001D0: 20 6F 66 0D 0A 20 20 20 20 20 20 74 68 65 20 66 of.. the f
0001E0: 69 6C 65 2C 20 73 69 6E 63 65 20 43 50 2F 4D 20 ile, since CP/M
0001F0: 6F 6E 6C 79 20 6B 65 65 70 73 20 74 72 61 63 6B only keeps track
Size : 512 (Real : 512)
000000: 19 E5 21 01 00 EB E1 73 C3 64 88 21 01 00 E5 21 ..!....s.d.!...!
000010: 58 8B 5E 23 56 EB 11 39 00 19 5E 23 56 D5 D1 E1 X.^#V..9..^#V...
000020: 2B E5 D5 22 69 88 D1 E1 23 E5 D5 CD A9 8B 22 6B +.."i...#....."k
000030: 88 2A 69 88 23 22 69 88 2A 6B 88 2B 22 6B 88 7C .*i.#"i.*k.+"k.|
000040: B5 CA 4D 88 21 58 8B 5E 23 56 EB 22 6D 88 2A 6D ..M.!X.^#V."m.*m
000050: 88 11 3F 00 19 16 00 5E D5 21 80 00 E5 CD 7B 90 ..?....^.!....{.
000060: F1 D2 CF 87 2A 6D 88 11 3F 00 19 E5 21 00 00 EB ....*m..?...!...
000070: E1 73 2A 6D 88 11 41 00 19 16 00 5E EB 7D 2F 1F .s*m..A....^.}/.
000080: D2 CF 87 21 1A 00 E5 2A 6D 88 11 42 00 19 E5 CD ...!...*m..B....
000090: 6D 8F E1 22 67 88 21 56 8B E5 21 14 00 E5 2A 6D m.."g.!V..!...*m
0000A0: 88 11 11 00 19 E5 CD 6D 8F E1 EB E1 73 23 72 21 .......m....s#r!
0000B0: 56 8B 5E 23 56 D5 21 00 00 E5 CD C3 90 F1 D2 CF V.^#V.!.........
0000C0: 87 2A 6D 88 11 41 00 19 E5 21 01 00 EB E1 73 2A .*m..A...!....s*
0000D0: 6D 88 11 41 00 19 7E 1F D2 0C 88 2A 65 88 E5 21 m..A..~....*e..!
0000E0: FF 00 EB E1 73 2A 6D 88 11 3C 00 19 E5 21 01 00 ....s*m..<...!..
0000F0: EB E1 73 2A 6D 88 11 36 00 19 E5 21 00 00 EB E1 ..s*m..6...!....
000100: 73 23 72 CD 70 8F C3 64 88 C3 2C 88 2A 65 88 E5 s#r.p..d..,.*e..
000110: 2A 6D 88 11 42 00 19 E5 2A 6D 88 11 3F 00 19 16 *m..B...*m..?...
000120: 00 5E EB D1 19 16 00 5E EB EB E1 73 2A 6D 88 11 .^.....^...s*m..
000130: 3F 00 19 E5 2A 6D 88 11 3F 00 19 16 00 5E EB 23 ?...*m..?....^.#
000140: EB E1 73 2A 65 88 23 22 65 88 C3 31 87 21 58 8B ..s*e.#"e..1.!X.
000150: 5E 23 56 EB 11 36 00 19 E5 21 00 00 EB E1 73 23 ^#V..6...!....s#
000160: 72 CD 70 8F C9 00 00 00 00 00 00 00 00 00 00 C3 r.p.............
000170: 00 00 C3 78 88 C3 1A 89 CD 4E 8C E1 7D 32 31 8B ...x.....N..}21.
000180: CD 54 8C 21 58 8B 5E 23 56 EB 22 3D 8B 2A 3D 8B .T.!X.^#V."=.*=.
000190: 11 3F 00 19 16 00 5E D5 21 80 00 E5 CD 7B 90 F1 .?....^.!....{..
0001A0: D2 E3 88 21 56 8B E5 21 1A 00 E5 2A 3D 8B 11 42 ...!V..!...*=..B
0001B0: 00 19 E5 CD 6D 8F E1 EB E1 73 23 72 21 56 8B E5 ....m....s#r!V..
0001C0: 21 15 00 E5 2A 3D 8B 11 11 00 19 E5 CD 6D 8F E1 !...*=.......m..
0001D0: EB E1 73 23 72 2A 3D 8B 11 3F 00 19 E5 21 00 00 ..s#r*=..?...!..
0001E0: EB E1 73 2A 3D 8B 11 42 00 19 E5 2A 3D 8B 11 3F ..s*=..B...*=..?
0001F0: 00 19 16 00 5E EB D1 19 E5 3A 31 8B 26 00 6F EB ....^....:1.&.o.
Size : 512 (Real : 512)
000000: 20 6F 66 20 31 32 38 2D 62 79 74 65 20 73 65 63 of 128-byte sec
000010: 74 6F 72 73 2E 0D 0A 0D 0A 20 20 20 20 36 2E 20 tors..... 6.
000020: 20 45 78 74 65 72 6E 61 6C 20 70 72 6F 63 65 64 External proced
000030: 75 72 65 73 20 67 65 74 20 61 6C 6C 20 6D 69 78 ures get all mix
000040: 65 64 20 75 70 2E 2E 2E 0D 0A 20 20 20 20 20 20 ed up.....
000050: 44 65 63 6C 61 72 65 20 65 78 74 65 72 6E 61 6C Declare external
000060: 20 70 72 6F 63 65 64 75 72 65 73 20 70 72 6F 70 procedures prop
000070: 65 72 6C 79 2E 20 20 57 68 65 6E 20 65 78 74 65 erly. When exte
000080: 72 6E 61 6C 20 70 72 6F 63 65 64 75 72 65 73 20 rnal procedures
000090: 72 65 66 65 72 0D 0A 20 20 20 20 20 20 74 6F 20 refer.. to
0000A0: 20 6F 74 68 65 72 20 65 78 74 65 72 6E 61 6C 20 other external
0000B0: 70 72 6F 63 65 64 75 72 65 73 2C 20 74 68 65 20 procedures, the
0000C0: 64 65 63 6C 61 72 61 74 69 6F 6E 20 6F 72 64 65 declaration orde
0000D0: 72 20 63 6F 75 6E 74 20 6D 75 73 74 20 6D 61 74 r count must mat
0000E0: 63 68 0D 0A 20 20 20 20 20 20 74 68 6F 73 65 20 ch.. those
0000F0: 69 6E 20 74 68 65 20 6D 61 69 6E 20 70 72 6F 67 in the main prog
000100: 72 61 6D 3A 0D 0A 0D 0A 20 20 20 20 20 20 20 20 ram:....
000110: 20 20 20 20 20 20 49 66 20 79 6F 75 72 20 6D 61 If your ma
000120: 69 6E 20 68 61 73 0D 0A 0D 0A 20 20 20 20 20 20 in has....
000130: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
000140: 46 55 4E 43 54 49 4F 4E 20 43 4F 53 28 52 20 3A FUNCTION COS(R :
000150: 20 52 45 41 4C 29 3A 20 52 45 41 4C 3B 20 45 58 REAL): REAL; EX
000160: 54 45 52 4E 3B 0D 0A 20 20 20 20 20 20 20 20 20 TERN;..
000170: 20 20 20 20 20 20 20 20 20 20 20 20 20 46 55 4E FUN
000180: 43 54 49 4F 4E 20 53 49 4E 28 52 20 3A 20 52 45 CTION SIN(R : RE
000190: 41 4C 29 3A 20 52 45 41 4C 3B 20 45 58 54 45 52 AL): REAL; EXTER
0001A0: 4E 3B 0D 0A 0D 0A 20 20 20 20 20 20 20 20 20 20 N;....
0001B0: 20 20 20 20 61 6E 64 20 79 6F 75 72 20 65 78 70 and your exp
0001C0: 72 6F 63 20 68 61 73 20 64 65 63 6C 61 72 65 64 roc has declared
0001D0: 20 6F 6E 6C 79 0D 0A 0D 0A 20 20 20 20 20 20 20 only....
0001E0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 46 F
0001F0: 55 4E 43 54 49 4F 4E 20 53 49 4E 28 52 20 3A 20 UNCTION SIN(R :
Size : 512 (Real : 512)
000000: 20 20 20 20 20 20 31 34 2E 20 20 20 45 78 74 65 14. Exte
000010: 6E 64 65 64 20 43 41 53 45 20 73 74 61 74 65 6D nded CASE statem
000020: 65 6E 74 0D 0A 0D 0A 20 20 20 20 20 20 46 6F 72 ent.... For
000030: 6D 61 74 0D 0A 0D 0A 20 20 20 20 20 20 43 41 53 mat.... CAS
000040: 45 20 73 65 6C 65 63 74 6F 72 5F 65 78 70 72 65 E selector_expre
000050: 73 73 69 6F 6E 20 4F 46 0D 0A 20 20 20 20 20 20 ssion OF..
000060: 6C 61 62 65 6C 5F 65 78 70 72 65 73 73 69 6F 6E label_expression
000070: 20 2E 2E 2E 20 2C 20 6C 61 62 65 6C 5F 65 78 70 ... , label_exp
000080: 72 65 73 73 69 6F 6E 20 3A 20 73 74 61 74 65 6D ression : statem
000090: 65 6E 74 3B 0D 0A 20 20 20 20 20 20 20 2E 2E 2E ent;.. ...
0000A0: 0D 0A 20 20 20 20 20 20 20 2E 2E 2E 0D 0A 20 20 .. .....
0000B0: 20 20 20 20 45 4C 53 45 20 3A 20 73 74 61 74 65 ELSE : state
0000C0: 6D 65 6E 74 3B 0D 0A 20 20 20 20 20 20 45 4E 44 ment;.. END
0000D0: 0D 0A 0D 0A 20 20 20 20 20 20 20 20 20 20 20 54 .... T
0000E0: 68 65 20 20 43 41 53 45 20 20 73 74 61 74 65 6D he CASE statem
0000F0: 65 6E 74 20 69 73 20 75 73 65 64 20 74 6F 20 73 ent is used to s
000100: 65 6C 65 63 74 20 6F 6E 65 20 6F 66 20 73 65 76 elect one of sev
000110: 65 72 61 6C 20 73 74 61 74 65 6D 65 6E 74 73 0D eral statements.
000120: 0A 20 20 20 20 20 20 66 6F 72 20 65 78 65 63 75 . for execu
000130: 74 69 6F 6E 20 62 61 73 65 64 20 6F 6E 20 74 68 tion based on th
000140: 65 20 76 61 6C 75 65 20 20 6F 66 20 20 74 68 65 e value of the
000150: 20 20 73 65 6C 65 63 74 6F 72 5F 65 78 70 72 65 selector_expre
000160: 73 73 69 6F 6E 2E 20 20 20 54 68 65 0D 0A 20 20 ssion. The..
000170: 20 20 20 20 73 65 6C 65 63 74 6F 72 5F 65 78 70 selector_exp
000180: 72 65 73 73 69 6F 6E 20 61 6E 64 20 74 68 65 20 ression and the
000190: 6C 61 62 65 6C 5F 65 78 70 72 65 73 73 69 6F 6E label_expression
0001A0: 20 6D 75 73 74 20 62 65 20 63 6F 6D 70 61 74 69 must be compati
0001B0: 62 69 6C 65 20 64 61 74 61 0D 0A 20 20 20 20 20 bile data..
0001C0: 20 74 79 70 65 73 2E 0D 0A 0D 0A 20 20 20 20 20 types.....
0001D0: 20 20 20 20 20 20 54 68 65 20 20 6C 61 62 65 6C The label
0001E0: 5F 65 78 70 72 65 73 73 69 6F 6E 73 20 20 61 72 _expressions ar
0001F0: 65 20 20 65 76 61 6C 75 61 74 65 64 20 20 73 65 e evaluated se
Size : 512 (Real : 512)
000000: 52 45 41 4C 29 3A 20 52 45 41 4C 3B 20 45 58 54 REAL): REAL; EXT
000010: 45 52 4E 3B 0D 0A 0D 0A 20 20 20 20 20 20 6C 6F ERN;.... lo
000020: 20 61 6E 64 20 62 65 68 6F 6C 64 2C 20 74 68 65 and behold, the
000030: 20 65 78 70 72 6F 63 20 77 69 6C 6C 20 67 65 74 exproc will get
000040: 20 61 20 76 61 6C 75 65 20 6F 66 20 31 2E 30 20 a value of 1.0
000050: 69 66 20 69 74 20 70 61 73 73 65 73 20 30 2E 30 if it passes 0.0
000060: 20 74 6F 0D 0A 20 20 20 20 20 20 77 68 61 74 20 to.. what
000070: 69 74 20 74 68 69 6E 6B 73 20 69 73 20 53 49 4E it thinks is SIN
000080: 2E 20 20 54 68 65 20 65 78 70 72 6F 63 20 77 69 . The exproc wi
000090: 6C 6C 20 20 68 61 76 65 20 20 61 63 74 75 61 6C ll have actual
0000A0: 6C 79 20 20 63 61 6C 6C 65 64 20 20 43 4F 53 2E ly called COS.
0000B0: 0D 0A 20 20 20 20 20 20 49 6E 74 65 72 6E 61 6C .. Internal
0000C0: 6C 79 2C 20 65 78 74 65 72 6E 61 6C 20 70 72 6F ly, external pro
0000D0: 63 65 64 75 72 65 73 20 72 65 66 65 72 20 74 6F cedures refer to
0000E0: 20 6F 74 68 65 72 20 65 78 74 65 72 6E 61 6C 20 other external
0000F0: 70 72 6F 63 65 64 75 72 65 73 20 62 79 0D 0A 20 procedures by..
000100: 20 20 20 20 20 6E 75 6D 62 65 72 2E 20 20 20 27 number. '
000110: 44 75 6D 6D 79 27 20 20 64 65 63 6C 61 72 61 74 Dummy' declarat
000120: 69 6F 6E 73 20 73 75 63 68 20 61 73 20 50 52 4F ions such as PRO
000130: 43 45 44 55 52 45 20 58 31 3B 20 45 58 54 45 52 CEDURE X1; EXTER
000140: 4E 3B 20 20 63 61 6E 20 62 65 0D 0A 20 20 20 20 N; can be..
000150: 20 20 75 73 65 64 20 61 73 20 70 6C 61 63 65 20 used as place
000160: 68 6F 6C 64 65 72 73 2C 20 61 73 20 6C 6F 6E 67 holders, as long
000170: 20 61 73 20 74 68 65 20 6E 61 6D 65 73 20 20 61 as the names a
000180: 72 65 20 20 75 6E 69 71 75 65 2E 20 20 20 54 68 re unique. Th
000190: 65 20 20 6E 61 6D 65 0D 0A 20 20 20 20 20 20 75 e name.. u
0001A0: 73 65 64 20 20 69 6E 20 74 68 65 20 4D 41 49 4E sed in the MAIN
0001B0: 20 70 72 6F 67 72 61 6D 20 77 69 6C 6C 20 62 65 program will be
0001C0: 20 75 73 65 64 20 74 6F 20 66 69 6E 64 20 74 68 used to find th
0001D0: 65 20 65 78 74 65 72 6E 61 6C 20 70 72 6F 63 65 e external proce
0001E0: 64 75 72 65 0D 0A 20 20 20 20 20 20 6F 6E 20 74 dure.. on t
0001F0: 68 65 20 64 69 73 6B 2E 0D 0A 0D 0A 20 20 20 20 he disk.....
Size : 512 (Real : 512)
000000: 71 75 65 6E 74 69 61 6C 6C 79 2E 20 20 49 66 20 quentially. If
000010: 6F 6E 65 20 69 73 0D 0A 20 20 20 20 20 20 66 6F one is.. fo
000020: 75 6E 64 20 65 71 75 61 6C 20 74 6F 20 74 68 65 und equal to the
000030: 20 73 65 6C 65 63 74 6F 72 2C 20 74 68 65 20 63 selector, the c
000040: 6F 72 72 65 73 70 6F 6E 64 69 6E 67 20 73 74 61 orresponding sta
000050: 74 65 6D 65 6E 74 20 69 73 20 65 78 65 63 75 74 tement is execut
000060: 65 64 2E 0D 0A 20 20 20 20 20 20 49 66 20 6E 6F ed... If no
000070: 6E 65 20 61 72 65 20 20 65 71 75 61 6C 2C 20 20 ne are equal,
000080: 74 68 65 6E 20 20 74 68 65 20 20 6F 70 74 69 6F then the optio
000090: 6E 61 6C 20 20 45 4C 53 45 20 20 63 6C 61 75 73 nal ELSE claus
0000A0: 65 20 20 73 74 61 74 65 6D 65 6E 74 20 20 69 73 e statement is
0000B0: 0D 0A 20 20 20 20 20 20 65 78 65 63 75 74 65 64 .. executed
0000C0: 2E 0D 0A 0D 0A 20 20 20 20 20 20 20 20 20 20 20 .....
0000D0: 54 68 65 20 20 45 4C 53 45 20 20 63 6C 61 75 73 The ELSE claus
0000E0: 65 20 20 69 73 20 20 61 20 20 4A 52 54 20 20 50 e is a JRT P
0000F0: 61 73 63 61 6C 20 65 78 74 65 6E 73 69 6F 6E 2E ascal extension.
000100: 20 20 41 6C 73 6F 2C 20 73 74 61 6E 64 61 72 64 Also, standard
000110: 0D 0A 20 20 20 20 20 20 50 61 73 63 61 6C 20 61 .. Pascal a
000120: 6C 6C 6F 77 73 20 6F 6E 6C 79 20 63 6F 6E 73 74 llows only const
000130: 61 6E 74 73 20 61 73 20 6C 61 62 65 6C 73 2C 20 ants as labels,
000140: 77 68 69 6C 65 20 65 78 70 72 65 73 73 69 6F 6E while expression
000150: 73 20 61 72 65 20 61 6C 6C 6F 77 65 64 0D 0A 20 s are allowed..
000160: 20 20 20 20 20 62 79 20 4A 52 54 20 50 61 73 63 by JRT Pasc
000170: 61 6C 2E 20 4E 6F 74 20 6D 6F 72 65 20 74 68 61 al. Not more tha
000180: 6E 20 31 32 38 20 6C 61 62 65 6C 20 63 6C 61 75 n 128 label clau
000190: 73 65 73 20 20 61 72 65 20 20 61 6C 6C 6F 77 65 ses are allowe
0001A0: 64 20 20 69 6E 20 20 6F 6E 65 0D 0A 20 20 20 20 d in one..
0001B0: 20 20 43 41 53 45 20 20 73 74 61 74 65 6D 65 6E CASE statemen
0001C0: 74 2E 20 20 20 4E 6F 74 20 20 6D 6F 72 65 20 20 t. Not more
0001D0: 74 68 61 6E 20 20 31 32 38 20 20 6C 61 62 65 6C than 128 label
0001E0: 73 20 20 70 65 72 20 6C 61 62 65 6C 20 63 6C 61 s per label cla
0001F0: 75 73 65 20 61 72 65 0D 0A 20 20 20 20 20 20 61 use are.. a
Size : 512 (Real : 512)
000000: 37 2E 20 20 56 61 6C 75 65 73 20 61 72 65 20 6E 7. Values are n
000010: 6F 74 20 20 72 65 74 75 72 6E 65 64 20 20 63 6F ot returned co
000020: 72 72 65 63 74 6C 79 20 20 66 72 6F 6D 20 20 65 rrectly from e
000030: 78 74 65 72 6E 61 6C 20 20 66 75 6E 63 74 69 6F xternal functio
000040: 6E 73 20 20 28 6F 72 0D 0A 20 20 20 20 20 20 61 ns (or.. a
000050: 72 67 75 6D 65 6E 74 73 20 61 72 65 20 6E 6F 74 rguments are not
000060: 20 70 61 73 73 65 64 20 63 6F 72 72 65 63 74 6C passed correctl
000070: 79 20 74 6F 20 65 78 74 65 72 6E 61 6C 20 70 72 y to external pr
000080: 6F 63 65 64 75 72 65 73 29 2E 2E 2E 0D 0A 20 20 ocedures).....
000090: 20 20 20 20 4D 61 6B 65 20 20 73 75 72 65 20 20 Make sure
0000A0: 74 68 65 20 64 65 63 6C 61 72 61 74 69 6F 6E 20 the declaration
0000B0: 6F 66 20 61 72 67 75 6D 65 6E 74 73 20 69 6E 20 of arguments in
0000C0: 74 68 65 20 63 61 6C 6C 69 6E 67 20 70 72 6F 67 the calling prog
0000D0: 72 61 6D 20 6D 61 74 63 68 0D 0A 20 20 20 20 20 ram match..
0000E0: 20 74 68 6F 73 65 20 69 6E 20 74 68 65 20 65 78 those in the ex
0000F0: 74 65 72 6E 61 6C 20 70 72 6F 63 65 64 75 72 65 ternal procedure
000100: 2E 20 20 49 66 20 61 20 56 41 52 20 20 69 73 20 . If a VAR is
000110: 20 6D 69 73 73 69 6E 67 20 20 69 6E 20 20 6F 6E missing in on
000120: 65 20 20 61 6E 64 0D 0A 20 20 20 20 20 20 70 72 e and.. pr
000130: 65 73 65 6E 74 20 69 6E 20 61 6E 6F 74 68 65 72 esent in another
000140: 2C 20 79 6F 75 20 63 6F 75 6C 64 20 68 61 76 65 , you could have
000150: 20 74 72 6F 75 62 6C 65 2E 0D 0A 0D 0A 20 20 20 trouble.....
000160: 20 38 2E 20 20 20 43 6F 6E 74 72 6F 6C 2D 43 20 8. Control-C
000170: 20 64 6F 65 73 20 20 6E 6F 74 20 73 74 6F 70 20 does not stop
000180: 61 20 70 72 6F 67 72 61 6D 20 28 6F 72 20 63 6F a program (or co
000190: 6E 74 72 6F 6C 2D 4E 20 64 6F 65 73 20 6E 6F 74 ntrol-N does not
0001A0: 20 73 74 6F 70 20 69 74 0D 0A 20 20 20 20 20 20 stop it..
0001B0: 65 69 74 68 65 72 29 2E 2E 2E 0D 0A 20 20 20 20 either).....
0001C0: 20 20 55 73 65 20 63 6F 6E 74 72 6F 6C 2D 4E 20 Use control-N
0001D0: 74 6F 20 63 61 75 73 65 20 61 6E 20 65 78 65 63 to cause an exec
0001E0: 75 74 69 6F 6E 20 69 6E 74 65 72 72 75 70 74 20 ution interrupt
0001F0: 28 79 6F 75 20 20 63 61 6E 20 20 65 69 74 68 65 (you can eithe
Size : 512 (Real : 512)
000000: 6C 6C 6F 77 65 64 2E 20 20 54 68 65 20 73 74 61 llowed. The sta
000010: 74 65 6D 65 6E 74 73 20 73 68 6F 75 6C 64 20 62 tements should b
000020: 65 20 20 66 6F 6C 6C 6F 77 65 64 20 20 62 79 20 e followed by
000030: 20 61 20 20 73 65 6D 69 63 6F 6C 6F 6E 2E 20 20 a semicolon.
000040: 20 54 68 65 0D 0A 20 20 20 20 20 20 73 65 6D 69 The.. semi
000050: 63 6F 6C 6F 6E 20 69 73 20 6F 70 74 69 6F 6E 61 colon is optiona
000060: 6C 20 6F 6E 20 74 68 65 20 6C 61 73 74 20 73 74 l on the last st
000070: 61 74 65 6D 65 6E 74 20 69 6E 20 74 68 65 20 43 atement in the C
000080: 41 53 45 20 73 74 61 74 65 6D 65 6E 74 2E 0D 0A ASE statement...
000090: 0D 0A 20 20 20 20 20 20 45 78 61 6D 70 6C 65 73 .. Examples
0000A0: 3A 0D 0A 0D 0A 20 20 20 20 20 20 20 20 20 20 20 :....
0000B0: 20 43 41 53 45 20 49 20 4F 46 0D 0A 20 20 20 20 CASE I OF..
0000C0: 20 20 20 20 20 20 20 20 32 20 3A 20 57 52 49 54 2 : WRIT
0000D0: 45 4C 4E 28 27 49 20 49 53 20 32 27 29 3B 0D 0A ELN('I IS 2');..
0000E0: 20 20 20 20 20 20 20 20 20 20 20 20 34 20 3A 20 4 :
0000F0: 57 52 49 54 45 4C 4E 28 27 49 20 49 53 20 34 27 WRITELN('I IS 4'
000100: 29 3B 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 );..
000110: 45 4C 53 45 20 3A 20 57 52 49 54 45 4C 4E 28 27 ELSE : WRITELN('
000120: 49 20 49 53 20 4E 4F 54 20 32 20 4F 52 20 34 27 I IS NOT 2 OR 4'
000130: 29 3B 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 );..
000140: 45 4E 44 3B 0D 0A 0D 0A 20 20 20 20 20 20 20 20 END;....
000150: 20 20 20 20 43 41 53 45 20 4C 41 4E 47 55 41 47 CASE LANGUAG
000160: 45 20 4F 46 20 20 20 20 20 20 20 20 28 2A 20 53 E OF (* S
000170: 54 52 49 4E 47 20 45 58 50 52 45 53 53 49 4F 4E TRING EXPRESSION
000180: 20 2A 29 0D 0A 20 20 20 20 20 20 20 20 20 20 20 *)..
000190: 20 27 50 41 53 43 41 4C 27 20 20 20 20 3A 20 59 'PASCAL' : Y
0001A0: 45 41 52 20 3A 3D 20 31 39 37 30 3B 0D 0A 20 20 EAR := 1970;..
0001B0: 20 20 20 20 20 20 20 20 20 20 27 50 4C 2F 49 27 'PL/I'
0001C0: 20 20 20 20 20 20 3A 20 59 45 41 52 20 3A 3D 20 : YEAR :=
0001D0: 31 39 36 34 3B 0D 0A 20 20 20 20 20 20 20 20 20 1964;..
0001E0: 20 20 20 27 42 41 53 49 43 27 20 20 20 20 20 3A 'BASIC' :
0001F0: 20 59 45 41 52 20 3A 3D 20 31 39 36 35 3B 0D 0A YEAR := 1965;..
Size : 512 (Real : 512)
000000: 65 64 75 72 65 20 20 47 4F 54 4F 58 59 20 20 69 edure GOTOXY i
000010: 6E 0D 0A 20 20 20 20 20 20 74 68 65 20 43 52 54 n.. the CRT
000020: 4D 41 50 2E 50 41 53 20 66 69 6C 65 2E 20 20 54 MAP.PAS file. T
000030: 68 65 20 73 63 72 65 65 6E 20 63 6C 65 61 72 20 he screen clear
000040: 63 6F 64 65 20 69 73 20 70 72 6F 63 65 64 75 72 code is procedur
000050: 65 20 43 4C 45 41 52 2E 0D 0A 0D 0A 20 20 20 20 e CLEAR.....
000060: 20 20 20 20 20 20 20 50 72 6F 63 65 64 75 72 65 Procedure
000070: 20 20 50 41 52 54 32 20 20 66 72 6F 6D 20 43 52 PART2 from CR
000080: 54 4D 41 50 2E 50 41 53 20 69 73 20 72 65 70 72 TMAP.PAS is repr
000090: 6F 64 75 63 65 64 20 68 65 72 65 2E 20 20 54 68 oduced here. Th
0000A0: 69 73 20 63 6F 64 65 0D 0A 20 20 20 20 20 20 67 is code.. g
0000B0: 65 6E 65 72 61 74 65 73 20 22 70 61 72 74 32 22 enerates "part2"
0000C0: 20 6F 66 20 74 68 65 20 20 67 65 6E 65 72 61 74 of the generat
0000D0: 65 64 20 20 65 78 74 65 72 6E 61 6C 20 20 70 72 ed external pr
0000E0: 6F 63 65 64 75 72 65 2E 20 20 20 54 68 65 20 20 ocedure. The
0000F0: 6C 69 6E 65 0D 0A 20 20 20 20 20 20 6D 61 72 6B line.. mark
000100: 65 64 20 20 58 58 58 20 20 63 6F 6E 74 61 69 6E ed XXX contain
000110: 73 20 74 68 65 20 74 65 72 6D 69 6E 61 6C 20 63 s the terminal c
000120: 6F 64 65 73 20 66 6F 72 20 63 6C 65 61 72 69 6E odes for clearin
000130: 67 20 74 68 65 20 43 52 54 20 73 63 72 65 65 6E g the CRT screen
000140: 2E 0D 0A 20 20 20 20 20 20 54 68 65 20 6C 69 6E ... The lin
000150: 65 20 6D 61 72 6B 65 64 20 59 59 59 20 63 6F 6E e marked YYY con
000160: 74 61 69 6E 73 20 74 68 65 20 74 65 72 6D 69 6E tains the termin
000170: 61 6C 20 63 6F 64 65 73 20 66 6F 72 20 6D 6F 76 al codes for mov
000180: 69 6E 67 20 74 68 65 20 63 75 72 73 6F 72 0D 0A ing the cursor..
000190: 20 20 20 20 20 20 74 6F 20 61 20 70 61 72 74 69 to a parti
0001A0: 63 75 6C 61 72 20 70 6F 73 69 74 69 6F 6E 2E 0D cular position..
0001B0: 0A 0D 0A 20 20 20 20 20 20 70 72 6F 63 65 64 75 ... procedu
0001C0: 72 65 20 70 61 72 74 32 3B 0D 0A 20 20 20 20 20 re part2;..
0001D0: 20 62 65 67 69 6E 0D 0A 20 20 20 20 20 20 77 72 begin.. wr
0001E0: 69 74 65 6C 6E 28 66 32 3B 20 27 70 72 6F 63 65 iteln(f2; 'proce
0001F0: 64 75 72 65 20 63 6C 65 61 72 3B 27 29 3B 0D 0A dure clear;');..
Size : 512 (Real : 512)
000000: 20 20 20 20 20 20 20 20 20 20 20 20 45 4E 44 3B END;
000010: 0D 0A 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 ....
000020: 28 2A 20 45 58 41 4D 50 4C 45 20 4F 46 20 45 58 (* EXAMPLE OF EX
000030: 50 52 45 53 53 49 4F 4E 53 20 49 4E 20 4C 41 42 PRESSIONS IN LAB
000040: 45 4C 53 20 2A 29 0D 0A 20 20 20 20 20 20 20 20 ELS *)..
000050: 20 20 20 20 43 41 53 45 20 41 4E 47 4C 45 20 4F CASE ANGLE O
000060: 46 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 50 F.. P
000070: 48 49 20 20 20 20 20 20 20 20 20 3A 20 57 52 49 HI : WRI
000080: 54 45 4C 4E 28 27 50 48 49 27 29 3B 0D 0A 20 20 TELN('PHI');..
000090: 20 20 20 20 20 20 20 20 20 20 32 2E 30 20 2A 20 2.0 *
0000A0: 50 48 49 20 20 20 3A 20 57 52 49 54 45 4C 4E 28 PHI : WRITELN(
0000B0: 27 54 57 4F 20 50 48 49 27 29 3B 0D 0A 20 20 20 'TWO PHI');..
0000C0: 20 20 20 20 20 20 20 20 20 33 2E 30 20 2A 20 50 3.0 * P
0000D0: 48 49 20 20 20 3A 20 57 52 49 54 45 4C 4E 28 27 HI : WRITELN('
0000E0: 54 48 52 45 45 20 50 48 49 27 29 3B 0D 0A 20 20 THREE PHI');..
0000F0: 20 20 20 20 20 20 20 20 20 20 45 4C 53 45 20 20 ELSE
000100: 20 20 20 20 20 20 3A 20 57 52 49 54 45 4C 4E 28 : WRITELN(
000110: 27 41 4E 47 4C 45 20 4E 4F 54 20 4F 4E 20 4E 4F 'ANGLE NOT ON NO
000120: 44 45 27 29 3B 0D 0A 20 20 20 20 20 20 20 20 20 DE');..
000130: 20 20 20 45 4E 44 3B 0D 0A 0D 0A 20 20 20 20 20 END;....
000140: 20 20 20 20 20 20 20 28 2A 20 45 58 41 4D 50 4C (* EXAMPL
000150: 45 20 4F 46 20 42 4F 4F 4C 45 41 4E 20 53 45 4C E OF BOOLEAN SEL
000160: 45 43 54 4F 52 20 41 4E 44 20 4C 41 42 45 4C 20 ECTOR AND LABEL
000170: 45 58 50 52 45 53 53 49 4F 4E 53 20 2A 29 0D 0A EXPRESSIONS *)..
000180: 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 28 2A .. (*
000190: 20 43 48 45 43 4B 20 56 4F 4C 54 41 47 45 20 56 CHECK VOLTAGE V
0001A0: 20 46 4F 52 20 56 41 4C 49 44 20 52 41 4E 47 45 FOR VALID RANGE
0001B0: 20 2A 29 0D 0A 20 20 20 20 20 20 20 20 20 20 20 *)..
0001C0: 20 43 41 53 45 20 54 52 55 45 20 4F 46 20 0D 0A CASE TRUE OF ..
0001D0: 20 20 20 20 20 20 20 20 20 20 20 20 28 56 20 3E (V >
0001E0: 20 32 2E 35 29 20 41 4E 44 20 28 56 20 3C 20 34 2.5) AND (V < 4
0001F0: 2E 33 29 20 20 20 20 20 20 20 3A 20 50 52 4F 43 .3) : PROC
Size : 512 (Real : 512)
000000: 20 20 20 20 20 20 77 72 69 74 65 6C 6E 28 66 32 writeln(f2
000010: 3B 20 27 62 65 67 69 6E 27 29 3B 0D 0A 20 20 20 ; 'begin');..
000020: 20 20 20 77 72 69 74 65 6C 6E 28 66 32 3B 20 27 writeln(f2; '
000030: 77 72 69 74 65 28 63 68 72 28 32 37 29 2C 27 27 write(chr(27),''
000040: 2A 27 27 29 3B 27 29 3B 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: 7B 20 58 58 58 20 7D 0D 0A 20 20 20 20 20 20 77 { XXX }.. w
000070: 72 69 74 65 6C 6E 28 66 32 3B 20 27 65 6E 64 3B riteln(f2; 'end;
000080: 27 29 3B 0D 0A 20 20 20 20 20 20 77 72 69 74 65 ');.. write
000090: 6C 6E 28 66 32 29 3B 0D 0A 20 20 20 20 20 20 77 ln(f2);.. w
0000A0: 72 69 74 65 6C 6E 28 66 32 3B 20 27 70 72 6F 63 riteln(f2; 'proc
0000B0: 65 64 75 72 65 20 67 6F 74 6F 78 79 20 28 78 2C edure gotoxy (x,
0000C0: 79 20 3A 20 69 6E 74 65 67 65 72 20 29 3B 27 29 y : integer );')
0000D0: 3B 0D 0A 20 20 20 20 20 20 77 72 69 74 65 6C 6E ;.. writeln
0000E0: 28 66 32 3B 20 27 62 65 67 69 6E 27 29 3B 0D 0A (f2; 'begin');..
0000F0: 20 20 20 20 20 20 77 72 69 74 65 6C 6E 28 66 32 writeln(f2
000100: 3B 20 27 77 72 69 74 65 28 63 68 72 28 32 37 29 ; 'write(chr(27)
000110: 2C 27 27 3D 27 27 2C 63 68 72 28 79 2B 32 30 68 ,''='',chr(y+20h
000120: 29 2C 63 68 72 28 78 2B 32 30 68 29 29 3B 27 29 ),chr(x+20h));')
000130: 3B 20 20 7B 20 59 59 59 20 7D 0D 0A 20 20 20 20 ; { YYY }..
000140: 20 20 77 72 69 74 65 6C 6E 28 66 32 3B 20 27 65 writeln(f2; 'e
000150: 6E 64 3B 27 29 3B 0D 0A 20 20 20 20 20 20 77 72 nd;');.. wr
000160: 69 74 65 6C 6E 28 66 32 29 3B 0D 0A 20 20 20 20 iteln(f2);..
000170: 20 20 65 6E 64 3B 20 7B 70 61 72 74 32 7D 0D 0A end; {part2}..
000180: 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ..
000190: 54 68 65 20 43 52 54 20 73 63 72 65 65 6E 20 63 The CRT screen c
0001A0: 6F 72 72 64 69 6E 61 74 65 73 20 68 61 76 65 20 orrdinates have
0001B0: 74 68 65 20 6F 72 69 67 69 6E 20 30 2C 30 20 69 the origin 0,0 i
0001C0: 6E 20 74 68 65 20 0D 0A 20 20 20 20 20 20 20 20 n the ..
0001D0: 20 20 20 20 20 20 75 70 70 65 72 20 6C 65 66 74 upper left
0001E0: 20 63 6F 72 6E 65 72 3A 0D 0A 0D 0A 20 20 20 20 corner:....
0001F0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
Size : 512 (Real : 512)
000000: 45 53 53 5F 52 41 4E 47 45 5F 31 3B 0D 0A 20 20 ESS_RANGE_1;..
000010: 20 20 20 20 20 20 20 20 20 20 28 56 20 3E 20 35 (V > 5
000020: 2E 36 29 20 41 4E 44 20 28 56 20 3C 3D 20 31 34 .6) AND (V <= 14
000030: 2E 30 38 29 20 20 20 20 3A 20 50 52 4F 43 45 53 .08) : PROCES
000040: 53 5F 52 41 4E 47 45 5F 32 3B 0D 0A 20 20 20 20 S_RANGE_2;..
000050: 20 20 20 20 20 20 20 20 28 56 20 3E 20 33 35 2E (V > 35.
000060: 36 29 20 41 4E 44 20 28 56 20 3C 3D 20 31 30 30 6) AND (V <= 100
000070: 2E 30 29 20 20 20 3A 20 50 52 4F 43 45 53 53 5F .0) : PROCESS_
000080: 52 41 4E 47 45 5F 33 3B 0D 0A 20 20 20 20 20 20 RANGE_3;..
000090: 20 20 20 20 20 20 45 4C 53 45 20 3A 20 57 52 49 ELSE : WRI
0000A0: 54 45 4C 4E 28 27 56 4F 4C 54 41 47 45 20 4F 55 TELN('VOLTAGE OU
0000B0: 54 20 4F 46 20 56 41 4C 49 44 20 52 41 4E 47 45 T OF VALID RANGE
0000C0: 53 3A 27 2C 56 29 3B 0D 0A 20 20 20 20 20 20 20 S:',V);..
0000D0: 20 20 20 20 20 45 4E 44 3B 0D 0A 0D 0A 0D 0A 20 END;......
0000E0: 20 20 20 20 20 31 35 2E 20 20 20 43 52 54 20 46 15. CRT F
0000F0: 6F 72 6D 61 74 74 69 6E 67 0D 0A 0D 0A 20 20 20 ormatting....
000100: 20 20 20 20 20 20 20 20 54 68 69 73 20 73 65 63 This sec
000110: 74 69 6F 6E 20 64 65 73 63 72 69 62 65 73 20 4A tion describes J
000120: 52 54 20 50 61 73 63 61 6C 20 43 52 54 20 66 6F RT Pascal CRT fo
000130: 72 6D 61 74 74 69 6E 67 20 66 61 63 69 6C 69 74 rmatting facilit
000140: 69 65 73 2E 20 20 49 74 0D 0A 20 20 20 20 20 20 ies. It..
000150: 72 65 71 75 72 69 65 73 20 20 61 20 20 62 61 73 requries a bas
000160: 69 63 20 20 6B 6E 6F 77 6C 65 64 67 65 20 20 6F ic knowledge o
000170: 66 20 20 50 61 73 63 61 6C 20 20 61 6E 64 20 6F f Pascal and o
000180: 66 20 4A 52 54 20 50 61 73 63 61 6C 20 65 78 74 f JRT Pascal ext
000190: 65 72 6E 61 6C 0D 0A 20 20 20 20 20 20 70 72 6F ernal.. pro
0001A0: 63 65 64 75 72 65 73 2E 0D 0A 0D 0A 20 20 20 20 cedures.....
0001B0: 20 20 20 20 20 20 20 54 68 65 20 43 52 54 4D 41 The CRTMA
0001C0: 50 20 75 74 69 6C 69 74 79 20 65 6E 61 62 6C 65 P utility enable
0001D0: 73 20 74 68 65 20 75 73 65 72 20 20 74 6F 20 20 s the user to
0001E0: 71 75 69 63 6B 6C 79 20 20 66 6F 72 6D 61 74 20 quickly format
0001F0: 20 61 20 20 43 52 54 0D 0A 20 20 20 20 20 20 74 a CRT.. t
Size : 512 (Real : 512)
000000: 20 20 30 20 20 20 20 20 20 20 20 20 20 20 20 20 0
000010: 20 20 78 20 20 20 20 20 20 20 20 20 20 20 20 20 x
000020: 20 20 37 39 0D 0A 20 20 20 20 20 20 20 20 20 20 79..
000030: 20 20 20 20 20 20 20 20 20 20 20 20 2D 2D 2D 2D ----
000040: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
000050: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 0D 0A --------------..
000060: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
000070: 20 20 20 30 20 20 21 20 20 20 20 20 20 20 20 20 0 !
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 21 0D 0A 20 20 20 20 20 20 !..
0000A0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
0000B0: 21 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 20 20 20 20 20 20 20
0000D0: 20 21 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 !..
0000E0: 20 20 20 20 20 20 20 20 20 20 21 20 20 20 20 20 !
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 21 0D 0A 20 20 !..
000110: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
000120: 20 79 20 20 21 20 20 20 20 20 20 20 20 20 20 20 y !
000130: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
000140: 20 20 20 20 20 21 0D 0A 20 20 20 20 20 20 20 20 !..
000150: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 21 20 !
000160: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
000170: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 21 !
000180: 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ..
000190: 20 20 20 20 20 20 20 20 21 20 20 20 20 20 20 20 !
0001A0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
0001B0: 20 20 20 20 20 20 20 20 20 21 0D 0A 20 20 20 20 !..
0001C0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 32 33 23
0001D0: 20 20 21 20 20 20 20 20 20 20 20 20 20 20 20 20 !
0001E0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
0001F0: 20 20 20 21 0D 0A 20 20 20 20 20 20 20 20 20 20 !..
Size : 512 (Real : 512)
000000: 65 72 6D 69 6E 61 6C 20 73 63 72 65 65 6E 2E 20 erminal screen.
000010: 20 4F 6E 65 20 72 65 63 6F 72 64 20 61 74 20 61 One record at a
000020: 20 74 69 6D 65 20 6D 61 79 20 62 65 20 64 69 73 time may be dis
000030: 70 6C 61 79 65 64 2E 0D 0A 0D 0A 20 20 20 20 20 played.....
000040: 20 20 20 20 20 20 54 68 65 20 20 75 74 69 6C 69 The utili
000050: 74 79 20 20 70 72 6F 67 72 61 6D 20 20 74 61 6B ty program tak
000060: 65 73 20 61 73 20 69 74 73 20 69 6E 70 75 74 20 es as its input
000070: 61 20 4D 61 70 20 44 65 73 63 72 69 70 74 69 6F a Map Descriptio
000080: 6E 20 46 69 6C 65 0D 0A 20 20 20 20 20 20 28 4D n File.. (M
000090: 44 46 29 20 77 68 69 63 68 20 64 65 73 63 72 69 DF) which descri
0000A0: 62 65 73 20 74 68 65 20 43 52 54 20 6D 61 70 20 bes the CRT map
0000B0: 69 6E 20 61 20 73 69 6D 70 6C 65 20 63 6F 6D 6D in a simple comm
0000C0: 61 6E 64 20 6C 61 6E 67 75 61 67 65 2E 20 20 20 and language.
0000D0: 54 68 65 0D 0A 20 20 20 20 20 20 75 74 69 6C 69 The.. utili
0000E0: 74 79 20 20 67 65 6E 65 72 61 74 65 73 20 74 68 ty generates th
0000F0: 65 20 73 6F 75 72 63 65 20 70 72 6F 67 72 61 6D e source program
000100: 20 66 6F 72 20 61 20 50 61 73 63 61 6C 20 65 78 for a Pascal ex
000110: 74 65 72 6E 61 6C 20 70 72 6F 63 65 64 75 72 65 ternal procedure
000120: 0D 0A 20 20 20 20 20 20 77 68 69 63 68 20 6D 61 .. which ma
000130: 79 20 74 68 65 6E 20 62 65 20 63 6F 6D 70 69 6C y then be compil
000140: 65 64 2E 20 20 54 68 69 73 20 65 78 74 65 72 6E ed. This extern
000150: 61 6C 20 70 72 6F 63 65 64 75 72 65 20 63 6F 6E al procedure con
000160: 74 61 69 6E 73 20 61 6C 6C 20 74 68 65 0D 0A 20 tains all the..
000170: 20 20 20 20 20 6C 6F 67 69 63 20 74 6F 20 64 69 logic to di
000180: 73 70 6C 61 79 20 61 6C 6C 20 6F 72 20 70 61 72 splay all or par
000190: 74 20 6F 66 20 6F 6E 65 20 72 65 63 6F 72 64 20 t of one record
0001A0: 20 64 61 74 61 20 20 74 79 70 65 2E 20 20 20 44 data type. D
0001B0: 65 73 63 72 69 70 74 69 76 65 0D 0A 20 20 20 20 escriptive..
0001C0: 20 20 69 6E 66 6F 72 6D 61 74 69 6F 6E 20 6D 61 information ma
0001D0: 79 20 61 6C 73 6F 20 62 65 20 64 69 73 70 6C 61 y also be displa
0001E0: 79 65 64 20 6F 6E 20 74 68 65 20 73 63 72 65 65 yed on the scree
0001F0: 6E 2E 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 53 6F n....... So
Size : 512 (Real : 512)
000000: 20 20 20 20 20 20 20 20 20 20 20 20 2D 2D 2D 2D ----
000010: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
000020: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 0D 0A --------------..
000030: 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ..
000040: 54 68 65 20 66 69 72 73 74 20 63 6F 6F 72 64 69 The first coordi
000050: 6E 61 74 65 20 58 20 69 6E 64 69 63 61 74 65 73 nate X indicates
000060: 20 74 68 65 20 63 6F 6C 75 6D 6E 2C 20 74 68 65 the column, the
000070: 20 73 65 63 6F 6E 64 0D 0A 20 20 20 20 20 20 20 second..
000080: 20 20 20 20 20 20 20 59 20 69 6E 64 69 63 61 74 Y indicat
000090: 65 73 20 74 68 65 20 72 6F 77 2E 0D 0A 0D 0A 0D es the row......
0000A0: 0A 20 20 20 20 20 20 31 35 2E 31 20 20 53 74 72 . 15.1 Str
0000B0: 75 63 74 75 72 65 20 6F 66 20 74 68 65 20 65 78 ucture of the ex
0000C0: 74 65 72 6E 61 6C 20 70 72 6F 63 65 64 75 72 65 ternal procedure
0000D0: 0D 0A 0D 0A 20 20 20 20 20 20 20 20 20 20 20 43 .... C
0000E0: 52 54 4D 41 50 20 67 65 6E 65 72 61 74 65 73 20 RTMAP generates
0000F0: 61 20 50 61 73 63 61 6C 20 65 78 74 65 72 6E 61 a Pascal externa
000100: 6C 20 70 72 6F 63 65 64 75 72 65 20 20 61 63 63 l procedure acc
000110: 6F 72 64 69 6E 67 20 20 74 6F 20 20 74 68 65 0D ording to the.
000120: 0A 20 20 20 20 20 20 70 61 72 61 6D 65 74 65 72 . parameter
000130: 73 20 69 6E 20 74 68 65 20 4D 61 70 20 44 65 73 s in the Map Des
000140: 63 72 69 70 74 69 6F 6E 20 46 69 6C 65 2E 20 20 cription File.
000150: 54 68 69 73 20 65 78 74 65 72 6E 61 6C 20 70 72 This external pr
000160: 6F 63 65 64 75 72 65 20 74 68 65 6E 0D 0A 20 20 ocedure then..
000170: 20 20 20 20 64 6F 65 73 20 74 68 65 20 64 69 73 does the dis
000180: 70 6C 61 79 20 66 6F 72 6D 61 74 74 69 6E 67 20 play formatting
000190: 6F 66 20 79 6F 75 72 20 64 61 74 61 20 72 65 63 of your data rec
0001A0: 6F 72 64 2E 0D 0A 0D 0A 20 20 20 20 20 20 20 20 ord.....
0001B0: 20 20 20 20 20 20 53 74 72 75 63 74 75 72 65 20 Structure
0001C0: 6F 66 20 74 68 65 20 67 65 6E 65 72 61 74 65 64 of the generated
0001D0: 20 65 78 74 65 72 6E 61 6C 20 70 72 6F 63 65 64 external proced
0001E0: 75 72 65 3A 0D 0A 0D 0A 20 20 20 20 20 20 20 20 ure:....
0001F0: 20 20 20 20 20 20 50 41 52 54 31 20 20 20 45 58 PART1 EX
Size : 512 (Real : 512)
000000: 75 72 63 65 20 63 6F 64 65 20 66 6F 72 20 43 52 urce code for CR
000010: 54 4D 41 50 20 69 73 20 69 6E 63 6C 75 64 65 20 TMAP is include
000020: 61 6E 64 20 69 74 73 20 66 65 61 74 75 72 65 73 and its features
000030: 20 6D 61 79 20 62 65 20 6D 6F 64 69 66 69 65 64 may be modified
000040: 20 6F 72 0D 0A 20 20 20 20 20 20 65 78 74 65 6E or.. exten
000050: 64 65 64 2E 20 20 20 54 68 65 20 20 64 69 73 74 ded. The dist
000060: 72 69 62 75 74 69 6F 6E 20 20 76 65 72 73 69 6F ribution versio
000070: 6E 20 20 6F 66 20 43 52 54 4D 41 50 20 61 73 73 n of CRTMAP ass
000080: 75 6D 65 73 20 61 20 54 65 6C 65 76 69 64 65 6F umes a Televideo
000090: 0D 0A 20 20 20 20 20 20 64 69 73 70 6C 61 79 20 .. display
0000A0: 74 65 72 6D 69 6E 61 6C 2E 20 20 49 74 20 20 6D terminal. It m
0000B0: 61 79 20 20 62 65 20 20 61 64 61 70 74 65 64 20 ay be adapted
0000C0: 20 74 6F 20 20 61 6E 79 20 20 6F 74 68 65 72 20 to any other
0000D0: 20 74 65 72 6D 69 6E 61 6C 20 20 6F 72 0D 0A 20 terminal or..
0000E0: 20 20 20 20 20 63 6F 6D 70 75 74 65 72 20 20 62 computer b
0000F0: 79 20 20 6D 6F 64 69 66 79 69 6E 67 20 20 74 77 y modifying tw
000100: 6F 20 20 6C 69 6E 65 73 20 20 69 6E 20 74 68 65 o lines in the
000110: 20 70 72 6F 67 72 61 6D 2E 20 20 54 68 65 73 65 program. These
000120: 20 74 77 6F 20 6C 69 6E 65 73 0D 0A 20 20 20 20 two lines..
000130: 20 20 73 70 65 63 69 66 79 20 74 68 65 20 63 6F specify the co
000140: 6E 74 72 6F 6C 20 63 6F 64 65 73 20 66 6F 72 20 ntrol codes for
000150: 63 75 72 73 6F 72 20 20 70 6F 73 69 74 69 6F 6E cursor position
000160: 69 6E 67 20 20 61 6E 64 20 20 63 6C 65 61 72 69 ing and cleari
000170: 6E 67 20 20 74 68 65 0D 0A 20 20 20 20 20 20 73 ng the.. s
000180: 63 72 65 65 6E 2E 20 20 20 43 6F 6E 73 75 6C 74 creen. Consult
000190: 20 79 6F 75 72 20 64 69 73 70 6C 61 79 20 74 65 your display te
0001A0: 72 6D 69 6E 61 6C 20 75 73 65 72 20 6D 61 6E 75 rminal user manu
0001B0: 61 6C 20 66 6F 72 20 74 68 65 20 63 6F 64 65 73 al for the codes
0001C0: 20 66 6F 72 0D 0A 20 20 20 20 20 20 79 6F 75 72 for.. your
0001D0: 20 73 79 73 74 65 6D 2E 20 20 54 68 65 20 63 75 system. The cu
0001E0: 72 73 6F 72 20 70 6F 73 69 74 69 6F 6E 69 6E 67 rsor positioning
0001F0: 20 63 6F 64 65 20 69 73 20 69 6E 20 70 72 6F 63 code is in proc
Size : 512 (Real : 512)
000000: 54 45 52 4E 0D 0A 20 20 20 20 20 20 20 20 20 20 TERN..
000010: 20 20 20 20 20 20 20 20 20 20 20 20 54 59 50 45 TYPE
000020: 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ..
000030: 20 20 20 20 20 20 20 20 25 49 4E 43 4C 55 44 45 %INCLUDE
000040: 20 74 79 70 65 5F 64 65 63 6C 61 72 61 74 69 6F type_declaratio
000050: 6E 5F 66 69 6C 65 6E 61 6D 65 0D 0A 20 20 20 20 n_filename..
000060: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
000070: 20 20 50 52 4F 43 45 44 55 52 45 20 65 78 70 72 PROCEDURE expr
000080: 6F 63 5F 6E 61 6D 65 0D 0A 20 20 20 20 20 20 20 oc_name..
000090: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
0000A0: 20 20 20 20 20 20 20 28 20 56 41 52 20 52 20 3A ( VAR R :
0000B0: 20 74 79 70 65 5F 6E 61 6D 65 20 29 3B 0D 0A 0D type_name );...
0000C0: 0A 20 20 20 20 20 20 20 20 20 20 20 20 20 20 50 . P
0000D0: 41 52 54 32 20 20 20 50 52 4F 43 45 44 55 52 45 ART2 PROCEDURE
0000E0: 20 43 4C 45 41 52 3B 0D 0A 20 20 20 20 20 20 20 CLEAR;..
0000F0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 50 P
000100: 52 4F 43 45 44 55 52 45 20 47 4F 54 4F 58 59 3B ROCEDURE GOTOXY;
000110: 0D 0A 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 ....
000120: 20 20 50 41 52 54 33 20 20 20 50 52 4F 43 45 44 PART3 PROCED
000130: 55 52 45 20 44 49 53 50 4C 41 59 3B 20 20 20 20 URE DISPLAY;
000140: 20 20 7B 20 66 6F 72 6D 61 74 20 74 68 65 20 43 { format the C
000150: 52 54 20 7D 0D 0A 0D 0A 20 20 20 20 20 20 20 20 RT }....
000160: 20 20 20 20 20 20 50 41 52 54 34 2E 2E 50 41 52 PART4..PAR
000170: 54 38 20 28 6F 6D 69 74 74 65 64 29 0D 0A 0D 0A T8 (omitted)....
000180: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 50 41 PA
000190: 52 54 39 20 20 20 42 45 47 49 4E 0D 0A 20 20 20 RT9 BEGIN..
0001A0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
0001B0: 20 20 20 6D 61 69 6E 5F 6C 69 6E 65 5F 63 6F 64 main_line_cod
0001C0: 65 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 20 e..
0001D0: 20 20 20 20 20 20 20 20 20 45 4E 44 3B 2E 0D 0A END;...
0001E0: 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 20 20 ..............
0001F0: 20 20 20 20 31 35 2E 32 20 20 20 4D 61 70 20 44 15.2 Map D
Size : 512 (Real : 512)
000000: 45 4C 44 20 31 30 2C 32 30 2C 20 63 75 73 74 6F ELD 10,20, custo
000010: 6D 65 72 5F 6E 61 6D 65 0D 0A 20 20 20 20 20 20 mer_name..
000020: 20 20 20 20 20 20 20 20 46 49 45 4C 44 20 31 32 FIELD 12
000030: 2C 32 30 2C 20 61 63 63 6F 75 6E 74 5F 62 61 6C ,20, account_bal
000040: 61 6E 63 65 3A 31 30 3A 32 0D 0A 20 20 20 20 20 ance:10:2..
000050: 20 20 20 20 20 20 20 20 20 46 49 45 4C 44 20 32 FIELD 2
000060: 30 2C 36 30 2C 20 64 61 79 73 5F 75 6E 74 69 6C 0,60, days_until
000070: 5F 61 72 6D 61 67 65 64 64 6F 6E 3A 31 0D 0A 0D _armageddon:1...
000080: 0A 20 20 20 20 20 20 43 55 52 53 4F 52 20 2D 20 . CURSOR -
000090: 73 70 65 63 69 66 69 65 73 20 77 68 65 72 65 20 specifies where
0000A0: 74 68 65 20 20 63 75 72 73 6F 72 20 20 73 68 6F the cursor sho
0000B0: 75 6C 64 20 20 62 65 20 20 70 6F 73 69 74 69 6F uld be positio
0000C0: 6E 65 64 20 20 6F 6E 20 20 74 68 65 0D 0A 20 20 ned on the..
0000D0: 20 20 20 20 20 20 20 20 20 20 20 20 73 63 72 65 scre
0000E0: 65 6E 20 61 66 74 65 72 20 74 68 65 20 72 65 63 en after the rec
0000F0: 6F 72 64 20 69 73 20 64 69 73 70 6C 61 79 65 64 ord is displayed
000100: 2E 0D 0A 0D 0A 20 20 20 20 20 20 20 20 20 20 20 .....
000110: 20 20 20 43 55 52 53 4F 52 20 63 6F 6C 75 6D 6E CURSOR column
000120: 2C 20 72 6F 77 0D 0A 0D 0A 20 20 20 20 20 20 45 , row.... E
000130: 4E 44 20 2D 20 69 6E 64 69 63 61 74 65 73 20 65 ND - indicates e
000140: 6E 64 20 6F 66 20 4D 61 70 20 44 65 73 63 72 69 nd of Map Descri
000150: 70 74 69 6F 6E 20 46 69 6C 65 2C 20 41 4C 57 41 ption File, ALWA
000160: 59 53 20 72 65 71 75 69 72 65 64 2E 0D 0A 0D 0A YS required.....
000170: 0D 0A 20 20 20 20 20 20 31 35 2E 33 20 20 4F 70 .. 15.3 Op
000180: 65 72 61 74 69 6E 67 20 43 52 54 4D 41 50 0D 0A erating CRTMAP..
000190: 0D 0A 20 20 20 20 20 20 20 20 20 20 20 54 6F 20 .. To
0001A0: 20 6F 70 65 72 61 74 65 20 20 43 52 54 4D 41 50 operate CRTMAP
0001B0: 2C 20 20 66 69 72 73 74 20 20 70 72 65 70 61 72 , first prepar
0001C0: 65 20 20 74 68 65 20 20 4D 61 70 20 20 44 65 73 e the Map Des
0001D0: 63 72 69 70 74 69 6F 6E 20 46 69 6C 65 0D 0A 20 cription File..
0001E0: 20 20 20 20 20 28 73 65 63 74 69 6F 6E 20 31 35 (section 15
0001F0: 2E 32 29 2E 20 20 50 72 65 70 61 72 65 20 61 20 .2). Prepare a
Size : 512 (Real : 512)
000000: 65 66 69 6E 69 74 69 6F 6E 20 46 69 6C 65 0D 0A efinition File..
000010: 0D 0A 20 20 20 20 20 20 20 20 20 20 20 54 68 65 .. The
000020: 20 20 4D 44 46 20 64 65 66 69 6E 65 73 20 74 68 MDF defines th
000030: 65 20 66 6F 72 6D 61 74 20 6F 66 20 74 68 65 20 e format of the
000040: 43 52 54 20 73 63 72 65 65 6E 20 66 6F 72 20 74 CRT screen for t
000050: 68 65 20 64 69 73 70 6C 61 79 20 6F 66 0D 0A 20 he display of..
000060: 20 20 20 20 20 6F 6E 65 20 72 65 63 6F 72 64 20 one record
000070: 74 79 70 65 2E 20 20 43 52 54 4D 41 50 20 72 65 type. CRTMAP re
000080: 63 6F 67 6E 69 7A 65 73 20 73 65 76 65 6E 20 64 cognizes seven d
000090: 69 66 66 65 72 65 6E 74 20 4D 44 46 20 63 6F 6D ifferent MDF com
0000A0: 6D 61 6E 64 73 2E 0D 0A 0D 0A 20 20 20 20 20 20 mands.....
0000B0: 20 20 20 20 20 54 68 65 20 4D 44 46 20 63 6F 6D The MDF com
0000C0: 6D 61 6E 64 73 20 4D 55 53 54 20 62 65 20 65 6E mands MUST be en
0000D0: 74 65 72 65 64 20 69 6E 20 61 20 66 69 78 65 64 tered in a fixed
0000E0: 20 73 65 71 75 65 6E 63 65 20 65 78 63 65 70 74 sequence except
0000F0: 20 20 66 6F 72 0D 0A 20 20 20 20 20 20 4C 49 54 for.. LIT
000100: 45 52 41 4C 20 20 61 6E 64 20 20 46 49 45 4C 44 ERAL and FIELD
000110: 20 20 77 68 69 63 68 20 20 6D 61 79 20 20 62 65 which may be
000120: 20 20 69 6E 74 65 72 6D 69 78 65 64 2E 20 20 54 intermixed. T
000130: 68 65 72 65 20 73 68 6F 75 6C 64 20 62 65 20 6F here should be o
000140: 6E 65 0D 0A 20 20 20 20 20 20 63 6F 6D 6D 61 6E ne.. comman
000150: 64 20 70 65 72 20 6C 69 6E 65 2E 20 20 42 6C 61 d per line. Bla
000160: 6E 6B 20 6C 69 6E 65 73 20 6D 61 79 20 62 65 20 nk lines may be
000170: 69 6E 73 65 72 74 65 64 20 66 6F 72 20 72 65 61 inserted for rea
000180: 64 61 62 69 6C 69 74 79 2E 0D 0A 0D 0A 20 20 20 dability.....
000190: 20 20 20 20 20 20 20 20 20 20 20 45 58 50 52 4F EXPRO
0001A0: 43 20 3D 20 65 65 65 65 65 65 65 65 0D 0A 20 20 C = eeeeeeee..
0001B0: 20 20 20 20 20 20 20 20 20 20 20 20 49 4E 43 4C INCL
0001C0: 55 44 45 20 3D 20 69 69 69 69 69 69 69 69 0D 0A UDE = iiiiiiii..
0001D0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 52 45 RE
0001E0: 43 4F 52 44 20 3D 20 72 72 72 72 72 72 72 72 0D CORD = rrrrrrrr.
0001F0: 0A 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 20 ...
Size : 512 (Real : 512)
000000: 66 69 6C 65 20 63 6F 6E 74 61 69 6E 69 6E 67 20 file containing
000010: 74 68 65 20 72 65 63 6F 72 64 20 74 6F 20 62 65 the record to be
000020: 20 64 69 73 70 6C 61 79 65 64 0D 0A 20 20 20 20 displayed..
000030: 20 20 61 6E 64 20 69 74 73 20 73 75 62 6F 72 64 and its subord
000040: 69 6E 61 74 65 20 74 79 70 65 20 64 65 63 6C 61 inate type decla
000050: 72 61 74 69 6F 6E 73 20 2D 20 20 74 68 69 73 20 rations - this
000060: 20 77 69 6C 6C 20 20 62 65 20 20 74 68 65 20 20 will be the
000070: 49 4E 43 4C 55 44 45 0D 0A 20 20 20 20 20 20 66 INCLUDE.. f
000080: 69 6C 65 2E 0D 0A 0D 0A 20 20 20 20 20 20 20 20 ile.....
000090: 20 20 20 4D 61 6B 65 20 20 73 75 72 65 20 20 74 Make sure t
0000A0: 68 65 20 20 43 52 54 4D 41 50 20 20 75 74 69 6C he CRTMAP util
0000B0: 69 74 79 20 20 77 61 73 20 20 6D 6F 64 69 66 69 ity was modifi
0000C0: 65 64 20 20 74 6F 20 73 75 70 70 6F 72 74 20 79 ed to support y
0000D0: 6F 75 72 0D 0A 20 20 20 20 20 20 74 65 72 6D 69 our.. termi
0000E0: 6E 61 6C 20 74 79 70 65 20 28 73 65 65 20 73 65 nal type (see se
0000F0: 63 74 69 6F 6E 20 31 35 2E 29 2E 0D 0A 0D 0A 20 ction 15.).....
000100: 20 20 20 20 20 20 20 20 20 20 54 6F 20 72 75 6E To run
000110: 20 74 68 65 20 75 74 69 6C 69 74 79 2C 20 65 6E the utility, en
000120: 74 65 72 3A 0D 0A 0D 0A 20 20 20 20 20 20 20 20 ter:....
000130: 20 20 20 20 20 20 45 58 45 43 20 43 52 54 4D 41 EXEC CRTMA
000140: 50 0D 0A 0D 0A 20 20 20 20 20 20 20 20 20 20 20 P....
000150: 49 74 20 77 69 6C 6C 20 61 73 6B 20 66 6F 72 20 It will ask for
000160: 74 68 65 20 20 22 66 69 6C 65 6E 61 6D 65 2E 74 the "filename.t
000170: 79 70 65 22 20 20 6F 66 20 20 79 6F 75 72 20 20 ype" of your
000180: 4D 61 70 20 20 44 65 73 63 72 69 70 74 69 6F 6E Map Description
000190: 0D 0A 20 20 20 20 20 20 46 69 6C 65 2E 0D 0A 0D .. File....
0001A0: 0A 20 20 20 20 20 20 20 20 20 20 20 4F 6E 20 20 . On
0001B0: 73 75 63 63 65 73 73 66 75 6C 20 74 65 72 6D 69 successful termi
0001C0: 6E 61 74 69 6F 6E 20 6F 66 20 43 52 54 4D 41 50 nation of CRTMAP
0001D0: 2C 20 74 68 65 20 6E 65 77 20 65 78 74 65 72 6E , the new extern
0001E0: 61 6C 20 70 72 6F 63 65 64 75 72 65 0D 0A 20 20 al procedure..
0001F0: 20 20 20 20 73 6F 75 72 63 65 20 66 69 6C 65 20 source file
Size : 512 (Real : 512)
000000: 20 61 6E 79 20 6E 75 6D 62 65 72 20 6F 66 20 69 any number of i
000010: 6E 74 65 72 6D 69 78 65 64 20 4C 49 54 45 52 41 ntermixed LITERA
000020: 4C 20 61 6E 64 20 46 49 45 4C 44 20 63 6F 6D 6D L and FIELD comm
000030: 61 6E 64 73 0D 0A 0D 0A 20 20 20 20 20 20 20 20 ands....
000040: 20 20 20 20 20 20 43 55 52 53 4F 52 20 3D 20 78 CURSOR = x
000050: 2C 79 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 ,y..
000060: 20 20 45 4E 44 0D 0A 0D 0A 20 20 20 20 4D 44 46 END.... MDF
000070: 20 43 6F 6D 6D 61 6E 64 73 0D 0A 0D 0A 20 20 20 Commands....
000080: 20 20 20 45 58 50 52 4F 43 20 2D 20 74 68 65 20 EXPROC - the
000090: 6E 61 6D 65 20 6F 66 20 20 74 68 65 20 20 65 78 name of the ex
0000A0: 74 65 72 6E 61 6C 20 20 70 72 6F 63 65 64 75 72 ternal procedur
0000B0: 65 20 20 74 6F 20 20 62 65 20 20 67 65 6E 65 72 e to be gener
0000C0: 61 74 65 64 20 20 62 79 0D 0A 20 20 20 20 20 20 ated by..
0000D0: 20 20 20 20 20 20 20 20 43 52 54 4D 41 50 2E 0D CRTMAP..
0000E0: 0A 0D 0A 20 20 20 20 20 20 49 4E 43 4C 55 44 45 ... INCLUDE
0000F0: 20 20 2D 20 20 74 68 65 20 20 6E 61 6D 65 20 20 - the name
000100: 6F 66 20 20 74 68 65 20 20 25 49 4E 43 4C 55 44 of the %INCLUD
000110: 45 20 66 69 6C 65 20 77 68 69 63 68 20 63 6F 6E E file which con
000120: 74 61 69 6E 73 20 74 68 65 20 54 59 50 45 0D 0A tains the TYPE..
000130: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 64 65 de
000140: 63 6C 61 72 61 74 69 6F 6E 20 6F 66 20 74 68 65 claration of the
000150: 20 72 65 63 6F 72 64 20 74 6F 20 62 65 20 64 69 record to be di
000160: 73 70 6C 61 79 65 64 20 61 6E 64 20 61 6C 6C 20 splayed and all
000170: 20 54 59 50 45 73 20 20 61 6E 64 0D 0A 20 20 20 TYPEs and..
000180: 20 20 20 20 20 20 20 20 20 20 20 43 4F 4E 53 54 CONST
000190: 61 6E 74 73 20 74 6F 20 77 68 69 63 68 20 69 74 ants to which it
0001A0: 20 72 65 66 65 72 73 2E 0D 0A 0D 0A 20 20 20 20 refers.....
0001B0: 20 20 20 20 20 20 20 20 20 20 65 78 61 6D 70 6C exampl
0001C0: 65 3A 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 e:..
0001D0: 20 20 49 4E 43 4C 55 44 45 20 3D 20 54 59 50 45 INCLUDE = TYPE
0001E0: 53 2E 44 43 4C 0D 0A 0D 0A 20 20 20 20 20 20 52 S.DCL.... R
0001F0: 45 43 4F 52 44 20 2D 20 74 68 65 20 6E 61 6D 65 ECORD - the name
Size : 512 (Real : 512)
000000: 77 69 6C 6C 20 62 65 20 66 6F 75 6E 64 20 6F 6E will be found on
000010: 20 74 68 65 20 64 65 66 61 75 6C 74 20 64 69 73 the default dis
000020: 6B 2E 20 20 49 74 20 6D 75 73 74 20 20 62 65 20 k. It must be
000030: 20 63 6F 6D 70 69 6C 65 64 0D 0A 20 20 20 20 20 compiled..
000040: 20 77 69 74 68 20 74 68 65 20 4A 52 54 20 50 61 with the JRT Pa
000050: 73 63 61 6C 20 76 65 72 73 69 6F 6E 20 33 20 63 scal version 3 c
000060: 6F 6D 70 69 6C 65 72 2E 0D 0A 0D 0A 0D 0A 20 20 ompiler.......
000070: 20 20 20 20 31 35 2E 34 20 20 20 43 52 54 4D 41 15.4 CRTMA
000080: 50 20 65 78 61 6D 70 6C 65 0D 0A 0D 0A 20 20 20 P example....
000090: 20 20 20 20 20 20 20 20 41 6E 20 65 78 61 6D 70 An examp
0000A0: 6C 65 20 6F 66 20 74 68 65 20 75 73 65 20 6F 66 le of the use of
0000B0: 20 74 68 65 20 43 52 54 4D 41 50 20 75 74 69 6C the CRTMAP util
0000C0: 69 74 79 20 69 73 20 70 72 6F 76 69 64 65 64 20 ity is provided
0000D0: 68 65 72 65 2E 20 20 41 0D 0A 20 20 20 20 20 20 here. A..
0000E0: 73 69 6D 70 6C 65 20 20 20 63 75 73 74 6F 6D 65 simple custome
0000F0: 72 20 20 20 72 65 63 6F 72 64 20 20 69 73 20 20 r record is
000100: 66 6F 72 6D 61 74 74 65 64 20 20 61 6E 64 20 20 formatted and
000110: 64 69 73 70 6C 61 79 65 64 2E 20 20 20 54 68 65 displayed. The
000120: 20 20 4D 61 70 0D 0A 20 20 20 20 20 20 44 65 66 Map.. Def
000130: 69 6E 69 74 69 6F 6E 20 20 46 69 6C 65 20 20 6E inition File n
000140: 61 6D 65 64 20 20 4D 44 46 20 20 69 73 20 20 6C amed MDF is l
000150: 69 73 74 65 64 2E 20 20 20 54 68 65 20 20 69 6E isted. The in
000160: 63 6C 75 64 65 20 20 66 69 6C 65 20 20 6E 61 6D clude file nam
000170: 65 64 0D 0A 20 20 20 20 20 20 43 55 53 54 4F 4D ed.. CUSTOM
000180: 45 52 2E 50 41 53 20 20 20 63 6F 6E 74 61 69 6E ER.PAS contain
000190: 73 20 20 74 68 65 20 20 6D 61 69 6E 20 20 72 65 s the main re
0001A0: 63 6F 72 64 20 20 64 65 63 6C 61 72 61 74 69 6F cord declaratio
0001B0: 6E 20 20 43 55 53 54 20 20 61 6E 64 20 20 61 0D n CUST and a.
0001C0: 0A 20 20 20 20 20 20 73 75 62 6F 72 64 69 6E 61 . subordina
0001D0: 74 65 20 64 65 63 6C 61 72 61 74 69 6F 6E 20 43 te declaration C
0001E0: 48 41 52 33 30 2E 0D 0A 0D 0A 20 20 20 20 20 20 HAR30.....
0001F0: 20 20 20 20 20 54 68 65 20 65 78 74 65 72 6E 61 The externa
Size : 512 (Real : 512)
000000: 20 6F 66 20 74 68 65 20 72 65 63 6F 72 64 20 64 of the record d
000010: 61 74 61 20 74 79 70 65 20 74 6F 20 62 65 20 64 ata type to be d
000020: 69 73 70 6C 61 79 65 64 20 2D 20 74 68 69 73 20 isplayed - this
000030: 74 79 70 65 0D 0A 20 20 20 20 20 20 20 20 20 20 type..
000040: 20 20 20 20 64 65 63 6C 61 72 61 74 69 6F 6E 20 declaration
000050: 69 73 20 69 6E 20 74 68 65 20 69 6E 63 6C 75 64 is in the includ
000060: 65 20 66 69 6C 65 2E 0D 0A 0D 0A 20 20 20 20 20 e file.....
000070: 20 4C 49 54 45 52 41 4C 20 20 2D 20 20 63 61 75 LITERAL - cau
000080: 73 65 73 20 20 61 20 20 63 68 61 72 61 63 74 65 ses a characte
000090: 72 20 20 73 74 72 69 6E 67 20 20 74 6F 20 20 62 r string to b
0000A0: 65 20 64 69 73 70 6C 61 79 65 64 20 6F 6E 20 74 e displayed on t
0000B0: 68 65 20 43 52 54 0D 0A 20 20 20 20 20 20 20 20 he CRT..
0000C0: 20 20 20 20 20 20 73 63 72 65 65 6E 2C 20 74 68 screen, th
0000D0: 65 20 73 74 72 69 6E 67 20 6D 75 73 74 20 62 65 e string must be
0000E0: 20 65 6E 74 65 72 65 64 20 62 65 74 77 65 65 6E entered between
0000F0: 20 73 69 6E 67 6C 65 20 71 75 6F 74 65 73 2E 0D single quotes..
000100: 0A 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 20 ...
000110: 20 4C 49 54 45 52 41 4C 20 63 6F 6C 75 6D 6E 2C LITERAL column,
000120: 20 72 6F 77 2C 20 27 6C 69 74 65 72 61 6C 20 73 row, 'literal s
000130: 74 72 69 6E 67 20 74 6F 20 62 65 20 64 69 73 70 tring to be disp
000140: 6C 61 79 65 64 27 0D 0A 0D 0A 20 20 20 20 20 20 layed'....
000150: 20 20 20 20 20 20 20 20 65 78 61 6D 70 6C 65 73 examples
000160: 3A 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 20 :..
000170: 20 4C 49 54 45 52 41 4C 20 30 2C 30 2C 27 2A 20 LITERAL 0,0,'*
000180: 74 68 69 73 20 69 73 20 74 68 65 20 75 70 70 65 this is the uppe
000190: 72 20 6C 65 66 74 20 63 6F 72 6E 65 72 27 0D 0A r left corner'..
0001A0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 4C 49 LI
0001B0: 54 45 52 41 4C 20 34 30 2C 31 32 2C 27 2A 20 74 TERAL 40,12,'* t
0001C0: 68 69 73 20 69 73 20 61 62 6F 75 74 20 74 68 65 his is about the
0001D0: 20 63 65 6E 74 65 72 27 0D 0A 20 20 20 20 20 20 center'..
0001E0: 20 20 20 20 20 20 20 20 4C 49 54 45 52 41 4C 20 LITERAL
0001F0: 30 2C 32 33 2C 27 62 6F 74 74 6F 6D 20 72 6F 77 0,23,'bottom row
Size : 512 (Real : 512)
000000: 6C 20 70 72 6F 63 65 64 75 72 65 20 67 65 6E 65 l procedure gene
000010: 72 61 74 65 64 20 62 79 20 43 52 54 4D 41 50 20 rated by CRTMAP
000020: 69 73 20 6E 61 6D 65 64 20 20 43 55 53 54 4D 41 is named CUSTMA
000030: 50 2E 50 41 53 0D 0A 20 20 20 20 20 20 61 6E 64 P.PAS.. and
000040: 20 69 73 20 6C 69 73 74 65 64 2E 0D 0A 0D 0A 20 is listed.....
000050: 20 20 20 20 20 20 20 20 20 20 41 20 63 6F 6D 70 A comp
000060: 6C 65 74 65 20 63 6F 6D 70 69 6C 65 72 20 6C 69 lete compiler li
000070: 73 74 69 6E 67 20 6F 66 20 43 52 54 4D 41 50 2E sting of CRTMAP.
000080: 50 41 53 20 66 6F 6C 6C 6F 77 73 2E 0D 0A 0D 0A PAS follows.....
000090: 20 20 20 20 20 20 4F 70 65 72 61 74 69 6F 6E 20 Operation
0000A0: 66 6C 6F 77 63 68 61 72 74 20 6F 66 20 43 52 54 flowchart of CRT
0000B0: 4D 41 50 20 75 74 69 6C 69 74 79 20 28 76 65 72 MAP utility (ver
0000C0: 20 33 2E 30 29 0D 0A 0D 0A 20 20 20 20 20 20 20 3.0)....
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 20 20 20 20 20 4D 61 70 Map
0000F0: 0D 0A 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 44 65 73 63 72 69 70 74 69 6F 6E 0D 0A 20 Description..
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 20 20 20 20 20 20 20
000140: 20 20 20 46 69 6C 65 0D 0A 20 20 20 20 20 20 20 File..
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 20 20 20 20 20 20 20 21 !
000170: 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ..
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 20 21 0D 0A 20 20 20 20 20 !..
0001A0: 20 20 20 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 20 20 20 20 20
0001C0: 20 21 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 !..
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 20 20 21 0D 0A 20 20 20 !..
0001F0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
Size : 512 (Real : 512)
000000: 20 6F 66 20 74 68 65 20 63 72 74 27 0D 0A 0D 0A of the crt'....
000010: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 63 sc
000020: 72 65 65 6E 20 63 6F 6F 72 64 69 6E 61 74 65 73 reen coordinates
000030: 20 68 61 76 65 20 74 68 65 20 6F 72 69 67 69 6E have the origin
000040: 20 20 30 2C 30 20 20 69 6E 20 20 74 68 65 20 20 0,0 in the
000050: 75 70 70 65 72 20 20 6C 65 66 74 0D 0A 20 20 20 upper left..
000060: 20 20 20 20 20 20 20 20 20 20 20 63 6F 72 6E 65 corne
000070: 72 2C 20 20 66 69 72 73 74 20 6E 75 6D 62 65 72 r, first number
000080: 20 58 20 69 73 20 74 68 65 20 63 6F 6C 75 6D 6E X is the column
000090: 2C 20 73 65 63 6F 6E 64 20 6E 75 6D 62 65 72 20 , second number
0000A0: 59 20 69 73 20 74 68 65 0D 0A 20 20 20 20 20 20 Y is the..
0000B0: 20 20 20 20 20 20 20 20 72 6F 77 2E 0D 0A 0D 0A row.....
0000C0: 20 20 20 20 20 20 46 49 45 4C 44 20 2D 20 63 61 FIELD - ca
0000D0: 75 73 65 73 20 61 20 66 69 65 6C 64 20 69 6E 20 uses a field in
0000E0: 74 68 65 20 69 6E 70 75 74 20 72 65 63 6F 72 64 the input record
0000F0: 20 74 6F 20 20 62 65 20 20 64 69 73 70 6C 61 79 to be display
000100: 65 64 20 20 61 74 20 20 74 68 65 0D 0A 20 20 20 ed at the..
000110: 20 20 20 20 20 20 20 20 20 20 20 73 70 65 63 69 speci
000120: 66 69 65 64 20 20 6C 6F 63 61 74 69 6F 6E 2C 20 fied location,
000130: 20 6D 61 79 20 20 69 6E 63 6C 75 64 65 20 6F 70 may include op
000140: 74 69 6F 6E 61 6C 20 6D 69 6E 69 6D 75 6D 20 77 tional minimum w
000150: 69 64 74 68 20 61 6E 64 0D 0A 20 20 20 20 20 20 idth and..
000160: 20 20 20 20 20 20 20 20 64 65 63 69 6D 61 6C 20 decimal
000170: 70 6C 61 63 65 73 20 6E 75 6D 62 65 72 73 20 66 places numbers f
000180: 6F 72 20 64 69 73 70 6C 61 79 69 6E 67 20 69 6E or displaying in
000190: 74 65 67 65 72 73 20 61 6E 64 20 72 65 61 6C 73 tegers and reals
0001A0: 2E 0D 0A 0D 0A 20 20 20 20 20 20 20 20 20 20 20 .....
0001B0: 20 20 20 46 49 45 4C 44 20 63 6F 6C 75 6D 6E 2C FIELD column,
0001C0: 20 72 6F 77 2C 20 66 69 65 6C 64 5F 6E 61 6D 65 row, field_name
0001D0: 20 20 7B 3A 6D 69 6E 5F 77 69 64 74 68 20 7B 3A {:min_width {:
0001E0: 64 65 63 5F 70 6C 61 63 65 73 7D 7D 0D 0A 0D 0A dec_places}}....
0001F0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 46 49 FI
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 56 0D 0A 20 20 20 20 20 20 20 20 20 20 V..
000020: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
000030: 20 20 20 20 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ------------
000040: 2D 2D 2D 2D 2D 0D 0A 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: 20 20 20 20 20 21 20 20 20 20 20 20 20 20 20 20 !
000070: 20 20 20 20 20 21 0D 0A 20 20 20 20 20 20 20 20 !..
000080: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
000090: 20 20 20 20 20 20 21 20 20 20 43 52 54 4D 41 50 ! CRTMAP
0000A0: 20 20 20 20 20 20 21 0D 0A 20 20 20 20 20 20 20 !..
0000B0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
0000C0: 20 20 20 20 20 20 20 21 20 20 20 20 75 74 69 6C ! util
0000D0: 74 69 79 20 20 20 20 21 0D 0A 20 20 20 20 20 20 tiy !..
0000E0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
0000F0: 20 20 20 20 20 20 20 20 21 20 20 20 20 20 20 20 !
000100: 20 20 20 20 20 20 20 20 21 0D 0A 20 20 20 20 20 !..
000110: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
000120: 20 20 20 20 20 20 20 20 20 2D 2D 2D 2D 2D 2D 2D -------
000130: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 0D 0A 20 20 20 20 ----------..
000140: 20 20 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 20 20 20 20 20 20
000160: 20 20 21 0D 0A 20 20 20 20 20 20 20 20 20 20 20 !..
000170: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
000180: 20 20 20 20 20 20 20 20 20 20 20 21 0D 0A 20 20 !..
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 20 20 20 20 20 20
0001B0: 20 20 20 20 21 0D 0A 20 20 20 20 20 20 20 20 20 !..
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 20 20 20 20 20 56 0D 0A V..
0001E0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
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 20 20 20 20 20 20 20 20 20 20 20
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 20 20 20 21 0D 0A 20 20 !..
000030: 20 20 20 20 21 20 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 20 20
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 21 0D 0A 20 20 20 20 20 20 21 20 20 !.. !
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 20 20 20 20 20 20 20 20
0000A0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
0000B0: 20 20 20 20 20 20 20 20 20 20 20 20 20 21 0D 0A !..
0000C0: 20 20 20 20 20 20 21 20 20 20 20 20 20 20 20 20 !
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 20 20 20 20 20 20 20 20
0000F0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
000100: 20 20 20 20 20 20 21 0D 0A 20 20 20 20 20 20 21 !.. !
000110: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
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 20 20 20 20 20 20 20
000140: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 21 !
000150: 0D 0A 20 20 20 20 20 20 21 20 20 20 20 20 20 20 .. !
000160: 42 61 6C 61 6E 63 65 20 20 24 20 20 20 31 34 39 Balance $ 149
000170: 30 2E 33 34 20 20 20 20 20 20 20 20 20 20 20 20 0.34
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 20 21 0D 0A 20 20 20 20 20 !..
0001A0: 20 21 20 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 20 20 20 20 20
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 20 20 20 20 20 20 20 20
0001E0: 20 21 0D 0A 20 20 20 20 20 20 21 20 20 20 20 20 !.. !
0001F0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
Size : 512 (Real : 512)
000000: 50 61 73 63 61 6C 20 73 6F 75 72 63 65 0D 0A 20 Pascal source..
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 20 20 20 20 20 20 20 63 c
000030: 6F 64 65 20 65 78 74 65 72 6E 61 6C 20 20 20 20 ode external
000040: 20 25 69 6E 63 6C 75 64 65 0D 0A 20 20 20 20 20 %include..
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 70 72 6F pro
000070: 63 65 64 75 72 65 20 20 20 20 20 20 20 20 20 66 cedure f
000080: 69 6C 65 0D 0A 20 20 20 20 20 20 20 20 20 20 20 ile..
000090: 20 20 20 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 21 20 20 20 20 !
0000B0: 20 20 20 20 20 20 20 20 20 20 20 2F 20 0D 0A 20 / ..
0000C0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
0000D0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
0000E0: 20 20 20 20 20 21 20 20 20 20 20 20 20 20 20 20 !
0000F0: 20 20 20 20 2F 0D 0A 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 20 20 20 20 20 20 20 20 20 20 20 21 20 20 !
000120: 20 20 20 20 20 20 20 20 20 20 20 2F 0D 0A 20 20 /..
000130: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
000140: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
000150: 20 20 20 20 21 20 20 20 20 20 20 20 20 20 20 20 !
000160: 20 2F 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 /..
000170: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
000180: 20 20 20 20 20 20 20 20 20 20 21 20 20 20 20 20 !
000190: 20 20 20 20 20 20 2F 0D 0A 20 20 20 20 20 20 20 /..
0001A0: 20 20 20 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 20 20 20 20 21 !
0001C0: 20 20 20 20 20 20 20 20 20 20 2F 0D 0A 20 20 20 /..
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 20 20 20 20 20 20 20 20
0001F0: 20 20 20 21 20 20 20 20 20 20 20 20 20 2F 0D 0A ! /..
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 20 20 20 20 20 20 20 20 20
000020: 20 20 20 20 20 20 20 20 20 20 21 0D 0A 20 20 20 !..
000030: 20 20 20 21 20 20 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 20 20
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 21 0D 0A 20 20 20 20 20 20 21 20 20 20 !.. !
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 20 20 20 20 20 20 20 20
0000A0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
0000B0: 20 20 20 20 20 20 20 20 20 20 20 20 21 0D 0A 20 !..
0000C0: 20 20 20 20 20 21 20 20 5F 20 20 20 20 20 20 20 ! _
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 20 20 20 20 20 20 20 20
0000F0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
000100: 20 20 20 20 20 21 0D 0A 20 20 20 20 20 20 21 20 !.. !
000110: 21 5F 21 20 20 20 20 20 20 20 20 20 20 20 20 20 !_!
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 20 20 20 20 20 20 20
000140: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 21 0D !.
000150: 0A 20 20 20 20 20 20 21 5F 5F 5F 5F 5F 5F 5F 5F . !________
000160: 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F ________________
000170: 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F ________________
000180: 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F ________________
000190: 5F 5F 5F 5F 5F 5F 5F 21 0D 0A 20 20 20 20 20 20 _______!..
0001A0: 46 69 6C 65 20 43 55 53 54 4F 4D 45 52 2E 50 41 File CUSTOMER.PA
0001B0: 53 0D 0A 20 20 20 20 20 20 63 6F 6E 74 61 69 6E S.. contain
0001C0: 73 20 54 59 50 45 20 64 65 63 6C 61 72 61 74 69 s TYPE declarati
0001D0: 6F 6E 20 6F 66 20 63 75 73 74 6F 6D 65 72 20 64 on of customer d
0001E0: 61 74 61 20 72 65 63 6F 72 64 0D 0A 0D 0A 20 20 ata record....
0001F0: 20 20 20 20 43 48 41 52 33 30 20 3D 20 41 52 52 CHAR30 = ARR
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 20 20 20 20 20 20 20 20 20
000020: 20 20 20 20 20 20 21 20 20 20 20 20 20 20 20 2F ! /
000030: 0D 0A 20 20 20 20 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 20 20
000050: 20 20 20 20 20 20 20 20 21 20 20 20 20 20 20 20 !
000060: 2F 0D 0A 20 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 20 20 20
000080: 20 20 20 20 20 20 20 20 20 56 20 20 20 20 20 20 V
000090: 56 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 20 V..
0000A0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
0000B0: 20 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ---------------
0000C0: 2D 2D 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 --..
0000D0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
0000E0: 20 20 21 20 20 20 20 20 20 20 20 20 20 20 20 20 !
0000F0: 20 20 21 0D 0A 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 20 21 20 20 20 4A 52 54 50 41 53 33 20 20 ! JRTPAS3
000120: 20 20 20 21 0D 0A 20 20 20 20 20 20 20 20 20 20 !..
000130: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
000140: 20 20 20 20 21 20 20 20 20 20 20 20 20 20 20 20 !
000150: 20 20 20 20 21 0D 0A 20 20 20 20 20 20 20 20 20 !..
000160: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
000170: 20 20 20 20 20 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D -----------
000180: 2D 2D 2D 2D 2D 2D 0D 0A 20 20 20 20 20 20 20 20 ------..
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 20 20 20 20 21 0D !.
0001B0: 0A 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .
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 21 0D 0A 20 20 20 20 20 20 !..
0001E0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
0001F0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
Size : 512 (Real : 512)
000000: 41 59 20 5B 31 2E 2E 33 30 5D 20 4F 46 20 43 48 AY [1..30] OF CH
000010: 41 52 3B 0D 0A 20 20 20 20 20 20 43 55 53 54 20 AR;.. CUST
000020: 3D 20 20 20 52 45 43 4F 52 44 0D 0A 20 20 20 20 = RECORD..
000030: 20 20 20 20 20 20 20 20 20 20 20 4E 41 4D 45 20 NAME
000040: 3A 20 43 48 41 52 33 30 3B 0D 0A 20 20 20 20 20 : CHAR30;..
000050: 20 20 20 20 20 20 20 20 20 20 41 44 44 52 45 53 ADDRES
000060: 53 20 3A 20 43 48 41 52 33 30 3B 0D 0A 20 20 20 S : CHAR30;..
000070: 20 20 20 20 20 20 20 20 20 20 20 20 43 49 54 59 CITY
000080: 20 3A 20 43 48 41 52 33 30 3B 0D 0A 20 20 20 20 : CHAR30;..
000090: 20 20 20 20 20 20 20 20 20 20 20 42 41 4C 41 4E BALAN
0000A0: 43 45 20 3A 20 52 45 41 4C 3B 0D 0A 20 20 20 20 CE : REAL;..
0000B0: 20 20 20 20 20 20 20 20 20 20 20 45 4E 44 3B 0D END;.
0000C0: 0A 0D 0A 20 20 20 20 20 20 46 49 4C 45 20 4D 44 ... FILE MD
0000D0: 46 0D 0A 20 20 20 20 20 20 63 6F 6E 74 61 69 6E F.. contain
0000E0: 73 20 4D 61 70 20 44 65 66 69 6E 69 74 69 6F 6E s Map Definition
0000F0: 20 46 69 6C 65 20 77 68 69 63 68 20 64 65 73 63 File which desc
000100: 72 69 62 65 73 20 43 52 54 20 73 63 72 65 65 6E ribes CRT screen
000110: 20 66 6F 72 6D 61 74 0D 0A 0D 0A 20 20 20 20 20 format....
000120: 20 45 58 50 52 4F 43 20 3D 20 43 55 53 54 4D 41 EXPROC = CUSTMA
000130: 50 0D 0A 20 20 20 20 20 20 49 4E 43 4C 55 44 45 P.. INCLUDE
000140: 20 3D 20 43 55 53 54 4F 4D 45 52 2E 50 41 53 0D = CUSTOMER.PAS.
000150: 0A 20 20 20 20 20 20 52 45 43 4F 52 44 20 3D 20 . RECORD =
000160: 43 55 53 54 0D 0A 0D 0A 20 20 20 20 20 20 4C 49 CUST.... LI
000170: 54 45 52 41 4C 20 3D 20 30 2C 30 2C 27 2D 2D 2D TERAL = 0,0,'---
000180: 2D 2D 2D 2D 2D 2D 2D 20 43 55 53 54 4F 4D 45 52 ------- CUSTOMER
000190: 20 52 45 43 4F 52 44 20 2D 2D 2D 2D 2D 2D 2D 2D RECORD --------
0001A0: 2D 2D 27 0D 0A 0D 0A 20 20 20 20 20 20 4C 49 54 --'.... LIT
0001B0: 45 52 41 4C 20 3D 20 35 2C 33 2C 27 4E 61 6D 65 ERAL = 5,3,'Name
0001C0: 20 27 0D 0A 20 20 20 20 20 20 46 49 45 4C 44 20 '.. FIELD
0001D0: 3D 31 32 2C 33 2C 4E 41 4D 45 0D 0A 0D 0A 20 20 =12,3,NAME....
0001E0: 20 20 20 20 4C 49 54 45 52 41 4C 20 3D 20 35 2C LITERAL = 5,
0001F0: 35 2C 27 41 64 64 72 20 27 0D 0A 20 20 20 20 20 5,'Addr '..
Size : 512 (Real : 512)
000000: 21 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 20 20 20 20 20
000020: 20 20 20 20 20 20 20 20 20 21 0D 0A 20 20 20 20 !..
000030: 20 20 20 20 20 20 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 20 20
000050: 20 20 56 0D 0A 20 20 20 20 20 20 20 20 20 20 20 V..
000060: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
000070: 20 20 20 20 20 20 20 63 6F 6D 70 69 6C 65 64 0D compiled.
000080: 0A 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .
000090: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
0000A0: 20 43 52 54 20 6D 61 70 70 69 6E 67 0D 0A 20 20 CRT mapping..
0000B0: 20 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 20 20 20 20 20 20 20
0000D0: 65 78 74 65 72 6E 61 6C 0D 0A 20 20 20 20 20 20 external..
0000E0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
0000F0: 20 20 20 20 20 20 20 20 20 20 20 70 72 6F 63 65 proce
000100: 64 75 72 65 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A dure............
000110: 0D 0A 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 20 ........
000120: 43 52 54 20 53 63 72 65 65 6E 20 66 6F 72 6D 61 CRT Screen forma
000130: 74 74 65 64 20 62 79 20 43 55 53 54 4D 41 50 20 tted by CUSTMAP
000140: 65 78 74 65 72 6E 61 6C 20 70 72 6F 63 65 64 75 external procedu
000150: 72 65 0D 0A 20 20 20 20 20 20 2D 2D 2D 2D 2D 2D re.. ------
000160: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
000170: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
000180: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
000190: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 0D 0A 20 20 20 -----------..
0001A0: 20 20 20 21 20 20 20 20 20 20 20 20 20 20 20 20 !
0001B0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
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 20 20 20 20 20 20 20 20
0001E0: 20 20 20 21 0D 0A 20 20 20 20 20 20 21 20 20 2D !.. ! -
0001F0: 2D 2D 2D 2D 2D 2D 2D 2D 2D 20 43 55 53 54 4F 4D --------- CUSTOM
Size : 512 (Real : 512)
000000: 20 46 49 45 4C 44 20 3D 20 31 32 2C 35 2C 41 44 FIELD = 12,5,AD
000010: 44 52 45 53 53 0D 0A 0D 0A 20 20 20 20 20 20 4C DRESS.... L
000020: 49 54 45 52 41 4C 20 3D 20 35 2C 37 2C 27 43 69 ITERAL = 5,7,'Ci
000030: 74 79 20 27 0D 0A 20 20 20 20 20 20 46 49 45 4C ty '.. FIEL
000040: 44 20 3D 20 31 32 2C 37 2C 43 49 54 59 0D 0A 0D D = 12,7,CITY...
000050: 0A 20 20 20 20 20 20 4C 49 54 45 52 41 4C 20 3D . LITERAL =
000060: 20 31 35 2C 31 34 2C 27 42 61 6C 61 6E 63 65 20 15,14,'Balance
000070: 24 27 0D 0A 20 20 20 20 20 20 46 49 45 4C 44 20 $'.. FIELD
000080: 3D 20 31 35 2C 31 34 2C 42 41 4C 41 4E 43 45 3A = 15,14,BALANCE:
000090: 38 3A 32 0D 0A 0D 0A 20 20 20 20 20 20 43 55 52 8:2.... CUR
0000A0: 53 4F 52 20 3D 20 30 2C 32 32 0D 0A 20 20 20 20 SOR = 0,22..
0000B0: 20 20 45 4E 44 0D 0A 0D 0A 20 20 20 20 20 20 46 END.... F
0000C0: 69 6C 65 20 43 55 53 54 4D 41 50 2E 50 41 53 0D ile CUSTMAP.PAS.
0000D0: 0A 20 20 20 20 20 20 50 61 73 63 61 6C 20 65 78 . Pascal ex
0000E0: 74 65 72 6E 61 6C 20 70 72 6F 63 65 64 75 72 65 ternal procedure
0000F0: 20 67 65 6E 65 72 61 74 65 64 20 62 79 20 43 52 generated by CR
000100: 54 4D 41 50 20 75 74 69 6C 69 74 79 0D 0A 0D 0A TMAP utility....
000110: 20 20 20 20 20 20 7B 20 43 52 54 4D 41 50 20 67 { CRTMAP g
000120: 65 6E 65 72 61 74 65 64 20 65 78 74 65 72 6E 61 enerated externa
000130: 6C 20 70 72 6F 63 65 64 75 72 65 20 7D 0D 0A 20 l procedure }..
000140: 20 20 20 20 20 65 78 74 65 72 6E 0D 0A 0D 0A 20 extern....
000150: 20 20 20 20 20 74 79 70 65 0D 0A 20 20 20 20 20 type..
000160: 20 25 69 6E 63 6C 75 64 65 20 28 27 43 55 53 54 %include ('CUST
000170: 4F 4D 45 52 2E 50 41 53 20 20 20 20 27 29 0D 0A OMER.PAS ')..
000180: 0D 0A 20 20 20 20 20 20 70 72 6F 63 65 64 75 72 .. procedur
000190: 65 20 43 55 53 54 4D 41 50 20 20 20 20 20 20 20 e CUSTMAP
0001A0: 20 20 28 20 76 61 72 20 72 20 3A 20 43 55 53 54 ( var r : CUST
0001B0: 20 20 20 20 20 20 20 20 20 20 20 20 29 3B 0D 0A );..
0001C0: 0D 0A 20 20 20 20 20 20 70 72 6F 63 65 64 75 72 .. procedur
0001D0: 65 20 63 6C 65 61 72 3B 0D 0A 20 20 20 20 20 20 e clear;..
0001E0: 62 65 67 69 6E 0D 0A 20 20 20 20 20 20 77 72 69 begin.. wri
0001F0: 74 65 28 63 68 72 28 32 37 29 2C 27 2A 27 29 3B te(chr(27),'*');
Size : 512 (Real : 512)
000000: 45 52 20 52 45 43 4F 52 44 20 2D 2D 2D 2D 2D 2D ER RECORD ------
000010: 2D 2D 2D 2D 20 20 20 20 20 20 20 20 20 20 20 20 ----
000020: 20 20 20 20 20 20 20 20 20 20 20 20 21 0D 0A 20 !..
000030: 20 20 20 20 20 21 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 20 20
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 21 0D 0A 20 20 20 20 20 20 21 20 !.. !
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 20 20 20 20 20 20 20 20
0000A0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
0000B0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 21 0D !.
0000C0: 0A 20 20 20 20 20 20 21 20 20 20 20 20 20 20 4E . ! N
0000D0: 61 6D 65 20 20 50 41 53 43 41 4C 2C 20 42 4C 41 ame PASCAL, BLA
0000E0: 49 53 45 20 20 20 20 20 20 20 20 20 20 20 20 20 ISE
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 21 0D 0A 20 20 20 20 20 20 !..
000110: 21 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 !
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 20 20 20 20 20 20 20
000140: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
000150: 21 0D 0A 20 20 20 20 20 20 21 20 20 20 20 20 20 !.. !
000160: 20 41 64 64 72 20 20 37 37 37 20 52 55 45 20 44 Addr 777 RUE D
000170: 27 41 52 47 45 4E 54 20 20 20 20 20 20 20 20 20 'ARGENT
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 20 20 21 0D 0A 20 20 20 20 !..
0001A0: 20 20 21 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 20 20 20 20 20
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 20 20 20 20 20 20 20 20
0001E0: 20 20 21 0D 0A 20 20 20 20 20 20 21 20 20 20 20 !.. !
0001F0: 20 20 20 43 69 74 79 20 20 50 41 52 49 53 20 20 City PARIS
Size : 512 (Real : 512)
000000: 0D 0A 20 20 20 20 20 20 65 6E 64 3B 0D 0A 0D 0A .. end;....
000010: 20 20 20 20 20 20 70 72 6F 63 65 64 75 72 65 20 procedure
000020: 67 6F 74 6F 78 79 20 28 20 78 2C 79 20 3A 20 69 gotoxy ( x,y : i
000030: 6E 74 65 67 65 72 20 29 3B 0D 0A 20 20 20 20 20 nteger );..
000040: 20 62 65 67 69 6E 0D 0A 20 20 20 20 20 20 77 72 begin.. wr
000050: 69 74 65 28 63 68 72 28 32 37 29 2C 27 3D 27 2C ite(chr(27),'=',
000060: 63 68 72 28 79 2B 32 30 68 29 2C 63 68 72 28 78 chr(y+20h),chr(x
000070: 2B 32 30 68 29 29 3B 0D 0A 20 20 20 20 20 20 65 +20h));.. e
000080: 6E 64 3B 0D 0A 0D 0A 20 20 20 20 20 20 70 72 6F nd;.... pro
000090: 63 65 64 75 72 65 20 64 69 73 70 6C 61 79 3B 0D cedure display;.
0000A0: 0A 20 20 20 20 20 20 62 65 67 69 6E 0D 0A 20 20 . begin..
0000B0: 20 20 20 20 63 6C 65 61 72 3B 0D 0A 20 20 20 20 clear;..
0000C0: 20 20 67 6F 74 6F 78 79 28 20 30 20 20 20 20 20 gotoxy( 0
0000D0: 20 20 20 20 20 20 20 20 20 20 2C 30 20 20 20 20 ,0
0000E0: 20 20 20 20 20 20 20 20 20 20 20 29 3B 0D 0A 20 );..
0000F0: 20 20 20 20 20 77 72 69 74 65 28 27 2D 2D 2D 2D write('----
000100: 2D 2D 2D 2D 2D 2D 20 43 55 53 54 4F 4D 45 52 20 ------ CUSTOMER
000110: 52 45 43 4F 52 44 20 2D 2D 2D 2D 2D 2D 2D 2D 2D RECORD ---------
000120: 2D 27 29 3B 0D 0A 20 20 20 20 20 20 67 6F 74 6F -');.. goto
000130: 78 79 28 20 35 20 20 20 20 20 20 20 20 20 20 20 xy( 5
000140: 20 20 20 20 2C 33 20 20 20 20 20 20 20 20 20 20 ,3
000150: 20 20 20 20 20 29 3B 0D 0A 20 20 20 20 20 20 77 );.. w
000160: 72 69 74 65 28 27 4E 61 6D 65 20 27 29 3B 0D 0A rite('Name ');..
000170: 20 20 20 20 20 20 67 6F 74 6F 78 79 28 20 31 32 gotoxy( 12
000180: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2C 33 ,3
000190: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 29 )
0001A0: 3B 0D 0A 20 20 20 20 20 20 77 72 69 74 65 28 20 ;.. write(
0001B0: 72 2C 4E 41 4D 45 20 20 20 20 20 20 20 20 20 20 r,NAME
0001C0: 20 20 29 3B 0D 0A 20 20 20 20 20 20 67 6F 74 6F );.. goto
0001D0: 78 79 28 20 35 20 20 20 20 20 20 20 20 20 20 20 xy( 5
0001E0: 20 20 20 20 2C 35 20 20 20 20 20 20 20 20 20 20 ,5
0001F0: 20 20 20 20 20 29 3B 0D 0A 20 20 20 20 20 20 77 );.. w
Size : 512 (Real : 512)
000000: 61 62 65 6C 20 39 39 3B 0D 0A 30 30 39 31 20 20 abel 99;..0091
000010: 30 30 34 37 3A 20 20 20 20 20 76 61 72 0D 0A 30 0047: var..0
000020: 30 39 31 20 20 30 30 34 37 3A 20 20 20 20 20 69 091 0047: i
000030: 20 3A 20 69 6E 74 65 67 65 72 3B 0D 0A 30 30 39 : integer;..009
000040: 34 20 20 30 30 34 38 3A 20 20 20 20 20 62 65 67 4 0048: beg
000050: 69 6E 0D 0A 30 30 39 44 20 20 30 30 34 39 3A 20 in..009D 0049:
000060: 20 20 20 20 77 6F 72 64 20 3A 3D 20 27 20 27 3B word := ' ';
000070: 0D 0A 30 30 41 43 20 20 30 30 35 30 3A 20 20 20 ..00AC 0050:
000080: 20 20 77 68 69 6C 65 20 6E 6F 74 20 28 63 68 20 while not (ch
000090: 69 6E 20 61 6C 70 68 61 6D 65 72 69 63 29 20 64 in alphameric) d
0000A0: 6F 0D 0A 30 30 41 43 20 20 30 30 35 31 3A 20 20 o..00AC 0051:
0000B0: 20 20 20 20 20 20 20 20 20 20 20 62 65 67 69 6E begin
0000C0: 0D 0A 30 30 42 31 20 20 30 30 35 32 3A 20 20 20 ..00B1 0052:
0000D0: 20 20 20 20 20 20 20 20 20 20 67 65 74 5F 63 68 get_ch
0000E0: 61 72 3B 0D 0A 30 30 42 34 20 20 30 30 35 33 3A ar;..00B4 0053:
0000F0: 20 20 20 20 20 20 20 20 20 20 20 20 20 65 6E 64 end
000100: 3B 0D 0A 30 30 43 34 20 20 30 30 35 34 3A 20 20 ;..00C4 0054:
000110: 20 20 20 77 6F 72 64 5B 31 5D 20 3A 3D 20 63 68 word[1] := ch
000120: 3B 0D 0A 30 30 43 39 20 20 30 30 35 35 3A 20 20 ;..00C9 0055:
000130: 20 20 20 69 20 3A 3D 20 32 3B 0D 0A 30 30 43 45 i := 2;..00CE
000140: 20 20 30 30 35 36 3A 20 20 20 20 20 67 65 74 5F 0056: get_
000150: 63 68 61 72 3B 0D 0A 30 30 44 43 20 20 30 30 35 char;..00DC 005
000160: 37 3A 20 20 20 20 20 77 68 69 6C 65 20 28 63 68 7: while (ch
000170: 20 69 6E 20 61 6C 70 68 61 6D 65 72 69 63 29 20 in alphameric)
000180: 64 6F 0D 0A 30 30 44 43 20 20 30 30 35 38 3A 20 do..00DC 0058:
000190: 20 20 20 20 20 20 20 20 20 20 20 20 62 65 67 69 begi
0001A0: 6E 0D 0A 30 30 45 46 20 20 30 30 35 39 3A 20 20 n..00EF 0059:
0001B0: 20 20 20 20 20 20 20 20 20 20 20 77 6F 72 64 5B word[
0001C0: 69 5D 20 3A 3D 20 63 68 3B 0D 0A 30 30 46 39 20 i] := ch;..00F9
0001D0: 20 30 30 36 30 3A 20 20 20 20 20 20 20 20 20 20 0060:
0001E0: 20 20 20 69 20 3A 3D 20 69 20 2B 20 31 3B 0D 0A i := i + 1;..
0001F0: 30 30 46 45 20 20 30 30 36 31 3A 20 20 20 20 20 00FE 0061:
Size : 512 (Real : 512)
000000: 72 69 74 65 28 27 41 64 64 72 20 27 29 3B 0D 0A rite('Addr ');..
000010: 20 20 20 20 20 20 67 6F 74 6F 78 79 28 20 31 32 gotoxy( 12
000020: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2C 35 ,5
000030: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 29 )
000040: 3B 0D 0A 20 20 20 20 20 20 77 72 69 74 65 28 20 ;.. write(
000050: 72 2C 41 44 44 52 45 53 53 20 20 20 20 20 20 20 r,ADDRESS
000060: 20 20 29 3B 0D 0A 20 20 20 20 20 20 67 6F 74 6F );.. goto
000070: 78 79 28 20 35 20 20 20 20 20 20 20 20 20 20 20 xy( 5
000080: 20 20 20 20 2C 37 20 20 20 20 20 20 20 20 20 20 ,7
000090: 20 20 20 20 20 29 3B 0D 0A 20 20 20 20 20 20 77 );.. w
0000A0: 72 69 74 65 28 27 43 69 74 79 20 27 29 3B 0D 0A rite('City ');..
0000B0: 20 20 20 20 20 20 67 6F 74 6F 78 79 28 20 31 32 gotoxy( 12
0000C0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2C 37 ,7
0000D0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 29 )
0000E0: 3B 0D 0A 20 20 20 20 20 20 77 72 69 74 65 28 20 ;.. write(
0000F0: 72 2C 43 49 54 59 20 20 20 20 20 20 20 20 20 20 r,CITY
000100: 20 20 29 3B 0D 0A 20 20 20 20 20 20 67 6F 74 6F );.. goto
000110: 78 79 28 20 35 20 20 20 20 20 20 20 20 20 20 20 xy( 5
000120: 20 20 20 20 2C 31 34 20 20 20 20 20 20 20 20 20 ,14
000130: 20 20 20 20 20 29 3B 0D 0A 20 20 20 20 20 20 77 );.. w
000140: 72 69 74 65 28 27 42 61 6C 61 6E 63 65 20 24 27 rite('Balance $'
000150: 29 3B 0D 0A 20 20 20 20 20 20 67 6F 74 6F 78 79 );.. gotoxy
000160: 28 20 31 35 20 20 20 20 20 20 20 20 20 20 20 20 ( 15
000170: 20 20 2C 31 34 20 20 20 20 20 20 20 20 20 20 20 ,14
000180: 20 20 20 29 3B 0D 0A 20 20 20 20 20 20 77 72 69 );.. wri
000190: 74 65 28 20 72 2C 42 41 4C 41 4E 43 45 3A 38 3A te( r,BALANCE:8:
0001A0: 32 20 20 20 20 20 29 3B 0D 0A 20 20 20 20 20 20 2 );..
0001B0: 67 6F 74 6F 78 79 28 20 30 20 20 20 20 20 20 20 gotoxy( 0
0001C0: 20 20 20 20 20 20 20 20 2C 32 32 20 20 20 20 20 ,22
0001D0: 20 20 20 20 20 20 20 20 20 29 3B 0D 0A 20 20 20 );..
0001E0: 20 20 20 65 6E 64 3B 0D 0A 0D 0A 20 20 20 20 20 end;....
0001F0: 20 62 65 67 69 6E 0D 0A 20 20 20 20 20 20 64 69 begin.. di
Size : 512 (Real : 512)
000000: 20 20 20 20 20 20 20 20 67 65 74 5F 63 68 61 72 get_char
000010: 3B 0D 0A 30 31 30 31 20 20 30 30 36 32 3A 20 20 ;..0101 0062:
000020: 20 20 20 20 20 20 20 20 20 20 20 65 6E 64 3B 0D end;.
000030: 0A 30 31 30 45 20 20 30 30 36 33 3A 20 20 20 20 .010E 0063:
000040: 20 77 6F 72 64 20 3A 3D 20 75 70 63 61 73 65 28 word := upcase(
000050: 77 6F 72 64 29 3B 0D 0A 30 31 30 46 20 20 30 30 word);..010F 00
000060: 36 34 3A 20 20 20 20 20 65 6E 64 3B 20 7B 67 65 64: end; {ge
000070: 74 5F 77 6F 72 64 7D 0D 0A 30 31 30 46 20 20 30 t_word}..010F 0
000080: 30 36 35 3A 0D 0A 30 31 30 46 20 20 30 30 36 36 065:..010F 0066
000090: 3A 0D 0A 30 31 30 46 20 20 30 30 36 37 3A 20 20 :..010F 0067:
0000A0: 20 20 20 70 72 6F 63 65 64 75 72 65 20 69 6E 69 procedure ini
0000B0: 74 3B 0D 0A 30 31 31 35 20 20 30 30 36 38 3A 20 t;..0115 0068:
0000C0: 20 20 20 20 62 65 67 69 6E 0D 0A 30 31 32 43 20 begin..012C
0000D0: 20 30 30 36 39 3A 20 20 20 20 20 77 72 69 74 65 0069: write
0000E0: 6C 6E 28 27 43 52 54 4D 41 50 20 20 76 65 72 20 ln('CRTMAP ver
0000F0: 33 2E 30 27 29 3B 0D 0A 30 31 33 30 20 20 30 30 3.0');..0130 00
000100: 37 30 3A 20 20 20 20 20 77 72 69 74 65 6C 6E 3B 70: writeln;
000110: 0D 0A 30 31 35 37 20 20 30 30 37 31 3A 20 20 20 ..0157 0071:
000120: 20 20 77 72 69 74 65 28 27 6E 61 6D 65 20 6F 66 write('name of
000130: 20 4D 61 70 20 44 65 73 72 69 70 74 69 6F 6E 20 Map Desription
000140: 46 69 6C 65 20 3A 20 27 29 3B 0D 0A 30 31 36 30 File : ');..0160
000150: 20 20 30 30 37 32 3A 20 20 20 20 20 72 65 61 64 0072: read
000160: 6C 6E 28 6D 61 70 5F 66 69 6C 65 5F 6E 61 6D 65 ln(map_file_name
000170: 29 3B 0D 0A 30 31 36 34 20 20 30 30 37 33 3A 20 );..0164 0073:
000180: 20 20 20 20 77 72 69 74 65 6C 6E 3B 0D 0A 30 31 writeln;..01
000190: 36 38 20 20 30 30 37 34 3A 20 20 20 20 20 77 72 68 0074: wr
0001A0: 69 74 65 6C 6E 3B 0D 0A 30 31 37 37 20 20 30 30 iteln;..0177 00
0001B0: 37 35 3A 20 20 20 20 20 72 65 73 65 74 28 66 31 75: reset(f1
0001C0: 2C 6D 61 70 5F 66 69 6C 65 5F 6E 61 6D 65 2C 62 ,map_file_name,b
0001D0: 69 6E 61 72 79 2C 32 35 36 29 3B 0D 0A 30 31 37 inary,256);..017
0001E0: 43 20 20 30 30 37 36 3A 20 20 20 20 20 65 6E 64 C 0076: end
0001F0: 5F 6F 66 5F 66 69 6C 65 20 3A 3D 20 66 61 6C 73 _of_file := fals
Size : 512 (Real : 512)
000000: 73 70 6C 61 79 3B 0D 0A 20 20 20 20 20 20 65 6E splay;.. en
000010: 64 3B 2E 0D 0A 0D 0A 20 20 20 20 20 20 20 20 20 d;.....
000020: 20 20 20 20 20 20 20 2D 2D 2D 2D 2D 20 43 52 54 ----- CRT
000030: 20 4D 61 70 70 69 6E 67 20 55 74 69 6C 69 74 79 Mapping Utility
000040: 20 2D 2D 2D 2D 2D 0D 0A 0D 0A 30 30 30 30 20 20 -----....0000
000050: 30 30 30 32 3A 20 20 20 20 20 25 70 61 67 65 28 0002: %page(
000060: 35 30 29 0D 0A 30 30 30 30 20 20 30 30 30 33 3A 50)..0000 0003:
000070: 0D 0A 30 30 30 30 20 20 30 30 30 34 3A 20 20 20 ..0000 0004:
000080: 20 20 7B 20 54 68 69 73 20 76 65 72 73 69 6F 6E { This version
000090: 20 73 65 74 75 70 20 66 6F 72 20 54 65 6C 65 76 setup for Telev
0000A0: 69 64 65 6F 20 74 65 72 6D 69 6E 61 6C 73 2E 20 ideo terminals.
0000B0: 54 6F 20 61 64 61 70 74 20 74 6F 20 6F 74 68 0D To adapt to oth.
0000C0: 0A 30 30 30 30 20 20 30 30 30 35 3A 20 20 20 20 .0000 0005:
0000D0: 20 74 65 72 6D 69 6E 61 6C 73 20 6D 6F 64 69 66 terminals modif
0000E0: 79 20 50 52 4F 43 45 44 55 52 45 20 50 41 52 54 y PROCEDURE PART
0000F0: 32 20 77 68 69 63 68 20 67 65 6E 65 72 61 74 65 2 which generate
000100: 73 20 74 68 65 20 63 75 72 73 6F 72 0D 0A 30 30 s the cursor..00
000110: 30 30 20 20 30 30 30 36 3A 20 20 20 20 20 70 6F 00 0006: po
000120: 73 69 74 69 6F 6E 69 6E 67 20 28 67 6F 74 6F 78 sitioning (gotox
000130: 79 29 20 61 6E 64 20 63 6C 65 61 72 20 73 63 72 y) and clear scr
000140: 65 65 6E 20 28 63 6C 65 61 72 29 20 63 6F 64 65 een (clear) code
000150: 73 2E 20 7D 0D 0A 30 30 30 30 20 20 30 30 30 37 s. }..0000 0007
000160: 3A 0D 0A 30 30 30 30 20 20 30 30 30 38 3A 20 20 :..0000 0008:
000170: 20 20 20 70 72 6F 67 72 61 6D 20 63 72 74 6D 61 program crtma
000180: 70 3B 0D 0A 30 30 30 30 20 20 30 30 30 39 3A 0D p;..0000 0009:.
000190: 0A 30 30 30 33 20 20 30 30 31 30 3A 20 20 20 20 .0003 0010:
0001A0: 20 74 79 70 65 0D 0A 30 30 31 30 20 20 30 30 31 type..0010 001
0001B0: 31 3A 20 20 20 20 20 63 68 61 72 31 36 20 3D 20 1: char16 =
0001C0: 61 72 72 61 79 20 5B 31 2E 2E 31 36 5D 20 6F 66 array [1..16] of
0001D0: 20 63 68 61 72 3B 0D 0A 30 30 31 30 20 20 30 30 char;..0010 00
0001E0: 31 32 3A 0D 0A 30 30 31 30 20 20 30 30 31 33 3A 12:..0010 0013:
0001F0: 20 20 20 20 20 76 61 72 0D 0A 30 30 31 30 20 20 var..0010
Size : 512 (Real : 512)
000000: 65 3B 0D 0A 30 31 38 35 20 20 30 30 37 37 3A 20 e;..0185 0077:
000010: 20 20 20 20 63 68 20 3A 3D 20 27 20 27 3B 0D 0A ch := ' ';..
000020: 30 31 41 37 20 20 30 30 37 38 3A 20 20 20 20 20 01A7 0078:
000030: 61 6C 70 68 61 6D 65 72 69 63 20 3A 3D 20 5B 27 alphameric := ['
000040: 41 27 2E 2E 27 5A 27 2C 27 61 27 2E 2E 27 7A 27 A'..'Z','a'..'z'
000050: 2C 27 30 27 2E 2E 27 39 27 2C 27 3A 27 2C 27 2E ,'0'..'9',':','.
000060: 27 5D 3B 0D 0A 30 31 41 43 20 20 30 30 37 39 3A '];..01AC 0079:
000070: 20 20 20 20 20 67 65 74 5F 77 6F 72 64 3B 0D 0A get_word;..
000080: 30 31 45 31 20 20 30 30 38 30 3A 20 20 20 20 20 01E1 0080:
000090: 69 66 20 77 6F 72 64 20 3C 3E 20 27 45 58 50 52 if word <> 'EXPR
0000A0: 4F 43 27 20 74 68 65 6E 20 65 72 72 6F 72 28 27 OC' then error('
0000B0: 45 58 50 52 4F 43 20 63 6F 6D 6D 61 6E 64 20 65 EXPROC command e
0000C0: 78 70 65 63 74 65 64 27 29 3B 0D 0A 30 31 45 36 xpected');..01E6
0000D0: 20 20 30 30 38 31 3A 20 20 20 20 20 67 65 74 5F 0081: get_
0000E0: 77 6F 72 64 3B 0D 0A 30 31 46 32 20 20 30 30 38 word;..01F2 008
0000F0: 32 3A 20 20 20 20 20 65 78 70 72 6F 63 5F 6E 61 2: exproc_na
000100: 6D 65 20 3A 3D 20 77 6F 72 64 3B 0D 0A 30 32 30 me := word;..020
000110: 41 20 20 30 30 38 33 3A 20 20 20 20 20 72 65 77 A 0083: rew
000120: 72 69 74 65 28 66 32 2C 20 65 78 70 72 6F 63 5F rite(f2, exproc_
000130: 6E 61 6D 65 20 2B 20 27 2E 70 61 73 27 2C 20 62 name + '.pas', b
000140: 69 6E 61 72 79 2C 20 32 35 36 29 3B 0D 0A 30 32 inary, 256);..02
000150: 30 46 20 20 30 30 38 34 3A 20 20 20 20 20 67 65 0F 0084: ge
000160: 74 5F 77 6F 72 64 3B 0D 0A 30 32 34 36 20 20 30 t_word;..0246 0
000170: 30 38 35 3A 20 20 20 20 20 69 66 20 77 6F 72 64 085: if word
000180: 20 3C 3E 20 27 49 4E 43 4C 55 44 45 27 20 74 68 <> 'INCLUDE' th
000190: 65 6E 20 65 72 72 6F 72 28 27 49 4E 43 4C 55 44 en error('INCLUD
0001A0: 45 27 20 63 6F 6D 6D 61 6E 64 20 65 78 70 65 63 E' command expec
0001B0: 74 65 64 27 29 3B 0D 0A 30 32 34 42 20 20 30 30 ted');..024B 00
0001C0: 38 36 3A 20 20 20 20 20 67 65 74 5F 77 6F 72 64 86: get_word
0001D0: 3B 0D 0A 30 32 35 37 20 20 30 30 38 37 3A 20 20 ;..0257 0087:
0001E0: 20 20 20 69 6E 63 6C 75 64 65 5F 6E 61 6D 65 20 include_name
0001F0: 3A 3D 20 77 6F 72 64 3B 0D 0A 30 32 35 43 20 20 := word;..025C
Size : 512 (Real : 512)
000000: 30 30 31 34 3A 20 20 20 20 20 63 68 20 3A 20 63 0014: ch : c
000010: 68 61 72 3B 0D 0A 30 30 31 30 20 20 30 30 31 35 har;..0010 0015
000020: 3A 20 20 20 20 20 61 6C 70 68 61 6D 65 72 69 63 : alphameric
000030: 20 3A 20 73 65 74 20 6F 66 20 63 68 61 72 3B 0D : set of char;.
000040: 0A 30 30 31 30 20 20 30 30 31 36 3A 20 20 20 20 .0010 0016:
000050: 20 65 6E 64 5F 6F 66 5F 66 69 6C 65 20 3A 20 62 end_of_file : b
000060: 6F 6F 6C 65 61 6E 3B 0D 0A 30 30 31 30 20 20 30 oolean;..0010 0
000070: 30 31 37 3A 20 20 20 20 20 6D 61 70 5F 66 69 6C 017: map_fil
000080: 65 5F 6E 61 6D 65 20 3A 20 73 74 72 69 6E 67 5B e_name : string[
000090: 31 35 5D 3B 0D 0A 30 30 31 30 20 20 30 30 31 38 15];..0010 0018
0000A0: 3A 20 20 20 20 20 77 6F 72 64 20 3A 20 63 68 61 : word : cha
0000B0: 72 31 36 3B 0D 0A 30 30 31 30 20 20 30 30 31 39 r16;..0010 0019
0000C0: 3A 20 20 20 20 20 65 78 70 72 6F 63 5F 6E 61 6D : exproc_nam
0000D0: 65 20 3A 20 63 68 61 72 31 36 3B 0D 0A 30 30 31 e : char16;..001
0000E0: 30 20 20 30 30 32 30 3A 20 20 20 20 20 69 6E 63 0 0020: inc
0000F0: 6C 75 64 65 5F 6E 61 6D 65 20 3A 20 63 68 61 72 lude_name : char
000100: 31 36 3B 0D 0A 30 30 31 30 20 20 30 30 32 31 3A 16;..0010 0021:
000110: 20 20 20 20 20 72 65 63 6F 72 64 5F 6E 61 6D 65 record_name
000120: 20 3A 20 63 68 61 72 31 36 3B 0D 0A 30 30 31 30 : char16;..0010
000130: 20 20 30 30 32 32 3A 20 20 20 20 20 66 31 2C 20 0022: f1,
000140: 66 32 20 3A 20 66 69 6C 65 20 6F 66 20 63 68 61 f2 : file of cha
000150: 72 3B 0D 0A 30 30 31 30 20 20 30 30 32 33 3A 0D r;..0010 0023:.
000160: 0A 30 30 31 30 20 20 30 30 32 34 3A 0D 0A 30 30 .0010 0024:..00
000170: 31 30 20 20 30 30 32 35 3A 20 20 20 20 20 70 72 10 0025: pr
000180: 6F 63 65 64 75 72 65 20 65 72 72 6F 72 20 28 20 ocedure error (
000190: 6D 73 67 20 3A 20 73 74 72 69 6E 67 5B 34 30 5D msg : string[40]
0001A0: 20 29 3B 0D 0A 30 30 31 33 20 20 30 30 32 36 3A );..0013 0026:
0001B0: 20 20 20 20 20 76 61 72 0D 0A 30 30 31 33 20 20 var..0013
0001C0: 30 30 32 37 3A 20 20 20 20 20 64 75 6D 6D 79 20 0027: dummy
0001D0: 3A 20 63 68 61 72 31 36 3B 0D 0A 30 30 31 36 20 : char16;..0016
0001E0: 20 30 30 32 38 3A 20 20 20 20 20 62 65 67 69 6E 0028: begin
0001F0: 0D 0A 30 30 31 41 20 20 30 30 32 39 3A 20 20 20 ..001A 0029:
Size : 512 (Real : 512)
000000: 30 30 38 38 3A 20 20 20 20 20 67 65 74 5F 77 6F 0088: get_wo
000010: 72 64 3B 0D 0A 30 32 39 31 20 20 30 30 38 39 3A rd;..0291 0089:
000020: 20 20 20 20 20 69 66 20 77 6F 72 64 20 3C 3E 20 if word <>
000030: 27 52 45 43 4F 52 44 27 20 74 68 65 6E 20 65 72 'RECORD' then er
000040: 72 6F 72 28 27 52 45 43 4F 52 44 27 20 63 6F 6D ror('RECORD' com
000050: 6D 61 6E 64 20 65 78 70 65 63 74 65 64 27 29 3B mand expected');
000060: 0D 0A 30 32 39 36 20 20 30 30 39 30 3A 20 20 20 ..0296 0090:
000070: 20 20 67 65 74 5F 77 6F 72 64 3B 0D 0A 30 32 41 get_word;..02A
000080: 32 20 20 30 30 39 31 3A 20 20 20 20 20 72 65 63 2 0091: rec
000090: 6F 72 64 5F 6E 61 6D 65 20 3A 3D 20 77 6F 72 64 ord_name := word
0000A0: 3B 0D 0A 30 32 41 33 20 20 30 30 39 32 3A 20 20 ;..02A3 0092:
0000B0: 20 20 20 65 6E 64 3B 20 7B 69 6E 69 74 7D 0D 0A end; {init}..
0000C0: 30 32 41 33 20 20 30 30 39 33 3A 0D 0A 30 32 41 02A3 0093:..02A
0000D0: 33 20 20 30 30 39 34 3A 0D 0A 30 32 41 33 20 20 3 0094:..02A3
0000E0: 30 30 39 35 3A 20 20 20 20 20 70 72 6F 63 65 64 0095: proced
0000F0: 75 72 65 20 70 61 72 74 31 3B 0D 0A 30 32 41 39 ure part1;..02A9
000100: 20 20 30 30 39 36 3A 20 20 20 20 20 62 65 67 69 0096: begi
000110: 6E 0D 0A 30 32 44 46 20 20 30 30 39 37 3A 20 20 n..02DF 0097:
000120: 20 20 20 77 72 69 74 65 6C 6E 28 66 32 3B 20 27 writeln(f2; '
000130: 7B 43 52 54 4D 41 50 20 67 65 6E 65 72 61 74 65 {CRTMAP generate
000140: 64 20 65 78 74 65 72 6E 61 6C 20 70 72 6F 63 65 d external proce
000150: 64 75 72 65 20 7D 27 29 3B 0D 0A 30 32 46 34 20 dure }');..02F4
000160: 20 30 30 39 38 3A 20 20 20 20 20 77 72 69 74 65 0098: write
000170: 6C 6E 28 66 32 3B 20 27 65 78 74 65 72 6E 27 29 ln(f2; 'extern')
000180: 3B 0D 0A 30 32 46 46 20 20 30 30 39 39 3A 20 20 ;..02FF 0099:
000190: 20 20 20 77 72 69 74 65 6C 6E 28 66 32 29 3B 0D writeln(f2);.
0001A0: 0A 30 33 31 32 20 20 30 31 30 30 3A 20 20 20 20 .0312 0100:
0001B0: 20 77 72 69 74 65 6C 6E 28 66 32 3B 20 27 74 79 writeln(f2; 'ty
0001C0: 70 65 27 29 3B 0D 0A 30 33 33 43 20 20 30 31 30 pe');..033C 010
0001D0: 31 3A 20 20 20 20 20 77 72 69 74 65 6C 6E 28 66 1: writeln(f
0001E0: 32 3B 20 27 25 69 6E 63 6C 75 64 65 20 28 27 27 2; '%include (''
0001F0: 27 2C 69 6E 63 6C 75 64 65 5F 6E 61 6D 65 2C 27 ',include_name,'
Size : 512 (Real : 512)
000000: 20 20 77 72 69 74 65 6C 6E 3B 0D 0A 30 30 31 45 writeln;..001E
000010: 20 20 30 30 33 30 3A 20 20 20 20 20 77 72 69 74 0030: writ
000020: 65 6C 6E 3B 0D 0A 30 30 32 38 20 20 30 30 33 31 eln;..0028 0031
000030: 3A 20 20 20 20 20 77 72 69 74 65 6C 6E 28 6D 73 : writeln(ms
000040: 67 29 3B 0D 0A 30 30 32 43 20 20 30 30 33 32 3A g);..002C 0032:
000050: 20 20 20 20 20 77 72 69 74 65 6C 6E 3B 0D 0A 30 writeln;..0
000060: 30 32 43 20 20 30 30 33 33 3A 20 20 20 20 20 7B 02C 0033: {
000070: 20 61 62 6E 6F 72 6D 61 6C 6C 79 20 74 65 72 6D abnormally term
000080: 69 6E 61 74 65 20 2D 20 72 65 74 75 72 6E 20 74 inate - return t
000090: 6F 20 43 50 2F 4D 20 7D 0D 0A 30 30 33 34 20 20 o CP/M }..0034
0000A0: 30 30 33 34 3A 20 20 20 20 20 63 61 6C 6C 28 30 0034: call(0
0000B0: 2C 64 75 6D 6D 79 2C 64 75 6D 6D 79 29 3B 0D 0A ,dummy,dummy);..
0000C0: 30 30 33 35 20 20 30 30 33 35 3A 20 20 20 20 20 0035 0035:
0000D0: 65 6E 64 3B 0D 0A 30 30 33 35 20 20 30 30 33 36 end;..0035 0036
0000E0: 3A 0D 0A 30 30 33 35 20 20 30 30 33 37 3A 20 20 :..0035 0037:
0000F0: 20 20 20 70 72 6F 63 65 64 75 72 65 20 67 65 74 procedure get
000100: 5F 63 68 61 72 3B 0D 0A 30 30 33 42 20 20 30 30 _char;..003B 00
000110: 33 38 3A 20 20 20 20 20 62 65 67 69 6E 0D 0A 30 38: begin..0
000120: 30 34 43 20 20 30 30 33 39 3A 20 20 20 20 20 72 04C 0039: r
000130: 65 61 64 28 66 31 3B 20 63 68 29 3B 0D 0A 30 30 ead(f1; ch);..00
000140: 38 31 20 20 30 30 34 30 3A 20 20 20 20 20 69 66 81 0040: if
000150: 20 63 68 20 3D 20 63 68 72 28 31 61 68 29 20 74 ch = chr(1ah) t
000160: 68 65 6E 20 65 72 72 6F 72 28 27 50 72 65 6D 61 hen error('Prema
000170: 74 75 72 65 20 65 6E 64 20 6F 66 20 69 6E 70 75 ture end of inpu
000180: 74 20 66 69 6C 65 27 29 3B 0D 0A 30 30 38 44 20 t file');..008D
000190: 20 30 30 34 31 3A 20 20 20 20 20 77 72 69 74 65 0041: write
0001A0: 28 63 68 29 3B 0D 0A 30 30 38 45 20 20 30 30 34 (ch);..008E 004
0001B0: 32 3A 20 20 20 20 20 65 6E 64 3B 0D 0A 30 30 38 2: end;..008
0001C0: 45 20 20 30 30 34 33 3A 0D 0A 30 30 38 45 20 20 E 0043:..008E
0001D0: 30 30 34 34 3A 20 20 20 20 20 70 72 6F 63 65 64 0044: proced
0001E0: 75 72 65 20 67 65 74 5F 77 6F 72 64 3B 0D 0A 30 ure get_word;..0
0001F0: 30 39 31 20 20 30 30 34 35 3A 20 20 20 20 20 6C 091 0045: l
Size : 512 (Real : 512)
000000: 27 27 29 27 29 3B 0D 0A 30 33 34 37 20 20 30 31 '')');..0347 01
000010: 30 32 3A 20 20 20 20 20 77 72 69 74 65 6C 6E 28 02: writeln(
000020: 66 32 29 3B 0D 0A 30 33 38 36 20 20 30 31 30 33 f2);..0386 0103
000030: 3A 20 20 20 20 20 77 72 69 74 65 6C 6E 28 66 32 : writeln(f2
000040: 3B 20 27 70 72 6F 63 65 64 75 72 65 20 27 2C 65 ; 'procedure ',e
000050: 78 70 72 6F 63 5F 6E 61 6D 65 2C 20 27 28 76 61 xproc_name, '(va
000060: 72 20 72 20 3A 20 27 2E 72 65 63 6F 72 5F 6E 61 r r : '.recor_na
000070: 6D 0D 0A 27 29 3B 27 29 3B 0D 0A 30 33 39 31 20 m..');');..0391
000080: 20 30 31 30 34 3A 20 20 20 20 20 77 72 69 74 65 0104: write
000090: 6C 6E 28 66 32 29 3B 0D 0A 30 33 39 32 20 20 30 ln(f2);..0392 0
0000A0: 31 30 35 3A 20 20 20 20 20 65 6E 64 3B 20 7B 70 105: end; {p
0000B0: 61 72 74 31 7D 0D 0A 30 33 39 32 20 20 30 31 30 art1}..0392 010
0000C0: 36 3A 0D 0A 30 33 39 32 20 20 30 31 30 37 3A 0D 6:..0392 0107:.
0000D0: 0A 30 33 39 32 20 20 30 31 30 38 3A 20 20 20 20 .0392 0108:
0000E0: 20 70 72 6F 63 65 64 75 72 65 20 70 61 72 74 32 procedure part2
0000F0: 3B 0D 0A 30 33 39 38 20 20 30 31 30 39 3A 20 20 ;..0398 0109:
000100: 20 20 20 62 65 67 69 6E 0D 0A 30 33 42 37 20 20 begin..03B7
000110: 30 31 31 30 3A 20 20 20 20 20 77 72 69 74 65 6C 0110: writel
000120: 6E 28 66 32 3B 20 27 70 72 6F 63 65 64 75 72 65 n(f2; 'procedure
000130: 20 63 6C 65 61 72 3B 27 29 3B 0D 0A 30 33 43 42 clear;');..03CB
000140: 20 20 30 31 31 31 3A 20 20 20 20 20 77 72 69 74 0111: writ
000150: 65 6C 6E 28 66 32 3B 20 27 62 65 67 69 6E 27 29 eln(f2; 'begin')
000160: 3B 0D 0A 30 33 45 44 20 20 30 31 31 32 3A 20 20 ;..03ED 0112:
000170: 20 20 20 77 72 69 74 65 6C 6E 28 66 32 3B 20 27 writeln(f2; '
000180: 77 72 69 74 65 28 63 68 72 28 32 37 29 2C 27 27 write(chr(27),''
000190: 2A 27 27 29 3B 27 29 3B 0D 0A 30 34 30 30 20 20 *'');');..0400
0001A0: 30 31 31 33 3A 20 20 20 20 20 77 72 69 74 65 6C 0113: writel
0001B0: 6E 28 66 32 3B 20 27 65 6E 64 3B 27 29 3B 0D 0A n(f2; 'end;');..
0001C0: 30 34 30 42 20 20 30 31 31 34 3A 20 20 20 20 20 040B 0114:
0001D0: 77 72 69 74 65 6C 6E 28 66 32 29 3B 0D 0A 30 34 writeln(f2);..04
0001E0: 33 44 20 20 30 31 31 35 3A 20 20 20 20 20 77 72 3D 0115: wr
0001F0: 69 74 65 6C 6E 28 66 32 3B 20 27 70 72 6F 63 65 iteln(f2; 'proce
Size : 512 (Real : 512)
000000: 0D 0A 30 36 38 34 20 20 30 31 37 30 3A 20 20 20 ..0684 0170:
000010: 20 20 20 20 20 20 20 20 20 20 27 43 55 52 53 4F 'CURSO
000020: 52 27 20 3A 20 70 72 6F 63 65 73 73 5F 63 6F 6F R' : process_coo
000030: 72 64 69 6E 61 74 65 73 3B 0D 0A 30 36 39 36 20 rdinates;..0696
000040: 20 30 31 37 31 3A 20 20 20 20 20 20 20 20 20 20 0171:
000050: 20 20 20 27 45 4E 44 27 20 3A 20 65 6E 64 5F 6F 'END' : end_o
000060: 66 5F 66 69 6C 65 20 3A 3D 20 74 72 75 65 3B 0D f_file := true;.
000070: 0A 30 36 44 33 20 20 30 31 37 32 3A 20 20 20 20 .06D3 0172:
000080: 20 20 20 20 20 20 20 20 20 65 6C 73 65 20 3A 20 else :
000090: 65 72 72 6F 72 28 27 4C 49 54 45 52 41 4C 2C 20 error('LITERAL,
0000A0: 46 49 45 4C 44 2C 20 43 55 52 53 4F 52 2C 20 6F FIELD, CURSOR, o
0000B0: 72 20 45 4E 44 20 63 6F 6D 6D 61 6E 64 20 65 78 r END command ex
0000C0: 0D 0A 63 74 65 64 27 29 3B 0D 0A 30 36 44 34 20 ..cted');..06D4
0000D0: 20 30 31 37 33 3A 20 20 20 20 20 20 20 20 20 20 0173:
0000E0: 20 20 20 65 6E 64 3B 0D 0A 30 36 44 37 20 20 30 end;..06D7 0
0000F0: 31 37 34 3A 20 20 20 20 20 20 20 20 20 20 20 20 174:
000100: 20 65 6E 64 3B 0D 0A 30 36 45 41 20 20 30 31 37 end;..06EA 017
000110: 35 3A 20 20 20 20 20 77 72 69 74 65 6C 6E 28 66 5: writeln(f
000120: 32 3B 20 27 65 6E 64 3B 27 20 29 3B 0D 0A 30 36 2; 'end;' );..06
000130: 46 35 20 20 30 31 37 36 3A 20 20 20 20 20 77 72 F5 0176: wr
000140: 69 74 65 6C 6E 28 66 32 29 3B 0D 0A 30 36 46 36 iteln(f2);..06F6
000150: 20 20 30 31 37 37 3A 20 20 20 20 20 65 6E 64 3B 0177: end;
000160: 20 7B 70 61 72 74 33 7D 0D 0A 30 36 46 36 20 20 {part3}..06F6
000170: 30 31 37 38 3A 0D 0A 30 36 46 36 20 20 30 31 37 0178:..06F6 017
000180: 39 3A 0D 0A 30 36 46 36 20 20 30 31 38 30 3A 20 9:..06F6 0180:
000190: 20 20 20 20 70 72 6F 63 65 64 75 72 65 20 70 61 procedure pa
0001A0: 72 74 39 3B 0D 0A 30 36 46 43 20 20 30 31 38 31 rt9;..06FC 0181
0001B0: 3A 20 20 20 20 20 62 65 67 69 6E 0D 0A 30 37 31 : begin..071
0001C0: 30 20 20 30 31 38 32 3A 20 20 20 20 20 77 72 69 0 0182: wri
0001D0: 74 65 6C 6E 28 66 32 3B 20 27 62 65 67 69 6E 27 teln(f2; 'begin'
0001E0: 29 3B 0D 0A 30 37 32 37 20 20 30 31 38 33 3A 20 );..0727 0183:
0001F0: 20 20 20 20 77 72 69 74 65 6C 6E 28 66 32 3B 20 writeln(f2;
Size : 512 (Real : 512)
000000: 64 75 72 65 20 67 6F 74 6F 78 79 20 28 20 78 2C dure gotoxy ( x,
000010: 79 20 3A 20 69 6E 74 65 67 65 72 20 29 3B 27 29 y : integer );')
000020: 3B 0D 0A 30 34 35 31 20 20 30 31 31 36 3A 20 20 ;..0451 0116:
000030: 20 20 20 77 72 69 74 65 6C 6E 28 66 32 3B 20 27 writeln(f2; '
000040: 62 65 67 69 6E 27 29 3B 0D 0A 30 34 38 39 20 20 begin');..0489
000050: 30 31 31 37 3A 20 20 20 20 20 77 72 69 74 65 6C 0117: writel
000060: 6E 28 66 32 3B 20 27 77 72 69 74 65 28 63 68 72 n(f2; 'write(chr
000070: 28 32 37 29 2C 27 27 3D 27 27 2C 63 68 72 28 79 (27),''='',chr(y
000080: 2B 32 30 68 29 2C 63 68 72 28 78 2B 32 30 68 29 +20h),chr(x+20h)
000090: 29 3B 27 29 3B 0D 0A 30 34 39 43 20 20 30 31 31 );');..049C 011
0000A0: 38 3A 20 20 20 20 20 77 72 69 74 65 6C 6E 28 66 8: writeln(f
0000B0: 32 3B 20 27 65 6E 64 3B 27 29 3B 0D 0A 30 34 41 2; 'end;');..04A
0000C0: 37 20 20 30 31 31 39 3A 20 20 20 20 20 77 72 69 7 0119: wri
0000D0: 74 65 6C 6E 28 66 32 29 3B 0D 0A 30 34 41 38 20 teln(f2);..04A8
0000E0: 20 30 31 32 30 3A 20 20 20 20 20 65 6E 64 3B 20 0120: end;
0000F0: 7B 70 61 72 74 32 7D 0D 0A 30 34 41 38 20 20 30 {part2}..04A8 0
000100: 31 32 31 3A 0D 0A 30 34 41 38 20 20 30 31 32 32 121:..04A8 0122
000110: 3A 0D 0A 30 34 41 38 20 20 30 31 32 33 3A 20 20 :..04A8 0123:
000120: 20 20 20 70 72 6F 63 65 64 75 72 65 20 70 61 72 procedure par
000130: 74 33 3B 20 20 20 20 20 20 20 7B 63 72 65 61 74 t3; {creat
000140: 65 20 44 49 53 50 4C 41 59 20 70 72 6F 63 65 64 e DISPLAY proced
000150: 75 72 65 7D 0D 0A 30 34 41 38 20 20 30 31 32 34 ure}..04A8 0124
000160: 3A 0D 0A 30 34 41 42 20 20 30 31 32 35 3A 20 20 :..04AB 0125:
000170: 20 20 20 70 72 6F 63 65 64 75 72 65 20 70 72 6F procedure pro
000180: 63 65 73 73 5F 63 6F 6F 72 64 69 6E 61 74 65 73 cess_coordinates
000190: 3B 0D 0A 30 34 41 45 20 20 30 31 32 36 3A 20 20 ;..04AE 0126:
0001A0: 20 20 20 76 61 72 0D 0A 30 34 41 45 20 20 30 31 var..04AE 01
0001B0: 32 37 3A 20 20 20 20 20 78 5F 63 6F 6F 72 64 2C 27: x_coord,
0001C0: 20 79 5F 63 6F 6F 72 64 20 3A 20 63 68 61 72 31 y_coord : char1
0001D0: 36 3B 0D 0A 30 34 42 31 20 20 30 31 32 38 3A 20 6;..04B1 0128:
0001E0: 20 20 20 20 62 65 67 69 6E 0D 0A 30 34 42 36 20 begin..04B6
0001F0: 20 30 31 32 39 3A 20 20 20 20 20 67 65 74 5F 77 0129: get_w
Size : 512 (Real : 512)
000000: 27 64 69 73 70 6C 61 79 3B 27 29 3B 0D 0A 30 37 'display;');..07
000010: 33 42 20 20 30 31 38 34 3A 20 20 20 20 20 77 72 3B 0184: wr
000020: 69 74 65 6C 6E 28 66 32 3B 20 27 65 6E 64 3B 2E iteln(f2; 'end;.
000030: 27 29 3B 0D 0A 30 37 33 43 20 20 30 31 38 35 3A ');..073C 0185:
000040: 20 20 20 20 20 65 6E 64 3B 20 7B 70 61 72 74 39 end; {part9
000050: 7D 0D 0A 30 37 33 43 20 20 30 31 38 36 3A 0D 0A }..073C 0186:..
000060: 30 37 33 43 20 20 30 31 38 37 3A 0D 0A 30 37 33 073C 0187:..073
000070: 46 20 20 30 31 38 38 3A 20 20 20 20 20 62 65 67 F 0188: beg
000080: 69 6E 20 7B 63 72 74 6D 61 70 7D 0D 0A 30 37 34 in {crtmap}..074
000090: 34 20 20 30 31 38 39 3A 20 20 20 20 20 69 6E 69 4 0189: ini
0000A0: 74 3B 0D 0A 30 37 34 39 20 20 30 31 39 30 3A 20 t;..0749 0190:
0000B0: 20 20 20 20 70 61 72 74 31 3B 0D 0A 30 37 34 45 part1;..074E
0000C0: 20 20 30 31 39 31 3A 20 20 20 20 20 70 61 72 74 0191: part
0000D0: 32 3B 0D 0A 30 37 35 33 20 20 30 31 39 32 3A 20 2;..0753 0192:
0000E0: 20 20 20 20 70 61 72 74 33 3B 0D 0A 30 37 35 38 part3;..0758
0000F0: 20 20 30 31 39 33 3A 20 20 20 20 20 70 61 72 74 0193: part
000100: 39 3B 0D 0A 30 37 35 43 20 20 30 31 39 34 3A 20 9;..075C 0194:
000110: 20 20 20 20 63 6C 6F 73 65 28 66 31 29 3B 0D 0A close(f1);..
000120: 30 37 36 30 20 20 30 31 39 35 3A 20 20 20 20 20 0760 0195:
000130: 63 6C 6F 73 65 28 66 32 29 3B 0D 0A 30 37 36 31 close(f2);..0761
000140: 20 20 30 31 39 36 3A 20 20 20 20 20 65 6E 64 20 0196: end
000150: 7B 63 72 74 6D 61 70 7D 2E 0D 0A 4E 6F 20 65 72 {crtmap}...No er
000160: 72 6F 72 73 20 64 65 74 65 63 74 65 64 0D 0A 4D rors detected..M
000170: 6F 64 75 6C 65 20 73 69 7A 65 20 3D 20 31 38 39 odule size = 189
000180: 33 20 64 65 63 20 62 79 74 65 73 0D 0A 45 6E 64 3 dec bytes..End
000190: 20 6F 66 20 63 6F 6D 70 69 6C 65 20 66 6F 72 20 of compile for
0001A0: 43 52 54 4D 41 50 0D 0A 1A 35 3A 20 20 20 20 20 CRTMAP...5:
0001B0: 63 6C 6F 73 65 28 66 32 29 3B 0D 0A 30 37 36 31 close(f2);..0761
0001C0: 20 20 30 31 39 36 3A 20 20 20 20 20 65 6E 64 20 0196: end
0001D0: 7B 63 72 74 6D 61 70 7D 2E 0D 0A 4E 6F 20 65 72 {crtmap}...No er
0001E0: 72 6F 72 73 20 64 65 74 65 63 74 65 64 0D 0A 4D rors detected..M
0001F0: 6F 64 75 6C 65 20 73 69 7A 65 20 3D 20 31 38 39 odule size = 189
Size : 512 (Real : 512)
000000: 6F 72 64 3B 0D 0A 30 34 43 32 20 20 30 31 33 30 ord;..04C2 0130
000010: 3A 20 20 20 20 20 78 5F 63 6F 6F 72 64 20 3A 3D : x_coord :=
000020: 20 77 6F 72 64 3B 0D 0A 30 34 43 37 20 20 30 31 word;..04C7 01
000030: 33 31 3A 20 20 20 20 20 67 65 74 5F 77 6F 72 64 31: get_word
000040: 3B 0D 0A 30 34 44 33 20 20 30 31 33 32 3A 20 20 ;..04D3 0132:
000050: 20 20 20 79 5F 63 6F 6F 72 64 20 3A 3D 20 77 6F y_coord := wo
000060: 72 64 3B 0D 0A 30 35 30 37 20 20 30 31 33 33 3A rd;..0507 0133:
000070: 20 20 20 20 20 77 72 69 74 65 6C 6E 28 66 32 3B writeln(f2;
000080: 20 27 67 6F 74 6F 78 79 28 20 27 2C 78 5F 63 6F 'gotoxy( ',x_co
000090: 6F 72 64 2C 27 2C 27 2C 79 5F 63 6F 6F 72 64 2C ord,',',y_coord,
0000A0: 27 29 3B 27 29 3B 0D 0A 30 35 30 38 20 20 30 31 ');');..0508 01
0000B0: 33 34 3A 20 20 20 20 20 65 6E 64 3B 0D 0A 30 35 34: end;..05
0000C0: 30 38 20 20 30 31 33 35 3A 0D 0A 30 35 30 38 20 08 0135:..0508
0000D0: 20 30 31 33 36 3A 20 20 20 20 20 70 72 6F 63 65 0136: proce
0000E0: 64 75 72 65 20 70 72 6F 63 65 73 73 5F 73 74 72 dure process_str
0000F0: 69 6E 67 3B 0D 0A 30 35 30 45 20 20 30 31 33 37 ing;..050E 0137
000100: 3A 20 20 20 20 20 62 65 67 69 6E 0D 0A 30 35 30 : begin..050
000110: 45 20 20 30 31 33 38 3A 20 20 20 20 20 7B 66 69 E 0138: {fi
000120: 6E 64 20 73 74 61 72 74 20 6F 66 20 73 74 72 69 nd start of stri
000130: 6E 67 7D 0D 0A 30 35 32 45 20 20 30 31 33 39 3A ng}..052E 0139:
000140: 20 20 20 20 20 77 68 69 6C 65 20 6E 6F 74 20 28 while not (
000150: 63 68 20 69 6E 20 5B 27 27 27 27 2C 63 68 72 28 ch in ['''',chr(
000160: 30 64 68 29 2C 27 20 27 2C 63 68 72 28 39 29 2C 0dh),' ',chr(9),
000170: 63 68 72 28 31 61 68 29 5D 29 20 64 6F 0D 0A 30 chr(1ah)]) do..0
000180: 35 33 36 20 20 30 31 34 30 3A 20 20 20 20 20 20 536 0140:
000190: 20 20 20 20 20 20 20 67 65 74 5F 63 68 61 72 3B get_char;
0001A0: 0D 0A 30 35 36 36 20 20 30 31 34 31 3A 20 20 20 ..0566 0141:
0001B0: 20 20 69 66 20 63 68 20 3C 3E 20 27 27 27 27 20 if ch <> ''''
0001C0: 74 68 65 6E 20 65 72 72 6F 72 28 27 4C 69 74 65 then error('Lite
0001D0: 72 61 6C 20 73 74 72 69 6E 67 20 65 78 70 65 63 ral string expec
0001E0: 74 65 64 27 29 3B 0D 0A 30 35 37 42 20 20 30 31 ted');..057B 01
0001F0: 34 32 3A 20 20 20 20 20 77 72 69 74 65 28 66 32 42: write(f2
Size : 512 (Real : 512)
000000: CD 87 58 E1 22 33 50 3A 31 50 26 00 6F E5 21 0D ..X."3P:1P&.o.!.
000010: 00 E5 CD FB 58 F1 D2 28 4F 21 05 00 E5 21 0A 00 ....X..(O!...!..
000020: E5 CD 87 58 E1 22 33 50 C3 CA 4F 2A 39 50 11 38 ...X."3P..O*9P.8
000030: 00 19 16 00 5E D5 21 04 00 E5 CD FB 58 F1 D2 56 ....^.!.....X..V
000040: 4F 21 02 00 E5 3A 31 50 26 00 6F E5 CD 87 58 E1 O!...:1P&.o...X.
000050: 22 33 50 C3 93 4F 2A 39 50 11 38 00 19 16 00 5E "3P..O*9P.8....^
000060: D5 21 05 00 E5 CD FB 58 F1 D2 81 4F 21 06 00 E5 .!.....X...O!...
000070: 3A 31 50 26 00 6F E5 CD 87 58 E1 22 33 50 C3 93 :1P&.o...X."3P..
000080: 4F 21 04 00 E5 3A 31 50 26 00 6F E5 CD 87 58 E1 O!...:1P&.o...X.
000090: 22 33 50 2A 39 50 11 38 00 19 16 00 5E D5 21 04 "3P*9P.8....^.!.
0000A0: 00 E5 CD FB 58 F1 D2 CA 4F 3A 31 50 26 00 6F E5 ....X...O:1P&.o.
0000B0: 21 0D 00 E5 CD FB 58 F1 D2 CA 4F 21 02 00 E5 21 !.....X...O!...!
0000C0: 0A 00 E5 CD 87 58 E1 22 33 50 2A 2F 50 23 22 2F .....X."3P*/P#"/
0000D0: 50 C3 7D 4E C3 27 50 21 01 00 E5 21 52 50 5E 23 P.}N.'P!...!RP^#
0000E0: 56 EB 11 39 00 19 5E 23 56 D5 D1 E1 2B E5 D5 22 V..9..^#V...+.."
0000F0: 35 50 D1 E1 23 E5 D5 CD A3 50 22 3D 50 2A 35 50 5P..#....P"=P*5P
000100: 23 22 35 50 2A 3D 50 2B 22 3D 50 7C B5 CA 24 50 #"5P*=P+"=P|..$P
000110: 2A 2F 50 16 00 5E D5 CD 6C 4D 2A 2F 50 23 22 2F */P..^..lM*/P#"/
000120: 50 C3 FD 4F CD 8A 58 C9 C3 CA 4F 00 00 00 00 00 P..O..X...O.....
000130: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 C3 ................
000140: 00 00 C3 45 50 2A 50 50 22 54 50 2A 54 50 E3 E9 ...EP*PP"TP*TP..
000150: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 E1 D1 ................
000160: 01 21 00 21 5C 00 E5 D5 C5 CD B2 5B 31 00 01 21 .!.!\......[1..!
000170: 00 01 E5 11 85 50 21 80 00 01 1E 00 E5 D5 C5 CD .....P!.........
000180: B2 5B C3 80 00 D1 D5 0E 1A CD 05 00 E1 11 80 00 .[..............
000190: 19 E5 11 5C 00 0E 14 CD 05 00 FE 01 C2 80 00 E1 ...\............
0001A0: C3 00 01 E1 22 CF 50 D1 E1 E5 D5 E5 D5 CD 2E 59 ....".P........Y
0001B0: F1 DA C4 50 D1 E1 7B 95 6F 7A 9C 67 23 23 E5 2A ...P..{.oz.g##.*
0001C0: CF 50 E3 C9 E1 D1 21 01 00 E5 2A CF 50 E3 C9 00 .P....!...*.P...
0001D0: 00 E1 E3 22 43 51 C3 20 51 CD D1 50 C2 E7 50 21 ..."CQ. Q..P..P!
0001E0: 01 00 E5 2A 43 51 E9 21 00 00 C3 E2 50 CD D1 50 ...*CQ.!....P..P
0001F0: C2 DF 50 C3 E7 50 CD D1 50 DA E7 50 CA E7 50 C3 ..P..P..P..P..P.
Size : 512 (Real : 512)
000000: 3B 20 27 77 72 69 74 65 28 27 29 3B 0D 0A 30 35 ; 'write(');..05
000010: 37 42 20 20 30 31 34 33 3A 20 20 20 20 20 72 65 7B 0143: re
000020: 70 65 61 74 0D 0A 30 35 38 45 20 20 30 31 34 34 peat..058E 0144
000030: 3A 20 20 20 20 20 20 20 77 72 69 74 65 28 66 32 : write(f2
000040: 3B 20 63 68 29 3B 0D 0A 30 35 39 33 20 20 30 31 ; ch);..0593 01
000050: 34 35 3A 20 20 20 20 20 20 20 67 65 74 5F 63 68 45: get_ch
000060: 61 72 3B 0D 0A 30 35 41 31 20 20 30 31 34 36 3A ar;..05A1 0146:
000070: 20 20 20 20 20 75 6E 74 69 6C 20 63 68 20 3D 20 until ch =
000080: 63 68 72 28 30 64 68 29 3B 0D 0A 30 35 42 32 20 chr(0dh);..05B2
000090: 20 30 31 34 37 3A 20 20 20 20 20 77 72 69 74 65 0147: write
0000A0: 6C 6E 28 66 32 3B 20 27 29 3B 27 29 3B 0D 0A 30 ln(f2; ');');..0
0000B0: 35 42 33 20 20 30 31 34 38 3A 20 20 20 20 20 65 5B3 0148: e
0000C0: 6E 64 3B 0D 0A 30 35 42 33 20 20 30 31 34 39 3A nd;..05B3 0149:
0000D0: 0D 0A 30 35 42 33 20 20 30 31 35 30 3A 0D 0A 30 ..05B3 0150:..0
0000E0: 35 42 36 20 20 30 31 35 31 3A 20 20 20 20 20 62 5B6 0151: b
0000F0: 65 67 69 6E 20 7B 70 61 72 74 33 7D 0D 0A 30 35 egin {part3}..05
000100: 44 37 20 20 30 31 35 32 3A 20 20 20 20 20 77 72 D7 0152: wr
000110: 69 74 65 6C 6E 28 66 32 3B 20 27 70 72 6F 63 65 iteln(f2; 'proce
000120: 64 75 72 65 20 64 69 73 70 6C 61 79 3B 27 29 3B dure display;');
000130: 0D 0A 30 35 45 42 20 20 30 31 35 33 3A 20 20 20 ..05EB 0153:
000140: 20 20 77 72 69 74 65 6C 6E 28 66 32 3B 20 27 62 writeln(f2; 'b
000150: 65 67 69 6E 27 29 3B 0D 0A 30 36 30 30 20 20 30 egin');..0600 0
000160: 31 35 34 3A 20 20 20 20 20 77 72 69 74 65 6C 6E 154: writeln
000170: 28 66 32 3B 20 27 63 6C 65 61 72 3B 27 29 3B 0D (f2; 'clear;');.
000180: 0A 30 36 30 38 20 20 30 31 35 35 3A 20 20 20 20 .0608 0155:
000190: 20 77 68 69 6C 65 20 6E 6F 74 20 65 6E 64 5F 6F while not end_o
0001A0: 66 5F 66 69 6C 65 20 64 6F 0D 0A 30 36 30 38 20 f_file do..0608
0001B0: 20 30 31 35 36 3A 20 20 20 20 20 20 20 20 20 20 0156:
0001C0: 20 20 20 62 65 67 69 6E 0D 0A 30 36 30 44 20 20 begin..060D
0001D0: 30 31 35 37 3A 20 20 20 20 20 20 20 20 20 20 20 0157:
0001E0: 20 20 67 65 74 5F 77 6F 72 64 3B 0D 0A 30 36 31 get_word;..061
0001F0: 33 20 20 30 31 35 38 3A 20 20 20 20 20 20 20 20 3 0158:
Size : 512 (Real : 512)
000000: 20 20 20 20 20 20 41 2E 20 20 20 52 65 73 65 72 A. Reser
000010: 76 65 64 20 77 6F 72 64 73 0D 0A 0D 0A 20 20 20 ved words....
000020: 20 20 20 20 20 20 20 20 54 68 65 20 20 66 6F 6C The fol
000030: 6C 6F 77 69 6E 67 20 20 77 6F 72 64 73 20 20 61 lowing words a
000040: 72 65 20 72 65 73 65 72 76 65 64 20 69 6E 20 4A re reserved in J
000050: 52 54 20 50 61 73 63 61 6C 20 61 6E 64 20 6D 61 RT Pascal and ma
000060: 79 20 6E 6F 74 20 62 65 0D 0A 20 20 20 20 20 20 y not be..
000070: 75 73 65 64 20 61 73 20 69 64 65 6E 74 69 66 69 used as identifi
000080: 65 72 73 3A 0D 0A 0D 0A 20 20 20 20 20 20 20 20 ers:....
000090: 20 20 20 20 61 62 73 0D 0A 20 20 20 20 20 20 20 abs..
0000A0: 20 20 20 20 20 61 64 64 72 0D 0A 20 20 20 20 20 addr..
0000B0: 20 20 20 20 20 20 20 61 6C 6C 6F 63 61 74 65 0D allocate.
0000C0: 0A 20 20 20 20 20 20 20 20 20 20 20 20 61 6E 64 . and
0000D0: 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 61 72 .. ar
0000E0: 72 61 79 0D 0A 20 20 20 20 20 20 20 20 20 20 20 ray..
0000F0: 20 62 65 67 69 6E 0D 0A 20 20 20 20 20 20 20 20 begin..
000100: 20 20 20 20 62 69 6E 61 72 79 0D 0A 20 20 20 20 binary..
000110: 20 20 20 20 20 20 20 20 62 6F 6F 6C 65 61 6E 0D boolean.
000120: 0A 20 20 20 20 20 20 20 20 20 20 20 20 63 61 6C . cal
000130: 6C 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 63 l.. c
000140: 61 73 65 0D 0A 20 20 20 20 20 20 20 20 20 20 20 ase..
000150: 20 63 68 61 72 0D 0A 20 20 20 20 20 20 20 20 20 char..
000160: 20 20 20 63 68 72 0D 0A 20 20 20 20 20 20 20 20 chr..
000170: 20 20 20 20 63 6C 6F 73 65 0D 0A 20 20 20 20 20 close..
000180: 20 20 20 20 20 20 20 63 6F 6D 70 72 65 73 73 0D compress.
000190: 0A 20 20 20 20 20 20 20 20 20 20 20 20 63 6F 6E . con
0001A0: 63 61 74 0D 0A 20 20 20 20 20 20 20 20 20 20 20 cat..
0001B0: 20 63 6F 6E 73 0D 0A 20 20 20 20 20 20 20 20 20 cons..
0001C0: 20 20 20 63 6F 6E 73 74 0D 0A 20 20 20 20 20 20 const..
0001D0: 20 20 20 20 20 20 63 6F 70 79 0D 0A 20 20 20 20 copy..
0001E0: 20 20 20 20 20 20 20 20 64 65 61 6C 6C 6F 63 61 dealloca
0001F0: 74 65 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 te..
Size : 512 (Real : 512)
000000: 20 20 20 20 20 63 61 73 65 20 77 6F 72 64 20 6F case word o
000010: 66 0D 0A 30 36 32 31 20 20 30 31 35 39 3A 20 20 f..0621 0159:
000020: 20 20 20 20 20 20 20 20 20 20 20 27 4C 49 54 45 'LITE
000030: 52 41 4C 27 20 3A 0D 0A 30 36 32 31 20 20 30 31 RAL' :..0621 01
000040: 36 30 3A 20 20 20 20 20 20 20 20 20 20 20 20 20 60:
000050: 20 20 20 20 20 20 20 20 62 65 67 69 6E 0D 0A 30 begin..0
000060: 36 32 36 20 20 30 31 36 31 3A 20 20 20 20 20 20 626 0161:
000070: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 70 p
000080: 72 6F 63 65 73 73 5F 63 6F 6F 72 64 69 6E 61 74 rocess_coordinat
000090: 65 73 3B 0D 0A 30 36 32 42 20 20 30 31 36 32 3A es;..062B 0162:
0000A0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
0000B0: 20 20 20 20 20 70 72 6F 63 65 73 73 5F 73 74 72 process_str
0000C0: 69 6E 67 3B 0D 0A 30 36 32 45 20 20 30 31 36 33 ing;..062E 0163
0000D0: 3A 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 :
0000E0: 20 20 20 20 20 20 65 6E 64 3B 0D 0A 30 36 33 41 end;..063A
0000F0: 20 20 30 31 36 34 3A 20 20 20 20 20 20 20 20 20 0164:
000100: 20 20 20 20 27 46 49 45 4C 44 27 20 3A 0D 0A 30 'FIELD' :..0
000110: 36 33 41 20 20 30 31 36 35 3A 20 20 20 20 20 20 63A 0165:
000120: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 62 b
000130: 65 67 69 6E 0D 0A 30 36 33 46 20 20 30 31 36 36 egin..063F 0166
000140: 3A 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 :
000150: 20 20 20 20 20 20 70 72 6F 63 65 73 73 5F 63 6F process_co
000160: 6F 72 64 69 6E 61 74 65 73 3B 0D 0A 30 36 34 34 ordinates;..0644
000170: 20 20 30 31 36 37 3A 20 20 20 20 20 20 20 20 20 0167:
000180: 20 20 20 20 20 20 20 20 20 20 20 20 67 65 74 5F get_
000190: 77 6F 72 64 3B 0D 0A 30 36 36 43 20 20 30 31 36 word;..066C 016
0001A0: 38 3A 20 20 20 20 20 20 20 20 20 20 20 20 20 20 8:
0001B0: 20 20 20 20 20 20 20 77 72 69 74 65 6C 6E 28 66 writeln(f
0001C0: 32 3B 20 27 77 72 69 74 65 28 20 72 2C 27 2C 77 2; 'write( r,',w
0001D0: 6F 72 64 2C 27 29 3B 27 29 3B 0D 0A 30 36 36 46 ord,');');..066F
0001E0: 20 20 30 31 36 39 3A 20 20 20 20 20 20 20 20 20 0169:
0001F0: 20 20 20 20 20 20 20 20 20 20 20 20 65 6E 64 3B end;
Size : 512 (Real : 512)
000000: 64 65 6C 65 74 65 0D 0A 20 20 20 20 20 20 20 20 delete..
000010: 20 20 20 20 64 69 73 70 6F 73 65 0D 0A 20 20 20 dispose..
000020: 20 20 20 20 20 20 20 20 20 64 69 76 0D 0A 20 20 div..
000030: 20 20 20 20 20 20 20 20 20 20 64 6F 0D 0A 20 20 do..
000040: 20 20 20 20 20 20 20 20 20 20 64 6F 77 6E 74 6F downto
000050: 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 65 6C .. el
000060: 73 65 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 se..
000070: 65 6E 64 0D 0A 20 20 20 20 20 20 20 20 20 20 20 end..
000080: 20 65 6F 66 0D 0A 20 20 20 20 20 20 20 20 20 20 eof..
000090: 20 20 65 6F 6C 6E 0D 0A 20 20 20 20 20 20 20 20 eoln..
0000A0: 20 20 20 20 65 78 74 65 6E 0D 0A 20 20 20 20 20 exten..
0000B0: 20 20 20 20 20 20 20 66 61 6C 73 65 0D 0A 20 20 false..
0000C0: 20 20 20 20 20 20 20 20 20 20 66 69 6C 65 0D 0A file..
0000D0: 20 20 20 20 20 20 20 20 20 20 20 20 66 69 6C 6C fill
0000E0: 63 68 61 72 0D 0A 20 20 20 20 20 20 20 20 20 20 char..
0000F0: 20 20 66 6F 72 0D 0A 20 20 20 20 20 20 20 20 20 for..
000100: 20 20 20 66 6F 72 77 61 72 64 0D 0A 20 20 20 20 forward..
000110: 20 20 20 20 20 20 20 20 66 72 65 65 0D 0A 20 20 free..
000120: 20 20 20 20 20 20 20 20 20 20 66 75 6E 63 74 69 functi
000130: 6F 6E 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 on..
000140: 67 65 74 0D 0A 20 20 20 20 20 20 20 20 20 20 20 get..
000150: 20 67 6F 74 6F 0D 0A 20 20 20 20 20 20 20 20 20 goto..
000160: 20 20 20 68 65 78 24 0D 0A 20 20 20 20 20 20 20 hex$..
000170: 20 20 20 20 20 69 66 0D 0A 20 20 20 20 20 20 20 if..
000180: 20 20 20 20 20 69 6E 0D 0A 20 20 20 20 20 20 20 in..
000190: 20 20 20 20 20 69 6E 63 6C 75 64 65 0D 0A 20 20 include..
0001A0: 20 20 20 20 20 20 20 20 20 20 69 6E 69 74 69 61 initia
0001B0: 6C 69 7A 65 0D 0A 20 20 20 20 20 20 20 20 20 20 lize..
0001C0: 20 20 69 6E 70 75 74 0D 0A 20 20 20 20 20 20 20 input..
0001D0: 20 20 20 20 20 69 6E 73 65 72 74 0D 0A 20 20 20 insert..
0001E0: 20 20 20 20 20 20 20 20 20 69 6E 74 65 67 65 72 integer
0001F0: 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 6C 61 .. la
Size : 512 (Real : 512)
000000: 20 20 63 6F 6E 73 6F 6C 65 20 20 69 6E 70 75 74 console input
000010: 20 74 6F 20 73 70 65 63 69 66 79 20 74 68 65 20 to specify the
000020: 6C 69 6E 65 20 72 61 6E 67 65 20 74 6F 20 62 65 line range to be
000030: 20 6D 6F 6E 69 74 6F 72 65 64 20 61 6E 64 20 74 monitored and t
000040: 68 65 20 6C 69 6E 65 0D 0A 20 20 20 20 20 20 73 he line.. s
000050: 70 61 63 69 6E 67 2E 20 20 57 68 65 6E 20 20 74 pacing. When t
000060: 68 6F 73 65 20 20 70 61 72 61 6D 65 74 65 72 73 hose parameters
000070: 20 20 68 61 76 65 20 20 62 65 65 6E 20 20 65 6E have been en
000080: 74 65 72 65 64 2C 20 20 74 68 65 20 20 70 72 6F tered, the pro
000090: 67 72 61 6D 0D 0A 20 20 20 20 20 20 65 78 65 63 gram.. exec
0000A0: 75 74 69 6F 6E 20 77 69 6C 6C 20 62 65 67 69 6E ution will begin
0000B0: 2E 0D 0A 0D 0A 20 20 20 20 20 20 20 20 20 20 20 .....
0000C0: 49 66 20 20 41 63 74 69 76 61 6E 20 20 69 73 20 If Activan is
0000D0: 61 63 74 69 76 65 20 77 68 65 6E 20 74 68 65 20 active when the
0000E0: 70 72 6F 67 72 61 6D 20 74 65 72 6D 69 6E 61 74 program terminat
0000F0: 65 73 2C 20 41 63 74 69 76 61 6E 20 6D 6F 64 65 es, Activan mode
000100: 0D 0A 20 20 20 20 20 20 69 73 20 65 6E 74 65 72 .. is enter
000110: 65 64 20 73 6F 20 74 68 61 74 20 61 20 66 69 6E ed so that a fin
000120: 61 6C 20 68 69 73 74 6F 67 72 61 6D 20 63 61 6E al histogram can
000130: 20 62 65 20 70 72 69 6E 74 65 64 2E 0D 0A 0D 0A be printed.....
000140: 20 20 20 20 20 20 20 20 20 20 20 57 68 69 6C 65 While
000150: 20 74 68 65 20 70 72 6F 67 72 61 6D 20 69 73 20 the program is
000160: 72 75 6E 6E 69 6E 67 2C 20 69 74 20 63 61 6E 20 running, it can
000170: 62 65 20 69 6E 74 65 72 72 75 70 74 65 64 20 61 be interrupted a
000180: 6E 64 20 20 63 6F 6E 74 72 6F 6C 0D 0A 20 20 20 nd control..
000190: 20 20 20 72 65 74 75 72 6E 65 64 20 20 74 6F 20 returned to
0001A0: 20 41 63 74 69 76 61 6E 20 62 79 20 6B 65 79 69 Activan by keyi
0001B0: 6E 67 20 69 6E 20 61 20 63 6F 6E 74 72 6F 6C 2D ng in a control-
0001C0: 41 20 63 6F 6D 6D 61 6E 64 2E 20 20 41 63 74 69 A command. Acti
0001D0: 76 61 6E 20 77 69 6C 6C 0D 0A 20 20 20 20 20 20 van will..
0001E0: 74 68 65 6E 20 72 65 71 75 65 73 74 20 77 68 69 then request whi
0001F0: 63 68 20 61 63 74 69 6F 6E 20 69 73 20 64 65 73 ch action is des
Size : 512 (Real : 512)
000000: 62 65 6C 0D 0A 20 20 20 20 20 20 20 20 20 20 20 bel..
000010: 20 6C 65 6E 67 74 68 0D 0A 20 20 20 20 20 20 20 length..
000020: 20 20 20 20 20 6C 69 73 74 0D 0A 20 20 20 20 20 list..
000030: 20 20 20 20 20 20 20 6C 72 61 6E 67 65 0D 0A 20 lrange..
000040: 20 20 20 20 20 20 20 20 20 20 20 6C 74 72 61 63 ltrac
000050: 65 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 6D e.. m
000060: 61 70 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 ap..
000070: 6D 61 78 69 6E 74 0D 0A 20 20 20 20 20 20 20 20 maxint..
000080: 20 20 20 20 6D 6F 64 0D 0A 20 20 20 20 20 20 20 mod..
000090: 20 20 20 20 20 6E 65 77 0D 0A 20 20 20 20 20 20 new..
0000A0: 20 20 20 20 20 20 6E 69 6C 0D 0A 20 20 20 20 20 nil..
0000B0: 20 20 20 20 20 20 20 6E 6F 63 6F 6E 73 0D 0A 20 nocons..
0000C0: 20 20 20 20 20 20 20 20 20 20 20 6E 6F 6C 69 73 nolis
0000D0: 74 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 6E t.. n
0000E0: 6F 6C 74 72 61 63 65 0D 0A 20 20 20 20 20 20 20 oltrace..
0000F0: 20 20 20 20 20 6E 6F 70 74 72 61 63 65 0D 0A 20 noptrace..
000100: 20 20 20 20 20 20 20 20 20 20 20 6E 6F 74 0D 0A not..
000110: 20 20 20 20 20 20 20 20 20 20 20 20 6E 6F 77 61 nowa
000120: 72 6E 69 6E 67 0D 0A 20 20 20 20 20 20 20 20 20 rning..
000130: 20 20 20 6F 64 64 0D 0A 20 20 20 20 20 20 20 20 odd..
000140: 20 20 20 20 6F 66 0D 0A 20 20 20 20 20 20 20 20 of..
000150: 20 20 20 20 6F 70 65 6E 0D 0A 20 20 20 20 20 20 open..
000160: 20 20 20 20 20 20 6F 72 0D 0A 20 20 20 20 20 20 or..
000170: 20 20 20 20 20 20 6F 72 64 0D 0A 20 20 20 20 20 ord..
000180: 20 20 20 20 20 20 20 6F 75 74 70 75 74 0D 0A 20 output..
000190: 20 20 20 20 20 20 20 20 20 20 20 70 61 67 65 0D page.
0001A0: 0A 20 20 20 20 20 20 20 20 20 20 20 20 70 6F 72 . por
0001B0: 74 69 6E 0D 0A 20 20 20 20 20 20 20 20 20 20 20 tin..
0001C0: 20 70 6F 72 74 6F 75 74 0D 0A 20 20 20 20 20 20 portout..
0001D0: 20 20 20 20 20 20 70 6F 73 0D 0A 20 20 20 20 20 pos..
0001E0: 20 20 20 20 20 20 20 70 72 65 64 0D 0A 20 20 20 pred..
0001F0: 20 20 20 20 20 20 20 20 20 70 72 6F 63 65 64 75 procedu
Size : 512 (Real : 512)
000000: 69 72 65 64 3A 0D 0A 0D 0A 20 20 20 20 20 20 20 ired:....
000010: 20 20 20 20 20 20 20 20 20 20 63 6F 64 65 20 20 code
000020: 20 61 63 74 69 6F 6E 0D 0A 20 20 20 20 20 20 20 action..
000030: 20 20 20 20 20 20 20 20 20 20 2D 2D 2D 2D 20 20 ----
000040: 20 2D 2D 2D 2D 2D 2D 2D 0D 0A 20 20 20 20 20 20 -------..
000050: 20 20 20 20 20 20 20 20 20 20 20 20 43 20 20 20 C
000060: 20 20 63 6C 65 61 72 20 74 68 65 20 63 6F 75 6E clear the coun
000070: 74 65 72 73 20 74 6F 20 7A 65 72 6F 0D 0A 20 20 ters to zero..
000080: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
000090: 48 20 20 20 20 20 70 72 69 6E 74 20 68 69 73 74 H print hist
0000A0: 6F 67 72 61 6D 20 6F 66 20 61 63 74 69 76 69 74 ogram of activit
0000B0: 79 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 20 y..
0000C0: 20 20 20 20 20 49 20 20 20 20 20 69 6E 69 74 69 I initi
0000D0: 61 6C 69 7A 65 20 74 68 65 20 6C 69 6E 65 20 72 alize the line r
0000E0: 61 6E 67 65 20 61 6E 64 20 73 70 61 63 69 6E 67 ange and spacing
0000F0: 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ..
000100: 20 20 20 20 4D 20 20 20 20 20 72 75 6E 20 74 68 M run th
000110: 65 20 70 72 6F 67 72 61 6D 20 77 69 74 68 20 41 e program with A
000120: 63 74 69 76 61 6E 20 6D 6F 6E 69 74 6F 72 69 6E ctivan monitorin
000130: 67 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 20 g..
000140: 20 20 20 20 20 57 20 20 20 20 20 72 75 6E 20 74 W run t
000150: 68 65 20 70 72 6F 67 72 61 6D 20 77 69 74 68 6F he program witho
000160: 75 74 20 41 63 74 69 76 61 6E 0D 0A 20 20 20 20 ut Activan..
000170: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5A 20 Z
000180: 20 20 20 20 74 65 72 6D 69 6E 61 74 65 20 74 68 terminate th
000190: 65 20 70 72 6F 67 72 61 6D 0D 0A 0D 0A 0D 0A 0D e program.......
0001A0: 0A 20 20 20 20 20 20 43 2E 20 20 42 6C 6F 63 6B . C. Block
0001B0: 20 6C 65 74 74 65 72 73 0D 0A 0D 0A 20 20 20 20 letters....
0001C0: 20 20 20 20 20 20 20 41 6E 20 20 65 78 74 65 72 An exter
0001D0: 6E 61 6C 20 20 70 72 6F 63 65 64 75 72 65 20 20 nal procedure
0001E0: 6E 61 6D 65 64 20 20 4C 45 54 54 45 52 53 20 20 named LETTERS
0001F0: 69 73 20 70 72 6F 76 69 64 65 64 20 74 6F 20 67 is provided to g
Size : 512 (Real : 512)
000000: 72 65 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 re..
000010: 70 72 6F 67 72 61 6D 0D 0A 20 20 20 20 20 20 20 program..
000020: 20 20 20 20 20 70 74 72 61 63 65 0D 0A 20 20 20 ptrace..
000030: 20 20 20 20 20 20 20 20 20 70 75 74 0D 0A 20 20 put..
000040: 20 20 20 20 20 20 20 20 20 20 72 62 61 0D 0A 20 rba..
000050: 20 20 20 20 20 20 20 20 20 20 20 72 65 61 64 0D read.
000060: 0A 20 20 20 20 20 20 20 20 20 20 20 20 72 65 61 . rea
000070: 64 6C 6E 0D 0A 20 20 20 20 20 20 20 20 20 20 20 dln..
000080: 20 72 65 61 6C 0D 0A 20 20 20 20 20 20 20 20 20 real..
000090: 20 20 20 72 65 61 6C 24 0D 0A 20 20 20 20 20 20 real$..
0000A0: 20 20 20 20 20 20 72 65 63 6F 72 64 0D 0A 20 20 record..
0000B0: 20 20 20 20 20 20 20 20 20 20 72 65 70 65 61 74 repeat
0000C0: 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 72 65 .. re
0000D0: 73 65 74 0D 0A 20 20 20 20 20 20 20 20 20 20 20 set..
0000E0: 20 72 65 77 72 69 74 65 0D 0A 20 20 20 20 20 20 rewrite..
0000F0: 20 20 20 20 20 20 72 6F 75 6E 64 0D 0A 20 20 20 round..
000100: 20 20 20 20 20 20 20 20 20 72 72 6E 0D 0A 20 20 rrn..
000110: 20 20 20 20 20 20 20 20 20 20 73 65 74 0D 0A 20 set..
000120: 20 20 20 20 20 20 20 20 20 20 20 73 71 72 0D 0A sqr..
000130: 20 20 20 20 20 20 20 20 20 20 20 20 73 75 63 63 succ
000140: 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 73 74 .. st
000150: 72 69 6E 67 0D 0A 20 20 20 20 20 20 20 20 20 20 ring..
000160: 20 20 73 79 73 74 65 6D 0D 0A 20 20 20 20 20 20 system..
000170: 20 20 20 20 20 20 74 65 78 74 0D 0A 20 20 20 20 text..
000180: 20 20 20 20 20 20 20 20 74 68 65 6E 0D 0A 20 20 then..
000190: 20 20 20 20 20 20 20 20 20 20 74 6F 0D 0A 20 20 to..
0001A0: 20 20 20 20 20 20 20 20 20 20 74 72 75 65 0D 0A true..
0001B0: 20 20 20 20 20 20 20 20 20 20 20 20 74 72 75 6E trun
0001C0: 63 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 74 c.. t
0001D0: 79 70 65 0D 0A 20 20 20 20 20 20 20 20 20 20 20 ype..
0001E0: 20 75 6E 74 69 6C 0D 0A 20 20 20 20 20 20 20 20 until..
0001F0: 20 20 20 20 75 70 63 61 73 65 0D 0A 20 20 20 20 upcase..
Size : 512 (Real : 512)
000000: 65 6E 65 72 61 74 65 0D 0A 20 20 20 20 20 20 6C enerate.. l
000010: 61 72 67 65 20 62 6C 6F 63 6B 20 6C 65 74 74 65 arge block lette
000020: 72 73 2E 20 54 68 65 73 65 20 6C 65 74 74 65 72 rs. These letter
000030: 73 20 61 72 65 20 39 20 6C 69 6E 65 73 20 68 69 s are 9 lines hi
000040: 67 68 20 61 6E 64 20 66 72 6F 6D 20 34 20 74 6F gh and from 4 to
000050: 20 20 31 30 0D 0A 20 20 20 20 20 20 63 6F 6C 75 10.. colu
000060: 6D 6E 73 20 20 77 69 64 65 2E 20 20 20 54 68 65 mns wide. The
000070: 20 20 65 78 74 65 72 6E 61 6C 20 70 72 6F 63 65 external proce
000080: 64 75 72 65 20 67 65 6E 65 72 61 74 65 73 20 61 dure generates a
000090: 6E 20 65 6E 74 69 72 65 20 72 6F 77 20 61 74 20 n entire row at
0000A0: 61 0D 0A 20 20 20 20 20 20 74 69 6D 65 20 6F 66 a.. time of
0000B0: 20 6C 65 74 74 65 72 73 20 66 6F 72 20 75 73 65 letters for use
0000C0: 20 61 73 20 72 65 70 6F 72 74 20 68 65 61 64 65 as report heade
0000D0: 72 73 2C 20 70 72 6F 67 72 61 6D 20 69 64 65 6E rs, program iden
0000E0: 74 69 66 69 65 72 73 2C 20 20 65 74 63 2E 0D 0A tifiers, etc...
0000F0: 20 20 20 20 20 20 54 68 65 20 6F 75 74 70 75 74 The output
000100: 20 6C 69 6E 65 20 6D 61 79 20 62 65 20 75 70 20 line may be up
000110: 74 6F 20 32 32 30 20 63 6F 6C 75 6D 6E 73 20 77 to 220 columns w
000120: 69 64 65 2E 0D 0A 0D 0A 20 20 20 20 20 20 20 20 ide.....
000130: 20 20 20 54 68 65 20 20 75 70 70 65 72 20 20 63 The upper c
000140: 61 73 65 20 20 6C 65 74 74 65 72 73 2C 20 6E 75 ase letters, nu
000150: 6D 62 65 72 73 2C 20 61 6E 64 20 64 61 73 68 20 mbers, and dash
000160: 6D 61 79 20 62 65 20 69 6E 70 75 74 20 74 6F 20 may be input to
000170: 74 68 65 0D 0A 20 20 20 20 20 20 65 78 74 65 72 the.. exter
000180: 6E 61 6C 20 70 72 6F 63 65 64 75 72 65 2E 20 20 nal procedure.
000190: 55 6E 73 75 70 70 6F 72 74 65 64 20 63 68 61 72 Unsupported char
0001A0: 61 63 74 65 72 73 20 61 72 65 20 63 6F 6E 76 65 acters are conve
0001B0: 72 74 65 64 20 74 6F 20 20 73 70 61 63 65 73 2E rted to spaces.
0001C0: 0D 0A 20 20 20 20 20 20 4C 6F 77 65 72 20 63 61 .. Lower ca
0001D0: 73 65 20 63 68 61 72 61 63 74 65 72 73 20 61 72 se characters ar
0001E0: 65 20 63 6F 6E 76 65 72 74 65 64 20 74 6F 20 75 e converted to u
0001F0: 70 70 65 72 20 63 61 73 65 2E 0D 0A 0D 0A 20 20 pper case.....
Size : 512 (Real : 512)
000000: 20 20 20 20 20 20 20 20 76 61 72 0D 0A 20 20 20 var..
000010: 20 20 20 20 20 20 20 20 20 77 61 72 6E 69 6E 67 warning
000020: 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 77 68 .. wh
000030: 69 6C 65 0D 0A 20 20 20 20 20 20 20 20 20 20 20 ile..
000040: 20 77 69 74 68 0D 0A 20 20 20 20 20 20 20 20 20 with..
000050: 20 20 20 77 72 69 74 65 0D 0A 20 20 20 20 20 20 write..
000060: 20 20 20 20 20 20 77 72 69 74 65 6C 6E 0D 0A 20 writeln..
000070: 20 20 20 20 20 20 20 20 20 20 20 78 6F 72 0D 0A xor..
000080: 0D 0A 0D 0A 20 20 20 20 20 20 42 2E 20 20 20 41 .... B. A
000090: 63 74 69 76 69 74 79 20 61 6E 61 6C 79 7A 65 72 ctivity analyzer
0000A0: 0D 0A 0D 0A 20 20 20 20 20 20 20 20 20 20 20 54 .... T
0000B0: 68 65 20 61 63 74 69 76 69 74 79 20 61 6E 61 6C he activity anal
0000C0: 79 7A 65 72 2C 20 41 63 74 69 76 61 6E 2C 20 69 yzer, Activan, i
0000D0: 73 20 61 20 66 61 63 69 6C 69 74 79 20 77 68 69 s a facility whi
0000E0: 63 68 20 6D 6F 6E 69 74 6F 72 73 20 74 68 65 0D ch monitors the.
0000F0: 0A 20 20 20 20 20 20 65 78 65 63 75 74 69 6F 6E . execution
000100: 20 20 6F 66 20 20 61 20 50 61 73 63 61 6C 20 70 of a Pascal p
000110: 72 6F 67 72 61 6D 20 61 6E 64 20 70 72 69 6E 74 rogram and print
000120: 73 20 61 20 67 72 61 70 68 20 73 68 6F 77 69 6E s a graph showin
000130: 67 20 74 68 65 20 61 6D 6F 75 6E 74 0D 0A 20 20 g the amount..
000140: 20 20 20 20 6F 66 20 74 69 6D 65 20 73 70 65 6E of time spen
000150: 74 20 65 78 65 63 75 74 69 6E 67 20 65 61 63 68 t executing each
000160: 20 70 6F 72 74 69 6F 6E 20 6F 66 20 74 68 65 20 portion of the
000170: 70 72 6F 67 72 61 6D 2E 20 20 54 6F 20 75 73 65 program. To use
000180: 20 41 63 74 69 76 61 6E 2C 0D 0A 20 20 20 20 20 Activan,..
000190: 20 61 20 70 72 6F 67 72 61 6D 20 6D 75 73 74 20 a program must
0001A0: 62 65 20 63 6F 6D 70 69 6C 65 64 20 77 69 74 68 be compiled with
0001B0: 20 20 74 68 65 20 20 25 4C 54 52 41 43 45 20 20 the %LTRACE
0001C0: 64 69 72 65 63 74 69 76 65 20 20 6F 72 20 20 74 directive or t
0001D0: 68 65 20 20 24 4C 0D 0A 20 20 20 20 20 20 63 6F he $L.. co
0001E0: 6D 70 69 6C 65 20 73 77 69 74 63 68 20 6F 6E 2E mpile switch on.
0001F0: 0D 0A 0D 0A 20 20 20 20 20 20 20 20 20 20 20 41 .... A
Size : 512 (Real : 512)
000000: 20 20 20 20 20 20 20 20 20 54 68 65 20 20 6F 75 The ou
000010: 74 70 75 74 20 66 72 6F 6D 20 6C 65 74 74 65 72 tput from letter
000020: 73 20 69 73 20 70 6C 61 63 65 64 20 69 6E 20 61 s is placed in a
000030: 20 62 75 66 66 65 72 20 77 68 69 63 68 20 69 73 buffer which is
000040: 20 61 6E 20 61 72 72 61 79 0D 0A 20 20 20 20 20 an array..
000050: 20 6F 66 20 73 74 72 69 6E 67 73 2E 20 20 54 68 of strings. Th
000060: 69 73 20 6D 75 73 74 20 62 65 20 64 65 66 69 6E is must be defin
000070: 65 64 20 65 78 61 63 74 6C 79 20 61 73 20 73 68 ed exactly as sh
000080: 6F 77 6E 2E 20 20 54 68 65 20 20 64 65 63 6C 61 own. The decla
000090: 72 61 74 69 6F 6E 0D 0A 20 20 20 20 20 20 66 6F ration.. fo
0000A0: 72 20 4C 45 54 54 45 52 53 20 69 73 3A 0D 0A 0D r LETTERS is:...
0000B0: 0A 20 20 20 20 20 20 20 20 20 20 20 20 54 59 50 . TYP
0000C0: 45 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 42 E.. B
0000D0: 55 46 46 45 52 20 3D 20 41 52 52 41 59 20 5B 31 UFFER = ARRAY [1
0000E0: 2E 2E 39 5D 20 4F 46 20 53 54 52 49 4E 47 5B 32 ..9] OF STRING[2
0000F0: 32 30 5D 3B 0D 0A 0D 0A 20 20 20 20 20 20 20 20 20];....
000100: 20 20 20 20 50 52 4F 43 45 44 55 52 45 20 4C 45 PROCEDURE LE
000110: 54 54 45 52 53 20 28 49 4E 50 55 54 5F 53 54 52 TTERS (INPUT_STR
000120: 49 4E 47 20 3A 20 53 54 52 49 4E 47 3B 0D 0A 20 ING : STRING;..
000130: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
000140: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 53 4C SL
000150: 41 4E 54 20 3A 20 43 48 41 52 3B 0D 0A 20 20 20 ANT : CHAR;..
000160: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
000170: 20 20 20 20 20 20 20 20 20 20 20 20 56 41 52 20 VAR
000180: 42 20 3A 20 42 55 46 46 45 52 20 29 3B 20 45 58 B : BUFFER ); EX
000190: 54 45 52 4E 3B 0D 0A 0D 0A 20 20 20 20 20 20 20 TERN;....
0001A0: 20 20 20 20 54 68 65 20 20 69 6E 70 75 74 5F 73 The input_s
0001B0: 74 72 69 6E 67 20 20 69 73 20 20 74 68 65 20 6C tring is the l
0001C0: 69 6E 65 20 6F 66 20 63 68 61 72 61 63 74 65 72 ine of character
0001D0: 73 20 74 6F 20 62 65 20 63 6F 6E 76 65 72 74 65 s to be converte
0001E0: 64 20 74 6F 0D 0A 20 20 20 20 20 20 62 6C 6F 63 d to.. bloc
0001F0: 6B 20 6C 65 74 74 65 72 20 66 6F 72 6D 61 74 2E k letter format.
Size : 512 (Real : 512)
000000: 63 74 69 76 61 6E 20 20 6D 6F 6E 69 74 6F 72 73 ctivan monitors
000010: 20 20 74 68 65 20 20 6C 69 6E 65 20 20 6E 75 6D the line num
000020: 62 65 72 73 20 20 61 73 20 61 20 70 72 6F 67 72 bers as a progr
000030: 61 6D 20 65 78 65 63 75 74 65 73 20 61 6E 64 0D am executes and.
000040: 0A 20 20 20 20 20 20 6B 65 65 70 73 20 63 6F 75 . keeps cou
000050: 6E 74 65 72 73 20 66 6F 72 20 74 68 65 20 6C 69 nters for the li
000060: 6E 65 20 6E 75 6D 62 65 72 73 20 69 6E 20 74 68 ne numbers in th
000070: 65 20 73 70 65 63 69 66 69 65 64 20 72 61 6E 67 e specified rang
000080: 65 2E 20 54 68 65 20 72 61 6E 67 65 0D 0A 20 20 e. The range..
000090: 20 20 20 20 6F 66 20 6C 69 6E 65 20 6E 75 6D 62 of line numb
0000A0: 65 72 73 20 74 6F 20 62 65 20 6D 6F 6E 69 74 6F ers to be monito
0000B0: 72 65 64 20 61 6E 64 20 74 68 65 20 6C 69 6E 65 red and the line
0000C0: 20 73 70 61 63 69 6E 67 20 63 61 6E 20 62 65 20 spacing can be
0000D0: 20 73 65 74 20 20 61 6E 64 0D 0A 20 20 20 20 20 set and..
0000E0: 20 63 68 61 6E 67 65 64 20 77 68 65 6E 20 74 68 changed when th
0000F0: 65 20 70 72 6F 67 72 61 6D 20 69 73 20 72 75 6E e program is run
000100: 6E 69 6E 67 2E 0D 0A 0D 0A 20 20 20 20 20 20 20 ning.....
000110: 20 20 20 20 54 6F 20 20 72 75 6E 20 20 61 20 20 To run a
000120: 70 72 6F 67 72 61 6D 20 77 69 74 68 20 41 63 74 program with Act
000130: 69 76 61 6E 2C 20 73 70 65 63 69 66 79 20 74 68 ivan, specify th
000140: 65 20 24 41 20 73 77 69 74 63 68 20 77 68 65 6E e $A switch when
000150: 20 74 68 65 0D 0A 20 20 20 20 20 20 70 72 6F 67 the.. prog
000160: 72 61 6D 20 69 73 20 73 74 61 72 74 65 64 20 77 ram is started w
000170: 69 74 68 20 74 68 65 20 45 58 45 43 20 63 6F 6D ith the EXEC com
000180: 6D 61 6E 64 3A 0D 0A 0D 0A 20 20 20 20 20 20 20 mand:....
000190: 20 20 20 20 20 20 20 20 20 20 20 45 58 45 43 20 EXEC
0001A0: 54 45 58 54 50 47 4D 20 20 24 41 0D 0A 0D 0A 20 TEXTPGM $A....
0001B0: 20 20 20 20 20 20 20 20 20 20 42 65 66 6F 72 65 Before
0001C0: 20 20 74 68 65 20 20 70 72 6F 67 72 61 6D 20 20 the program
0001D0: 62 65 67 69 6E 73 20 20 65 78 65 63 75 74 69 6F begins executio
0001E0: 6E 2C 20 20 41 63 74 69 76 61 6E 20 20 77 69 6C n, Activan wil
0001F0: 6C 20 20 72 65 71 75 65 73 74 0D 0A 20 20 20 20 l request..
Size : 512 (Real : 512)
000000: 20 20 54 68 65 20 73 6C 61 6E 74 20 63 68 61 72 The slant char
000010: 61 63 74 65 72 20 70 72 6F 76 69 64 65 73 20 66 acter provides f
000020: 6F 72 20 20 27 73 74 72 65 61 6D 6C 69 6E 65 64 or 'streamlined
000030: 27 0D 0A 20 20 20 20 20 20 63 68 61 72 61 63 74 '.. charact
000040: 65 72 73 20 62 79 20 73 6C 61 6E 74 69 6E 67 20 ers by slanting
000050: 74 6F 20 74 68 65 20 6C 65 66 74 20 6F 72 20 72 to the left or r
000060: 69 67 68 74 2E 20 20 53 6C 61 6E 74 20 6D 61 79 ight. Slant may
000070: 20 62 65 20 27 4C 27 20 6F 72 20 27 52 27 0D 0A be 'L' or 'R'..
000080: 20 20 20 20 20 20 6F 72 20 20 27 20 20 27 2C 20 or ' ',
000090: 20 66 6F 72 20 6E 6F 20 73 6C 61 6E 74 2E 20 20 for no slant.
0000A0: 54 68 65 20 6F 75 74 70 75 74 20 62 75 66 66 65 The output buffe
0000B0: 72 20 42 20 72 65 66 65 72 73 20 74 6F 20 61 20 r B refers to a
0000C0: 76 61 72 69 61 62 6C 65 20 6F 66 0D 0A 20 20 20 variable of..
0000D0: 20 20 20 74 79 70 65 20 62 75 66 66 65 72 20 69 type buffer i
0000E0: 6E 20 74 68 65 20 75 73 65 72 27 73 20 70 72 6F n the user's pro
0000F0: 67 72 61 6D 2E 20 20 20 4E 6F 74 65 20 20 74 68 gram. Note th
000100: 61 74 20 20 42 20 20 69 73 20 20 61 20 20 72 65 at B is a re
000110: 66 65 72 65 6E 63 65 64 0D 0A 20 20 20 20 20 20 ferenced..
000120: 70 61 72 61 6D 65 74 65 72 2E 0D 0A 0D 0A 20 20 parameter.....
000130: 20 20 20 20 20 20 20 20 20 54 68 69 73 20 20 73 This s
000140: 61 6D 70 6C 65 20 20 70 72 6F 67 72 61 6D 20 20 ample program
000150: 77 69 6C 6C 20 70 72 69 6E 74 20 6F 75 74 20 74 will print out t
000160: 68 65 20 77 6F 72 64 20 27 50 41 53 43 41 4C 27 he word 'PASCAL'
000170: 20 69 6E 20 62 6C 6F 63 6B 0D 0A 20 20 20 20 20 in block..
000180: 20 6C 65 74 74 65 72 73 3A 0D 0A 0D 0A 20 20 20 letters:....
000190: 20 20 20 20 20 20 20 20 20 50 52 4F 47 52 41 4D PROGRAM
0001A0: 20 42 4C 4F 43 4B 53 3B 0D 0A 0D 0A 20 20 20 20 BLOCKS;....
0001B0: 20 20 20 20 20 20 20 20 54 59 50 45 0D 0A 20 20 TYPE..
0001C0: 20 20 20 20 20 20 20 20 20 20 42 55 46 46 45 52 BUFFER
0001D0: 20 3D 20 41 52 52 41 59 20 5B 31 2E 2E 39 5D 20 = ARRAY [1..9]
0001E0: 4F 46 20 53 54 52 49 4E 47 5B 32 32 30 5D 3B 0D OF STRING[220];.
0001F0: 0A 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 56 ... V
Size : 512 (Real : 512)
000000: 20 20 20 20 56 41 52 20 52 20 20 3A 20 4A 53 54 VAR R : JST
000010: 41 54 5F 49 4E 54 45 52 46 41 43 45 20 29 3B 0D AT_INTERFACE );.
000020: 0A 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .
000030: 20 20 20 20 20 20 20 20 20 45 58 54 45 52 4E 3B EXTERN;
000040: 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 45 2E 20 20 ...... E.
000050: 20 4A 47 52 41 46 0D 0A 0D 0A 20 20 20 20 20 20 JGRAF....
000060: 20 20 20 20 20 4A 47 52 41 46 20 20 69 73 20 20 JGRAF is
000070: 61 6E 20 20 65 78 74 65 72 6E 61 6C 20 20 70 72 an external pr
000080: 6F 63 65 64 75 72 65 20 20 77 68 69 63 68 20 66 ocedure which f
000090: 6F 72 6D 61 74 73 20 78 2D 79 20 67 72 61 70 68 ormats x-y graph
0000A0: 73 20 61 6E 64 0D 0A 20 20 20 20 20 20 73 63 61 s and.. sca
0000B0: 74 74 65 72 20 67 72 61 70 68 73 2E 20 20 54 68 tter graphs. Th
0000C0: 65 20 67 72 61 70 68 20 73 69 7A 65 20 69 6E 20 e graph size in
0000D0: 72 6F 77 73 20 61 6E 64 20 63 6F 6C 75 6D 6E 73 rows and columns
0000E0: 20 61 6E 64 20 74 68 65 20 6C 6F 77 65 72 20 61 and the lower a
0000F0: 6E 64 0D 0A 20 20 20 20 20 20 75 70 70 65 72 20 nd.. upper
000100: 78 20 61 6E 64 20 79 20 62 6F 75 6E 64 73 20 61 x and y bounds a
000110: 72 65 20 73 65 74 20 62 79 20 74 68 65 20 75 73 re set by the us
000120: 65 72 2E 20 20 41 20 74 69 74 6C 65 20 74 6F 20 er. A title to
000130: 74 68 65 20 20 67 72 61 70 68 20 20 6D 61 79 0D the graph may.
000140: 0A 20 20 20 20 20 20 62 65 20 20 70 72 6F 76 69 . be provi
000150: 64 65 64 2E 20 20 20 4F 6E 63 65 20 74 68 65 20 ded. Once the
000160: 67 72 61 70 68 20 68 61 73 20 62 65 65 6E 20 70 graph has been p
000170: 72 65 70 61 72 65 64 2C 20 69 74 20 63 61 6E 20 repared, it can
000180: 62 65 20 64 69 73 70 6C 61 79 65 64 0D 0A 20 20 be displayed..
000190: 20 20 20 20 6F 6E 20 74 68 65 20 63 6F 6E 73 6F on the conso
0001A0: 6C 65 2C 20 70 72 69 6E 74 65 64 20 6F 72 20 73 le, printed or s
0001B0: 74 6F 72 65 64 20 69 6E 20 61 20 64 69 73 6B 20 tored in a disk
0001C0: 66 69 6C 65 2E 0D 0A 0D 0A 20 20 20 20 20 20 20 file.....
0001D0: 20 20 20 20 41 6E 79 20 6E 75 6D 62 65 72 20 6F Any number o
0001E0: 66 20 20 64 61 74 61 20 20 70 6F 69 6E 74 73 20 f data points
0001F0: 20 63 61 6E 20 20 62 65 20 20 70 6C 6F 74 74 65 can be plotte
Size : 512 (Real : 512)
000000: 41 52 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 AR..
000010: 49 20 3A 20 49 4E 54 45 47 45 52 3B 0D 0A 20 20 I : INTEGER;..
000020: 20 20 20 20 20 20 20 20 20 20 42 4C 4F 43 4B 53 BLOCKS
000030: 5F 42 55 46 52 20 3A 20 42 55 46 46 45 52 3B 0D _BUFR : BUFFER;.
000040: 0A 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 50 ... P
000050: 52 4F 43 45 44 55 52 45 20 4C 45 54 54 45 52 53 ROCEDURE LETTERS
000060: 20 28 20 49 4E 50 55 54 5F 53 54 52 49 4E 47 20 ( INPUT_STRING
000070: 3A 20 53 54 52 49 4E 47 3B 0D 0A 20 20 20 20 20 : STRING;..
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 20 20 20 53 4C 41 4E 54 SLANT
0000A0: 20 3A 20 43 48 41 52 3B 0D 0A 20 20 20 20 20 20 : CHAR;..
0000B0: 20 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 20 56 41 52 20 42 20 VAR B
0000D0: 3A 20 42 55 46 46 45 52 20 29 3B 20 45 58 54 45 : BUFFER ); EXTE
0000E0: 52 4E 3B 0D 0A 0D 0A 20 20 20 20 20 20 20 20 20 RN;....
0000F0: 20 20 20 42 45 47 49 4E 0D 0A 20 20 20 20 20 20 BEGIN..
000100: 20 20 20 20 20 20 4C 45 54 54 45 52 53 28 27 50 LETTERS('P
000110: 41 53 43 41 4C 27 2C 27 52 27 2C 42 4C 4F 43 4B ASCAL','R',BLOCK
000120: 53 5F 42 55 46 52 29 3B 0D 0A 20 20 20 20 20 20 S_BUFR);..
000130: 20 20 20 20 20 20 53 59 53 54 45 4D 28 4C 49 53 SYSTEM(LIS
000140: 54 29 3B 0D 0A 20 20 20 20 20 20 20 20 20 20 20 T);..
000150: 20 46 4F 52 20 49 3A 3D 31 20 54 4F 20 39 20 44 FOR I:=1 TO 9 D
000160: 4F 20 57 52 49 54 45 4C 4E 28 20 42 4C 4F 43 4B O WRITELN( BLOCK
000170: 53 5F 42 55 46 52 5B 49 5D 20 29 3B 0D 0A 20 20 S_BUFR[I] );..
000180: 20 20 20 20 20 20 20 20 20 20 45 4E 44 2E 0D 0A END...
000190: 0D 0A 0D 0A 20 20 20 20 20 20 44 2E 20 20 20 4A .... D. J
0001A0: 53 54 41 54 0D 0A 0D 0A 20 20 20 20 20 20 20 20 STAT....
0001B0: 20 20 20 4A 53 54 41 54 20 20 69 73 20 20 61 6E JSTAT is an
0001C0: 20 20 65 78 74 65 72 6E 61 6C 20 20 70 72 6F 63 external proc
0001D0: 65 64 75 72 65 20 20 77 68 69 63 68 20 63 61 6E edure which can
0001E0: 20 62 65 20 75 73 65 64 20 74 6F 20 63 6F 6D 70 be used to comp
0001F0: 75 74 65 0D 0A 20 20 20 20 20 20 73 65 76 65 72 ute.. sever
Size : 512 (Real : 512)
000000: 64 2E 20 20 20 41 6E 79 20 20 6E 75 6D 62 65 72 d. Any number
000010: 20 20 6F 66 0D 0A 20 20 20 20 20 20 73 65 70 61 of.. sepa
000020: 72 61 74 65 20 20 20 70 6C 6F 74 73 20 20 20 63 rate plots c
000030: 61 6E 20 20 62 65 20 20 70 72 65 70 61 72 65 64 an be prepared
000040: 20 20 73 69 6D 75 6C 74 61 6E 65 6F 75 73 6C 79 simultaneously
000050: 20 20 28 77 69 74 68 69 6E 20 20 6D 65 6D 6F 72 (within memor
000060: 79 0D 0A 20 20 20 20 20 20 6C 69 6D 69 74 61 74 y.. limitat
000070: 69 6F 6E 73 29 2E 0D 0A 0D 0A 20 20 20 20 20 20 ions).....
000080: 20 20 20 20 20 54 6F 20 20 75 73 65 20 20 4A 47 To use JG
000090: 52 41 46 2C 20 20 79 6F 75 72 20 20 70 72 6F 67 RAF, your prog
0000A0: 72 61 6D 20 20 28 6F 72 20 20 6F 63 63 61 73 69 ram (or occasi
0000B0: 6F 6E 61 6C 6C 79 20 20 61 6E 20 20 20 65 78 74 onally an ext
0000C0: 65 72 6E 61 6C 0D 0A 20 20 20 20 20 20 70 72 6F ernal.. pro
0000D0: 63 65 64 75 72 65 29 20 6D 75 73 74 20 64 65 63 cedure) must dec
0000E0: 6C 61 72 65 20 74 68 65 20 63 68 61 72 39 30 30 lare the char900
0000F0: 30 20 61 6E 64 20 6A 67 72 61 66 5F 69 6E 74 65 0 and jgraf_inte
000100: 72 66 61 63 65 20 74 79 70 65 73 2E 20 20 59 6F rface types. Yo
000110: 75 72 0D 0A 20 20 20 20 20 20 70 72 6F 67 72 61 ur.. progra
000120: 6D 20 20 20 6D 75 73 74 20 20 20 74 68 65 6E 20 m must then
000130: 20 20 64 65 63 6C 61 72 65 20 20 20 6F 6E 65 20 declare one
000140: 20 28 6F 72 20 20 6D 6F 72 65 29 20 20 76 61 72 (or more) var
000150: 69 61 62 6C 65 20 20 6F 66 20 20 74 79 70 65 0D iable of type.
000160: 0A 20 20 20 20 20 20 6A 67 72 61 66 5F 69 6E 74 . jgraf_int
000170: 65 72 66 61 63 65 2E 20 20 46 6F 72 20 63 6F 6E erface. For con
000180: 76 65 6E 69 65 6E 63 65 2C 20 74 68 65 20 20 69 venience, the i
000190: 6E 74 65 72 66 61 63 65 20 20 76 61 72 69 61 62 nterface variab
0001A0: 6C 65 20 20 77 69 6C 6C 20 20 62 65 0D 0A 20 20 le will be..
0001B0: 20 20 20 20 63 61 6C 6C 65 64 20 20 6A 67 69 20 called jgi
0001C0: 20 69 6E 20 74 68 69 73 20 64 6F 63 75 6D 65 6E in this documen
0001D0: 74 2E 20 20 59 6F 75 72 20 70 72 6F 67 72 61 6D t. Your program
0001E0: 20 63 6F 75 6C 64 20 63 61 6C 6C 20 74 68 65 20 could call the
0001F0: 69 6E 74 65 72 66 61 63 65 0D 0A 20 20 20 20 20 interface..
Size : 512 (Real : 512)
000000: 61 6C 20 62 61 73 69 63 20 73 74 61 74 69 73 74 al basic statist
000010: 69 63 73 20 67 69 76 65 6E 20 61 6E 20 61 72 72 ics given an arr
000020: 61 79 20 6F 66 20 72 65 61 6C 20 6E 75 6D 62 65 ay of real numbe
000030: 72 73 20 61 73 20 69 6E 70 75 74 2E 20 20 49 74 rs as input. It
000040: 0D 0A 20 20 20 20 20 20 63 6F 6D 70 75 74 65 73 .. computes
000050: 20 74 68 65 20 61 72 69 74 68 6D 65 74 69 63 20 the arithmetic
000060: 6D 65 61 6E 2C 20 73 74 61 6E 64 61 72 64 20 64 mean, standard d
000070: 65 76 69 61 74 69 6F 6E 2C 20 76 61 72 69 61 6E eviation, varian
000080: 63 65 2C 20 73 6B 65 77 6E 65 73 73 2C 0D 0A 20 ce, skewness,..
000090: 20 20 20 20 20 6B 75 72 74 6F 73 69 73 20 61 6E kurtosis an
0000A0: 64 20 74 68 65 20 66 69 72 73 74 20 66 6F 75 72 d the first four
0000B0: 20 6D 6F 6D 65 6E 74 73 20 61 62 6F 75 74 20 74 moments about t
0000C0: 68 65 20 6D 65 61 6E 2E 0D 0A 0D 0A 20 20 20 20 he mean.....
0000D0: 20 20 20 20 20 20 20 54 68 65 20 73 6F 75 72 63 The sourc
0000E0: 65 20 63 6F 64 65 20 66 6F 72 20 4A 53 54 41 54 e code for JSTAT
0000F0: 20 69 73 20 70 72 6F 76 69 64 65 64 20 6F 6E 20 is provided on
000100: 74 68 65 20 20 64 69 73 74 72 69 62 75 74 69 6F the distributio
000110: 6E 20 20 64 69 73 6B 0D 0A 20 20 20 20 20 20 61 n disk.. a
000120: 6E 64 20 20 6D 61 79 20 62 65 20 6D 6F 64 69 66 nd may be modif
000130: 69 65 64 20 61 73 20 6E 65 63 65 73 73 61 72 79 ied as necessary
000140: 2E 20 20 54 68 65 20 70 72 6F 63 65 64 75 72 65 . The procedure
000150: 20 69 73 20 72 65 73 74 72 69 63 74 65 64 20 74 is restricted t
000160: 6F 20 61 6E 0D 0A 20 20 20 20 20 20 61 72 72 61 o an.. arra
000170: 79 20 6F 66 20 31 30 30 30 20 72 65 61 6C 20 20 y of 1000 real
000180: 6E 75 6D 62 65 72 73 2C 20 20 62 75 74 20 20 74 numbers, but t
000190: 68 69 73 20 20 63 61 6E 20 20 62 65 20 20 65 61 his can be ea
0001A0: 73 69 6C 79 20 20 63 68 61 6E 67 65 64 20 20 62 sily changed b
0001B0: 79 0D 0A 20 20 20 20 20 20 6D 6F 64 69 66 79 69 y.. modifyi
0001C0: 6E 67 20 20 20 74 68 65 20 20 20 64 65 63 6C 61 ng the decla
0001D0: 72 61 74 69 6F 6E 20 20 20 6F 66 20 20 74 68 65 ration of the
0001E0: 20 20 64 61 74 61 20 20 74 79 70 65 20 20 6A 73 data type js
0001F0: 74 61 74 5F 61 72 72 61 79 20 20 61 6E 64 0D 0A tat_array and..
Size : 512 (Real : 512)
000000: 20 76 61 72 69 61 62 6C 65 28 73 29 20 61 6E 79 variable(s) any
000010: 74 68 69 6E 67 20 61 70 70 72 6F 70 72 69 61 74 thing appropriat
000020: 65 2E 20 20 59 6F 75 72 20 20 70 72 6F 67 72 61 e. Your progra
000030: 6D 20 20 6D 75 73 74 20 20 61 6C 73 6F 20 20 64 m must also d
000040: 65 63 6C 61 72 65 0D 0A 20 20 20 20 20 20 4A 47 eclare.. JG
000050: 52 41 46 20 61 73 20 61 6E 20 65 78 74 65 72 6E RAF as an extern
000060: 61 6C 20 70 72 6F 63 65 64 75 72 65 2E 0D 0A 0D al procedure....
000070: 0A 20 20 20 20 20 20 20 20 20 20 20 54 68 65 20 . The
000080: 20 64 65 63 6C 61 72 61 74 69 6F 6E 73 20 20 66 declarations f
000090: 6F 72 20 20 73 61 6D 70 6C 65 20 20 6D 61 69 6E or sample main
0000A0: 20 20 70 72 6F 67 72 61 6D 20 20 74 6F 20 20 74 program to t
0000B0: 61 6B 65 20 70 6C 6F 74 74 69 6E 67 0D 0A 20 20 ake plotting..
0000C0: 20 20 20 20 63 6F 6D 6D 61 6E 64 73 20 66 72 6F commands fro
0000D0: 6D 20 61 20 64 69 73 6B 20 66 69 6C 65 20 61 6E m a disk file an
0000E0: 64 20 63 72 65 61 74 65 20 61 20 70 6C 6F 74 20 d create a plot
0000F0: 69 73 20 73 68 6F 77 6E 20 68 65 72 65 2E 20 20 is shown here.
000100: 28 54 68 65 20 62 6F 64 79 0D 0A 20 20 20 20 20 (The body..
000110: 20 6F 66 20 74 68 65 20 73 61 6D 70 6C 65 20 70 of the sample p
000120: 72 6F 67 72 61 6D 20 69 73 20 6C 69 73 74 65 64 rogram is listed
000130: 20 6C 61 74 65 72 2E 29 20 20 45 76 65 72 79 74 later.) Everyt
000140: 68 69 6E 67 20 20 6C 69 73 74 65 64 20 20 68 65 hing listed he
000150: 72 65 20 20 69 73 0D 0A 20 20 20 20 20 20 72 65 re is.. re
000160: 71 75 69 72 65 64 20 6F 66 20 61 6E 79 20 70 72 quired of any pr
000170: 6F 67 72 61 6D 20 75 73 69 6E 67 20 4A 47 52 41 ogram using JGRA
000180: 46 20 65 78 63 65 70 74 20 66 6F 72 20 74 68 65 F except for the
000190: 20 64 65 63 6C 61 72 61 74 69 6F 6E 73 20 6E 6F declarations no
0001A0: 74 65 64 0D 0A 20 20 20 20 20 20 61 73 20 73 70 ted.. as sp
0001B0: 65 63 69 66 69 63 20 74 6F 20 6A 67 2E 0D 0A 0D ecific to jg....
0001C0: 0A 20 20 20 20 20 20 70 72 6F 67 72 61 6D 20 6A . program j
0001D0: 67 3B 0D 0A 20 20 20 20 20 20 25 6C 74 72 61 63 g;.. %ltrac
0001E0: 65 20 25 70 74 72 61 63 65 20 20 28 2A 20 6F 70 e %ptrace (* op
0001F0: 74 69 6F 6E 61 6C 20 2D 20 73 75 67 67 65 73 74 tional - suggest
Size : 512 (Real : 512)
000000: 20 20 20 20 20 20 72 65 63 6F 6D 70 69 6C 69 6E recompilin
000010: 67 20 74 68 65 20 70 72 6F 63 65 64 75 72 65 2E g the procedure.
000020: 0D 0A 0D 0A 20 20 20 20 20 20 20 20 20 20 20 57 .... W
000030: 68 69 6C 65 20 6A 73 74 61 74 5F 61 72 72 61 79 hile jstat_array
000040: 20 69 73 20 64 65 63 6C 61 72 65 64 20 61 73 20 is declared as
000050: 61 20 31 30 30 30 20 65 6C 65 6D 65 6E 74 20 20 a 1000 element
000060: 61 72 72 61 79 2C 20 20 61 20 20 6D 75 63 68 0D array, a much.
000070: 0A 20 20 20 20 20 20 73 6D 61 6C 6C 65 72 20 20 . smaller
000080: 61 72 72 61 79 20 20 6D 61 79 20 20 62 65 20 20 array may be
000090: 75 73 65 64 20 74 6F 20 68 6F 6C 64 20 74 68 65 used to hold the
0000A0: 20 64 61 74 61 20 76 61 6C 75 65 73 20 73 69 6E data values sin
0000B0: 63 65 20 74 68 65 20 69 6E 70 75 74 0D 0A 20 20 ce the input..
0000C0: 20 20 20 20 61 72 72 61 79 20 69 73 20 75 73 65 array is use
0000D0: 64 20 61 73 20 61 20 72 65 66 65 72 65 6E 63 65 d as a reference
0000E0: 64 20 70 61 72 61 6D 65 74 65 72 2E 0D 0A 0D 0A d parameter.....
0000F0: 20 20 20 20 20 20 20 20 20 20 20 4A 53 54 41 54 JSTAT
000100: 20 28 69 6E 20 69 74 73 20 64 69 73 74 72 69 62 (in its distrib
000110: 75 74 65 64 20 66 6F 72 6D 29 20 72 65 71 75 69 uted form) requi
000120: 72 65 73 20 74 68 72 65 65 20 70 61 72 61 6D 65 res three parame
000130: 74 65 72 73 3A 0D 0A 0D 0A 20 20 20 20 20 20 20 ters:....
000140: 20 20 20 20 20 6E 20 2D 20 6E 75 6D 62 65 72 20 n - number
000150: 6F 66 20 64 61 74 61 20 69 74 65 6D 73 20 69 6E of data items in
000160: 20 74 68 65 20 69 6E 70 75 74 20 61 72 72 61 79 the input array
000170: 0D 0A 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 ....
000180: 78 20 2D 20 61 72 72 61 79 20 6F 66 20 75 70 20 x - array of up
000190: 74 6F 20 31 30 30 30 20 72 65 61 6C 20 6E 75 6D to 1000 real num
0001A0: 62 65 72 73 0D 0A 0D 0A 20 20 20 20 20 20 20 20 bers....
0001B0: 20 20 20 20 72 20 2D 20 6F 75 74 70 75 74 20 72 r - output r
0001C0: 65 63 6F 72 64 20 63 6F 6E 74 61 69 6E 69 6E 67 ecord containing
0001D0: 20 63 6F 6D 70 75 74 65 64 20 73 74 61 74 69 73 computed statis
0001E0: 74 69 63 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 tic......
0001F0: 20 20 20 20 54 68 65 20 66 6F 6C 6C 6F 77 69 6E The followin
Size : 512 (Real : 512)
000000: 65 64 20 2A 29 0D 0A 0D 0A 20 20 20 20 20 20 74 ed *).... t
000010: 79 70 65 0D 0A 20 20 20 20 20 20 63 68 61 72 39 ype.. char9
000020: 30 30 30 20 3D 20 61 72 72 61 79 20 5B 31 2E 2E 000 = array [1..
000030: 39 30 30 30 5D 20 6F 66 20 63 68 61 72 3B 0D 0A 9000] of char;..
000040: 20 20 20 20 20 20 6A 67 72 61 66 5F 69 6E 74 65 jgraf_inte
000050: 72 66 61 63 65 20 3D 20 72 65 63 6F 72 64 0D 0A rface = record..
000060: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 6F co
000070: 6D 6D 61 6E 64 20 3A 20 63 68 61 72 3B 20 20 20 mmand : char;
000080: 20 20 20 20 20 20 28 2A 20 52 20 2A 29 0D 0A 20 (* R *)..
000090: 20 20 20 20 20 20 20 20 20 20 20 20 20 70 6C 6F plo
0000A0: 74 5F 63 68 61 72 20 3A 20 63 68 61 72 3B 20 20 t_char : char;
0000B0: 20 20 20 20 20 28 2A 20 52 20 2A 29 0D 0A 20 20 (* R *)..
0000C0: 20 20 20 20 20 20 20 20 20 20 20 20 78 5F 67 72 x_gr
0000D0: 69 64 20 3A 20 62 6F 6F 6C 65 61 6E 3B 20 20 20 id : boolean;
0000E0: 20 20 20 20 28 2A 20 52 20 2A 29 0D 0A 20 20 20 (* R *)..
0000F0: 20 20 20 20 20 20 20 20 20 20 20 79 5F 67 72 69 y_gri
000100: 64 20 3A 20 62 6F 6F 6C 65 61 6E 3B 20 20 20 20 d : boolean;
000110: 20 20 20 28 2A 20 52 20 2A 29 0D 0A 20 20 20 20 (* R *)..
000120: 20 20 20 20 20 20 20 20 20 20 72 6F 77 73 20 3A rows :
000130: 20 69 6E 74 65 67 65 72 3B 20 20 20 20 20 20 20 integer;
000140: 20 20 28 2A 20 52 20 2A 29 0D 0A 20 20 20 20 20 (* R *)..
000150: 20 20 20 20 20 20 20 20 20 63 6F 6C 75 6D 6E 73 columns
000160: 20 3A 20 69 6E 74 65 67 65 72 3B 20 20 20 20 20 : integer;
000170: 20 28 2A 20 52 20 2A 29 0D 0A 20 20 20 20 20 20 (* R *)..
000180: 20 20 20 20 20 20 20 20 78 5F 6C 6F 77 65 72 20 x_lower
000190: 3A 20 72 65 61 6C 3B 20 20 20 20 20 20 20 20 20 : real;
0001A0: 28 2A 20 52 20 2A 29 0D 0A 20 20 20 20 20 20 20 (* R *)..
0001B0: 20 20 20 20 20 20 20 78 5F 75 70 70 65 72 20 3A x_upper :
0001C0: 20 72 65 61 6C 3B 20 20 20 20 20 20 20 20 20 28 real; (
0001D0: 2A 20 52 20 2A 29 0D 0A 20 20 20 20 20 20 20 20 * R *)..
0001E0: 20 20 20 20 20 20 79 5F 6C 6F 77 65 72 20 3A 20 y_lower :
0001F0: 72 65 61 6C 3B 20 20 20 20 20 20 20 20 20 28 2A real; (*
Size : 512 (Real : 512)
000000: 67 20 74 79 70 65 20 64 65 63 6C 61 72 61 74 69 g type declarati
000010: 6F 6E 73 20 61 6E 64 20 20 70 72 6F 63 65 64 75 ons and procedu
000020: 72 65 20 20 64 65 63 6C 61 72 61 74 69 6F 6E 20 re declaration
000030: 20 61 72 65 0D 0A 20 20 20 20 20 20 72 65 71 75 are.. requ
000040: 69 72 65 64 20 69 6E 20 74 68 65 20 63 61 6C 6C ired in the call
000050: 69 6E 67 20 50 61 73 63 61 6C 20 70 72 6F 67 72 ing Pascal progr
000060: 61 6D 3A 0D 0A 0D 0A 20 20 20 20 20 20 20 20 20 am:....
000070: 20 20 20 54 59 50 45 0D 0A 20 20 20 20 20 20 20 TYPE..
000080: 20 20 20 20 20 4A 53 54 41 54 5F 49 4E 54 45 52 JSTAT_INTER
000090: 46 41 43 45 20 3D 0D 0A 20 20 20 20 20 20 20 20 FACE =..
0000A0: 20 20 20 20 20 20 20 20 20 20 52 45 43 4F 52 44 RECORD
0000B0: 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ..
0000C0: 20 20 20 20 4D 45 41 4E 2C 20 53 54 41 4E 44 41 MEAN, STANDA
0000D0: 52 44 5F 44 45 56 49 41 54 49 4F 4E 2C 0D 0A 20 RD_DEVIATION,..
0000E0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
0000F0: 20 56 41 52 49 41 4E 43 45 2C 20 53 4B 45 57 4E VARIANCE, SKEWN
000100: 45 53 53 2C 20 4B 55 52 54 4F 53 49 53 2C 0D 0A ESS, KURTOSIS,..
000110: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
000120: 20 20 4D 31 2C 20 4D 32 2C 20 4D 33 2C 20 4D 34 M1, M2, M3, M4
000130: 20 3A 20 52 45 41 4C 3B 0D 0A 20 20 20 20 20 20 : REAL;..
000140: 20 20 20 20 20 20 20 20 20 20 20 20 45 4E 44 3B END;
000150: 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 4A 53 .. JS
000160: 54 41 54 5F 41 52 52 41 59 20 3D 20 41 52 52 41 TAT_ARRAY = ARRA
000170: 59 20 5B 31 2E 2E 31 30 30 30 5D 20 4F 46 20 52 Y [1..1000] OF R
000180: 45 41 4C 3B 0D 0A 0D 0A 20 20 20 20 20 20 20 20 EAL;....
000190: 20 20 20 20 50 52 4F 43 45 44 55 52 45 20 4A 53 PROCEDURE JS
0001A0: 54 41 54 20 28 4E 20 3A 20 49 4E 54 45 47 45 52 TAT (N : INTEGER
0001B0: 3B 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 20 ;..
0001C0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
0001D0: 56 41 52 20 58 20 20 3A 20 4A 53 54 41 54 5F 41 VAR X : JSTAT_A
0001E0: 52 52 41 59 3B 0D 0A 20 20 20 20 20 20 20 20 20 RRAY;..
0001F0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
Size : 512 (Real : 512)
000000: 20 52 20 2A 29 0D 0A 20 20 20 20 20 20 20 20 20 R *)..
000010: 20 20 20 20 20 79 5F 75 70 70 65 72 20 3A 20 72 y_upper : r
000020: 65 61 6C 3B 20 20 20 20 20 20 20 20 20 28 2A 20 eal; (*
000030: 52 20 2A 29 0D 0A 20 20 20 20 20 20 20 20 20 20 R *)..
000040: 20 20 20 20 66 69 6C 65 6E 61 6D 65 20 3A 20 61 filename : a
000050: 72 72 61 79 20 5B 31 2E 2E 31 34 5D 20 6F 66 20 rray [1..14] of
000060: 63 68 61 72 3B 0D 0A 20 20 20 20 20 20 20 20 20 char;..
000070: 20 20 20 20 20 67 72 61 66 5F 74 69 74 6C 65 20 graf_title
000080: 3A 20 73 74 72 69 6E 67 3B 20 20 20 20 28 2A 20 : string; (*
000090: 52 20 2A 29 0D 0A 0D 0A 20 20 20 20 20 20 28 2A R *).... (*
0000A0: 20 66 69 65 6C 64 73 20 62 65 6C 6F 77 20 75 73 fields below us
0000B0: 65 64 20 69 6E 74 65 72 6E 61 6C 6C 79 20 62 79 ed internally by
0000C0: 20 6A 67 72 61 66 20 2A 29 0D 0A 20 20 20 20 20 jgraf *)..
0000D0: 20 20 20 20 20 20 20 20 20 62 20 3A 20 5E 63 68 b : ^ch
0000E0: 61 72 39 30 30 30 3B 0D 0A 20 20 20 20 20 20 20 ar9000;..
0000F0: 20 20 20 20 20 20 20 62 75 66 72 5F 73 69 7A 65 bufr_size
000100: 20 3A 20 69 6E 74 65 67 65 72 3B 0D 0A 20 20 20 : integer;..
000110: 20 20 20 20 20 20 20 20 20 20 20 6C 69 6E 65 5F line_
000120: 73 69 7A 65 20 3A 20 69 6E 74 65 67 65 72 3B 0D size : integer;.
000130: 0A 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 . r
000140: 6F 77 5F 63 6F 75 6E 74 20 3A 20 69 6E 74 65 67 ow_count : integ
000150: 65 72 3B 0D 0A 20 20 20 20 20 20 20 20 20 20 20 er;..
000160: 20 20 20 78 5F 73 70 61 63 69 6E 67 20 3A 20 72 x_spacing : r
000170: 65 61 6C 3B 0D 0A 20 20 20 20 20 20 20 20 20 20 eal;..
000180: 20 20 20 20 79 5F 73 70 61 63 69 6E 67 20 3A 20 y_spacing :
000190: 72 65 61 6C 3B 0D 0A 20 20 20 20 20 20 20 20 20 real;..
0001A0: 20 20 20 20 20 65 6E 64 3B 0D 0A 0D 0A 20 20 20 end;....
0001B0: 20 20 20 76 61 72 0D 0A 20 20 20 20 20 20 6A 67 var.. jg
0001C0: 69 20 3A 20 6A 67 72 61 66 5F 69 6E 74 65 72 66 i : jgraf_interf
0001D0: 61 63 65 3B 0D 0A 0D 0A 0D 0A 0D 0A 20 20 20 20 ace;........
0001E0: 20 20 28 2A 20 66 6F 6C 6C 6F 77 69 6E 67 20 61 (* following a
0001F0: 72 65 20 75 73 65 64 20 62 79 20 70 72 6F 67 72 re used by progr
Size : 512 (Real : 512)
000000: 20 31 35 2E 39 2C 20 32 30 35 2E 37 20 29 3B 0D 15.9, 205.7 );.
000010: 0A 20 20 20 20 20 20 20 20 20 20 20 20 20 20 4A . J
000020: 47 49 2E 50 4C 4F 54 5F 43 48 41 52 20 3A 3D 20 GI.PLOT_CHAR :=
000030: 27 23 27 3B 0D 0A 20 20 20 20 20 20 20 20 20 20 '#';..
000040: 20 20 20 20 4A 47 52 41 46 20 28 20 4A 47 49 2C JGRAF ( JGI,
000050: 20 39 2E 30 2C 20 31 30 35 2E 30 20 29 3B 0D 0A 9.0, 105.0 );..
000060: 0D 0A 20 20 20 20 20 20 20 20 20 20 20 54 6F 20 .. To
000070: 70 72 69 6E 74 20 74 68 65 20 67 72 61 70 68 20 print the graph
000080: 6F 6E 20 74 68 65 20 63 6F 6E 73 6F 6C 65 2C 20 on the console,
000090: 73 65 74 20 6A 67 69 2E 63 6F 6D 6D 61 6E 64 20 set jgi.command
0000A0: 20 74 6F 20 20 27 43 27 20 20 61 6E 64 0D 0A 20 to 'C' and..
0000B0: 20 20 20 20 20 63 61 6C 6C 20 4A 47 52 41 46 20 call JGRAF
0000C0: 77 69 74 68 20 78 20 61 6E 64 20 79 20 61 72 67 with x and y arg
0000D0: 75 6D 65 6E 74 73 20 7A 65 72 6F 2C 20 61 73 0D uments zero, as.
0000E0: 0A 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 20 ...
0000F0: 20 4A 47 49 2E 43 4F 4D 4D 41 4E 44 20 3A 3D 20 JGI.COMMAND :=
000100: 27 43 27 3B 0D 0A 20 20 20 20 20 20 20 20 20 20 'C';..
000110: 20 20 20 20 4A 47 52 41 46 20 28 20 4A 47 49 2C JGRAF ( JGI,
000120: 20 30 2E 30 2C 20 30 2E 30 20 29 3B 0D 0A 0D 0A 0.0, 0.0 );....
000130: 20 20 20 20 20 20 20 20 20 20 20 49 66 20 20 79 If y
000140: 6F 75 20 20 77 61 6E 74 20 20 6F 75 74 70 75 74 ou want output
000150: 20 20 74 6F 20 20 74 68 65 20 20 6C 69 6E 65 20 to the line
000160: 20 70 72 69 6E 74 65 72 20 20 61 73 20 77 65 6C printer as wel
000170: 6C 20 61 73 20 74 6F 20 74 68 65 0D 0A 20 20 20 l as to the..
000180: 20 20 20 63 6F 6E 73 6F 6C 65 2C 20 73 65 74 20 console, set
000190: 6A 67 69 2E 63 6F 6D 6D 61 6E 64 20 74 6F 20 27 jgi.command to '
0001A0: 50 27 20 69 6E 73 74 65 61 64 20 6F 66 20 27 43 P' instead of 'C
0001B0: 27 20 62 65 66 6F 72 65 20 63 61 6C 6C 69 6E 67 ' before calling
0001C0: 20 4A 47 52 41 46 2E 0D 0A 0D 0A 20 20 20 20 20 JGRAF.....
0001D0: 20 20 20 20 20 20 54 6F 20 77 72 69 74 65 20 74 To write t
0001E0: 68 65 20 67 72 61 70 68 20 74 6F 20 61 20 66 69 he graph to a fi
0001F0: 6C 65 2C 20 73 65 74 20 6A 67 69 2E 66 69 6C 65 le, set jgi.file
Size : 512 (Real : 512)
000000: 61 6D 20 6A 67 20 2A 29 0D 0A 20 20 20 20 20 20 am jg *)..
000010: 66 69 6C 65 5F 6E 61 6D 65 20 3A 20 61 72 72 61 file_name : arra
000020: 79 5B 31 2E 2E 32 30 5D 20 6F 66 20 63 68 61 72 y[1..20] of char
000030: 3B 0D 0A 20 20 20 20 20 20 74 69 74 6C 65 20 3A ;.. title :
000040: 20 61 72 72 61 79 5B 31 2E 2E 32 34 5D 20 6F 66 array[1..24] of
000050: 20 63 68 61 72 3B 0D 0A 20 20 20 20 20 20 69 6E char;.. in
000060: 66 20 3A 20 66 69 6C 65 20 6F 66 20 63 68 61 72 f : file of char
000070: 3B 0D 0A 20 20 20 20 20 20 78 2C 20 79 20 3A 20 ;.. x, y :
000080: 72 65 61 6C 3B 0D 0A 20 20 20 20 20 20 63 6F 6D real;.. com
000090: 6D 61 6E 64 20 3A 20 63 68 61 72 3B 0D 0A 20 20 mand : char;..
0000A0: 20 20 20 20 28 2A 20 65 6E 64 20 6F 66 20 76 61 (* end of va
0000B0: 72 69 61 62 6C 65 73 20 75 73 65 64 20 62 79 20 riables used by
0000C0: 73 61 6D 70 6C 65 20 70 72 6F 67 72 61 6D 20 2A sample program *
0000D0: 29 0D 0A 0D 0A 20 20 20 20 20 20 70 72 6F 63 65 ).... proce
0000E0: 64 75 72 65 20 6A 67 72 61 66 20 28 20 76 61 72 dure jgraf ( var
0000F0: 20 6A 67 20 3A 20 6A 67 72 61 66 5F 69 6E 74 65 jg : jgraf_inte
000100: 72 66 61 63 65 3B 0D 0A 20 20 20 20 20 20 20 20 rface;..
000110: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
000120: 78 2C 20 79 20 3A 20 72 65 61 6C 20 29 3B 20 65 x, y : real ); e
000130: 78 74 65 72 6E 3B 0D 0A 0D 0A 20 20 20 20 20 20 xtern;....
000140: 28 2A 20 65 6E 64 20 6F 66 20 64 65 63 6C 61 72 (* end of declar
000150: 61 74 69 6F 6E 73 20 2A 29 0D 0A 0D 0A 20 20 20 ations *)....
000160: 20 20 20 20 20 20 20 20 54 6F 20 20 70 72 6F 64 To prod
000170: 75 63 65 20 20 67 72 61 70 68 73 2C 20 20 79 6F uce graphs, yo
000180: 75 72 20 70 72 6F 67 72 61 6D 20 6D 75 73 74 20 ur program must
000190: 66 69 72 73 74 20 73 65 74 20 61 6C 6C 20 6D 65 first set all me
0001A0: 6D 62 65 72 73 20 6F 66 0D 0A 20 20 20 20 20 20 mbers of..
0001B0: 6A 67 69 20 6D 61 72 6B 65 64 20 28 2A 20 20 52 jgi marked (* R
0001C0: 20 20 2A 29 20 20 69 6E 20 20 74 68 65 20 20 6A *) in the j
0001D0: 67 72 61 66 5F 69 6E 74 65 72 66 61 63 65 20 20 graf_interface
0001E0: 74 79 70 65 20 20 64 65 63 6C 61 72 61 74 69 6F type declaratio
0001F0: 6E 20 20 74 6F 0D 0A 20 20 20 20 20 20 61 70 70 n to.. app
Size : 512 (Real : 512)
000000: 6E 61 6D 65 20 20 74 6F 20 20 74 68 65 20 20 64 name to the d
000010: 65 73 69 72 65 64 0D 0A 20 20 20 20 20 20 6E 61 esired.. na
000020: 6D 65 2C 20 6A 67 69 2E 63 6F 6D 6D 61 6E 64 20 me, jgi.command
000030: 74 6F 20 27 53 27 2C 20 61 6E 64 20 63 61 6C 6C to 'S', and call
000040: 20 4A 47 52 41 46 2E 0D 0A 0D 0A 20 20 20 20 20 JGRAF.....
000050: 20 20 20 20 20 20 20 20 20 4A 47 49 2E 46 49 4C JGI.FIL
000060: 45 4E 41 4D 45 20 3A 3D 20 27 42 3A 50 4C 4F 54 ENAME := 'B:PLOT
000070: 2E 35 27 3B 0D 0A 20 20 20 20 20 20 20 20 20 20 .5';..
000080: 20 20 20 20 4A 47 49 2E 43 4F 4D 4D 41 4E 44 20 JGI.COMMAND
000090: 3A 3D 20 27 53 27 3B 0D 0A 20 20 20 20 20 20 20 := 'S';..
0000A0: 20 20 20 20 20 20 20 4A 47 52 41 46 20 28 20 4A JGRAF ( J
0000B0: 47 49 2C 20 30 2E 30 2C 20 30 2E 30 20 29 3B 0D GI, 0.0, 0.0 );.
0000C0: 0A 0D 0A 20 20 20 20 20 20 20 20 20 20 20 4D 6F ... Mo
0000D0: 72 65 20 64 61 74 61 20 70 6F 69 6E 74 73 20 63 re data points c
0000E0: 61 6E 20 62 65 20 61 64 64 65 64 20 74 6F 20 61 an be added to a
0000F0: 20 67 72 61 70 68 20 61 66 74 65 72 20 70 72 69 graph after pri
000100: 6E 74 69 6E 67 2C 20 73 6F 20 74 68 61 74 0D 0A nting, so that..
000110: 20 20 20 20 20 20 64 65 76 65 6C 6F 70 6D 65 6E developmen
000120: 74 20 20 6F 72 20 20 74 72 65 6E 64 73 20 20 63 t or trends c
000130: 61 6E 20 20 62 65 20 20 70 6C 6F 74 74 65 64 20 an be plotted
000140: 69 6E 20 73 75 63 63 65 73 73 69 6F 6E 2E 20 20 in succession.
000150: 46 75 72 74 68 65 72 2C 20 62 79 0D 0A 20 20 20 Further, by..
000160: 20 20 20 73 65 74 74 69 6E 67 20 6A 67 69 2E 70 setting jgi.p
000170: 6C 6F 74 5F 63 68 61 72 20 74 6F 20 61 20 73 70 lot_char to a sp
000180: 61 63 65 20 28 27 20 27 29 2C 20 64 61 74 61 20 ace (' '), data
000190: 20 70 6F 69 6E 74 73 20 20 63 61 6E 20 20 62 65 points can be
0001A0: 20 20 65 72 61 73 65 64 0D 0A 20 20 20 20 20 20 erased..
0001B0: 28 61 6C 74 68 6F 75 67 68 20 67 72 69 64 20 6C (although grid l
0001C0: 69 6E 65 73 20 77 69 6C 6C 20 6E 6F 74 20 62 65 ines will not be
0001D0: 20 72 65 73 74 6F 72 65 64 29 2E 0D 0A 0D 0A 20 restored).....
0001E0: 20 20 20 20 20 20 20 20 20 20 49 66 20 20 79 6F If yo
0001F0: 75 20 20 77 61 6E 74 20 20 74 6F 20 20 70 72 69 u want to pri
Size : 512 (Real : 512)
000000: 72 6F 70 72 69 61 74 65 20 76 61 6C 75 65 73 2E ropriate values.
000010: 0D 0A 0D 0A 20 20 20 20 20 20 20 20 20 20 20 4A .... J
000020: 67 69 2E 78 5F 67 72 69 64 20 20 77 6F 75 6C 64 gi.x_grid would
000030: 20 20 62 65 20 20 73 65 74 20 74 6F 20 66 61 6C be set to fal
000040: 73 65 20 69 66 20 67 72 69 64 20 6C 69 6E 65 73 se if grid lines
000050: 20 72 75 6E 6E 69 6E 67 20 61 63 72 6F 73 73 0D running across.
000060: 0A 20 20 20 20 20 20 74 68 65 20 67 72 61 70 68 . the graph
000070: 20 73 68 6F 75 6C 64 20 62 65 20 6F 6D 69 74 74 should be omitt
000080: 65 64 2E 20 20 4A 67 2E 79 5F 67 72 69 64 20 69 ed. Jg.y_grid i
000090: 73 20 6C 69 6B 65 77 69 73 65 20 73 65 74 20 74 s likewise set t
0000A0: 6F 20 20 66 61 6C 73 65 20 20 69 66 0D 0A 20 20 o false if..
0000B0: 20 20 20 20 67 72 69 64 20 20 6C 69 6E 65 73 20 grid lines
0000C0: 20 72 75 6E 6E 69 6E 67 20 20 75 70 20 20 61 6E running up an
0000D0: 64 20 20 64 6F 77 6E 20 20 61 72 65 20 74 6F 20 d down are to
0000E0: 62 65 20 6F 6D 69 74 74 65 64 2E 20 20 4A 67 69 be omitted. Jgi
0000F0: 2E 72 6F 77 73 20 61 6E 64 0D 0A 20 20 20 20 20 .rows and..
000100: 20 6A 67 69 2E 63 6F 6C 75 6D 6E 73 20 63 6F 6E jgi.columns con
000110: 74 61 69 6E 20 74 68 65 20 6E 75 6D 62 65 72 20 tain the number
000120: 6F 66 20 20 6C 69 6E 65 73 20 20 61 6E 64 20 20 of lines and
000130: 6E 75 6D 62 65 72 20 20 6F 66 20 20 63 68 61 72 number of char
000140: 61 63 74 65 72 73 0D 0A 20 20 20 20 20 20 61 63 acters.. ac
000150: 72 6F 73 73 20 74 68 65 20 62 6F 64 79 20 6F 66 ross the body of
000160: 20 74 68 65 20 70 6C 6F 74 20 69 74 73 65 6C 66 the plot itself
000170: 20 28 6D 69 6E 75 73 20 6F 6E 65 29 2E 0D 0A 0D (minus one)....
000180: 0A 20 20 20 20 20 20 20 20 20 20 20 54 68 65 20 . The
000190: 20 6E 75 6D 62 65 72 20 20 6F 66 20 72 6F 77 73 number of rows
0001A0: 20 61 6E 64 20 63 6F 6C 75 6D 6E 73 20 73 68 6F and columns sho
0001B0: 75 6C 64 20 6E 6F 72 6D 61 6C 6C 79 20 62 65 20 uld normally be
0001C0: 64 69 76 69 73 69 62 6C 65 20 62 79 0D 0A 20 20 divisible by..
0001D0: 20 20 20 20 31 30 2E 20 20 50 6C 6F 74 20 73 69 10. Plot si
0001E0: 7A 65 20 63 61 6E 20 62 65 20 63 61 6C 63 75 6C ze can be calcul
0001F0: 61 74 65 64 20 20 61 73 20 20 28 6E 75 6D 62 65 ated as (numbe
Size : 512 (Real : 512)
000000: 6E 74 20 20 6D 6F 72 65 20 20 74 68 61 6E 20 20 nt more than
000010: 6F 6E 65 20 20 67 72 61 70 68 20 20 75 73 69 6E one graph usin
000020: 67 20 74 68 65 20 73 61 6D 65 0D 0A 20 20 20 20 g the same..
000030: 20 20 69 6E 74 65 72 66 61 63 65 20 72 65 63 6F interface reco
000040: 72 64 20 28 6A 67 69 29 20 6F 72 20 77 61 6E 74 rd (jgi) or want
000050: 20 4A 47 52 41 46 20 74 6F 20 66 72 65 65 20 74 JGRAF to free t
000060: 68 65 20 6D 65 6D 6F 72 79 20 61 6C 6C 6F 63 61 he memory alloca
000070: 74 65 64 20 20 74 6F 0D 0A 20 20 20 20 20 20 70 ted to.. p
000080: 72 6F 64 75 63 65 20 61 20 67 72 61 70 68 2C 20 roduce a graph,
000090: 79 6F 75 20 63 61 6E 20 73 65 74 20 6A 67 69 2E you can set jgi.
0000A0: 63 6F 6D 6D 61 6E 64 20 74 6F 20 27 58 27 20 62 command to 'X' b
0000B0: 65 66 6F 72 65 20 63 61 6C 6C 69 6E 67 20 4A 47 efore calling JG
0000C0: 52 41 46 2E 0D 0A 20 20 20 20 20 20 54 68 69 73 RAF... This
0000D0: 20 77 69 6C 6C 20 66 72 65 65 20 74 68 65 20 62 will free the b
0000E0: 75 66 66 65 72 73 20 61 6C 6C 6F 63 61 74 65 64 uffers allocated
0000F0: 20 62 79 20 4A 47 52 41 46 20 28 69 6E 20 74 68 by JGRAF (in th
000100: 65 20 27 49 27 20 63 6F 6D 6D 61 6E 64 29 2E 0D e 'I' command)..
000110: 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 20 20 20 20 .....
000120: 4E 6F 74 65 20 20 74 68 61 74 20 20 65 76 65 72 Note that ever
000130: 79 20 20 63 61 6C 6C 20 20 74 6F 20 20 4A 47 52 y call to JGR
000140: 41 46 20 20 74 68 61 74 20 20 69 73 20 20 6E 6F AF that is no
000150: 74 20 70 72 6F 76 69 64 69 6E 67 20 64 61 74 61 t providing data
000160: 0D 0A 20 20 20 20 20 20 28 6A 67 69 2E 63 6F 6D .. (jgi.com
000170: 6D 61 6E 64 20 3D 20 27 44 27 29 20 73 68 6F 75 mand = 'D') shou
000180: 6C 64 20 68 61 76 65 20 74 68 65 20 78 20 61 6E ld have the x an
000190: 64 20 79 20 61 72 67 75 6D 65 6E 74 73 20 65 71 d y arguments eq
0001A0: 75 61 6C 20 74 6F 20 30 2E 30 2E 0D 0A 0D 0A 20 ual to 0.0.....
0001B0: 20 20 20 20 20 20 20 20 20 20 54 68 65 20 62 6F The bo
0001C0: 64 79 20 20 6F 66 20 20 74 68 65 20 20 73 61 6D dy of the sam
0001D0: 70 6C 65 20 20 70 72 6F 67 72 61 6D 20 20 6A 67 ple program jg
0001E0: 20 20 69 73 20 20 69 6E 63 6C 75 64 65 64 20 20 is included
0001F0: 68 65 72 65 2C 20 20 61 6E 64 0D 0A 20 20 20 20 here, and..
Size : 512 (Real : 512)
000000: 72 20 20 6F 66 20 20 63 6F 6C 75 6D 6E 73 20 20 r of columns
000010: 2B 20 20 31 36 29 20 20 2A 0D 0A 20 20 20 20 20 + 16) *..
000020: 20 28 6E 75 6D 62 65 72 20 20 6F 66 20 6C 69 6E (number of lin
000030: 65 73 20 2B 20 35 29 2C 20 77 68 69 63 68 20 73 es + 5), which s
000040: 68 6F 75 6C 64 20 6E 6F 74 20 65 78 63 65 65 64 hould not exceed
000050: 20 39 30 30 30 20 63 68 61 72 61 63 74 65 72 73 9000 characters
000060: 2E 20 20 54 68 65 0D 0A 20 20 20 20 20 20 6C 65 . The.. le
000070: 6E 67 74 68 20 6F 66 20 6A 67 69 2E 74 69 74 6C ngth of jgi.titl
000080: 65 20 73 68 6F 75 6C 64 20 62 65 20 6C 65 73 73 e should be less
000090: 20 74 68 61 6E 20 74 68 65 20 6E 75 6D 62 65 72 than the number
0000A0: 20 6F 66 20 63 6F 6C 75 6D 6E 73 20 69 6E 20 20 of columns in
0000B0: 74 68 65 0D 0A 20 20 20 20 20 20 70 6C 6F 74 2E the.. plot.
0000C0: 0D 0A 0D 0A 20 20 20 20 20 20 20 20 20 20 20 4F .... O
0000D0: 6E 63 65 20 20 61 6C 6C 20 20 74 68 65 20 20 72 nce all the r
0000E0: 65 71 75 61 69 72 65 64 20 20 6D 65 6D 62 65 72 equaired member
0000F0: 73 20 20 6F 66 20 20 6A 67 69 20 61 72 65 20 69 s of jgi are i
000100: 6E 69 74 69 61 6C 69 7A 65 64 2C 20 73 65 74 0D nitialized, set.
000110: 0A 20 20 20 20 20 20 6A 67 69 2E 63 6F 6D 6D 61 . jgi.comma
000120: 6E 64 20 74 6F 20 27 49 27 20 61 6E 64 20 63 61 nd to 'I' and ca
000130: 6C 6C 20 4A 47 52 41 46 2C 20 61 73 0D 0A 0D 0A ll JGRAF, as....
000140: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 4A 47 JG
000150: 49 2E 43 4F 4D 4D 41 4E 44 20 3A 3D 20 27 49 27 I.COMMAND := 'I'
000160: 3B 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 20 ;..
000170: 20 4A 47 52 41 46 20 28 20 4A 47 49 2C 20 30 2E JGRAF ( JGI, 0.
000180: 30 2C 20 30 2E 30 20 29 3B 0D 0A 0D 0A 20 20 20 0, 0.0 );....
000190: 20 20 20 28 4E 6F 74 65 20 20 74 68 61 74 20 20 (Note that
0001A0: 74 68 65 20 20 65 78 61 6D 70 6C 65 73 20 20 6C the examples l
0001B0: 69 73 74 65 64 20 20 68 65 72 65 20 20 69 6E 20 isted here in
0001C0: 20 75 70 70 65 72 20 20 63 61 73 65 20 20 20 61 upper case a
0001D0: 72 65 20 20 20 66 6F 72 0D 0A 20 20 20 20 20 20 re for..
0001E0: 69 6C 6C 75 73 74 72 61 74 69 6F 6E 20 6F 6E 6C illustration onl
0001F0: 79 20 61 6E 64 20 61 72 65 20 4E 4F 54 20 70 61 y and are NOT pa
Size : 512 (Real : 512)
000000: 20 20 69 6C 6C 75 73 74 72 61 74 65 73 20 20 6F illustrates o
000010: 6E 65 20 20 75 73 65 20 20 6F 66 20 4A 47 52 41 ne use of JGRA
000020: 46 2E 20 20 4A 67 20 74 61 6B 65 73 20 61 20 64 F. Jg takes a d
000030: 69 73 6B 20 66 69 6C 65 20 6F 66 20 63 6F 6D 6D isk file of comm
000040: 61 6E 64 73 20 61 73 0D 0A 20 20 20 20 20 20 69 ands as.. i
000050: 6E 70 75 74 20 61 6E 64 20 70 72 6F 64 75 63 65 nput and produce
000060: 73 20 6F 6E 65 20 6F 72 20 6D 6F 72 65 20 70 6C s one or more pl
000070: 6F 74 73 20 61 73 20 64 69 72 65 63 74 65 64 2E ots as directed.
000080: 20 20 20 43 6F 6D 6D 61 6E 64 73 20 20 6F 6E 20 Commands on
000090: 20 74 68 65 0D 0A 20 20 20 20 20 20 64 69 73 6B the.. disk
0000A0: 20 20 66 69 6C 65 20 61 72 65 20 73 69 6D 69 6C file are simil
0000B0: 69 61 72 20 74 6F 20 74 68 65 20 6F 70 74 69 6F iar to the optio
0000C0: 6E 73 20 74 6F 20 4A 47 52 41 46 2C 20 77 69 74 ns to JGRAF, wit
0000D0: 68 20 74 68 65 20 61 64 64 69 74 69 6F 6E 20 6F h the addition o
0000E0: 66 0D 0A 20 20 20 20 20 20 74 77 6F 20 63 6F 6D f.. two com
0000F0: 6D 61 6E 64 73 2E 20 20 54 20 66 6F 6C 6C 6F 77 mands. T follow
000100: 65 64 20 62 79 20 20 27 74 69 74 6C 65 27 20 20 ed by 'title'
000110: 6D 61 79 20 20 70 72 65 63 65 65 64 20 20 74 68 may preceed th
000120: 65 20 20 49 20 20 63 6F 6D 6D 61 6E 64 2E 0D 0A e I command...
000130: 20 20 20 20 20 20 50 65 72 69 6F 64 20 20 28 2E Period (.
000140: 29 20 20 66 6F 6C 6C 6F 77 65 64 20 20 62 79 20 ) followed by
000150: 61 20 73 70 61 63 65 20 61 6E 64 20 61 20 6E 65 a space and a ne
000160: 77 20 70 6C 6F 74 20 63 68 61 72 61 63 74 65 72 w plot character
000170: 20 77 69 6C 6C 20 72 65 73 65 74 0D 0A 20 20 20 will reset..
000180: 20 20 20 74 68 65 20 63 75 72 72 65 6E 74 20 70 the current p
000190: 6C 6F 74 20 63 68 61 72 61 63 74 65 72 2E 0D 0A lot character...
0001A0: 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ..
0001B0: 62 65 67 69 6E 20 20 28 2A 20 6A 67 20 2A 29 0D begin (* jg *).
0001C0: 0A 20 20 20 20 20 20 20 20 20 20 20 20 20 20 77 . w
0001D0: 72 69 74 65 28 27 47 65 6E 65 72 61 6C 20 67 72 rite('General gr
0001E0: 61 70 68 69 6E 67 20 69 6E 70 75 74 20 66 69 6C aphing input fil
0001F0: 65 3A 20 27 29 3B 0D 0A 20 20 20 20 20 20 20 20 e: ');..
Size : 512 (Real : 512)
000000: 72 74 20 6F 66 20 74 68 65 20 70 72 6F 67 72 61 rt of the progra
000010: 6D 20 6A 67 2E 29 0D 0A 0D 0A 20 20 20 20 20 20 m jg.)....
000020: 20 20 20 20 20 54 68 65 6E 2C 20 20 74 6F 20 70 Then, to p
000030: 6C 61 63 65 20 64 61 74 61 20 70 6F 69 6E 74 73 lace data points
000040: 20 6F 6E 20 74 68 65 20 67 72 61 70 68 2C 20 73 on the graph, s
000050: 65 74 20 6A 67 69 2E 63 6F 6D 6D 61 6E 64 20 74 et jgi.command t
000060: 6F 20 27 44 27 0D 0A 20 20 20 20 20 20 61 6E 64 o 'D'.. and
000070: 20 63 61 6C 6C 20 4A 47 52 41 46 20 66 6F 72 20 call JGRAF for
000080: 65 61 63 68 20 6F 66 20 74 68 65 20 61 70 70 72 each of the appr
000090: 6F 70 72 69 61 74 65 20 70 6F 69 6E 74 73 2E 20 opriate points.
0000A0: 20 44 6F 20 74 68 69 73 20 61 73 20 20 6F 66 74 Do this as oft
0000B0: 65 6E 0D 0A 20 20 20 20 20 20 61 73 20 20 6E 65 en.. as ne
0000C0: 65 64 65 64 2E 20 20 20 54 6F 20 67 65 74 20 74 eded. To get t
0000D0: 77 6F 20 64 69 73 74 69 6E 63 74 20 63 75 72 76 wo distinct curv
0000E0: 65 73 2C 20 79 6F 75 20 63 6F 75 6C 64 20 73 65 es, you could se
0000F0: 74 20 6A 67 69 2E 70 6C 6F 74 5F 63 68 61 72 0D t jgi.plot_char.
000100: 0A 20 20 20 20 20 20 74 6F 20 27 2A 27 20 66 6F . to '*' fo
000110: 72 20 6F 6E 65 20 73 65 74 20 6F 66 20 70 6F 69 r one set of poi
000120: 6E 74 73 2C 20 74 68 65 6E 20 73 65 74 20 69 74 nts, then set it
000130: 20 74 6F 20 27 23 27 20 62 65 66 6F 72 65 20 63 to '#' before c
000140: 61 6C 6C 69 6E 67 20 4A 47 52 41 46 0D 0A 20 20 alling JGRAF..
000150: 20 20 20 20 77 69 74 68 20 61 6E 6F 74 68 65 72 with another
000160: 20 73 65 74 20 6F 66 20 70 6F 69 6E 74 73 2E 0D set of points..
000170: 0A 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 20 ...
000180: 20 4A 47 49 2E 43 4F 4D 4D 41 4E 44 20 3A 3D 20 JGI.COMMAND :=
000190: 27 44 27 3B 0D 0A 20 20 20 20 20 20 20 20 20 20 'D';..
0001A0: 20 20 20 20 4A 47 49 2E 50 4C 4F 54 5F 43 48 41 JGI.PLOT_CHA
0001B0: 52 20 3A 3D 20 27 2A 27 3B 0D 0A 20 20 20 20 20 R := '*';..
0001C0: 20 20 20 20 20 20 20 20 20 4A 47 52 41 46 20 28 JGRAF (
0001D0: 20 4A 47 49 2C 20 31 35 2E 34 2C 20 31 39 39 2E JGI, 15.4, 199.
0001E0: 32 20 29 3B 0D 0A 20 20 20 20 20 20 20 20 20 20 2 );..
0001F0: 20 20 20 20 4A 47 52 41 46 20 28 20 4A 47 49 2C JGRAF ( JGI,
Size : 512 (Real : 512)
000000: 20 20 20 20 20 20 72 65 61 64 6C 6E 28 66 69 6C readln(fil
000010: 65 5F 6E 61 6D 65 29 3B 0D 0A 20 20 20 20 20 20 e_name);..
000020: 20 20 20 20 20 20 20 20 72 65 73 65 74 28 69 6E reset(in
000030: 66 2C 66 69 6C 65 5F 6E 61 6D 65 2C 20 74 65 78 f,file_name, tex
000040: 74 2C 20 35 31 32 29 3B 0D 0A 20 20 20 20 20 20 t, 512);..
000050: 20 20 20 20 20 20 20 20 6A 67 69 2E 74 69 74 6C jgi.titl
000060: 65 20 3A 3D 20 27 20 27 3B 0D 0A 20 20 20 20 20 e := ' ';..
000070: 20 20 20 20 20 20 20 20 20 77 68 69 6C 65 20 28 while (
000080: 6E 6F 74 20 65 6F 66 28 69 6E 66 29 29 20 64 6F not eof(inf)) do
000090: 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ..
0000A0: 20 20 20 20 20 20 20 20 62 65 67 69 6E 0D 0A 20 begin..
0000B0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
0000C0: 20 20 20 20 20 72 65 61 64 28 69 6E 66 3B 20 63 read(inf; c
0000D0: 6F 6D 6D 61 6E 64 29 3B 0D 0A 20 20 20 20 20 20 ommand);..
0000E0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
0000F0: 63 6F 6D 6D 61 6E 64 20 3A 3D 20 75 70 63 61 73 command := upcas
000100: 65 28 63 6F 6D 6D 61 6E 64 29 3B 0D 0A 20 20 20 e(command);..
000110: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
000120: 20 20 20 77 72 69 74 65 6C 6E 28 27 64 62 20 27 writeln('db '
000130: 2C 63 6F 6D 6D 61 6E 64 29 3B 0D 0A 20 20 20 20 ,command);..
000140: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
000150: 20 20 6A 67 69 2E 63 6F 6D 6D 61 6E 64 20 3A 3D jgi.command :=
000160: 20 63 6F 6D 6D 61 6E 64 3B 0D 0A 20 20 20 20 20 command;..
000170: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
000180: 20 63 61 73 65 20 63 6F 6D 6D 61 6E 64 20 6F 66 case command of
000190: 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ..
0001A0: 20 20 20 20 20 20 20 20 27 54 27 3A 20 20 20 20 'T':
0001B0: 62 65 67 69 6E 0D 0A 20 20 20 20 20 20 20 20 20 begin..
0001C0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
0001D0: 20 20 20 20 20 72 65 61 64 6C 6E 20 28 69 6E 66 readln (inf
0001E0: 3B 20 74 69 74 6C 65 29 3B 0D 0A 20 20 20 20 20 ; title);..
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 20 20 20 20 20 20 20 20 20 20 2A *
000010: 2A 2A 2A 0D 0A 20 20 20 20 20 20 20 20 20 20 20 ***..
000020: 20 20 20 20 36 30 20 2D 49 2D 2D 2D 2D 2D 2D 2D 60 -I-------
000030: 2D 2D 49 2D 2D 2D 2D 2D 2D 2D 2D 2D 49 2D 2D 2D --I---------I---
000040: 2D 2D 2D 2D 2D 2D 49 2D 2D 2D 2D 2D 2D 2D 2D 2D ------I---------
000050: 49 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 20 I..
000060: 20 20 20 20 20 20 49 20 20 20 20 20 20 20 20 20 I
000070: 49 20 20 20 20 20 20 20 20 20 49 20 20 20 20 20 I I
000080: 20 20 20 20 49 20 20 20 20 20 20 20 20 20 49 0D I I.
000090: 0A 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .
0000A0: 20 20 20 20 49 20 20 20 20 20 20 20 20 20 49 20 I I
0000B0: 20 20 20 20 20 20 20 20 49 20 20 20 20 20 20 20 I
0000C0: 20 20 49 20 20 20 20 20 20 20 20 20 49 0D 0A 20 I I..
0000D0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
0000E0: 20 20 49 20 20 20 20 20 20 20 20 20 49 20 20 20 I I
0000F0: 20 20 20 20 20 20 49 20 20 20 20 20 20 20 20 20 I
000100: 49 20 20 20 20 20 20 20 20 20 49 0D 0A 20 20 20 I I..
000110: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
000120: 49 20 20 20 20 20 20 20 20 20 49 20 20 20 20 20 I I
000130: 20 20 20 20 49 20 20 20 20 20 20 20 20 20 49 20 I I
000140: 20 20 20 20 20 20 20 20 49 0D 0A 20 20 20 20 20 I..
000150: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 49 20 I
000160: 20 20 20 20 20 20 20 20 49 20 20 20 20 20 20 20 I
000170: 20 20 49 20 20 20 20 20 20 20 20 20 49 20 20 20 I I
000180: 20 20 20 20 20 20 49 0D 0A 20 20 20 20 20 20 20 I..
000190: 20 20 20 20 20 20 20 20 20 20 20 20 49 20 20 20 I
0001A0: 20 20 20 20 20 20 49 20 20 20 20 20 20 20 20 20 I
0001B0: 49 20 20 20 20 20 20 20 20 20 49 20 20 20 20 20 I I
0001C0: 20 20 20 20 49 0D 0A 20 20 20 20 20 20 20 20 20 I..
0001D0: 20 20 20 20 20 20 20 20 20 20 49 20 20 20 20 20 I
0001E0: 20 20 20 20 49 20 20 20 20 20 20 20 20 20 49 20 I I
0001F0: 20 20 20 20 20 20 20 20 49 20 20 20 20 20 20 20 I
Size : 512 (Real : 512)
000000: 20 20 20 20 20 20 20 20 20 6A 67 69 2E 74 69 74 jgi.tit
000010: 6C 65 20 3A 3D 20 74 69 74 6C 65 3B 0D 0A 20 20 le := title;..
000020: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
000030: 20 20 20 20 20 20 20 20 20 20 20 20 65 6E 64 3B end;
000040: 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ..
000050: 20 20 20 20 20 20 20 20 27 49 27 3A 20 20 20 20 'I':
000060: 62 65 67 69 6E 0D 0A 20 20 20 20 20 20 20 20 20 begin..
000070: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
000080: 20 20 20 20 20 72 65 61 64 6C 6E 20 28 69 6E 66 readln (inf
000090: 3B 20 6A 67 69 2E 72 6F 77 73 2C 20 6A 67 69 2E ; jgi.rows, jgi.
0000A0: 63 6F 6C 75 6D 6E 73 2C 0D 0A 20 20 20 20 20 20 columns,..
0000B0: 20 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 20 20 20 20 20 20 20
0000D0: 6A 67 69 2E 78 5F 6C 6F 77 65 72 2C 20 6A 67 69 jgi.x_lower, jgi
0000E0: 2E 78 5F 75 70 70 65 72 2C 0D 0A 20 20 20 20 20 .x_upper,..
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 6A 67 69 2E 79 5F 6C 6F 77 65 72 2C 20 6A 67 jgi.y_lower, jg
000120: 69 2E 79 5F 75 70 70 65 72 29 3B 0D 0A 20 20 20 i.y_upper);..
000130: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
000140: 20 20 20 20 20 20 20 20 20 20 20 6A 67 69 2E 70 jgi.p
000150: 6C 6F 74 5F 63 68 61 72 20 3A 3D 20 27 2A 27 3B lot_char := '*';
000160: 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ..
000170: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
000180: 6A 67 69 2E 78 5F 67 72 69 64 20 3A 3D 20 74 72 jgi.x_grid := tr
000190: 75 65 3B 0D 0A 20 20 20 20 20 20 20 20 20 20 20 ue;..
0001A0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
0001B0: 20 20 20 6A 67 69 2E 79 5F 67 72 69 64 20 3A 3D jgi.y_grid :=
0001C0: 20 74 72 75 65 3B 0D 0A 20 20 20 20 20 20 20 20 true;..
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 20 20 20 20 20 20 28 2A (*
0001F0: 20 6E 6F 74 65 20 74 68 61 74 20 61 6C 6C 20 72 note that all r
Size : 512 (Real : 512)
000000: 20 20 49 0D 0A 20 20 20 20 20 20 20 20 20 20 20 I..
000010: 20 20 20 20 20 20 20 20 49 20 20 20 20 20 20 20 I
000020: 20 20 49 20 20 20 20 20 20 20 20 20 49 20 20 20 I I
000030: 20 20 20 20 20 20 49 20 20 20 20 20 20 20 20 20 I
000040: 49 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 20 I..
000050: 20 20 20 20 20 20 49 20 20 20 20 20 20 20 20 20 I
000060: 49 20 20 20 20 20 20 20 20 20 49 20 20 20 20 20 I I
000070: 20 20 20 20 49 20 20 20 20 20 20 20 20 20 49 0D I I.
000080: 0A 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .
000090: 33 30 20 2D 49 2D 2D 2D 2D 2D 2D 2D 2D 2D 49 2D 30 -I---------I-
0000A0: 2D 2D 2D 2D 2D 2D 2D 2D 49 2D 2D 2D 2D 2D 2D 2D --------I-------
0000B0: 2D 2D 49 2D 2D 2D 2D 2D 2D 2D 2D 2D 49 0D 0A 20 --I---------I..
0000C0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
0000D0: 20 20 49 20 20 20 20 20 20 20 20 20 49 20 20 20 I I
0000E0: 20 20 20 20 20 20 49 20 20 20 20 20 20 20 20 20 I
0000F0: 49 20 23 20 20 20 20 20 20 20 49 20 0D 0A 20 20 I # I ..
000100: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
000110: 20 49 20 20 20 20 20 20 20 20 20 49 20 20 20 20 I I
000120: 20 20 20 20 20 49 20 20 20 20 20 20 20 20 20 49 I I
000130: 20 20 20 20 20 20 20 20 20 49 0D 0A 20 20 20 20 I..
000140: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 49 I
000150: 20 20 20 20 20 20 20 20 20 49 20 20 20 20 20 20 I
000160: 20 20 20 49 20 20 20 20 20 20 20 20 20 49 20 20 I I
000170: 20 20 20 20 20 20 20 49 0D 0A 20 20 20 20 20 20 I..
000180: 20 20 20 20 20 20 20 20 20 20 20 20 20 49 20 20 I
000190: 20 20 20 20 20 20 20 49 20 20 20 20 20 20 20 20 I
0001A0: 20 49 20 20 20 20 20 20 20 20 20 49 20 20 20 20 I I
0001B0: 20 20 20 20 20 49 0D 0A 20 20 20 20 20 20 20 20 I..
0001C0: 20 20 20 20 20 20 20 20 20 20 20 49 20 20 20 20 I
0001D0: 20 20 20 2A 2A 2A 20 20 20 20 20 20 20 20 20 49 *** I
0001E0: 20 20 20 20 20 20 20 20 20 49 20 20 20 20 20 20 I
0001F0: 20 20 20 49 0D 0A 20 20 20 20 20 20 20 20 20 20 I..
Size : 512 (Real : 512)
000000: 65 71 75 69 72 65 64 20 6D 65 6D 62 65 72 73 20 equired members
000010: 2A 29 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 *)..
000020: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
000030: 20 20 20 20 20 20 20 20 20 20 28 2A 20 6F 66 20 (* of
000040: 6A 67 69 20 68 61 76 65 20 62 65 65 6E 20 73 65 jgi have been se
000050: 74 20 2A 29 0D 0A 20 20 20 20 20 20 20 20 20 20 t *)..
000060: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
000070: 20 20 20 20 6A 67 72 61 66 28 6A 67 69 2C 20 30 jgraf(jgi, 0
000080: 2E 30 2C 20 30 2E 30 29 3B 0D 0A 20 20 20 20 20 .0, 0.0);..
000090: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
0000A0: 20 20 20 20 20 20 20 20 20 77 72 69 74 65 6C 6E writeln
0000B0: 28 27 20 64 6F 6E 65 20 49 27 29 3B 0D 0A 20 20 (' done I');..
0000C0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
0000D0: 20 20 20 20 20 20 20 20 20 20 20 20 65 6E 64 3B end;
0000E0: 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ..
0000F0: 20 20 20 20 20 20 20 20 27 44 27 3A 20 20 20 20 'D':
000100: 62 65 67 69 6E 0D 0A 20 20 20 20 20 20 20 20 20 begin..
000110: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
000120: 20 20 20 20 20 72 65 61 64 28 69 6E 66 3B 20 78 read(inf; x
000130: 2C 20 79 29 3B 0D 0A 20 20 20 20 20 20 20 20 20 , y);..
000140: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
000150: 20 20 20 20 20 6A 67 72 61 66 28 6A 67 69 2C 20 jgraf(jgi,
000160: 78 2C 20 79 29 3B 0D 0A 20 20 20 20 20 20 20 20 x, y);..
000170: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
000180: 20 20 20 20 20 20 65 6E 64 3B 0D 0A 20 20 20 20 end;..
000190: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
0001A0: 20 20 27 2E 27 3A 20 20 20 20 72 65 61 64 6C 6E '.': readln
0001B0: 28 69 6E 66 3B 20 6A 67 69 2E 70 6C 6F 74 5F 63 (inf; jgi.plot_c
0001C0: 68 61 72 29 3B 0D 0A 20 20 20 20 20 20 20 20 20 har);..
0001D0: 20 20 20 20 20 20 20 20 20 20 20 20 20 27 43 27 'C'
0001E0: 3A 20 20 20 20 6A 67 72 61 66 28 6A 67 69 2C 20 : jgraf(jgi,
0001F0: 30 2E 30 2C 20 30 2E 30 29 3B 0D 0A 20 20 20 20 0.0, 0.0);..
Size : 512 (Real : 512)
000000: 20 20 20 20 20 20 20 20 20 49 20 20 20 20 20 20 I
000010: 2A 20 20 49 20 20 20 20 20 20 20 20 20 49 20 20 * I I
000020: 20 20 20 20 20 20 20 49 20 20 20 20 20 20 20 20 I
000030: 20 49 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 I..
000040: 20 20 20 20 20 20 20 49 20 20 20 20 20 2A 20 20 I *
000050: 20 49 20 20 20 20 20 20 20 20 20 49 20 20 20 20 I I
000060: 20 20 20 20 20 49 20 20 20 20 20 20 20 20 20 49 I I
000070: 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ..
000080: 20 20 20 20 20 49 20 20 20 20 2A 20 20 20 20 49 I * I
000090: 20 20 20 20 20 20 20 20 20 49 20 20 20 20 20 20 I
0000A0: 20 20 20 49 20 23 20 20 20 20 20 20 20 49 0D 0A I # I..
0000B0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
0000C0: 20 20 20 49 20 20 20 20 23 20 20 20 20 49 20 20 I # I
0000D0: 20 20 20 20 20 20 20 49 20 20 20 20 20 20 20 20 I
0000E0: 20 49 20 20 20 20 20 20 20 20 20 49 0D 0A 20 20 I I..
0000F0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 30 20 0
000100: 2D 49 2D 2D 2D 2D 2D 2D 2D 2D 2D 49 2D 2D 2D 2D -I---------I----
000110: 2D 2D 2D 2D 2D 49 2D 2D 2D 2D 2D 2D 2D 2D 2D 49 -----I---------I
000120: 2D 2D 2D 2D 2D 2D 2D 2D 2D 49 0D 0A 0D 0A 20 20 ---------I....
000130: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
000140: 20 30 20 20 20 20 20 20 20 20 20 31 30 20 20 20 0 10
000150: 20 20 20 20 20 32 30 20 20 20 20 20 20 20 20 33 20 3
000160: 30 20 20 20 20 20 20 20 20 34 30 0D 0A 20 20 20 0 40..
000170: 20 20 20 41 20 73 75 6D 6D 61 72 79 20 6F 66 20 A summary of
000180: 74 68 65 20 63 6F 6D 6D 61 6E 64 73 20 74 6F 20 the commands to
000190: 4A 47 52 41 46 20 69 73 20 69 6E 63 6C 75 64 65 JGRAF is include
0001A0: 64 20 6E 6F 77 20 66 6F 72 20 72 65 66 65 72 65 d now for refere
0001B0: 6E 63 65 3A 0D 0A 0D 0A 20 20 20 20 20 20 20 20 nce:....
0001C0: 20 20 20 20 20 63 6F 64 65 20 20 20 20 20 6D 65 code me
0001D0: 61 6E 69 6E 67 0D 0A 20 20 20 20 20 20 20 20 20 aning..
0001E0: 20 20 20 20 2D 2D 2D 2D 20 20 20 20 20 2D 2D 2D ---- ---
0001F0: 2D 2D 2D 2D 2D 2D 2D 2D 0D 0A 20 20 20 20 20 20 --------..
Size : 512 (Real : 512)
000000: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
000010: 20 20 27 50 27 3A 20 20 20 20 6A 67 72 61 66 28 'P': jgraf(
000020: 6A 67 69 2C 20 30 2E 30 2C 20 30 2E 30 29 3B 0D jgi, 0.0, 0.0);.
000030: 0A 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .
000040: 20 20 20 20 20 20 20 27 53 27 3A 20 20 20 20 62 'S': b
000050: 65 67 69 6E 0D 0A 20 20 20 20 20 20 20 20 20 20 egin..
000060: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
000070: 20 20 20 20 72 65 61 64 6C 6E 28 69 6E 66 3B 20 readln(inf;
000080: 66 69 6C 65 5F 6E 61 6D 65 29 3B 0D 0A 20 20 20 file_name);..
000090: 20 20 20 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 6A 67 69 2E 66 jgi.f
0000B0: 69 6C 65 6E 61 6D 65 20 3A 3D 20 66 69 6C 65 5F ilename := file_
0000C0: 6E 61 6D 65 3B 0D 0A 20 20 20 20 20 20 20 20 20 name;..
0000D0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
0000E0: 20 20 20 20 20 6A 67 72 61 66 28 6A 67 69 2C 20 jgraf(jgi,
0000F0: 30 2E 30 2C 20 30 2E 30 29 3B 0D 0A 20 20 20 20 0.0, 0.0);..
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 65 6E 64 3B 0D 0A end;..
000120: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
000130: 20 20 20 20 20 20 27 58 27 3A 20 20 20 20 6A 67 'X': jg
000140: 72 61 66 28 6A 67 69 2C 20 30 2E 30 2C 20 30 2E raf(jgi, 0.0, 0.
000150: 30 29 3B 0D 0A 20 20 20 20 20 20 20 20 20 20 20 0);..
000160: 20 20 20 20 20 20 20 20 20 20 20 65 6C 73 65 3A else:
000170: 20 20 20 77 72 69 74 65 6C 6E 28 27 55 6E 72 65 writeln('Unre
000180: 63 6F 67 6E 69 7A 65 64 20 63 6F 6D 6D 61 6E 64 cognized command
000190: 3A 20 27 2C 63 6F 6D 6D 61 6E 64 29 3B 0D 0A 20 : ',command);..
0001A0: 20 20 20 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 20 20 65 6E 64 end
0001C0: 3B 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 65 6E 64 3B 0D 0A 20 end;..
0001E0: 20 20 20 20 20 20 20 20 20 20 20 20 20 63 6C 6F clo
0001F0: 73 65 28 69 6E 66 29 3B 0D 0A 20 20 20 20 20 20 se(inf);..
Size : 512 (Real : 512)
000000: 20 20 20 20 20 20 20 20 43 20 20 20 20 20 20 20 C
000010: 64 69 73 70 6C 61 79 20 67 72 61 70 68 20 6F 6E display graph on
000020: 20 63 6F 6E 73 6F 6C 65 0D 0A 20 20 20 20 20 20 console..
000030: 20 20 20 20 20 20 20 20 44 20 20 20 20 20 20 20 D
000040: 70 6C 6F 74 20 61 20 64 61 74 61 20 70 6F 69 6E plot a data poin
000050: 74 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 20 t..
000060: 20 49 20 20 20 20 20 20 20 69 6E 69 74 69 61 6C I initial
000070: 69 7A 65 20 67 72 61 70 68 20 62 75 66 66 65 72 ize graph buffer
000080: 20 61 6E 64 20 61 78 65 73 0D 0A 20 20 20 20 20 and axes..
000090: 20 20 20 20 20 20 20 20 20 50 20 20 20 20 20 20 P
0000A0: 20 70 72 69 6E 74 20 67 72 61 70 68 0D 0A 20 20 print graph..
0000B0: 20 20 20 20 20 20 20 20 20 20 20 20 53 20 20 20 S
0000C0: 20 20 20 20 73 61 76 65 20 67 72 61 70 68 20 6F save graph o
0000D0: 6E 20 61 20 64 69 73 6B 20 66 69 6C 65 0D 0A 20 n a disk file..
0000E0: 20 20 20 20 20 20 20 20 20 20 20 20 20 58 20 20 X
0000F0: 20 20 20 20 20 64 65 6C 65 74 65 20 67 72 61 70 delete grap
000100: 68 20 62 75 66 66 65 72 0D 0A 0D 0A 20 20 20 20 h buffer....
000110: 20 20 20 20 20 20 20 54 68 65 20 73 6F 75 72 63 The sourc
000120: 65 20 63 6F 64 65 20 66 6F 72 20 4A 47 52 41 46 e code for JGRAF
000130: 20 69 73 20 70 72 6F 76 69 64 65 64 20 61 6E 64 is provided and
000140: 20 6D 61 79 20 62 65 20 6D 6F 64 69 66 69 65 64 may be modified
000150: 2E 20 20 20 46 6F 72 0D 0A 20 20 20 20 20 20 65 . For.. e
000160: 78 61 6D 70 6C 65 2C 20 20 74 68 65 20 6E 75 6D xample, the num
000170: 62 65 72 20 6F 66 20 6C 69 6E 65 73 20 62 65 74 ber of lines bet
000180: 77 65 65 6E 20 74 68 65 20 78 5F 67 72 69 64 20 ween the x_grid
000190: 6C 69 6E 65 73 20 63 61 6E 20 62 65 20 63 68 61 lines can be cha
0001A0: 6E 67 65 64 0D 0A 20 20 20 20 20 20 74 6F 20 36 nged.. to 6
0001B0: 20 28 6F 72 20 74 6F 20 38 29 20 73 6F 20 74 68 (or to 8) so th
0001C0: 61 74 20 74 68 65 20 67 72 69 64 20 6C 69 6E 65 at the grid line
0001D0: 73 20 20 66 6F 72 6D 20 20 61 20 20 6F 6E 65 20 s form a one
0001E0: 20 69 6E 63 68 20 20 73 71 75 61 72 65 20 20 6F inch square o
0001F0: 6E 0D 0A 20 20 20 20 20 20 70 72 69 6E 74 65 72 n.. printer
Size : 512 (Real : 512)
000000: 20 20 20 20 20 20 20 20 65 6E 64 2E 0D 0A 0D 0A end.....
000010: 20 20 20 20 20 20 47 69 76 65 6E 20 74 68 65 20 Given the
000020: 69 6E 70 75 74 20 66 69 6C 65 20 53 41 4D 50 4C input file SAMPL
000030: 45 2E 44 41 54 20 61 73 20 66 6F 6C 6C 6F 77 73 E.DAT as follows
000040: 3A 0D 0A 0D 0A 20 20 20 20 20 20 20 20 20 20 20 :....
000050: 20 20 20 54 20 27 53 61 6D 70 6C 65 27 0D 0A 20 T 'Sample'..
000060: 20 20 20 20 20 20 20 20 20 20 20 20 20 49 20 32 I 2
000070: 30 20 34 30 20 30 20 34 30 20 30 20 36 30 0D 0A 0 40 0 40 0 60..
000080: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 44 20 D
000090: 35 20 36 20 20 20 44 20 36 20 31 30 0D 0A 20 20 5 6 D 6 10..
0000A0: 20 20 20 20 20 20 20 20 20 20 20 20 44 20 37 20 D 7
0000B0: 31 32 20 20 44 20 38 20 31 35 0D 0A 20 20 20 20 12 D 8 15..
0000C0: 20 20 20 20 20 20 20 20 20 20 44 20 39 20 31 36 D 9 16
0000D0: 20 20 44 20 31 30 20 31 36 0D 0A 20 20 20 20 20 D 10 16..
0000E0: 20 20 20 20 20 20 20 20 20 2E 20 23 0D 0A 20 20 . #..
0000F0: 20 20 20 20 20 20 20 20 20 20 20 20 44 20 35 20 D 5
000100: 32 20 20 20 44 20 33 32 20 36 0D 0A 20 20 20 20 2 D 32 6..
000110: 20 20 20 20 20 20 20 20 20 20 44 20 33 32 20 32 D 32 2
000120: 37 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 20 7..
000130: 20 43 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 C..
000140: 20 20 53 20 73 61 6D 70 6C 65 2E 6F 75 74 0D 0A S sample.out..
000150: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 58 0D X.
000160: 0A 0D 0A 20 20 20 20 20 20 4A 67 20 77 69 6C 6C ... Jg will
000170: 20 70 72 6F 64 75 63 65 20 74 68 65 20 20 28 75 produce the (u
000180: 6E 69 6E 73 70 69 72 65 64 29 20 20 6F 75 74 70 ninspired) outp
000190: 75 74 20 66 69 6C 65 20 53 41 4D 50 4C 45 2E 4F ut file SAMPLE.O
0001A0: 55 54 20 61 73 20 66 6F 6C 6C 6F 77 73 2C 0D 0A UT as follows,..
0001B0: 20 20 20 20 20 20 67 69 76 65 6E 20 74 68 65 20 given the
0001C0: 69 6E 70 75 74 20 6C 69 73 74 65 64 20 61 62 6F input listed abo
0001D0: 76 65 2E 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 20 20 20 ve...........
0001E0: 20 20 20 4A 47 52 41 46 20 76 65 72 20 33 2E 30 JGRAF ver 3.0
0001F0: 20 20 20 20 2A 2A 2A 2A 20 53 61 6D 70 6C 65 20 **** Sample
Size : 512 (Real : 512)
000000: 73 20 77 69 74 68 20 31 30 20 63 68 61 72 61 63 s with 10 charac
000010: 74 65 72 73 20 70 65 72 20 69 6E 63 68 20 61 6E ters per inch an
000020: 64 20 36 20 28 6F 72 20 38 29 20 6C 69 6E 65 73 d 6 (or 8) lines
000030: 20 70 65 72 20 69 6E 63 68 2E 0D 0A 0D 0A 20 20 per inch.....
000040: 20 20 20 20 20 20 20 20 20 4A 47 52 41 46 20 20 JGRAF
000050: 69 73 20 20 6E 6F 74 20 20 6C 69 6D 69 74 65 64 is not limited
000060: 20 20 74 6F 20 20 73 63 61 74 74 65 72 20 20 70 to scatter p
000070: 6C 6F 74 73 2E 20 20 20 57 69 74 68 20 20 61 70 lots. With ap
000080: 70 72 6F 70 72 69 61 74 65 0D 0A 20 20 20 20 20 propriate..
000090: 20 73 65 6C 65 63 74 69 6F 6E 20 6F 66 20 64 61 selection of da
0000A0: 74 61 20 70 6F 69 6E 74 73 2C 20 68 69 73 74 6F ta points, histo
0000B0: 67 72 61 6D 73 20 63 61 6E 20 62 65 20 70 72 6F grams can be pro
0000C0: 64 75 63 65 64 2E 20 20 43 6F 6E 74 6F 75 72 20 duced. Contour
0000D0: 20 70 6C 6F 74 73 0D 0A 20 20 20 20 20 20 28 61 plots.. (a
0000E0: 6E 64 20 65 76 65 6E 20 69 73 6F 6D 65 74 72 69 nd even isometri
0000F0: 63 20 64 72 61 77 69 6E 67 73 29 20 61 72 65 20 c drawings) are
000100: 61 6C 73 6F 20 70 6F 73 73 69 62 6C 65 2E 0D 0A also possible...
000110: 0D 0A 20 20 20 20 20 20 46 2E 20 20 20 52 65 73 .. F. Res
000120: 74 72 69 63 74 69 6F 6E 73 0D 0A 20 20 20 20 20 trictions..
000130: 20 31 2E 20 41 72 72 61 79 73 20 61 72 65 20 6C 1. Arrays are l
000140: 69 6D 69 74 65 64 20 74 6F 20 38 20 64 69 6D 65 imited to 8 dime
000150: 6E 73 69 6F 6E 73 2E 0D 0A 0D 0A 20 20 20 20 20 nsions.....
000160: 20 32 2E 20 4C 69 74 65 72 61 6C 20 63 68 61 72 2. Literal char
000170: 73 20 73 74 72 69 6E 67 73 20 69 6E 20 74 68 65 s strings in the
000180: 20 27 63 6F 6E 73 74 27 20 73 65 63 74 69 6F 6E 'const' section
000190: 20 61 72 65 20 6C 69 6D 69 74 65 64 20 74 6F 20 are limited to
0001A0: 33 32 20 63 68 61 72 73 2E 0D 0A 0D 0A 20 20 20 32 chars.....
0001B0: 20 20 20 33 2E 20 52 61 6E 64 6F 6D 20 64 69 73 3. Random dis
0001C0: 6B 20 66 69 6C 65 73 20 72 65 71 75 69 72 65 20 k files require
0001D0: 43 50 2F 4D 20 32 2E 32 20 61 6E 64 20 6D 61 79 CP/M 2.2 and may
0001E0: 20 62 65 20 75 70 20 74 6F 20 38 20 4D 42 20 69 be up to 8 MB i
0001F0: 6E 20 73 69 7A 65 2E 0D 0A 0D 0A 20 20 20 20 20 n size.....
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: 20 34 2E 20 20 53 65 74 73 20 20 61 72 65 20 20 4. Sets are
000010: 6C 69 6D 69 74 65 64 20 74 6F 20 31 32 38 20 65 limited to 128 e
000020: 6C 65 6D 65 6E 74 73 2E 20 20 54 68 65 20 66 69 lements. The fi
000030: 72 73 74 20 65 6C 65 6D 65 6E 74 20 28 6C 65 66 rst element (lef
000040: 74 6D 6F 73 74 29 0D 0A 20 20 20 20 20 20 63 6F tmost).. co
000050: 72 72 65 73 70 6F 6E 64 73 20 74 6F 20 30 3B 20 rresponds to 0;
000060: 74 68 65 20 6C 61 73 74 20 65 6C 65 6D 65 6E 74 the last element
000070: 20 28 72 69 67 68 74 6D 6F 73 74 29 20 63 6F 72 (rightmost) cor
000080: 72 65 73 70 6F 6E 64 73 20 74 6F 20 31 32 37 2E responds to 127.
000090: 0D 0A 0D 0A 20 20 20 20 20 20 35 2E 20 55 70 20 .... 5. Up
0000A0: 74 6F 20 36 33 20 65 78 74 65 72 6E 61 6C 20 70 to 63 external p
0000B0: 72 6F 63 65 64 75 72 65 73 20 61 6E 64 20 66 75 rocedures and fu
0000C0: 6E 63 74 69 6F 6E 73 20 6D 61 79 20 62 65 20 64 nctions may be d
0000D0: 65 63 6C 61 72 65 64 2E 0D 0A 0D 0A 20 20 20 20 eclared.....
0000E0: 20 20 36 2E 20 20 4E 6F 74 20 6D 6F 72 65 20 74 6. Not more t
0000F0: 68 61 6E 20 31 36 33 32 20 64 79 6E 61 6D 69 63 han 1632 dynamic
000100: 20 73 74 6F 72 61 67 65 20 62 6C 6F 63 6B 73 20 storage blocks
000110: 6D 61 79 20 62 65 20 61 6C 6C 6F 63 61 74 65 64 may be allocated
000120: 20 61 74 20 6F 6E 65 0D 0A 20 20 20 20 20 20 74 at one.. t
000130: 69 6D 65 2E 20 20 54 68 65 20 72 75 6E 2D 74 69 ime. The run-ti
000140: 6D 65 20 73 79 73 74 65 6D 20 6D 61 79 20 72 65 me system may re
000150: 71 75 69 72 65 20 75 70 20 74 6F 20 31 30 30 20 quire up to 100
000160: 6F 66 20 20 74 68 65 73 65 20 20 66 6F 72 20 20 of these for
000170: 66 69 6C 65 0D 0A 20 20 20 20 20 20 62 75 66 66 file.. buff
000180: 65 72 73 2C 20 66 69 6C 65 20 63 6F 6E 74 72 6F ers, file contro
000190: 6C 20 62 6C 6F 63 6B 73 2C 20 65 78 74 65 72 6E l blocks, extern
0001A0: 61 6C 20 70 72 6F 63 65 64 75 72 65 73 20 61 6E al procedures an
0001B0: 64 20 6F 74 68 65 72 20 75 73 65 73 2E 0D 0A 0D d other uses....
0001C0: 0A 20 20 20 20 20 20 37 2E 20 22 57 69 74 68 22 . 7. "With"
0001D0: 20 73 74 61 74 65 6D 65 6E 74 73 20 6D 61 79 20 statements may
0001E0: 6E 6F 74 20 62 65 20 6E 65 73 74 65 64 20 74 6F not be nested to
0001F0: 20 6D 6F 72 65 20 74 68 61 6E 20 33 31 20 6C 65 more than 31 le
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: 76 65 6C 73 2E 0D 0A 0D 0A 20 20 20 20 20 20 38 vels..... 8
000010: 2E 20 22 43 61 73 65 22 20 73 74 61 74 65 6D 65 . "Case" stateme
000020: 6E 74 73 20 61 72 65 20 6C 69 6D 69 74 65 64 20 nts are limited
000030: 74 6F 20 31 32 38 20 63 6C 61 75 73 65 73 20 77 to 128 clauses w
000040: 69 74 68 20 31 32 38 20 6C 61 62 65 6C 73 20 70 ith 128 labels p
000050: 65 72 20 63 6C 61 75 73 65 2E 0D 0A 0D 0A 20 20 er clause.....
000060: 20 20 20 20 39 2E 20 49 6E 74 65 67 65 72 73 20 9. Integers
000070: 6D 75 73 74 20 62 65 20 62 65 74 77 65 65 6E 20 must be between
000080: 2B 33 32 37 36 37 20 61 6E 64 20 2D 33 32 37 36 +32767 and -3276
000090: 38 2C 20 73 69 6E 63 65 20 74 68 65 79 20 61 72 8, since they ar
0000A0: 65 20 20 73 74 6F 72 65 64 0D 0A 20 20 20 20 20 e stored..
0000B0: 20 69 6E 20 20 31 36 2D 62 69 74 20 20 74 77 6F in 16-bit two
0000C0: 73 2D 63 6F 6D 70 6C 65 6D 65 6E 74 20 66 6F 72 s-complement for
0000D0: 6D 61 74 2E 20 20 49 6E 20 61 20 66 65 77 20 63 mat. In a few c
0000E0: 61 73 65 73 2C 20 69 6E 74 65 67 65 72 73 20 77 ases, integers w
0000F0: 69 6C 6C 20 62 65 0D 0A 20 20 20 20 20 20 74 72 ill be.. tr
000100: 65 61 74 65 64 20 61 73 20 75 6E 73 69 67 6E 65 eated as unsigne
000110: 64 20 31 36 2D 62 69 74 20 76 61 6C 75 65 73 20 d 16-bit values
000120: 77 69 74 68 20 61 20 72 61 6E 67 65 20 6F 66 20 with a range of
000130: 30 20 74 6F 20 20 2B 36 35 35 33 35 2E 20 20 20 0 to +65535.
000140: 54 68 65 0D 0A 20 20 20 20 20 20 4D 41 50 20 20 The.. MAP
000150: 61 6E 64 20 43 41 4C 4C 20 62 75 69 6C 74 69 6E and CALL builtin
000160: 20 70 72 6F 63 65 64 75 72 65 73 20 72 65 71 75 procedures requ
000170: 69 72 65 20 61 64 64 72 65 73 73 65 73 20 77 68 ire addresses wh
000180: 69 63 68 20 6D 61 79 20 72 61 6E 67 65 20 75 70 ich may range up
000190: 0D 0A 20 20 20 20 20 20 74 6F 20 36 35 35 33 35 .. to 65535
0001A0: 2E 20 20 41 63 63 65 73 73 69 6E 67 20 20 72 61 . Accessing ra
0001B0: 6E 64 6F 6D 20 20 66 69 6C 65 73 20 20 62 79 20 ndom files by
0001C0: 20 72 65 6C 61 74 69 76 65 20 20 62 79 74 65 20 relative byte
0001D0: 20 61 64 64 72 65 73 73 20 20 6D 61 79 0D 0A 20 address may..
0001E0: 20 20 20 20 20 72 65 71 75 69 72 65 20 62 79 74 require byt
0001F0: 65 20 61 64 64 72 65 73 73 65 73 20 75 70 20 74 e addresses up t
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: 6F 20 36 35 35 33 35 2E 0D 0A 0D 0A 20 20 20 20 o 65535.....
000010: 20 20 31 30 2E 20 20 22 52 65 61 6C 22 20 20 6E 10. "Real" n
000020: 75 6D 62 65 72 73 20 61 72 65 20 72 65 70 72 65 umbers are repre
000030: 73 65 6E 74 65 64 20 69 6E 20 31 34 20 64 69 67 sented in 14 dig
000040: 69 74 20 62 69 6E 61 72 79 20 63 6F 64 65 64 20 it binary coded
000050: 64 65 63 69 6D 61 6C 0D 0A 20 20 20 20 20 20 28 decimal.. (
000060: 42 43 44 29 20 66 6F 72 6D 61 74 2E 20 20 54 68 BCD) format. Th
000070: 65 20 66 6C 6F 61 74 69 6E 67 20 70 6F 69 6E 74 e floating point
000080: 20 65 78 70 6F 6E 65 6E 74 20 72 61 6E 67 65 20 exponent range
000090: 69 73 20 66 72 6F 6D 20 2D 36 34 20 74 6F 20 2B is from -64 to +
0000A0: 36 33 2E 0D 0A 0D 0A 20 20 20 20 20 20 31 31 2E 63..... 11.
0000B0: 20 4E 61 6D 65 73 20 6F 66 20 70 72 6F 63 65 64 Names of proced
0000C0: 75 72 65 73 20 61 6E 64 20 66 75 6E 63 74 69 6F ures and functio
0000D0: 6E 73 20 6D 61 79 20 6E 6F 74 20 62 65 20 75 73 ns may not be us
0000E0: 65 64 20 61 73 20 70 61 72 61 6D 65 74 65 72 73 ed as parameters
0000F0: 2E 0D 0A 0D 0A 20 20 20 20 20 20 31 32 2E 20 4C ..... 12. L
000100: 69 74 65 72 61 6C 20 63 68 61 72 20 73 74 72 69 iteral char stri
000110: 6E 67 73 20 69 6E 20 74 68 65 20 73 6F 75 72 63 ngs in the sourc
000120: 65 20 70 72 6F 67 72 61 6D 20 6D 61 79 20 6E 6F e program may no
000130: 74 20 65 78 63 65 65 64 20 31 32 37 20 63 68 61 t exceed 127 cha
000140: 72 2E 0D 0A 1A 61 6E 64 20 66 75 6E 63 74 69 6F r....and functio
000150: 6E 73 20 6D 61 79 20 6E 6F 74 20 62 65 20 75 73 ns may not be us
000160: 65 64 20 61 73 20 70 61 72 61 6D 65 74 65 72 73 ed as parameters
000170: 2E 0D 0A 0D 0A 20 20 20 20 20 20 31 32 2E 20 4C ..... 12. L
000180: 92 52 41 F7 E0 8A 20 4D A3 74 A3 AC 30 A1 D1 D6 .RA... M.t..0...
000190: 70 1C 80 C7 1A 5C D9 08 89 80 EE 99 8C 0F 70 13 p....\........p.
0001A0: 89 80 21 CA 94 07 00 6B 8D 8E 18 BC D5 C8 36 B2 ..!....k......6.
0001B0: 35 85 51 5A 75 46 71 83 B9 6E 51 74 9B 32 22 31 5.QZuFq..nQt.2"1
0001C0: 4E 3B 3B 34 49 F3 75 A9 44 F9 00 37 61 8D FD D5 N;;4I.u.D..7a...
0001D0: 1E BD 56 D0 86 10 89 A1 7B 34 DA 1A 8E 1B 70 45 ..V.....{4....pE
0001E0: 06 91 18 96 C1 1A FB 3F EF 31 A5 5E 2B 42 91 94 .......?.1.^+B..
0001F0: AC E9 70 71 B9 58 DD F8 00 37 D9 5A AE 20 46 73 ..pq.X...7.Z. Fs
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 ................
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