000000: 45 58 54 45 4E 44 45 44 20 43 50 43 20 44 53 4B EXTENDED CPC DSK
000010: 20 46 69 6C 65 0D 0A 44 69 73 6B 2D 49 6E 66 6F File..Disk-Info
000020: 0D 0A 53 41 4D 64 69 73 6B 31 33 30 31 30 37 00 ..SAMdisk130107.
000030: 2B 01 00 00 13 13 13 13 13 13 13 13 13 13 13 13 +...............
000040: 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 ................
000050: 13 13 13 13 13 13 13 13 13 13 13 13 00 00 00 00 ................
000060: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
000070: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
000080: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
000090: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0000A0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0000B0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0000C0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0000D0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0000E0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0000F0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
000100: 54 72 61 63 6B 2D 49 6E 66 6F 0D 0A 00 01 00 00 Track-Info......
000110: 00 00 00 00 02 09 4A E5 00 00 C1 02 00 00 00 02 ......J.........
000120: 00 00 C6 02 00 00 00 02 00 00 C2 02 00 00 00 02 ................
000130: 00 00 C7 02 00 00 00 02 00 00 C3 02 00 00 00 02 ................
000140: 00 00 C8 02 00 00 00 02 00 00 C4 02 00 00 00 02 ................
000150: 00 00 C9 02 00 00 00 02 00 00 C5 02 00 00 00 02 ................
000160: 00 00 00 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: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
000190: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0001A0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0001B0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0001C0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0001D0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0001E0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0001F0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
000200: 00 44 45 4D 4F 31 20 20 20 50 41 53 00 00 00 08 .DEMO1 PAS....
000210: 02 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
000220: 00 44 45 4D 4F 32 20 20 20 50 41 53 00 00 00 06 .DEMO2 PAS....
000230: 03 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
000240: 00 44 45 4D 4F 33 20 20 20 50 41 53 00 00 00 0C .DEMO3 PAS....
000250: 04 05 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
000260: 00 44 45 4D 4F 34 20 20 20 50 41 53 00 00 00 10 .DEMO4 PAS....
000270: 06 07 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
000280: 00 44 49 53 43 20 20 20 20 42 41 53 00 00 00 0E .DISC BAS....
000290: 08 09 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0002A0: 00 45 51 20 20 20 20 20 20 50 41 53 00 00 00 09 .EQ PAS....
0002B0: 0A 0B 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0002C0: 00 46 57 44 20 20 20 20 20 50 41 53 00 00 00 03 .FWD PAS....
0002D0: 0C 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0002E0: 00 48 57 35 20 20 20 20 20 50 41 53 00 00 00 72 .HW5 PAS...r
0002F0: 0D 0E 0F 10 11 12 13 14 15 16 17 18 19 1A 1B 00 ................
000300: 00 48 57 35 44 41 54 41 20 20 20 20 00 00 00 04 .HW5DATA ....
000310: 1C 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
000320: 00 50 41 53 59 4E 54 41 58 44 4F 43 00 00 00 30 .PASYNTAXDOC...0
000330: 1D 1E 1F 20 21 22 00 00 00 00 00 00 00 00 00 00 ... !"..........
000340: 00 50 43 20 20 20 20 20 20 53 55 42 00 00 00 02 .PC SUB....
000350: 23 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 #...............
000360: 00 50 46 45 54 20 20 20 20 43 4F 4D 00 00 00 36 .PFET COM...6
000370: 24 25 26 27 28 29 2A 00 00 00 00 00 00 00 00 00 $%&'()*.........
000380: 00 50 46 45 54 20 20 20 20 50 41 53 00 00 00 57 .PFET PAS...W
000390: 2B 2C 2D 2E 2F 30 31 32 33 34 35 00 00 00 00 00 +,-./012345.....
0003A0: 00 50 4C 41 59 44 41 54 41 20 20 20 00 00 00 01 .PLAYDATA ....
0003B0: 36 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 6...............
0003C0: 00 50 4C 41 59 4B 41 4C 20 50 41 53 00 00 00 62 .PLAYKAL PAS...b
0003D0: 37 38 39 3A 3B 3C 3D 3E 3F 40 41 42 43 00 00 00 789:;<=>?@ABC...
0003E0: 00 50 4F 50 53 20 20 20 20 44 4F 43 00 00 00 0F .POPS DOC....
0003F0: 44 45 00 00 00 00 00 00 00 00 00 00 00 00 00 00 DE..............
000400: 6F 70 20 73 74 61 72 74 20 2A 29 20 20 0D 0A 20 op start *) ..
000410: 20 20 20 20 20 70 75 74 23 31 28 69 23 2C 31 33 put#1(i#,13
000420: 2C 31 30 29 3B 20 20 28 2A 20 70 75 74 20 69 73 ,10); (* put is
000430: 20 74 68 65 20 73 61 6D 65 20 61 74 20 77 72 69 the same at wri
000440: 74 65 20 2A 29 0D 0A 20 20 20 20 20 20 20 20 20 te *)..
000450: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 (
000460: 2A 20 31 33 20 26 20 31 30 20 61 72 65 20 63 61 * 13 & 10 are ca
000470: 72 72 69 61 67 65 20 72 65 74 75 72 6E 20 26 20 rriage return &
000480: 6C 69 6E 65 20 66 65 65 64 20 2A 29 0D 0A 20 20 line feed *)..
000490: 20 20 20 20 69 3A 3D 69 2B 31 20 20 20 20 20 20 i:=i+1
0004A0: 20 20 20 20 20 20 28 2A 20 69 6E 63 72 65 61 73 (* increas
0004B0: 65 20 76 61 72 69 61 62 6C 65 20 63 6F 75 6E 74 e variable count
0004C0: 65 72 20 2A 29 0D 0A 20 20 20 20 75 6E 74 69 6C er *).. until
0004D0: 20 69 3E 31 30 20 20 20 20 20 20 20 20 20 20 28 i>10 (
0004E0: 2A 20 6C 6F 6F 70 20 65 6E 64 20 2A 29 0D 0A 20 * loop end *)..
0004F0: 20 65 6E 64 3B 20 20 20 20 20 20 20 20 20 20 20 end;
000500: 20 20 20 20 20 20 20 28 2A 20 65 6E 64 20 6F 66 (* end of
000510: 20 70 72 6F 63 65 64 75 72 65 20 63 61 6C 6C 65 procedure calle
000520: 64 20 27 63 6F 75 6E 74 65 72 27 20 2A 29 0D 0A d 'counter' *)..
000530: 0D 0A 62 65 67 69 6E 3B 20 20 20 20 20 20 20 20 ..begin;
000540: 20 20 20 20 20 20 20 20 20 20 28 2A 20 6D 61 69 (* mai
000550: 6E 20 70 72 6F 67 72 61 6D 6D 65 20 2A 29 0D 0A n programme *)..
000560: 20 20 63 6F 75 6E 74 65 72 20 20 20 20 20 20 20 counter
000570: 20 20 20 20 20 20 20 20 28 2A 20 63 61 6C 6C 20 (* call
000580: 74 68 65 20 64 65 63 6C 61 72 65 64 20 70 72 6F the declared pro
000590: 63 65 64 75 72 65 20 27 63 6F 75 6E 74 65 72 27 cedure 'counter'
0005A0: 20 2A 29 0D 0A 65 6E 64 2E 20 20 20 20 20 20 20 *)..end.
0005B0: 20 20 20 20 20 20 20 20 20 20 20 20 20 28 2A 20 (*
0005C0: 65 6E 64 20 6F 66 20 74 68 65 20 70 72 6F 67 72 end of the progr
0005D0: 61 6D 6D 65 20 2A 29 0D 0A 1A 20 63 6F 75 6E 74 amme *)... count
0005E0: 20 6F 6E 20 74 68 65 20 56 44 55 20 73 63 72 65 on the VDU scre
0005F0: 65 6E 0D 0A 0D 0A 20 20 70 6C 65 61 73 65 20 6E en.... please n
000600: 00 50 4F 57 54 57 4F 20 20 50 41 53 00 00 00 04 .POWTWO PAS....
000610: 46 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 F...............
000620: 00 50 50 43 20 20 20 20 20 43 4F 4D 00 00 00 80 .PPC COM....
000630: 47 48 49 4A 4B 4C 4D 4E 4F 50 51 52 53 54 55 56 GHIJKLMNOPQRSTUV
000640: 00 50 50 43 20 20 20 20 20 43 4F 4D 01 00 00 00 .PPC COM....
000650: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
000660: 00 50 50 43 20 20 20 20 20 44 4F 43 00 00 00 4E .PPC DOC...N
000670: 57 58 59 5A 5B 5C 5D 5E 5F 60 00 00 00 00 00 00 WXYZ[\]^_`......
000680: 00 50 50 43 20 20 20 20 20 50 41 53 00 00 00 80 .PPC PAS....
000690: 61 62 63 64 65 66 67 68 69 6A 6B 6C 6D 6E 6F 70 abcdefghijklmnop
0006A0: 00 50 50 43 20 20 20 20 20 50 41 53 01 00 00 4E .PPC PAS...N
0006B0: 71 72 73 74 75 76 77 78 79 7A 00 00 00 00 00 00 qrstuvwxyz......
0006C0: 00 50 53 54 41 43 4B 20 20 44 4F 43 00 00 00 09 .PSTACK DOC....
0006D0: 7B 7C 00 00 00 00 00 00 00 00 00 00 00 00 00 00 {|..............
0006E0: 00 52 45 47 45 4E 20 20 20 44 4F 43 00 00 00 14 .REGEN DOC....
0006F0: 7D 7E 7F 00 00 00 00 00 00 00 00 00 00 00 00 00 }~..............
000700: 00 52 54 50 20 20 20 20 20 41 53 4D 00 00 00 56 .RTP ASM...V
000710: 80 81 82 83 84 85 86 87 88 89 8A 00 00 00 00 00 ................
000720: 00 52 54 50 20 20 20 20 20 43 4F 4D 00 00 00 0A .RTP COM....
000730: 8B 8C 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
000740: 00 53 54 49 52 4C 49 4E 47 50 41 53 00 00 00 06 .STIRLINGPAS....
000750: 8D 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
000760: 00 54 45 53 54 45 52 20 20 50 41 53 00 00 00 1E .TESTER PAS....
000770: 8E 8F 90 91 00 00 00 00 00 00 00 00 00 00 00 00 ................
000780: 00 56 41 4C 49 44 41 54 45 53 55 42 00 00 00 04 .VALIDATESUB....
000790: 92 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0007A0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0007B0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0007C0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0007D0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0007E0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0007F0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000800: 28 2A 0D 0A 20 20 44 45 4D 4F 32 2E 50 41 53 20 (*.. DEMO2.PAS
000810: 0D 0A 20 20 0D 0A 20 20 74 68 65 20 63 6F 75 6E .. .. the coun
000820: 74 65 72 20 72 6F 75 74 69 6E 65 20 66 72 6F 6D ter routine from
000830: 20 64 65 6D 6F 31 20 0D 0A 0D 0A 20 20 70 6C 75 demo1 .... plu
000840: 73 0D 0A 0D 0A 20 20 61 20 73 69 6D 70 6C 65 20 s.... a simple
000850: 72 6F 75 74 69 6E 65 20 77 68 69 63 68 20 75 73 routine which us
000860: 65 73 20 74 68 65 20 66 6F 72 2E 2E 74 6F 20 72 es the for..to r
000870: 6F 75 74 69 6E 65 20 74 6F 20 64 69 73 70 6C 61 outine to displa
000880: 79 20 74 65 78 74 0D 0A 20 20 6F 6E 20 74 68 65 y text.. on the
000890: 20 56 44 55 20 73 63 72 65 65 6E 0D 0A 2A 29 0D VDU screen..*).
0008A0: 0A 0D 0A 70 72 6F 63 65 64 75 72 65 20 63 6F 75 ...procedure cou
0008B0: 6E 74 65 72 3B 20 20 20 28 2A 20 61 73 20 65 78 nter; (* as ex
0008C0: 70 6C 61 69 6E 65 64 20 69 6E 20 64 65 6D 6F 31 plained in demo1
0008D0: 2E 70 61 73 20 2A 29 0D 0A 0D 0A 20 20 76 61 72 .pas *).... var
0008E0: 20 20 69 20 3A 20 77 6F 72 64 3B 0D 0A 0D 0A 20 i : word;....
0008F0: 20 62 65 67 69 6E 0D 0A 20 20 20 20 69 3A 3D 31 begin.. i:=1
000900: 3B 20 20 20 20 20 20 20 0D 0A 20 20 20 20 72 65 ; .. re
000910: 70 65 61 74 20 20 0D 0A 20 20 20 20 20 20 70 75 peat .. pu
000920: 74 23 31 28 69 23 2C 31 33 2C 31 30 29 3B 0D 0A t#1(i#,13,10);..
000930: 20 20 20 20 20 20 69 3A 3D 69 2B 31 20 20 20 20 i:=i+1
000940: 20 20 20 20 20 20 20 20 20 0D 0A 20 20 20 20 75 .. u
000950: 6E 74 69 6C 20 69 3E 31 30 0D 0A 20 20 65 6E 64 ntil i>10.. end
000960: 3B 0D 0A 0D 0A 70 72 6F 63 65 64 75 72 65 20 64 ;....procedure d
000970: 69 73 70 6C 61 79 74 65 78 74 3B 20 20 28 2A 20 isplaytext; (*
000980: 64 65 63 6C 61 72 65 20 61 6E 6F 74 68 65 72 20 declare another
000990: 70 72 6F 63 65 64 75 72 65 20 63 61 6C 6C 65 64 procedure called
0009A0: 20 27 64 69 73 70 6C 61 79 74 65 78 74 27 20 2A 'displaytext' *
0009B0: 29 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 20 )..
0009C0: 20 20 20 20 20 20 20 20 20 20 20 28 2A 20 77 68 (* wh
0009D0: 69 63 68 20 64 65 6D 6F 6E 73 74 72 61 74 65 73 ich demonstrates
0009E0: 20 74 68 65 20 66 6F 72 2E 2E 74 6F 20 6C 6F 6F the for..to loo
0009F0: 70 20 2A 29 0D 0A 20 20 76 61 72 20 20 78 20 3A p *).. var x :
000A00: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000A10: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000A20: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000A30: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000A40: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000A50: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000A60: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000A70: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000A80: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000A90: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000AA0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000AB0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000AC0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000AD0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000AE0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000AF0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000B00: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000B10: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000B20: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000B30: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000B40: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000B50: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000B60: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000B70: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000B80: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000B90: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000BA0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000BB0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000BC0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000BD0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000BE0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000BF0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000C00: 20 77 6F 72 64 3B 0D 0A 0D 0A 20 20 62 65 67 69 word;.... begi
000C10: 6E 0D 0A 0D 0A 20 20 20 20 66 6F 72 20 78 3A 3D n.... for x:=
000C20: 31 20 74 6F 20 31 30 20 64 6F 20 70 75 74 23 31 1 to 10 do put#1
000C30: 28 27 66 72 65 64 20 20 20 20 27 2C 31 33 2C 31 ('fred ',13,1
000C40: 30 29 0D 0A 0D 0A 20 20 65 6E 64 3B 0D 0A 0D 0A 0).... end;....
000C50: 62 65 67 69 6E 3B 20 20 20 20 20 20 20 20 20 20 begin;
000C60: 28 2A 20 6D 61 69 6E 20 70 72 6F 67 72 61 6D 20 (* main program
000C70: 6C 6F 6F 70 20 2A 29 0D 0A 0D 0A 20 20 63 6F 75 loop *).... cou
000C80: 6E 74 65 72 3B 20 20 20 20 20 20 28 2A 20 70 65 nter; (* pe
000C90: 72 66 6F 72 6D 20 74 68 65 20 70 72 6F 63 65 64 rform the proced
000CA0: 75 72 65 20 63 61 6C 6C 65 64 20 27 63 6F 75 6E ure called 'coun
000CB0: 74 65 72 27 20 2A 29 0D 0A 20 20 64 69 73 70 6C ter' *).. displ
000CC0: 61 79 74 65 78 74 20 20 20 28 2A 20 64 69 74 74 aytext (* ditt
000CD0: 6F 20 66 6F 72 20 27 64 69 73 70 6C 61 79 74 65 o for 'displayte
000CE0: 78 74 27 20 2A 29 0D 0A 0D 0A 65 6E 64 2E 0D 0A xt' *)....end...
000CF0: 1A 75 74 69 6E 65 20 74 6F 20 64 69 73 70 6C 61 .utine to displa
000D00: 3B 20 20 20 20 20 20 20 0D 0A 20 20 20 20 72 65 ; .. re
000D10: 70 65 61 74 20 20 0D 0A 20 20 20 20 20 20 70 75 peat .. pu
000D20: 74 23 31 28 69 23 2C 31 33 2C 31 30 29 3B 0D 0A t#1(i#,13,10);..
000D30: 20 20 20 20 20 20 69 3A 3D 69 2B 31 20 20 20 20 i:=i+1
000D40: 20 20 20 20 20 20 20 20 20 0D 0A 20 20 20 20 75 .. u
000D50: 6E 74 69 6C 20 69 3E 31 30 0D 0A 20 20 65 6E 64 ntil i>10.. end
000D60: 3B 0D 0A 0D 0A 70 72 6F 63 65 64 75 72 65 20 64 ;....procedure d
000D70: 69 73 70 6C 61 79 74 65 78 74 3B 20 20 28 2A 20 isplaytext; (*
000D80: 64 65 63 6C 61 72 65 20 61 6E 6F 74 68 65 72 20 declare another
000D90: 70 72 6F 63 65 64 75 72 65 20 63 61 6C 6C 65 64 procedure called
000DA0: 20 27 64 69 73 70 6C 61 79 74 65 78 74 27 20 2A 'displaytext' *
000DB0: 29 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 20 )..
000DC0: 20 20 20 20 20 20 20 20 20 20 20 28 2A 20 77 68 (* wh
000DD0: 69 63 68 20 64 65 6D 6F 6E 73 74 72 61 74 65 73 ich demonstrates
000DE0: 20 74 68 65 20 66 6F 72 2E 2E 74 6F 20 6C 6F 6F the for..to loo
000DF0: 70 20 2A 29 0D 0A 20 20 76 61 72 20 20 78 20 3A p *).. var x :
000E00: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000E10: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000E20: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000E30: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000E40: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000E50: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000E60: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000E70: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000E80: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000E90: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000EA0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000EB0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000EC0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000ED0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000EE0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000EF0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000F00: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000F10: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000F20: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000F30: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000F40: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000F50: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000F60: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000F70: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000F80: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000F90: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000FA0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000FB0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000FC0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000FD0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000FE0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000FF0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
001000: 28 2A 0D 0A 20 20 44 45 4D 4F 33 2E 50 41 53 0D (*.. DEMO3.PAS.
001010: 0A 20 20 0D 0A 20 20 6D 6F 72 65 20 62 69 74 73 . .. more bits
001020: 20 74 68 61 74 20 68 61 76 65 20 62 65 65 6E 20 that have been
001030: 61 64 64 65 64 20 74 6F 20 74 68 65 20 70 72 6F added to the pro
001040: 67 72 61 6D 2C 20 74 68 69 73 20 74 69 6D 65 20 gram, this time
001050: 77 65 27 76 65 20 61 64 64 65 64 20 73 6F 6D 65 we've added some
001060: 0D 0A 20 20 63 6F 6E 74 72 6F 6C 20 63 6F 64 65 .. control code
001070: 73 2E 20 54 68 65 73 65 20 61 72 65 20 75 73 65 s. These are use
001080: 64 20 69 6E 20 65 78 61 63 74 6C 79 20 74 68 65 d in exactly the
001090: 20 73 61 6D 65 20 77 61 79 20 61 73 20 6F 75 74 same way as out
0010A0: 6C 69 6E 65 64 20 69 6E 20 79 6F 75 72 0D 0A 20 lined in your..
0010B0: 20 63 6F 6D 70 75 74 65 72 20 6D 61 6E 75 61 6C computer manual
0010C0: 2E 0D 0A 0D 0A 20 20 54 68 65 20 63 6F 64 65 73 ..... The codes
0010D0: 20 69 6E 20 74 68 69 73 20 70 72 6F 67 72 61 6D in this program
0010E0: 20 61 72 65 20 74 68 65 20 43 50 2F 4D 20 76 32 are the CP/M v2
0010F0: 2E 32 20 63 6F 6E 74 72 6F 6C 20 63 6F 64 65 73 .2 control codes
001100: 2C 20 74 68 65 73 65 20 63 61 6E 20 65 61 73 69 , these can easi
001110: 6C 79 0D 0A 20 20 61 6C 74 65 72 65 64 20 66 6F ly.. altered fo
001120: 72 20 43 50 2F 4D 20 76 33 2E 31 20 28 70 6C 75 r CP/M v3.1 (plu
001130: 73 29 0D 0A 2A 29 0D 0A 0D 0A 70 72 6F 63 65 64 s)..*)....proced
001140: 75 72 65 20 63 6F 75 6E 74 65 72 3B 20 20 20 28 ure counter; (
001150: 2A 20 61 73 20 65 78 70 6C 61 69 6E 65 64 20 69 * as explained i
001160: 6E 20 64 65 6D 6F 31 2E 70 61 73 20 2A 29 0D 0A n demo1.pas *)..
001170: 0D 0A 20 20 76 61 72 20 20 69 20 3A 20 77 6F 72 .. var i : wor
001180: 64 3B 0D 0A 0D 0A 20 20 62 65 67 69 6E 0D 0A 20 d;.... begin..
001190: 20 20 20 69 3A 3D 31 3B 20 20 20 20 20 20 20 0D i:=1; .
0011A0: 0A 20 20 20 20 72 65 70 65 61 74 20 20 0D 0A 20 . repeat ..
0011B0: 20 20 20 20 20 70 75 74 23 31 28 69 23 2C 31 33 put#1(i#,13
0011C0: 2C 31 30 29 3B 0D 0A 20 20 20 20 20 20 69 3A 3D ,10);.. i:=
0011D0: 69 2B 31 20 20 20 20 20 20 20 20 20 20 20 20 20 i+1
0011E0: 0D 0A 20 20 20 20 75 6E 74 69 6C 20 69 3E 31 30 .. until i>10
0011F0: 0D 0A 20 20 65 6E 64 3B 0D 0A 0D 0A 70 72 6F 63 .. end;....proc
001200: 28 2A 0D 0A 20 20 44 45 4D 4F 31 2E 50 41 53 20 (*.. DEMO1.PAS
001210: 0D 0A 0D 0A 20 20 61 20 73 69 6D 70 6C 65 20 63 .... a simple c
001220: 6F 75 6E 74 20 72 6F 75 74 69 6E 65 20 77 68 69 ount routine whi
001230: 63 68 20 63 6F 75 6E 74 73 20 66 72 6F 6D 20 31 ch counts from 1
001240: 20 74 6F 20 31 30 20 61 6E 64 20 64 69 73 70 6C to 10 and displ
001250: 61 79 73 0D 0A 20 20 74 68 65 20 63 6F 75 6E 74 ays.. the count
001260: 20 6F 6E 20 74 68 65 20 56 44 55 20 73 63 72 65 on the VDU scre
001270: 65 6E 0D 0A 0D 0A 20 20 70 6C 65 61 73 65 20 6E en.... please n
001280: 6F 74 65 20 74 68 61 74 20 63 6F 6D 6D 65 6E 74 ote that comment
001290: 73 20 61 72 65 20 70 6C 61 63 65 64 20 77 69 74 s are placed wit
0012A0: 68 69 6E 20 74 68 65 20 62 72 61 63 6B 65 74 2C hin the bracket,
0012B0: 20 77 68 69 63 68 20 6D 75 73 74 20 62 65 0D 0A which must be..
0012C0: 20 20 66 6F 6C 6C 6F 77 65 64 20 62 79 20 74 68 followed by th
0012D0: 65 20 27 73 70 6C 61 74 27 0D 0A 0D 0A 20 20 49 e 'splat'.... I
0012E0: 20 77 69 6C 6C 20 61 64 64 20 61 64 64 69 74 69 will add additi
0012F0: 6F 6E 61 6C 20 72 6F 75 74 69 6E 65 73 20 74 6F onal routines to
001300: 20 74 68 69 73 20 65 78 61 6D 70 6C 65 20 70 72 this example pr
001310: 6F 67 72 61 6D 6D 65 20 61 6C 6F 6E 67 20 77 69 ogramme along wi
001320: 74 68 0D 0A 20 20 63 6F 6D 6D 65 6E 74 73 20 6F th.. comments o
001330: 6E 20 77 68 61 74 20 69 73 20 68 61 70 70 65 6E n what is happen
001340: 69 6E 67 0D 0A 0D 0A 2A 29 0D 0A 0D 0A 70 72 6F ing....*)....pro
001350: 63 65 64 75 72 65 20 63 6F 75 6E 74 65 72 3B 20 cedure counter;
001360: 20 20 20 20 20 28 2A 20 64 65 63 6C 61 72 65 20 (* declare
001370: 61 20 70 72 6F 63 65 64 75 72 65 20 63 61 6C 6C a procedure call
001380: 65 64 20 27 63 6F 75 6E 74 65 72 27 20 2A 29 0D ed 'counter' *).
001390: 0A 0D 0A 20 20 76 61 72 20 20 69 20 3A 20 77 6F ... var i : wo
0013A0: 72 64 3B 0D 0A 0D 0A 20 20 62 65 67 69 6E 20 20 rd;.... begin
0013B0: 0D 0A 20 20 20 20 69 3A 3D 31 3B 20 20 20 20 20 .. i:=1;
0013C0: 20 20 20 20 20 20 20 20 20 20 28 2A 20 73 65 74 (* set
0013D0: 20 76 61 72 69 61 62 6C 65 20 74 6F 20 31 20 2A variable to 1 *
0013E0: 29 0D 0A 20 20 20 20 72 65 70 65 61 74 20 20 20 ).. repeat
0013F0: 20 20 20 20 20 20 20 20 20 20 20 28 2A 20 6C 6F (* lo
001400: 54 72 61 63 6B 2D 49 6E 66 6F 0D 0A 00 01 00 00 Track-Info......
001410: 01 00 00 00 02 09 4A E5 01 00 C1 02 00 00 00 02 ......J.........
001420: 01 00 C6 02 00 00 00 02 01 00 C2 02 00 00 00 02 ................
001430: 01 00 C7 02 00 00 00 02 01 00 C3 02 00 00 00 02 ................
001440: 01 00 C8 02 00 00 00 02 01 00 C4 02 00 00 00 02 ................
001450: 01 00 C9 02 00 00 00 02 01 00 C5 02 00 00 00 02 ................
001460: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
001470: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
001480: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
001490: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0014A0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0014B0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0014C0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0014D0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0014E0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0014F0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
001500: 65 64 75 72 65 20 64 69 73 70 6C 61 79 66 72 65 edure displayfre
001510: 64 3B 20 20 28 2A 20 64 65 63 6C 61 72 65 20 61 d; (* declare a
001520: 6E 6F 74 68 65 72 20 70 72 6F 63 65 64 75 72 65 nother procedure
001530: 20 63 61 6C 6C 65 64 20 27 64 69 73 70 6C 61 79 called 'display
001540: 66 72 65 64 27 20 2A 29 0D 0A 20 20 20 20 20 20 fred' *)..
001550: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
001560: 20 20 28 2A 20 77 68 69 63 68 20 64 65 6D 6F 6E (* which demon
001570: 73 74 72 61 74 65 73 20 74 68 65 20 66 6F 72 2E strates the for.
001580: 2E 74 6F 20 6C 6F 6F 70 20 2A 29 0D 0A 20 20 76 .to loop *).. v
001590: 61 72 20 20 78 20 3A 20 77 6F 72 64 3B 0D 0A 0D ar x : word;...
0015A0: 0A 20 20 62 65 67 69 6E 0D 0A 0D 0A 20 20 20 20 . begin....
0015B0: 66 6F 72 20 78 3A 3D 31 20 74 6F 20 31 30 20 64 for x:=1 to 10 d
0015C0: 6F 20 70 75 74 23 31 28 27 66 72 65 64 20 20 20 o put#1('fred
0015D0: 20 27 2C 31 33 2C 31 30 29 0D 0A 0D 0A 20 20 65 ',13,10).... e
0015E0: 6E 64 3B 0D 0A 0D 0A 70 72 6F 63 65 64 75 72 65 nd;....procedure
0015F0: 20 70 72 65 73 73 6B 65 79 3B 20 20 20 20 20 28 presskey; (
001600: 2A 20 6E 65 77 20 70 72 6F 63 65 64 75 72 65 20 * new procedure
001610: 27 70 72 65 73 73 6B 65 79 27 20 2A 29 0D 0A 0D 'presskey' *)...
001620: 0A 20 20 76 61 72 20 69 6E 6B 65 79 20 3A 20 77 . var inkey : w
001630: 6F 72 64 20 3B 20 20 20 20 28 2A 20 64 65 63 6C ord ; (* decl
001640: 61 72 65 20 61 20 76 61 72 69 61 62 6C 65 20 2A are a variable *
001650: 29 0D 0A 0D 0A 20 20 62 65 67 69 6E 0D 0A 0D 0A ).... begin....
001660: 20 20 20 20 70 75 74 23 31 28 27 50 72 65 73 73 put#1('Press
001670: 20 61 6E 27 2C 27 79 20 6B 65 79 20 74 6F 27 2C an','y key to',
001680: 27 20 63 6F 6E 74 69 6E 75 27 2C 27 65 20 3A 20 ' continu','e :
001690: 20 20 20 20 27 29 3B 0D 0A 0D 0A 20 20 20 20 28 ');.... (
0016A0: 2A 0D 0A 20 20 20 20 20 20 50 6C 65 61 73 65 20 *.. Please
0016B0: 4E 6F 74 65 3A 20 77 68 65 6E 20 75 73 69 6E 67 Note: when using
0016C0: 20 74 68 65 20 50 55 54 20 63 6F 6D 6D 61 6E 64 the PUT command
0016D0: 2C 20 79 6F 75 20 63 61 6E 20 6F 6E 6C 79 20 6F , you can only o
0016E0: 75 74 70 75 74 20 61 20 0D 0A 20 20 20 20 20 20 utput a ..
0016F0: 6D 61 78 69 6D 75 6D 20 6F 66 20 38 20 63 68 61 maximum of 8 cha
001700: 6E 64 3B 0D 0A 0D 0A 70 72 6F 63 65 64 75 72 65 nd;....procedure
001710: 20 63 6F 6E 74 69 6E 75 65 3B 20 20 20 20 20 20 continue;
001720: 20 28 2A 20 61 20 76 61 72 69 61 74 69 6F 6E 20 (* a variation
001730: 6F 6E 20 70 72 65 73 73 20 61 20 6B 65 79 20 2A on press a key *
001740: 29 0D 0A 0D 0A 20 20 76 61 72 20 69 6E 6B 65 79 ).... var inkey
001750: 20 3A 20 69 6E 74 65 67 65 72 3B 0D 0A 0D 0A 20 : integer;....
001760: 20 28 2A 0D 0A 20 20 20 20 69 66 20 79 6F 75 20 (*.. if you
001770: 77 61 6E 74 20 74 6F 20 75 73 65 20 61 20 27 76 want to use a 'v
001780: 61 72 69 61 62 6C 65 27 20 77 69 74 68 69 6E 20 ariable' within
001790: 61 20 70 72 6F 63 65 64 75 72 65 20 74 68 65 6E a procedure then
0017A0: 20 74 68 65 20 76 61 72 69 61 62 6C 65 0D 0A 20 the variable..
0017B0: 20 20 20 6D 75 73 74 20 62 65 20 64 65 63 6C 61 must be decla
0017C0: 72 65 64 20 61 73 3A 0D 0A 0D 0A 20 20 20 20 31 red as:.... 1
0017D0: 2E 20 50 61 72 74 20 6F 66 20 74 68 65 20 70 72 . Part of the pr
0017E0: 6F 63 65 64 75 72 65 20 64 65 63 6C 65 72 61 74 ocedure declerat
0017F0: 69 6F 6E 20 28 61 73 20 69 6E 20 74 68 69 73 20 ion (as in this
001800: 63 61 73 65 29 0D 0A 20 20 20 20 32 2E 20 44 65 case).. 2. De
001810: 63 6C 61 72 65 64 20 61 73 20 61 20 76 61 72 69 clared as a vari
001820: 61 62 6C 65 20 61 74 20 74 68 65 20 73 74 61 72 able at the star
001830: 74 20 6F 66 20 74 68 65 20 70 72 6F 67 72 61 6D t of the program
001840: 0D 0A 20 20 2A 29 0D 0A 0D 0A 20 20 62 65 67 69 .. *).... begi
001850: 6E 0D 0A 0D 0A 20 20 20 20 70 75 74 23 31 28 27 n.... put#1('
001860: 70 72 65 73 73 20 61 20 27 2C 27 6B 65 79 20 20 press a ','key
001870: 20 20 20 27 29 3B 0D 0A 20 20 20 20 67 65 74 23 ');.. get#
001880: 31 28 69 6E 6B 65 79 29 0D 0A 0D 0A 20 20 65 6E 1(inkey).... en
001890: 64 3B 0D 0A 0D 0A 62 65 67 69 6E 20 20 20 20 20 d;....begin
0018A0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
0018B0: 20 20 28 2A 20 6D 61 69 6E 20 70 72 6F 67 72 61 (* main progra
0018C0: 6D 20 6C 6F 6F 70 20 2A 29 0D 0A 0D 0A 20 20 63 m loop *).... c
0018D0: 6F 75 6E 74 65 72 3B 20 20 20 20 20 20 20 20 20 ounter;
0018E0: 20 20 20 20 20 20 20 20 20 28 2A 20 63 6F 75 6E (* coun
0018F0: 74 65 72 20 72 6F 75 74 69 6E 65 20 2A 29 0D 0A ter routine *)..
001900: 72 61 63 74 65 72 73 20 69 6E 20 61 20 27 73 74 racters in a 'st
001910: 72 69 6E 67 27 2C 20 69 66 20 79 6F 75 20 77 61 ring', if you wa
001920: 6E 74 20 6D 6F 72 65 20 74 68 61 6E 20 38 0D 0A nt more than 8..
001930: 20 20 20 20 20 20 63 68 61 72 61 63 74 65 72 73 characters
001940: 20 6F 66 20 74 65 78 74 20 74 68 65 6E 20 79 6F of text then yo
001950: 75 20 6D 75 73 74 20 75 73 65 20 73 65 76 65 72 u must use sever
001960: 61 6C 20 73 74 72 69 6E 67 73 2C 0D 0A 20 20 20 al strings,..
001970: 20 0D 0A 20 20 20 20 20 20 69 65 20 20 50 55 54 .. ie PUT
001980: 23 31 28 27 73 74 72 69 6E 67 27 2C 27 73 74 72 #1('string','str
001990: 69 6E 67 27 2C 27 73 74 72 69 6E 67 27 29 0D 0A ing','string')..
0019A0: 20 20 20 20 2A 29 0D 0A 0D 0A 20 20 20 20 67 65 *).... ge
0019B0: 74 23 31 28 69 6E 6B 65 79 29 3B 20 20 20 20 20 t#1(inkey);
0019C0: 20 20 20 20 28 2A 20 67 65 74 20 61 20 6B 65 79 (* get a key
0019D0: 70 72 65 73 73 20 2A 29 0D 0A 20 20 20 20 70 75 press *).. pu
0019E0: 74 23 31 28 31 32 29 20 20 20 20 20 20 20 20 20 t#1(12)
0019F0: 20 20 20 20 28 2A 20 63 6C 65 61 72 20 74 68 65 (* clear the
001A00: 20 56 44 55 20 73 63 72 65 65 6E 20 2A 29 0D 0A VDU screen *)..
001A10: 0D 0A 20 20 65 6E 64 3B 0D 0A 0D 0A 62 65 67 69 .. end;....begi
001A20: 6E 3B 20 20 20 20 20 20 20 20 20 20 28 2A 20 6D n; (* m
001A30: 61 69 6E 20 70 72 6F 67 72 61 6D 20 6C 6F 6F 70 ain program loop
001A40: 20 2A 29 0D 0A 0D 0A 20 20 63 6F 75 6E 74 65 72 *).... counter
001A50: 3B 20 20 20 20 20 20 28 2A 20 63 6F 75 6E 74 65 ; (* counte
001A60: 72 20 72 6F 75 74 69 6E 65 20 2A 29 0D 0A 20 20 r routine *)..
001A70: 70 72 65 73 73 6B 65 79 3B 20 20 20 20 20 28 2A presskey; (*
001A80: 20 70 72 65 73 73 20 61 20 6B 65 79 20 74 6F 20 press a key to
001A90: 63 6F 6E 74 69 6E 75 65 20 2A 29 0D 0A 20 20 64 continue *).. d
001AA0: 69 73 70 6C 61 79 66 72 65 64 3B 20 20 28 2A 20 isplayfred; (*
001AB0: 64 69 73 70 6C 61 79 20 66 72 65 64 20 72 6F 75 display fred rou
001AC0: 74 69 6E 65 20 2A 29 0D 0A 20 20 70 72 65 73 73 tine *).. press
001AD0: 6B 65 79 20 20 20 20 20 20 28 2A 20 70 72 65 73 key (* pres
001AE0: 73 20 61 20 6B 65 79 20 74 6F 20 63 6F 6E 74 69 s a key to conti
001AF0: 6E 75 65 20 2A 29 0D 0A 0D 0A 65 6E 64 2E 0D 0A nue *)....end...
001B00: 20 20 70 72 65 73 73 6B 65 79 3B 20 20 20 20 20 presskey;
001B10: 20 20 20 20 20 20 20 20 20 20 20 20 28 2A 20 70 (* p
001B20: 72 65 73 73 20 61 20 6B 65 79 20 74 6F 20 63 6F ress a key to co
001B30: 6E 74 69 6E 75 65 20 2A 29 0D 0A 20 20 64 69 73 ntinue *).. dis
001B40: 70 6C 61 79 66 72 65 64 3B 20 20 20 20 20 20 20 playfred;
001B50: 20 20 20 20 20 20 20 28 2A 20 64 69 73 70 6C 61 (* displa
001B60: 79 20 66 72 65 64 20 72 6F 75 74 69 6E 65 20 2A y fred routine *
001B70: 29 0D 0A 20 20 70 72 65 73 73 6B 65 79 3B 20 20 ).. presskey;
001B80: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 (
001B90: 2A 20 70 72 65 73 73 20 61 20 6B 65 79 20 74 6F * press a key to
001BA0: 20 63 6F 6E 74 69 6E 75 65 20 2A 29 0D 0A 20 20 continue *)..
001BB0: 6D 6F 64 65 30 3B 20 20 20 20 20 20 20 20 20 20 mode0;
001BC0: 20 20 20 20 20 20 20 20 20 20 28 2A 20 63 68 61 (* cha
001BD0: 6E 67 65 20 6D 6F 64 65 20 74 6F 20 30 20 2A 29 nge mode to 0 *)
001BE0: 0D 0A 20 20 70 75 74 23 31 28 27 4D 6F 64 65 20 .. put#1('Mode
001BF0: 30 20 20 27 2C 31 33 2C 31 30 2C 31 30 29 3B 0D 0 ',13,10,10);.
001C00: 0A 20 20 63 6F 6E 74 69 6E 75 65 3B 20 20 20 20 . continue;
001C10: 20 20 20 20 20 20 20 20 20 20 20 20 20 28 2A 20 (*
001C20: 77 61 69 74 20 66 6F 72 20 61 20 6B 65 79 20 70 wait for a key p
001C30: 72 65 73 73 20 2A 29 0D 0A 20 20 6D 6F 64 65 31 ress *).. mode1
001C40: 3B 0D 0A 20 20 70 75 74 23 31 28 27 4D 6F 64 65 ;.. put#1('Mode
001C50: 20 31 20 20 27 2C 31 33 2C 31 30 2C 31 30 29 3B 1 ',13,10,10);
001C60: 0D 0A 20 20 63 6F 6E 74 69 6E 75 65 3B 0D 0A 20 .. continue;..
001C70: 20 6D 6F 64 65 32 3B 0D 0A 20 20 70 75 74 23 31 mode2;.. put#1
001C80: 28 27 4D 6F 64 65 20 32 20 20 27 2C 31 33 2C 31 ('Mode 2 ',13,1
001C90: 30 2C 31 30 29 3B 0D 0A 20 20 63 6F 6E 74 69 6E 0,10);.. contin
001CA0: 75 65 0D 0A 0D 0A 65 6E 64 2E 20 20 20 20 20 20 ue....end.
001CB0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
001CC0: 20 20 28 2A 20 65 6E 64 20 6F 66 20 6D 61 69 6E (* end of main
001CD0: 20 70 72 6F 67 72 61 6D 20 6C 6F 6F 70 20 2A 29 program loop *)
001CE0: 20 20 0D 0A 1A 6F 6E 74 72 6F 6C 20 63 6F 64 65 ...ontrol code
001CF0: 73 2E 20 54 68 65 73 65 20 61 72 65 20 75 73 65 s. These are use
001D00: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
001D10: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
001D20: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
001D30: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
001D40: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
001D50: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
001D60: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
001D70: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
001D80: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
001D90: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
001DA0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
001DB0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
001DC0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
001DD0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
001DE0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
001DF0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
001E00: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
001E10: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
001E20: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
001E30: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
001E40: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
001E50: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
001E60: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
001E70: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
001E80: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
001E90: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
001EA0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
001EB0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
001EC0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
001ED0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
001EE0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
001EF0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
001F00: 00 44 49 53 43 20 20 20 20 42 41 53 00 00 00 00 .DISC BAS....
001F10: 00 00 00 00 00 70 01 00 2F 06 00 00 00 00 00 00 .....p../.......
001F20: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
001F30: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
001F40: 2F 06 00 54 03 20 61 6E 79 20 6B 65 79 20 74 6F /..T. any key to
001F50: 20 63 6F 6E 74 69 6E 75 65 2E 2E 2E 2E 2E 00 10 continue.......
001F60: 00 04 01 83 20 1C 18 BB 01 8A 01 84 01 B1 00 00 .... ...........
001F70: 00 0D 1A 00 1A 00 00 0D 1A 00 1A 00 1A 6F 20 63 .............o c
001F80: 23 00 0A 00 01 C0 20 57 41 43 43 49 20 43 4F 50 #..... WACCI COP
001F90: 59 52 49 47 48 54 20 4E 4F 54 49 43 45 20 31 39 YRIGHT NOTICE 19
001FA0: 39 34 00 08 00 14 00 AD 20 10 00 3A 00 1E 00 BF 94...... ..:....
001FB0: 20 22 20 20 20 20 20 20 20 20 20 20 20 20 20 20 "
001FC0: 20 20 20 20 20 20 20 20 20 20 20 57 41 43 43 49 WACCI
001FD0: 20 48 4F 4D 45 47 52 4F 57 4E 20 53 4F 46 54 57 HOMEGROWN SOFTW
001FE0: 41 52 45 22 00 07 00 28 00 BF 20 00 51 00 32 00 ARE"...(.. .Q.2.
001FF0: BF 20 22 54 68 65 20 57 41 43 43 49 20 4C 69 62 . "The WACCI Lib
002000: 72 61 72 79 20 63 6F 6E 73 69 73 74 73 20 6F 66 rary consists of
002010: 20 48 6F 6D 65 67 72 6F 77 6E 20 70 72 6F 67 72 Homegrown progr
002020: 61 6D 73 20 77 72 69 74 74 65 6E 2C 20 61 6E 64 ams written, and
002030: 20 64 6F 6E 61 74 65 64 20 74 6F 22 00 58 00 3C donated to".X.<
002040: 00 BF 20 22 74 68 65 20 63 6C 75 62 2C 20 62 79 .. "the club, by
002050: 20 6D 65 6D 62 65 72 73 20 6F 66 20 57 41 43 43 members of WACC
002060: 49 2E 20 54 68 65 20 48 6F 6D 65 67 72 6F 77 6E I. The Homegrown
002070: 20 4C 69 62 72 61 72 79 20 69 73 20 65 78 63 6C Library is excl
002080: 75 73 69 76 65 20 74 6F 20 57 41 43 43 49 2C 20 usive to WACCI,
002090: 61 6E 64 22 00 55 00 46 00 BF 20 22 75 6E 69 71 and".U.F.. "uniq
0020A0: 75 65 20 69 6E 20 74 68 65 20 43 50 43 20 77 6F ue in the CPC wo
0020B0: 72 6C 64 2E 20 49 6E 20 61 6C 6C 20 63 61 73 65 rld. In all case
0020C0: 73 2C 20 63 6F 70 79 72 69 67 68 74 20 69 73 20 s, copyright is
0020D0: 6A 65 61 6C 6F 75 73 6C 79 20 67 75 61 72 64 65 jealously guarde
0020E0: 64 20 62 79 20 74 68 65 22 00 4E 00 50 00 BF 20 d by the".N.P..
0020F0: 22 61 75 74 68 6F 72 73 2C 20 61 6E 64 20 74 68 "authors, and th
002100: 28 2A 0D 0A 20 20 44 45 4D 4F 34 2E 50 41 53 0D (*.. DEMO4.PAS.
002110: 0A 20 20 0D 0A 20 20 6D 6F 72 65 20 62 69 74 73 . .. more bits
002120: 20 74 68 61 74 20 68 61 76 65 20 62 65 65 6E 20 that have been
002130: 61 64 64 65 64 20 74 6F 20 74 68 65 20 70 72 6F added to the pro
002140: 67 72 61 6D 2C 20 74 68 69 73 20 74 69 6D 65 20 gram, this time
002150: 77 65 27 76 65 20 61 64 64 65 64 20 73 6F 6D 65 we've added some
002160: 0D 0A 20 20 63 6F 6E 74 72 6F 6C 20 63 6F 64 65 .. control code
002170: 73 2E 20 54 68 65 73 65 20 61 72 65 20 75 73 65 s. These are use
002180: 64 20 69 6E 20 65 78 61 63 74 6C 79 20 74 68 65 d in exactly the
002190: 20 73 61 6D 65 20 77 61 79 20 61 73 20 6F 75 74 same way as out
0021A0: 6C 69 6E 65 64 20 69 6E 20 79 6F 75 72 0D 0A 20 lined in your..
0021B0: 20 63 6F 6D 70 75 74 65 72 20 6D 61 6E 75 61 6C computer manual
0021C0: 2E 0D 0A 0D 0A 20 20 54 68 65 20 63 6F 64 65 73 ..... The codes
0021D0: 20 69 6E 20 74 68 69 73 20 70 72 6F 67 72 61 6D in this program
0021E0: 20 61 72 65 20 74 68 65 20 43 50 2F 4D 20 76 32 are the CP/M v2
0021F0: 2E 32 20 63 6F 6E 74 72 6F 6C 20 63 6F 64 65 73 .2 control codes
002200: 2C 20 74 68 65 73 65 20 63 61 6E 20 65 61 73 69 , these can easi
002210: 6C 79 0D 0A 20 20 61 6C 74 65 72 65 64 20 66 6F ly.. altered fo
002220: 72 20 43 50 2F 4D 20 76 33 2E 31 20 28 70 6C 75 r CP/M v3.1 (plu
002230: 73 29 0D 0A 2A 29 0D 0A 0D 0A 70 72 6F 63 65 64 s)..*)....proced
002240: 75 72 65 20 63 6F 75 6E 74 65 72 3B 0D 0A 0D 0A ure counter;....
002250: 20 20 76 61 72 20 20 69 20 3A 20 77 6F 72 64 3B var i : word;
002260: 0D 0A 0D 0A 20 20 62 65 67 69 6E 0D 0A 20 20 20 .... begin..
002270: 20 69 3A 3D 31 3B 20 20 20 20 20 20 20 0D 0A 20 i:=1; ..
002280: 20 20 20 72 65 70 65 61 74 20 20 0D 0A 20 20 20 repeat ..
002290: 20 20 20 70 75 74 23 31 28 69 23 2C 31 33 2C 31 put#1(i#,13,1
0022A0: 30 29 3B 0D 0A 20 20 20 20 20 20 69 3A 3D 69 2B 0);.. i:=i+
0022B0: 31 20 20 20 20 20 20 20 20 20 20 20 20 20 0D 0A 1 ..
0022C0: 20 20 20 20 75 6E 74 69 6C 20 69 3E 31 30 0D 0A until i>10..
0022D0: 20 20 65 6E 64 3B 0D 0A 0D 0A 70 72 6F 63 65 64 end;....proced
0022E0: 75 72 65 20 64 69 73 70 6C 61 79 66 72 65 64 3B ure displayfred;
0022F0: 0D 0A 0D 0A 20 20 76 61 72 20 20 78 20 3A 20 77 .... var x : w
002300: 65 73 65 20 70 72 6F 67 72 61 6D 73 20 6D 61 79 ese programs may
002310: 20 4E 4F 54 20 62 65 20 69 6E 63 6C 75 64 65 64 NOT be included
002320: 20 61 6E 20 61 6E 79 20 6F 74 68 65 72 20 73 6F an any other so
002330: 66 74 77 61 72 65 22 00 56 00 5A 00 BF 20 22 6C ftware".V.Z.. "l
002340: 69 62 72 61 72 69 65 73 20 77 69 74 68 6F 75 74 ibraries without
002350: 20 74 68 65 20 65 78 70 72 65 73 73 20 70 65 72 the express per
002360: 6D 69 73 73 69 6F 6E 20 61 6E 64 20 77 72 69 74 mission and writ
002370: 74 65 6E 20 63 6F 6E 73 65 6E 74 20 6F 66 20 62 ten consent of b
002380: 6F 74 68 20 57 41 43 43 49 20 55 4B 22 00 18 00 oth WACCI UK"...
002390: 64 00 BF 20 22 61 6E 64 20 74 68 65 20 41 55 54 d.. "and the AUT
0023A0: 48 4F 52 2E 22 00 07 00 6E 00 BF 20 00 4C 00 78 HOR."...n.. .L.x
0023B0: 00 BF 20 22 54 68 69 73 20 48 6F 6D 65 67 72 6F .. "This Homegro
0023C0: 77 6E 20 53 6F 66 74 77 61 72 65 20 69 73 20 4E wn Software is N
0023D0: 4F 54 20 50 75 62 6C 69 63 20 44 6F 6D 61 69 6E OT Public Domain
0023E0: 2C 20 61 6E 64 20 6D 61 79 20 6E 6F 74 20 62 65 , and may not be
0023F0: 20 66 72 65 65 6C 79 22 00 55 00 82 00 BF 20 22 freely".U.... "
002400: 64 69 73 74 72 69 62 75 74 65 64 20 77 69 74 68 distributed with
002410: 6F 75 74 20 62 72 65 61 63 68 20 6F 66 20 63 6F out breach of co
002420: 70 79 72 69 67 68 74 2E 20 49 6E 20 74 68 65 20 pyright. In the
002430: 69 6E 74 65 72 65 73 74 73 20 6F 66 20 74 68 65 interests of the
002440: 20 65 78 63 6C 75 73 69 76 69 74 79 22 00 4F 00 exclusivity".O.
002450: 8C 00 BF 20 22 70 75 72 63 68 61 73 65 72 73 20 ... "purchasers
002460: 61 72 65 20 70 6F 6C 69 74 65 6C 79 20 61 73 6B are politely ask
002470: 65 64 20 6E 6F 74 20 74 6F 20 70 61 73 73 20 74 ed not to pass t
002480: 68 69 73 20 73 6F 66 74 77 61 72 65 20 6F 6E 20 his software on
002490: 74 6F 20 66 72 69 65 6E 64 73 2E 22 00 56 00 96 to friends.".V..
0024A0: 00 BF 20 22 54 6F 20 64 6F 20 73 6F 20 77 6F 75 .. "To do so wou
0024B0: 6C 64 20 62 65 20 61 67 61 69 6E 73 74 20 74 68 ld be against th
0024C0: 65 20 69 6E 74 65 72 65 73 74 73 20 6F 66 20 74 e interests of t
0024D0: 68 65 20 63 6C 75 62 20 61 73 20 74 68 65 20 4C he club as the L
0024E0: 69 62 72 61 72 79 20 73 75 62 73 69 64 69 73 65 ibrary subsidise
0024F0: 73 22 00 2B 00 A0 00 BF 20 22 74 68 65 20 63 6F s".+.... "the co
002500: 6F 72 64 3B 0D 0A 0D 0A 20 20 62 65 67 69 6E 0D ord;.... begin.
002510: 0A 0D 0A 20 20 20 20 66 6F 72 20 78 3A 3D 31 20 ... for x:=1
002520: 74 6F 20 31 30 20 64 6F 20 70 75 74 23 31 28 27 to 10 do put#1('
002530: 66 72 65 64 20 20 20 20 27 2C 31 33 2C 31 30 29 fred ',13,10)
002540: 0D 0A 0D 0A 20 20 65 6E 64 3B 0D 0A 0D 0A 70 72 .... end;....pr
002550: 6F 63 65 64 75 72 65 20 70 72 65 73 73 6B 65 79 ocedure presskey
002560: 3B 0D 0A 0D 0A 20 20 76 61 72 20 69 6E 6B 65 79 ;.... var inkey
002570: 20 3A 20 77 6F 72 64 20 3B 0D 0A 0D 0A 20 20 62 : word ;.... b
002580: 65 67 69 6E 0D 0A 0D 0A 20 20 20 20 70 75 74 23 egin.... put#
002590: 31 28 27 50 72 65 73 73 20 61 6E 27 2C 27 79 20 1('Press an','y
0025A0: 6B 65 79 20 74 6F 27 2C 27 20 63 6F 6E 74 69 6E key to',' contin
0025B0: 75 27 2C 27 65 20 3A 20 20 20 20 20 27 29 3B 0D u','e : ');.
0025C0: 0A 20 20 20 20 67 65 74 23 31 28 69 6E 6B 65 79 . get#1(inkey
0025D0: 29 3B 0D 0A 20 20 20 20 70 75 74 23 31 28 31 32 );.. put#1(12
0025E0: 29 20 0D 0A 0D 0A 20 20 65 6E 64 3B 0D 0A 0D 0A ) .... end;....
0025F0: 70 72 6F 63 65 64 75 72 65 20 6D 6F 64 65 30 3B procedure mode0;
002600: 20 20 20 20 20 20 20 20 20 20 28 2A 20 73 65 74 (* set
002610: 20 73 63 72 65 65 6E 20 6D 6F 64 65 20 74 6F 20 screen mode to
002620: 30 20 2A 29 0D 0A 0D 0A 20 20 62 65 67 69 6E 20 0 *).... begin
002630: 20 20 20 70 75 74 23 31 28 30 34 2C 30 30 29 20 put#1(04,00)
002640: 20 20 20 20 20 65 6E 64 3B 0D 0A 0D 0A 70 72 6F end;....pro
002650: 63 65 64 75 72 65 20 6D 6F 64 65 31 3B 20 20 20 cedure mode1;
002660: 20 20 20 20 20 20 20 28 2A 20 73 65 74 20 73 63 (* set sc
002670: 72 65 65 6E 20 6D 6F 64 65 20 74 6F 20 31 20 2A reen mode to 1 *
002680: 29 0D 0A 0D 0A 20 20 62 65 67 69 6E 20 20 20 20 ).... begin
002690: 70 75 74 23 31 28 30 34 2C 30 31 29 20 20 20 20 put#1(04,01)
0026A0: 20 20 65 6E 64 3B 0D 0A 0D 0A 70 72 6F 63 65 64 end;....proced
0026B0: 75 72 65 20 6D 6F 64 65 32 3B 20 20 20 20 20 20 ure mode2;
0026C0: 20 20 20 20 28 2A 20 73 65 74 20 73 63 72 65 65 (* set scree
0026D0: 6E 20 6D 6F 64 65 20 74 6F 20 32 20 2A 29 0D 0A n mode to 2 *)..
0026E0: 0D 0A 20 20 62 65 67 69 6E 20 20 20 20 70 75 74 .. begin put
0026F0: 23 31 28 30 34 2C 30 32 29 20 20 20 20 20 20 65 #1(04,02) e
002700: 54 72 61 63 6B 2D 49 6E 66 6F 0D 0A 00 01 00 00 Track-Info......
002710: 02 00 00 00 02 09 49 E5 02 00 C1 02 00 00 00 02 ......I.........
002720: 02 00 C6 02 00 00 00 02 02 00 C2 02 00 00 00 02 ................
002730: 02 00 C7 02 00 00 00 02 02 00 C3 02 00 00 00 02 ................
002740: 02 00 C8 02 00 00 00 02 02 00 C4 02 00 00 00 02 ................
002750: 02 00 C9 02 00 00 00 02 02 00 C5 02 00 00 00 02 ................
002760: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
002770: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
002780: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
002790: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0027A0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0027B0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0027C0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0027D0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0027E0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0027F0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
002800: 73 74 20 6F 66 20 70 72 6F 64 75 63 69 6E 67 20 st of producing
002810: 74 68 65 20 6D 61 67 61 7A 69 6E 65 2E 00 07 00 the magazine....
002820: BE 00 BF 20 00 58 00 C8 00 BF 20 22 20 20 20 20 ... .X.... "
002830: 20 20 43 68 61 69 72 6D 61 6E 20 26 20 4D 61 73 Chairman & Mas
002840: 74 65 72 20 50 44 20 4C 69 62 72 61 72 69 61 6E ter PD Librarian
002850: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
002860: 20 20 20 53 75 62 73 63 72 69 70 74 69 6F 6E 73 Subscriptions
002870: 22 20 20 20 20 20 20 20 20 20 20 20 00 4F 00 CD " .O..
002880: 00 BF 22 20 20 20 20 20 20 4A 6F 68 6E 20 42 6F .." John Bo
002890: 77 6C 65 79 20 20 20 20 20 20 20 20 20 20 20 20 wley
0028A0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
0028B0: 20 20 20 20 20 20 20 20 20 20 50 61 75 6C 20 44 Paul D
0028C0: 77 65 72 72 79 68 6F 75 73 65 22 00 5C 00 D2 00 werryhouse".\...
0028D0: BF 20 22 20 20 20 20 20 20 39 37 20 54 69 72 72 . " 97 Tirr
0028E0: 69 6E 67 74 6F 6E 20 20 20 20 20 20 20 20 20 20 ington
0028F0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
002900: 20 20 20 20 20 20 20 20 20 20 37 20 42 72 75 6E 7 Brun
002910: 73 77 6F 6F 64 20 47 72 65 65 6E 22 20 20 20 20 swood Green"
002920: 20 20 20 20 20 20 20 00 53 00 DC 00 BF 20 22 20 .S.... "
002930: 20 20 20 20 20 42 72 65 74 74 6F 6E 20 20 20 20 Bretton
002940: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
002950: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
002960: 20 20 20 20 20 20 48 61 77 61 72 64 65 6E 22 20 Hawarden"
002970: 20 20 20 20 20 20 20 20 20 20 00 55 00 E6 00 BF .U....
002980: 20 22 20 20 20 20 20 20 50 65 74 65 72 62 6F 72 " Peterbor
002990: 6F 75 67 68 20 20 20 20 20 20 20 20 20 20 20 20 ough
0029A0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
0029B0: 20 20 20 20 20 20 20 20 20 46 6C 69 6E 74 73 68 Flintsh
0029C0: 69 72 65 22 20 20 20 20 20 20 20 20 20 20 20 00 ire" .
0029D0: 51 00 F0 00 BF 20 22 20 20 20 20 20 20 50 45 33 Q.... " PE3
0029E0: 20 39 58 54 20 20 20 20 20 20 20 20 20 20 20 20 9XT
0029F0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
002A00: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
002A10: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
002A20: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
002A30: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
002A40: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
002A50: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
002A60: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
002A70: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
002A80: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
002A90: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
002AA0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
002AB0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
002AC0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
002AD0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
002AE0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
002AF0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
002B00: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
002B10: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
002B20: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
002B30: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
002B40: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
002B50: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
002B60: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
002B70: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
002B80: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
002B90: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
002BA0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
002BB0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
002BC0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
002BD0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
002BE0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
002BF0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
002C00: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 43 48 CH
002C10: 35 20 33 4A 41 22 20 20 20 20 20 20 20 20 20 20 5 3JA"
002C20: 00 4D 00 F1 00 BF 01 BF 22 54 65 6C 65 3A 20 30 .M......"Tele: 0
002C30: 31 37 33 33 20 37 30 32 31 35 38 20 20 20 20 20 1733 702158
002C40: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
002C50: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
002C60: 30 31 32 34 34 20 35 33 34 39 34 32 22 00 07 00 01244 534942"...
002C70: F5 00 BF 01 00 25 00 FA 00 BF 22 50 72 65 73 73 .....%...."Press
002C80: 20 61 6E 79 20 6B 65 79 20 74 6F 20 63 6F 6E 74 any key to cont
002C90: 69 6E 75 65 2E 2E 2E 2E 2E 00 10 00 04 01 83 20 inue...........
002CA0: 1C 18 BB 01 8A 01 84 01 B1 00 00 00 0D 1A 00 1A ................
002CB0: 00 00 0D 1A 00 1A 00 1A 6F 20 63 6F 6E 74 69 6E ........o contin
002CC0: 75 65 2E 2E 2E 2E 2E 00 0A 00 04 01 83 20 1C 18 ue........... ..
002CD0: BB 00 0C 00 0E 01 CA 22 64 69 73 63 32 00 00 00 ......."disc2...
002CE0: 0D 1A 00 1A 0D 0A 34 30 20 50 52 49 4E 54 20 0D ......40 PRINT .
002CF0: 0A 35 30 20 50 52 49 4E 54 20 22 54 68 65 20 57 .50 PRINT "The W
002D00: 20 20 20 20 20 20 20 20 20 20 37 20 42 72 75 6E 7 Brun
002D10: 73 77 6F 6F 64 20 47 72 65 65 6E 22 20 20 20 20 swood Green"
002D20: 20 20 20 20 20 20 20 00 53 00 DC 00 BF 20 22 20 .S.... "
002D30: 20 20 20 20 20 42 72 65 74 74 6F 6E 20 20 20 20 Bretton
002D40: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
002D50: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
002D60: 20 20 20 20 20 20 48 61 77 61 72 64 65 6E 22 20 Hawarden"
002D70: 20 20 20 20 20 20 20 20 20 20 00 55 00 E6 00 BF .U....
002D80: 20 22 20 20 20 20 20 20 50 65 74 65 72 62 6F 72 " Peterbor
002D90: 6F 75 67 68 20 20 20 20 20 20 20 20 20 20 20 20 ough
002DA0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
002DB0: 20 20 20 20 20 20 20 20 20 46 6C 69 6E 74 73 68 Flintsh
002DC0: 69 72 65 22 20 20 20 20 20 20 20 20 20 20 20 00 ire" .
002DD0: 51 00 F0 00 BF 20 22 20 20 20 20 20 20 50 45 33 Q.... " PE3
002DE0: 20 39 58 54 20 20 20 20 20 20 20 20 20 20 20 20 9XT
002DF0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
002E00: 28 2A 20 66 6F 72 77 61 72 64 20 70 72 6F 63 65 (* forward proce
002E10: 64 75 72 65 20 64 65 63 6C 61 72 61 74 69 6F 6E dure declaration
002E20: 20 74 65 73 74 20 2A 29 0D 0A 70 72 6F 63 65 64 test *)..proced
002E30: 75 72 65 20 62 3B 20 66 6F 72 77 61 72 64 3B 0D ure b; forward;.
002E40: 0A 0D 0A 70 72 6F 63 65 64 75 72 65 20 61 28 74 ...procedure a(t
002E50: 68 69 73 2C 74 68 61 74 3A 77 6F 72 64 29 3B 0D his,that:word);.
002E60: 0A 62 65 67 69 6E 0D 0A 09 74 68 69 73 3A 3D 74 .begin...this:=t
002E70: 68 61 74 3B 0D 0A 09 74 68 61 74 3A 3D 74 68 69 hat;...that:=thi
002E80: 73 3B 0D 0A 09 62 28 31 2C 32 29 3B 0D 0A 09 61 s;...b(1,2);...a
002E90: 28 31 33 2C 31 33 29 3B 0D 0A 09 62 28 33 2C 34 (13,13);...b(3,4
002EA0: 29 0D 0A 65 6E 64 3B 20 28 2A 20 70 72 6F 63 75 )..end; (* procu
002EB0: 64 75 72 65 20 61 20 2A 29 0D 0A 0D 0A 70 72 6F dure a *)....pro
002EC0: 63 65 64 75 72 65 20 62 28 70 61 72 6D 31 2C 70 cedure b(parm1,p
002ED0: 61 72 6D 32 3A 77 6F 72 64 29 3B 20 62 61 63 6B arm2:word); back
002EE0: 77 61 72 64 3B 0D 0A 62 65 67 69 6E 0D 0A 09 70 ward;..begin...p
002EF0: 61 72 6D 31 3A 3D 70 61 72 6D 31 2A 70 61 72 6D arm1:=parm1*parm
002F00: 32 3B 0D 0A 09 61 28 31 33 2C 31 33 29 3B 0D 0A 2;...a(13,13);..
002F10: 09 62 28 35 2C 36 29 0D 0A 65 6E 64 2C 3B 20 28 .b(5,6)..end,; (
002F20: 2A 20 70 72 6F 63 65 64 75 72 65 20 62 20 2A 29 * procedure b *)
002F30: 0D 0A 0D 0A 62 65 67 69 6E 20 28 2A 20 6D 61 69 ....begin (* mai
002F40: 6E 20 6C 69 6E 65 20 2A 29 0D 0A 61 28 37 2C 38 n line *)..a(7,8
002F50: 29 3B 0D 0A 62 28 39 2C 31 30 29 0D 0A 65 6E 64 );..b(9,10)..end
002F60: 2C 2E 0D 0A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A ,...............
002F70: 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A ................
002F80: 20 20 65 6E 64 3B 20 28 2A 20 70 72 6F 63 65 64 end; (* proced
002F90: 75 72 65 20 74 72 79 20 2A 29 0D 0A 0D 0A 62 65 ure try *)....be
002FA0: 67 69 6E 20 28 2A 20 6D 61 69 6E 20 6C 69 6E 65 gin (* main line
002FB0: 20 2A 29 0D 0A 66 6F 72 20 69 3A 3D 20 31 20 20 *)..for i:= 1
002FC0: 20 74 6F 20 38 20 20 64 6F 20 61 5B 69 5D 20 20 to 8 do a[i]
002FD0: 20 3A 3D 74 72 75 65 3B 0D 0A 66 6F 72 20 69 3A :=true;..for i:
002FE0: 3D 20 32 20 20 20 74 6F 20 31 36 20 64 6F 20 62 = 2 to 16 do b
002FF0: 5B 69 5D 20 20 20 3A 3D 74 72 75 65 3B 0D 0A 66 [i] :=true;..f
003000: 0D 0A 28 2A 0D 0A 09 50 72 69 6E 74 73 20 73 6F ..(*...Prints so
003010: 6C 75 74 69 6F 6E 73 20 74 6F 20 74 68 65 20 70 lutions to the p
003020: 72 6F 62 6C 65 6D 20 6F 66 20 70 6C 61 63 69 6E roblem of placin
003030: 67 20 65 69 67 68 74 20 71 75 65 65 6E 73 20 6F g eight queens o
003040: 6E 0D 0A 09 61 20 63 68 65 73 73 20 62 6F 61 72 n...a chess boar
003050: 64 20 69 6E 20 73 75 63 68 20 61 20 77 61 79 20 d in such a way
003060: 74 68 61 74 20 6E 6F 20 71 75 65 65 6E 20 63 68 that no queen ch
003070: 65 63 6B 73 20 61 67 61 69 6E 73 74 0D 0A 09 61 ecks against...a
003080: 6E 79 20 6F 74 68 65 72 20 71 75 65 65 6E 2E 20 ny other queen.
003090: 20 53 65 65 20 22 41 6C 67 6F 72 69 74 68 6D 73 See "Algorithms
0030A0: 2B 44 61 74 61 20 53 74 72 75 63 74 75 72 65 73 +Data Structures
0030B0: 20 3D 20 50 72 6F 67 72 61 6D 73 22 2C 0D 0A 09 = Programs",...
0030C0: 4E 69 6B 6C 61 75 73 20 57 69 72 74 68 2E 0D 0A Niklaus Wirth...
0030D0: 2A 29 0D 0A 0D 0A 74 79 70 65 0D 0A 20 20 20 62 *)....type.. b
0030E0: 6F 6F 6C 65 61 6E 20 3D 20 28 66 61 6C 73 65 2C oolean = (false,
0030F0: 20 74 72 75 65 29 3B 0D 0A 20 20 20 61 72 79 69 true);.. aryi
003100: 20 20 20 20 3D 20 61 72 72 61 79 5B 30 2E 2E 20 = array[0..
003110: 38 5D 20 6F 66 20 69 6E 74 65 67 65 72 3B 0D 0A 8] of integer;..
003120: 20 20 20 61 72 79 62 20 20 20 20 3D 20 61 72 72 aryb = arr
003130: 61 79 5B 30 2E 2E 31 36 5D 20 6F 66 20 62 6F 6F ay[0..16] of boo
003140: 6C 65 61 6E 3B 0D 0A 0D 0A 76 61 72 0D 0A 20 20 lean;....var..
003150: 20 69 20 3A 20 69 6E 74 65 67 65 72 3B 0D 0A 20 i : integer;..
003160: 20 20 61 2C 20 62 2C 20 63 3A 20 61 72 79 62 3B a, b, c: aryb;
003170: 0D 0A 20 20 20 78 20 20 20 20 20 20 3A 20 61 72 .. x : ar
003180: 79 69 3B 0D 0A 0D 0A 70 72 6F 63 65 64 75 72 65 yi;....procedure
003190: 20 70 72 69 6E 74 3B 0D 0A 0D 0A 20 20 20 76 61 print;.... va
0031A0: 72 0D 0A 20 20 20 20 20 20 6B 20 3A 20 69 6E 74 r.. k : int
0031B0: 65 67 65 72 3B 0D 0A 0D 0A 20 20 20 62 65 67 69 eger;.... begi
0031C0: 6E 0D 0A 20 20 20 66 6F 72 20 6B 3A 3D 31 20 74 n.. for k:=1 t
0031D0: 6F 20 38 20 64 6F 20 70 75 74 23 30 28 78 5B 6B o 8 do put#0(x[k
0031E0: 5D 23 2C 27 20 27 29 3B 0D 0A 20 20 20 70 75 74 ]#,' ');.. put
0031F0: 23 30 28 31 33 2C 31 30 29 0D 0A 20 20 20 65 6E #0(13,10).. en
003200: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
003210: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
003220: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
003230: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
003240: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
003250: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
003260: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
003270: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
003280: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
003290: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0032A0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0032B0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0032C0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0032D0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0032E0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0032F0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
003300: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
003310: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
003320: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
003330: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
003340: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
003350: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
003360: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
003370: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
003380: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
003390: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0033A0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0033B0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0033C0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0033D0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0033E0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0033F0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
003400: 64 3B 20 28 2A 20 70 72 6F 63 65 64 75 72 65 20 d; (* procedure
003410: 70 72 69 6E 74 20 2A 29 0D 0A 0D 0A 70 72 6F 63 print *)....proc
003420: 65 64 75 72 65 20 74 72 79 28 69 20 3A 20 69 6E edure try(i : in
003430: 74 65 67 65 72 29 3B 0D 0A 0D 0A 20 20 20 76 61 teger);.... va
003440: 72 0D 0A 20 20 20 20 20 20 6A 20 3A 20 69 6E 74 r.. j : int
003450: 65 67 65 72 3B 0D 0A 0D 0A 20 20 20 62 65 67 69 eger;.... begi
003460: 6E 0D 0A 20 20 20 66 6F 72 20 6A 3A 3D 31 20 74 n.. for j:=1 t
003470: 6F 20 38 20 64 6F 0D 0A 20 20 20 20 20 20 69 66 o 8 do.. if
003480: 20 28 61 5B 6A 5D 3D 74 72 75 65 29 20 61 6E 64 (a[j]=true) and
003490: 20 28 62 5B 69 2B 6A 5D 3D 74 72 75 65 29 20 61 (b[i+j]=true) a
0034A0: 6E 64 20 28 63 5B 69 2D 6A 2B 37 5D 3D 74 72 75 nd (c[i-j+7]=tru
0034B0: 65 29 20 74 68 65 6E 0D 0A 20 20 20 20 20 20 20 e) then..
0034C0: 20 20 62 65 67 69 6E 0D 0A 20 20 20 20 20 20 20 begin..
0034D0: 20 20 78 5B 69 5D 3A 3D 6A 3B 0D 0A 20 20 20 20 x[i]:=j;..
0034E0: 20 20 20 20 20 61 5B 6A 5D 3A 3D 66 61 6C 73 65 a[j]:=false
0034F0: 3B 20 62 5B 69 2B 6A 5D 3A 3D 66 61 6C 73 65 3B ; b[i+j]:=false;
003500: 20 63 5B 69 2D 6A 2B 37 5D 3A 3D 66 61 6C 73 65 c[i-j+7]:=false
003510: 3B 0D 0A 20 20 20 20 20 20 20 20 20 69 66 20 69 ;.. if i
003520: 3C 38 20 74 68 65 6E 20 74 72 79 28 69 2B 31 29 <8 then try(i+1)
003530: 20 65 6C 73 65 20 70 72 69 6E 74 3B 0D 0A 20 20 else print;..
003540: 20 20 20 20 20 20 20 61 5B 6A 5D 3A 3D 74 72 75 a[j]:=tru
003550: 65 3B 20 62 5B 69 2B 6A 5D 3A 3D 74 72 75 65 3B e; b[i+j]:=true;
003560: 20 63 5B 69 2D 6A 2B 37 5D 3A 3D 74 72 75 65 0D c[i-j+7]:=true.
003570: 0A 20 20 20 20 20 20 20 20 20 65 6E 64 0D 0A 20 . end..
003580: 20 20 65 6E 64 3B 20 28 2A 20 70 72 6F 63 65 64 end; (* proced
003590: 75 72 65 20 74 72 79 20 2A 29 0D 0A 0D 0A 62 65 ure try *)....be
0035A0: 67 69 6E 20 28 2A 20 6D 61 69 6E 20 6C 69 6E 65 gin (* main line
0035B0: 20 2A 29 0D 0A 66 6F 72 20 69 3A 3D 20 31 20 20 *)..for i:= 1
0035C0: 20 74 6F 20 38 20 20 64 6F 20 61 5B 69 5D 20 20 to 8 do a[i]
0035D0: 20 3A 3D 74 72 75 65 3B 0D 0A 66 6F 72 20 69 3A :=true;..for i:
0035E0: 3D 20 32 20 20 20 74 6F 20 31 36 20 64 6F 20 62 = 2 to 16 do b
0035F0: 5B 69 5D 20 20 20 3A 3D 74 72 75 65 3B 0D 0A 66 [i] :=true;..f
003600: 0D 0A 28 2A 0D 0A 74 69 74 6C 65 20 20 20 20 6D ..(*..title m
003610: 65 73 73 61 67 65 20 64 65 63 6F 64 69 6E 67 20 essage decoding
003620: 62 79 20 6F 70 74 69 6D 61 6C 20 62 69 6E 61 72 by optimal binar
003630: 79 20 73 65 61 72 63 68 20 74 72 65 65 20 62 75 y search tree bu
003640: 69 6C 64 69 6E 67 0D 0A 20 20 20 20 20 20 20 20 ilding..
003650: 20 75 73 69 6E 67 20 74 68 65 20 68 75 2D 74 75 using the hu-tu
003660: 63 6B 65 72 20 61 6C 67 6F 72 69 74 68 6D 0D 0A cker algorithm..
003670: 20 20 20 20 20 20 20 20 20 63 73 20 33 32 31 20 cs 321
003680: 68 6F 6D 65 77 6F 72 6B 20 35 0D 0A 61 75 74 68 homework 5..auth
003690: 6F 72 20 20 20 72 6F 62 65 72 74 20 61 2E 20 76 or robert a. v
0036A0: 61 6E 20 76 61 6C 7A 61 68 20 20 20 30 33 2F 33 an valzah 03/3
0036B0: 31 2F 38 30 0D 0A 0D 0A 0D 0A 74 68 69 73 20 20 1/80......this
0036C0: 70 72 6F 67 72 61 6D 20 77 69 6C 6C 20 62 75 69 program will bui
0036D0: 6C 64 20 61 6E 20 6F 70 74 69 6D 61 6C 20 62 69 ld an optimal bi
0036E0: 6E 61 72 79 20 73 65 61 72 63 68 20 74 72 65 65 nary search tree
0036F0: 20 67 69 76 65 6E 0D 0A 61 20 73 65 74 20 6F 66 given..a set of
003700: 20 63 68 61 72 61 63 74 65 72 73 20 61 6E 64 20 characters and
003710: 66 72 65 71 75 65 6E 63 69 65 73 20 6F 66 20 6F frequencies of o
003720: 63 63 75 72 61 6E 63 65 2E 20 20 74 68 65 20 20 ccurance. the
003730: 74 72 65 65 0D 0A 69 73 20 63 6F 6E 73 74 72 75 tree..is constru
003740: 63 74 65 64 20 75 73 69 6E 67 20 74 68 65 20 68 cted using the h
003750: 75 2D 74 75 63 6B 65 72 20 61 6C 67 6F 72 69 74 u-tucker algorit
003760: 68 6D 20 28 73 65 65 20 6B 6E 75 74 68 2C 20 74 hm (see knuth, t
003770: 68 65 0D 0A 61 72 74 20 6F 66 20 63 6F 6D 70 75 he..art of compu
003780: 74 65 72 20 70 72 6F 67 72 61 6D 6D 69 6E 67 2C ter programming,
003790: 20 76 6F 6C 75 6D 65 20 33 2F 73 6F 72 74 69 6E volume 3/sortin
0037A0: 67 20 61 6E 64 20 73 65 61 72 63 68 69 6E 67 2C g and searching,
0037B0: 0D 0A 70 70 2E 20 20 34 33 39 2D 34 34 36 29 2E ..pp. 439-446).
0037C0: 20 20 61 6E 20 69 6E 70 75 74 20 73 65 71 75 65 an input seque
0037D0: 6E 63 65 20 6F 66 20 31 27 73 20 61 6E 64 20 30 nce of 1's and 0
0037E0: 27 73 20 69 73 20 74 68 65 6E 20 64 65 2D 0D 0A 's is then de-..
0037F0: 63 6F 64 65 64 20 69 6E 74 6F 20 61 20 73 65 71 coded into a seq
003800: 6F 72 20 69 3A 3D 20 30 2D 37 20 74 6F 20 37 20 or i:= 0-7 to 7
003810: 20 64 6F 20 63 5B 69 2B 37 5D 20 3A 3D 74 72 75 do c[i+7] :=tru
003820: 65 3B 0D 0A 0D 0A 74 72 79 28 31 29 0D 0A 65 6E e;....try(1)..en
003830: 64 2E 0D 0A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A d...............
003840: 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A ................
003850: 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A ................
003860: 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A ................
003870: 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A ................
003880: 20 28 61 5B 6A 5D 3D 74 72 75 65 29 20 61 6E 64 (a[j]=true) and
003890: 20 28 62 5B 69 2B 6A 5D 3D 74 72 75 65 29 20 61 (b[i+j]=true) a
0038A0: 6E 64 20 28 63 5B 69 2D 6A 2B 37 5D 3D 74 72 75 nd (c[i-j+7]=tru
0038B0: 65 29 20 74 68 65 6E 0D 0A 20 20 20 20 20 20 20 e) then..
0038C0: 20 20 62 65 67 69 6E 0D 0A 20 20 20 20 20 20 20 begin..
0038D0: 20 20 78 5B 69 5D 3A 3D 6A 3B 0D 0A 20 20 20 20 x[i]:=j;..
0038E0: 20 20 20 20 20 61 5B 6A 5D 3A 3D 66 61 6C 73 65 a[j]:=false
0038F0: 3B 20 62 5B 69 2B 6A 5D 3A 3D 66 61 6C 73 65 3B ; b[i+j]:=false;
003900: 20 63 5B 69 2D 6A 2B 37 5D 3A 3D 66 61 6C 73 65 c[i-j+7]:=false
003910: 3B 0D 0A 20 20 20 20 20 20 20 20 20 69 66 20 69 ;.. if i
003920: 3C 38 20 74 68 65 6E 20 74 72 79 28 69 2B 31 29 <8 then try(i+1)
003930: 20 65 6C 73 65 20 70 72 69 6E 74 3B 0D 0A 20 20 else print;..
003940: 20 20 20 20 20 20 20 61 5B 6A 5D 3A 3D 74 72 75 a[j]:=tru
003950: 65 3B 20 62 5B 69 2B 6A 5D 3A 3D 74 72 75 65 3B e; b[i+j]:=true;
003960: 20 63 5B 69 2D 6A 2B 37 5D 3A 3D 74 72 75 65 0D c[i-j+7]:=true.
003970: 0A 20 20 20 20 20 20 20 20 20 65 6E 64 0D 0A 20 . end..
003980: 20 20 65 6E 64 3B 20 28 2A 20 70 72 6F 63 65 64 end; (* proced
003990: 75 72 65 20 74 72 79 20 2A 29 0D 0A 0D 0A 62 65 ure try *)....be
0039A0: 67 69 6E 20 28 2A 20 6D 61 69 6E 20 6C 69 6E 65 gin (* main line
0039B0: 20 2A 29 0D 0A 66 6F 72 20 69 3A 3D 20 31 20 20 *)..for i:= 1
0039C0: 20 74 6F 20 38 20 20 64 6F 20 61 5B 69 5D 20 20 to 8 do a[i]
0039D0: 20 3A 3D 74 72 75 65 3B 0D 0A 66 6F 72 20 69 3A :=true;..for i:
0039E0: 3D 20 32 20 20 20 74 6F 20 31 36 20 64 6F 20 62 = 2 to 16 do b
0039F0: 5B 69 5D 20 20 20 3A 3D 74 72 75 65 3B 0D 0A 66 [i] :=true;..f
003A00: 54 72 61 63 6B 2D 49 6E 66 6F 0D 0A 00 01 00 00 Track-Info......
003A10: 03 00 00 00 02 09 49 E5 03 00 C1 02 00 00 00 02 ......I.........
003A20: 03 00 C6 02 00 00 00 02 03 00 C2 02 00 00 00 02 ................
003A30: 03 00 C7 02 00 00 00 02 03 00 C3 02 00 00 00 02 ................
003A40: 03 00 C8 02 00 00 00 02 03 00 C4 02 00 00 00 02 ................
003A50: 03 00 C9 02 00 00 00 02 03 00 C5 02 00 00 00 02 ................
003A60: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
003A70: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
003A80: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
003A90: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
003AA0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
003AB0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
003AC0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
003AD0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
003AE0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
003AF0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
003B00: 75 65 6E 63 65 20 6F 66 20 63 68 61 72 61 63 74 uence of charact
003B10: 65 72 73 20 20 75 73 69 6E 67 20 20 74 68 69 73 ers using this
003B20: 20 20 74 72 65 65 2E 20 20 74 68 65 0D 0A 72 65 tree. the..re
003B30: 73 75 6C 74 69 6E 67 20 6D 65 73 73 61 67 65 20 sulting message
003B40: 69 73 20 70 72 69 6E 74 65 64 2E 0D 0A 2A 29 0D is printed...*).
003B50: 0A 0D 0A 0D 0A 63 6F 6E 73 74 0D 0A 20 20 20 6E .....const.. n
003B60: 6D 61 78 20 20 20 20 20 3D 20 33 30 3B 20 28 2A max = 30; (*
003B70: 20 6D 61 78 20 6E 75 6D 62 65 72 20 6F 66 20 63 max number of c
003B80: 68 61 72 61 63 74 65 72 73 20 2A 29 0D 0A 20 20 haracters *)..
003B90: 20 72 6C 20 20 20 20 20 20 20 3D 20 39 3B 20 20 rl = 9;
003BA0: 28 2A 20 72 65 63 6F 72 64 20 6C 65 6E 67 74 68 (* record length
003BB0: 20 69 6E 20 77 6F 72 64 73 20 2A 29 0D 0A 20 20 in words *)..
003BC0: 20 64 69 6D 20 20 20 20 20 20 3D 20 38 31 30 3B dim = 810;
003BD0: 28 2A 20 6E 6D 61 78 20 2A 20 72 6C 20 2A 20 33 (* nmax * rl * 3
003BE0: 20 2A 29 0D 0A 20 20 20 63 68 61 72 20 20 20 20 *).. char
003BF0: 20 3D 20 30 3B 20 20 28 2A 20 63 68 61 72 61 63 = 0; (* charac
003C00: 74 65 72 20 76 61 6C 75 65 20 6F 66 66 73 65 74 ter value offset
003C10: 20 2A 29 0D 0A 20 20 20 66 72 65 71 20 20 20 20 *).. freq
003C20: 20 3D 20 31 3B 20 20 28 2A 20 63 68 61 72 61 63 = 1; (* charac
003C30: 74 65 72 20 66 72 65 71 75 65 6E 63 65 20 6F 66 ter frequence of
003C40: 66 73 65 74 20 2A 29 0D 0A 20 20 20 6C 73 74 20 fset *).. lst
003C50: 20 20 20 20 20 3D 20 32 3B 20 20 28 2A 20 70 6F = 2; (* po
003C60: 69 6E 74 65 72 20 74 6F 20 6C 65 66 74 20 20 73 inter to left s
003C70: 75 62 74 72 65 65 20 6F 66 66 73 65 74 20 2A 29 ubtree offset *)
003C80: 0D 0A 20 20 20 72 73 74 20 20 20 20 20 20 3D 20 .. rst =
003C90: 33 3B 20 20 28 2A 20 70 6F 69 6E 74 65 72 20 74 3; (* pointer t
003CA0: 6F 20 72 69 67 68 74 20 73 75 62 74 72 65 65 20 o right subtree
003CB0: 6F 66 66 73 65 74 20 2A 29 0D 0A 20 20 20 6C 66 offset *).. lf
003CC0: 6F 72 73 74 20 20 20 3D 20 34 3B 20 20 28 2A 20 orst = 4; (*
003CD0: 70 6F 69 6E 74 65 72 20 74 6F 20 6C 65 66 74 20 pointer to left
003CE0: 20 62 72 6F 74 68 65 72 20 6F 66 66 73 65 74 20 brother offset
003CF0: 2A 29 0D 0A 20 20 20 72 66 6F 72 73 74 20 20 20 *).. rforst
003D00: 5D 3A 3D 63 68 3B 0D 0A 20 20 20 20 20 20 68 5B ]:=ch;.. h[
003D10: 70 2B 66 72 65 71 20 20 5D 3A 3D 66 72 71 3B 0D p+freq ]:=frq;.
003D20: 0A 20 20 20 20 20 20 68 5B 70 2B 6C 73 74 20 20 . h[p+lst
003D30: 20 5D 3A 3D 6E 69 6C 3B 20 20 28 2A 20 6C 65 61 ]:=nil; (* lea
003D40: 76 65 73 20 68 61 76 65 20 6E 6F 20 73 75 62 74 ves have no subt
003D50: 72 65 65 73 20 2A 29 0D 0A 20 20 20 20 20 20 68 rees *).. h
003D60: 5B 70 2B 72 73 74 20 20 20 5D 3A 3D 6E 69 6C 3B [p+rst ]:=nil;
003D70: 0D 0A 20 20 20 20 20 20 68 5B 70 2B 6C 66 6F 72 .. h[p+lfor
003D80: 73 74 5D 3A 3D 70 72 65 76 3B 20 28 2A 20 6C 69 st]:=prev; (* li
003D90: 6E 6B 20 74 6F 20 6C 61 73 74 20 6E 6F 64 65 20 nk to last node
003DA0: 72 65 61 64 20 63 72 65 61 74 65 64 20 2A 29 0D read created *).
003DB0: 0A 20 20 20 20 20 20 68 5B 70 2B 6C 65 78 70 20 . h[p+lexp
003DC0: 20 5D 3A 3D 70 72 65 76 3B 20 28 2A 20 70 72 65 ]:=prev; (* pre
003DD0: 64 65 63 65 73 73 6F 72 20 69 73 20 61 6C 73 6F decessor is also
003DE0: 20 6C 61 73 74 20 6E 6F 64 65 20 63 72 65 61 74 last node creat
003DF0: 65 64 20 2A 29 0D 0A 20 20 20 20 20 20 69 66 20 ed *).. if
003E00: 28 70 72 65 76 3C 3E 6E 69 6C 29 20 74 68 65 6E (prev<>nil) then
003E10: 20 62 65 67 69 6E 20 28 2A 20 6F 6E 20 61 6C 6C begin (* on all
003E20: 20 62 75 74 20 66 69 72 73 74 20 6E 6F 64 65 20 but first node
003E30: 2E 20 2E 20 2E 20 2A 29 0D 0A 20 20 20 20 20 20 . . . *)..
003E40: 20 20 20 68 5B 70 72 65 76 2B 72 66 6F 72 73 74 h[prev+rforst
003E50: 20 20 5D 3A 3D 70 3B 20 20 20 28 2A 20 6D 61 6B ]:=p; (* mak
003E60: 65 20 70 72 65 76 69 6F 75 73 20 72 69 67 68 74 e previous right
003E70: 20 66 6F 72 65 73 74 20 70 6F 69 6E 74 65 72 20 forest pointer
003E80: 61 6E 64 20 2A 29 0D 0A 20 20 20 20 20 20 20 20 and *)..
003E90: 20 68 5B 70 72 65 76 2B 6C 65 78 73 20 20 20 20 h[prev+lexs
003EA0: 5D 3A 3D 70 20 20 20 20 28 2A 20 6C 65 78 69 63 ]:=p (* lexic
003EB0: 6F 67 72 61 70 68 69 63 20 73 75 63 63 65 73 73 ographic success
003EC0: 6F 72 20 70 6F 69 6E 74 20 74 6F 20 74 68 65 20 or point to the
003ED0: 6E 65 77 20 6E 6F 64 65 20 2A 29 0D 0A 20 20 20 new node *)..
003EE0: 20 20 20 20 20 20 65 6E 64 3B 0D 0A 20 20 20 20 end;..
003EF0: 20 20 70 72 65 76 3A 3D 70 3B 0D 0A 20 20 20 20 prev:=p;..
003F00: 3D 20 35 3B 20 20 28 2A 20 70 6F 69 6E 74 65 72 = 5; (* pointer
003F10: 20 74 6F 20 72 69 67 68 74 20 62 72 6F 74 68 65 to right brothe
003F20: 72 20 6F 66 66 73 65 74 20 2A 29 0D 0A 20 20 20 r offset *)..
003F30: 6C 65 76 20 20 20 20 20 20 3D 20 36 3B 20 20 28 lev = 6; (
003F40: 2A 20 6E 6F 64 65 20 6C 65 76 65 6C 20 6E 75 6D * node level num
003F50: 62 65 72 20 2A 29 0D 0A 20 20 20 6C 65 78 70 20 ber *).. lexp
003F60: 20 20 20 20 3D 20 37 3B 20 20 28 2A 20 70 6F 69 = 7; (* poi
003F70: 6E 74 65 72 20 74 6F 20 6C 65 78 69 63 6F 67 72 nter to lexicogr
003F80: 61 70 68 69 63 20 70 72 65 64 65 63 65 73 73 6F aphic predecesso
003F90: 72 20 2A 29 0D 0A 20 20 20 6C 65 78 73 20 20 20 r *).. lexs
003FA0: 20 20 3D 20 38 3B 20 20 28 2A 20 70 6F 69 6E 74 = 8; (* point
003FB0: 65 72 20 74 6F 20 6C 65 78 69 63 6F 67 72 61 70 er to lexicograp
003FC0: 68 69 63 20 73 75 63 63 65 73 73 6F 72 20 2A 29 hic successor *)
003FD0: 0D 0A 0D 0A 20 20 20 6E 69 6C 20 20 20 20 20 20 .... nil
003FE0: 3D 20 30 3B 20 20 28 2A 20 7A 65 72 6F 74 68 20 = 0; (* zeroth
003FF0: 65 6C 65 6D 65 6E 74 20 6E 65 76 65 72 20 75 73 element never us
004000: 65 64 20 2A 29 0D 0A 20 20 20 73 65 6E 74 20 20 ed *).. sent
004010: 20 20 20 3D 20 27 24 27 3B 28 2A 20 73 65 6E 74 = '$';(* sent
004020: 69 6E 61 6C 20 63 68 61 72 61 63 74 65 72 20 2A inal character *
004030: 29 0D 0A 20 20 20 6D 61 78 69 6E 74 20 20 20 3D ).. maxint =
004040: 20 33 32 37 36 37 3B 20 28 2A 20 6B 6C 75 64 67 32767; (* kludg
004050: 65 20 63 61 75 73 65 20 6E 6F 74 20 64 65 66 69 e cause not defi
004060: 6E 65 64 20 62 79 20 63 6F 6D 70 69 6C 65 72 20 ned by compiler
004070: 2A 29 0D 0A 0D 0A 74 79 70 65 0D 0A 20 20 20 61 *)....type.. a
004080: 72 79 20 20 20 20 20 20 3D 20 61 72 72 61 79 5B ry = array[
004090: 30 2E 2E 64 69 6D 5D 20 6F 66 20 77 6F 72 64 3B 0..dim] of word;
0040A0: 0D 0A 20 20 20 62 6F 6F 6C 65 61 6E 20 20 3D 20 .. boolean =
0040B0: 28 66 61 6C 73 65 2C 20 74 72 75 65 29 3B 20 28 (false, true); (
0040C0: 2A 20 6B 6C 75 64 67 65 20 74 69 6C 6C 20 63 6F * kludge till co
0040D0: 6D 70 69 6C 65 72 20 69 73 20 64 6F 6E 65 20 2A mpiler is done *
0040E0: 29 0D 0A 20 20 20 0D 0A 76 61 72 20 20 20 20 20 ).. ..var
0040F0: 20 20 20 20 28 2A 20 67 6C 6F 62 61 6C 20 76 61 (* global va
004100: 20 20 72 65 61 64 6E 6F 64 65 0D 0A 20 20 20 75 readnode.. u
004110: 6E 74 69 6C 20 28 63 68 3D 73 65 6E 74 29 3B 0D ntil (ch=sent);.
004120: 0A 0D 0A 20 20 20 28 2A 20 64 6F 6E 65 20 72 65 ... (* done re
004130: 61 64 69 6E 67 20 6E 6F 64 65 73 20 2A 29 0D 0A ading nodes *)..
004140: 20 20 20 72 6D 6F 73 74 3A 3D 70 3B 20 20 20 20 rmost:=p;
004150: 20 20 20 20 20 20 28 2A 20 72 65 63 6F 72 64 20 (* record
004160: 70 6F 69 6E 74 65 72 20 74 6F 20 72 69 67 68 74 pointer to right
004170: 20 6D 6F 73 74 20 6E 6F 64 65 20 2A 29 0D 0A 20 most node *)..
004180: 20 20 68 5B 70 2B 72 66 6F 72 73 74 5D 3A 3D 6E h[p+rforst]:=n
004190: 69 6C 3B 20 20 28 2A 20 72 69 67 68 74 20 6D 6F il; (* right mo
0041A0: 73 74 20 6E 6F 64 65 20 68 61 73 20 6E 6F 20 72 st node has no r
0041B0: 69 67 68 74 20 62 72 6F 74 68 65 72 20 2A 29 0D ight brother *).
0041C0: 0A 20 20 20 68 5B 70 2B 6C 65 78 73 20 20 5D 3A . h[p+lexs ]:
0041D0: 3D 6E 69 6C 20 20 20 28 2A 20 72 69 67 68 74 20 =nil (* right
0041E0: 6D 6F 73 74 20 6E 6F 64 65 20 68 61 73 20 6E 6F most node has no
0041F0: 20 6C 65 78 69 63 6F 67 72 61 70 68 69 63 20 73 lexicographic s
004200: 75 63 63 65 73 73 6F 72 20 2A 29 0D 0A 20 20 20 uccessor *)..
004210: 65 6E 64 3B 20 28 2A 20 70 72 6F 63 65 64 75 72 end; (* procedur
004220: 65 20 72 65 61 64 74 72 65 65 20 2A 29 0D 0A 0D e readtree *)...
004230: 0A 0D 0A 28 2A 0D 0A 67 69 76 65 6E 20 61 20 66 ...(*..given a f
004240: 6F 72 65 73 74 20 6F 66 20 74 72 65 65 73 20 28 orest of trees (
004250: 61 6C 6C 20 6C 65 61 76 65 73 20 77 68 65 6E 20 all leaves when
004260: 77 65 20 73 74 61 72 74 29 2C 20 62 75 69 6C 64 we start), build
004270: 20 74 68 65 6D 0D 0A 69 6E 74 6F 20 20 61 20 20 them..into a
004280: 73 69 6E 67 6C 65 20 74 72 65 65 20 75 73 69 6E single tree usin
004290: 67 20 70 68 61 73 65 20 31 20 6F 66 20 74 68 65 g phase 1 of the
0042A0: 20 68 75 2D 74 75 63 6B 65 72 20 61 6C 67 6F 72 hu-tucker algor
0042B0: 69 74 68 6D 2E 0D 0A 74 68 65 20 72 6F 6F 74 20 ithm...the root
0042C0: 6F 66 20 74 68 65 20 72 65 73 75 6C 74 61 6E 74 of the resultant
0042D0: 20 74 72 65 65 20 77 69 6C 6C 20 62 65 20 69 6E tree will be in
0042E0: 20 6C 6D 6F 73 74 20 6F 6E 20 65 78 69 74 2E 0D lmost on exit..
0042F0: 0A 0D 0A 74 68 65 20 61 6C 67 6F 72 69 74 68 6D ...the algorithm
004300: 72 69 61 62 6C 65 73 20 2A 29 0D 0A 20 20 20 68 riables *).. h
004310: 20 20 20 20 20 20 20 20 3A 20 61 72 79 3B 20 20 : ary;
004320: 28 2A 20 74 68 65 20 68 65 61 70 20 2A 29 0D 0A (* the heap *)..
004330: 20 20 20 68 70 20 20 20 20 20 20 20 3A 20 77 6F hp : wo
004340: 72 64 3B 20 28 2A 20 74 68 65 20 68 65 61 70 20 rd; (* the heap
004350: 70 6F 69 6E 74 65 72 20 2A 29 0D 0A 20 20 20 6C pointer *).. l
004360: 6D 6F 73 74 2C 0D 0A 20 20 20 72 6D 6F 73 74 20 most,.. rmost
004370: 20 20 20 3A 20 77 6F 72 64 3B 20 28 2A 20 6C 65 : word; (* le
004380: 66 74 20 61 6E 64 20 72 69 67 68 74 20 6D 6F 73 ft and right mos
004390: 74 20 65 6E 64 73 20 6F 66 20 74 68 65 20 6C 69 t ends of the li
0043A0: 73 74 20 2A 29 0D 0A 20 20 20 6C 65 78 66 69 72 st *).. lexfir
0043B0: 73 74 20 3A 20 77 6F 72 64 3B 20 28 2A 20 70 6F st : word; (* po
0043C0: 69 6E 74 65 72 20 74 6F 20 66 69 72 73 74 20 6E inter to first n
0043D0: 6F 64 65 20 69 6E 20 6C 65 78 20 6F 72 64 65 72 ode in lex order
0043E0: 20 2A 29 0D 0A 0D 0A 70 72 6F 63 65 64 75 72 65 *)....procedure
0043F0: 20 6E 65 77 28 76 61 72 20 70 3A 77 6F 72 64 29 new(var p:word)
004400: 3B 0D 0A 0D 0A 20 20 20 62 65 67 69 6E 0D 0A 20 ;.... begin..
004410: 20 20 68 70 3A 3D 68 70 2B 31 3B 0D 0A 20 20 20 hp:=hp+1;..
004420: 70 3A 3D 68 70 2A 72 6C 3B 0D 0A 20 20 20 69 66 p:=hp*rl;.. if
004430: 20 28 70 3E 64 69 6D 2D 72 6C 29 0D 0A 20 20 20 (p>dim-rl)..
004440: 20 20 20 74 68 65 6E 20 70 75 74 23 31 28 27 68 then put#1('h
004450: 65 61 70 6F 76 65 72 27 29 0D 0A 20 20 20 65 6E eapover').. en
004460: 64 3B 20 28 2A 20 70 72 6F 63 65 64 75 72 65 20 d; (* procedure
004470: 6E 65 77 20 2A 29 0D 0A 0D 0A 0D 0A 28 2A 0D 0A new *)......(*..
004480: 72 65 61 64 20 20 61 20 20 73 65 71 75 65 6E 63 read a sequenc
004490: 65 20 6F 66 20 63 68 61 72 61 63 74 65 72 73 20 e of characters
0044A0: 61 6E 64 20 77 65 69 67 68 74 73 20 66 72 6F 6D and weights from
0044B0: 20 74 68 65 20 73 74 61 6E 64 61 72 64 0D 0A 69 the standard..i
0044C0: 6E 70 75 74 20 66 69 6C 65 20 61 6E 64 20 63 72 nput file and cr
0044D0: 65 61 74 65 20 61 20 6E 6F 64 65 20 66 6F 72 20 eate a node for
0044E0: 65 61 63 68 20 20 70 61 69 72 2E 20 20 74 68 65 each pair. the
0044F0: 20 20 6E 6F 64 65 73 20 20 61 72 65 0D 0A 6C 69 nodes are..li
004500: 20 69 73 20 69 6D 70 6C 65 6D 65 6E 74 65 64 20 is implemented
004510: 75 73 69 6E 67 20 74 77 6F 20 69 6E 74 65 72 6E using two intern
004520: 61 6C 20 70 72 6F 63 65 64 75 72 65 73 2E 74 68 al procedures.th
004530: 65 0D 0A 66 69 72 73 74 20 28 70 69 63 6B 6C 72 e..first (picklr
004540: 29 20 63 68 6F 6F 73 65 73 20 74 77 6F 20 20 74 ) chooses two t
004550: 72 65 65 73 20 20 66 6F 72 20 20 63 6F 6D 62 69 rees for combi
004560: 6E 61 74 69 6F 6E 2C 20 20 61 6E 64 20 20 74 68 nation, and th
004570: 65 0D 0A 73 65 63 6F 6E 64 20 20 28 63 6F 6D 62 e..second (comb
004580: 69 6E 65 6C 72 29 20 20 63 6F 6D 62 69 6E 65 73 inelr) combines
004590: 20 74 68 65 20 74 77 6F 20 63 68 6F 73 65 6E 20 the two chosen
0045A0: 74 72 65 65 73 20 74 6F 20 66 6F 72 6D 20 6E 65 trees to form ne
0045B0: 77 0D 0A 69 6E 74 65 72 6E 61 6C 20 6E 6F 64 65 w..internal node
0045C0: 20 69 6E 20 74 68 65 20 66 69 6E 61 6C 20 20 74 in the final t
0045D0: 72 65 65 2E 20 20 74 68 69 73 20 20 70 72 6F 63 ree. this proc
0045E0: 65 73 73 20 20 69 73 20 20 72 65 70 65 61 74 65 ess is repeate
0045F0: 64 0D 0A 75 6E 69 74 6C 20 74 68 65 20 66 6F 72 d..unitl the for
004600: 65 73 74 20 63 6F 6E 74 61 69 6E 73 20 6F 6E 6C est contains onl
004610: 79 20 6F 6E 65 20 74 72 65 65 2E 0D 0A 2A 29 0D y one tree...*).
004620: 0A 70 72 6F 63 65 64 75 72 65 20 62 75 69 6C 64 .procedure build
004630: 31 74 72 65 65 3B 0D 0A 0D 0A 20 20 20 76 61 72 1tree;.... var
004640: 20 6C 65 66 74 2C 20 72 69 74 65 20 3A 20 77 6F left, rite : wo
004650: 72 64 3B 20 28 2A 20 70 6F 69 6E 74 65 72 73 20 rd; (* pointers
004660: 74 6F 20 6E 6F 64 65 73 20 74 6F 20 62 65 20 63 to nodes to be c
004670: 6F 6D 62 69 6E 65 64 20 2A 29 0D 0A 0D 0A 0D 0A ombined *)......
004680: 20 20 20 28 2A 0D 0A 20 20 20 70 69 63 6B 20 20 (*.. pick
004690: 74 77 6F 20 20 74 72 65 65 73 20 66 72 6F 6D 20 two trees from
0046A0: 74 68 65 20 66 6F 72 65 73 74 20 77 68 69 63 68 the forest which
0046B0: 20 73 61 74 69 73 66 79 20 74 68 65 20 66 6F 6C satisfy the fol
0046C0: 6C 6F 77 69 6E 67 0D 0A 20 20 20 72 75 6C 65 73 lowing.. rules
0046D0: 3A 0D 0A 0D 0A 20 20 20 6C 65 74 20 69 20 61 6E :.... let i an
0046E0: 64 20 6A 20 62 65 20 70 6F 69 6E 74 65 72 73 20 d j be pointers
0046F0: 74 6F 20 74 68 65 20 6C 65 66 74 20 61 6E 64 20 to the left and
004700: 6E 6B 65 64 20 69 6E 74 6F 20 61 20 64 6F 75 62 nked into a doub
004710: 6C 79 20 6C 69 6E 6B 65 64 20 6C 69 73 74 20 74 ly linked list t
004720: 6F 20 66 6F 72 6D 20 61 20 66 6F 72 65 73 74 20 o form a forest
004730: 61 73 20 74 68 65 79 20 61 72 65 0D 0A 72 65 61 as they are..rea
004740: 64 2E 0D 0A 2A 29 0D 0A 70 72 6F 63 65 64 75 72 d...*)..procedur
004750: 65 20 72 65 61 64 74 72 65 65 3B 0D 0A 0D 0A 20 e readtree;....
004760: 20 20 76 61 72 0D 0A 20 20 20 20 20 20 63 68 20 var.. ch
004770: 20 3A 20 77 6F 72 64 3B 20 20 28 2A 20 6E 6F 64 : word; (* nod
004780: 65 20 76 61 6C 75 65 20 2A 29 0D 0A 20 20 20 20 e value *)..
004790: 20 20 66 72 71 20 3A 20 77 6F 72 64 3B 20 20 28 frq : word; (
0047A0: 2A 20 66 72 65 71 75 65 6E 63 79 20 2A 29 0D 0A * frequency *)..
0047B0: 20 20 20 20 20 20 70 20 20 20 3A 20 77 6F 72 64 p : word
0047C0: 3B 20 20 28 2A 20 70 6F 69 6E 74 65 72 20 74 6F ; (* pointer to
0047D0: 20 6E 65 77 20 6E 6F 64 65 20 2A 29 0D 0A 20 20 new node *)..
0047E0: 20 20 20 20 70 72 65 76 3A 20 77 6F 72 64 3B 20 prev: word;
0047F0: 20 28 2A 20 70 6F 69 6E 74 65 72 20 74 6F 20 70 (* pointer to p
004800: 72 65 76 69 6F 75 73 20 6E 6F 64 65 20 72 65 61 revious node rea
004810: 64 20 28 66 6F 72 20 6C 69 6E 6B 69 6E 67 29 20 d (for linking)
004820: 2A 29 0D 0A 0D 0A 20 20 20 70 72 6F 63 65 64 75 *).... procedu
004830: 72 65 20 72 65 61 64 6E 6F 64 65 3B 0D 0A 0D 0A re readnode;....
004840: 20 20 20 20 20 20 76 61 72 0D 0A 20 20 20 20 20 var..
004850: 20 20 20 20 63 20 3A 20 77 6F 72 64 3B 0D 0A 0D c : word;...
004860: 0A 20 20 20 20 20 20 62 65 67 69 6E 0D 0A 20 20 . begin..
004870: 20 20 20 20 67 65 74 23 30 28 63 68 29 3B 20 20 get#0(ch);
004880: 20 20 28 2A 20 67 65 74 20 6E 6F 64 65 20 76 61 (* get node va
004890: 6C 75 65 20 63 68 61 72 61 63 74 65 72 20 2A 29 lue character *)
0048A0: 0D 0A 20 20 20 20 20 20 69 66 20 28 63 68 3C 3E .. if (ch<>
0048B0: 73 65 6E 74 29 0D 0A 20 20 20 20 20 20 20 20 20 sent)..
0048C0: 74 68 65 6E 20 62 65 67 69 6E 0D 0A 20 20 20 20 then begin..
0048D0: 20 20 20 20 20 20 20 20 67 65 74 23 30 28 63 29 get#0(c)
0048E0: 3B 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 77 ;.. w
0048F0: 68 69 6C 65 20 28 63 3D 27 20 27 29 20 64 6F 20 hile (c=' ') do
004900: 72 69 67 68 74 20 74 72 65 65 73 0D 0A 0D 0A 20 right trees....
004910: 20 20 69 29 20 20 20 6E 6F 20 65 78 74 65 72 6E i) no extern
004920: 61 6C 20 6E 6F 64 65 73 20 6F 63 63 75 72 20 62 al nodes occur b
004930: 65 74 77 65 65 6E 20 69 20 61 6E 64 20 6A 2E 0D etween i and j..
004940: 0A 0D 0A 20 20 20 69 69 29 20 20 74 68 65 20 20 ... ii) the
004950: 73 75 6D 20 6F 66 20 74 68 65 20 77 65 69 67 68 sum of the weigh
004960: 74 73 20 6F 66 20 69 20 61 6E 64 20 6A 20 69 73 ts of i and j is
004970: 20 6D 69 6E 69 6D 61 6C 20 66 6F 72 20 61 6C 6C minimal for all
004980: 20 69 0D 0A 20 20 20 20 20 20 20 20 61 6E 64 20 i.. and
004990: 6A 20 73 61 74 69 73 66 79 69 6E 67 20 72 75 6C j satisfying rul
0049A0: 65 20 28 69 29 2E 0D 0A 0D 0A 20 20 20 69 69 69 e (i)..... iii
0049B0: 29 20 74 68 65 20 20 69 6E 64 65 78 20 69 20 69 ) the index i i
0049C0: 73 20 6D 69 6E 69 6D 61 6C 20 66 6F 72 20 61 6C s minimal for al
0049D0: 6C 20 69 20 73 61 74 69 73 66 79 69 6E 67 20 72 l i satisfying r
0049E0: 75 6C 65 73 20 28 69 29 2C 0D 0A 20 20 20 20 20 ules (i),..
0049F0: 20 20 20 28 69 69 29 2E 0D 0A 0D 0A 20 20 20 69 (ii)..... i
004A00: 76 29 20 20 74 68 65 20 20 69 6E 64 65 78 20 6A v) the index j
004A10: 20 69 73 20 6D 69 6E 69 6D 61 6C 20 66 6F 72 20 is minimal for
004A20: 61 6C 6C 20 6A 20 73 61 74 69 73 66 79 69 6E 67 all j satisfying
004A30: 20 72 75 6C 65 73 20 28 69 29 2C 0D 0A 20 20 20 rules (i),..
004A40: 20 20 20 20 20 28 69 69 29 2C 20 28 69 69 69 29 (ii), (iii)
004A50: 2E 0D 0A 0D 0A 20 20 20 70 6F 69 6E 74 65 72 73 ..... pointers
004A60: 20 74 6F 20 74 68 65 20 74 77 6F 20 74 72 65 65 to the two tree
004A70: 73 20 63 68 6F 73 65 6E 20 77 69 6C 6C 20 62 65 s chosen will be
004A80: 20 6C 65 66 74 20 20 69 6E 20 20 6C 65 66 74 20 left in left
004A90: 20 61 6E 64 0D 0A 20 20 20 72 69 74 65 20 28 72 and.. rite (r
004AA0: 65 73 70 65 63 74 69 76 6C 79 29 2E 0D 0A 0D 0A espectivly).....
004AB0: 20 20 20 6F 6E 65 20 20 69 6E 74 65 72 6E 61 6C one internal
004AC0: 20 20 70 72 6F 63 65 64 75 72 65 20 20 69 73 20 procedure is
004AD0: 75 73 65 64 20 74 6F 20 63 6F 6D 70 61 72 65 20 used to compare
004AE0: 74 68 65 20 6D 69 6E 69 6D 75 6D 20 73 75 6D 0D the minimum sum.
004AF0: 0A 20 20 20 66 6F 75 6E 64 20 73 6F 20 66 61 72 . found so far
004B00: 67 65 74 23 30 28 63 29 3B 0D 0A 20 20 20 20 20 get#0(c);..
004B10: 20 20 20 20 20 20 20 66 72 71 3A 3D 30 3B 0D 0A frq:=0;..
004B20: 20 20 20 20 20 20 20 20 20 20 20 20 77 68 69 6C whil
004B30: 65 20 28 63 3E 3D 27 30 27 29 20 61 6E 64 20 28 e (c>='0') and (
004B40: 63 3C 3D 27 39 27 29 20 64 6F 20 62 65 67 69 6E c<='9') do begin
004B50: 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ..
004B60: 20 66 72 71 3A 3D 66 72 71 2A 31 30 2B 63 2D 27 frq:=frq*10+c-'
004B70: 30 27 3B 0D 0A 20 20 20 20 20 20 20 20 20 20 20 0';..
004B80: 20 20 20 20 67 65 74 23 30 28 63 29 0D 0A 20 20 get#0(c)..
004B90: 20 20 20 20 20 20 20 20 20 20 20 20 20 65 6E 64 end
004BA0: 20 28 2A 20 77 68 69 6C 65 20 2A 29 0D 0A 20 20 (* while *)..
004BB0: 20 20 20 20 20 20 20 20 20 20 65 6E 64 3B 0D 0A end;..
004BC0: 20 20 20 20 20 20 72 65 70 65 61 74 20 67 65 74 repeat get
004BD0: 23 30 28 63 29 20 75 6E 74 69 6C 20 28 63 3D 31 #0(c) until (c=1
004BE0: 30 29 20 28 2A 20 69 67 6E 6F 72 65 20 74 69 6C 0) (* ignore til
004BF0: 6C 20 6C 66 20 66 6F 75 6E 64 20 2A 29 0D 0A 20 l lf found *)..
004C00: 20 20 20 20 20 65 6E 64 3B 20 28 2A 20 72 65 61 end; (* rea
004C10: 64 6E 6F 64 65 20 2A 29 0D 0A 0D 0A 20 20 20 62 dnode *).... b
004C20: 65 67 69 6E 0D 0A 20 20 20 72 65 61 64 6E 6F 64 egin.. readnod
004C30: 65 3B 20 20 20 20 20 20 20 20 28 2A 20 72 65 61 e; (* rea
004C40: 64 6C 6E 28 63 68 2C 20 66 72 71 29 3B 20 2A 29 dln(ch, frq); *)
004C50: 0D 0A 20 20 20 70 72 65 76 3A 3D 6E 69 6C 3B 20 .. prev:=nil;
004C60: 20 20 20 20 20 20 28 2A 20 6E 6F 20 6C 65 66 74 (* no left
004C70: 20 66 6F 72 65 73 74 20 66 6F 72 20 66 69 72 73 forest for firs
004C80: 74 20 6E 6F 64 65 20 2A 29 0D 0A 20 20 20 72 65 t node *).. re
004C90: 70 65 61 74 0D 0A 20 20 20 20 20 20 6E 65 77 28 peat.. new(
004CA0: 76 61 72 20 70 29 3B 0D 0A 20 20 20 20 20 20 69 var p);.. i
004CB0: 66 20 28 70 72 65 76 3D 6E 69 6C 29 20 74 68 65 f (prev=nil) the
004CC0: 6E 20 6C 6D 6F 73 74 3A 3D 70 3B 20 28 2A 20 72 n lmost:=p; (* r
004CD0: 65 63 6F 72 64 20 70 6F 69 6E 74 65 72 20 74 6F ecord pointer to
004CE0: 20 66 69 72 73 74 20 6E 6F 64 65 20 2A 29 0D 0A first node *)..
004CF0: 20 20 20 20 20 20 68 5B 70 2B 63 68 61 72 20 20 h[p+char
004D00: 54 72 61 63 6B 2D 49 6E 66 6F 0D 0A 00 01 00 00 Track-Info......
004D10: 04 00 00 00 02 09 4A E5 04 00 C1 02 00 00 00 02 ......J.........
004D20: 04 00 C6 02 00 00 00 02 04 00 C2 02 00 00 00 02 ................
004D30: 04 00 C7 02 00 00 00 02 04 00 C3 02 00 00 00 02 ................
004D40: 04 00 C8 02 00 00 00 02 04 00 C4 02 00 00 00 02 ................
004D50: 04 00 C9 02 00 00 00 02 04 00 C5 02 00 00 00 02 ................
004D60: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
004D70: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
004D80: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
004D90: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
004DA0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
004DB0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
004DC0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
004DD0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
004DE0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
004DF0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
004E00: 20 61 67 61 69 6E 73 74 20 74 68 65 20 73 75 6D against the sum
004E10: 20 6F 66 20 74 68 65 20 66 72 65 71 75 65 6E 63 of the frequenc
004E20: 69 65 73 20 6F 66 20 74 68 65 20 74 72 65 65 73 ies of the trees
004E30: 0D 0A 20 20 20 75 6E 64 65 72 20 63 6F 6E 73 69 .. under consi
004E40: 64 65 72 61 74 69 6F 6E 2E 0D 0A 20 20 20 2A 29 deration... *)
004E50: 0D 0A 20 20 20 70 72 6F 63 65 64 75 72 65 20 70 .. procedure p
004E60: 69 63 6B 6C 72 3B 0D 0A 0D 0A 20 20 20 20 20 20 icklr;....
004E70: 76 61 72 20 69 2C 6A 20 3A 20 77 6F 72 64 3B 20 var i,j : word;
004E80: 28 2A 20 70 6F 69 6E 74 65 72 73 20 74 6F 20 6C (* pointers to l
004E90: 65 66 74 20 61 6E 64 20 72 69 67 68 74 20 6E 6F eft and right no
004EA0: 64 65 73 20 77 68 69 63 68 0D 0A 20 20 20 20 20 des which..
004EB0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
004EC0: 20 20 20 20 20 20 20 61 72 65 20 6D 69 6E 69 6E are minin
004ED0: 69 6D 75 6D 20 70 61 69 72 20 63 61 6E 64 69 64 imum pair candid
004EE0: 61 74 65 73 20 2A 29 0D 0A 20 20 20 20 20 20 20 ates *)..
004EF0: 20 20 20 6D 69 6E 73 75 6D 20 3A 20 77 6F 72 64 minsum : word
004F00: 3B 20 28 2A 20 6D 69 6E 69 6E 69 6D 75 6D 20 73 ; (* mininimum s
004F10: 75 6D 20 66 6F 75 6E 64 20 73 6F 20 66 61 72 20 um found so far
004F20: 2A 29 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 28 2A *)...... (*
004F30: 0D 0A 20 20 20 20 20 20 63 6F 6D 70 61 72 65 20 .. compare
004F40: 20 74 68 65 20 73 75 6D 20 6F 66 20 74 68 65 20 the sum of the
004F50: 66 72 65 71 75 65 6E 63 69 65 73 20 6F 66 20 6E frequencies of n
004F60: 6F 64 65 73 20 69 20 61 6E 64 20 6A 2E 20 20 69 odes i and j. i
004F70: 66 0D 0A 20 20 20 20 20 20 74 68 65 69 72 20 73 f.. their s
004F80: 75 6D 20 69 73 20 6C 65 73 73 20 74 68 61 6E 20 um is less than
004F90: 74 68 65 20 6D 69 6E 69 6D 75 6D 20 20 66 6F 75 the minimum fou
004FA0: 6E 64 20 20 73 6F 20 20 66 61 72 2C 20 20 74 68 nd so far, th
004FB0: 65 6E 0D 0A 20 20 20 20 20 20 72 65 63 6F 72 64 en.. record
004FC0: 20 20 74 68 65 20 20 6E 65 77 20 20 6D 69 6E 69 the new mini
004FD0: 6D 75 6D 20 28 69 6E 20 6D 69 6E 73 75 6D 29 20 mum (in minsum)
004FE0: 61 6E 64 20 74 68 65 20 70 6F 73 69 74 69 6F 6E and the position
004FF0: 20 6F 66 0D 0A 20 20 20 20 20 20 69 20 61 6E 64 of.. i and
005000: 77 20 6E 6F 64 65 20 2A 29 0D 0A 20 20 20 20 20 w node *)..
005010: 20 69 66 20 28 68 5B 6C 65 66 74 2B 6C 66 6F 72 if (h[left+lfor
005020: 73 74 5D 3C 3E 6E 69 6C 29 0D 0A 20 20 20 20 20 st]<>nil)..
005030: 20 20 20 20 74 68 65 6E 20 68 5B 68 5B 6C 65 66 then h[h[lef
005040: 74 2B 6C 66 6F 72 73 74 20 5D 2B 72 66 6F 72 73 t+lforst ]+rfors
005050: 74 20 5D 3A 3D 6E 65 77 6E 3B 0D 0A 20 20 20 20 t ]:=newn;..
005060: 20 20 68 5B 68 5B 6C 65 66 74 2B 72 66 6F 72 73 h[h[left+rfors
005070: 74 20 5D 2B 6C 66 6F 72 73 74 20 5D 3A 3D 6E 65 t ]+lforst ]:=ne
005080: 77 6E 3B 0D 0A 0D 0A 20 20 20 20 20 20 28 2A 20 wn;.... (*
005090: 64 65 6C 65 74 65 20 72 69 74 65 20 6E 6F 64 65 delete rite node
0050A0: 20 2A 29 0D 0A 20 20 20 20 20 20 68 5B 68 5B 72 *).. h[h[r
0050B0: 69 74 65 2B 6C 66 6F 72 73 74 20 5D 2B 72 66 6F ite+lforst ]+rfo
0050C0: 72 73 74 20 5D 3A 3D 68 5B 72 69 74 65 2B 72 66 rst ]:=h[rite+rf
0050D0: 6F 72 73 74 5D 3B 0D 0A 20 20 20 20 20 20 69 66 orst];.. if
0050E0: 20 28 68 5B 72 69 74 65 2B 72 66 6F 72 73 74 5D (h[rite+rforst]
0050F0: 3C 3E 6E 69 6C 29 20 20 20 20 20 20 20 28 2A 20 <>nil) (*
005100: 72 69 74 65 20 68 61 73 20 61 20 72 69 67 68 74 rite has a right
005110: 20 6E 65 69 67 68 62 6F 72 20 2A 29 0D 0A 20 20 neighbor *)..
005120: 20 20 20 20 20 20 20 74 68 65 6E 20 68 5B 68 5B then h[h[
005130: 72 69 74 65 2B 72 66 6F 72 73 74 20 5D 2B 6C 66 rite+rforst ]+lf
005140: 6F 72 73 74 20 5D 3A 3D 68 5B 72 69 74 65 2B 6C orst ]:=h[rite+l
005150: 66 6F 72 73 74 5D 3B 0D 0A 0D 0A 20 20 20 20 20 forst];....
005160: 20 28 2A 20 75 70 64 61 74 65 20 6C 65 66 74 6D (* update leftm
005170: 6F 73 74 20 61 6E 64 20 72 69 67 68 74 6D 6F 73 ost and rightmos
005180: 74 20 70 6F 69 6E 74 65 72 73 20 2A 29 0D 0A 20 t pointers *)..
005190: 20 20 20 20 20 69 66 20 28 6C 6D 6F 73 74 3D 6C if (lmost=l
0051A0: 65 66 74 29 20 74 68 65 6E 20 6C 6D 6F 73 74 3A eft) then lmost:
0051B0: 3D 6E 65 77 6E 3B 0D 0A 20 20 20 20 20 20 69 66 =newn;.. if
0051C0: 20 28 72 6D 6F 73 74 3D 72 69 74 65 29 20 74 68 (rmost=rite) th
0051D0: 65 6E 20 72 6D 6F 73 74 3A 3D 68 5B 72 69 74 65 en rmost:=h[rite
0051E0: 2B 6C 66 6F 72 73 74 5D 0D 0A 20 20 20 20 20 20 +lforst]..
0051F0: 65 6E 64 3B 20 28 2A 20 70 72 6F 63 65 64 75 72 end; (* procedur
005200: 20 6A 20 61 73 20 74 68 65 20 74 77 6F 20 62 65 j as the two be
005210: 73 74 20 63 61 6E 64 69 64 61 74 65 73 20 66 6F st candidates fo
005220: 72 20 63 6F 6D 62 69 6E 69 6E 67 2E 0D 0A 20 20 r combining...
005230: 20 20 20 20 2A 29 0D 0A 20 20 20 20 20 20 70 72 *).. pr
005240: 6F 63 65 64 75 72 65 20 74 61 6B 65 6D 69 6E 3B ocedure takemin;
005250: 0D 0A 0D 0A 20 20 20 20 20 20 20 20 20 62 65 67 .... beg
005260: 69 6E 0D 0A 20 20 20 20 20 20 20 20 20 69 66 20 in.. if
005270: 28 68 5B 69 2B 66 72 65 71 5D 2B 68 5B 6A 2B 66 (h[i+freq]+h[j+f
005280: 72 65 71 5D 3C 6D 69 6E 73 75 6D 29 20 74 68 65 req]<minsum) the
005290: 6E 20 62 65 67 69 6E 0D 0A 20 20 20 20 20 20 20 n begin..
0052A0: 20 20 20 20 20 6D 69 6E 73 75 6D 3A 3D 68 5B 69 minsum:=h[i
0052B0: 2B 66 72 65 71 5D 2B 68 5B 6A 2B 66 72 65 71 5D +freq]+h[j+freq]
0052C0: 3B 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 72 ;.. r
0052D0: 69 74 65 3A 3D 6A 3B 20 6C 65 66 74 3A 3D 69 0D ite:=j; left:=i.
0052E0: 0A 20 20 20 20 20 20 20 20 20 20 20 20 65 6E 64 . end
0052F0: 0D 0A 20 20 20 20 20 20 20 20 20 65 6E 64 3B 20 .. end;
005300: 28 2A 20 70 72 6F 63 65 64 75 72 65 20 74 61 6B (* procedure tak
005310: 65 6D 69 6E 20 2A 29 0D 0A 0D 0A 0D 0A 20 20 20 emin *)......
005320: 20 20 20 62 65 67 69 6E 20 28 2A 20 70 72 6F 63 begin (* proc
005330: 65 64 75 72 65 20 70 69 63 6B 6C 72 20 2A 29 0D edure picklr *).
005340: 0A 20 20 20 20 20 20 69 3A 3D 6C 6D 6F 73 74 3B . i:=lmost;
005350: 20 20 20 20 20 20 20 20 20 28 2A 20 73 74 61 72 (* star
005360: 74 20 77 69 74 68 20 6C 65 66 74 6D 6F 73 74 20 t with leftmost
005370: 74 72 65 65 20 69 6E 20 66 6F 72 65 73 74 20 2A tree in forest *
005380: 29 0D 0A 20 20 20 20 20 20 6D 69 6E 73 75 6D 3A ).. minsum:
005390: 3D 6D 61 78 69 6E 74 3B 0D 0A 20 20 20 20 20 20 =maxint;..
0053A0: 77 68 69 6C 65 20 28 68 5B 69 2B 72 66 6F 72 73 while (h[i+rfors
0053B0: 74 5D 3C 3E 6E 69 6C 29 20 64 6F 20 62 65 67 69 t]<>nil) do begi
0053C0: 6E 20 28 2A 20 6D 6F 72 65 20 69 27 73 20 74 6F n (* more i's to
0053D0: 20 74 65 73 74 20 2A 29 0D 0A 20 20 20 20 20 20 test *)..
0053E0: 20 20 20 6A 3A 3D 20 68 5B 69 2B 72 66 6F 72 73 j:= h[i+rfors
0053F0: 74 5D 3B 0D 0A 0D 0A 20 20 20 20 20 20 20 20 20 t];....
005400: 65 20 63 6F 6D 62 69 6E 65 6C 72 20 2A 29 0D 0A e combinelr *)..
005410: 0D 0A 0D 0A 20 20 20 62 65 67 69 6E 20 28 2A 20 .... begin (*
005420: 70 72 6F 63 65 64 75 72 65 20 62 75 69 6C 64 31 procedure build1
005430: 74 72 65 65 20 2A 29 0D 0A 20 20 20 72 65 70 65 tree *).. repe
005440: 61 74 0D 0A 20 20 20 20 20 20 70 69 63 6B 6C 72 at.. picklr
005450: 3B 0D 0A 20 20 20 20 20 20 63 6F 6D 62 69 6E 65 ;.. combine
005460: 6C 72 3B 0D 0A 20 20 20 20 20 20 70 75 74 23 31 lr;.. put#1
005470: 28 27 2E 27 29 3B 20 20 20 20 20 20 28 2A 20 73 ('.'); (* s
005480: 68 6F 77 20 70 72 6F 67 72 65 73 73 20 6F 6E 20 how progress on
005490: 73 63 72 65 65 6E 20 2E 20 2E 20 2E 20 2A 29 0D screen . . . *).
0054A0: 0A 20 20 20 75 6E 74 69 6C 20 28 6C 6D 6F 73 74 . until (lmost
0054B0: 3D 72 6D 6F 73 74 29 20 28 2A 20 6F 6E 6C 79 20 =rmost) (* only
0054C0: 6F 6E 65 20 6E 6F 64 65 20 6C 65 66 74 20 2A 29 one node left *)
0054D0: 0D 0A 20 20 20 65 6E 64 3B 20 28 2A 20 70 72 6F .. end; (* pro
0054E0: 63 65 64 75 72 65 20 62 75 69 6C 64 31 74 72 65 cedure build1tre
0054F0: 65 20 2A 29 0D 0A 0D 0A 0D 0A 28 2A 0D 0A 67 69 e *)......(*..gi
005500: 76 65 6E 20 74 68 65 20 74 72 65 65 20 62 75 69 ven the tree bui
005510: 6C 74 20 69 6E 20 70 68 61 73 65 20 31 2C 20 74 lt in phase 1, t
005520: 72 61 76 65 72 73 65 20 69 74 20 28 69 6E 20 6F raverse it (in o
005530: 72 64 65 72 20 77 69 6C 6C 20 64 6F 29 0D 0A 61 rder will do)..a
005540: 6E 64 20 20 61 73 73 69 67 6E 20 20 61 20 6C 65 nd assign a le
005550: 76 65 6C 20 74 6F 20 65 61 63 68 20 6E 6F 64 65 vel to each node
005560: 2E 20 20 74 68 65 6E 20 72 65 74 75 72 6E 20 74 . then return t
005570: 6F 20 74 68 65 20 6F 72 69 67 69 6E 61 6C 0D 0A o the original..
005580: 66 6F 72 65 73 74 20 6F 66 20 74 72 65 65 73 20 forest of trees
005590: 28 61 6C 6C 20 6C 65 61 76 65 73 20 77 68 65 6E (all leaves when
0055A0: 20 77 65 20 73 74 61 72 74 29 2C 20 62 75 69 6C we start), buil
0055B0: 64 20 74 68 65 6D 20 20 69 6E 74 6F 20 20 61 0D d them into a.
0055C0: 0A 73 69 6E 67 6C 65 20 74 72 65 65 20 75 73 69 .single tree usi
0055D0: 6E 67 20 70 68 61 73 65 20 33 20 6F 66 20 74 68 ng phase 3 of th
0055E0: 65 20 68 75 2D 74 75 63 6B 65 72 20 61 6C 67 6F e hu-tucker algo
0055F0: 72 69 74 68 6D 2E 20 20 74 68 65 20 72 6F 6F 74 rithm. the root
005600: 28 2A 20 63 6F 6D 70 61 72 65 20 74 6F 20 69 6E (* compare to in
005610: 74 65 72 6E 61 6C 20 6E 6F 64 65 73 20 74 69 6C ternal nodes til
005620: 6C 20 65 78 65 74 65 72 6E 61 6C 20 69 73 20 66 l exeternal is f
005630: 6F 75 6E 64 20 2A 29 0D 0A 20 20 20 20 20 20 20 ound *)..
005640: 20 20 77 68 69 6C 65 20 28 68 5B 6A 2B 63 68 61 while (h[j+cha
005650: 72 5D 3D 73 65 6E 74 29 20 64 6F 20 62 65 67 69 r]=sent) do begi
005660: 6E 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 74 n.. t
005670: 61 6B 65 6D 69 6E 3B 0D 0A 20 20 20 20 20 20 20 akemin;..
005680: 20 20 20 20 20 6A 3A 3D 68 5B 6A 2B 72 66 6F 72 j:=h[j+rfor
005690: 73 74 5D 20 28 2A 20 6F 6E 20 74 6F 20 74 68 65 st] (* on to the
0056A0: 20 6E 65 78 74 20 74 72 65 65 20 2A 29 0D 0A 20 next tree *)..
0056B0: 20 20 20 20 20 20 20 20 20 20 20 65 6E 64 3B 0D end;.
0056C0: 0A 0D 0A 20 20 20 20 20 20 20 20 20 28 2A 20 6A ... (* j
0056D0: 20 6E 6F 77 20 70 6F 69 6E 74 73 20 74 6F 20 6F now points to o
0056E0: 6E 6C 79 20 65 78 74 65 72 6E 61 6C 20 6E 6F 64 nly external nod
0056F0: 65 20 63 61 6E 64 69 64 61 74 65 20 2A 29 0D 0A e candidate *)..
005700: 20 20 20 20 20 20 20 20 20 74 61 6B 65 6D 69 6E takemin
005710: 3B 0D 0A 20 20 20 20 20 20 20 20 20 69 3A 3D 68 ;.. i:=h
005720: 5B 69 2B 72 66 6F 72 73 74 20 5D 20 20 20 20 20 [i+rforst ]
005730: 28 2A 20 6D 6F 76 65 20 74 6F 20 6E 65 78 74 20 (* move to next
005740: 74 72 65 65 20 69 6E 20 66 6F 72 65 73 74 20 2A tree in forest *
005750: 29 0D 0A 20 20 20 20 20 20 20 20 20 65 6E 64 20 ).. end
005760: 28 2A 20 77 68 69 6C 65 20 6E 6F 74 20 6F 75 74 (* while not out
005770: 20 6F 66 20 69 27 73 20 2A 29 0D 0A 20 20 20 20 of i's *)..
005780: 20 20 65 6E 64 3B 20 28 2A 20 70 72 6F 63 65 64 end; (* proced
005790: 75 72 65 20 70 69 63 6B 6C 72 20 2A 29 0D 0A 0D ure picklr *)...
0057A0: 0A 0D 0A 20 20 20 28 2A 0D 0A 20 20 20 63 6F 6D ... (*.. com
0057B0: 62 69 6E 65 20 20 74 68 65 20 74 77 6F 20 74 72 bine the two tr
0057C0: 65 65 73 20 70 6F 69 6E 74 65 64 20 74 6F 20 62 ees pointed to b
0057D0: 79 20 6C 65 66 74 20 61 6E 64 20 72 69 74 65 20 y left and rite
0057E0: 74 6F 20 66 6F 72 6D 20 61 0D 0A 20 20 20 6E 65 to form a.. ne
0057F0: 77 20 69 6E 74 65 72 6E 61 6C 20 6E 6F 64 65 20 w internal node
005800: 0D 0A 6F 66 20 74 68 65 20 72 65 73 75 6C 74 61 ..of the resulta
005810: 6E 74 20 74 72 65 65 20 77 69 6C 6C 20 62 65 20 nt tree will be
005820: 69 6E 20 6C 65 78 66 69 72 73 74 20 6F 6E 20 65 in lexfirst on e
005830: 78 69 74 2E 0D 0A 0D 0A 74 68 65 20 20 61 6C 67 xit.....the alg
005840: 6F 72 69 74 68 6D 20 20 69 73 20 20 69 6D 70 6C orithm is impl
005850: 65 6D 65 6E 74 65 64 20 20 75 73 69 6E 67 20 74 emented using t
005860: 77 6F 20 69 6E 74 65 72 6E 61 6C 20 70 72 6F 63 wo internal proc
005870: 65 64 75 72 65 73 2E 0D 0A 74 68 65 20 66 69 72 edures...the fir
005880: 73 74 20 28 70 69 63 6B 6C 72 29 20 63 68 6F 6F st (picklr) choo
005890: 73 65 73 20 74 77 6F 20 74 72 65 65 73 20 66 6F ses two trees fo
0058A0: 72 20 63 6F 6D 62 69 6E 61 74 69 6F 6E 2C 20 20 r combination,
0058B0: 61 6E 64 20 20 74 68 65 0D 0A 73 65 63 6F 6E 64 and the..second
0058C0: 20 20 28 63 6F 6D 62 69 6E 65 6C 72 29 20 63 6F (combinelr) co
0058D0: 6D 62 69 6E 65 73 20 74 68 65 20 74 77 6F 20 63 mbines the two c
0058E0: 68 6F 73 65 6E 20 74 72 65 65 73 20 74 6F 20 66 hosen trees to f
0058F0: 6F 72 6D 20 61 20 6E 65 77 0D 0A 69 6E 74 65 72 orm a new..inter
005900: 6E 61 6C 20 6E 6F 64 65 20 69 6E 20 74 68 65 20 nal node in the
005910: 20 66 69 6E 61 6C 20 20 74 72 65 65 2E 20 20 74 final tree. t
005920: 68 69 73 20 20 70 72 6F 63 65 73 73 20 20 69 73 his process is
005930: 20 20 72 65 70 65 61 74 65 64 0D 0A 75 6E 69 74 repeated..unit
005940: 6C 20 74 68 65 20 66 6F 72 65 73 74 20 63 6F 6E l the forest con
005950: 74 61 69 6E 73 20 6F 6E 6C 79 20 6F 6E 65 20 74 tains only one t
005960: 72 65 65 2E 0D 0A 0D 0A 74 68 65 20 20 70 72 6F ree.....the pro
005970: 63 65 64 75 72 65 20 20 75 73 65 64 20 20 69 73 cedure used is
005980: 20 76 65 72 79 20 73 69 6D 69 6C 61 72 20 74 6F very similar to
005990: 20 74 68 61 74 20 75 73 65 64 20 74 6F 20 62 75 that used to bu
0059A0: 69 6C 64 20 74 68 65 0D 0A 74 72 65 65 20 69 6E ild the..tree in
0059B0: 20 70 68 61 73 65 20 31 2E 0D 0A 2A 29 0D 0A 70 phase 1...*)..p
0059C0: 72 6F 63 65 64 75 72 65 20 62 75 69 6C 64 33 74 rocedure build3t
0059D0: 72 65 65 3B 0D 0A 0D 0A 20 20 20 76 61 72 20 6D ree;.... var m
0059E0: 61 78 6C 65 76 20 3A 20 77 6F 72 64 3B 20 28 2A axlev : word; (*
0059F0: 20 6C 61 72 67 65 73 74 20 6C 65 76 65 6C 20 69 largest level i
005A00: 69 6E 20 74 68 65 20 66 69 6E 61 6C 20 20 74 72 in the final tr
005A10: 65 65 2E 20 20 6C 69 6E 6B 20 20 74 68 69 73 20 ee. link this
005A20: 20 6E 65 77 20 20 6E 6F 64 65 0D 0A 20 20 20 69 new node.. i
005A30: 6E 74 6F 20 20 74 68 65 20 20 65 78 69 73 74 69 nto the existi
005A40: 6E 67 20 20 66 6F 72 65 73 74 20 20 69 6E 20 70 ng forest in p
005A50: 6C 61 63 65 20 6F 66 20 74 68 65 20 6C 65 66 74 lace of the left
005A60: 20 74 72 65 65 2E 20 20 74 68 65 0D 0A 20 20 20 tree. the..
005A70: 72 69 74 65 20 74 72 65 65 20 69 73 20 20 64 65 rite tree is de
005A80: 6C 65 74 65 64 20 20 66 72 6F 6D 20 20 74 68 65 leted from the
005A90: 20 20 66 6F 72 65 73 74 2E 20 20 70 6F 69 6E 74 forest. point
005AA0: 65 72 73 20 20 74 6F 20 20 74 68 65 0D 0A 20 20 ers to the..
005AB0: 20 6C 65 66 74 6D 6F 73 74 20 20 61 6E 64 20 20 leftmost and
005AC0: 72 69 67 68 74 6D 6F 73 74 20 20 28 6C 6D 6F 73 rightmost (lmos
005AD0: 74 20 61 6E 64 20 72 6D 6F 73 74 2C 20 72 65 73 t and rmost, res
005AE0: 70 65 63 74 69 76 6C 79 29 20 61 72 65 0D 0A 20 pectivly) are..
005AF0: 20 20 75 70 64 61 74 65 64 20 69 6E 20 74 68 65 updated in the
005B00: 20 70 72 6F 63 65 73 73 2E 20 20 74 68 65 20 66 process. the f
005B10: 72 65 71 75 65 6E 63 79 20 6F 66 20 74 68 65 20 requency of the
005B20: 6E 65 77 20 20 6E 65 77 20 20 6E 6F 64 65 0D 0A new new node..
005B30: 20 20 20 62 65 63 6F 6D 65 73 20 74 68 65 20 73 becomes the s
005B40: 75 6D 20 6F 66 20 74 68 65 20 66 72 65 71 75 65 um of the freque
005B50: 6E 63 69 65 73 20 6F 66 20 69 74 73 20 6F 66 66 ncies of its off
005B60: 73 70 72 69 6E 67 2E 0D 0A 20 20 20 2A 29 0D 0A spring... *)..
005B70: 20 20 20 70 72 6F 63 65 64 75 72 65 20 63 6F 6D procedure com
005B80: 62 69 6E 65 6C 72 3B 0D 0A 0D 0A 20 20 20 20 20 binelr;....
005B90: 20 76 61 72 20 6E 65 77 6E 20 3A 20 77 6F 72 64 var newn : word
005BA0: 3B 20 28 2A 20 70 6F 69 6E 74 65 72 20 74 6F 20 ; (* pointer to
005BB0: 6E 65 77 20 6E 6F 64 65 20 63 72 65 61 74 65 64 new node created
005BC0: 20 2A 29 0D 0A 0D 0A 20 20 20 20 20 20 62 65 67 *).... beg
005BD0: 69 6E 0D 0A 20 20 20 20 20 20 6E 65 77 28 76 61 in.. new(va
005BE0: 72 20 6E 65 77 6E 29 3B 20 20 28 2A 20 67 65 74 r newn); (* get
005BF0: 20 70 6F 69 6E 74 65 72 20 74 6F 20 6E 65 77 20 pointer to new
005C00: 6E 20 74 72 65 65 20 2A 29 0D 0A 20 20 20 20 20 n tree *)..
005C10: 20 20 70 69 63 6B 6C 65 76 3A 20 77 6F 72 64 3B picklev: word;
005C20: 20 28 2A 20 6C 65 76 65 6C 20 6F 66 20 6E 6F 64 (* level of nod
005C30: 65 20 6E 6F 77 20 62 65 69 6E 67 20 70 69 63 6B e now being pick
005C40: 65 64 20 2A 29 0D 0A 20 20 20 20 20 20 20 6C 65 ed *).. le
005C50: 66 74 20 3A 20 77 6F 72 64 3B 20 20 20 28 2A 20 ft : word; (*
005C60: 6C 65 66 74 20 6D 6F 73 74 20 6E 6F 64 65 20 74 left most node t
005C70: 6F 20 62 65 20 72 65 70 6C 61 63 65 64 20 2A 29 o be replaced *)
005C80: 0D 0A 0D 0A 0D 0A 20 20 20 28 2A 0D 0A 20 20 20 ...... (*..
005C90: 73 65 74 6C 65 76 20 20 77 69 6C 6C 20 20 74 72 setlev will tr
005CA0: 61 76 65 72 73 65 20 20 74 68 65 20 20 74 72 65 averse the tre
005CB0: 65 20 20 67 65 6E 65 72 61 74 65 64 20 20 69 6E e generated in
005CC0: 20 70 68 61 73 65 20 31 20 61 6E 64 0D 0A 20 20 phase 1 and..
005CD0: 20 61 73 73 69 67 6E 20 6C 65 76 65 6C 73 20 74 assign levels t
005CE0: 6F 20 20 65 61 63 68 20 20 6F 66 20 20 74 68 65 o each of the
005CF0: 20 20 6E 6F 64 65 73 2E 20 20 61 6C 73 6F 2C 20 nodes. also,
005D00: 20 74 68 65 20 20 64 65 65 70 65 73 74 0D 0A 20 the deepest..
005D10: 20 20 6C 65 76 65 6C 20 72 65 61 63 68 65 64 20 level reached
005D20: 77 69 6C 6C 20 62 65 20 72 65 63 6F 72 64 65 64 will be recorded
005D30: 20 69 6E 20 6D 61 78 6C 65 76 20 6F 6E 20 65 78 in maxlev on ex
005D40: 69 74 2E 0D 0A 20 20 20 2A 29 0D 0A 20 20 20 70 it... *).. p
005D50: 72 6F 63 65 64 75 72 65 20 73 65 74 6C 65 76 3B rocedure setlev;
005D60: 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 28 2A 0D 0A ...... (*..
005D70: 20 20 20 20 20 20 74 72 61 76 65 72 73 65 20 20 traverse
005D80: 61 20 20 6E 6F 64 65 20 20 6F 66 20 20 61 20 20 a node of a
005D90: 74 72 65 65 20 20 70 6F 69 6E 74 65 64 20 20 74 tree pointed t
005DA0: 6F 20 20 62 79 20 74 68 65 20 66 69 72 73 74 0D o by the first.
005DB0: 0A 20 20 20 20 20 20 61 72 67 75 6D 65 6E 74 2C . argument,
005DC0: 20 61 73 73 69 67 6E 69 6E 67 20 69 74 20 74 68 assigning it th
005DD0: 65 20 6C 65 76 65 6C 20 20 70 61 73 73 65 64 20 e level passed
005DE0: 20 69 6E 20 20 74 68 65 20 20 73 65 63 6F 6E 64 in the second
005DF0: 0D 0A 20 20 20 20 20 20 61 72 67 75 6D 65 6E 74 .. argument
005E00: 6E 6F 64 65 20 6F 6E 20 68 65 61 70 20 2A 29 0D node on heap *).
005E10: 0A 20 20 20 20 20 20 68 5B 6E 65 77 6E 2B 63 68 . h[newn+ch
005E20: 61 72 5D 3A 3D 73 65 6E 74 3B 20 20 28 2A 20 69 ar]:=sent; (* i
005E30: 6E 69 74 20 61 6C 6C 20 69 6E 74 65 72 6E 61 6C nit all internal
005E40: 20 6E 6F 64 65 73 20 74 6F 20 73 65 6E 74 20 63 nodes to sent c
005E50: 68 61 72 20 2A 29 0D 0A 20 20 20 20 20 20 68 5B har *).. h[
005E60: 6E 65 77 6E 2B 66 72 65 71 5D 3A 3D 68 5B 6C 65 newn+freq]:=h[le
005E70: 66 74 2B 66 72 65 71 5D 2B 68 5B 72 69 74 65 2B ft+freq]+h[rite+
005E80: 66 72 65 71 5D 3B 0D 0A 0D 0A 20 20 20 20 20 20 freq];....
005E90: 28 2A 20 6C 69 6E 6B 20 74 6F 20 6C 65 66 74 20 (* link to left
005EA0: 61 6E 64 20 72 69 67 68 74 20 73 75 62 74 72 65 and right subtre
005EB0: 65 73 20 28 6F 66 66 73 70 72 69 6E 67 29 20 2A es (offspring) *
005EC0: 29 0D 0A 20 20 20 20 20 20 68 5B 6E 65 77 6E 2B ).. h[newn+
005ED0: 6C 73 74 5D 3A 3D 6C 65 66 74 3B 0D 0A 20 20 20 lst]:=left;..
005EE0: 20 20 20 68 5B 6E 65 77 6E 2B 72 73 74 5D 3A 3D h[newn+rst]:=
005EF0: 72 69 74 65 3B 0D 0A 0D 0A 20 20 20 20 20 20 28 rite;.... (
005F00: 2A 20 6C 69 6E 6B 20 6E 65 77 20 6E 6F 64 65 20 * link new node
005F10: 69 6E 74 6F 20 74 68 65 20 66 6F 72 65 73 74 20 into the forest
005F20: 69 6E 20 70 6C 61 63 65 20 6F 66 20 6F 6C 64 20 in place of old
005F30: 6C 65 66 74 20 2A 29 0D 0A 20 20 20 20 20 20 28 left *).. (
005F40: 2A 20 66 69 72 73 74 2C 20 6D 61 6B 65 20 6E 65 * first, make ne
005F50: 77 20 6E 6F 64 65 20 74 6F 20 70 6F 69 6E 74 20 w node to point
005F60: 74 6F 20 69 74 73 20 6E 65 69 67 68 62 6F 72 73 to its neighbors
005F70: 20 69 6E 20 74 68 65 20 66 6F 72 65 73 74 20 2A in the forest *
005F80: 29 0D 0A 20 20 20 20 20 20 68 5B 6E 65 77 6E 2B ).. h[newn+
005F90: 6C 66 6F 72 73 74 20 5D 3A 3D 68 5B 6C 65 66 74 lforst ]:=h[left
005FA0: 2B 6C 66 6F 72 73 74 5D 3B 0D 0A 20 20 20 20 20 +lforst];..
005FB0: 20 68 5B 6E 65 77 6E 2B 72 66 6F 72 73 74 20 5D h[newn+rforst ]
005FC0: 3A 3D 68 5B 6C 65 66 74 2B 72 66 6F 72 73 74 5D :=h[left+rforst]
005FD0: 3B 0D 0A 0D 0A 20 20 20 20 20 20 28 2A 20 73 65 ;.... (* se
005FE0: 63 6F 6E 64 2C 20 6D 61 6B 65 20 6E 65 69 67 68 cond, make neigh
005FF0: 62 6F 72 73 20 70 6F 69 6E 74 20 74 6F 20 6E 65 bors point to ne
006000: 54 72 61 63 6B 2D 49 6E 66 6F 0D 0A 00 01 00 00 Track-Info......
006010: 05 00 00 00 02 09 4A E5 05 00 C1 02 00 00 00 02 ......J.........
006020: 05 00 C6 02 00 00 00 02 05 00 C2 02 00 00 00 02 ................
006030: 05 00 C7 02 00 00 00 02 05 00 C3 02 00 00 00 02 ................
006040: 05 00 C8 02 00 00 00 02 05 00 C4 02 00 00 00 02 ................
006050: 05 00 C9 02 00 00 00 02 05 00 C5 02 00 00 00 02 ................
006060: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
006070: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
006080: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
006090: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0060A0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0060B0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0060C0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0060D0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0060E0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0060F0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
006100: 2E 0D 0A 20 20 20 20 20 20 2A 29 0D 0A 20 20 20 ... *)..
006110: 20 20 20 70 72 6F 63 65 64 75 72 65 20 74 72 61 procedure tra
006120: 76 69 6E 6F 72 64 28 70 20 3A 20 77 6F 72 64 20 vinord(p : word
006130: 20 3B 20 20 63 75 72 6C 65 76 20 3A 20 77 6F 72 ; curlev : wor
006140: 64 29 3B 0D 0A 0D 0A 20 20 20 20 20 20 20 20 20 d);....
006150: 62 65 67 69 6E 0D 0A 20 20 20 20 20 20 20 20 20 begin..
006160: 69 66 20 28 70 3C 3E 6E 69 6C 29 20 74 68 65 6E if (p<>nil) then
006170: 20 62 65 67 69 6E 0D 0A 20 20 20 20 20 20 20 20 begin..
006180: 20 20 20 20 69 66 20 28 63 75 72 6C 65 76 3E 6D if (curlev>m
006190: 61 78 6C 65 76 29 20 74 68 65 6E 20 6D 61 78 6C axlev) then maxl
0061A0: 65 76 3A 3D 63 75 72 6C 65 76 3B 0D 0A 20 20 20 ev:=curlev;..
0061B0: 20 20 20 20 20 20 20 20 20 74 72 61 76 69 6E 6F travino
0061C0: 72 64 28 68 5B 70 2B 6C 73 74 5D 2C 20 63 75 72 rd(h[p+lst], cur
0061D0: 6C 65 76 2B 31 29 3B 0D 0A 20 20 20 20 20 20 20 lev+1);..
0061E0: 20 20 20 20 20 68 5B 70 2B 6C 65 76 5D 3A 3D 63 h[p+lev]:=c
0061F0: 75 72 6C 65 76 3B 0D 0A 20 20 20 20 20 20 20 20 urlev;..
006200: 20 20 20 20 74 72 61 76 69 6E 6F 72 64 28 68 5B travinord(h[
006210: 70 2B 72 73 74 5D 2C 20 63 75 72 6C 65 76 2B 31 p+rst], curlev+1
006220: 29 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 65 ).. e
006230: 6E 64 0D 0A 20 20 20 20 20 20 20 20 20 65 6E 64 nd.. end
006240: 3B 20 28 2A 20 70 72 6F 63 65 64 75 72 65 20 74 ; (* procedure t
006250: 72 61 76 69 6E 6F 72 64 20 2A 29 0D 0A 0D 0A 0D ravinord *).....
006260: 0A 20 20 20 20 20 20 62 65 67 69 6E 20 20 28 2A . begin (*
006270: 20 70 72 6F 63 65 64 75 72 65 20 73 65 74 6C 65 procedure setle
006280: 76 20 2A 29 0D 0A 20 20 20 20 20 20 6D 61 78 6C v *).. maxl
006290: 65 76 3A 3D 30 3B 0D 0A 20 20 20 20 20 20 74 72 ev:=0;.. tr
0062A0: 61 76 69 6E 6F 72 64 28 6C 6D 6F 73 74 2C 20 30 avinord(lmost, 0
0062B0: 29 20 28 2A 20 72 6F 6F 74 20 69 73 20 6C 65 66 ) (* root is lef
0062C0: 74 6D 6F 73 74 20 6E 6F 64 65 20 2A 29 0D 0A 20 tmost node *)..
0062D0: 20 20 20 20 20 65 6E 64 3B 20 28 2A 20 70 72 6F end; (* pro
0062E0: 63 65 64 75 72 65 20 73 65 74 6C 65 76 20 2A 29 cedure setlev *)
0062F0: 0D 0A 0D 0A 0D 0A 20 20 20 28 2A 0D 0A 20 20 20 ...... (*..
006300: 6C 69 6E 6B 20 6E 65 77 20 6E 6F 64 65 20 69 6E link new node in
006310: 20 70 6C 61 63 65 20 6F 66 20 6C 65 66 74 20 6E place of left n
006320: 6F 64 65 20 66 72 6F 6D 20 6C 65 66 74 20 2A 29 ode from left *)
006330: 0D 0A 20 20 20 20 20 20 69 66 20 28 68 5B 6C 65 .. if (h[le
006340: 66 74 2B 6C 65 78 70 5D 3C 3E 6E 69 6C 29 20 74 ft+lexp]<>nil) t
006350: 68 65 6E 20 28 2A 20 6C 65 66 74 20 68 61 73 20 hen (* left has
006360: 61 20 6C 65 78 20 70 72 65 64 65 63 65 73 73 6F a lex predecesso
006370: 72 20 2A 29 0D 0A 20 20 20 20 20 20 20 20 20 68 r *).. h
006380: 5B 68 5B 6C 65 66 74 2B 6C 65 78 70 5D 2B 6C 65 [h[left+lexp]+le
006390: 78 73 5D 3A 3D 6E 65 77 6E 3B 0D 0A 20 20 20 20 xs]:=newn;..
0063A0: 20 20 69 66 20 28 68 5B 72 69 74 65 2B 6C 65 78 if (h[rite+lex
0063B0: 73 5D 3C 3E 6E 69 6C 29 20 74 68 65 6E 20 28 2A s]<>nil) then (*
0063C0: 20 72 69 67 68 74 20 68 61 73 20 61 20 6C 65 78 right has a lex
0063D0: 20 73 75 63 63 65 73 73 6F 72 20 2A 29 0D 0A 20 successor *)..
0063E0: 20 20 20 20 20 20 20 20 68 5B 68 5B 72 69 74 65 h[h[rite
0063F0: 2B 6C 65 78 73 5D 2B 6C 65 78 70 5D 3A 3D 6E 65 +lexs]+lexp]:=ne
006400: 77 6E 3B 0D 0A 0D 0A 20 20 20 20 20 20 69 66 20 wn;.... if
006410: 28 6C 65 66 74 3D 6C 65 78 66 69 72 73 74 29 20 (left=lexfirst)
006420: 74 68 65 6E 20 28 2A 20 6E 65 77 20 6E 6F 64 65 then (* new node
006430: 20 62 65 63 6F 6D 65 73 20 6C 65 78 20 66 69 72 becomes lex fir
006440: 73 74 20 2A 29 0D 0A 20 20 20 20 20 20 20 20 20 st *)..
006450: 6C 65 78 66 69 72 73 74 3A 3D 6E 65 77 6E 0D 0A lexfirst:=newn..
006460: 20 20 20 20 20 20 65 6E 64 3B 20 28 2A 20 70 72 end; (* pr
006470: 6F 63 65 64 75 72 65 20 63 6F 6D 62 69 6E 65 6C ocedure combinel
006480: 72 20 2A 29 0D 0A 0D 0A 0D 0A 20 20 20 62 65 67 r *)...... beg
006490: 69 6E 20 28 2A 20 70 72 6F 63 65 64 75 72 65 20 in (* procedure
0064A0: 62 75 69 6C 64 33 74 72 65 65 20 2A 29 0D 0A 20 build3tree *)..
0064B0: 20 20 73 65 74 6C 65 76 3B 20 28 2A 20 63 6F 6D setlev; (* com
0064C0: 70 75 74 65 20 6E 6F 64 65 20 6C 65 76 65 6C 73 pute node levels
0064D0: 20 2A 29 0D 0A 20 20 20 70 75 74 23 31 28 31 33 *).. put#1(13
0064E0: 2C 31 30 29 3B 0D 0A 20 20 20 70 75 74 23 31 28 ,10);.. put#1(
0064F0: 27 6D 61 78 6C 65 76 20 3D 27 2C 6D 61 78 6C 65 'maxlev =',maxle
006500: 70 69 63 6B 20 20 74 77 6F 20 20 74 72 65 65 73 pick two trees
006510: 20 66 72 6F 6D 20 74 68 65 20 66 6F 72 65 73 74 from the forest
006520: 20 77 68 69 63 68 20 73 61 74 69 73 66 79 20 74 which satisfy t
006530: 68 65 20 66 6F 6C 6C 6F 77 69 6E 67 0D 0A 20 20 he following..
006540: 20 72 75 6C 65 73 3A 0D 0A 0D 0A 20 20 20 6C 65 rules:.... le
006550: 74 20 69 20 61 6E 64 20 6A 20 62 65 20 70 6F 69 t i and j be poi
006560: 6E 74 65 72 73 20 74 6F 20 74 68 65 20 6C 65 66 nters to the lef
006570: 74 20 61 6E 64 20 72 69 67 68 74 20 74 72 65 65 t and right tree
006580: 73 3A 0D 0A 0D 0A 20 20 20 69 27 29 20 20 20 74 s:.... i') t
006590: 68 65 20 20 74 72 65 65 73 20 20 69 20 20 61 6E he trees i an
0065A0: 64 20 20 6A 20 20 6D 75 73 74 20 62 65 20 61 64 d j must be ad
0065B0: 6A 61 63 65 6E 74 20 69 6E 20 74 68 65 20 77 6F jacent in the wo
0065C0: 72 6B 69 6E 67 0D 0A 20 20 20 20 20 20 20 20 20 rking..
0065D0: 73 65 71 75 65 6E 63 65 2E 0D 0A 0D 0A 20 20 20 sequence.....
0065E0: 69 69 27 29 20 20 74 68 65 20 20 6C 65 76 65 6C ii') the level
0065F0: 73 20 20 6F 66 20 20 74 72 65 65 73 20 20 69 20 s of trees i
006600: 20 61 6E 64 20 6A 20 6D 75 73 74 20 62 65 20 6D and j must be m
006610: 61 78 69 6D 61 6C 20 61 6D 6F 6E 67 0D 0A 20 20 aximal among..
006620: 20 20 20 20 20 20 20 61 6C 6C 20 72 65 6D 61 69 all remai
006630: 6E 69 6E 67 20 6C 65 76 65 6C 73 2E 0D 0A 0D 0A ning levels.....
006640: 20 20 20 69 69 69 27 29 20 74 68 65 20 20 69 6E iii') the in
006650: 64 65 78 20 20 69 20 20 69 73 20 20 6D 69 6E 69 dex i is mini
006660: 6D 61 6C 20 20 66 6F 72 20 61 6C 6C 20 69 20 61 mal for all i a
006670: 6E 64 20 6A 20 73 61 74 69 73 66 79 69 6E 67 0D nd j satisfying.
006680: 0A 20 20 20 20 20 20 20 20 20 72 75 6C 65 73 20 . rules
006690: 28 69 27 29 2C 20 28 69 69 27 29 2E 0D 0A 0D 0A (i'), (ii').....
0066A0: 20 20 20 61 20 70 6F 69 6E 74 65 72 20 74 6F 20 a pointer to
0066B0: 74 68 65 20 6C 65 66 74 20 6D 6F 73 74 20 63 68 the left most ch
0066C0: 6F 73 65 6E 20 77 69 6C 6C 20 62 65 20 6C 65 66 osen will be lef
0066D0: 74 20 69 6E 20 6C 65 66 74 2E 20 20 74 68 65 0D t in left. the.
0066E0: 0A 20 20 20 72 69 67 68 74 20 74 72 65 65 20 63 . right tree c
0066F0: 68 6F 73 65 6E 20 69 73 20 69 74 73 20 6C 65 78 hosen is its lex
006700: 76 23 2C 31 33 2C 31 30 29 3B 0D 0A 20 20 20 70 v#,13,10);.. p
006710: 69 63 6B 6C 65 76 3A 3D 6D 61 78 6C 65 76 3B 0D icklev:=maxlev;.
006720: 0A 20 20 20 72 65 70 65 61 74 0D 0A 20 20 20 20 . repeat..
006730: 20 20 70 69 63 6B 6C 72 3B 0D 0A 20 20 20 20 20 picklr;..
006740: 20 63 6F 6D 62 69 6E 65 6C 72 3B 0D 0A 20 20 20 combinelr;..
006750: 20 20 20 70 75 74 23 31 28 27 2E 27 29 20 20 20 put#1('.')
006760: 20 20 20 28 2A 20 73 68 6F 77 20 70 72 6F 67 72 (* show progr
006770: 65 73 73 20 6F 6E 20 73 63 72 65 65 6E 20 2E 20 ess on screen .
006780: 2E 20 2E 20 2A 29 0D 0A 20 20 20 75 6E 74 69 6C . . *).. until
006790: 20 28 70 69 63 6B 6C 65 76 3C 3D 31 29 20 28 2A (picklev<=1) (*
0067A0: 20 74 72 75 65 20 77 68 65 6E 20 61 6C 6C 20 6E true when all n
0067B0: 6F 64 65 73 20 68 61 76 65 20 62 65 65 6E 20 70 odes have been p
0067C0: 69 63 6B 65 64 20 2A 29 0D 0A 20 20 20 65 6E 64 icked *).. end
0067D0: 3B 20 28 2A 20 70 72 6F 63 65 64 75 72 65 20 62 ; (* procedure b
0067E0: 75 69 6C 64 33 74 72 65 65 20 2A 29 0D 0A 0D 0A uild3tree *)....
0067F0: 0D 0A 28 2A 0D 0A 64 65 63 6F 64 65 20 20 61 20 ..(*..decode a
006800: 20 73 65 71 75 65 6E 63 65 20 6F 66 20 31 27 73 sequence of 1's
006810: 20 61 6E 20 30 27 73 20 72 65 61 64 20 66 72 6F an 0's read fro
006820: 6D 20 74 68 65 20 73 74 61 6E 64 61 72 64 20 69 m the standard i
006830: 6E 70 75 74 0D 0A 66 69 6C 65 20 69 6E 74 6F 20 nput..file into
006840: 61 20 73 65 71 75 65 6E 63 65 20 6F 66 20 63 68 a sequence of ch
006850: 61 72 61 63 74 65 72 73 20 77 72 69 74 74 65 6E aracters written
006860: 20 74 6F 20 73 74 61 6E 64 61 72 64 20 6F 75 74 to standard out
006870: 70 75 74 2E 0D 0A 74 68 69 73 20 69 73 20 64 6F put...this is do
006880: 6E 65 20 62 79 20 73 74 61 72 74 69 6E 67 20 61 ne by starting a
006890: 74 20 74 68 65 20 72 6F 6F 74 20 61 6E 64 20 74 t the root and t
0068A0: 61 6B 69 6E 67 20 61 20 6C 65 66 74 20 20 77 68 aking a left wh
0068B0: 65 6E 20 61 0D 0A 7A 65 72 6F 20 20 69 73 20 20 en a..zero is
0068C0: 72 65 61 64 2C 20 61 20 72 69 67 68 74 20 77 68 read, a right wh
0068D0: 65 6E 20 61 20 6F 6E 65 20 69 73 20 72 65 61 64 en a one is read
0068E0: 2E 20 20 74 68 69 73 20 69 73 20 63 6F 6E 74 69 . this is conti
0068F0: 6E 75 65 64 0D 0A 75 6E 69 74 6C 20 61 20 6C 65 nued..unitl a le
006900: 69 63 6F 67 72 61 70 68 69 63 20 73 75 63 63 65 icographic succe
006910: 73 73 6F 72 2E 0D 0A 20 20 20 2A 29 0D 0A 20 20 ssor... *)..
006920: 20 70 72 6F 63 65 64 75 72 65 20 70 69 63 6B 6C procedure pickl
006930: 72 3B 0D 0A 0D 0A 20 20 20 20 20 20 76 61 72 20 r;.... var
006940: 70 69 63 6B 65 64 20 20 3A 20 62 6F 6F 6C 65 61 picked : boolea
006950: 6E 3B 20 28 2A 20 74 72 75 65 20 69 66 20 6F 6E n; (* true if on
006960: 65 20 70 69 63 6B 65 64 20 6F 6E 20 74 68 69 73 e picked on this
006970: 20 6C 65 76 20 65 6C 20 2A 29 0D 0A 20 20 20 20 lev el *)..
006980: 20 20 62 65 67 69 6E 0D 0A 20 20 20 20 20 20 70 begin.. p
006990: 69 63 6B 65 64 3A 3D 66 61 6C 73 65 3B 0D 0A 20 icked:=false;..
0069A0: 20 20 20 20 20 77 68 69 6C 65 20 28 70 69 63 6B while (pick
0069B0: 65 64 3D 66 61 6C 73 65 29 20 64 6F 20 62 65 67 ed=false) do beg
0069C0: 69 6E 0D 0A 20 20 20 20 20 20 20 20 20 6C 65 66 in.. lef
0069D0: 74 3A 3D 6C 65 78 66 69 72 73 74 3B 20 28 2A 20 t:=lexfirst; (*
0069E0: 73 74 61 72 74 20 77 69 74 68 20 66 69 72 73 74 start with first
0069F0: 20 6E 6F 64 65 20 69 6E 20 6C 65 78 69 63 6F 67 node in lexicog
006A00: 72 61 70 68 69 63 20 6F 72 64 65 72 20 2A 29 0D raphic order *).
006A10: 0A 20 20 20 20 20 20 20 20 20 77 68 69 6C 65 20 . while
006A20: 28 6C 65 66 74 3C 3E 6E 69 6C 29 20 61 6E 64 20 (left<>nil) and
006A30: 28 70 69 63 6B 65 64 3C 3E 74 72 75 65 29 20 64 (picked<>true) d
006A40: 6F 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 69 o.. i
006A50: 66 20 28 68 5B 6C 65 66 74 2B 6C 65 76 5D 3D 70 f (h[left+lev]=p
006A60: 69 63 6B 6C 65 76 29 0D 0A 20 20 20 20 20 20 20 icklev)..
006A70: 20 20 20 20 20 20 20 20 20 74 68 65 6E 20 70 69 then pi
006A80: 63 6B 65 64 3A 3D 74 72 75 65 0D 0A 20 20 20 20 cked:=true..
006A90: 20 20 20 20 20 20 20 20 20 20 20 20 65 6C 73 65 else
006AA0: 20 6C 65 66 74 3A 3D 68 5B 6C 65 66 74 2B 6C 65 left:=h[left+le
006AB0: 78 73 5D 3B 0D 0A 20 20 20 20 20 20 20 20 20 69 xs];.. i
006AC0: 66 20 28 70 69 63 6B 65 64 3D 66 61 6C 73 65 29 f (picked=false)
006AD0: 20 74 68 65 6E 20 70 69 63 6B 6C 65 76 3A 3D 70 then picklev:=p
006AE0: 69 63 6B 6C 65 76 2D 31 0D 0A 20 20 20 20 20 20 icklev-1..
006AF0: 20 20 20 65 6E 64 20 28 2A 20 77 68 69 6C 65 20 end (* while
006B00: 61 66 20 69 73 20 72 65 61 63 68 65 64 2C 20 77 af is reached, w
006B10: 68 65 6E 20 74 68 65 20 63 68 61 72 61 63 74 65 hen the characte
006B20: 72 20 69 6E 20 20 74 68 61 74 20 20 6C 65 61 66 r in that leaf
006B30: 20 20 69 73 0D 0A 70 72 69 6E 74 65 64 2E 20 20 is..printed.
006B40: 74 68 69 73 20 70 72 6F 63 65 73 73 20 69 73 20 this process is
006B50: 72 65 70 65 61 74 65 64 20 75 6E 74 69 6C 20 65 repeated until e
006B60: 6E 64 2D 6F 66 2D 66 69 6C 65 20 69 73 20 66 6F nd-of-file is fo
006B70: 75 6E 64 2E 0D 0A 2A 29 0D 0A 70 72 6F 63 65 64 und...*)..proced
006B80: 75 72 65 20 64 65 63 6F 64 65 3B 0D 0A 0D 0A 20 ure decode;....
006B90: 20 20 76 61 72 20 65 6F 66 20 3A 20 62 6F 6F 6C var eof : bool
006BA0: 65 61 6E 3B 0D 0A 20 20 20 20 20 20 20 63 68 20 ean;.. ch
006BB0: 20 3A 20 77 6F 72 64 3B 20 20 20 28 2A 20 6C 61 : word; (* la
006BC0: 73 74 20 6F 6E 65 20 6F 72 20 7A 65 72 6F 20 72 st one or zero r
006BD0: 65 61 64 20 66 72 6F 6D 20 69 6E 70 75 74 20 2A ead from input *
006BE0: 29 0D 0A 20 20 20 20 20 20 20 70 20 20 20 3A 20 ).. p :
006BF0: 77 6F 72 64 3B 20 20 20 28 2A 20 70 6F 69 6E 74 word; (* point
006C00: 65 72 20 75 73 65 64 20 74 6F 20 74 72 61 76 65 er used to trave
006C10: 72 73 65 20 74 72 65 65 20 2A 29 0D 0A 0D 0A 0D rse tree *).....
006C20: 0A 20 20 20 70 72 6F 63 65 64 75 72 65 20 67 65 . procedure ge
006C30: 74 6F 7A 3B 0D 0A 0D 0A 20 20 20 20 20 20 62 65 toz;.... be
006C40: 67 69 6E 0D 0A 20 20 20 20 20 20 67 65 74 23 30 gin.. get#0
006C50: 28 63 68 29 3B 0D 0A 20 20 20 20 20 20 77 68 69 (ch);.. whi
006C60: 6C 65 20 28 63 68 3D 31 33 29 20 6F 72 20 28 63 le (ch=13) or (c
006C70: 68 3D 31 30 29 20 6F 72 20 28 63 68 3D 27 20 27 h=10) or (ch=' '
006C80: 29 20 64 6F 0D 0A 20 20 20 20 20 20 20 20 20 67 ) do.. g
006C90: 65 74 23 30 28 63 68 29 3B 0D 0A 20 20 20 20 20 et#0(ch);..
006CA0: 20 69 66 20 28 63 68 3D 32 36 29 20 74 68 65 6E if (ch=26) then
006CB0: 20 65 6F 66 3A 3D 74 72 75 65 0D 0A 20 20 20 20 eof:=true..
006CC0: 20 20 65 6E 64 3B 20 28 2A 20 70 72 6F 63 65 64 end; (* proced
006CD0: 75 72 65 20 67 65 74 6F 7A 20 2A 29 0D 0A 0D 0A ure getoz *)....
006CE0: 0D 0A 20 20 20 62 65 67 69 6E 20 28 2A 20 70 72 .. begin (* pr
006CF0: 6F 64 65 63 75 72 65 20 64 65 63 6F 64 65 20 2A odecure decode *
006D00: 2A 29 0D 0A 20 20 20 20 20 20 65 6E 64 3B 20 28 *).. end; (
006D10: 2A 20 70 72 6F 63 65 64 75 72 65 20 70 69 63 6B * procedure pick
006D20: 6C 72 20 2A 29 0D 0A 0D 0A 0D 0A 20 20 20 28 2A lr *)...... (*
006D30: 0D 0A 20 20 20 63 6F 6D 62 69 6E 65 20 20 74 68 .. combine th
006D40: 65 20 20 74 72 65 65 20 20 70 6F 69 6E 74 65 64 e tree pointed
006D50: 20 74 6F 20 62 79 20 6C 65 66 74 20 61 6E 64 20 to by left and
006D60: 69 74 73 20 6C 65 78 69 63 6F 67 72 61 70 68 69 its lexicographi
006D70: 63 0D 0A 20 20 20 73 75 63 63 65 73 73 6F 72 20 c.. successor
006D80: 74 6F 20 66 6F 72 6D 20 61 20 6E 65 77 20 69 6E to form a new in
006D90: 74 65 72 6E 61 6C 20 6E 6F 64 65 20 20 69 6E 20 ternal node in
006DA0: 20 74 68 65 20 20 66 69 6E 61 6C 20 20 74 72 65 the final tre
006DB0: 65 2E 0D 0A 20 20 20 6C 69 6E 6B 20 20 74 68 69 e... link thi
006DC0: 73 20 6E 65 77 20 6E 6F 64 65 20 69 6E 74 6F 20 s new node into
006DD0: 74 68 65 20 65 78 69 73 74 69 6E 67 20 6C 65 78 the existing lex
006DE0: 69 63 6F 67 72 61 70 68 69 63 20 73 65 71 75 65 icographic seque
006DF0: 6E 63 65 0D 0A 20 20 20 69 6E 20 70 6C 61 63 65 nce.. in place
006E00: 20 6F 66 20 74 68 65 20 6C 65 66 74 20 74 72 65 of the left tre
006E10: 65 20 61 6E 64 20 69 74 73 20 73 75 63 63 65 73 e and its succes
006E20: 73 6F 72 2E 20 20 74 68 65 20 70 6F 69 6E 74 65 sor. the pointe
006E30: 72 20 74 6F 0D 0A 20 20 20 74 68 65 20 66 69 72 r to.. the fir
006E40: 73 74 20 6E 6F 64 65 20 69 6E 20 74 68 65 20 73 st node in the s
006E50: 65 71 75 65 6E 63 65 20 28 6C 65 78 66 69 72 73 equence (lexfirs
006E60: 74 29 2C 20 69 73 20 75 70 64 61 74 65 64 20 69 t), is updated i
006E70: 6E 20 74 68 65 0D 0A 20 20 20 70 72 6F 63 65 73 n the.. proces
006E80: 73 2E 0D 0A 20 20 20 2A 29 0D 0A 20 20 20 70 72 s... *).. pr
006E90: 6F 63 65 64 75 72 65 20 63 6F 6D 62 69 6E 65 6C ocedure combinel
006EA0: 72 3B 0D 0A 0D 0A 20 20 20 20 20 20 76 61 72 20 r;.... var
006EB0: 6E 65 77 6E 20 3A 20 77 6F 72 64 3B 20 28 2A 20 newn : word; (*
006EC0: 70 6F 69 6E 74 65 72 20 74 6F 20 6E 65 77 20 6E pointer to new n
006ED0: 6F 64 65 20 63 72 65 61 74 65 64 20 2A 29 0D 0A ode created *)..
006EE0: 20 20 20 20 20 20 20 20 20 20 72 69 74 65 20 3A rite :
006EF0: 20 77 6F 72 64 3B 20 28 2A 20 70 6F 69 6E 74 65 word; (* pointe
006F00: 29 0D 0A 20 20 20 70 75 74 23 31 28 31 33 2C 31 ).. put#1(13,1
006F10: 30 29 3B 0D 0A 20 20 20 70 75 74 23 31 28 27 64 0);.. put#1('d
006F20: 65 63 6F 64 65 64 20 27 2C 20 27 6D 65 73 73 61 ecoded ', 'messa
006F30: 67 65 20 20 27 2C 31 33 2C 31 30 29 3B 0D 0A 20 ge ',13,10);..
006F40: 20 20 65 6F 66 3A 3D 66 61 6C 73 65 3B 0D 0A 20 eof:=false;..
006F50: 20 20 67 65 74 6F 7A 3B 0D 0A 20 20 20 77 68 69 getoz;.. whi
006F60: 6C 65 20 28 65 6F 66 3D 66 61 6C 73 65 29 20 64 le (eof=false) d
006F70: 6F 20 62 65 67 69 6E 0D 0A 20 20 20 20 20 20 70 o begin.. p
006F80: 3A 3D 6C 65 78 66 69 72 73 74 3B 20 20 20 20 20 :=lexfirst;
006F90: 20 28 2A 20 73 74 61 72 74 20 61 74 20 72 6F 6F (* start at roo
006FA0: 74 20 6F 66 20 70 68 61 73 65 20 33 20 74 72 65 t of phase 3 tre
006FB0: 65 20 2A 29 0D 0A 20 20 20 20 20 20 77 68 69 6C e *).. whil
006FC0: 65 20 28 68 5B 70 2B 63 68 61 72 5D 3D 73 65 6E e (h[p+char]=sen
006FD0: 74 29 20 64 6F 20 62 65 67 69 6E 20 28 2A 20 77 t) do begin (* w
006FE0: 68 69 6C 65 20 61 74 20 69 6E 74 65 72 6E 61 6C hile at internal
006FF0: 20 6E 6F 64 65 20 2A 29 0D 0A 20 20 20 20 20 20 node *)..
007000: 20 20 20 69 66 20 28 63 68 3D 27 30 27 29 0D 0A if (ch='0')..
007010: 20 20 20 20 20 20 20 20 20 20 20 20 74 68 65 6E then
007020: 20 70 3A 3D 68 5B 70 2B 6C 73 74 5D 20 20 28 2A p:=h[p+lst] (*
007030: 20 6C 65 66 74 20 20 74 75 72 6E 20 2A 29 0D 0A left turn *)..
007040: 20 20 20 20 20 20 20 20 20 20 20 20 65 6C 73 65 else
007050: 20 70 3A 3D 68 5B 70 2B 72 73 74 5D 3B 20 28 2A p:=h[p+rst]; (*
007060: 20 72 69 67 68 74 20 74 75 72 6E 20 2A 29 0D 0A right turn *)..
007070: 20 20 20 20 20 20 20 20 20 67 65 74 6F 7A 0D 0A getoz..
007080: 20 20 20 20 20 20 20 20 20 65 6E 64 3B 20 28 2A end; (*
007090: 20 77 68 69 6C 65 20 61 74 20 69 6E 74 65 72 6E while at intern
0070A0: 61 6C 20 6E 6F 64 65 20 2A 29 0D 0A 20 20 20 20 al node *)..
0070B0: 20 20 70 75 74 23 31 28 68 5B 70 2B 63 68 61 72 put#1(h[p+char
0070C0: 5D 29 0D 0A 20 20 20 20 20 20 65 6E 64 20 28 2A ]).. end (*
0070D0: 20 77 68 69 6C 65 20 6E 6F 74 20 65 6F 66 20 2A while not eof *
0070E0: 29 0D 0A 20 20 20 65 6E 64 3B 20 28 2A 20 70 72 ).. end; (* pr
0070F0: 6F 63 65 64 75 72 65 20 64 65 63 6F 64 65 20 2A ocedure decode *
007100: 72 20 74 6F 20 72 69 67 68 74 20 6E 6F 64 65 20 r to right node
007110: 62 65 69 6E 67 20 63 6F 6D 62 69 6E 65 64 20 2A being combined *
007120: 29 0D 0A 0D 0A 20 20 20 20 20 20 62 65 67 69 6E ).... begin
007130: 0D 0A 20 20 20 20 20 20 6E 65 77 28 76 61 72 20 .. new(var
007140: 6E 65 77 6E 29 3B 0D 0A 20 20 20 20 20 20 72 69 newn);.. ri
007150: 74 65 3A 3D 68 5B 6C 65 66 74 2B 6C 65 78 73 5D te:=h[left+lexs]
007160: 3B 20 28 2A 20 72 69 67 68 74 20 6E 6F 64 65 20 ; (* right node
007170: 69 73 20 61 6C 6C 77 61 79 73 20 6E 65 78 74 20 is allways next
007180: 69 6E 20 6C 65 78 20 6F 72 64 65 72 20 2A 29 0D in lex order *).
007190: 0A 20 20 20 20 20 20 68 5B 6E 65 77 6E 2B 63 68 . h[newn+ch
0071A0: 61 72 5D 3A 3D 73 65 6E 74 3B 20 28 2A 20 69 6E ar]:=sent; (* in
0071B0: 69 74 20 61 6C 6C 20 69 6E 74 65 72 6E 61 6C 20 it all internal
0071C0: 6E 6F 64 65 73 20 74 6F 20 73 65 6E 74 20 63 68 nodes to sent ch
0071D0: 61 72 20 2A 29 0D 0A 0D 0A 20 20 20 20 20 20 28 ar *).... (
0071E0: 2A 20 6C 69 6E 6B 20 6C 65 66 74 20 61 6E 64 20 * link left and
0071F0: 72 69 67 68 74 20 73 75 62 74 72 65 65 73 20 74 right subtrees t
007200: 6F 20 6E 65 77 20 6E 6F 64 65 20 2A 29 0D 0A 20 o new node *)..
007210: 20 20 20 20 20 68 5B 6E 65 77 6E 2B 6C 73 74 5D h[newn+lst]
007220: 3A 3D 6C 65 66 74 3B 0D 0A 20 20 20 20 20 20 68 :=left;.. h
007230: 5B 6E 65 77 6E 2B 72 73 74 5D 3A 3D 72 69 74 65 [newn+rst]:=rite
007240: 3B 0D 0A 0D 0A 20 20 20 20 20 20 28 2A 20 6C 65 ;.... (* le
007250: 76 65 6C 20 6F 66 20 6E 65 77 20 6E 6F 64 65 20 vel of new node
007260: 69 73 20 6F 6E 65 20 6C 65 73 73 20 74 68 61 6E is one less than
007270: 20 6C 65 76 65 6C 20 6F 66 20 69 74 73 20 6F 66 level of its of
007280: 66 73 70 72 69 6E 67 20 2A 29 0D 0A 20 20 20 20 fspring *)..
007290: 20 20 68 5B 6E 65 77 6E 2B 6C 65 76 5D 3A 3D 68 h[newn+lev]:=h
0072A0: 5B 6C 65 66 74 2B 6C 65 76 5D 2D 31 3B 0D 0A 20 [left+lev]-1;..
0072B0: 20 20 20 20 20 68 5B 6E 65 77 6E 2B 6C 65 78 73 h[newn+lexs
0072C0: 5D 3A 3D 68 5B 72 69 74 65 2B 6C 65 78 73 5D 3B ]:=h[rite+lexs];
0072D0: 0D 0A 20 20 20 20 20 20 68 5B 6E 65 77 6E 2B 6C .. h[newn+l
0072E0: 65 78 70 5D 3A 3D 68 5B 6C 65 66 74 2B 6C 65 78 exp]:=h[left+lex
0072F0: 70 5D 3B 0D 0A 0D 0A 20 20 20 20 20 20 28 2A 20 p];.... (*
007300: 54 72 61 63 6B 2D 49 6E 66 6F 0D 0A 00 01 00 00 Track-Info......
007310: 06 00 00 00 02 09 49 E5 06 00 C1 02 00 00 00 02 ......I.........
007320: 06 00 C6 02 00 00 00 02 06 00 C2 02 00 00 00 02 ................
007330: 06 00 C7 02 00 00 00 02 06 00 C3 02 00 00 00 02 ................
007340: 06 00 C8 02 00 00 00 02 06 00 C4 02 00 00 00 02 ................
007350: 06 00 C9 02 00 00 00 02 06 00 C5 02 00 00 00 02 ................
007360: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
007370: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
007380: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
007390: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0073A0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0073B0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0073C0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0073D0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0073E0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0073F0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
007400: 29 0D 0A 0D 0A 62 65 67 69 6E 20 28 2A 20 6D 61 )....begin (* ma
007410: 69 6E 20 6C 69 6E 65 20 2A 29 0D 0A 20 20 20 68 in line *).. h
007420: 70 3A 3D 30 3B 20 28 2A 20 69 6E 69 74 69 61 6C p:=0; (* initial
007430: 69 7A 65 20 68 65 61 70 20 70 6F 69 6E 74 65 72 ize heap pointer
007440: 20 2A 29 0D 0A 20 20 20 72 65 61 64 74 72 65 65 *).. readtree
007450: 3B 0D 0A 20 20 20 6C 65 78 66 69 72 73 74 3A 3D ;.. lexfirst:=
007460: 6C 6D 6F 73 74 3B 20 28 2A 20 66 69 72 73 74 20 lmost; (* first
007470: 6E 6F 64 65 20 69 6E 20 6C 65 78 20 6F 72 64 65 node in lex orde
007480: 72 20 69 73 20 6C 65 66 74 6D 6F 73 74 20 2A 29 r is leftmost *)
007490: 0D 0A 20 20 20 62 75 69 6C 64 31 74 72 65 65 3B .. build1tree;
0074A0: 0D 0A 20 20 20 62 75 69 6C 64 33 74 72 65 65 3B .. build3tree;
0074B0: 0D 0A 20 20 20 64 65 63 6F 64 65 0D 0A 65 6E 64 .. decode..end
0074C0: 2E 0D 0A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A ................
0074D0: 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A ................
0074E0: 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A ................
0074F0: 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A ................
007500: 20 20 20 69 66 20 28 63 68 3D 27 30 27 29 0D 0A if (ch='0')..
007510: 20 20 20 20 20 20 20 20 20 20 20 20 74 68 65 6E then
007520: 20 70 3A 3D 68 5B 70 2B 6C 73 74 5D 20 20 28 2A p:=h[p+lst] (*
007530: 20 6C 65 66 74 20 20 74 75 72 6E 20 2A 29 0D 0A left turn *)..
007540: 20 20 20 20 20 20 20 20 20 20 20 20 65 6C 73 65 else
007550: 20 70 3A 3D 68 5B 70 2B 72 73 74 5D 3B 20 28 2A p:=h[p+rst]; (*
007560: 20 72 69 67 68 74 20 74 75 72 6E 20 2A 29 0D 0A right turn *)..
007570: 20 20 20 20 20 20 20 20 20 67 65 74 6F 7A 0D 0A getoz..
007580: 20 20 20 20 20 20 20 20 20 65 6E 64 3B 20 28 2A end; (*
007590: 20 77 68 69 6C 65 20 61 74 20 69 6E 74 65 72 6E while at intern
0075A0: 61 6C 20 6E 6F 64 65 20 2A 29 0D 0A 20 20 20 20 al node *)..
0075B0: 20 20 70 75 74 23 31 28 68 5B 70 2B 63 68 61 72 put#1(h[p+char
0075C0: 5D 29 0D 0A 20 20 20 20 20 20 65 6E 64 20 28 2A ]).. end (*
0075D0: 20 77 68 69 6C 65 20 6E 6F 74 20 65 6F 66 20 2A while not eof *
0075E0: 29 0D 0A 20 20 20 65 6E 64 3B 20 28 2A 20 70 72 ).. end; (* pr
0075F0: 6F 63 65 64 75 72 65 20 64 65 63 6F 64 65 20 2A ocedure decode *
007600: 2D 7C 20 20 7C 0D 0A 09 7C 09 09 09 09 09 09 20 -| |...|......
007610: 20 20 20 20 7C 0D 0A 09 7C 09 09 09 09 09 09 20 |...|......
007620: 20 20 20 20 7C 0D 0A 09 7C 2D 2D 3E 20 20 27 20 |...|--> '
007630: 20 2D 2D 3E 20 63 68 61 72 61 63 74 65 72 20 2D --> character -
007640: 2D 3E 20 20 27 20 20 2D 2D 2D 2D 2D 2D 2D 2D 2D -> ' ---------
007650: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 7C 0D 0A -------------|..
007660: 0D 0A 0D 0A 73 69 6D 70 6C 65 20 74 79 70 65 0D ....simple type.
007670: 0A 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D .---------------
007680: 2D 3E 20 74 79 70 65 20 69 64 65 6E 74 69 66 69 -> type identifi
007690: 65 72 20 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D er -------------
0076A0: 2D 2D 2D 3E 0D 0A 09 7C 09 09 09 09 20 20 20 20 --->...|....
0076B0: 20 20 20 5E 0D 0A 09 7C 2D 2D 3E 20 20 28 20 20 ^...|--> (
0076C0: 2D 2D 2D 2D 3E 20 69 64 65 6E 74 69 66 69 65 72 ----> identifier
0076D0: 20 2D 2D 2D 2D 2D 3E 20 20 29 20 20 2D 2D 7C 0D -----> ) --|.
0076E0: 0A 09 7C 09 20 20 20 5E 09 09 20 20 20 20 7C 09 ..|. ^.. |.
0076F0: 20 20 20 20 20 20 20 7C 0D 0A 09 7C 09 20 20 20 |...|.
007700: 7C 2D 2D 2D 2D 2D 2D 20 20 2C 20 20 3C 2D 2D 2D |------ , <---
007710: 2D 7C 09 20 20 20 20 20 20 20 7C 0D 0A 09 7C 09 -|. |...|.
007720: 09 09 09 20 20 20 20 20 20 20 7C 0D 0A 09 7C 2D ... |...|-
007730: 2D 3E 20 63 6F 6E 73 74 61 6E 74 20 2D 2D 3E 20 -> constant -->
007740: 20 2E 2E 20 20 2D 2D 3E 20 63 6F 6E 73 74 61 6E .. --> constan
007750: 74 20 2D 2D 2D 7C 0D 0A 0D 0A 0D 0A 74 79 70 65 t ---|......type
007760: 0D 0A 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ..--------------
007770: 2D 2D 3E 20 73 69 6D 70 6C 65 20 74 79 70 65 20 --> simple type
007780: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
007790: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
0077A0: 3E 0D 0A 09 7C 09 09 09 09 09 09 5E 0D 0A 09 7C >...|......^...|
0077B0: 2D 2D 3E 20 41 52 52 41 59 20 2D 2D 3E 20 20 5B --> ARRAY --> [
0077C0: 20 20 2D 2D 3E 20 73 69 6D 70 6C 65 20 74 79 70 --> simple typ
0077D0: 65 20 2D 2D 3E 20 20 5D 20 2D 2D 7C 20 20 20 7C e --> ] --| |
0077E0: 0D 0A 09 09 09 09 09 09 20 20 20 20 7C 20 20 20 ........ |
0077F0: 7C 0D 0A 09 20 20 20 7C 2D 2D 2D 2D 2D 2D 2D 2D |... |--------
007800: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
007810: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
007820: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
007830: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
007840: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
007850: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
007860: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
007870: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
007880: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
007890: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0078A0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0078B0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0078C0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0078D0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0078E0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0078F0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
007900: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
007910: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
007920: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
007930: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
007940: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
007950: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
007960: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
007970: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
007980: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
007990: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0079A0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0079B0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0079C0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0079D0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0079E0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0079F0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
007A00: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
007A10: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
007A20: 7C 20 20 20 7C 0D 0A 09 20 20 20 7C 09 09 09 09 | |... |....
007A30: 09 09 7C 0D 0A 09 20 20 20 7C 2D 2D 3E 20 4F 46 ..|... |--> OF
007A40: 20 2D 2D 3E 20 73 69 6D 70 6C 65 20 74 79 70 65 --> simple type
007A50: 20 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ---------------
007A60: 2D 2D 2D 2D 2D 2D 7C 0D 0A 0D 0A 0D 0A 76 61 72 ------|......var
007A70: 69 61 62 6C 65 0D 0A 2D 2D 2D 2D 2D 2D 2D 2D 2D iable..---------
007A80: 2D 2D 2D 3E 20 76 61 72 69 61 62 6C 65 20 69 64 ---> variable id
007A90: 65 6E 74 69 66 69 65 72 20 2D 2D 2D 2D 2D 2D 2D entifier -------
007AA0: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
007AB0: 2D 2D 2D 2D 2D 3E 0D 0A 09 09 09 09 20 20 20 20 ----->......
007AC0: 7C 09 20 20 7C 0D 0A 09 7C 2D 2D 2D 2D 2D 2D 2D |. |...|-------
007AD0: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
007AE0: 2D 2D 2D 2D 7C 09 20 20 7C 0D 0A 09 7C 09 09 09 ----|. |...|...
007AF0: 09 20 20 7C 0D 0A 09 7C 2D 2D 3E 20 20 5B 20 20 . |...|--> [
007B00: 2D 2D 3E 20 65 78 70 72 65 73 73 69 6F 6E 20 2D --> expression -
007B10: 2D 3E 20 20 5D 20 20 2D 2D 7C 0D 0A 0D 0A 0D 0A -> ] --|......
007B20: 66 61 63 74 6F 72 0D 0A 2D 2D 2D 2D 2D 2D 2D 2D factor..--------
007B30: 2D 2D 2D 2D 3E 20 20 27 20 20 2D 2D 2D 2D 2D 3E ----> ' ----->
007B40: 20 63 68 61 72 61 63 74 65 72 20 2D 2D 2D 2D 2D character -----
007B50: 3E 20 20 27 20 20 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D > ' ----------
007B60: 2D 2D 2D 2D 2D 2D 3E 0D 0A 09 7C 09 20 20 20 20 ------>...|.
007B70: 5E 09 09 20 20 20 20 20 7C 09 09 09 7C 0D 0A 09 ^.. |...|...
007B80: 7C 09 20 20 20 20 7C 2D 2D 2D 2D 2D 2D 2D 2D 2D |. |---------
007B90: 2D 2D 2D 2D 2D 2D 2D 7C 09 09 09 7C 0D 0A 09 7C -------|...|...|
007BA0: 09 09 09 09 09 09 7C 0D 0A 09 7C 2D 2D 3E 20 76 ......|...|--> v
007BB0: 61 72 69 61 62 6C 65 20 2D 2D 2D 2D 2D 2D 2D 2D ariable --------
007BC0: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
007BD0: 2D 2D 2D 2D 2D 2D 2D 2D 2D 3E 7C 0D 0A 09 7C 09 --------->|...|.
007BE0: 09 09 09 09 09 7C 0D 0A 09 7C 2D 2D 3E 20 66 75 .....|...|--> fu
007BF0: 6E 63 74 69 6F 6E 20 69 64 65 6E 74 69 66 69 65 nction identifie
007C00: 41 20 20 36 32 32 0D 0A 42 20 20 31 33 32 0D 0A A 622..B 132..
007C10: 43 20 20 33 31 31 0D 0A 44 20 20 32 39 37 0D 0A C 311..D 297..
007C20: 45 20 20 31 30 35 33 0D 0A 46 20 20 31 36 38 0D E 1053..F 168.
007C30: 0A 47 20 20 31 36 35 0D 0A 48 20 20 33 36 33 0D .G 165..H 363.
007C40: 0A 49 20 20 36 31 34 0D 0A 4A 20 20 20 20 36 0D .I 614..J 6.
007C50: 0A 4B 20 20 20 33 31 0D 0A 4C 20 20 33 30 37 0D .K 31..L 307.
007C60: 0A 4D 20 20 32 34 38 0D 0A 4E 20 20 35 37 33 0D .M 248..N 573.
007C70: 0A 4F 20 20 36 30 36 0D 0A 50 20 20 31 38 39 0D .O 606..P 189.
007C80: 0A 51 20 20 20 31 30 0D 0A 52 20 20 35 38 37 0D .Q 10..R 587.
007C90: 0A 53 20 20 35 38 31 0D 0A 54 20 20 37 36 38 0D .S 581..T 768.
007CA0: 0A 55 20 20 32 32 37 0D 0A 56 20 20 20 37 30 0D .U 227..V 70.
007CB0: 0A 57 20 20 31 31 33 0D 0A 58 20 20 20 32 35 0D .W 113..X 25.
007CC0: 0A 59 20 20 31 30 37 0D 0A 5A 20 20 20 20 36 0D .Y 107..Z 6.
007CD0: 0A 20 20 31 38 32 31 0D 0A 24 0D 0A 30 30 30 30 . 1821..$..0000
007CE0: 31 31 31 31 30 30 31 31 31 31 30 31 30 30 31 30 1111001111010010
007CF0: 31 30 30 30 31 30 31 30 31 31 30 30 30 31 31 31 1000101011000111
007D00: 31 30 31 30 30 30 31 31 30 31 30 30 30 30 30 31 1010001101000001
007D10: 31 30 31 31 31 31 30 31 31 31 0D 0A 30 31 30 30 1011110111..0100
007D20: 30 30 31 30 30 30 31 31 30 31 31 31 30 31 31 31 0010001101110111
007D30: 30 31 31 30 30 30 30 31 31 30 31 30 30 31 31 30 0110000110100110
007D40: 31 31 30 30 31 30 30 30 31 30 30 30 31 31 31 31 1100100010001111
007D50: 31 0D 0A 31 30 30 30 31 31 30 31 31 30 30 30 30 1..1000110110000
007D60: 31 31 30 31 30 31 31 31 31 31 30 30 30 31 30 30 1101011111000100
007D70: 31 30 30 31 31 31 31 0D 0A 31 30 31 31 30 31 31 1001111..1011011
007D80: 30 30 31 30 30 31 30 30 30 30 31 31 30 31 31 31 0010010000110111
007D90: 31 31 31 31 30 31 31 31 31 30 31 31 31 30 30 30 1111011110111000
007DA0: 31 30 30 31 30 31 30 31 30 30 30 31 31 30 31 31 1001010100011011
007DB0: 30 31 30 31 31 31 31 31 31 0D 0A 30 30 30 31 31 010111111..00011
007DC0: 31 30 30 30 30 31 30 30 30 31 0D 0A 1A 1A 1A 1A 1000010001......
007DD0: 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A ................
007DE0: 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A ................
007DF0: 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A ................
007E00: 72 20 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D r --------------
007E10: 2D 2D 2D 2D 2D 2D 2D 2D 3E 7C 0D 0A 09 7C 09 09 -------->|...|..
007E20: 09 20 20 20 7C 09 09 09 7C 0D 0A 09 7C 20 20 7C . |...|...| |
007E30: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
007E40: 2D 2D 2D 2D 2D 2D 2D 7C 09 09 09 7C 0D 0A 09 7C -------|...|...|
007E50: 20 20 7C 09 09 09 09 09 09 7C 0D 0A 09 7C 20 20 |......|...|
007E60: 7C 2D 2D 3E 20 20 28 20 20 2D 2D 2D 2D 2D 3E 20 |--> ( ----->
007E70: 65 78 70 72 65 73 73 69 6F 6E 20 2D 2D 2D 2D 2D expression -----
007E80: 3E 20 20 29 20 20 2D 2D 2D 2D 2D 2D 3E 7C 0D 0A > ) ------>|..
007E90: 09 7C 09 20 20 20 20 20 20 5E 09 09 09 7C 09 09 .|. ^...|..
007EA0: 7C 0D 0A 09 7C 09 20 20 20 20 20 20 7C 2D 2D 2D |...|. |---
007EB0: 2D 2D 20 20 2C 20 20 3C 2D 2D 2D 2D 2D 2D 7C 09 -- , <------|.
007EC0: 09 7C 0D 0A 09 7C 09 09 09 09 09 09 7C 0D 0A 09 .|...|......|...
007ED0: 7C 2D 2D 3E 20 20 28 20 20 2D 2D 3E 20 65 78 70 |--> ( --> exp
007EE0: 72 65 73 73 69 6F 6E 20 2D 2D 3E 20 20 29 20 20 ression --> )
007EF0: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 3E --------------->
007F00: 7C 0D 0A 09 7C 09 09 09 09 09 09 7C 0D 0A 09 7C |...|......|...|
007F10: 2D 2D 3E 20 63 6F 6E 73 74 61 6E 74 20 2D 2D 2D --> constant ---
007F20: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
007F30: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 7C ---------------|
007F40: 0D 0A 0D 0A 0D 0A 74 65 72 6D 0D 0A 2D 2D 2D 2D ......term..----
007F50: 2D 2D 2D 2D 2D 2D 2D 2D 3E 20 66 61 63 74 6F 72 --------> factor
007F60: 20 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ---------------
007F70: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
007F80: 2D 3E 0D 0A 09 5E 09 09 09 20 7C 0D 0A 09 7C 2D ->...^... |...|-
007F90: 2D 20 66 61 63 74 6F 72 20 3C 2D 2D 2D 2D 2D 20 - factor <-----
007FA0: 20 2A 20 20 3C 2D 2D 7C 0D 0A 09 09 20 20 20 20 * <--|....
007FB0: 20 20 5E 09 09 20 7C 0D 0A 09 09 20 20 20 20 20 ^.. |....
007FC0: 20 7C 2D 2D 20 20 2F 20 20 3C 2D 2D 7C 0D 0A 09 |-- / <--|...
007FD0: 09 20 20 20 20 20 20 7C 2D 2D 20 41 4E 44 20 3C . |-- AND <
007FE0: 2D 2D 7C 0D 0A 0D 0A 73 69 6D 70 6C 65 20 65 78 --|....simple ex
007FF0: 70 72 65 73 73 69 6F 6E 0D 0A 2D 2D 2D 2D 2D 2D pression..------
008000: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
008010: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
008020: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
008030: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
008040: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
008050: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
008060: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
008070: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
008080: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
008090: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0080A0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0080B0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0080C0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0080D0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0080E0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0080F0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
008100: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
008110: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
008120: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
008130: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
008140: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
008150: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
008160: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
008170: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
008180: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
008190: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0081A0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0081B0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0081C0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0081D0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0081E0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0081F0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
008200: 2D 2D 2D 2D 2D 3E 20 20 2B 20 20 2D 2D 2D 2D 2D -----> + -----
008210: 2D 2D 3E 20 74 65 72 6D 20 2D 2D 2D 2D 2D 2D 2D --> term -------
008220: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
008230: 2D 2D 2D 2D 2D 2D 2D 2D 2D 3E 0D 0A 09 7C 09 20 --------->...|.
008240: 20 20 5E 20 5E 09 09 09 20 20 20 20 7C 0D 0A 09 ^ ^... |...
008250: 7C 2D 2D 3E 20 20 2D 20 20 2D 2D 7C 20 7C 2D 2D |--> - --| |--
008260: 20 74 65 72 6D 20 3C 2D 2D 2D 2D 2D 20 20 2B 20 term <----- +
008270: 20 3C 2D 2D 7C 0D 0A 09 09 09 09 20 5E 09 20 20 <--|...... ^.
008280: 20 20 7C 0D 0A 09 09 09 09 20 7C 2D 2D 20 20 2D |...... |-- -
008290: 20 20 3C 2D 2D 7C 0D 0A 09 09 09 09 20 7C 2D 2D <--|...... |--
0082A0: 20 20 4F 52 20 3C 2D 2D 7C 0D 0A 0D 0A 0D 0A 65 OR <--|......e
0082B0: 78 70 72 65 73 73 69 6F 6E 0D 0A 2D 2D 2D 2D 2D xpression..-----
0082C0: 2D 2D 2D 2D 2D 2D 3E 20 73 69 6D 70 6C 65 20 65 ------> simple e
0082D0: 78 70 72 65 73 73 69 6F 6E 20 2D 2D 2D 2D 2D 2D xpression ------
0082E0: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
0082F0: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
008300: 3E 0D 0A 09 09 09 09 7C 09 09 09 09 20 20 20 20 >......|....
008310: 5E 0D 0A 09 09 09 09 7C 2D 2D 3E 20 20 3D 20 20 ^......|--> =
008320: 2D 2D 2D 2D 2D 3E 20 73 69 6D 70 6C 65 20 65 78 -----> simple ex
008330: 70 72 65 73 73 69 6F 6E 20 2D 2D 7C 0D 0A 09 09 pression --|....
008340: 09 09 7C 09 20 20 20 5E 0D 0A 09 09 09 09 7C 2D ..|. ^......|-
008350: 2D 3E 20 20 3C 20 20 2D 2D 7C 0D 0A 09 09 09 09 -> < --|......
008360: 7C 2D 2D 3E 20 20 3E 20 20 2D 2D 7C 0D 0A 09 09 |--> > --|....
008370: 09 09 7C 2D 2D 3E 20 20 3C 3E 20 2D 2D 7C 0D 0A ..|--> <> --|..
008380: 09 09 09 09 7C 2D 2D 3E 20 20 3C 3D 20 2D 2D 7C ....|--> <= --|
008390: 0D 0A 09 09 09 09 7C 2D 2D 3E 20 20 3E 3D 20 2D ......|--> >= -
0083A0: 2D 7C 0D 0A 0D 0A 0D 0A 70 61 72 61 6D 65 74 65 -|......paramete
0083B0: 72 20 6C 69 73 74 0D 0A 2D 2D 2D 2D 2D 2D 2D 2D r list..--------
0083C0: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
0083D0: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
0083E0: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
0083F0: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
008400: 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ..
008410: 20 20 20 20 20 20 20 20 20 20 20 50 41 53 59 4E PASYN
008420: 54 41 58 2E 44 4F 43 0D 0A 0D 0A 0D 0A 55 50 50 TAX.DOC......UPP
008430: 45 52 20 43 41 53 45 20 6D 65 61 6E 73 20 74 68 ER CASE means th
008440: 61 74 20 74 68 69 73 20 72 65 73 65 72 76 65 64 at this reserved
008450: 20 77 6F 72 64 20 6D 75 73 74 20 61 70 70 65 61 word must appea
008460: 72 20 6C 69 74 65 72 61 6C 79 2E 0D 0A 0D 0A 0D r literaly......
008470: 0A 0D 0A 69 64 65 6E 74 69 66 69 65 72 0D 0A 2D ...identifier..-
008480: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 3E 20 6C 65 74 -----------> let
008490: 74 65 72 20 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ter ------------
0084A0: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 3E 0D 0A 09 ------------>...
0084B0: 09 09 5E 09 20 20 20 20 20 20 7C 0D 0A 09 09 09 ..^. |.....
0084C0: 7C 2D 2D 20 6C 65 74 74 65 72 20 3C 2D 2D 7C 0D |-- letter <--|.
0084D0: 0A 09 09 09 7C 2D 2D 20 64 69 67 69 74 20 20 3C ....|-- digit <
0084E0: 2D 2D 7C 0D 0A 0D 0A 0D 0A 6E 75 6D 62 65 72 0D --|......number.
0084F0: 0A 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 3E 20 64 .------------> d
008500: 69 67 69 74 20 2D 2D 2D 2D 2D 2D 2D 2D 3E 0D 0A igit -------->..
008510: 09 5E 09 20 20 20 20 20 20 20 20 7C 0D 0A 09 7C .^. |...|
008520: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 7C ---------------|
008530: 0D 0A 0D 0A 0D 0A 63 6F 6E 73 74 61 6E 74 0D 0A ......constant..
008540: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 3E 20 6E 75 6D -----------> num
008550: 62 65 72 20 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ber ------------
008560: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
008570: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
008580: 2D 2D 3E 0D 0A 09 7C 09 09 09 09 09 09 20 20 20 -->...|......
008590: 20 20 5E 0D 0A 09 7C 2D 2D 3E 20 63 6F 6E 73 74 ^...|--> const
0085A0: 61 6E 74 20 69 64 65 6E 74 69 66 69 65 72 20 2D ant identifier -
0085B0: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
0085C0: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 7C 0D 0A 09 7C -----------|...|
0085D0: 09 09 09 20 20 20 5E 09 09 09 20 20 7C 20 20 7C ... ^... | |
0085E0: 0D 0A 09 7C 09 09 09 20 20 20 7C 2D 2D 20 63 6F ...|... |-- co
0085F0: 6E 73 74 61 6E 74 20 3C 2D 2D 20 20 2B 20 20 2D nstant <-- + -
008600: 54 72 61 63 6B 2D 49 6E 66 6F 0D 0A 00 01 00 00 Track-Info......
008610: 07 00 00 00 02 09 50 E5 07 00 C1 02 00 00 00 02 ......P.........
008620: 07 00 C6 02 00 00 00 02 07 00 C2 02 00 00 00 02 ................
008630: 07 00 C7 02 00 00 00 02 07 00 C3 02 00 00 00 02 ................
008640: 07 00 C8 02 00 00 00 02 07 00 C4 02 00 00 00 02 ................
008650: 07 00 C9 02 00 00 00 02 07 00 C5 02 00 00 00 02 ................
008660: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
008670: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
008680: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
008690: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0086A0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0086B0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0086C0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0086D0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0086E0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0086F0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
008700: 2D 2D 3E 0D 0A 20 7C 09 09 09 09 09 09 09 09 20 -->.. |........
008710: 20 7C 0D 0A 20 7C 2D 2D 3E 20 28 20 2D 2D 2D 2D |.. |--> ( ----
008720: 2D 3E 20 69 64 65 6E 74 69 66 69 65 72 20 2D 2D -> identifier --
008730: 2D 2D 2D 3E 20 3A 20 2D 2D 3E 20 74 79 70 65 20 ---> : --> type
008740: 69 64 65 6E 74 69 66 69 65 72 20 2D 2D 2D 2D 2D identifier -----
008750: 3E 20 29 20 2D 2D 7C 0D 0A 09 20 5E 20 5E 09 09 > ) --|... ^ ^..
008760: 20 20 20 20 7C 09 09 09 09 20 7C 0D 0A 09 20 7C |.... |... |
008770: 20 7C 2D 2D 2D 2D 2D 20 20 2C 20 20 3C 2D 2D 2D |----- , <---
008780: 2D 2D 7C 09 09 09 09 20 7C 0D 0A 09 20 7C 09 09 --|.... |... |..
008790: 09 09 09 09 20 7C 0D 0A 09 20 7C 2D 2D 2D 2D 2D .... |... |-----
0087A0: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
0087B0: 2D 2D 20 20 3B 20 20 3C 2D 2D 2D 2D 2D 2D 2D 2D -- ; <--------
0087C0: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 7C 0D 0A 0D 0A 0D ----------|.....
0087D0: 0A 0D 0A 73 74 61 74 65 6D 65 6E 74 0D 0A 2D 2D ...statement..--
0087E0: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
0087F0: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
008800: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
008810: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
008820: 2D 2D 2D 3E 0D 0A 20 7C 09 09 09 09 09 09 09 09 --->.. |........
008830: 20 20 5E 0D 0A 20 7C 2D 2D 2D 2D 2D 3E 20 76 61 ^.. |-----> va
008840: 72 69 61 62 6C 65 20 2D 2D 2D 2D 2D 2D 2D 2D 2D riable ---------
008850: 2D 2D 2D 2D 2D 2D 2D 3E 20 20 3A 3D 20 20 2D 2D -------> := --
008860: 3E 20 65 78 70 72 65 73 73 69 6F 6E 20 2D 2D 2D > expression ---
008870: 2D 2D 2D 2D 2D 2D 3E 7C 0D 0A 20 7C 20 20 7C 09 ------>|.. | |.
008880: 09 09 20 20 20 20 20 20 20 5E 09 09 09 09 20 20 .. ^....
008890: 7C 0D 0A 20 7C 20 20 7C 2D 2D 3E 20 66 75 6E 63 |.. | |--> func
0088A0: 74 69 6F 6E 20 69 64 65 6E 74 69 66 69 65 72 20 tion identifier
0088B0: 2D 2D 7C 09 09 09 09 20 20 7C 0D 0A 20 7C 09 09 --|.... |.. |..
0088C0: 09 09 09 09 09 09 20 20 7C 0D 0A 20 7C 2D 2D 3E ...... |.. |-->
0088D0: 20 70 72 6F 63 65 64 75 72 65 20 69 64 65 6E 74 procedure ident
0088E0: 69 66 69 65 72 20 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ifier ----------
0088F0: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
008900: 43 4F 4E 53 54 20 2D 2D 2D 2D 2D 3E 20 69 64 65 CONST -----> ide
008910: 6E 74 69 66 69 65 72 20 2D 2D 3E 20 20 3D 20 20 ntifier --> =
008920: 2D 2D 3E 20 63 6F 6E 73 74 61 6E 74 20 2D 2D 7C --> constant --|
008930: 0D 0A 09 7C 09 20 20 20 20 20 5E 09 09 09 09 09 ...|. ^.....
008940: 20 20 20 20 7C 0D 0A 09 7C 09 20 20 20 20 20 7C |...|. |
008950: 09 09 09 09 09 20 20 20 20 7C 0D 0A 09 7C 3C 2D ..... |...|<-
008960: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
008970: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
008980: 2D 2D 2D 2D 20 20 3B 20 20 3C 2D 2D 2D 2D 2D 2D ---- ; <------
008990: 2D 7C 0D 0A 09 7C 0D 0A 09 7C 2D 2D 3E 20 54 59 -|...|...|--> TY
0089A0: 50 45 20 2D 2D 2D 2D 2D 2D 3E 20 69 64 65 6E 74 PE ------> ident
0089B0: 69 66 69 65 72 20 2D 2D 3E 20 20 3D 20 20 2D 2D ifier --> = --
0089C0: 3E 20 74 79 70 65 20 2D 2D 2D 2D 2D 2D 7C 0D 0A > type ------|..
0089D0: 09 7C 09 20 20 20 20 20 5E 09 09 09 09 09 20 20 .|. ^.....
0089E0: 20 20 7C 0D 0A 09 7C 09 20 20 20 20 20 7C 09 09 |...|. |..
0089F0: 09 09 09 20 20 20 20 7C 0D 0A 09 7C 3C 2D 2D 2D ... |...|<---
008A00: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
008A10: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
008A20: 2D 2D 20 20 3B 20 20 3C 2D 2D 2D 2D 2D 2D 2D 7C -- ; <-------|
008A30: 0D 0A 09 7C 0D 0A 09 7C 2D 2D 3E 20 56 41 52 20 ...|...|--> VAR
008A40: 2D 2D 2D 2D 2D 2D 2D 3E 20 69 64 65 6E 74 69 66 -------> identif
008A50: 69 65 72 20 2D 2D 2D 2D 2D 3E 20 20 3A 20 20 2D ier -----> : -
008A60: 2D 3E 20 74 79 70 65 20 69 64 65 6E 74 69 66 69 -> type identifi
008A70: 65 72 20 2D 2D 2D 7C 0D 0A 09 7C 09 20 20 20 20 er ---|...|.
008A80: 20 5E 09 09 20 20 20 20 20 20 20 7C 09 09 20 20 ^.. |..
008A90: 20 20 20 20 20 20 20 20 20 20 20 20 20 7C 0D 0A |..
008AA0: 09 7C 09 20 20 20 20 20 7C 3C 2D 2D 2D 2D 2D 20 .|. |<-----
008AB0: 20 2C 20 20 2D 2D 2D 2D 2D 2D 7C 09 09 20 20 20 , ------|..
008AC0: 20 09 20 20 20 20 20 20 20 7C 0D 0A 09 7C 09 20 . |...|.
008AD0: 20 20 20 20 5E 09 09 09 09 09 20 20 20 20 09 20 ^..... .
008AE0: 20 20 20 20 20 20 7C 0D 0A 09 7C 3C 2D 2D 2D 2D |...|<----
008AF0: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
008B00: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 3E 7C 0D 0A ------------>|..
008B10: 20 7C 09 09 09 20 20 20 20 20 7C 09 09 09 09 09 |... |.....
008B20: 20 20 7C 0D 0A 20 7C 20 20 7C 3C 2D 2D 2D 2D 2D |.. | |<-----
008B30: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
008B40: 2D 2D 7C 09 09 09 09 09 20 20 7C 0D 0A 20 7C 20 --|..... |.. |
008B50: 20 7C 09 09 09 09 09 09 09 09 20 20 7C 0D 0A 20 |........ |..
008B60: 7C 20 20 7C 2D 2D 3E 20 20 28 20 20 2D 2D 2D 2D | |--> ( ----
008B70: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 3E 20 -------------->
008B80: 65 78 70 72 65 73 73 69 6F 6E 20 2D 2D 2D 2D 2D expression -----
008B90: 3E 20 20 29 20 20 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D > ) ----------
008BA0: 3E 7C 0D 0A 20 7C 09 20 20 20 20 20 20 20 7C 09 >|.. |. |.
008BB0: 20 20 5E 20 5E 09 09 20 20 20 20 20 20 7C 09 09 ^ ^.. |..
008BC0: 09 20 20 7C 0D 0A 20 7C 09 20 20 20 20 20 20 20 . |.. |.
008BD0: 7C 2D 2D 3E 20 56 41 52 20 2D 2D 7C 20 7C 2D 2D |--> VAR --| |--
008BE0: 2D 2D 2D 2D 20 20 2C 20 20 3C 2D 2D 2D 2D 2D 7C ---- , <-----|
008BF0: 09 09 09 20 20 7C 0D 0A 20 7C 09 09 09 09 09 09 ... |.. |......
008C00: 09 09 20 20 7C 0D 0A 20 7C 2D 2D 3E 20 42 45 47 .. |.. |--> BEG
008C10: 49 4E 20 2D 2D 2D 2D 2D 3E 20 73 74 61 74 65 6D IN -----> statem
008C20: 65 6E 74 20 2D 2D 2D 2D 2D 3E 20 45 4E 44 20 2D ent -----> END -
008C30: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
008C40: 2D 2D 2D 2D 2D 2D 2D 2D 3E 7C 0D 0A 20 7C 09 20 -------->|.. |.
008C50: 20 20 20 20 20 5E 09 09 20 20 20 20 20 20 20 7C ^.. |
008C60: 09 09 09 09 20 20 7C 0D 0A 20 7C 09 20 20 20 20 .... |.. |.
008C70: 20 20 7C 2D 2D 2D 2D 2D 20 20 3B 20 20 3C 2D 2D |----- ; <--
008C80: 2D 2D 2D 7C 09 09 09 09 20 20 7C 0D 0A 20 7C 09 ---|.... |.. |.
008C90: 09 09 09 09 09 09 09 20 20 7C 0D 0A 20 7C 2D 2D ....... |.. |--
008CA0: 3E 20 49 46 20 2D 2D 3E 20 65 78 70 72 65 73 73 > IF --> express
008CB0: 69 6F 6E 20 2D 2D 3E 20 54 48 45 4E 20 2D 2D 3E ion --> THEN -->
008CC0: 20 73 74 61 74 65 6D 65 6E 74 20 2D 2D 2D 2D 2D statement -----
008CD0: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 3E 7C 0D ------------->|.
008CE0: 0A 20 7C 09 09 09 09 09 20 20 20 20 20 20 20 20 . |.....
008CF0: 20 7C 09 09 20 20 7C 0D 0A 20 7C 09 09 09 09 20 |.. |.. |....
008D00: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
008D10: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
008D20: 2D 2D 2D 2D 2D 2D 2D 2D 2D 7C 0D 0A 09 7C 0D 0A ---------|...|..
008D30: 09 7C 3C 2D 2D 2D 2D 2D 20 20 3B 20 20 3C 2D 2D .|<----- ; <--
008D40: 2D 2D 2D 20 62 6C 6F 63 6B 20 3C 2D 2D 2D 2D 2D --- block <-----
008D50: 20 20 3B 20 20 3C 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ; <----------
008D60: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 7C 0D 0A 09 7C 09 ----------|...|.
008D70: 09 09 09 09 09 09 20 7C 0D 0A 09 7C 2D 2D 2D 2D ...... |...|----
008D80: 2D 3E 20 70 72 6F 63 65 64 75 72 65 20 2D 2D 2D -> procedure ---
008D90: 2D 2D 3E 20 69 64 65 6E 74 69 66 69 65 72 20 2D --> identifier -
008DA0: 2D 3E 20 70 61 72 61 6D 65 74 65 72 20 6C 69 73 -> parameter lis
008DB0: 74 20 2D 2D 7C 0D 0A 09 7C 20 20 7C 09 09 20 20 t --|...| |..
008DC0: 20 20 5E 0D 0A 09 7C 20 20 7C 2D 2D 3E 20 66 75 ^...| |--> fu
008DD0: 6E 63 74 69 6F 6E 20 2D 2D 2D 7C 0D 0A 09 7C 0D nction ---|...|.
008DE0: 0A 09 7C 2D 2D 3E 20 62 65 67 69 6E 20 2D 2D 2D ..|--> begin ---
008DF0: 2D 2D 3E 20 73 74 61 74 65 6D 65 6E 74 20 2D 2D --> statement --
008E00: 2D 2D 2D 3E 20 65 6E 64 20 2D 2D 2D 2D 2D 2D 2D ---> end -------
008E10: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 3E 0D 0A ------------->..
008E20: 09 09 20 20 20 20 20 5E 09 09 20 20 20 20 20 20 .. ^..
008E30: 7C 0D 0A 09 09 20 20 20 20 20 7C 2D 2D 2D 2D 2D |.... |-----
008E40: 20 20 3B 20 20 3C 2D 2D 2D 2D 2D 7C 0D 0A 0D 0A ; <-----|....
008E50: 0D 0A 70 72 6F 67 72 61 6D 0D 0A 2D 2D 2D 2D 2D ..program..-----
008E60: 2D 2D 2D 2D 2D 2D 2D 3E 20 62 6C 6F 63 6B 20 2D -------> block -
008E70: 2D 3E 20 20 2E 20 20 2D 2D 2D 2D 2D 2D 2D 2D 2D -> . ---------
008E80: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
008E90: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 3E --------------->
008EA0: 0D 0A 0D 0A 0D 0A 2A 2A 20 45 4E 44 20 4F 46 20 ......** END OF
008EB0: 46 49 4C 45 20 2A 2A 0D 0A 1A 69 74 65 72 61 6C FILE **...iteral
008EC0: 79 2E 0D 0A 0D 0A 0D 0A 0D 0A 69 64 65 6E 74 69 y.........identi
008ED0: 66 69 65 72 0D 0A 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D fier..----------
008EE0: 2D 2D 3E 20 6C 65 74 74 65 72 20 2D 2D 2D 2D 2D --> letter -----
008EF0: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
008F00: 20 20 20 20 20 20 7C 3C 2D 2D 2D 2D 2D 2D 2D 2D |<--------
008F10: 7C 09 09 20 20 7C 0D 0A 20 7C 09 09 09 09 20 20 |.. |.. |....
008F20: 20 20 20 20 20 7C 09 09 09 20 20 7C 0D 0A 20 7C |... |.. |
008F30: 09 09 09 09 20 20 20 20 20 20 20 7C 2D 2D 3E 20 .... |-->
008F40: 45 4C 53 45 20 2D 2D 3E 20 73 74 61 74 65 6D 65 ELSE --> stateme
008F50: 6E 74 20 2D 2D 3E 7C 0D 0A 20 7C 09 09 09 09 09 nt -->|.. |.....
008F60: 09 09 09 20 20 7C 0D 0A 20 7C 2D 2D 3E 20 43 41 ... |.. |--> CA
008F70: 53 45 20 2D 2D 3E 20 65 78 70 72 65 73 73 69 6F SE --> expressio
008F80: 6E 20 2D 2D 3E 20 4F 46 20 2D 2D 2D 2D 2D 2D 2D n --> OF -------
008F90: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
008FA0: 2D 3E 20 45 4E 44 20 2D 2D 3E 7C 0D 0A 20 7C 09 -> END -->|.. |.
008FB0: 09 09 09 20 20 20 7C 09 09 20 20 20 20 20 20 5E ... |.. ^
008FC0: 09 09 20 20 7C 0D 0A 20 7C 20 20 7C 3C 2D 2D 2D .. |.. | |<---
008FD0: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
008FE0: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 7C 09 09 20 20 20 ----------|..
008FF0: 20 20 20 7C 09 09 20 20 7C 0D 0A 20 7C 20 20 7C |.. |.. | |
009000: 09 09 09 09 09 20 20 09 20 20 20 20 20 20 7C 09 ..... . |.
009010: 09 20 20 7C 0D 0A 20 7C 20 20 7C 2D 2D 2D 2D 2D . |.. | |-----
009020: 3E 20 63 6F 6E 73 74 61 6E 74 20 2D 2D 3E 20 3A > constant --> :
009030: 20 2D 2D 3E 20 73 74 61 74 65 6D 65 6E 74 20 2D --> statement -
009040: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 3E 7C 09 09 20 ----------->|..
009050: 20 7C 0D 0A 20 7C 20 20 20 20 20 5E 09 09 09 09 |.. | ^....
009060: 20 20 20 7C 20 7C 09 20 20 20 20 20 20 7C 09 09 | |. |..
009070: 20 20 7C 0D 0A 20 7C 20 20 20 20 20 7C 2D 2D 2D |.. | |---
009080: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 20 20 3B 20 ------------ ;
009090: 20 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ---------------
0090A0: 7C 20 7C 20 20 20 20 20 20 20 20 7C 09 09 20 20 | | |..
0090B0: 7C 0D 0A 20 7C 09 09 09 09 09 20 20 20 20 20 7C |.. |..... |
0090C0: 20 20 20 20 20 20 20 20 7C 09 09 20 20 7C 0D 0A |.. |..
0090D0: 20 7C 09 09 7C 3C 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D |..|<----------
0090E0: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
0090F0: 2D 7C 20 20 20 20 20 20 20 20 7C 09 09 20 20 7C -| |.. |
009100: 70 70 63 20 20 24 31 2E 70 61 73 20 74 65 6D 70 ppc $1.pas temp
009110: 66 69 6C 65 2E 70 63 6F 0D 0A 70 66 65 74 20 74 file.pco..pfet t
009120: 65 6D 70 66 69 6C 65 2E 70 63 6F 20 74 65 6D 70 empfile.pco temp
009130: 66 69 6C 65 2E 6F 62 6A 0D 0A 70 69 70 20 20 24 file.obj..pip $
009140: 31 2E 63 6F 6D 3D 72 74 70 2E 63 6F 6D 2C 74 65 1.com=rtp.com,te
009150: 6D 70 66 69 6C 65 2E 6F 62 6A 5B 6F 76 5D 0D 0A mpfile.obj[ov]..
009160: 65 72 61 20 20 74 65 6D 70 66 69 6C 65 2E 70 63 era tempfile.pc
009170: 6F 0D 0A 65 72 61 20 20 74 65 6D 70 66 69 6C 65 o..era tempfile
009180: 2E 6F 62 6A 0D 0A 1A 20 20 20 24 24 24 FF 00 FF .obj... $$$...
009190: 66 69 6C 65 2E 70 63 6F 0D 0A 70 66 65 74 20 74 file.pco..pfet t
0091A0: 65 6D 70 66 69 6C 65 2E 70 63 6F 20 74 65 6D 70 empfile.pco temp
0091B0: 66 69 6C 65 2E 6F 62 6A 0D 0A 70 69 70 20 20 24 file.obj..pip $
0091C0: 31 2E 63 6F 6D 3D 72 74 70 2E 63 6F 6D 2C 74 65 1.com=rtp.com,te
0091D0: 6D 70 66 69 6C 65 2E 6F 62 6A 5B 6F 76 5D 0D 0A mpfile.obj[ov]..
0091E0: 65 72 61 20 20 74 65 6D 70 66 69 6C 65 2E 70 63 era tempfile.pc
0091F0: 6F 0D 0A 65 72 61 20 20 74 65 6D 70 66 69 6C 65 o..era tempfile
009200: 2D 2D 2D 3E 20 65 6E 64 20 2D 2D 2D 2D 2D 2D 2D ---> end -------
009210: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 3E 0D 0A ------------->..
009220: 09 09 20 20 20 20 20 5E 09 09 20 20 20 20 20 20 .. ^..
009230: 7C 0D 0A 09 09 20 20 20 20 20 7C 2D 2D 2D 2D 2D |.... |-----
009240: 20 20 3B 20 20 3C 2D 2D 2D 2D 2D 7C 0D 0A 0D 0A ; <-----|....
009250: 0D 0A 70 72 6F 67 72 61 6D 0D 0A 2D 2D 2D 2D 2D ..program..-----
009260: 2D 2D 2D 2D 2D 2D 2D 3E 20 62 6C 6F 63 6B 20 2D -------> block -
009270: 2D 3E 20 20 2E 20 20 2D 2D 2D 2D 2D 2D 2D 2D 2D -> . ---------
009280: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
009290: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 3E --------------->
0092A0: 0D 0A 0D 0A 0D 0A 2A 2A 20 45 4E 44 20 4F 46 20 ......** END OF
0092B0: 46 49 4C 45 20 2A 2A 0D 0A 1A 69 74 65 72 61 6C FILE **...iteral
0092C0: 79 2E 0D 0A 0D 0A 0D 0A 0D 0A 69 64 65 6E 74 69 y.........identi
0092D0: 66 69 65 72 0D 0A 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D fier..----------
0092E0: 2D 2D 3E 20 6C 65 74 74 65 72 20 2D 2D 2D 2D 2D --> letter -----
0092F0: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
009300: 0D 0A 20 7C 09 09 7C 09 09 09 09 20 20 20 20 20 .. |..|....
009310: 20 7C 09 09 20 20 7C 0D 0A 20 7C 09 09 7C 2D 2D |.. |.. |..|--
009320: 3E 20 45 4C 53 45 20 2D 2D 3E 20 73 74 61 74 65 > ELSE --> state
009330: 6D 65 6E 74 20 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ment -----------
009340: 2D 2D 3E 7C 09 09 20 20 7C 0D 0A 20 7C 09 09 09 -->|.. |.. |...
009350: 09 09 09 09 09 20 20 7C 0D 0A 20 7C 2D 2D 3E 20 ..... |.. |-->
009360: 57 48 49 4C 45 20 2D 2D 3E 20 65 78 70 72 65 73 WHILE --> expres
009370: 73 69 6F 6E 20 2D 2D 3E 20 44 4F 20 2D 2D 3E 20 sion --> DO -->
009380: 73 74 61 74 65 6D 65 6E 74 20 2D 2D 2D 2D 2D 2D statement ------
009390: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 3E 7C 0D 0A 20 ----------->|..
0093A0: 7C 09 09 09 09 09 09 09 09 20 20 7C 0D 0A 20 7C |........ |.. |
0093B0: 2D 2D 3E 20 52 45 50 45 41 54 20 2D 2D 2D 2D 2D --> REPEAT -----
0093C0: 3E 20 73 74 61 74 65 6D 65 6E 74 20 2D 2D 2D 2D > statement ----
0093D0: 2D 3E 20 55 4E 54 49 4C 20 2D 2D 3E 20 65 78 70 -> UNTIL --> exp
0093E0: 72 65 73 73 69 6F 6E 20 2D 2D 2D 2D 2D 2D 2D 3E ression ------->
0093F0: 7C 0D 0A 20 7C 09 20 20 20 20 20 20 20 5E 09 09 |.. |. ^..
009400: 7C 09 09 09 09 20 20 7C 0D 0A 20 7C 09 20 20 20 |.... |.. |.
009410: 20 20 20 20 7C 2D 2D 2D 2D 2D 20 20 3B 20 20 3C |----- ; <
009420: 2D 2D 2D 2D 2D 7C 09 09 09 09 20 20 7C 0D 0A 20 -----|.... |..
009430: 7C 09 09 09 09 09 09 09 09 20 20 7C 0D 0A 20 7C |........ |.. |
009440: 2D 2D 3E 20 47 45 54 20 2D 2D 3E 20 20 23 20 20 --> GET --> #
009450: 2D 2D 3E 20 63 6F 6E 73 74 61 6E 74 20 2D 2D 3E --> constant -->
009460: 20 20 28 20 20 2D 2D 3E 20 76 61 72 69 61 62 6C ( --> variabl
009470: 65 20 2D 2D 3E 20 20 29 20 20 2D 2D 2D 2D 2D 3E e --> ) ----->
009480: 7C 0D 0A 20 7C 09 09 09 09 09 09 09 09 20 20 7C |.. |........ |
009490: 0D 0A 20 7C 2D 2D 3E 20 50 55 54 20 2D 2D 3E 20 .. |--> PUT -->
0094A0: 20 23 20 20 2D 2D 3E 20 63 6F 6E 73 74 61 6E 74 # --> constant
0094B0: 20 2D 2D 3E 20 20 28 20 20 2D 2D 7C 09 09 09 20 --> ( --|...
0094C0: 20 7C 0D 0A 20 7C 09 09 09 09 09 20 7C 09 09 09 |.. |..... |...
0094D0: 20 20 7C 0D 0A 20 7C 09 09 20 20 20 7C 3C 2D 2D |.. |.. |<--
0094E0: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
0094F0: 2D 2D 7C 09 09 09 20 20 7C 0D 0A 20 7C 09 09 20 --|... |.. |..
009500: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
009510: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
009520: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
009530: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
009540: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
009550: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
009560: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
009570: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
009580: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
009590: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0095A0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0095B0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0095C0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0095D0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0095E0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0095F0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
009600: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
009610: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
009620: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
009630: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
009640: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
009650: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
009660: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
009670: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
009680: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
009690: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0096A0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0096B0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0096C0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0096D0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0096E0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0096F0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
009700: 20 20 7C 09 09 09 09 09 09 20 20 7C 0D 0A 20 7C |...... |.. |
009710: 09 09 20 20 20 7C 2D 2D 2D 2D 2D 3E 20 65 78 70 .. |-----> exp
009720: 72 65 73 73 69 6F 6E 20 2D 2D 2D 2D 2D 2D 2D 2D ression --------
009730: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 3E 20 20 29 20 -----------> )
009740: 20 2D 2D 3E 7C 0D 0A 20 7C 09 09 20 20 20 20 20 -->|.. |..
009750: 20 5E 09 09 09 7C 09 20 20 20 5E 20 20 7C 09 09 ^...|. ^ |..
009760: 20 20 7C 0D 0A 20 7C 09 09 20 20 20 20 20 20 7C |.. |.. |
009770: 09 09 09 7C 2D 2D 3E 20 20 23 20 20 2D 2D 7C 20 ...|--> # --|
009780: 20 7C 09 09 20 20 7C 0D 0A 20 7C 09 09 20 20 20 |.. |.. |..
009790: 20 20 20 7C 09 09 09 09 20 20 20 20 20 20 7C 09 |.... |.
0097A0: 09 20 20 7C 0D 0A 20 7C 09 09 20 20 20 20 20 20 . |.. |..
0097B0: 7C 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 20 20 2C 20 20 |---------- ,
0097C0: 3C 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D <---------------
0097D0: 7C 09 09 20 20 7C 0D 0A 20 7C 09 09 09 09 09 09 |.. |.. |......
0097E0: 09 09 20 20 7C 0D 0A 20 7C 2D 2D 3E 20 46 4F 52 .. |.. |--> FOR
0097F0: 20 2D 2D 3E 20 76 61 72 69 61 62 6C 65 20 69 64 --> variable id
009800: 65 6E 74 69 66 69 65 72 20 2D 2D 3E 20 20 3A 3D entifier --> :=
009810: 20 20 2D 2D 3E 20 65 78 70 72 65 73 73 69 6F 6E --> expression
009820: 20 2D 2D 7C 09 20 20 7C 0D 0A 09 09 09 09 09 09 --|. |........
009830: 09 20 20 20 20 7C 09 20 20 7C 0D 0A 09 20 7C 3C . |. |... |<
009840: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
009850: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
009860: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
009870: 2D 7C 09 20 20 7C 0D 0A 09 20 7C 09 09 09 09 09 -|. |... |.....
009880: 09 09 20 20 7C 0D 0A 09 20 7C 2D 2D 2D 2D 2D 3E .. |... |----->
009890: 20 44 4F 57 4E 54 4F 20 2D 2D 2D 2D 2D 3E 20 65 DOWNTO -----> e
0098A0: 78 70 72 65 73 73 69 6F 6E 20 2D 2D 3E 20 44 4F xpression --> DO
0098B0: 20 2D 2D 3E 20 73 74 61 74 65 6D 65 6E 74 20 2D --> statement -
0098C0: 2D 3E 7C 0D 0A 09 20 20 20 20 7C 09 09 20 20 5E ->|... |.. ^
0098D0: 0D 0A 09 20 20 20 20 7C 2D 2D 2D 2D 3E 20 54 4F ... |----> TO
0098E0: 20 2D 2D 2D 2D 7C 0D 0A 0D 0A 0D 0A 62 6C 6F 63 ----|......bloc
0098F0: 6B 0D 0A 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 3E 20 k..----------->
009900: 54 72 61 63 6B 2D 49 6E 66 6F 0D 0A 00 01 00 00 Track-Info......
009910: 08 00 00 00 02 09 49 E5 08 00 C1 02 00 00 00 02 ......I.........
009920: 08 00 C6 02 00 00 00 02 08 00 C2 02 00 00 00 02 ................
009930: 08 00 C7 02 00 00 00 02 08 00 C3 02 00 00 00 02 ................
009940: 08 00 C8 02 00 00 00 02 08 00 C4 02 00 00 00 02 ................
009950: 08 00 C9 02 00 00 00 02 08 00 C5 02 00 00 00 02 ................
009960: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
009970: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
009980: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
009990: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0099A0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0099B0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0099C0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0099D0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0099E0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0099F0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
009A00: C3 5A 01 C3 F3 01 C3 FF 01 C3 A3 02 C3 AE 02 C3 .Z........£.....
009A10: 0F 01 C3 D3 02 C3 15 01 C3 18 01 C3 1B 01 C3 1E ................
009A20: 01 C3 DC 02 C3 F4 02 C3 2D 03 C3 3A 03 C3 4D 03 ........-..:..M.
009A30: C3 5C 03 C3 7A 03 C3 86 03 C3 9C 03 C3 3C 01 C3 .\..z........<..
009A40: 3F 01 C3 B3 03 C3 C1 03 C3 D4 03 00 00 52 54 50 ?............RTP
009A50: 20 52 45 56 20 30 30 2E 38 52 2A 06 00 2E 00 F9 REV 00.8R*.....
009A60: 22 4B 01 CD 6C 01 CD B2 01 C3 00 06 3A 5D 00 06 "K..l.......:]..
009A70: FF FE 20 CA 7C 01 FE 3F CA 7C 01 04 78 32 27 04 .. .|..?.|..x2'.
009A80: 21 DE 03 11 5C 00 CD A7 01 3A 6D 00 06 FF FE 20 !...\....:m....
009A90: CA 99 01 FE 3F CA 99 01 04 78 32 28 04 21 01 04 ....?....x2(.!..
009AA0: 11 6C 00 CD A7 01 C9 06 0C 1A 77 13 23 05 C2 A9 .l........w.#...
009AB0: 01 C9 3A 27 04 B7 C2 CF 01 AF 32 FE 03 11 DE 03 ..:'......2.....
009AC0: 0E 0F CD 05 00 3C CA 17 03 21 AF 04 22 2B 04 3A .....<...!.."+.:
009AD0: 28 04 B7 C0 11 01 04 0E 13 CD 05 00 11 01 04 0E (...............
009AE0: 16 CD 05 00 3C CA 17 03 AF 32 21 04 21 AF 04 22 ....<....2!.!.."
009AF0: 2D 04 C9 2A 4B 01 5E 23 56 EB 3D C2 F6 01 C9 E1 -..*K.^#V.=.....
009B00: D1 E3 7A AC F2 0C 02 7A 17 3E FF C9 7A 94 C0 7B ..z....z.>..z..{
009B10: 95 C9 3A 27 04 B7 C2 24 02 3A 2A 04 B7 C2 24 02 ..:'...$.:*...$.
009B20: CD 2A 02 C9 0E 01 CD 05 00 C9 2A 2B 04 7D FE AF .*........*+.}..
009B30: C2 52 02 11 2F 04 0E 1A CD 05 00 0E 14 11 DE 03 .R../...........
009B40: CD 05 00 B7 C2 17 03 11 80 00 0E 1A CD 05 00 21 ...............!
009B50: 2F 04 7E 23 22 2B 04 C9 4F 3A 28 04 B7 C2 6C 02 /.~#"+..O:(...l.
009B60: 3A 29 04 B7 C2 6C 02 79 CD 73 02 C9 59 0E 02 CD :)...l.y.s..Y...
009B70: 05 00 C9 F5 2A 2D 04 7D FE 2F C2 9C 02 11 AF 04 ....*-.}./......
009B80: 0E 1A CD 05 00 11 01 04 0E 15 CD 05 00 B7 C2 17 ................
009B90: 03 11 80 00 0E 1A CD 05 00 21 AF 04 F1 77 23 22 .........!...w#"
009BA0: 2D 04 C9 32 2A 04 CD 12 02 6F 26 00 E3 E9 32 29 -..2*....o&...2)
009BB0: 04 E1 E3 7D CD 58 02 C9 01 F6 FF 11 FF FF 09 13 ...}.X..........
009BC0: DA BE 02 3E 0A 85 F5 EB 7C B5 C4 BB 02 F1 C6 30 ...>....|......0
009BD0: C3 58 02 32 29 04 E1 E3 CD B8 02 C9 32 29 04 16 .X.2).......2)..
009BE0: 04 E1 E3 D5 E5 7D CD 58 02 E1 7C CD 58 02 D1 15 .....}.X..|.X...
009BF0: C2 E1 02 C9 3A 28 04 B7 C2 00 00 3E 1A CD 73 02 ....:(.....>..s.
009C00: E5 2A AC 71 E5 21 00 01 E5 CD 39 01 11 C6 06 3E .*.q.!....9....>
009C10: 01 CD 45 01 21 08 00 39 F9 C3 48 01 2A B8 71 E5 ..E.!..9..H.*.q.
009C20: E1 E5 E5 21 00 00 E5 CD 06 01 C2 4D 0B 21 C6 00 ...!.......M.!..
009C30: E5 21 FF 00 E5 21 3F 00 E5 21 9F 00 E5 11 C6 06 .!...!?..!......
009C40: 3E 01 CD 45 01 21 08 00 39 F9 C3 8C 0C E1 E5 E5 >..E.!..9.......
009C50: 21 01 00 E5 CD 06 01 C2 76 0B 21 C6 00 E5 21 FF !.......v.!...!.
009C60: 00 E5 21 9F 00 E5 11 75 06 3E 01 CD 45 01 21 06 ..!....u.>..E.!.
009C70: 00 39 F9 C3 8C 0C E1 E5 E5 21 02 00 E5 CD 06 01 .9.......!......
009C80: C2 E0 0B 21 3E 00 E5 21 00 00 E5 11 34 06 3E 01 ...!>..!....4.>.
009C90: CD 45 01 33 33 33 33 21 DA 00 E5 2A AE 71 E5 21 .E.3333!...*.q.!
009CA0: 07 00 E5 D1 E1 19 E5 11 5B 07 3E 01 CD 45 01 33 ........[.>..E.3
009CB0: 33 33 33 21 CA 00 E5 2A AE 71 E5 21 04 00 E5 D1 333!...*.q.!....
009CC0: E1 19 E5 11 5B 07 3E 01 CD 45 01 33 33 33 33 21 ....[.>..E.3333!
009CD0: 3D 00 E5 11 03 06 3E 01 CD 45 01 33 33 C3 8C 0C =.....>..E.33...
009CE0: E1 E5 E5 21 03 00 E5 CD 06 01 C2 4A 0C 21 3E 00 ...!.......J.!>.
009CF0: E5 21 00 00 E5 11 34 06 3E 01 CD 45 01 33 33 33 .!....4.>..E.333
009D00: 33 21 CA 00 E5 2A AE 71 E5 21 06 00 E5 D1 E1 19 3!...*.q.!......
009D10: E5 11 5B 07 3E 01 CD 45 01 33 33 33 33 21 D2 00 ..[.>..E.3333!..
009D20: E5 2A AE 71 E5 21 04 00 E5 D1 E1 19 E5 11 5B 07 .*.q.!........[.
009D30: 3E 01 CD 45 01 33 33 33 33 21 3D 00 E5 11 03 06 >..E.3333!=.....
009D40: 3E 01 CD 45 01 33 33 C3 8C 0C E1 E5 E5 21 04 00 >..E.33......!..
009D50: E5 CD 06 01 C2 68 0C 21 9F 00 E5 11 03 06 3E 01 .....h.!......>.
009D60: CD 45 01 33 33 C3 8C 0C E1 E5 E5 21 05 00 E5 CD .E.33......!....
009D70: 06 01 C2 8C 0C 21 3F 00 E5 21 9F 00 E5 11 34 06 .....!?..!....4.
009D80: 3E 01 CD 45 01 33 33 33 33 C3 8C 0C 33 33 C3 48 >..E.3333...33.H
009D90: 01 2A A8 71 E5 E1 E5 E5 21 03 00 E5 CD 06 01 C2 .*.q....!.......
009DA0: C7 0C 21 21 00 E5 2A AC 71 E5 11 5B 07 3E 01 CD ..!!..*.q..[.>..
009DB0: 45 01 33 33 33 33 21 E5 00 E5 11 03 06 3E 01 CD E.3333!......>..
009DC0: 45 01 33 33 C3 63 19 E1 E5 E5 21 04 00 E5 CD 06 E.33.c....!.....
009DD0: 01 C2 70 0F 2A AC 71 E5 E1 E5 E5 21 00 00 E5 CD ..p.*.q....!....
009DE0: 06 01 C2 FC 0C 21 C3 00 E5 21 48 01 E5 11 5B 07 .....!...!H...[.
009DF0: 3E 01 CD 45 01 33 33 33 33 C3 6B 0F E1 E5 E5 21 >..E.3333.k....!
009E00: 3A 2D 04 FE B0 C2 FB 02 11 01 04 0E 10 CD 05 00 :-..............
009E10: 3C CA 17 03 C3 00 00 11 22 03 0E 09 CD 05 00 C3 <.......".......
009E20: 00 00 64 69 73 6B 20 65 72 72 6F 72 24 E1 3E 04 ..disk error$.>.
009E30: 56 23 5E 23 D5 3D C2 30 03 E9 01 07 00 09 C1 3E V#^#.=.0.......>
009E40: 04 56 2B 5E 2B D5 3D C2 41 03 60 69 E9 C1 3E 04 .V+^+.=.A.`i..>.
009E50: D1 73 23 72 23 3D C2 50 03 60 69 E9 21 12 00 39 .s#r#=.P.`i.!..9
009E60: E5 11 F8 FF 19 EB 19 EB 0E 08 1A BE C2 75 03 23 .............u.#
009E70: 13 0D C2 6A 03 E1 D1 F9 EB E9 E1 D1 E3 AF 93 5F ...j..........._
009E80: 9A 93 57 19 E3 E9 E1 D1 E3 C5 44 4D 21 00 00 79 ..W.......DM!..y
009E90: B0 CA 99 03 0B 19 C3 8F 03 C1 E3 E9 E1 D1 E3 C5 ................
009EA0: AF 93 5F 9A 93 57 01 FF FF 03 19 DA A9 03 60 69 .._..W........`i
009EB0: C1 E3 E9 2A 4B 01 E5 E5 21 00 00 39 22 4B 01 EB ...*K...!..9"K..
009EC0: E9 2A 4B 01 E5 D5 CD F6 01 E3 EB 21 00 00 39 22 .*K........!..9"
009ED0: 4B 01 EB E9 2A 4B 01 F9 F1 E1 22 4B 01 C9 00 00 K...*K...."K....
009EE0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
009EF0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
009F00: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
009F10: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
009F20: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
009F30: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
009F40: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
009F50: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
009F60: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
009F70: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
009F80: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
009F90: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
009FA0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
009FB0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
009FC0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
009FD0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
009FE0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
009FF0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
00A000: 02 00 E5 CD 06 01 C2 29 0D 21 D1 00 E5 21 E1 00 .......).!...!..
00A010: E5 21 19 00 E5 21 E5 00 E5 11 C6 06 3E 01 CD 45 .!...!......>..E
00A020: 01 21 08 00 39 F9 C3 6B 0F E1 E5 E5 21 03 00 E5 .!..9..k....!...
00A030: CD 06 01 C2 4D 0D 21 CD 00 E5 21 33 01 E5 11 5B ....M.!...!3...[
00A040: 07 3E 01 CD 45 01 33 33 33 33 C3 6B 0F E1 E5 E5 .>..E.3333.k....
00A050: 21 04 00 E5 CD 06 01 C2 71 0D 21 CD 00 E5 21 36 !.......q.!...!6
00A060: 01 E5 11 5B 07 3E 01 CD 45 01 33 33 33 33 C3 6B ...[.>..E.3333.k
00A070: 0F E1 E5 E5 21 05 00 E5 CD 06 01 C2 95 0D 21 CD ....!.........!.
00A080: 00 E5 21 39 01 E5 11 5B 07 3E 01 CD 45 01 33 33 ..!9...[.>..E.33
00A090: 33 33 C3 6B 0F E1 E5 E5 21 08 00 E5 CD 06 01 C2 33.k....!.......
00A0A0: B5 0D 11 36 09 3E 01 CD 45 01 21 00 00 E5 E1 22 ...6.>..E.!...."
00A0B0: B8 71 C3 6B 0F E1 E5 E5 21 09 00 E5 CD 06 01 C2 .q.k....!.......
00A0C0: D5 0D 11 36 09 3E 01 CD 45 01 21 01 00 E5 E1 22 ...6.>..E.!...."
00A0D0: B8 71 C3 6B 0F E1 E5 E5 21 0A 00 E5 CD 06 01 C2 .q.k....!.......
00A0E0: F5 0D 11 36 09 3E 01 CD 45 01 21 02 00 E5 E1 22 ...6.>..E.!...."
00A0F0: B8 71 C3 6B 0F E1 E5 E5 21 0B 00 E5 CD 06 01 C2 .q.k....!.......
00A100: 15 0E 11 36 09 3E 01 CD 45 01 21 03 00 E5 E1 22 ...6.>..E.!...."
00A110: B8 71 C3 6B 0F E1 E5 E5 21 0C 00 E5 CD 06 01 C2 .q.k....!.......
00A120: 35 0E 11 36 09 3E 01 CD 45 01 21 04 00 E5 E1 22 5..6.>..E.!...."
00A130: B8 71 C3 6B 0F E1 E5 E5 21 0D 00 E5 CD 06 01 C2 .q.k....!.......
00A140: 55 0E 11 36 09 3E 01 CD 45 01 21 05 00 E5 E1 22 U..6.>..E.!...."
00A150: B8 71 C3 6B 0F E1 E5 E5 21 0E 00 E5 CD 06 01 C2 .q.k....!.......
00A160: 89 0E 11 1C 0B 3E 01 CD 45 01 21 D1 00 E5 21 B2 .....>..E.!...!.
00A170: 00 E5 11 34 06 3E 01 CD 45 01 33 33 33 33 21 01 ...4.>..E.3333!.
00A180: 00 E5 E1 22 B8 71 C3 6B 0F E1 E5 E5 21 0F 00 E5 ...".q.k....!...
00A190: CD 06 01 C2 BD 0E 11 1C 0B 3E 01 CD 45 01 21 D1 .........>..E.!.
00A1A0: 00 E5 21 A2 00 E5 11 34 06 3E 01 CD 45 01 33 33 ..!....4.>..E.33
00A1B0: 33 33 21 01 00 E5 E1 22 B8 71 C3 6B 0F E1 E5 E5 33!....".q.k....
00A1C0: 21 13 00 E5 CD 06 01 C2 EE 0E 21 E1 00 E5 21 23 !.........!...!#
00A1D0: 00 E5 21 E5 00 E5 11 75 06 3E 01 CD 45 01 21 06 ..!....u.>..E.!.
00A1E0: 00 39 F9 21 01 00 E5 E1 22 B8 71 C3 6B 0F E1 E5 .9.!....".q.k...
00A1F0: E5 21 14 00 E5 CD 06 01 C2 17 0F 21 E1 00 E5 21 .!.........!...!
00A200: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
00A210: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
00A220: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
00A230: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
00A240: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
00A250: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
00A260: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
00A270: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
00A280: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
00A290: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
00A2A0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
00A2B0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
00A2C0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
00A2D0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
00A2E0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
00A2F0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
00A300: C3 4C 1A 2A AE 71 E5 21 01 00 E5 D1 E1 19 E5 E1 .L.*.q.!........
00A310: 22 AE 71 2A B6 71 E5 21 02 00 E5 CD 06 01 C2 31 ".q*.q.!.......1
00A320: 06 01 06 00 2A 4B 01 09 5E 23 56 D5 3E 00 CD 0C ....*K..^#V.>...
00A330: 01 C3 48 01 2A AE 71 E5 21 02 00 E5 D1 E1 19 E5 ..H.*.q.!.......
00A340: E1 22 AE 71 2A B6 71 E5 21 02 00 E5 CD 06 01 C2 .".q*.q.!.......
00A350: 72 06 01 08 00 2A 4B 01 09 5E 23 56 D5 3E 00 CD r....*K..^#V.>..
00A360: 0C 01 01 06 00 2A 4B 01 09 5E 23 56 D5 3E 00 CD .....*K..^#V.>..
00A370: 0C 01 C3 48 01 2A AE 71 E5 21 03 00 E5 D1 E1 19 ...H.*.q.!......
00A380: E5 E1 22 AE 71 2A B6 71 E5 21 02 00 E5 CD 06 01 ..".q*.q.!......
00A390: C2 C3 06 01 0A 00 2A 4B 01 09 5E 23 56 D5 3E 00 ......*K..^#V.>.
00A3A0: CD 0C 01 01 08 00 2A 4B 01 09 5E 23 56 D5 3E 00 ......*K..^#V.>.
00A3B0: CD 0C 01 01 06 00 2A 4B 01 09 5E 23 56 D5 3E 00 ......*K..^#V.>.
00A3C0: CD 0C 01 C3 48 01 2A AE 71 E5 21 04 00 E5 D1 E1 ....H.*.q.!.....
00A3D0: 19 E5 E1 22 AE 71 2A B6 71 E5 21 02 00 E5 CD 06 ...".q*.q.!.....
00A3E0: 01 C2 24 07 01 0C 00 2A 4B 01 09 5E 23 56 D5 3E ..$....*K..^#V.>
00A3F0: 00 CD 0C 01 01 0A 00 2A 4B 01 09 5E 23 56 D5 3E .......*K..^#V.>
00A400: 2B 00 E5 21 E5 00 E5 11 75 06 3E 01 CD 45 01 21 +..!....u.>..E.!
00A410: 06 00 39 F9 C3 6B 0F E1 E5 E5 21 15 00 E5 CD 06 ..9..k....!.....
00A420: 01 C2 40 0F 21 E1 00 E5 21 E5 00 E5 21 E5 00 E5 ..@.!...!...!...
00A430: 11 75 06 3E 01 CD 45 01 21 06 00 39 F9 C3 6B 0F .u.>..E.!..9..k.
00A440: CD 27 01 20 52 50 4F 20 44 41 42 3E 01 CD 21 01 .'. RPO DAB>..!.
00A450: 2A AC 71 E5 3E 01 CD 12 01 21 0D 00 E5 3E 01 CD *.q.>....!...>..
00A460: 0C 01 21 0A 00 E5 3E 01 CD 0C 01 33 33 C3 63 19 ..!...>....33.c.
00A470: E1 E5 E5 21 05 00 E5 CD 06 01 C2 E0 0F 2A AA 71 ...!.........*.q
00A480: E5 21 FF 00 E5 CD 06 01 C2 B8 0F 21 2A 00 E5 2A .!.........!*..*
00A490: AC 71 E5 2A B4 71 E5 D1 E1 19 E5 11 5B 07 3E 01 .q.*.q......[.>.
00A4A0: CD 45 01 33 33 33 33 21 E5 00 E5 11 03 06 3E 01 .E.3333!......>.
00A4B0: CD 45 01 33 33 C3 DD 0F 11 72 09 3E 01 CD 45 01 .E.33....r.>..E.
00A4C0: 21 5E 00 E5 21 23 00 E5 21 56 00 E5 21 D5 00 E5 !^..!#..!V..!...
00A4D0: 11 C6 06 3E 01 CD 45 01 21 08 00 39 F9 C3 63 19 ...>..E.!..9..c.
00A4E0: E1 E5 E5 21 06 00 E5 CD 06 01 C2 50 10 2A AA 71 ...!.......P.*.q
00A4F0: E5 21 FF 00 E5 CD 06 01 C2 28 10 21 E1 00 E5 11 .!.......(.!....
00A500: 03 06 3E 01 CD 45 01 33 33 21 22 00 E5 2A AC 71 ..>..E.33!"..*.q
00A510: E5 2A B4 71 E5 D1 E1 19 E5 11 5B 07 3E 01 CD 45 .*.q......[.>..E
00A520: 01 33 33 33 33 C3 4D 10 11 72 09 3E 01 CD 45 01 .3333.M..r.>..E.
00A530: 21 D1 00 E5 21 73 00 E5 21 23 00 E5 21 72 00 E5 !...!s..!#..!r..
00A540: 11 C6 06 3E 01 CD 45 01 21 08 00 39 F9 C3 63 19 ...>..E.!..9..c.
00A550: E1 E5 E5 21 00 00 E5 CD 06 01 C2 CD 10 21 11 00 ...!.........!..
00A560: E5 3B 3B 2A AC 71 E5 11 67 0A 3E 01 CD 45 01 33 .;;*.q..g.>..E.3
00A570: 33 11 5B 07 3E 01 CD 45 01 33 33 33 33 2A AA 71 3.[.>..E.3333*.q
00A580: E5 21 00 00 E5 CD 06 01 C2 A2 10 21 CD 00 E5 21 .!.........!...!
00A590: 42 01 E5 11 5B 07 3E 01 CD 45 01 33 33 33 33 C3 B...[.>..E.3333.
00A5A0: CA 10 21 3E 00 E5 2A AA 71 E5 11 34 06 3E 01 CD ..!>..*.q..4.>..
00A5B0: 45 01 33 33 33 33 21 CD 00 E5 21 45 01 E5 11 5B E.3333!...!E...[
00A5C0: 07 3E 01 CD 45 01 33 33 33 33 C3 63 19 E1 E5 E5 .>..E.3333.c....
00A5D0: 21 07 00 E5 CD 06 01 C2 B5 11 2A AC 71 E5 21 00 !.........*.q.!.
00A5E0: 00 E5 21 04 00 E5 CD 33 01 CD 06 01 3E 00 CA F4 ..!....3....>...
00A5F0: 10 D2 F5 10 3D F5 2A AC 71 E5 21 04 00 E5 CD 06 ....=.*.q.!.....
00A600: 00 CD 0C 01 01 08 00 2A 4B 01 09 5E 23 56 D5 3E .......*K..^#V.>
00A610: 00 CD 0C 01 01 06 00 2A 4B 01 09 5E 23 56 D5 3E .......*K..^#V.>
00A620: 00 CD 0C 01 C3 48 01 01 06 00 2A 4B 01 09 5E 23 .....H....*K..^#
00A630: 56 D5 11 03 06 3E 01 CD 45 01 33 33 01 06 00 2A V....>..E.33...*
00A640: 4B 01 09 5E 23 56 D5 21 00 01 E5 CD 39 01 11 03 K..^#V.!....9...
00A650: 06 3E 01 CD 45 01 33 33 C3 48 01 01 08 00 2A 4B .>..E.33.H....*K
00A660: 01 09 5E 23 56 D5 11 03 06 3E 01 CD 45 01 33 33 ..^#V....>..E.33
00A670: 01 06 00 2A 4B 01 09 5E 23 56 D5 11 27 07 3E 01 ...*K..^#V..'.>.
00A680: CD 45 01 33 33 C3 48 01 2A B6 71 E5 21 01 00 E5 .E.33.H.*.q.!...
00A690: CD 06 01 C2 35 08 2A B2 71 E5 21 88 13 E5 CD 06 ....5.*.q.!.....
00A6A0: 01 D2 B4 07 CD 27 01 52 45 56 4F 20 44 43 2A 3E .....'.REVO DC*>
00A6B0: 01 CD 21 01 3E 00 CD 09 01 E1 22 A8 71 3E 00 CD ..!.>.....".q>..
00A6C0: 09 01 E1 22 AA 71 2A B2 71 E5 2A A8 71 E5 2A AA ...".q*.q.*.q.*.
00A6D0: 71 E5 21 00 01 E5 CD 36 01 D1 E1 19 E5 21 84 23 q.!....6.....!.#
00A6E0: D1 C1 09 09 73 23 72 3E 00 CD 09 01 E1 22 BA 71 ....s#r>.....".q
00A6F0: 3E 00 CD 09 01 E1 22 BC 71 2A BA 71 E5 2A BC 71 >.....".q*.q.*.q
00A700: E5 21 00 01 E5 CD 36 01 D1 E1 19 E5 E1 22 AC 71 .!....6......".q
00A710: 2A B2 71 E5 2A AC 71 E5 21 96 4A D1 C1 09 09 73 *.q.*.q.!.J....s
00A720: 23 72 2A B2 71 E5 21 01 00 E5 D1 E1 19 E5 E1 22 #r*.q.!........"
00A730: B2 71 C3 8E 08 2A B0 71 E5 21 84 23 D1 19 19 5E .q...*.q.!.#...^
00A740: 23 56 D5 E1 22 AC 71 2A AC 71 E5 21 00 01 E5 CD #V..".q*.q.!....
00A750: 39 01 E1 22 AA 71 2A AC 71 E5 2A AA 71 E5 21 00 9..".q*.q.*.q.!.
00A760: 01 E5 CD 36 01 CD 33 01 E1 22 A8 71 2A B0 71 E5 ...6..3..".q*.q.
00A770: 21 96 4A D1 19 19 5E 23 56 D5 E1 22 AC 71 2A B0 !.J...^#V..".q*.
00A780: 71 E5 21 01 00 E5 D1 E1 19 E5 E1 22 B0 71 C3 48 q.!........".q.H
00A790: 01 3B 3B 21 00 00 E5 01 FE FF 2A 4B 01 09 D1 73 .;;!......*K...s
00A7A0: 23 72 21 F4 01 E5 E1 E5 E5 01 FE FF 2A 4B 01 09 #r!.........*K..
00A7B0: 5E 23 56 D5 CD 06 01 CA BD 08 D2 31 09 21 50 00 ^#V........1.!P.
00A7C0: E5 3E 01 CD 0C 01 01 FE FF 2A 4B 01 09 5E 23 56 .>.......*K..^#V
00A7D0: D5 21 B0 1B D1 19 19 5E 23 56 D5 3E 01 CD 12 01 .!.....^#V.>....
00A7E0: 21 20 00 E5 3E 01 CD 0C 01 01 FE FF 2A 4B 01 09 ! ..>.......*K..
00A7F0: 5E 23 56 D5 21 9A 1F D1 19 19 5E 23 56 D5 3E 01 ^#V.!.....^#V.>.
00A800: 01 3F 9F D1 A2 CA 83 11 21 01 00 E5 E1 22 C4 71 .?......!....".q
00A810: 2A AC 71 E5 E1 E5 E5 2A C4 71 E5 CD 06 01 CA 24 *.q....*.q.....$
00A820: 11 D2 40 11 21 3B 00 E5 11 03 06 3E 01 CD 45 01 ..@.!;.....>..E.
00A830: 33 33 2A C4 71 E5 E1 23 E5 E1 22 C4 71 C3 14 11 33*.q..#..".q...
00A840: 33 33 21 00 00 E5 21 01 00 E5 CD 33 01 E1 22 C4 33!...!....3..".
00A850: 71 2A AC 71 E5 E1 E5 E5 2A C4 71 E5 CD 06 01 DA q*.q....*.q.....
00A860: 7E 11 21 33 00 E5 11 03 06 3E 01 CD 45 01 33 33 ~.!3.....>..E.33
00A870: 2A C4 71 E5 E1 2B E5 E1 22 C4 71 C3 55 11 33 33 *.q..+..".q.U.33
00A880: C3 B2 11 21 21 00 E5 21 00 00 E5 2A AC 71 E5 CD ...!!..!...*.q..
00A890: 33 01 11 5B 07 3E 01 CD 45 01 33 33 33 33 21 39 3..[.>..E.3333!9
00A8A0: 00 E5 21 F9 00 E5 11 34 06 3E 01 CD 45 01 33 33 ..!....4.>..E.33
00A8B0: 33 33 C3 63 19 E1 E5 E5 21 02 00 E5 CD 06 01 C2 33.c....!.......
00A8C0: E5 11 21 C3 00 E5 3B 3B 2A AC 71 E5 11 67 0A 3E ..!...;;*.q..g.>
00A8D0: 01 CD 45 01 33 33 11 5B 07 3E 01 CD 45 01 33 33 ..E.33.[.>..E.33
00A8E0: 33 33 C3 63 19 E1 E5 E5 21 01 00 E5 CD 06 01 C2 33.c....!.......
00A8F0: 57 13 2A B8 71 E5 E1 E5 E5 21 00 00 E5 CD 06 01 W.*.q....!......
00A900: C2 26 12 21 C2 00 E5 3B 3B 2A AC 71 E5 11 67 0A .&.!...;;*.q..g.
00A910: 3E 01 CD 45 01 33 33 11 5B 07 3E 01 CD 45 01 33 >..E.33.[.>..E.3
00A920: 33 33 33 C3 52 13 E1 E5 E5 21 01 00 E5 CD 06 01 333.R....!......
00A930: C2 56 12 21 CA 00 E5 3B 3B 2A AC 71 E5 11 67 0A .V.!...;;*.q..g.
00A940: 3E 01 CD 45 01 33 33 11 5B 07 3E 01 CD 45 01 33 >..E.33.[.>..E.3
00A950: 33 33 33 C3 52 13 E1 E5 E5 21 02 00 E5 CD 06 01 333.R....!......
00A960: C2 A6 12 21 DA 00 E5 3B 3B 2A AC 71 E5 11 67 0A ...!...;;*.q..g.
00A970: 3E 01 CD 45 01 33 33 11 5B 07 3E 01 CD 45 01 33 >..E.33.[.>..E.3
00A980: 33 33 33 21 CA 00 E5 3B 3B 2A AC 71 E5 11 67 0A 333!...;;*.q..g.
00A990: 3E 01 CD 45 01 33 33 11 5B 07 3E 01 CD 45 01 33 >..E.33.[.>..E.3
00A9A0: 33 33 33 C3 52 13 E1 E5 E5 21 03 00 E5 CD 06 01 333.R....!......
00A9B0: C2 F2 12 21 CA 00 E5 2A AE 71 E5 21 06 00 E5 D1 ...!...*.q.!....
00A9C0: E1 19 E5 11 5B 07 3E 01 CD 45 01 33 33 33 33 21 ....[.>..E.3333!
00A9D0: D2 00 E5 3B 3B 2A AC 71 E5 11 67 0A 3E 01 CD 45 ...;;*.q..g.>..E
00A9E0: 01 33 33 11 5B 07 3E 01 CD 45 01 33 33 33 33 C3 .33.[.>..E.3333.
00A9F0: 52 13 E1 E5 E5 21 04 00 E5 CD 06 01 C2 22 13 21 R....!.......".!
00AA00: CD 12 01 21 0D 00 E5 3E 01 CD 0C 01 21 0A 00 E5 ...!...>....!...
00AA10: 3E 01 CD 0C 01 01 FE FF 2A 4B 01 09 5E 23 56 D5 >.......*K..^#V.
00AA20: E1 23 E5 01 FE FF 2A 4B 01 09 D1 73 23 72 C3 A6 .#....*K...s#r..
00AA30: 08 33 33 C3 48 01 2A AA 71 E5 21 00 00 E5 CD 06 .33.H.*.q.!.....
00AA40: 01 C2 5B 09 21 CD 00 E5 21 06 01 E5 11 5B 07 3E ..[.!...!....[.>
00AA50: 01 CD 45 01 33 33 33 33 C3 6F 09 21 CD 00 E5 21 ..E.3333.o.!...!
00AA60: 30 01 E5 11 5B 07 3E 01 CD 45 01 33 33 33 33 C3 0...[.>..E.3333.
00AA70: 48 01 3B 3B 2A AA 71 E5 01 FE FF 2A 4B 01 09 D1 H.;;*.q....*K...
00AA80: 73 23 72 01 FE FF 2A 4B 01 09 5E 23 56 D5 21 00 s#r...*K..^#V.!.
00AA90: 00 E5 CD 06 01 C2 D8 09 21 01 00 E5 21 00 00 E5 ........!...!...
00AAA0: 2A AC 71 E5 CD 33 01 11 5B 07 3E 01 CD 45 01 33 *.q..3..[.>..E.3
00AAB0: 33 33 33 21 2A 00 E5 21 4B 01 E5 11 5B 07 3E 01 333!*..!K...[.>.
00AAC0: CD 45 01 33 33 33 33 21 09 00 E5 11 03 06 3E 01 .E.3333!......>.
00AAD0: CD 45 01 33 33 C3 64 0A 01 FE FF 2A 4B 01 09 5E .E.33.d....*K..^
00AAE0: 23 56 D5 21 FF 00 E5 CD 06 01 C2 0C 0A 21 21 00 #V.!.........!!.
00AAF0: E5 2A AC 71 E5 2A B4 71 E5 D1 E1 19 E5 11 5B 07 .*.q.*.q......[.
00AB00: 3E 01 CD 45 01 33 33 33 33 C3 64 0A 21 3E 00 E5 >..E.3333.d.!>..
00AB10: 01 FE FF 2A 4B 01 09 5E 23 56 D5 11 34 06 3E 01 ...*K..^#V..4.>.
00AB20: CD 45 01 33 33 33 33 21 CD 00 E5 21 03 01 E5 11 .E.3333!...!....
00AB30: 5B 07 3E 01 CD 45 01 33 33 33 33 21 11 00 E5 21 [.>..E.3333!...!
00AB40: 00 00 E5 2A AC 71 E5 CD 33 01 11 5B 07 3E 01 CD ...*.q..3..[.>..
00AB50: 45 01 33 33 33 33 21 19 00 E5 11 03 06 3E 01 CD E.3333!......>..
00AB60: 45 01 33 33 C3 48 01 2A B6 71 E5 21 02 00 E5 CD E.33.H.*.q.!....
00AB70: 06 01 C2 F2 0A 01 06 00 2A 4B 01 09 5E 23 56 D5 ........*K..^#V.
00AB80: 21 9A 1F D1 19 19 5E 23 56 D5 21 00 00 E5 CD 06 !.....^#V.!.....
00AB90: 01 CA B7 0A 01 06 00 2A 4B 01 09 5E 23 56 D5 21 .......*K..^#V.!
00ABA0: 9A 1F D1 19 19 5E 23 56 D5 01 08 00 2A 4B 01 09 .....^#V....*K..
00ABB0: D1 73 23 72 C3 F2 0A 21 50 00 E5 3E 01 CD 0C 01 .s#r...!P..>....
00ABC0: 01 06 00 2A 4B 01 09 5E 23 56 D5 3E 01 CD 12 01 ...*K..^#V.>....
00ABD0: CD 27 01 44 4E 49 46 45 44 4E 55 3E 01 CD 21 01 .'.DNIFEDNU>..!.
00ABE0: 21 0D 00 E5 3E 01 CD 0C 01 21 0A 00 E5 3E 01 CD !...>....!...>..
00ABF0: 0C 01 C3 48 01 2A A8 71 E5 2A AA 71 E5 2A AC 71 ...H.*.q.*.q.*.q
00AC00: 54 72 61 63 6B 2D 49 6E 66 6F 0D 0A 00 01 00 00 Track-Info......
00AC10: 09 00 00 00 02 09 4A E5 09 00 C1 02 00 00 00 02 ......J.........
00AC20: 09 00 C6 02 00 00 00 02 09 00 C2 02 00 00 00 02 ................
00AC30: 09 00 C7 02 00 00 00 02 09 00 C3 02 00 00 00 02 ................
00AC40: 09 00 C8 02 00 00 00 02 09 00 C4 02 00 00 00 02 ................
00AC50: 09 00 C9 02 00 00 00 02 09 00 C5 02 00 00 00 02 ................
00AC60: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
00AC70: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
00AC80: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
00AC90: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
00ACA0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
00ACB0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
00ACC0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
00ACD0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
00ACE0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
00ACF0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
00AD00: D2 00 E5 3B 3B 2A AC 71 E5 11 67 0A 3E 01 CD 45 ...;;*.q..g.>..E
00AD10: 01 33 33 11 5B 07 3E 01 CD 45 01 33 33 33 33 C3 .33.[.>..E.3333.
00AD20: 52 13 E1 E5 E5 21 05 00 E5 CD 06 01 C2 52 13 21 R....!.......R.!
00AD30: DA 00 E5 3B 3B 2A AC 71 E5 11 67 0A 3E 01 CD 45 ...;;*.q..g.>..E
00AD40: 01 33 33 11 5B 07 3E 01 CD 45 01 33 33 33 33 C3 .33.[.>..E.3333.
00AD50: 52 13 33 33 C3 63 19 E1 E5 E5 21 10 00 E5 CD 06 R.33.c....!.....
00AD60: 01 C2 7D 13 11 1C 0B 3E 01 CD 45 01 21 F5 00 E5 ..}....>..E.!...
00AD70: 11 03 06 3E 01 CD 45 01 33 33 C3 63 19 E1 E5 E5 ...>..E.33.c....
00AD80: 21 08 00 E5 CD 06 01 C2 C4 13 21 3E 00 E5 2A AA !.........!>..*.
00AD90: 71 E5 11 34 06 3E 01 CD 45 01 33 33 33 33 21 CD q..4.>..E.3333!.
00ADA0: 00 E5 21 09 01 E5 21 03 00 E5 2A AC 71 E5 CD 36 ..!...!...*.q..6
00ADB0: 01 D1 E1 19 E5 11 5B 07 3E 01 CD 45 01 33 33 33 ......[.>..E.333
00ADC0: 33 C3 63 19 E1 E5 E5 21 09 00 E5 CD 06 01 C2 12 3.c....!........
00ADD0: 14 11 72 09 3E 01 CD 45 01 21 D1 00 E5 21 19 00 ..r.>..E.!...!..
00ADE0: E5 21 19 00 E5 21 5E 00 E5 11 C6 06 3E 01 CD 45 .!...!^.....>..E
00ADF0: 01 21 08 00 39 F9 21 23 00 E5 21 56 00 E5 21 D5 .!..9.!#..!V..!.
00AE00: 00 E5 11 75 06 3E 01 CD 45 01 21 06 00 39 F9 C3 ...u.>..E.!..9..
00AE10: 63 19 E1 E5 E5 21 0A 00 E5 CD 06 01 C2 60 14 11 c....!.......`..
00AE20: 72 09 3E 01 CD 45 01 21 D1 00 E5 21 C1 00 E5 21 r.>..E.!...!...!
00AE30: 09 00 E5 21 09 00 E5 11 C6 06 3E 01 CD 45 01 21 ...!......>..E.!
00AE40: 08 00 39 F9 21 73 00 E5 21 23 00 E5 21 72 00 E5 ..9.!s..!#..!r..
00AE50: 11 75 06 3E 01 CD 45 01 21 06 00 39 F9 C3 63 19 .u.>..E.!..9..c.
00AE60: E1 E5 E5 21 1F 00 E5 CD 06 01 C2 9B 14 21 E1 00 ...!.........!..
00AE70: E5 21 29 00 E5 21 D1 00 E5 21 19 00 E5 11 C6 06 .!)..!...!......
00AE80: 3E 01 CD 45 01 21 08 00 39 F9 21 E5 00 E5 11 03 >..E.!..9.!.....
00AE90: 06 3E 01 CD 45 01 33 33 C3 63 19 E1 E5 E5 21 11 .>..E.33.c....!.
00AEA0: 00 E5 CD 06 01 C2 CC 14 11 72 09 3E 01 CD 45 01 .........r.>..E.
00AEB0: 21 56 00 E5 21 D5 00 E5 21 33 00 E5 11 75 06 3E !V..!...!3...u.>
00AEC0: 01 CD 45 01 21 06 00 39 F9 C3 63 19 E1 E5 E5 21 ..E.!..9..c....!
00AED0: 12 00 E5 CD 06 01 C2 FD 14 11 72 09 3E 01 CD 45 ..........r.>..E
00AEE0: 01 21 D1 00 E5 21 3B 00 E5 21 73 00 E5 11 75 06 .!...!;..!s...u.
00AEF0: 3E 01 CD 45 01 21 06 00 39 F9 C3 63 19 E1 E5 E5 >..E.!..9..c....
00AF00: 28 2A 0D 0A 20 20 54 49 54 4C 45 09 09 50 41 53 (*.. TITLE..PAS
00AF10: 43 41 4C 20 46 41 53 54 20 45 58 45 43 55 54 49 CAL FAST EXECUTI
00AF20: 4F 4E 20 54 52 41 4E 53 4C 41 54 4F 52 0D 0A 20 ON TRANSLATOR..
00AF30: 20 46 49 4C 45 4E 41 4D 45 09 50 46 45 54 2E 50 FILENAME.PFET.P
00AF40: 41 53 0D 0A 20 20 41 55 54 48 4F 52 09 52 6F 62 AS.. AUTHOR.Rob
00AF50: 65 72 74 20 41 2E 20 56 61 6E 20 56 61 6C 7A 61 ert A. Van Valza
00AF60: 68 20 20 31 30 2F 30 36 2F 37 39 0D 0A 20 20 4C h 10/06/79.. L
00AF70: 41 53 54 20 52 45 56 49 53 4F 52 09 52 2E 41 2E AST REVISOR.R.A.
00AF80: 56 2E 20 20 30 31 2F 31 34 2F 38 30 0D 0A 20 20 V. 01/14/80..
00AF90: 52 45 41 53 4F 4E 09 72 65 70 61 69 72 65 64 20 REASON.repaired
00AFA0: 62 75 67 20 69 6E 20 61 73 74 6F 69 20 63 6F 64 bug in astoi cod
00AFB0: 65 0D 0A 2A 29 0D 0A 0D 0A 63 6F 6E 73 74 0D 0A e..*)....const..
00AFC0: 09 76 68 75 09 3D 20 30 3B 09 28 2A 20 76 65 72 .vhu.= 0;.(* ver
00AFD0: 73 69 6F 6E 20 6E 75 6D 62 65 72 20 68 75 6E 64 sion number hund
00AFE0: 72 65 64 73 20 2A 29 0D 0A 09 76 74 6E 09 3D 20 reds *)...vtn.=
00AFF0: 30 3B 09 28 2A 20 74 65 6E 73 20 2A 29 0D 0A 09 0;.(* tens *)...
00B000: 76 75 6E 09 3D 20 38 3B 09 28 2A 20 75 6E 69 74 vun.= 8;.(* unit
00B010: 73 20 2A 29 0D 0A 09 64 65 76 72 65 6C 09 3D 20 s *)...devrel.=
00B020: 27 72 27 3B 09 28 2A 20 64 65 76 65 6C 6F 70 6D 'r';.(* developm
00B030: 65 6E 74 20 6F 72 20 72 65 6C 65 61 73 65 20 76 ent or release v
00B040: 65 72 73 69 6F 6E 20 2A 29 0D 0A 09 6E 6C 61 62 ersion *)...nlab
00B050: 09 3D 20 35 30 30 3B 09 28 2A 20 6D 61 78 20 6E .= 500;.(* max n
00B060: 75 6D 62 65 72 20 6F 66 20 70 2D 6C 61 62 65 6C umber of p-label
00B070: 73 20 2A 29 0D 0A 09 63 6F 64 65 6D 61 78 09 3D s *)...codemax.=
00B080: 20 35 30 30 30 3B 09 28 2A 20 6D 61 78 20 6E 75 5000;.(* max nu
00B090: 6D 62 65 72 20 6F 66 20 70 2D 69 6E 73 74 72 75 mber of p-instru
00B0A0: 63 74 69 6F 6E 73 20 2A 29 0D 0A 09 6F 63 6F 64 ctions *)...ocod
00B0B0: 65 09 3D 20 31 35 33 36 3B 09 28 2A 20 6F 62 6A e.= 1536;.(* obj
00B0C0: 65 63 74 20 63 6F 64 65 20 62 61 73 65 20 61 64 ect code base ad
00B0D0: 64 72 65 73 73 20 2A 29 0D 0A 09 72 74 70 6F 72 dress *)...rtpor
00B0E0: 67 09 3D 20 32 35 36 3B 09 28 2A 20 72 75 6E 20 g.= 256;.(* run
00B0F0: 74 69 6D 65 20 70 61 63 6B 61 67 65 20 62 61 73 time package bas
00B100: 21 1B 00 E5 CD 06 01 C2 2A 15 21 E1 00 E5 21 56 !.......*.!...!V
00B110: 00 E5 21 D5 00 E5 21 33 00 E5 11 C6 06 3E 01 CD ..!...!3.....>..
00B120: 45 01 21 08 00 39 F9 C3 63 19 E1 E5 E5 21 1C 00 E.!..9..c....!..
00B130: E5 CD 06 01 C2 57 15 21 D1 00 E5 21 3B 00 E5 21 .....W.!...!;..!
00B140: E1 00 E5 21 73 00 E5 11 C6 06 3E 01 CD 45 01 21 ...!s.....>..E.!
00B150: 08 00 39 F9 C3 63 19 E1 E5 E5 21 21 00 E5 CD 06 ..9..c....!!....
00B160: 01 C2 84 15 21 E1 00 E5 21 D1 00 E5 21 19 00 E5 ....!...!...!...
00B170: 21 E5 00 E5 11 C6 06 3E 01 CD 45 01 21 08 00 39 !......>..E.!..9
00B180: F9 C3 63 19 E1 E5 E5 21 13 00 E5 CD 06 01 C2 CE ..c....!........
00B190: 15 11 72 09 3E 01 CD 45 01 21 D1 00 E5 21 19 00 ..r.>..E.!...!..
00B1A0: E5 21 5E 00 E5 11 75 06 3E 01 CD 45 01 21 06 00 .!^...u.>..E.!..
00B1B0: 39 F9 21 16 00 E5 21 00 00 E5 21 D5 00 E5 11 75 9.!...!...!....u
00B1C0: 06 3E 01 CD 45 01 21 06 00 39 F9 C3 63 19 E1 E5 .>..E.!..9..c...
00B1D0: E5 21 14 00 E5 CD 06 01 C2 03 16 11 72 09 3E 01 .!..........r.>.
00B1E0: CD 45 01 21 D1 00 E5 21 C1 00 E5 21 09 00 E5 21 .E.!...!...!...!
00B1F0: 73 00 E5 11 C6 06 3E 01 CD 45 01 21 08 00 39 F9 s.....>..E.!..9.
00B200: C3 63 19 E1 E5 E5 21 0B 00 E5 CD 06 01 C2 47 16 .c....!.......G.
00B210: 21 CD 00 E5 21 27 01 E5 11 5B 07 3E 01 CD 45 01 !...!'...[.>..E.
00B220: 33 33 33 33 11 88 07 3E 01 CD 45 01 11 F5 0A 3E 3333...>..E....>
00B230: 01 CD 45 01 11 88 07 3E 01 CD 45 01 11 F5 0A 3E ..E....>..E....>
00B240: 01 CD 45 01 C3 63 19 E1 E5 E5 21 0C 00 E5 CD 06 ..E..c....!.....
00B250: 01 C2 73 16 11 72 09 3E 01 CD 45 01 21 CD 00 E5 ..s..r.>..E.!...
00B260: 21 2A 01 E5 11 5B 07 3E 01 CD 45 01 33 33 33 33 !*...[.>..E.3333
00B270: C3 63 19 E1 E5 E5 21 0D 00 E5 CD 06 01 C2 9F 16 .c....!.........
00B280: 11 72 09 3E 01 CD 45 01 21 CD 00 E5 21 2D 01 E5 .r.>..E.!...!-..
00B290: 11 5B 07 3E 01 CD 45 01 33 33 33 33 C3 63 19 E1 .[.>..E.3333.c..
00B2A0: E5 E5 21 20 00 E5 CD 06 01 C2 E5 16 21 E1 00 E5 ..! ........!...
00B2B0: 21 29 00 E5 21 29 00 E5 21 29 00 E5 11 C6 06 3E !)..!)..!).....>
00B2C0: 01 CD 45 01 21 08 00 39 F9 21 D1 00 E5 21 19 00 ..E.!..9.!...!..
00B2D0: E5 21 E5 00 E5 11 75 06 3E 01 CD 45 01 21 06 00 .!....u.>..E.!..
00B2E0: 39 F9 C3 63 19 E1 E5 E5 21 1D 00 E5 CD 06 01 C2 9..c....!.......
00B2F0: 17 17 21 E1 00 E5 11 03 06 3E 01 CD 45 01 33 33 ..!......>..E.33
00B300: 65 20 61 64 64 72 65 73 73 20 2A 29 0D 0A 0D 0A e address *)....
00B310: 09 28 2A 20 72 75 6E 74 69 6D 65 20 70 61 63 6B .(* runtime pack
00B320: 61 67 65 20 65 6E 74 72 79 20 70 6F 69 6E 74 73 age entry points
00B330: 20 2A 29 0D 0A 09 62 61 73 65 09 3D 20 72 74 70 *)...base.= rtp
00B340: 6F 72 67 2B 33 3B 09 63 6D 70 72 09 3D 20 62 61 org+3;.cmpr.= ba
00B350: 73 65 2B 33 3B 0D 0A 09 63 73 70 62 61 73 65 09 se+3;...cspbase.
00B360: 3D 20 63 6D 70 72 2B 33 3B 09 73 70 61 6C 69 74 = cmpr+3;.spalit
00B370: 09 3D 20 63 73 70 62 61 73 65 2B 33 30 3B 0D 0A .= cspbase+30;..
00B380: 09 73 70 61 6C 6F 64 09 3D 20 73 70 61 6C 69 74 .spalod.= spalit
00B390: 2B 33 3B 09 73 70 61 73 74 6F 09 3D 20 73 70 61 +3;.spasto.= spa
00B3A0: 6C 6F 64 2B 33 3B 0D 0A 09 61 63 6D 70 72 09 3D lod+3;...acmpr.=
00B3B0: 20 73 70 61 73 74 6F 2B 33 3B 09 6F 70 72 33 09 spasto+3;.opr3.
00B3C0: 3D 20 61 63 6D 70 72 2B 33 3B 0D 0A 09 6F 70 72 = acmpr+3;...opr
00B3D0: 34 09 3D 20 6F 70 72 33 2B 33 3B 09 6F 70 72 35 4.= opr3+3;.opr5
00B3E0: 09 3D 20 6F 70 72 34 2B 33 3B 0D 0A 09 6F 70 72 .= opr4+3;...opr
00B3F0: 31 34 09 3D 20 6F 70 72 35 2B 33 3B 09 6F 70 72 14.= opr5+3;.opr
00B400: 31 35 09 3D 20 6F 70 72 31 34 2B 33 3B 0D 0A 09 15.= opr14+3;...
00B410: 73 70 63 61 6C 30 09 3D 20 6F 70 72 31 35 2B 33 spcal0.= opr15+3
00B420: 3B 09 73 70 63 61 6C 09 3D 20 73 70 63 61 6C 30 ;.spcal.= spcal0
00B430: 2B 33 3B 0D 0A 09 73 70 72 65 74 09 3D 20 73 70 +3;...spret.= sp
00B440: 63 61 6C 2B 33 3B 09 62 72 09 3D 20 73 70 72 65 cal+3;.br.= spre
00B450: 74 2B 33 3B 0D 0A 0D 0A 09 28 2A 20 38 30 38 30 t+3;.....(* 8080
00B460: 20 69 6E 73 74 72 75 63 74 69 6F 6E 73 20 2A 29 instructions *)
00B470: 0D 0A 09 6C 68 6C 64 09 3D 20 34 32 3B 09 73 68 ...lhld.= 42;.sh
00B480: 6C 64 09 3D 20 33 34 3B 0D 0A 09 70 75 73 68 68 ld.= 34;...pushh
00B490: 09 3D 20 32 32 39 3B 09 70 75 73 68 64 09 3D 20 .= 229;.pushd.=
00B4A0: 32 31 33 3B 0D 0A 09 70 75 73 68 62 09 3D 20 31 213;...pushb.= 1
00B4B0: 39 37 3B 09 70 75 73 68 70 73 77 09 3D 20 32 34 97;.pushpsw.= 24
00B4C0: 35 3B 0D 0A 09 70 6F 70 68 09 3D 20 32 32 35 3B 5;...poph.= 225;
00B4D0: 09 70 6F 70 64 09 3D 20 32 30 39 3B 0D 0A 09 70 .popd.= 209;...p
00B4E0: 6F 70 62 09 3D 20 31 39 33 3B 0D 0A 0D 0A 09 73 opb.= 193;.....s
00B4F0: 70 68 6C 09 3D 20 32 34 39 3B 09 70 63 68 6C 09 phl.= 249;.pchl.
00B500: 21 CD 00 E5 21 2A 01 E5 11 5B 07 3E 01 CD 45 01 !...!*...[.>..E.
00B510: 33 33 33 33 C3 63 19 E1 E5 E5 21 1E 00 E5 CD 06 3333.c....!.....
00B520: 01 C2 88 17 21 21 00 E5 21 08 00 E5 11 5B 07 3E ....!!..!....[.>
00B530: 01 CD 45 01 33 33 33 33 21 39 00 E5 21 7E 00 E5 ..E.3333!9..!~..
00B540: 21 23 00 E5 21 66 00 E5 11 C6 06 3E 01 CD 45 01 !#..!f.....>..E.
00B550: 21 08 00 39 F9 21 6F 00 E5 11 03 06 3E 01 CD 45 !..9.!o.....>..E
00B560: 01 33 33 21 CD 00 E5 21 2D 01 E5 11 5B 07 3E 01 .33!...!-...[.>.
00B570: CD 45 01 33 33 33 33 21 E1 00 E5 11 03 06 3E 01 .E.3333!......>.
00B580: CD 45 01 33 33 C3 63 19 E1 E5 E5 21 0E 00 E5 CD .E.33.c....!....
00B590: 06 01 C2 E6 17 11 72 09 3E 01 CD 45 01 21 D1 00 ......r.>..E.!..
00B5A0: E5 21 EB 00 E5 21 29 00 E5 11 75 06 3E 01 CD 45 .!...!)...u.>..E
00B5B0: 01 21 06 00 39 F9 21 29 00 E5 21 29 00 E5 21 19 .!..9.!)..!)..!.
00B5C0: 00 E5 11 75 06 3E 01 CD 45 01 21 06 00 39 F9 21 ...u.>..E.!..9.!
00B5D0: CD 00 E5 21 2A 01 E5 11 5B 07 3E 01 CD 45 01 33 ...!*...[.>..E.3
00B5E0: 33 33 33 C3 63 19 E1 E5 E5 21 0F 00 E5 CD 06 01 333.c....!......
00B5F0: C2 8C 18 11 72 09 3E 01 CD 45 01 21 EB 00 E5 11 ....r.>..E.!....
00B600: 03 06 3E 01 CD 45 01 33 33 21 21 00 E5 21 08 00 ..>..E.33!!..!..
00B610: E5 11 5B 07 3E 01 CD 45 01 33 33 33 33 21 39 00 ..[.>..E.3333!9.
00B620: E5 21 7E 00 E5 21 23 00 E5 21 66 00 E5 11 C6 06 .!~..!#..!f.....
00B630: 3E 01 CD 45 01 21 08 00 39 F9 21 6F 00 E5 21 29 >..E.!..9.!o..!)
00B640: 00 E5 21 29 00 E5 11 75 06 3E 01 CD 45 01 21 06 ..!)...u.>..E.!.
00B650: 00 39 F9 21 29 00 E5 21 19 00 E5 11 34 06 3E 01 .9.!)..!....4.>.
00B660: CD 45 01 33 33 33 33 21 CD 00 E5 21 2D 01 E5 11 .E.3333!...!-...
00B670: 5B 07 3E 01 CD 45 01 33 33 33 33 21 E1 00 E5 11 [.>..E.3333!....
00B680: 03 06 3E 01 CD 45 01 33 33 C3 63 19 E1 E5 E5 21 ..>..E.33.c....!
00B690: 18 00 E5 CD 06 01 C2 B2 18 11 72 09 3E 01 CD 45 ..........r.>..E
00B6A0: 01 21 E5 00 E5 11 03 06 3E 01 CD 45 01 33 33 C3 .!......>..E.33.
00B6B0: 63 19 E1 E5 E5 21 19 00 E5 CD 06 01 C2 ED 18 21 c....!.........!
00B6C0: E1 00 E5 21 5E 00 E5 21 23 00 E5 21 56 00 E5 11 ...!^..!#..!V...
00B6D0: C6 06 3E 01 CD 45 01 21 08 00 39 F9 21 D5 00 E5 ..>..E.!..9.!...
00B6E0: 11 03 06 3E 01 CD 45 01 33 33 C3 63 19 E1 E5 E5 ...>..E.33.c....
00B6F0: 21 1A 00 E5 CD 06 01 C2 28 19 21 D1 00 E5 21 E1 !.......(.!...!.
00B700: 3D 20 32 33 33 3B 0D 0A 09 78 63 68 67 09 3D 20 = 233;...xchg.=
00B710: 32 33 35 3B 09 78 74 68 6C 09 3D 20 32 32 37 3B 235;.xthl.= 227;
00B720: 0D 0A 0D 0A 09 64 61 64 68 09 3D 20 34 31 3B 09 .....dadh.= 41;.
00B730: 64 61 64 73 70 09 3D 20 35 37 3B 0D 0A 09 64 61 dadsp.= 57;...da
00B740: 64 64 09 3D 20 32 35 3B 09 64 61 64 62 09 3D 20 dd.= 25;.dadb.=
00B750: 39 3B 0D 0A 0D 0A 09 63 61 6C 6C 09 3D 20 32 30 9;.....call.= 20
00B760: 35 3B 09 6A 6D 70 09 3D 20 31 39 35 3B 0D 0A 09 5;.jmp.= 195;...
00B770: 6A 7A 09 3D 20 32 30 32 3B 09 6A 6E 7A 09 3D 20 jz.= 202;.jnz.=
00B780: 31 39 34 3B 0D 0A 09 6A 6E 63 09 3D 20 32 31 30 194;...jnc.= 210
00B790: 3B 09 6A 63 09 3D 20 32 31 38 3B 0D 0A 0D 0A 09 ;.jc.= 218;.....
00B7A0: 6D 76 69 61 09 3D 20 36 32 3B 09 61 64 69 09 3D mvia.= 62;.adi.=
00B7B0: 20 31 39 38 3B 0D 0A 09 6D 76 69 64 09 3D 20 32 198;...mvid.= 2
00B7C0: 32 3B 0D 0A 0D 0A 09 6C 78 69 68 09 3D 20 33 33 2;.....lxih.= 33
00B7D0: 3B 09 6C 78 69 64 09 3D 20 31 37 3B 0D 0A 09 6C ;.lxid.= 17;...l
00B7E0: 78 69 62 09 3D 20 31 3B 0D 0A 0D 0A 09 6D 6F 76 xib.= 1;.....mov
00B7F0: 65 6D 09 3D 20 39 34 3B 09 6D 6F 76 64 6D 09 3D em.= 94;.movdm.=
00B800: 20 38 36 3B 0D 0A 09 6D 6F 76 6D 65 09 3D 20 31 86;...movme.= 1
00B810: 31 35 3B 09 6D 6F 76 6D 64 09 3D 20 31 31 34 3B 15;.movmd.= 114;
00B820: 0D 0A 09 6D 6F 76 62 68 09 3D 20 36 38 3B 09 6D ...movbh.= 68;.m
00B830: 6F 76 63 6C 09 3D 20 37 37 3B 0D 0A 09 6D 6F 76 ovcl.= 77;...mov
00B840: 61 6D 09 3D 20 31 32 36 3B 09 6D 6F 76 68 6D 09 am.= 126;.movhm.
00B850: 3D 20 31 30 32 3B 0D 0A 09 6D 6F 76 6C 61 09 3D = 102;...movla.=
00B860: 20 31 31 31 3B 09 6D 6F 76 61 65 09 3D 20 31 32 111;.movae.= 12
00B870: 33 3B 0D 0A 09 63 6D 63 09 3D 20 36 33 3B 09 73 3;...cmc.= 63;.s
00B880: 62 62 61 09 3D 20 31 35 39 3B 0D 0A 09 64 63 72 bba.= 159;...dcr
00B890: 61 09 3D 20 36 31 3B 09 6F 72 61 64 09 3D 20 31 a.= 61;.orad.= 1
00B8A0: 37 38 3B 0D 0A 09 61 6E 61 64 09 3D 20 31 36 32 78;...anad.= 162
00B8B0: 3B 0D 0A 0D 0A 09 69 6E 78 73 70 09 3D 20 35 31 ;.....inxsp.= 51
00B8C0: 3B 09 64 63 78 73 70 09 3D 20 35 39 3B 0D 0A 09 ;.dcxsp.= 59;...
00B8D0: 64 63 78 68 09 3D 20 34 33 3B 09 69 6E 78 68 09 dcxh.= 43;.inxh.
00B8E0: 3D 20 33 35 3B 0D 0A 74 79 70 65 0D 0A 09 70 6F = 35;..type...po
00B8F0: 70 73 09 3D 20 28 20 28 2A 20 70 2D 6F 70 20 63 ps.= ( (* p-op c
00B900: 00 E5 21 73 00 E5 21 23 00 E5 11 C6 06 3E 01 CD ..!s..!#.....>..
00B910: 45 01 21 08 00 39 F9 21 72 00 E5 11 03 06 3E 01 E.!..9.!r.....>.
00B920: CD 45 01 33 33 C3 63 19 E1 E5 E5 21 17 00 E5 CD .E.33.c....!....
00B930: 06 01 C2 38 19 C3 63 19 CD 27 01 50 4F 2D 50 20 ...8..c..'.PO-P
00B940: 44 41 42 3E 01 CD 21 01 2A A8 71 E5 3E 01 CD 12 DAB>..!.*.q.>...
00B950: 01 21 0D 00 E5 3E 01 CD 0C 01 21 0A 00 E5 3E 01 .!...>....!...>.
00B960: CD 0C 01 33 33 C3 48 01 01 06 00 2A 4B 01 09 5E ...33.H....*K..^
00B970: 23 56 D5 E1 22 B6 71 21 00 06 E5 E1 22 AE 71 11 #V..".q!....".q.
00B980: 88 07 3E 01 CD 45 01 2A A8 71 E5 21 16 00 E5 CD ..>..E.*.q.!....
00B990: 06 01 CA A0 19 11 91 0C 3E 01 CD 45 01 C3 25 1A ........>..E..%.
00B9A0: 2A B6 71 E5 21 01 00 E5 CD 06 01 C2 E4 19 2A AC *.q.!.........*.
00B9B0: 71 E5 21 F4 01 E5 CD 06 01 D2 CF 19 CD 27 01 52 q.!..........'.R
00B9C0: 45 56 4F 20 42 4C 2A 3E 01 CD 21 01 C3 E1 19 2A EVO BL*>..!....*
00B9D0: AC 71 E5 2A AE 71 E5 21 9A 1F D1 C1 09 09 73 23 .q.*.q.!......s#
00B9E0: 72 C3 25 1A 2A AC 71 E5 21 9A 1F D1 19 19 5E 23 r.%.*.q.!.....^#
00B9F0: 56 D5 2A AE 71 E5 CD 06 01 CA 25 1A CD 27 01 52 V.*.q.....%..'.R
00BA00: 45 20 45 53 41 48 50 3E 01 CD 21 01 CD 27 01 50 E ESAHP>..!..'.P
00BA10: 20 20 20 20 52 4F 52 3E 01 CD 21 01 2A AC 71 E5 ROR>..!.*.q.
00BA20: 3E 01 CD 12 01 2A A8 71 E5 21 17 00 E5 CD 06 01 >....*.q.!......
00BA30: C2 7F 19 2A B6 71 E5 21 01 00 E5 CD 06 01 C2 49 ...*.q.!.......I
00BA40: 1A 2A AE 71 E5 E1 22 B4 71 C3 48 01 CD 27 01 56 .*.q..".q.H..'.V
00BA50: 45 52 20 54 45 46 50 3E 01 CD 21 01 21 20 00 E5 ER TEFP>..!.! ..
00BA60: 3E 01 CD 0C 01 21 00 00 E5 3E 01 CD 12 01 21 2E >....!...>....!.
00BA70: 00 E5 3E 01 CD 0C 01 21 00 00 E5 3E 01 CD 12 01 ..>....!...>....
00BA80: 21 08 00 E5 3E 01 CD 12 01 21 52 00 E5 3E 01 CD !...>....!R..>..
00BA90: 0C 01 21 0D 00 E5 3E 01 CD 0C 01 21 0A 00 E5 3E ..!...>....!...>
00BAA0: 01 CD 0C 01 21 00 00 E5 E1 22 B2 71 21 F4 01 E5 ....!....".q!...
00BAB0: E1 E5 E5 2A B2 71 E5 CD 06 01 CA C0 1A D2 E0 1A ...*.q..........
00BAC0: 2A B2 71 E5 21 00 00 E5 21 9A 1F D1 C1 09 09 73 *.q.!...!......s
00BAD0: 23 72 2A B2 71 E5 E1 23 E5 E1 22 B2 71 C3 B0 1A #r*.q..#..".q...
00BAE0: 33 33 21 00 00 E5 E1 22 B2 71 CD 27 01 20 20 31 33!....".q.'. 1
00BAF0: 20 53 53 41 50 3E 01 CD 21 01 21 0D 00 E5 3E 01 SSAP>..!.!...>.
00BB00: 6F 64 65 73 20 2A 29 0D 0A 09 09 63 61 6C 2C 20 odes *)....cal,
00BB10: 6A 70 63 2C 20 6A 75 6D 70 2C 20 6C 69 74 2C 20 jpc, jump, lit,
00BB20: 6F 70 72 2C 20 6C 6F 64 2C 20 73 74 6F 2C 20 69 opr, lod, sto, i
00BB30: 6E 74 2C 0D 0A 09 09 63 73 70 2C 20 6C 6F 64 78 nt,....csp, lodx
00BB40: 2C 20 73 74 6F 78 2C 20 61 6C 69 74 2C 20 61 6C , stox, alit, al
00BB50: 6F 64 2C 20 61 73 74 6F 2C 0D 0A 09 09 61 6C 6F od, asto,....alo
00BB60: 64 78 2C 20 61 73 74 6F 78 2C 20 70 73 68 66 2C dx, astox, pshf,
00BB70: 20 63 6C 6F 64 2C 20 63 73 74 6F 2C 0D 0A 09 09 clod, csto,....
00BB80: 63 6C 6F 64 78 2C 20 63 73 74 6F 78 2C 20 68 61 clodx, cstox, ha
00BB90: 6C 74 2C 20 6C 61 62 2C 0D 0A 09 09 70 65 6F 66 lt, lab,....peof
00BBA0: 2C 20 28 2A 20 65 6E 64 20 6F 66 20 70 2D 63 6F , (* end of p-co
00BBB0: 64 65 20 66 69 6C 65 20 2A 29 0D 0A 09 09 6C 61 de file *)....la
00BBC0: 61 2C 20 6C 6F 64 69 2C 20 73 74 6F 69 2C 20 63 a, lodi, stoi, c
00BBD0: 6C 6F 64 69 2C 20 63 73 74 6F 69 2C 20 61 6C 6F lodi, cstoi, alo
00BBE0: 64 69 2C 20 61 73 74 6F 69 2C 0D 0A 09 09 69 6E di, astoi,....in
00BBF0: 64 78 2C 20 61 69 6E 64 78 2C 20 63 69 6E 64 78 dx, aindx, cindx
00BC00: 0D 0A 09 09 29 3B 0D 0A 09 66 66 6C 61 67 73 09 ....);...fflags.
00BC10: 3D 20 28 20 28 2A 20 66 6C 61 67 73 20 73 65 74 = ( (* flags set
00BC20: 20 77 68 65 6E 20 63 6F 6E 64 69 74 69 6F 6E 20 when condition
00BC30: 69 73 20 66 61 6C 73 65 20 2A 29 0D 0A 09 09 69 is false *)....i
00BC40: 66 6E 7A 2C 20 69 66 7A 2C 20 69 66 63 7A 2C 20 fnz, ifz, ifcz,
00BC50: 69 66 7A 6E 63 2C 20 69 66 6E 63 2C 20 69 66 63 ifznc, ifnc, ifc
00BC60: 0D 0A 09 09 29 3B 0D 0A 09 6C 61 62 74 79 70 09 ....);...labtyp.
00BC70: 3D 20 61 72 72 61 79 5B 30 2E 2E 6E 6C 61 62 5D = array[0..nlab]
00BC80: 20 6F 66 20 77 6F 72 64 3B 0D 0A 09 63 6F 64 74 of word;...codt
00BC90: 79 70 09 3D 20 61 72 72 61 79 5B 30 2E 2E 63 6F yp.= array[0..co
00BCA0: 64 65 6D 61 78 5D 20 6F 66 20 77 6F 72 64 3B 0D demax] of word;.
00BCB0: 0A 0D 0A 76 61 72 0D 0A 09 6C 61 62 65 6C 09 3A ...var...label.:
00BCC0: 20 6C 61 62 74 79 70 3B 09 28 2A 20 6C 61 62 65 labtyp;.(* labe
00BCD0: 6C 20 70 2D 61 64 64 72 65 73 73 65 73 20 2A 29 l p-addresses *)
00BCE0: 0D 0A 09 61 64 72 09 3A 20 6C 61 62 74 79 70 3B ...adr.: labtyp;
00BCF0: 09 28 2A 20 6C 61 62 65 6C 20 38 30 38 30 20 61 .(* label 8080 a
00BD00: CD 0C 01 21 0A 00 E5 3E 01 CD 0C 01 21 01 00 E5 ...!...>....!...
00BD10: 11 68 19 CD 42 01 33 33 2A B2 71 E5 3E 01 CD 12 .h..B.33*.q.>...
00BD20: 01 CD 27 01 53 45 44 4F 43 2D 50 20 3E 01 CD 21 ..'.SEDOC-P >..!
00BD30: 01 CD 27 01 20 20 20 44 41 45 52 20 3E 01 CD 21 ..'. DAER >..!
00BD40: 01 21 0D 00 E5 3E 01 CD 0C 01 21 0A 00 E5 3E 01 .!...>....!...>.
00BD50: CD 0C 01 21 00 00 E5 E1 22 B0 71 CD 27 01 20 20 ...!....".q.'.
00BD60: 32 20 53 53 41 50 3E 01 CD 21 01 21 0D 00 E5 3E 2 SSAP>..!.!...>
00BD70: 01 CD 0C 01 21 0A 00 E5 3E 01 CD 0C 01 21 02 00 ....!...>....!..
00BD80: E5 11 68 19 CD 42 01 33 33 CD 27 01 20 20 20 21 ..h..B.33.'. !
00BD90: 45 4E 4F 44 3E 01 CD 21 01 21 0D 00 E5 3E 01 CD ENOD>..!.!...>..
00BDA0: 0C 01 21 0A 00 E5 3E 01 CD 0C 01 3E 00 CD 24 01 ..!...>....>..$.
00BDB0: 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A ................
00BDC0: 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A ................
00BDD0: 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A ................
00BDE0: 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A ................
00BDF0: 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A ................
00BE00: 45 20 45 53 41 48 50 3E 01 CD 21 01 CD 27 01 50 E ESAHP>..!..'.P
00BE10: 20 20 20 20 52 4F 52 3E 01 CD 21 01 2A AC 71 E5 ROR>..!.*.q.
00BE20: 3E 01 CD 12 01 2A A8 71 E5 21 17 00 E5 CD 06 01 >....*.q.!......
00BE30: C2 7F 19 2A B6 71 E5 21 01 00 E5 CD 06 01 C2 49 ...*.q.!.......I
00BE40: 1A 2A AE 71 E5 E1 22 B4 71 C3 48 01 CD 27 01 56 .*.q..".q.H..'.V
00BE50: 45 52 20 54 45 46 50 3E 01 CD 21 01 21 20 00 E5 ER TEFP>..!.! ..
00BE60: 3E 01 CD 0C 01 21 00 00 E5 3E 01 CD 12 01 21 2E >....!...>....!.
00BE70: 00 E5 3E 01 CD 0C 01 21 00 00 E5 3E 01 CD 12 01 ..>....!...>....
00BE80: 21 08 00 E5 3E 01 CD 12 01 21 52 00 E5 3E 01 CD !...>....!R..>..
00BE90: 0C 01 21 0D 00 E5 3E 01 CD 0C 01 21 0A 00 E5 3E ..!...>....!...>
00BEA0: 01 CD 0C 01 21 00 00 E5 E1 22 B2 71 21 F4 01 E5 ....!....".q!...
00BEB0: E1 E5 E5 2A B2 71 E5 CD 06 01 CA C0 1A D2 E0 1A ...*.q..........
00BEC0: 2A B2 71 E5 21 00 00 E5 21 9A 1F D1 C1 09 09 73 *.q.!...!......s
00BED0: 23 72 2A B2 71 E5 E1 23 E5 E1 22 B2 71 C3 B0 1A #r*.q..#..".q...
00BEE0: 33 33 21 00 00 E5 E1 22 B2 71 CD 27 01 20 20 31 33!....".q.'. 1
00BEF0: 20 53 53 41 50 3E 01 CD 21 01 21 0D 00 E5 3E 01 SSAP>..!.!...>.
00BF00: 54 72 61 63 6B 2D 49 6E 66 6F 0D 0A 00 01 00 00 Track-Info......
00BF10: 0A 00 00 00 02 09 4A E5 0A 00 C1 02 00 00 00 02 ......J.........
00BF20: 0A 00 C6 02 00 00 00 02 0A 00 C2 02 00 00 00 02 ................
00BF30: 0A 00 C7 02 00 00 00 02 0A 00 C3 02 00 00 00 02 ................
00BF40: 0A 00 C8 02 00 00 00 02 0A 00 C4 02 00 00 00 02 ................
00BF50: 0A 00 C9 02 00 00 00 02 0A 00 C5 02 00 00 00 02 ................
00BF60: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
00BF70: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
00BF80: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
00BF90: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
00BFA0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
00BFB0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
00BFC0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
00BFD0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
00BFE0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
00BFF0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
00C000: 64 64 72 65 73 73 65 73 20 2A 29 0D 0A 09 66 6C ddresses *)...fl
00C010: 61 09 3A 20 63 6F 64 74 79 70 3B 09 28 2A 20 70 a.: codtyp;.(* p
00C020: 2D 63 6F 64 65 20 66 75 6E 63 74 69 6F 6E 20 26 -code function &
00C030: 20 6C 65 76 65 6C 20 2A 29 0D 0A 09 61 61 09 3A level *)...aa.:
00C040: 20 63 6F 64 74 79 70 3B 09 28 2A 20 70 2D 63 6F codtyp;.(* p-co
00C050: 64 65 20 61 64 64 72 65 73 73 20 2A 29 0D 0A 09 de address *)...
00C060: 66 09 3A 20 77 6F 72 64 3B 09 09 28 2A 20 63 75 f.: word;..(* cu
00C070: 72 72 65 6E 74 20 69 6E 73 74 72 75 63 74 69 6F rrent instructio
00C080: 6E 20 66 75 6E 63 74 69 6F 6E 20 2A 29 0D 0A 09 n function *)...
00C090: 6C 09 3A 20 77 6F 72 64 3B 09 09 28 2A 20 63 75 l.: word;..(* cu
00C0A0: 72 72 65 6E 74 20 69 6E 73 74 72 75 63 74 69 6F rrent instructio
00C0B0: 6E 20 6C 65 76 65 6C 20 2A 29 0D 0A 09 61 09 3A n level *)...a.:
00C0C0: 20 77 6F 72 64 3B 09 09 28 2A 20 63 75 72 72 65 word;..(* curre
00C0D0: 6E 74 20 69 6E 73 74 72 75 63 74 69 6F 6E 20 61 nt instruction a
00C0E0: 64 64 72 65 73 73 20 2A 29 0D 0A 09 63 6F 61 09 ddress *)...coa.
00C0F0: 3A 20 77 6F 72 64 3B 09 09 28 2A 20 63 6F 64 65 : word;..(* code
00C100: 20 6F 75 74 20 61 64 64 72 65 73 73 20 2A 29 0D out address *).
00C110: 0A 09 63 78 09 3A 20 77 6F 72 64 3B 09 09 28 2A ..cx.: word;..(*
00C120: 20 70 2D 63 6F 64 65 20 61 72 72 61 79 20 69 6E p-code array in
00C130: 64 65 78 20 2A 29 0D 0A 09 63 69 78 09 3A 20 77 dex *)...cix.: w
00C140: 6F 72 64 3B 09 09 28 2A 20 6E 75 6D 62 65 72 20 ord;..(* number
00C150: 6F 66 20 70 2D 63 6F 64 65 73 20 72 65 61 64 20 of p-codes read
00C160: 2A 29 0D 0A 09 67 6C 72 61 6D 09 3A 20 77 6F 72 *)...glram.: wor
00C170: 64 3B 09 09 28 2A 20 62 61 73 65 20 61 64 64 72 d;..(* base addr
00C180: 65 73 73 20 6F 66 20 67 6C 6F 62 61 6C 20 72 61 ess of global ra
00C190: 6D 20 2A 29 0D 0A 09 70 61 73 73 09 3A 20 77 6F m *)...pass.: wo
00C1A0: 72 64 3B 09 09 28 2A 20 70 61 73 73 20 6E 75 6D rd;..(* pass num
00C1B0: 62 65 72 20 2A 29 0D 0A 09 6C 66 6C 09 3A 20 66 ber *)...lfl.: f
00C1C0: 66 6C 61 67 73 3B 09 28 2A 20 66 6C 61 67 73 20 flags;.(* flags
00C1D0: 73 65 74 20 77 68 65 6E 20 6C 61 73 74 0D 0A 09 set when last...
00C1E0: 09 09 09 74 72 61 6E 73 6C 61 74 65 64 20 63 6F ...translated co
00C1F0: 6E 64 69 74 69 6F 6E 61 6C 20 69 73 0D 0A 09 09 nditional is....
00C200: 6E 64 27 2C 31 33 2C 31 30 29 0D 0A 09 65 6E 64 nd',13,10)...end
00C210: 3B 20 28 2A 20 65 69 65 69 61 64 72 20 2A 29 0D ; (* eieiadr *).
00C220: 0A 0D 0A 70 72 6F 63 65 64 75 72 65 20 64 77 32 ...procedure dw2
00C230: 3B 0D 0A 0D 0A 09 62 65 67 69 6E 0D 0A 09 63 6F ;.....begin...co
00C240: 34 62 28 66 2C 20 6C 2C 20 61 2C 20 61 2F 32 35 4b(f, l, a, a/25
00C250: 36 29 0D 0A 09 65 6E 64 3B 20 28 2A 20 64 77 32 6)...end; (* dw2
00C260: 20 2A 29 0D 0A 0D 0A 70 72 6F 63 65 64 75 72 65 *)....procedure
00C270: 20 66 6C 61 67 74 6F 61 3B 0D 0A 0D 0A 09 62 65 flagtoa;.....be
00C280: 67 69 6E 0D 0A 09 63 61 73 65 20 6C 66 6C 20 6F gin...case lfl o
00C290: 66 0D 0A 09 69 66 6E 7A 3A 09 62 65 67 69 6E 0D f...ifnz:.begin.
00C2A0: 0A 09 09 63 6F 34 62 28 61 64 69 2C 20 32 35 35 ...co4b(adi, 255
00C2B0: 2C 20 63 6D 63 2C 20 73 62 62 61 29 0D 0A 09 09 , cmc, sbba)....
00C2C0: 65 6E 64 3B 20 28 2A 20 69 66 6E 7A 20 2A 29 0D end; (* ifnz *).
00C2D0: 0A 09 69 66 7A 3A 09 62 65 67 69 6E 0D 0A 09 09 ..ifz:.begin....
00C2E0: 63 6F 33 62 28 61 64 69 2C 20 32 35 35 2C 20 73 co3b(adi, 255, s
00C2F0: 62 62 61 29 0D 0A 09 09 65 6E 64 3B 20 28 2A 20 bba)....end; (*
00C300: 69 66 7A 20 2A 29 0D 0A 09 69 66 63 7A 3A 09 62 ifz *)...ifcz:.b
00C310: 65 67 69 6E 0D 0A 09 09 63 6F 32 62 28 6D 76 69 egin....co2b(mvi
00C320: 61 2C 20 30 29 3B 0D 0A 09 09 63 6F 6F 70 61 64 a, 0);....coopad
00C330: 28 6A 63 2C 63 6F 61 2B 37 29 3B 20 63 6F 6F 70 (jc,coa+7); coop
00C340: 61 64 28 6A 7A 2C 63 6F 61 2B 34 29 3B 20 63 6F ad(jz,coa+4); co
00C350: 31 62 28 64 63 72 61 29 0D 0A 09 09 65 6E 64 3B 1b(dcra)....end;
00C360: 20 28 2A 20 69 66 63 7A 20 2A 29 0D 0A 09 69 66 (* ifcz *)...if
00C370: 7A 6E 63 3A 09 62 65 67 69 6E 0D 0A 09 09 63 6F znc:.begin....co
00C380: 32 62 28 6D 76 69 61 2C 20 30 29 3B 0D 0A 09 09 2b(mvia, 0);....
00C390: 63 6F 6F 70 61 64 28 6A 7A 2C 63 6F 61 2B 36 29 coopad(jz,coa+6)
00C3A0: 3B 20 63 6F 6F 70 61 64 28 6A 6E 63 2C 63 6F 61 ; coopad(jnc,coa
00C3B0: 2B 34 29 3B 20 63 6F 31 62 28 64 63 72 61 29 0D +4); co1b(dcra).
00C3C0: 0A 09 09 65 6E 64 3B 20 28 2A 20 69 66 7A 6E 63 ...end; (* ifznc
00C3D0: 20 2A 29 0D 0A 09 69 66 6E 63 3A 09 63 6F 31 62 *)...ifnc:.co1b
00C3E0: 28 73 62 62 61 29 3B 0D 0A 09 69 66 63 3A 09 62 (sbba);...ifc:.b
00C3F0: 65 67 69 6E 0D 0A 09 09 63 6F 32 62 28 63 6D 63 egin....co2b(cmc
00C400: 09 09 66 61 6C 73 65 20 2A 29 0D 0A 09 0D 0A 09 ..false *)......
00C410: 28 2A 20 67 6C 6F 62 61 6C 20 76 61 72 69 61 62 (* global variab
00C420: 6C 65 73 20 66 6F 72 20 70 72 6F 63 65 64 75 72 les for procedur
00C430: 65 20 67 65 74 70 63 64 20 66 6F 72 20 73 70 65 e getpcd for spe
00C440: 65 64 20 2A 29 0D 0A 09 61 64 6C 6F 2C 20 61 64 ed *)...adlo, ad
00C450: 68 69 09 3A 20 77 6F 72 64 3B 0D 0A 0D 0A 09 28 hi.: word;.....(
00C460: 2A 20 67 6C 6F 62 61 6C 20 76 61 72 69 61 62 6C * global variabl
00C470: 65 73 20 66 6F 72 20 66 75 6E 63 74 69 6F 6E 20 es for function
00C480: 65 69 65 69 61 64 72 20 66 6F 72 20 73 70 65 65 eieiadr for spee
00C490: 64 20 2A 29 0D 0A 09 65 69 69 2C 20 65 69 6A 2C d *)...eii, eij,
00C4A0: 20 65 69 6B 09 3A 20 77 6F 72 64 3B 0D 0A 0D 0A eik.: word;....
00C4B0: 09 28 2A 20 67 6C 6F 62 61 6C 20 76 61 72 69 61 .(* global varia
00C4C0: 62 6C 65 73 20 66 6F 72 20 70 72 6F 63 65 64 75 bles for procedu
00C4D0: 72 65 20 74 72 61 6E 73 20 66 6F 72 20 73 70 65 re trans for spe
00C4E0: 65 64 20 2A 29 0D 0A 09 74 72 61 6E 73 69 09 3A ed *)...transi.:
00C4F0: 20 77 6F 72 64 3B 0D 0A 0D 0A 70 72 6F 63 65 64 word;....proced
00C500: 75 72 65 20 63 6F 31 62 28 63 68 3A 20 77 6F 72 ure co1b(ch: wor
00C510: 64 29 3B 0D 0A 0D 0A 09 62 65 67 69 6E 0D 0A 09 d);.....begin...
00C520: 63 6F 61 3A 3D 63 6F 61 2B 31 3B 0D 0A 09 69 66 coa:=coa+1;...if
00C530: 20 70 61 73 73 3D 32 20 74 68 65 6E 20 70 75 74 pass=2 then put
00C540: 23 30 28 63 68 29 0D 0A 09 65 6E 64 3B 20 28 2A #0(ch)...end; (*
00C550: 20 63 6F 31 62 20 2A 29 0D 0A 0D 0A 70 72 6F 63 co1b *)....proc
00C560: 65 64 75 72 65 20 63 6F 32 62 28 63 31 2C 63 32 edure co2b(c1,c2
00C570: 3A 20 77 6F 72 64 29 3B 0D 0A 0D 0A 09 62 65 67 : word);.....beg
00C580: 69 6E 0D 0A 09 63 6F 61 3A 3D 63 6F 61 2B 32 3B in...coa:=coa+2;
00C590: 0D 0A 09 69 66 20 70 61 73 73 3D 32 20 74 68 65 ...if pass=2 the
00C5A0: 6E 20 70 75 74 23 30 28 63 31 2C 63 32 29 0D 0A n put#0(c1,c2)..
00C5B0: 09 65 6E 64 3B 20 28 2A 20 63 6F 32 62 20 2A 29 .end; (* co2b *)
00C5C0: 0D 0A 0D 0A 70 72 6F 63 65 64 75 72 65 20 63 6F ....procedure co
00C5D0: 33 62 28 63 31 2C 63 32 2C 63 33 3A 20 77 6F 72 3b(c1,c2,c3: wor
00C5E0: 64 29 3B 0D 0A 0D 0A 09 62 65 67 69 6E 0D 0A 09 d);.....begin...
00C5F0: 63 6F 61 3A 3D 63 6F 61 2B 33 3B 0D 0A 09 69 66 coa:=coa+3;...if
00C600: 2C 20 73 62 62 61 29 0D 0A 09 09 65 6E 64 20 28 , sbba)....end (
00C610: 2A 20 69 66 63 20 2A 29 0D 0A 09 65 6E 64 20 28 * ifc *)...end (
00C620: 2A 20 63 61 73 65 20 6C 66 6C 20 6F 66 20 2A 29 * case lfl of *)
00C630: 0D 0A 09 65 6E 64 3B 20 28 2A 20 66 6C 61 67 74 ...end; (* flagt
00C640: 6F 61 20 2A 29 0D 0A 0D 0A 70 72 6F 63 65 64 75 oa *)....procedu
00C650: 72 65 20 74 72 61 6E 73 3B 0D 0A 0D 0A 09 62 65 re trans;.....be
00C660: 67 69 6E 0D 0A 09 63 61 73 65 20 66 20 6F 66 0D gin...case f of.
00C670: 0A 09 6C 69 74 3A 09 62 65 67 69 6E 0D 0A 09 09 ..lit:.begin....
00C680: 63 6F 6F 70 61 64 28 6C 78 69 68 2C 61 29 3B 20 coopad(lxih,a);
00C690: 63 6F 31 62 28 70 75 73 68 68 29 0D 0A 09 09 65 co1b(pushh)....e
00C6A0: 6E 64 3B 0D 0A 09 6F 70 72 3A 09 63 61 73 65 20 nd;...opr:.case
00C6B0: 61 20 6F 66 0D 0A 09 09 30 3A 09 28 2A 20 70 72 a of....0:.(* pr
00C6C0: 6F 63 65 64 75 72 65 20 72 65 74 75 72 6E 20 2A ocedure return *
00C6D0: 29 0D 0A 09 09 09 63 6F 6F 70 61 64 28 6A 6D 70 ).....coopad(jmp
00C6E0: 2C 73 70 72 65 74 29 3B 0D 0A 09 09 32 3A 09 28 ,spret);....2:.(
00C6F0: 2A 20 28 74 6F 70 29 3D 28 74 6F 70 29 2B 28 74 * (top)=(top)+(t
00C700: 6F 70 2D 31 29 20 2A 29 0D 0A 09 09 09 62 65 67 op-1) *).....beg
00C710: 69 6E 0D 0A 09 09 09 63 6F 34 62 28 70 6F 70 64 in.....co4b(popd
00C720: 2C 20 70 6F 70 68 2C 20 64 61 64 64 2C 20 70 75 , poph, dadd, pu
00C730: 73 68 68 29 0D 0A 09 09 09 65 6E 64 3B 20 28 2A shh).....end; (*
00C740: 20 63 61 73 65 20 6F 70 72 20 73 75 62 20 2A 29 case opr sub *)
00C750: 0D 0A 09 09 33 3A 09 28 2A 20 28 74 6F 70 29 3D ....3:.(* (top)=
00C760: 28 74 6F 70 29 2D 28 74 6F 70 2D 31 29 20 2A 29 (top)-(top-1) *)
00C770: 0D 0A 09 09 09 63 6F 6F 70 61 64 28 63 61 6C 6C .....coopad(call
00C780: 2C 6F 70 72 33 29 3B 0D 0A 09 09 34 3A 09 28 2A ,opr3);....4:.(*
00C790: 20 6D 75 6C 74 69 70 6C 79 20 2A 29 0D 0A 09 09 multiply *)....
00C7A0: 09 63 6F 6F 70 61 64 28 63 61 6C 6C 2C 6F 70 72 .coopad(call,opr
00C7B0: 34 29 3B 0D 0A 09 09 35 3A 09 28 2A 20 64 69 76 4);....5:.(* div
00C7C0: 69 64 65 20 2A 29 0D 0A 09 09 09 63 6F 6F 70 61 ide *).....coopa
00C7D0: 64 28 63 61 6C 6C 2C 6F 70 72 35 29 3B 0D 0A 09 d(call,opr5);...
00C7E0: 09 38 3A 09 62 65 67 69 6E 20 28 2A 20 28 74 6F .8:.begin (* (to
00C7F0: 70 29 3D 28 74 6F 70 2D 31 29 20 63 6F 6E 64 69 p)=(top-1) condi
00C800: 20 70 61 73 73 3D 32 20 74 68 65 6E 20 70 75 74 pass=2 then put
00C810: 23 30 28 63 31 2C 63 32 2C 63 33 29 0D 0A 09 65 #0(c1,c2,c3)...e
00C820: 6E 64 3B 20 28 2A 20 63 6F 33 62 20 2A 29 0D 0A nd; (* co3b *)..
00C830: 0D 0A 70 72 6F 63 65 64 75 72 65 20 63 6F 34 62 ..procedure co4b
00C840: 28 63 31 2C 63 32 2C 63 33 2C 63 34 3A 20 77 6F (c1,c2,c3,c4: wo
00C850: 72 64 29 3B 0D 0A 0D 0A 09 62 65 67 69 6E 0D 0A rd);.....begin..
00C860: 09 63 6F 61 3A 3D 63 6F 61 2B 34 3B 0D 0A 09 69 .coa:=coa+4;...i
00C870: 66 20 70 61 73 73 3D 32 20 74 68 65 6E 20 70 75 f pass=2 then pu
00C880: 74 23 30 28 63 31 2C 63 32 2C 63 33 2C 63 34 29 t#0(c1,c2,c3,c4)
00C890: 0D 0A 09 65 6E 64 3B 20 28 2A 20 63 6F 34 62 20 ...end; (* co4b
00C8A0: 2A 29 0D 0A 0D 0A 70 72 6F 63 65 64 75 72 65 20 *)....procedure
00C8B0: 63 6F 61 64 28 61 64 3A 20 77 6F 72 64 29 3B 0D coad(ad: word);.
00C8C0: 0A 0D 0A 09 62 65 67 69 6E 0D 0A 09 63 6F 31 62 ....begin...co1b
00C8D0: 28 61 64 29 3B 20 63 6F 31 62 28 61 64 2F 32 35 (ad); co1b(ad/25
00C8E0: 36 29 0D 0A 09 65 6E 64 3B 20 28 2A 20 63 6F 61 6)...end; (* coa
00C8F0: 64 20 2A 29 0D 0A 0D 0A 70 72 6F 63 65 64 75 72 d *)....procedur
00C900: 65 20 63 6F 6F 70 61 64 28 6F 70 2C 61 64 3A 20 e coopad(op,ad:
00C910: 77 6F 72 64 29 3B 0D 0A 0D 0A 09 62 65 67 69 6E word);.....begin
00C920: 0D 0A 09 63 6F 31 62 28 6F 70 29 3B 20 63 6F 61 ...co1b(op); coa
00C930: 64 28 61 64 29 0D 0A 09 65 6E 64 3B 20 28 2A 20 d(ad)...end; (*
00C940: 63 6F 6F 70 61 64 20 2A 29 0D 0A 0D 0A 70 72 6F coopad *)....pro
00C950: 63 65 64 75 72 65 20 67 65 74 70 63 64 3B 20 28 cedure getpcd; (
00C960: 2A 20 67 65 74 20 6E 65 78 74 20 70 2D 63 6F 64 * get next p-cod
00C970: 65 20 74 6F 20 66 2C 20 6C 2C 20 61 6E 64 20 61 e to f, l, and a
00C980: 20 2A 29 0D 0A 0D 0A 09 62 65 67 69 6E 0D 0A 09 *).....begin...
00C990: 69 66 20 70 61 73 73 3D 31 20 74 68 65 6E 20 62 if pass=1 then b
00C9A0: 65 67 69 6E 0D 0A 09 09 69 66 20 63 69 78 3E 63 egin....if cix>c
00C9B0: 6F 64 65 6D 61 78 20 74 68 65 6E 20 70 75 74 23 odemax then put#
00C9C0: 31 28 27 2A 63 64 20 6F 76 65 72 27 29 3B 0D 0A 1('*cd over');..
00C9D0: 09 09 67 65 74 23 30 28 66 29 3B 0D 0A 09 09 67 ..get#0(f);....g
00C9E0: 65 74 23 30 28 6C 29 3B 0D 0A 09 09 66 6C 61 5B et#0(l);....fla[
00C9F0: 63 69 78 5D 3A 3D 66 2B 6C 2A 32 35 36 3B 0D 0A cix]:=f+l*256;..
00CA00: 74 69 6F 6E 61 6C 20 2A 29 0D 0A 09 09 09 67 65 tional *).....ge
00CA10: 6E 63 6D 70 3B 20 6C 66 6C 3A 3D 69 66 6E 7A 0D ncmp; lfl:=ifnz.
00CA20: 0A 09 09 09 65 6E 64 3B 20 28 2A 20 6F 70 72 20 ....end; (* opr
00CA30: 38 20 2A 29 0D 0A 09 09 39 3A 09 62 65 67 69 6E 8 *)....9:.begin
00CA40: 20 28 2A 20 28 74 6F 70 29 3C 3E 28 74 6F 70 2D (* (top)<>(top-
00CA50: 31 29 20 63 6F 6E 64 74 69 6F 6E 61 6C 20 2A 29 1) condtional *)
00CA60: 0D 0A 09 09 09 67 65 6E 63 6D 70 3B 20 6C 66 6C .....gencmp; lfl
00CA70: 3A 3D 69 66 7A 0D 0A 09 09 09 65 6E 64 3B 20 28 :=ifz.....end; (
00CA80: 2A 20 6F 70 72 20 39 20 2A 29 0D 0A 09 09 31 30 * opr 9 *)....10
00CA90: 3A 09 62 65 67 69 6E 20 28 2A 20 28 74 6F 70 29 :.begin (* (top)
00CAA0: 3C 28 74 6F 70 2D 31 29 20 63 6F 6E 64 69 74 69 <(top-1) conditi
00CAB0: 6E 61 6C 20 2A 29 0D 0A 09 09 09 67 65 6E 63 6D nal *).....gencm
00CAC0: 70 3B 20 6C 66 6C 3A 3D 69 66 63 7A 0D 0A 09 09 p; lfl:=ifcz....
00CAD0: 09 65 6E 64 3B 20 28 2A 20 6F 70 72 20 31 30 20 .end; (* opr 10
00CAE0: 2A 29 0D 0A 09 09 31 31 3A 09 62 65 67 69 6E 20 *)....11:.begin
00CAF0: 28 2A 20 28 74 6F 70 2D 31 29 3E 3D 28 74 6F 70 (* (top-1)>=(top
00CB00: 29 20 63 6F 6E 64 69 74 6F 6E 61 6C 20 2A 29 0D ) conditonal *).
00CB10: 0A 09 09 09 67 65 6E 63 6D 70 3B 20 6C 66 6C 3A ....gencmp; lfl:
00CB20: 3D 69 66 7A 6E 63 0D 0A 09 09 09 65 6E 64 3B 20 =ifznc.....end;
00CB30: 28 2A 20 6F 70 72 20 31 31 20 2A 29 0D 0A 09 09 (* opr 11 *)....
00CB40: 31 32 3A 09 62 65 67 69 6E 20 28 2A 20 28 74 6F 12:.begin (* (to
00CB50: 70 2D 31 29 3E 28 74 6F 70 29 20 63 6F 6E 64 69 p-1)>(top) condi
00CB60: 74 69 6F 6E 6C 61 20 2A 29 0D 0A 09 09 09 67 65 tionla *).....ge
00CB70: 6E 63 6D 70 3B 20 6C 66 6C 3A 3D 69 66 6E 63 0D ncmp; lfl:=ifnc.
00CB80: 0A 09 09 09 65 6E 64 3B 20 28 2A 20 6F 70 72 20 ....end; (* opr
00CB90: 31 32 20 2A 29 0D 0A 09 09 31 33 3A 09 62 65 67 12 *)....13:.beg
00CBA0: 69 6E 20 28 2A 20 28 74 6F 70 2D 31 29 3C 3D 28 in (* (top-1)<=(
00CBB0: 74 6F 70 29 20 63 6F 6E 64 69 74 69 6F 6E 61 6C top) conditional
00CBC0: 20 2A 29 0D 0A 09 09 09 67 65 6E 63 6D 70 3B 20 *).....gencmp;
00CBD0: 6C 66 6C 3A 3D 69 66 63 0D 0A 09 09 09 65 6E 64 lfl:=ifc.....end
00CBE0: 3B 20 28 2A 20 6F 70 72 20 31 33 20 2A 29 0D 0A ; (* opr 13 *)..
00CBF0: 09 09 31 34 3A 09 62 65 67 69 6E 20 28 2A 20 28 ..14:.begin (* (
00CC00: 09 09 67 65 74 23 30 28 61 64 6C 6F 29 3B 20 67 ..get#0(adlo); g
00CC10: 65 74 23 30 28 61 64 68 69 29 3B 0D 0A 09 09 61 et#0(adhi);....a
00CC20: 3A 3D 61 64 6C 6F 2B 61 64 68 69 2A 32 35 36 3B :=adlo+adhi*256;
00CC30: 0D 0A 09 09 61 61 5B 63 69 78 5D 3A 3D 61 3B 0D ....aa[cix]:=a;.
00CC40: 0A 09 09 63 69 78 3A 3D 63 69 78 2B 31 0D 0A 09 ...cix:=cix+1...
00CC50: 09 65 6E 64 0D 0A 09 65 6C 73 65 20 62 65 67 69 .end...else begi
00CC60: 6E 20 28 2A 20 6D 75 73 74 20 62 65 20 70 61 73 n (* must be pas
00CC70: 73 20 32 20 2A 29 0D 0A 09 09 61 3A 3D 66 6C 61 s 2 *)....a:=fla
00CC80: 5B 63 78 5D 3B 20 28 2A 20 75 73 65 20 61 20 61 [cx]; (* use a a
00CC90: 73 20 61 20 74 65 6D 70 20 2A 29 0D 0A 09 09 6C s a temp *)....l
00CCA0: 3A 3D 61 2F 32 35 36 3B 20 66 3A 3D 61 2D 6C 2A :=a/256; f:=a-l*
00CCB0: 32 35 36 3B 0D 0A 09 09 61 3A 3D 61 61 5B 63 78 256;....a:=aa[cx
00CCC0: 5D 3B 0D 0A 09 09 63 78 3A 3D 63 78 2B 31 0D 0A ];....cx:=cx+1..
00CCD0: 09 09 65 6E 64 0D 0A 09 65 6E 64 3B 20 28 2A 20 ..end...end; (*
00CCE0: 67 65 74 70 63 64 20 2A 29 0D 0A 0D 0A 70 72 6F getpcd *)....pro
00CCF0: 63 65 64 75 72 65 20 77 72 73 79 6D 3B 0D 0A 0D cedure wrsym;...
00CD00: 0A 09 76 61 72 20 09 69 09 3A 20 77 6F 72 64 3B ..var .i.: word;
00CD10: 0D 0A 0D 0A 09 62 65 67 69 6E 0D 0A 09 66 6F 72 .....begin...for
00CD20: 20 69 3A 3D 30 20 74 6F 20 6E 6C 61 62 20 64 6F i:=0 to nlab do
00CD30: 20 62 65 67 69 6E 0D 0A 09 09 70 75 74 23 31 28 begin....put#1(
00CD40: 27 50 27 2C 6C 61 62 65 6C 5B 69 5D 23 29 3B 0D 'P',label[i]#);.
00CD50: 0A 09 09 70 75 74 23 31 28 27 20 27 2C 61 64 72 ...put#1(' ',adr
00CD60: 5B 69 5D 23 29 3B 0D 0A 09 09 70 75 74 23 31 28 [i]#);....put#1(
00CD70: 31 33 2C 31 30 29 0D 0A 09 09 65 6E 64 0D 0A 09 13,10)....end...
00CD80: 65 6E 64 3B 20 28 2A 20 77 72 73 79 6D 20 2A 29 end; (* wrsym *)
00CD90: 0D 0A 0D 0A 70 72 6F 63 65 64 75 72 65 20 67 65 ....procedure ge
00CDA0: 6E 63 6D 70 3B 0D 0A 0D 0A 09 62 65 67 69 6E 0D ncmp;.....begin.
00CDB0: 0A 09 69 66 20 6C 3D 30 0D 0A 09 09 74 68 65 6E ..if l=0....then
00CDC0: 20 63 6F 6F 70 61 64 28 63 61 6C 6C 2C 63 6D 70 coopad(call,cmp
00CDD0: 72 29 0D 0A 09 09 65 6C 73 65 20 63 6F 6F 70 61 r)....else coopa
00CDE0: 64 28 63 61 6C 6C 2C 61 63 6D 70 72 29 0D 0A 09 d(call,acmpr)...
00CDF0: 65 6E 64 3B 20 28 2A 20 67 65 6E 63 6D 70 20 2A end; (* gencmp *
00CE00: 74 6F 70 29 3D 28 74 6F 70 2D 31 29 20 6F 72 20 top)=(top-1) or
00CE10: 28 74 6F 70 29 20 2A 29 0D 0A 09 09 09 66 6C 61 (top) *).....fla
00CE20: 67 74 6F 61 3B 20 63 6F 32 62 28 70 6F 70 64 2C gtoa; co2b(popd,
00CE30: 20 6F 72 61 64 29 3B 0D 0A 09 09 09 6C 66 6C 3A orad);.....lfl:
00CE40: 3D 69 66 7A 0D 0A 09 09 09 65 6E 64 3B 20 28 2A =ifz.....end; (*
00CE50: 20 6F 70 72 20 31 34 20 2A 29 0D 0A 09 09 31 35 opr 14 *)....15
00CE60: 3A 09 62 65 67 69 6E 20 28 2A 20 28 74 6F 70 29 :.begin (* (top)
00CE70: 3D 28 74 6F 70 2D 31 29 20 61 6E 64 20 28 74 6F =(top-1) and (to
00CE80: 70 29 20 2A 29 0D 0A 09 09 09 66 6C 61 67 74 6F p) *).....flagto
00CE90: 61 3B 20 63 6F 32 62 28 70 6F 70 64 2C 20 61 6E a; co2b(popd, an
00CEA0: 61 64 29 3B 0D 0A 09 09 09 6C 66 6C 3A 3D 69 66 ad);.....lfl:=if
00CEB0: 7A 0D 0A 09 09 09 65 6E 64 3B 20 28 2A 20 6F 70 z.....end; (* op
00CEC0: 72 20 31 35 20 2A 29 0D 0A 09 09 31 39 3A 09 62 r 15 *)....19:.b
00CED0: 65 67 69 6E 20 28 2A 20 69 6E 63 72 65 6D 65 6E egin (* incremen
00CEE0: 74 20 28 74 6F 70 29 20 2A 29 0D 0A 09 09 09 63 t (top) *).....c
00CEF0: 6F 33 62 28 70 6F 70 68 2C 20 69 6E 78 68 2C 20 o3b(poph, inxh,
00CF00: 70 75 73 68 68 29 3B 0D 0A 09 09 09 6C 66 6C 3A pushh);.....lfl:
00CF10: 3D 69 66 7A 0D 0A 09 09 09 65 6E 64 3B 20 28 2A =ifz.....end; (*
00CF20: 20 6F 70 72 20 31 39 20 2A 29 0D 0A 09 09 32 30 opr 19 *)....20
00CF30: 3A 09 62 65 67 69 6E 20 28 2A 20 64 65 63 72 65 :.begin (* decre
00CF40: 6D 65 6E 74 20 28 74 6F 70 29 20 2A 29 0D 0A 09 ment (top) *)...
00CF50: 09 09 63 6F 33 62 28 70 6F 70 68 2C 20 64 63 78 ..co3b(poph, dcx
00CF60: 68 2C 20 70 75 73 68 68 29 0D 0A 09 09 09 65 6E h, pushh).....en
00CF70: 64 3B 20 28 2A 20 6F 70 72 20 32 30 20 2A 29 0D d; (* opr 20 *).
00CF80: 0A 09 09 32 31 3A 09 62 65 67 69 6E 20 28 2A 20 ...21:.begin (*
00CF90: 63 6F 70 79 20 28 74 6F 70 29 20 2A 29 0D 0A 09 copy (top) *)...
00CFA0: 09 09 63 6F 33 62 28 70 6F 70 68 2C 20 70 75 73 ..co3b(poph, pus
00CFB0: 68 68 2C 20 70 75 73 68 68 29 0D 0A 09 09 09 65 hh, pushh).....e
00CFC0: 6E 64 20 28 2A 20 63 61 73 65 20 6F 70 72 20 32 nd (* case opr 2
00CFD0: 31 20 2A 29 0D 0A 09 09 65 6C 73 65 09 70 75 74 1 *)....else.put
00CFE0: 23 31 28 27 62 61 64 20 6F 70 72 20 27 2C 61 23 #1('bad opr ',a#
00CFF0: 2C 31 33 2C 31 30 29 0D 0A 09 09 65 6E 64 3B 20 ,13,10)....end;
00D000: 29 0D 0A 0D 0A 70 72 6F 63 65 64 75 72 65 20 76 )....procedure v
00D010: 61 72 61 64 72 3B 0D 0A 0D 0A 09 76 61 72 09 6C aradr;.....var.l
00D020: 65 76 09 3A 20 77 6F 72 64 3B 0D 0A 0D 0A 09 62 ev.: word;.....b
00D030: 65 67 69 6E 0D 0A 09 6C 65 76 3A 3D 6C 3B 0D 0A egin...lev:=l;..
00D040: 09 69 66 20 6C 65 76 3D 30 20 74 68 65 6E 20 62 .if lev=0 then b
00D050: 65 67 69 6E 20 28 2A 20 6C 6F 63 61 6C 20 72 65 egin (* local re
00D060: 66 20 2A 29 0D 0A 09 09 63 6F 6F 70 61 64 28 6C f *)....coopad(l
00D070: 78 69 62 2C 30 2D 61 29 3B 0D 0A 09 09 63 6F 6F xib,0-a);....coo
00D080: 70 61 64 28 6C 68 6C 64 2C 62 72 29 3B 20 63 6F pad(lhld,br); co
00D090: 31 62 28 64 61 64 62 29 0D 0A 09 09 65 6E 64 0D 1b(dadb)....end.
00D0A0: 0A 09 65 6C 73 65 20 69 66 20 6C 65 76 3D 32 35 ..else if lev=25
00D0B0: 35 20 74 68 65 6E 20 28 2A 20 67 6C 6F 62 61 6C 5 then (* global
00D0C0: 20 72 65 66 20 2A 29 0D 0A 09 09 63 6F 6F 70 61 ref *)....coopa
00D0D0: 64 28 6C 78 69 68 2C 61 2B 67 6C 72 61 6D 29 0D d(lxih,a+glram).
00D0E0: 0A 09 65 6C 73 65 20 62 65 67 69 6E 20 28 2A 20 ..else begin (*
00D0F0: 69 6E 74 65 72 6D 65 64 69 61 74 65 20 72 65 66 intermediate ref
00D100: 20 2A 29 0D 0A 09 09 63 6F 32 62 28 6D 76 69 61 *)....co2b(mvia
00D110: 2C 6C 65 76 29 3B 0D 0A 09 09 63 6F 6F 70 61 64 ,lev);....coopad
00D120: 28 63 61 6C 6C 2C 62 61 73 65 29 3B 20 63 6F 6F (call,base); coo
00D130: 70 61 64 28 6C 78 69 64 2C 30 2D 61 29 3B 0D 0A pad(lxid,0-a);..
00D140: 09 09 63 6F 31 62 28 64 61 64 64 29 0D 0A 09 09 ..co1b(dadd)....
00D150: 65 6E 64 0D 0A 09 65 6E 64 3B 20 28 2A 20 76 61 end...end; (* va
00D160: 72 61 64 72 20 2A 29 0D 0A 0D 0A 66 75 6E 63 74 radr *)....funct
00D170: 69 6F 6E 20 65 69 65 69 61 64 72 28 70 61 64 3A ion eieiadr(pad:
00D180: 20 77 6F 72 64 20 28 2A 20 70 2D 63 6F 64 65 20 word (* p-code
00D190: 61 64 64 72 65 73 73 20 2A 29 20 29 3B 0D 0A 0D address *) );...
00D1A0: 0A 09 62 65 67 69 6E 0D 0A 09 69 66 20 70 61 73 ..begin...if pas
00D1B0: 73 3D 32 20 74 68 65 6E 0D 0A 09 09 69 66 20 61 s=2 then....if a
00D1C0: 64 72 5B 70 61 64 5D 3C 3E 30 20 74 68 65 6E 20 dr[pad]<>0 then
00D1D0: 65 69 65 69 61 64 72 3A 3D 61 64 72 5B 70 61 64 eieiadr:=adr[pad
00D1E0: 5D 0D 0A 09 09 65 6C 73 65 20 70 75 74 23 31 28 ]....else put#1(
00D1F0: 27 50 27 2C 70 61 64 23 2C 27 75 6E 64 65 66 69 'P',pad#,'undefi
00D200: 54 72 61 63 6B 2D 49 6E 66 6F 0D 0A 00 01 00 00 Track-Info......
00D210: 0B 00 00 00 02 09 49 E5 0B 00 C1 02 00 00 00 02 ......I.........
00D220: 0B 00 C6 02 00 00 00 02 0B 00 C2 02 00 00 00 02 ................
00D230: 0B 00 C7 02 00 00 00 02 0B 00 C3 02 00 00 00 02 ................
00D240: 0B 00 C8 02 00 00 00 02 0B 00 C4 02 00 00 00 02 ................
00D250: 0B 00 C9 02 00 00 00 02 0B 00 C5 02 00 00 00 02 ................
00D260: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
00D270: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
00D280: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
00D290: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
00D2A0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
00D2B0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
00D2C0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
00D2D0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
00D2E0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
00D2F0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
00D300: 28 2A 20 63 61 73 65 20 6F 70 72 20 2A 29 0D 0A (* case opr *)..
00D310: 09 6C 6F 64 3A 09 62 65 67 69 6E 0D 0A 09 09 69 .lod:.begin....i
00D320: 66 20 6C 3D 32 35 35 20 74 68 65 6E 20 62 65 67 f l=255 then beg
00D330: 69 6E 20 28 2A 20 67 6C 6F 62 61 6C 20 6C 6F 64 in (* global lod
00D340: 20 2A 29 0D 0A 09 09 09 63 6F 6F 70 61 64 28 6C *).....coopad(l
00D350: 68 6C 64 2C 61 2B 67 6C 72 61 6D 29 3B 0D 0A 09 hld,a+glram);...
00D360: 09 09 63 6F 31 62 28 70 75 73 68 68 29 0D 0A 09 ..co1b(pushh)...
00D370: 09 09 65 6E 64 20 28 2A 20 67 6C 6F 62 61 6C 20 ..end (* global
00D380: 2A 29 0D 0A 09 09 65 6C 73 65 20 62 65 67 69 6E *)....else begin
00D390: 20 28 2A 20 69 6E 74 65 72 6D 65 64 69 61 74 65 (* intermediate
00D3A0: 20 74 6F 20 6C 6F 63 61 6C 20 2A 29 0D 0A 09 09 to local *)....
00D3B0: 09 76 61 72 61 64 72 3B 20 63 6F 34 62 28 6D 6F .varadr; co4b(mo
00D3C0: 76 65 6D 2C 20 69 6E 78 68 2C 20 6D 6F 76 64 6D vem, inxh, movdm
00D3D0: 2C 20 70 75 73 68 64 29 3B 0D 0A 09 09 09 65 6E , pushd);.....en
00D3E0: 64 0D 0A 09 09 65 6E 64 3B 20 28 2A 20 63 61 73 d....end; (* cas
00D3F0: 65 20 6C 6F 64 20 2A 29 0D 0A 09 73 74 6F 3A 09 e lod *)...sto:.
00D400: 62 65 67 69 6E 0D 0A 09 09 69 66 20 6C 3D 32 35 begin....if l=25
00D410: 35 20 74 68 65 6E 20 62 65 67 69 6E 20 28 2A 20 5 then begin (*
00D420: 67 6C 6F 62 61 6C 20 73 74 6F 20 2A 29 0D 0A 09 global sto *)...
00D430: 09 09 63 6F 31 62 28 70 6F 70 68 29 3B 0D 0A 09 ..co1b(poph);...
00D440: 09 09 63 6F 6F 70 61 64 28 73 68 6C 64 2C 61 2B ..coopad(shld,a+
00D450: 67 6C 72 61 6D 29 0D 0A 09 09 09 65 6E 64 0D 0A glram).....end..
00D460: 09 09 65 6C 73 65 20 62 65 67 69 6E 20 28 2A 20 ..else begin (*
00D470: 69 6E 74 65 72 6D 65 64 69 61 74 65 20 74 6F 20 intermediate to
00D480: 6C 6F 63 61 6C 20 2A 29 0D 0A 09 09 09 76 61 72 local *).....var
00D490: 61 64 72 3B 20 63 6F 34 62 28 70 6F 70 64 2C 20 adr; co4b(popd,
00D4A0: 6D 6F 76 6D 65 2C 20 69 6E 78 68 2C 20 6D 6F 76 movme, inxh, mov
00D4B0: 6D 64 29 0D 0A 09 09 09 65 6E 64 0D 0A 09 09 65 md).....end....e
00D4C0: 6E 64 3B 20 28 2A 20 73 74 6F 20 2A 29 0D 0A 09 nd; (* sto *)...
00D4D0: 63 61 6C 3A 09 62 65 67 69 6E 0D 0A 09 09 63 6F cal:.begin....co
00D4E0: 6F 70 61 64 28 6C 78 69 64 2C 65 69 65 69 61 64 opad(lxid,eieiad
00D4F0: 72 28 61 29 29 3B 0D 0A 09 09 69 66 20 6C 3D 30 r(a));....if l=0
00D500: 6E 64 3B 20 28 2A 20 61 73 74 6F 20 2A 29 0D 0A nd; (* asto *)..
00D510: 09 61 69 6E 64 78 3A 09 62 65 67 69 6E 0D 0A 09 .aindx:.begin...
00D520: 09 63 6F 34 62 28 70 6F 70 68 2C 20 64 61 64 68 .co4b(poph, dadh
00D530: 2C 20 64 61 64 68 2C 20 64 61 64 68 29 3B 0D 0A , dadh, dadh);..
00D540: 09 09 63 6F 33 62 28 70 6F 70 64 2C 20 64 61 64 ..co3b(popd, dad
00D550: 64 2C 20 70 75 73 68 68 29 0D 0A 09 09 65 6E 64 d, pushh)....end
00D560: 3B 20 28 2A 20 63 61 73 65 20 61 69 6E 64 78 20 ; (* case aindx
00D570: 2A 29 0D 0A 09 61 6C 6F 64 69 3A 09 62 65 67 69 *)...alodi:.begi
00D580: 6E 20 28 2A 20 61 6C 66 61 20 6C 6F 61 64 20 69 n (* alfa load i
00D590: 6E 64 69 72 65 63 74 20 2A 29 0D 0A 09 09 63 6F ndirect *)....co
00D5A0: 31 62 28 70 6F 70 68 29 3B 20 63 6F 6F 70 61 64 1b(poph); coopad
00D5B0: 28 63 61 6C 6C 2C 73 70 61 6C 6F 64 29 0D 0A 09 (call,spalod)...
00D5C0: 09 65 6E 64 3B 20 28 2A 20 63 61 73 65 20 61 6C .end; (* case al
00D5D0: 6F 64 69 20 2A 29 0D 0A 09 61 73 74 6F 69 3A 09 odi *)...astoi:.
00D5E0: 62 65 67 69 6E 20 28 2A 20 61 6C 66 61 20 73 74 begin (* alfa st
00D5F0: 6F 72 65 20 69 6E 64 69 72 65 63 74 20 2A 29 0D ore indirect *).
00D600: 0A 09 09 63 6F 6F 70 61 64 28 6C 78 69 68 2C 38 ...coopad(lxih,8
00D610: 29 3B 0D 0A 09 09 63 6F 34 62 28 64 61 64 73 70 );....co4b(dadsp
00D620: 2C 20 6D 6F 76 61 6D 2C 20 69 6E 78 68 2C 20 6D , movam, inxh, m
00D630: 6F 76 68 6D 29 3B 0D 0A 09 09 63 6F 31 62 28 6D ovhm);....co1b(m
00D640: 6F 76 6C 61 29 3B 20 63 6F 6F 70 61 64 28 63 61 ovla); coopad(ca
00D650: 6C 6C 2C 73 70 61 73 74 6F 29 3B 0D 0A 09 09 63 ll,spasto);....c
00D660: 6F 31 62 28 70 6F 70 68 29 0D 0A 09 09 65 6E 64 o1b(poph)....end
00D670: 3B 20 28 2A 20 63 61 73 65 20 61 73 74 6F 69 20 ; (* case astoi
00D680: 2A 29 0D 0A 09 61 6C 6F 64 78 3A 09 62 65 67 69 *)...alodx:.begi
00D690: 6E 0D 0A 09 09 76 61 72 61 64 72 3B 20 63 6F 33 n....varadr; co3
00D6A0: 62 28 70 6F 70 64 2C 20 78 63 68 67 2C 20 64 61 b(popd, xchg, da
00D6B0: 64 68 29 3B 0D 0A 09 09 63 6F 33 62 28 64 61 64 dh);....co3b(dad
00D6C0: 68 2C 20 64 61 64 68 2C 20 64 61 64 64 29 3B 0D h, dadh, dadd);.
00D6D0: 0A 09 09 63 6F 6F 70 61 64 28 63 61 6C 6C 2C 73 ...coopad(call,s
00D6E0: 70 61 6C 6F 64 29 0D 0A 09 09 65 6E 64 3B 20 28 palod)....end; (
00D6F0: 2A 20 61 6C 6F 64 78 20 2A 29 0D 0A 09 61 73 74 * alodx *)...ast
00D700: 0D 0A 09 09 09 74 68 65 6E 20 63 6F 6F 70 61 64 .....then coopad
00D710: 28 63 61 6C 6C 2C 73 70 63 61 6C 30 29 0D 0A 09 (call,spcal0)...
00D720: 09 09 65 6C 73 65 20 62 65 67 69 6E 0D 0A 09 09 ..else begin....
00D730: 09 09 63 6F 32 62 28 6D 76 69 61 2C 20 6C 29 3B ..co2b(mvia, l);
00D740: 0D 0A 09 09 09 09 63 6F 6F 70 61 64 28 63 61 6C ......coopad(cal
00D750: 6C 2C 73 70 63 61 6C 29 0D 0A 09 09 09 09 65 6E l,spcal)......en
00D760: 64 3B 0D 0A 09 09 65 6E 64 3B 20 28 2A 20 63 61 d;....end; (* ca
00D770: 6C 20 2A 29 0D 0A 09 69 6E 74 3A 09 62 65 67 69 l *)...int:.begi
00D780: 6E 0D 0A 09 09 69 66 20 28 61 3E 3D 30 2D 34 29 n....if (a>=0-4)
00D790: 20 61 6E 64 20 28 61 3C 3D 34 29 20 74 68 65 6E and (a<=4) then
00D7A0: 20 62 65 67 69 6E 0D 0A 09 09 09 66 6F 72 20 74 begin.....for t
00D7B0: 72 61 6E 73 69 3A 3D 20 31 20 74 6F 20 61 20 64 ransi:= 1 to a d
00D7C0: 6F 0D 0A 09 09 09 09 63 6F 31 62 28 64 63 78 73 o......co1b(dcxs
00D7D0: 70 29 3B 0D 0A 09 09 09 66 6F 72 20 74 72 61 6E p);.....for tran
00D7E0: 73 69 3A 3D 20 30 2D 31 20 64 6F 77 6E 74 6F 20 si:= 0-1 downto
00D7F0: 61 20 64 6F 0D 0A 09 09 09 09 63 6F 31 62 28 69 a do......co1b(i
00D800: 6E 78 73 70 29 0D 0A 09 09 09 65 6E 64 0D 0A 09 nxsp).....end...
00D810: 09 65 6C 73 65 20 62 65 67 69 6E 0D 0A 09 09 09 .else begin.....
00D820: 63 6F 6F 70 61 64 28 6C 78 69 68 2C 30 2D 61 29 coopad(lxih,0-a)
00D830: 3B 0D 0A 09 09 09 63 6F 32 62 28 64 61 64 73 70 ;.....co2b(dadsp
00D840: 2C 20 73 70 68 6C 29 0D 0A 09 09 09 65 6E 64 0D , sphl).....end.
00D850: 0A 09 09 65 6E 64 3B 20 28 2A 20 69 6E 74 20 2A ...end; (* int *
00D860: 29 0D 0A 09 6A 75 6D 70 3A 09 62 65 67 69 6E 0D )...jump:.begin.
00D870: 0A 09 09 63 6F 6F 70 61 64 28 6A 6D 70 2C 65 69 ...coopad(jmp,ei
00D880: 65 69 61 64 72 28 61 29 29 0D 0A 09 09 65 6E 64 eiadr(a))....end
00D890: 3B 20 28 2A 20 6A 75 6D 70 20 2A 29 0D 0A 09 6A ; (* jump *)...j
00D8A0: 70 63 3A 09 62 65 67 69 6E 0D 0A 09 09 63 61 73 pc:.begin....cas
00D8B0: 65 20 6C 66 6C 20 6F 66 0D 0A 09 09 69 66 6E 7A e lfl of....ifnz
00D8C0: 3A 09 63 6F 6F 70 61 64 28 6A 6E 7A 2C 65 69 65 :.coopad(jnz,eie
00D8D0: 69 61 64 72 28 61 29 29 3B 0D 0A 09 09 69 66 7A iadr(a));....ifz
00D8E0: 3A 09 63 6F 6F 70 61 64 28 6A 7A 2C 65 69 65 69 :.coopad(jz,eiei
00D8F0: 61 64 72 28 61 29 29 3B 0D 0A 09 09 69 66 63 7A adr(a));....ifcz
00D900: 6F 78 3A 09 62 65 67 69 6E 0D 0A 09 09 76 61 72 ox:.begin....var
00D910: 61 64 72 3B 20 63 6F 31 62 28 78 63 68 67 29 3B adr; co1b(xchg);
00D920: 20 63 6F 6F 70 61 64 28 6C 78 69 68 2C 38 29 3B coopad(lxih,8);
00D930: 0D 0A 09 09 63 6F 34 62 28 64 61 64 73 70 2C 20 ....co4b(dadsp,
00D940: 6D 6F 76 61 6D 2C 20 69 6E 78 68 2C 20 6D 6F 76 movam, inxh, mov
00D950: 68 6D 29 3B 0D 0A 09 09 63 6F 33 62 28 6D 6F 76 hm);....co3b(mov
00D960: 6C 61 2C 20 64 61 64 68 2C 20 64 61 64 68 29 3B la, dadh, dadh);
00D970: 0D 0A 09 09 63 6F 32 62 28 64 61 64 68 2C 20 64 ....co2b(dadh, d
00D980: 61 64 64 29 3B 20 63 6F 6F 70 61 64 28 63 61 6C add); coopad(cal
00D990: 6C 2C 73 70 61 73 74 6F 29 3B 0D 0A 09 09 63 6F l,spasto);....co
00D9A0: 31 62 28 70 6F 70 68 29 0D 0A 09 09 65 6E 64 3B 1b(poph)....end;
00D9B0: 20 28 2A 20 63 61 73 65 20 61 73 74 6F 78 20 2A (* case astox *
00D9C0: 29 0D 0A 09 6C 61 61 3A 09 62 65 67 69 6E 0D 0A )...laa:.begin..
00D9D0: 09 09 76 61 72 61 64 72 3B 20 63 6F 31 62 28 70 ..varadr; co1b(p
00D9E0: 75 73 68 68 29 0D 0A 09 09 65 6E 64 3B 20 28 2A ushh)....end; (*
00D9F0: 20 63 61 73 65 20 6C 61 61 20 2A 29 0D 0A 09 6C case laa *)...l
00DA00: 6F 64 69 3A 09 62 65 67 69 6E 20 28 2A 20 6C 6F odi:.begin (* lo
00DA10: 61 64 20 77 6F 72 64 20 69 6E 64 69 72 65 63 74 ad word indirect
00DA20: 20 2A 29 0D 0A 09 09 63 6F 34 62 28 70 6F 70 68 *)....co4b(poph
00DA30: 2C 6D 6F 76 65 6D 2C 69 6E 78 68 2C 6D 6F 76 64 ,movem,inxh,movd
00DA40: 6D 29 3B 0D 0A 09 09 63 6F 31 62 28 70 75 73 68 m);....co1b(push
00DA50: 64 29 0D 0A 09 09 65 6E 64 3B 20 28 2A 20 63 61 d)....end; (* ca
00DA60: 73 65 20 6C 6F 64 69 20 2A 29 0D 0A 09 73 74 6F se lodi *)...sto
00DA70: 69 3A 09 62 65 67 69 6E 20 28 2A 20 73 74 6F 72 i:.begin (* stor
00DA80: 65 20 77 6F 72 64 20 69 6E 64 69 72 65 63 74 20 e word indirect
00DA90: 2A 29 0D 0A 09 09 63 6F 34 62 28 70 6F 70 64 2C *)....co4b(popd,
00DAA0: 70 6F 70 68 2C 6D 6F 76 6D 65 2C 69 6E 78 68 29 poph,movme,inxh)
00DAB0: 3B 0D 0A 09 09 63 6F 31 62 28 6D 6F 76 6D 64 29 ;....co1b(movmd)
00DAC0: 0D 0A 09 09 65 6E 64 3B 20 28 2A 20 63 61 73 65 ....end; (* case
00DAD0: 20 73 74 6F 69 20 2A 29 0D 0A 09 70 65 6F 66 3A stoi *)...peof:
00DAE0: 09 62 65 67 69 6E 20 28 2A 20 64 6F 20 6E 6F 74 .begin (* do not
00DAF0: 68 69 6E 67 20 2A 29 0D 0A 09 09 65 6E 64 20 28 hing *)....end (
00DB00: 3A 09 62 65 67 69 6E 0D 0A 09 09 09 63 6F 6F 70 :.begin.....coop
00DB10: 61 64 28 6A 63 2C 65 69 65 69 61 64 72 28 61 29 ad(jc,eieiadr(a)
00DB20: 29 3B 0D 0A 09 09 09 63 6F 6F 70 61 64 28 6A 7A );.....coopad(jz
00DB30: 2C 65 69 65 69 61 64 72 28 61 29 29 0D 0A 09 09 ,eieiadr(a))....
00DB40: 09 65 6E 64 3B 20 28 2A 20 69 66 63 7A 20 2A 29 .end; (* ifcz *)
00DB50: 0D 0A 09 09 69 66 7A 6E 63 3A 09 62 65 67 69 6E ....ifznc:.begin
00DB60: 0D 0A 09 09 09 63 6F 6F 70 61 64 28 6A 7A 2C 63 .....coopad(jz,c
00DB70: 6F 61 2B 36 29 3B 0D 0A 09 09 09 63 6F 6F 70 61 oa+6);.....coopa
00DB80: 64 28 6A 6E 63 2C 65 69 65 69 61 64 72 28 61 29 d(jnc,eieiadr(a)
00DB90: 29 0D 0A 09 09 09 65 6E 64 3B 20 28 2A 20 69 66 ).....end; (* if
00DBA0: 7A 6E 63 20 2A 29 0D 0A 09 09 69 66 6E 63 3A 09 znc *)....ifnc:.
00DBB0: 63 6F 6F 70 61 64 28 6A 6E 63 2C 65 69 65 69 61 coopad(jnc,eieia
00DBC0: 64 72 28 61 29 29 3B 0D 0A 09 09 69 66 63 3A 09 dr(a));....ifc:.
00DBD0: 63 6F 6F 70 61 64 28 6A 63 2C 65 69 65 69 61 64 coopad(jc,eieiad
00DBE0: 72 28 61 29 29 0D 0A 09 09 65 6E 64 20 28 2A 20 r(a))....end (*
00DBF0: 63 61 73 65 20 6C 66 6C 20 6F 66 20 2A 29 0D 0A case lfl of *)..
00DC00: 09 09 65 6E 64 3B 20 28 2A 20 6A 70 63 20 2A 29 ..end; (* jpc *)
00DC10: 0D 0A 09 70 73 68 66 3A 09 62 65 67 69 6E 0D 0A ...pshf:.begin..
00DC20: 09 09 66 6C 61 67 74 6F 61 3B 20 63 6F 31 62 28 ..flagtoa; co1b(
00DC30: 70 75 73 68 70 73 77 29 0D 0A 09 09 65 6E 64 3B pushpsw)....end;
00DC40: 20 28 2A 20 70 75 73 68 66 20 2A 29 0D 0A 09 63 (* pushf *)...c
00DC50: 73 70 3A 09 62 65 67 69 6E 0D 0A 09 09 63 6F 32 sp:.begin....co2
00DC60: 62 28 6D 76 69 61 2C 20 6C 29 3B 0D 0A 09 09 63 b(mvia, l);....c
00DC70: 6F 6F 70 61 64 28 63 61 6C 6C 2C 63 73 70 62 61 oopad(call,cspba
00DC80: 73 65 2B 33 2A 61 29 0D 0A 09 09 65 6E 64 3B 20 se+3*a)....end;
00DC90: 28 2A 20 63 73 70 20 2A 29 0D 0A 09 6C 6F 64 78 (* csp *)...lodx
00DCA0: 3A 09 62 65 67 69 6E 0D 0A 09 09 76 61 72 61 64 :.begin....varad
00DCB0: 72 3B 20 63 6F 34 62 28 70 6F 70 64 2C 20 64 61 r; co4b(popd, da
00DCC0: 64 64 2C 20 64 61 64 64 2C 20 6D 6F 76 65 6D 29 dd, dadd, movem)
00DCD0: 3B 0D 0A 09 09 63 6F 33 62 28 69 6E 78 68 2C 20 ;....co3b(inxh,
00DCE0: 6D 6F 76 64 6D 2C 20 70 75 73 68 64 29 0D 0A 09 movdm, pushd)...
00DCF0: 09 65 6E 64 3B 20 28 2A 20 6C 6F 64 78 20 2A 29 .end; (* lodx *)
00DD00: 2A 20 63 61 73 65 20 70 65 6F 66 20 2A 29 0D 0A * case peof *)..
00DD10: 09 65 6C 73 65 09 70 75 74 23 31 28 27 62 61 64 .else.put#1('bad
00DD20: 20 70 2D 6F 70 27 2C 66 23 2C 31 33 2C 31 30 29 p-op',f#,13,10)
00DD30: 0D 0A 09 65 6E 64 20 28 2A 20 63 61 73 65 20 66 ...end (* case f
00DD40: 20 6F 66 20 2A 29 0D 0A 09 65 6E 64 3B 20 28 2A of *)...end; (*
00DD50: 20 74 72 61 6E 73 20 2A 29 0D 0A 0D 0A 70 72 6F trans *)....pro
00DD60: 63 65 64 75 72 65 20 70 61 73 73 31 32 28 70 73 cedure pass12(ps
00DD70: 3A 20 77 6F 72 64 29 3B 0D 0A 0D 0A 09 62 65 67 : word);.....beg
00DD80: 69 6E 0D 0A 09 70 61 73 73 3A 3D 70 73 3B 0D 0A in...pass:=ps;..
00DD90: 09 63 6F 61 3A 3D 6F 63 6F 64 65 3B 0D 0A 09 72 .coa:=ocode;...r
00DDA0: 65 70 65 61 74 0D 0A 09 09 67 65 74 70 63 64 3B epeat....getpcd;
00DDB0: 0D 0A 09 09 69 66 20 66 3C 3E 6C 61 62 20 74 68 ....if f<>lab th
00DDC0: 65 6E 20 74 72 61 6E 73 0D 0A 09 09 65 6C 73 65 en trans....else
00DDD0: 20 69 66 20 70 61 73 73 3D 31 20 74 68 65 6E 0D if pass=1 then.
00DDE0: 0A 09 09 09 09 69 66 20 61 3E 6E 6C 61 62 20 74 .....if a>nlab t
00DDF0: 68 65 6E 20 70 75 74 23 31 28 27 2A 6C 62 20 6F hen put#1('*lb o
00DE00: 76 65 72 27 29 0D 0A 09 09 09 09 65 6C 73 65 20 ver')......else
00DE10: 61 64 72 5B 61 5D 3A 3D 63 6F 61 0D 0A 09 09 09 adr[a]:=coa.....
00DE20: 65 6C 73 65 20 28 2A 20 70 61 73 73 20 3D 20 32 else (* pass = 2
00DE30: 20 2A 29 0D 0A 09 09 09 09 69 66 20 61 64 72 5B *)......if adr[
00DE40: 61 5D 3C 3E 63 6F 61 20 74 68 65 6E 0D 0A 09 09 a]<>coa then....
00DE50: 09 09 09 70 75 74 23 31 28 27 50 68 61 73 65 20 ...put#1('Phase
00DE60: 65 72 27 2C 0D 0A 09 09 09 09 09 27 72 6F 72 20 er',.......'ror
00DE70: 20 20 20 50 27 2C 61 23 29 0D 0A 09 75 6E 74 69 P',a#)...unti
00DE80: 6C 20 66 3D 70 65 6F 66 3B 0D 0A 09 69 66 20 70 l f=peof;...if p
00DE90: 61 73 73 3D 31 20 74 68 65 6E 20 67 6C 72 61 6D ass=1 then glram
00DEA0: 3A 3D 63 6F 61 0D 0A 09 65 6E 64 3B 20 28 2A 20 :=coa...end; (*
00DEB0: 70 61 73 73 31 32 20 2A 29 0D 0A 0D 0A 62 65 67 pass12 *)....beg
00DEC0: 69 6E 20 28 2A 20 6D 61 69 6E 20 6C 69 6E 65 20 in (* main line
00DED0: 2A 29 0D 0A 09 28 2A 20 7A 65 72 6F 20 61 6C 6C *)...(* zero all
00DEE0: 20 61 64 64 72 65 73 73 65 73 20 66 6F 72 20 75 addresses for u
00DEF0: 6E 64 65 66 69 6E 65 64 20 6C 61 62 65 6C 20 64 ndefined label d
00DF00: 0D 0A 09 73 74 6F 78 3A 09 62 65 67 69 6E 0D 0A ...stox:.begin..
00DF10: 09 09 76 61 72 61 64 72 3B 20 63 6F 34 62 28 70 ..varadr; co4b(p
00DF20: 6F 70 64 2C 20 70 6F 70 62 2C 20 64 61 64 62 2C opd, popb, dadb,
00DF30: 20 64 61 64 62 29 3B 0D 0A 09 09 63 6F 33 62 28 dadb);....co3b(
00DF40: 6D 6F 76 6D 65 2C 20 69 6E 78 68 2C 20 6D 6F 76 movme, inxh, mov
00DF50: 6D 64 29 0D 0A 09 09 65 6E 64 3B 20 28 2A 20 73 md)....end; (* s
00DF60: 74 6F 78 20 2A 29 0D 0A 09 69 6E 64 78 3A 09 62 tox *)...indx:.b
00DF70: 65 67 69 6E 20 28 2A 20 69 6E 64 65 78 20 77 6F egin (* index wo
00DF80: 72 64 20 61 72 72 61 79 20 2A 29 0D 0A 09 09 63 rd array *)....c
00DF90: 6F 34 62 28 70 6F 70 68 2C 20 64 61 64 68 2C 20 o4b(poph, dadh,
00DFA0: 70 6F 70 64 2C 20 64 61 64 64 29 3B 0D 0A 09 09 popd, dadd);....
00DFB0: 63 6F 31 62 28 70 75 73 68 68 29 0D 0A 09 09 65 co1b(pushh)....e
00DFC0: 6E 64 3B 20 28 2A 20 63 61 73 65 20 69 6E 64 78 nd; (* case indx
00DFD0: 20 2A 29 0D 0A 09 63 6C 6F 64 3A 09 62 65 67 69 *)...clod:.begi
00DFE0: 6E 0D 0A 09 09 76 61 72 61 64 72 3B 20 63 6F 33 n....varadr; co3
00DFF0: 62 28 6D 6F 76 64 6D 2C 20 70 75 73 68 64 2C 20 b(movdm, pushd,
00E000: 69 6E 78 73 70 29 3B 0D 0A 09 09 65 6E 64 3B 20 inxsp);....end;
00E010: 28 2A 20 63 6C 6F 64 20 2A 29 0D 0A 09 63 73 74 (* clod *)...cst
00E020: 6F 3A 09 62 65 67 69 6E 0D 0A 09 09 76 61 72 61 o:.begin....vara
00E030: 64 72 3B 20 63 6F 33 62 28 70 6F 70 64 2C 20 64 dr; co3b(popd, d
00E040: 63 78 73 70 2C 20 6D 6F 76 6D 65 29 0D 0A 09 09 cxsp, movme)....
00E050: 65 6E 64 3B 20 28 2A 20 63 73 74 6F 20 2A 29 0D end; (* csto *).
00E060: 0A 09 63 6C 6F 64 69 3A 09 62 65 67 69 6E 20 28 ..clodi:.begin (
00E070: 2A 20 63 68 61 72 61 63 74 65 72 20 6C 6F 61 64 * character load
00E080: 20 69 6E 64 69 72 65 63 74 20 2A 29 0D 0A 09 09 indirect *)....
00E090: 63 6F 34 62 28 70 6F 70 68 2C 20 6D 6F 76 64 6D co4b(poph, movdm
00E0A0: 2C 20 70 75 73 68 64 2C 20 69 6E 78 73 70 29 0D , pushd, inxsp).
00E0B0: 0A 09 09 65 6E 64 3B 20 28 2A 20 63 61 73 65 20 ...end; (* case
00E0C0: 63 6C 6F 64 69 20 2A 29 0D 0A 09 63 73 74 6F 69 clodi *)...cstoi
00E0D0: 3A 09 62 65 67 69 6E 20 28 2A 20 63 68 61 72 61 :.begin (* chara
00E0E0: 63 74 65 72 20 73 74 6F 72 65 20 69 6E 64 69 72 cter store indir
00E0F0: 65 63 74 20 2A 29 0D 0A 09 09 63 6F 34 62 28 70 ect *)....co4b(p
00E100: 65 74 65 63 74 69 6F 6E 20 2A 29 0D 0A 09 28 2A etection *)...(*
00E110: 20 75 73 65 20 63 69 78 20 61 73 20 74 65 6D 70 use cix as temp
00E120: 20 69 6E 64 65 78 20 2A 29 0D 0A 09 70 75 74 23 index *)...put#
00E130: 31 28 27 70 66 65 74 20 72 65 76 27 2C 27 20 27 1('pfet rev',' '
00E140: 2C 76 68 75 23 2C 27 2E 27 2C 76 74 6E 23 2C 76 ,vhu#,'.',vtn#,v
00E150: 75 6E 23 2C 64 65 76 72 65 6C 2C 31 33 2C 31 30 un#,devrel,13,10
00E160: 29 3B 0D 0A 09 66 6F 72 20 63 69 78 3A 3D 30 20 );...for cix:=0
00E170: 74 6F 20 6E 6C 61 62 20 64 6F 20 61 64 72 5B 63 to nlab do adr[c
00E180: 69 78 5D 3A 3D 30 3B 0D 0A 09 63 69 78 3A 3D 30 ix]:=0;...cix:=0
00E190: 3B 0D 0A 09 70 75 74 23 31 28 27 50 61 73 73 20 ;...put#1('Pass
00E1A0: 31 20 20 27 2C 31 33 2C 31 30 29 3B 0D 0A 09 70 1 ',13,10);...p
00E1B0: 61 73 73 31 32 28 31 29 3B 0D 0A 09 70 75 74 23 ass12(1);...put#
00E1C0: 31 28 63 69 78 23 2C 27 20 70 2D 63 6F 64 65 73 1(cix#,' p-codes
00E1D0: 27 2C 20 27 20 72 65 61 64 20 20 20 27 2C 31 33 ', ' read ',13
00E1E0: 2C 31 30 29 3B 0D 0A 09 63 78 3A 3D 30 3B 0D 0A ,10);...cx:=0;..
00E1F0: 09 70 75 74 23 31 28 27 50 61 73 73 20 32 20 20 .put#1('Pass 2
00E200: 27 2C 31 33 2C 31 30 29 3B 0D 0A 09 70 61 73 73 ',13,10);...pass
00E210: 31 32 28 32 29 3B 0D 0A 09 70 75 74 23 31 28 27 12(2);...put#1('
00E220: 64 6F 6E 65 21 20 20 20 27 2C 31 33 2C 31 30 29 done! ',13,10)
00E230: 0D 0A 65 6E 64 2E 0D 0A 1A 1A 1A 1A 1A 1A 1A 1A ..end...........
00E240: 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A ................
00E250: 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A ................
00E260: 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A ................
00E270: 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A ................
00E280: 6C 20 66 3D 70 65 6F 66 3B 0D 0A 09 69 66 20 70 l f=peof;...if p
00E290: 61 73 73 3D 31 20 74 68 65 6E 20 67 6C 72 61 6D ass=1 then glram
00E2A0: 3A 3D 63 6F 61 0D 0A 09 65 6E 64 3B 20 28 2A 20 :=coa...end; (*
00E2B0: 70 61 73 73 31 32 20 2A 29 0D 0A 0D 0A 62 65 67 pass12 *)....beg
00E2C0: 69 6E 20 28 2A 20 6D 61 69 6E 20 6C 69 6E 65 20 in (* main line
00E2D0: 2A 29 0D 0A 09 28 2A 20 7A 65 72 6F 20 61 6C 6C *)...(* zero all
00E2E0: 20 61 64 64 72 65 73 73 65 73 20 66 6F 72 20 75 addresses for u
00E2F0: 6E 64 65 66 69 6E 65 64 20 6C 61 62 65 6C 20 64 ndefined label d
00E300: 6F 70 64 2C 20 64 63 78 73 70 2C 20 70 6F 70 68 opd, dcxsp, poph
00E310: 2C 20 6D 6F 76 6D 65 29 0D 0A 09 09 65 6E 64 3B , movme)....end;
00E320: 20 28 2A 20 63 61 73 65 20 63 73 74 6F 69 20 2A (* case cstoi *
00E330: 29 0D 0A 09 63 69 6E 64 78 3A 09 62 65 67 69 6E )...cindx:.begin
00E340: 20 28 2A 20 63 68 61 72 61 63 74 65 72 20 61 72 (* character ar
00E350: 72 61 79 20 69 6E 64 65 78 20 2A 29 0D 0A 09 09 ray index *)....
00E360: 63 6F 34 62 28 70 6F 70 68 2C 20 70 6F 70 64 2C co4b(poph, popd,
00E370: 20 64 61 64 64 2C 20 70 75 73 68 68 29 0D 0A 09 dadd, pushh)...
00E380: 09 65 6E 64 3B 20 28 2A 20 63 61 73 65 20 63 69 .end; (* case ci
00E390: 6E 64 78 20 2A 29 0D 0A 09 63 6C 6F 64 78 3A 09 ndx *)...clodx:.
00E3A0: 62 65 67 69 6E 0D 0A 09 09 76 61 72 61 64 72 3B begin....varadr;
00E3B0: 20 63 6F 33 62 28 70 6F 70 64 2C 20 64 61 64 64 co3b(popd, dadd
00E3C0: 2C 20 6D 6F 76 65 6D 29 3B 0D 0A 09 09 63 6F 33 , movem);....co3
00E3D0: 62 28 6D 76 69 64 2C 20 30 2C 20 70 75 73 68 64 b(mvid, 0, pushd
00E3E0: 29 0D 0A 09 09 65 6E 64 3B 20 28 2A 20 63 6C 6F )....end; (* clo
00E3F0: 64 78 20 2A 29 0D 0A 09 63 73 74 6F 78 3A 09 62 dx *)...cstox:.b
00E400: 65 67 69 6E 0D 0A 09 09 76 61 72 61 64 72 3B 20 egin....varadr;
00E410: 63 6F 34 62 28 70 6F 70 64 2C 20 70 6F 70 62 2C co4b(popd, popb,
00E420: 20 64 61 64 62 2C 20 6D 6F 76 6D 65 29 0D 0A 09 dadb, movme)...
00E430: 09 65 6E 64 3B 20 28 2A 20 63 73 74 6F 78 20 2A .end; (* cstox *
00E440: 29 0D 0A 09 61 6C 69 74 3A 09 62 65 67 69 6E 0D )...alit:.begin.
00E450: 0A 09 09 63 6F 6F 70 61 64 28 63 61 6C 6C 2C 73 ...coopad(call,s
00E460: 70 61 6C 69 74 29 3B 0D 0A 09 09 67 65 74 70 63 palit);....getpc
00E470: 64 3B 20 64 77 32 3B 0D 0A 09 09 67 65 74 70 63 d; dw2;....getpc
00E480: 64 3B 20 64 77 32 0D 0A 09 09 65 6E 64 3B 0D 0A d; dw2....end;..
00E490: 09 61 6C 6F 64 3A 09 62 65 67 69 6E 0D 0A 09 09 .alod:.begin....
00E4A0: 76 61 72 61 64 72 3B 20 63 6F 6F 70 61 64 28 63 varadr; coopad(c
00E4B0: 61 6C 6C 2C 73 70 61 6C 6F 64 29 0D 0A 09 09 65 all,spalod)....e
00E4C0: 6E 64 3B 20 28 2A 20 61 6C 6F 64 20 2A 29 0D 0A nd; (* alod *)..
00E4D0: 09 61 73 74 6F 3A 09 62 65 67 69 6E 0D 0A 09 09 .asto:.begin....
00E4E0: 76 61 72 61 64 72 3B 20 63 6F 6F 70 61 64 28 63 varadr; coopad(c
00E4F0: 61 6C 6C 2C 73 70 61 73 74 6F 29 0D 0A 09 09 65 all,spasto)....e
00E500: 54 72 61 63 6B 2D 49 6E 66 6F 0D 0A 00 01 00 00 Track-Info......
00E510: 0C 00 00 00 02 09 4A E5 0C 00 C1 02 00 00 00 02 ......J.........
00E520: 0C 00 C6 02 00 00 00 02 0C 00 C2 02 00 00 00 02 ................
00E530: 0C 00 C7 02 00 00 00 02 0C 00 C3 02 00 00 00 02 ................
00E540: 0C 00 C8 02 00 00 00 02 0C 00 C4 02 00 00 00 02 ................
00E550: 0C 00 C9 02 00 00 00 02 0C 00 C5 02 00 00 00 02 ................
00E560: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
00E570: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
00E580: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
00E590: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
00E5A0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
00E5B0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
00E5C0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
00E5D0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
00E5E0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
00E5F0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
00E600: 30 32 35 31 31 33 31 31 31 33 30 32 35 31 32 32 0251131113025122
00E610: 32 31 33 32 31 36 31 31 31 31 32 30 32 32 32 32 2132161111202222
00E620: 32 32 30 32 32 32 32 32 32 32 0D 0A 1A 1A 1A 1A 2202222222......
00E630: 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A ................
00E640: 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A ................
00E650: 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A ................
00E660: 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A ................
00E670: 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A ................
00E680: 69 78 5D 3A 3D 30 3B 0D 0A 09 63 69 78 3A 3D 30 ix]:=0;...cix:=0
00E690: 3B 0D 0A 09 70 75 74 23 31 28 27 50 61 73 73 20 ;...put#1('Pass
00E6A0: 31 20 20 27 2C 31 33 2C 31 30 29 3B 0D 0A 09 70 1 ',13,10);...p
00E6B0: 61 73 73 31 32 28 31 29 3B 0D 0A 09 70 75 74 23 ass12(1);...put#
00E6C0: 31 28 63 69 78 23 2C 27 20 70 2D 63 6F 64 65 73 1(cix#,' p-codes
00E6D0: 27 2C 20 27 20 72 65 61 64 20 20 20 27 2C 31 33 ', ' read ',13
00E6E0: 2C 31 30 29 3B 0D 0A 09 63 78 3A 3D 30 3B 0D 0A ,10);...cx:=0;..
00E6F0: 09 70 75 74 23 31 28 27 50 61 73 73 20 32 20 20 .put#1('Pass 2
00E700: 27 2C 31 33 2C 31 30 29 3B 0D 0A 09 70 61 73 73 ',13,10);...pass
00E710: 31 32 28 32 29 3B 0D 0A 09 70 75 74 23 31 28 27 12(2);...put#1('
00E720: 64 6F 6E 65 21 20 20 20 27 2C 31 33 2C 31 30 29 done! ',13,10)
00E730: 0D 0A 65 6E 64 2E 0D 0A 1A 1A 1A 1A 1A 1A 1A 1A ..end...........
00E740: 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A ................
00E750: 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A ................
00E760: 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A ................
00E770: 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A ................
00E780: 6C 20 66 3D 70 65 6F 66 3B 0D 0A 09 69 66 20 70 l f=peof;...if p
00E790: 61 73 73 3D 31 20 74 68 65 6E 20 67 6C 72 61 6D ass=1 then glram
00E7A0: 3A 3D 63 6F 61 0D 0A 09 65 6E 64 3B 20 28 2A 20 :=coa...end; (*
00E7B0: 70 61 73 73 31 32 20 2A 29 0D 0A 0D 0A 62 65 67 pass12 *)....beg
00E7C0: 69 6E 20 28 2A 20 6D 61 69 6E 20 6C 69 6E 65 20 in (* main line
00E7D0: 2A 29 0D 0A 09 28 2A 20 7A 65 72 6F 20 61 6C 6C *)...(* zero all
00E7E0: 20 61 64 64 72 65 73 73 65 73 20 66 6F 72 20 75 addresses for u
00E7F0: 6E 64 65 66 69 6E 65 64 20 6C 61 62 65 6C 20 64 ndefined label d
00E800: 20 70 72 6F 63 65 64 75 72 65 20 73 65 74 62 64 procedure setbd
00E810: 20 2A 29 0D 0A 0D 0A 66 75 6E 63 74 69 6F 6E 20 *)....function
00E820: 6D 69 6E 28 78 2C 20 79 20 3A 20 69 6E 74 65 67 min(x, y : integ
00E830: 65 72 29 3B 0D 0A 0D 0A 20 20 20 62 65 67 69 6E er);.... begin
00E840: 0D 0A 20 20 20 69 66 20 28 78 3C 79 29 0D 0A 20 .. if (x<y)..
00E850: 20 20 74 68 65 6E 0D 0A 20 20 20 20 20 20 6D 69 then.. mi
00E860: 6E 3A 3D 78 0D 0A 20 20 20 65 6C 73 65 0D 0A 20 n:=x.. else..
00E870: 20 20 20 20 20 6D 69 6E 3A 3D 79 0D 0A 20 20 20 min:=y..
00E880: 65 6E 64 3B 20 28 2A 20 66 75 6E 63 74 69 6F 6E end; (* function
00E890: 20 6D 69 6E 20 2A 29 0D 0A 0D 0A 66 75 6E 63 74 min *)....funct
00E8A0: 69 6F 6E 20 6D 61 78 28 78 2C 20 79 20 3A 20 69 ion max(x, y : i
00E8B0: 6E 74 65 67 65 72 29 3B 0D 0A 0D 0A 20 20 20 62 nteger);.... b
00E8C0: 65 67 69 6E 0D 0A 20 20 20 69 66 20 28 78 3E 79 egin.. if (x>y
00E8D0: 29 0D 0A 20 20 20 74 68 65 6E 0D 0A 20 20 20 20 ).. then..
00E8E0: 20 20 6D 61 78 3A 3D 78 0D 0A 20 20 20 65 6C 73 max:=x.. els
00E8F0: 65 0D 0A 20 20 20 20 20 20 6D 61 78 3A 3D 79 0D e.. max:=y.
00E900: 0A 20 20 20 65 6E 64 3B 20 28 2A 20 66 75 6E 63 . end; (* func
00E910: 74 69 6F 6E 20 6D 61 78 20 2A 29 0D 0A 0D 0A 70 tion max *)....p
00E920: 72 6F 63 65 64 75 72 65 20 67 65 74 72 6F 6F 74 rocedure getroot
00E930: 3B 0D 0A 0D 0A 20 20 20 62 65 67 69 6E 0D 0A 20 ;.... begin..
00E940: 20 20 67 65 74 23 30 28 63 68 29 3B 20 73 65 74 get#0(ch); set
00E950: 62 64 28 31 2C 20 72 6C 65 66 74 20 20 2C 63 68 bd(1, rleft ,ch
00E960: 2D 27 30 27 29 3B 0D 0A 20 20 20 67 65 74 23 30 -'0');.. get#0
00E970: 28 63 68 29 3B 20 73 65 74 62 64 28 31 2C 20 72 (ch); setbd(1, r
00E980: 72 69 67 68 74 20 2C 63 68 2D 27 30 27 29 3B 0D right ,ch-'0');.
00E990: 0A 20 20 20 67 65 74 23 30 28 63 68 29 3B 20 73 . get#0(ch); s
00E9A0: 65 74 62 64 28 31 2C 20 72 6B 61 6C 20 20 20 2C etbd(1, rkal ,
00E9B0: 63 68 2D 27 30 27 29 3B 0D 0A 20 20 20 67 65 74 ch-'0');.. get
00E9C0: 23 30 28 63 68 29 3B 20 73 65 74 62 64 28 31 2C #0(ch); setbd(1,
00E9D0: 20 62 6C 65 66 74 20 20 2C 63 68 2D 27 30 27 29 bleft ,ch-'0')
00E9E0: 3B 0D 0A 20 20 20 67 65 74 23 30 28 63 68 29 3B ;.. get#0(ch);
00E9F0: 20 73 65 74 62 64 28 31 2C 20 62 72 69 67 68 74 setbd(1, bright
00EA00: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
00EA10: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
00EA20: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
00EA30: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
00EA40: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
00EA50: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
00EA60: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
00EA70: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
00EA80: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
00EA90: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
00EAA0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
00EAB0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
00EAC0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
00EAD0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
00EAE0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
00EAF0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
00EB00: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
00EB10: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
00EB20: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
00EB30: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
00EB40: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
00EB50: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
00EB60: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
00EB70: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
00EB80: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
00EB90: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
00EBA0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
00EBB0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
00EBC0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
00EBD0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
00EBE0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
00EBF0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
00EC00: 20 2C 63 68 2D 27 30 27 29 3B 0D 0A 20 20 20 67 ,ch-'0');.. g
00EC10: 65 74 23 30 28 63 68 29 3B 20 73 65 74 62 64 28 et#0(ch); setbd(
00EC20: 31 2C 20 62 6B 61 6C 20 20 20 2C 63 68 2D 27 30 1, bkal ,ch-'0
00EC30: 27 29 3B 0D 0A 20 20 20 67 65 74 23 30 28 63 68 ');.. get#0(ch
00EC40: 29 3B 20 73 65 74 62 64 28 31 2C 20 74 75 72 6E ); setbd(1, turn
00EC50: 20 20 20 2C 63 68 2D 27 30 27 29 3B 0D 0A 20 20 ,ch-'0');..
00EC60: 20 73 65 74 62 64 28 31 2C 20 6F 75 74 63 6F 6D setbd(1, outcom
00EC70: 20 2C 20 64 72 61 77 29 3B 0D 0A 20 20 20 73 65 , draw);.. se
00EC80: 74 62 64 28 31 2C 20 62 65 73 70 61 74 20 2C 20 tbd(1, bespat ,
00EC90: 6F 66 66 62 65 73 70 61 74 29 0D 0A 20 20 20 65 offbespat).. e
00ECA0: 6E 64 3B 20 28 2A 20 70 72 6F 63 65 64 75 72 65 nd; (* procedure
00ECB0: 20 67 65 74 72 6F 6F 74 20 2A 29 0D 0A 0D 0A 70 getroot *)....p
00ECC0: 72 6F 63 65 64 75 72 65 20 70 72 74 72 6F 77 28 rocedure prtrow(
00ECD0: 72 6F 77 20 3A 20 69 6E 74 65 67 65 72 29 3B 0D row : integer);.
00ECE0: 0A 0D 0A 20 20 20 62 65 67 69 6E 0D 0A 20 20 20 ... begin..
00ECF0: 70 75 74 23 30 28 31 33 2C 31 30 29 3B 0D 0A 20 put#0(13,10);..
00ED00: 20 20 70 75 74 23 30 28 27 20 27 2C 20 27 20 27 put#0(' ', ' '
00ED10: 2C 20 62 6F 61 72 64 28 72 6F 77 2C 20 62 72 69 , board(row, bri
00ED20: 67 68 74 29 23 2C 0D 0A 20 20 20 20 20 20 20 20 ght)#,..
00ED30: 20 27 20 27 2C 20 27 20 27 2C 20 62 6F 61 72 64 ' ', ' ', board
00ED40: 28 72 6F 77 2C 20 62 6C 65 66 74 20 29 23 2C 20 (row, bleft )#,
00ED50: 31 33 2C 31 30 29 3B 0D 0A 0D 0A 20 20 20 70 75 13,10);.... pu
00ED60: 74 23 30 28 62 6F 61 72 64 28 72 6F 77 2C 20 62 t#0(board(row, b
00ED70: 6B 61 6C 29 23 2C 20 27 20 27 29 3B 0D 0A 20 20 kal)#, ' ');..
00ED80: 20 69 66 20 62 6F 61 72 64 28 72 6F 77 2C 20 6F if board(row, o
00ED90: 75 74 63 6F 6D 29 3D 72 77 69 6E 0D 0A 20 20 20 utcom)=rwin..
00EDA0: 20 20 20 74 68 65 6E 20 70 75 74 23 30 28 27 72 then put#0('r
00EDB0: 27 2C 20 27 65 27 2C 20 27 64 27 2C 20 27 20 27 ', 'e', 'd', ' '
00EDC0: 29 0D 0A 20 20 20 20 20 20 65 6C 73 65 20 69 66 ).. else if
00EDD0: 20 62 6F 61 72 64 28 72 6F 77 2C 20 6F 75 74 63 board(row, outc
00EDE0: 6F 6D 29 3D 64 72 61 77 0D 0A 20 20 20 20 20 20 om)=draw..
00EDF0: 20 20 20 20 20 20 20 20 74 68 65 6E 20 70 75 74 then put
00EE00: 63 6F 6E 73 74 0D 0A 20 20 20 28 2A 20 27 43 4F const.. (* 'CO
00EE10: 4E 53 54 41 4E 54 27 20 56 41 52 49 41 42 4C 45 NSTANT' VARIABLE
00EE20: 53 20 55 53 45 44 20 54 4F 20 52 45 46 45 52 45 S USED TO REFERE
00EE30: 4E 43 45 20 43 4F 4C 53 20 4F 46 20 42 4F 41 52 NCE COLS OF BOAR
00EE40: 44 20 2A 29 0D 0A 20 20 20 52 4C 45 46 54 20 20 D *).. RLEFT
00EE50: 3D 20 30 3B 20 28 2A 20 53 54 4F 4E 45 53 20 49 = 0; (* STONES I
00EE60: 4E 20 52 45 44 27 53 20 4C 45 46 54 20 50 49 54 N RED'S LEFT PIT
00EE70: 20 2A 29 0D 0A 20 20 20 52 52 49 47 48 54 20 3D *).. RRIGHT =
00EE80: 20 31 3B 20 28 2A 20 53 54 4F 4E 45 53 20 49 4E 1; (* STONES IN
00EE90: 20 52 45 44 27 53 20 52 49 47 48 54 20 50 49 54 RED'S RIGHT PIT
00EEA0: 20 2A 29 0D 0A 20 20 20 52 4B 41 4C 20 20 20 3D *).. RKAL =
00EEB0: 20 32 3B 20 28 2A 20 53 54 4F 4E 45 53 20 49 4E 2; (* STONES IN
00EEC0: 20 52 45 44 27 53 20 4B 41 4C 41 48 20 2A 29 0D RED'S KALAH *).
00EED0: 0A 20 20 20 42 4C 45 46 54 20 20 3D 20 33 3B 20 . BLEFT = 3;
00EEE0: 28 2A 20 53 54 4F 4E 45 53 20 49 4E 20 42 4C 55 (* STONES IN BLU
00EEF0: 45 27 53 20 4C 45 46 54 20 50 49 54 20 2A 29 0D E'S LEFT PIT *).
00EF00: 0A 20 20 20 42 52 49 47 48 54 20 3D 20 34 3B 20 . BRIGHT = 4;
00EF10: 28 2A 20 53 54 4F 4E 45 53 20 49 4E 20 42 4C 55 (* STONES IN BLU
00EF20: 45 27 53 20 52 49 47 48 54 20 50 49 54 20 2A 29 E'S RIGHT PIT *)
00EF30: 0D 0A 20 20 20 42 4B 41 4C 20 20 20 3D 20 35 3B .. BKAL = 5;
00EF40: 20 28 2A 20 53 54 4F 4E 45 53 20 49 4E 20 42 4C (* STONES IN BL
00EF50: 55 45 27 53 20 4B 41 4C 41 48 20 2A 29 0D 0A 20 UE'S KALAH *)..
00EF60: 20 20 54 55 52 4E 20 20 20 3D 20 36 3B 20 28 2A TURN = 6; (*
00EF70: 20 2D 31 20 4D 45 41 4E 53 20 52 45 44 27 53 20 -1 MEANS RED'S
00EF80: 54 55 52 4E 2C 20 31 20 4D 45 41 4E 53 20 42 4C TURN, 1 MEANS BL
00EF90: 55 45 27 53 20 54 55 52 4E 20 2A 29 0D 0A 20 20 UE'S TURN *)..
00EFA0: 20 4C 53 4F 4E 20 20 20 3D 20 37 3B 20 28 2A 20 LSON = 7; (*
00EFB0: 52 4F 57 20 4E 55 4D 42 45 52 20 4F 46 20 4C 45 ROW NUMBER OF LE
00EFC0: 46 54 20 53 4F 4E 20 2A 29 0D 0A 20 20 20 52 53 FT SON *).. RS
00EFD0: 4F 4E 20 20 20 3D 20 38 3B 20 28 2A 20 52 4F 57 ON = 8; (* ROW
00EFE0: 20 4E 55 4D 42 45 52 20 4F 46 20 52 49 47 48 54 NUMBER OF RIGHT
00EFF0: 20 53 4F 4E 20 2A 29 0D 0A 20 20 20 42 45 53 50 SON *).. BESP
00F000: 23 30 28 27 64 27 2C 20 27 72 27 2C 20 27 61 27 #0('d', 'r', 'a'
00F010: 2C 20 27 77 27 29 0D 0A 20 20 20 20 20 20 20 20 , 'w')..
00F020: 20 20 20 20 20 20 65 6C 73 65 20 70 75 74 23 30 else put#0
00F030: 28 27 62 27 2C 20 27 6C 27 2C 20 27 75 27 2C 20 ('b', 'l', 'u',
00F040: 27 65 27 29 3B 0D 0A 20 20 20 70 75 74 23 30 28 'e');.. put#0(
00F050: 27 20 27 2C 20 62 6F 61 72 64 28 72 6F 77 2C 20 ' ', board(row,
00F060: 72 6B 61 6C 29 23 2C 20 27 20 27 29 3B 0D 0A 0D rkal)#, ' ');...
00F070: 0A 20 20 20 69 66 20 28 62 6F 61 72 64 28 72 6F . if (board(ro
00F080: 77 2C 20 62 65 73 70 61 74 29 3D 6F 6E 62 65 73 w, bespat)=onbes
00F090: 70 61 74 29 0D 0A 20 20 20 74 68 65 6E 0D 0A 20 pat).. then..
00F0A0: 20 20 20 20 20 70 75 74 23 30 28 27 74 68 69 73 put#0('this
00F0B0: 20 62 6F 61 27 2C 0D 0A 20 20 20 20 20 20 20 20 boa',..
00F0C0: 20 20 20 20 27 72 64 20 69 73 20 6F 6E 27 2C 0D 'rd is on',.
00F0D0: 0A 20 20 20 20 20 20 20 20 20 20 20 20 27 20 74 . ' t
00F0E0: 68 65 20 62 65 73 27 2C 0D 0A 20 20 20 20 20 20 he bes',..
00F0F0: 20 20 20 20 20 20 27 74 20 70 6F 73 73 69 62 27 't possib'
00F100: 2C 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 27 ,.. '
00F110: 6C 65 20 70 61 74 68 2E 27 29 3B 0D 0A 20 20 20 le path.');..
00F120: 70 75 74 23 30 28 31 33 2C 31 30 29 3B 0D 0A 0D put#0(13,10);...
00F130: 0A 20 20 20 70 75 74 23 30 28 27 20 27 2C 20 27 . put#0(' ', '
00F140: 20 27 2C 20 62 6F 61 72 64 28 72 6F 77 2C 20 72 ', board(row, r
00F150: 6C 65 66 74 20 29 23 2C 0D 0A 20 20 20 20 20 20 left )#,..
00F160: 20 20 20 27 20 27 2C 20 27 20 27 2C 20 62 6F 61 ' ', ' ', boa
00F170: 72 64 28 72 6F 77 2C 20 72 72 69 67 68 74 29 23 rd(row, rright)#
00F180: 2C 20 31 33 2C 31 30 29 0D 0A 20 20 20 65 6E 64 , 13,10).. end
00F190: 3B 20 28 2A 20 70 72 6F 63 65 64 75 72 65 20 70 ; (* procedure p
00F1A0: 72 74 72 6F 77 20 2A 29 0D 0A 0D 0A 70 72 6F 63 rtrow *)....proc
00F1B0: 65 64 75 72 65 20 63 6F 6D 70 63 6F 6E 66 28 66 edure compconf(f
00F1C0: 61 74 68 65 72 2C 20 73 6F 6E 2C 20 73 6F 75 72 ather, son, sour
00F1D0: 63 70 69 74 20 3A 20 69 6E 74 65 67 65 72 29 3B cpit : integer);
00F1E0: 0D 0A 0D 0A 20 20 20 76 61 72 0D 0A 20 20 20 20 .... var..
00F1F0: 20 20 73 6F 77 6F 70 70 2C 0D 0A 20 20 20 20 20 sowopp,..
00F200: 41 54 20 3D 20 39 3B 20 28 2A 20 31 20 4D 45 41 AT = 9; (* 1 MEA
00F210: 4E 53 20 4F 4E 20 42 45 53 54 20 50 41 54 48 2C NS ON BEST PATH,
00F220: 20 30 20 49 46 20 4E 4F 54 20 2A 29 0D 0A 20 20 0 IF NOT *)..
00F230: 20 4F 55 54 43 4F 4D 20 3D 20 31 30 3B 20 28 2A OUTCOM = 10; (*
00F240: 20 30 20 4D 45 41 4E 53 20 62 6C 75 65 20 57 49 0 MEANS blue WI
00F250: 4E 2C 20 31 20 4D 45 41 4E 53 20 44 52 41 57 2C N, 1 MEANS DRAW,
00F260: 20 32 20 4D 45 41 4E 53 20 72 65 64 20 57 49 4E 2 MEANS red WIN
00F270: 20 2A 29 0D 0A 20 20 20 6E 63 6F 6C 73 20 20 3D *).. ncols =
00F280: 20 31 31 3B 20 28 2A 20 6E 75 6D 62 65 72 20 6F 11; (* number o
00F290: 66 20 63 6F 6C 75 6D 6E 73 20 69 6E 20 62 64 20 f columns in bd
00F2A0: 6D 61 74 72 69 78 20 2A 29 0D 0A 20 20 20 72 77 matrix *).. rw
00F2B0: 69 6E 20 20 20 3D 20 32 3B 20 20 28 2A 20 6F 75 in = 2; (* ou
00F2C0: 74 63 6F 6D 20 76 61 6C 75 65 20 66 6F 72 20 72 tcom value for r
00F2D0: 65 64 20 20 77 69 6E 20 2A 29 0D 0A 20 20 20 64 ed win *).. d
00F2E0: 72 61 77 20 20 20 3D 20 31 3B 20 20 28 2A 20 6F raw = 1; (* o
00F2F0: 75 74 63 6F 6D 20 76 61 6C 75 65 20 66 6F 72 20 utcom value for
00F300: 64 72 61 77 20 2A 29 0D 0A 20 20 20 62 77 69 6E draw *).. bwin
00F310: 20 20 20 3D 20 30 3B 20 20 28 2A 20 6F 75 74 63 = 0; (* outc
00F320: 6F 6D 20 76 61 6C 75 65 20 66 6F 72 20 62 6C 75 om value for blu
00F330: 65 20 77 69 6E 20 2A 29 0D 0A 20 20 20 72 74 75 e win *).. rtu
00F340: 72 6E 20 20 3D 20 30 3B 20 20 28 2A 20 74 75 72 rn = 0; (* tur
00F350: 6E 20 76 61 6C 75 65 20 66 6F 72 20 72 65 64 27 n value for red'
00F360: 73 20 20 74 75 72 6E 20 2A 29 0D 0A 20 20 20 62 s turn *).. b
00F370: 74 75 72 6E 20 20 3D 20 31 3B 20 20 28 2A 20 74 turn = 1; (* t
00F380: 75 72 6E 20 76 61 6C 75 65 20 66 6F 72 20 62 6C urn value for bl
00F390: 75 65 27 73 20 74 75 72 6E 20 2A 29 0D 0A 20 20 ue's turn *)..
00F3A0: 20 6C 65 66 74 20 20 20 3D 20 30 3B 20 20 28 2A left = 0; (*
00F3B0: 20 6D 6F 76 65 20 66 72 6F 6D 20 6C 65 66 74 20 move from left
00F3C0: 20 70 69 74 20 2A 29 0D 0A 20 20 20 72 69 67 68 pit *).. righ
00F3D0: 74 20 20 3D 20 31 3B 20 20 28 2A 20 6D 6F 76 65 t = 1; (* move
00F3E0: 20 66 72 6F 6D 20 72 69 67 68 74 20 70 69 74 20 from right pit
00F3F0: 2A 29 0D 0A 20 20 20 6F 66 66 62 65 73 70 61 74 *).. offbespat
00F400: 20 6D 6F 76 69 6E 67 20 3A 20 62 6F 6F 6C 65 61 moving : boolea
00F410: 6E 3B 0D 0A 20 20 20 20 20 20 66 72 6F 6D 70 69 n;.. frompi
00F420: 74 2C 0D 0A 20 20 20 20 20 20 74 6F 70 69 74 2C t,.. topit,
00F430: 0D 0A 20 20 20 20 20 20 73 6F 77 73 74 6F 6E 2C .. sowston,
00F440: 0D 0A 20 20 20 20 20 20 70 74 75 72 6E 2C 20 20 .. pturn,
00F450: 28 2A 20 72 74 75 72 6E 20 69 66 20 72 65 64 20 (* rturn if red
00F460: 70 6C 61 79 65 72 73 20 74 75 72 6E 2C 20 62 74 players turn, bt
00F470: 75 72 6E 20 6F 74 68 65 72 77 69 73 65 20 2A 29 urn otherwise *)
00F480: 0D 0A 20 20 20 20 20 20 69 20 20 20 20 20 20 3A .. i :
00F490: 20 69 6E 74 65 67 65 72 3B 0D 0A 0D 0A 20 20 20 integer;....
00F4A0: 62 65 67 69 6E 0D 0A 20 20 20 70 74 75 72 6E 3A begin.. pturn:
00F4B0: 3D 62 6F 61 72 64 28 66 61 74 68 65 72 2C 20 74 =board(father, t
00F4C0: 75 72 6E 29 3B 0D 0A 20 20 20 69 66 20 28 70 74 urn);.. if (pt
00F4D0: 75 72 6E 3D 62 74 75 72 6E 29 20 74 68 65 6E 0D urn=bturn) then.
00F4E0: 0A 20 20 20 20 20 20 69 66 20 28 73 6F 75 72 63 . if (sourc
00F4F0: 70 69 74 3D 6C 65 66 74 29 20 74 68 65 6E 0D 0A pit=left) then..
00F500: 20 20 20 20 20 20 20 20 20 66 72 6F 6D 70 69 74 frompit
00F510: 3A 3D 62 6C 65 66 74 0D 0A 20 20 20 20 20 20 65 :=bleft.. e
00F520: 6C 73 65 0D 0A 20 20 20 20 20 20 20 20 20 66 72 lse.. fr
00F530: 6F 6D 70 69 74 3A 3D 62 72 69 67 68 74 0D 0A 20 ompit:=bright..
00F540: 20 20 65 6C 73 65 20 20 28 2A 20 6D 75 73 74 20 else (* must
00F550: 62 65 20 72 65 64 27 73 20 74 75 72 6E 20 2A 29 be red's turn *)
00F560: 0D 0A 20 20 20 20 20 20 69 66 20 28 73 6F 75 72 .. if (sour
00F570: 63 70 69 74 3D 6C 65 66 74 29 20 74 68 65 6E 0D cpit=left) then.
00F580: 0A 20 20 20 20 20 20 20 20 20 66 72 6F 6D 70 69 . frompi
00F590: 74 3A 3D 72 6C 65 66 74 0D 0A 20 20 20 20 20 20 t:=rleft..
00F5A0: 65 6C 73 65 0D 0A 20 20 20 20 20 20 20 20 20 66 else.. f
00F5B0: 72 6F 6D 70 69 74 3A 3D 72 72 69 67 68 74 3B 0D rompit:=rright;.
00F5C0: 0A 28 2A 20 70 75 74 23 30 28 27 66 72 6F 6D 70 .(* put#0('fromp
00F5D0: 69 74 3D 27 2C 66 72 6F 6D 70 69 74 23 2C 31 33 it=',frompit#,13
00F5E0: 2C 31 30 29 3B 0D 0A 2A 29 0D 0A 20 20 20 66 6F ,10);..*).. fo
00F5F0: 72 20 69 3A 3D 72 6C 65 66 74 20 74 6F 20 6F 75 r i:=rleft to ou
00F600: 20 3D 20 30 3B 20 28 2A 20 62 65 73 70 61 74 20 = 0; (* bespat
00F610: 76 61 6C 75 65 20 69 66 20 6E 6F 64 65 20 69 73 value if node is
00F620: 20 6F 66 66 20 62 65 73 74 20 70 61 74 68 20 2A off best path *
00F630: 29 0D 0A 20 20 20 6F 6E 62 65 73 70 61 74 20 20 ).. onbespat
00F640: 3D 20 31 3B 20 28 2A 20 62 65 73 70 61 74 20 76 = 1; (* bespat v
00F650: 61 6C 75 65 20 69 66 20 6E 6F 64 65 20 69 73 20 alue if node is
00F660: 6F 6E 20 20 62 65 73 74 20 70 61 74 68 20 2A 29 on best path *)
00F670: 0D 0A 0D 0A 0D 0A 74 79 70 65 0D 0A 20 20 20 61 ......type.. a
00F680: 72 79 20 3D 20 61 72 72 61 79 5B 30 2E 2E 31 30 ry = array[0..10
00F690: 30 30 5D 20 6F 66 20 69 6E 74 65 67 65 72 3B 0D 00] of integer;.
00F6A0: 0A 20 20 20 62 6F 6F 6C 65 61 6E 20 3D 20 28 66 . boolean = (f
00F6B0: 61 6C 73 65 2C 20 74 72 75 65 29 3B 0D 0A 0D 0A alse, true);....
00F6C0: 76 61 72 0D 0A 20 20 20 63 68 20 3A 20 69 6E 74 var.. ch : int
00F6D0: 65 67 65 72 3B 0D 0A 20 20 20 62 64 20 3A 20 61 eger;.. bd : a
00F6E0: 72 79 3B 0D 0A 20 20 20 6E 65 78 74 20 3A 20 69 ry;.. next : i
00F6F0: 6E 74 65 67 65 72 3B 20 28 2A 20 72 6F 77 20 6E nteger; (* row n
00F700: 75 6D 62 65 72 20 6F 66 20 6E 65 78 74 20 22 66 umber of next "f
00F710: 72 65 65 22 20 72 6F 77 20 69 6E 20 61 72 72 61 ree" row in arra
00F720: 79 20 62 6F 61 72 64 20 2A 29 0D 0A 0D 0A 66 75 y board *)....fu
00F730: 6E 63 74 69 6F 6E 20 62 6F 61 72 64 28 72 6F 77 nction board(row
00F740: 2C 20 63 6F 6C 20 3A 20 69 6E 74 65 67 65 72 29 , col : integer)
00F750: 3B 0D 0A 0D 0A 20 20 20 62 65 67 69 6E 0D 0A 20 ;.... begin..
00F760: 20 20 62 6F 61 72 64 20 3A 3D 20 62 64 5B 72 6F board := bd[ro
00F770: 77 2A 6E 63 6F 6C 73 20 2B 20 63 6F 6C 5D 0D 0A w*ncols + col]..
00F780: 20 20 20 65 6E 64 3B 20 28 2A 20 66 75 6E 63 74 end; (* funct
00F790: 69 6F 6E 20 62 6F 61 72 64 20 2A 29 0D 0A 0D 0A ion board *)....
00F7A0: 70 72 6F 63 65 64 75 72 65 20 73 65 74 62 64 28 procedure setbd(
00F7B0: 72 6F 77 2C 20 63 6F 6C 2C 20 76 61 6C 20 3A 20 row, col, val :
00F7C0: 69 6E 74 65 67 65 72 29 3B 0D 0A 0D 0A 20 20 20 integer);....
00F7D0: 62 65 67 69 6E 0D 0A 20 20 20 62 64 5B 72 6F 77 begin.. bd[row
00F7E0: 2A 6E 63 6F 6C 73 20 2B 20 63 6F 6C 5D 20 3A 3D *ncols + col] :=
00F7F0: 20 76 61 6C 0D 0A 20 20 20 65 6E 64 3B 20 28 2A val.. end; (*
00F800: 54 72 61 63 6B 2D 49 6E 66 6F 0D 0A 00 01 00 00 Track-Info......
00F810: 0D 00 00 00 02 09 4A E5 0D 00 C1 02 00 00 00 02 ......J.........
00F820: 0D 00 C6 02 00 00 00 02 0D 00 C2 02 00 00 00 02 ................
00F830: 0D 00 C7 02 00 00 00 02 0D 00 C3 02 00 00 00 02 ................
00F840: 0D 00 C8 02 00 00 00 02 0D 00 C4 02 00 00 00 02 ................
00F850: 0D 00 C9 02 00 00 00 02 0D 00 C5 02 00 00 00 02 ................
00F860: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
00F870: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
00F880: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
00F890: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
00F8A0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
00F8B0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
00F8C0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
00F8D0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
00F8E0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
00F8F0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
00F900: 74 63 6F 6D 20 64 6F 20 20 28 2A 20 63 6F 70 79 tcom do (* copy
00F910: 20 66 61 74 68 65 72 20 62 6F 61 72 64 20 74 6F father board to
00F920: 20 73 6F 6E 20 2A 29 0D 0A 20 20 20 20 20 20 73 son *).. s
00F930: 65 74 62 64 28 73 6F 6E 2C 20 69 2C 20 62 6F 61 etbd(son, i, boa
00F940: 72 64 28 66 61 74 68 65 72 2C 20 69 29 29 3B 0D rd(father, i));.
00F950: 0A 0D 0A 20 20 20 28 2A 20 74 65 73 74 20 69 66 ... (* test if
00F960: 20 61 62 6C 65 20 74 6F 20 6D 6F 76 65 20 2A 29 able to move *)
00F970: 0D 0A 20 20 20 69 66 20 28 62 6F 61 72 64 28 66 .. if (board(f
00F980: 61 74 68 65 72 2C 20 66 72 6F 6D 70 69 74 29 3D ather, frompit)=
00F990: 30 29 20 28 2A 20 69 66 20 66 72 6F 6D 70 69 74 0) (* if frompit
00F9A0: 20 68 61 73 20 6E 6F 20 73 74 6F 6E 65 73 20 2A has no stones *
00F9B0: 29 0D 0A 20 20 20 6F 72 20 28 62 6F 61 72 64 28 ).. or (board(
00F9C0: 66 61 74 68 65 72 2C 20 62 6B 61 6C 29 3E 36 29 father, bkal)>6)
00F9D0: 20 20 20 20 28 2A 20 6F 72 20 62 6C 75 65 20 68 (* or blue h
00F9E0: 61 73 20 77 6F 6E 20 2A 29 0D 0A 20 20 20 6F 72 as won *).. or
00F9F0: 20 28 62 6F 61 72 64 28 66 61 74 68 65 72 2C 20 (board(father,
00FA00: 72 6B 61 6C 29 3E 36 29 20 20 20 20 28 2A 20 6F rkal)>6) (* o
00FA10: 72 20 72 65 64 20 68 61 73 20 77 6F 6E 20 2A 29 r red has won *)
00FA20: 0D 0A 20 20 20 74 68 65 6E 20 20 20 20 20 20 20 .. then
00FA30: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
00FA40: 28 2A 20 75 6E 61 62 6C 65 20 74 6F 20 6D 6F 76 (* unable to mov
00FA50: 65 20 2A 29 0D 0A 20 20 20 20 20 20 73 65 74 62 e *).. setb
00FA60: 64 28 73 6F 6E 2C 20 74 75 72 6E 2C 20 62 6F 61 d(son, turn, boa
00FA70: 72 64 28 66 61 74 68 65 72 2C 20 74 75 72 6E 29 rd(father, turn)
00FA80: 29 0D 0A 20 20 20 65 6C 73 65 20 20 20 20 20 20 ).. else
00FA90: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
00FAA0: 20 28 2A 20 73 74 69 6C 6C 20 68 61 76 65 20 6D (* still have m
00FAB0: 6F 76 65 20 6C 65 66 74 20 2A 29 0D 0A 20 20 20 ove left *)..
00FAC0: 20 20 20 69 66 20 28 62 6F 61 72 64 28 66 61 74 if (board(fat
00FAD0: 68 65 72 2C 20 74 75 72 6E 29 3D 72 74 75 72 6E her, turn)=rturn
00FAE0: 29 0D 0A 20 20 20 20 20 20 74 68 65 6E 20 73 65 ).. then se
00FAF0: 74 62 64 28 73 6F 6E 2C 20 74 75 72 6E 2C 20 62 tbd(son, turn, b
00FB00: 29 3D 33 29 29 0D 0A 20 20 20 20 20 20 20 20 20 )=3))..
00FB10: 20 20 20 74 68 65 6E 0D 0A 20 20 20 20 20 20 20 then..
00FB20: 20 20 20 20 20 20 20 20 62 65 67 69 6E 0D 0A 20 begin..
00FB30: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 65 se
00FB40: 74 62 64 28 73 6F 6E 2C 20 62 6B 61 6C 2C 20 62 tbd(son, bkal, b
00FB50: 6F 61 72 64 28 73 6F 6E 2C 20 62 6B 61 6C 29 2B oard(son, bkal)+
00FB60: 62 6F 61 72 64 28 73 6F 6E 2C 20 72 6C 65 66 74 board(son, rleft
00FB70: 29 29 3B 0D 0A 20 20 20 20 20 20 20 20 20 20 20 ));..
00FB80: 20 20 20 20 73 65 74 62 64 28 73 6F 6E 2C 20 72 setbd(son, r
00FB90: 6C 65 66 74 2C 20 30 29 0D 0A 20 20 20 20 20 20 left, 0)..
00FBA0: 20 20 20 20 20 20 20 20 20 65 6E 64 0D 0A 20 20 end..
00FBB0: 20 20 20 20 20 20 20 20 20 20 65 6E 64 3B 0D 0A end;..
00FBC0: 20 20 20 20 20 20 20 20 20 69 66 20 28 70 74 75 if (ptu
00FBD0: 72 6E 3D 72 74 75 72 6E 29 20 61 6E 64 20 28 28 rn=rturn) and ((
00FBE0: 74 6F 70 69 74 3D 62 6C 65 66 74 29 20 6F 72 20 topit=bleft) or
00FBF0: 28 74 6F 70 69 74 3D 62 72 69 67 68 74 29 29 0D (topit=bright)).
00FC00: 0A 20 20 20 20 20 20 20 20 20 74 68 65 6E 0D 0A . then..
00FC10: 20 20 20 20 20 20 20 20 20 20 20 20 62 65 67 69 begi
00FC20: 6E 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 73 n.. s
00FC30: 65 74 62 64 28 73 6F 6E 2C 20 72 6B 61 6C 2C 20 etbd(son, rkal,
00FC40: 62 6F 61 72 64 28 73 6F 6E 2C 20 72 6B 61 6C 29 board(son, rkal)
00FC50: 2B 62 6F 61 72 64 28 73 6F 6E 2C 20 74 6F 70 69 +board(son, topi
00FC60: 74 29 29 3B 0D 0A 20 20 20 20 20 20 20 20 20 20 t));..
00FC70: 20 20 73 65 74 62 64 28 73 6F 6E 2C 20 74 6F 70 setbd(son, top
00FC80: 69 74 2C 20 30 29 3B 0D 0A 20 20 20 20 20 20 20 it, 0);..
00FC90: 20 20 20 20 20 69 66 20 28 74 6F 70 69 74 3D 62 if (topit=b
00FCA0: 72 69 67 68 74 29 20 61 6E 64 0D 0A 20 20 20 20 right) and..
00FCB0: 20 20 20 20 20 20 20 20 20 20 20 28 28 62 6F 61 ((boa
00FCC0: 72 64 28 73 6F 6E 2C 20 62 6C 65 66 74 29 3D 32 rd(son, bleft)=2
00FCD0: 29 20 6F 72 20 28 62 6F 61 72 64 28 73 6F 6E 2C ) or (board(son,
00FCE0: 20 62 6C 65 66 74 29 3D 33 29 29 0D 0A 20 20 20 bleft)=3))..
00FCF0: 20 20 20 20 20 20 20 20 20 74 68 65 6E 0D 0A 20 then..
00FD00: 74 75 72 6E 29 0D 0A 20 20 20 20 20 20 65 6C 73 turn).. els
00FD10: 65 20 73 65 74 62 64 28 73 6F 6E 2C 20 74 75 72 e setbd(son, tur
00FD20: 6E 2C 20 72 74 75 72 6E 29 3B 0D 0A 0D 0A 20 20 n, rturn);....
00FD30: 20 6D 6F 76 69 6E 67 3A 3D 74 72 75 65 3B 0D 0A moving:=true;..
00FD40: 20 20 20 77 68 69 6C 65 20 28 6D 6F 76 69 6E 67 while (moving
00FD50: 3D 74 72 75 65 29 20 64 6F 20 62 65 67 69 6E 0D =true) do begin.
00FD60: 0A 20 20 20 20 20 20 73 6F 77 73 74 6F 6E 3A 3D . sowston:=
00FD70: 62 6F 61 72 64 28 73 6F 6E 2C 20 66 72 6F 6D 70 board(son, fromp
00FD80: 69 74 29 3B 0D 0A 28 2A 20 20 20 20 70 75 74 23 it);..(* put#
00FD90: 30 28 27 73 6F 77 73 74 6F 6E 3D 27 2C 73 6F 77 0('sowston=',sow
00FDA0: 73 74 6F 6E 23 2C 31 33 2C 31 30 29 3B 0D 0A 2A ston#,13,10);..*
00FDB0: 29 20 20 20 20 73 65 74 62 64 28 73 6F 6E 2C 20 ) setbd(son,
00FDC0: 66 72 6F 6D 70 69 74 2C 20 30 29 3B 0D 0A 20 20 frompit, 0);..
00FDD0: 20 20 20 20 74 6F 70 69 74 3A 3D 66 72 6F 6D 70 topit:=fromp
00FDE0: 69 74 3B 0D 0A 20 20 20 20 20 20 73 6F 77 6F 70 it;.. sowop
00FDF0: 70 3A 3D 66 61 6C 73 65 3B 0D 0A 0D 0A 20 20 20 p:=false;....
00FE00: 20 20 20 77 68 69 6C 65 20 28 73 6F 77 73 74 6F while (sowsto
00FE10: 6E 3E 30 29 20 64 6F 20 62 65 67 69 6E 0D 0A 20 n>0) do begin..
00FE20: 20 20 20 20 20 20 20 20 74 6F 70 69 74 3A 3D 74 topit:=t
00FE30: 6F 70 69 74 2B 31 3B 0D 0A 28 2A 20 20 20 20 20 opit+1;..(*
00FE40: 20 20 70 75 74 23 30 28 27 74 6F 70 69 74 3D 20 put#0('topit=
00FE50: 27 2C 74 6F 70 69 74 23 2C 31 33 2C 31 30 29 3B ',topit#,13,10);
00FE60: 0D 0A 2A 29 20 20 20 20 20 20 20 69 66 20 28 74 ..*) if (t
00FE70: 6F 70 69 74 3E 62 6B 61 6C 29 20 74 68 65 6E 0D opit>bkal) then.
00FE80: 0A 20 20 20 20 20 20 20 20 20 20 20 20 74 6F 70 . top
00FE90: 69 74 3A 3D 72 6C 65 66 74 3B 0D 0A 20 20 20 20 it:=rleft;..
00FEA0: 20 20 20 20 20 69 66 20 28 74 6F 70 69 74 3D 72 if (topit=r
00FEB0: 6B 61 6C 29 20 61 6E 64 20 28 70 74 75 72 6E 3D kal) and (pturn=
00FEC0: 62 74 75 72 6E 29 20 74 68 65 6E 0D 0A 20 20 20 bturn) then..
00FED0: 20 20 20 20 20 20 20 20 20 74 6F 70 69 74 3A 3D topit:=
00FEE0: 62 6C 65 66 74 3B 0D 0A 20 20 20 20 20 20 20 20 bleft;..
00FEF0: 20 69 66 20 28 74 6F 70 69 74 3D 62 6B 61 6C 29 if (topit=bkal)
00FF00: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 62 65 be
00FF10: 67 69 6E 0D 0A 20 20 20 20 20 20 20 20 20 20 20 gin..
00FF20: 20 20 20 20 73 65 74 62 64 28 73 6F 6E 2C 20 72 setbd(son, r
00FF30: 6B 61 6C 2C 20 62 6F 61 72 64 28 73 6F 6E 2C 20 kal, board(son,
00FF40: 72 6B 61 6C 29 2B 62 6F 61 72 64 28 73 6F 6E 2C rkal)+board(son,
00FF50: 20 62 6C 65 66 74 29 29 3B 0D 0A 20 20 20 20 20 bleft));..
00FF60: 20 20 20 20 20 20 20 20 20 20 73 65 74 62 64 28 setbd(
00FF70: 73 6F 6E 2C 20 62 6C 65 66 74 2C 20 30 29 0D 0A son, bleft, 0)..
00FF80: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 65 e
00FF90: 6E 64 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 nd..
00FFA0: 65 6E 64 0D 0A 20 20 20 20 20 20 20 20 20 65 6E end.. en
00FFB0: 64 0D 0A 20 20 20 20 20 20 65 6E 64 20 28 2A 20 d.. end (*
00FFC0: 77 68 69 6C 65 20 6D 6F 76 69 6E 67 3D 74 72 75 while moving=tru
00FFD0: 65 20 2A 29 0D 0A 20 20 20 65 6E 64 3B 20 28 2A e *).. end; (*
00FFE0: 20 70 72 6F 63 65 64 75 72 65 20 63 6F 6D 70 63 procedure compc
00FFF0: 6F 6E 66 20 2A 29 0D 0A 0D 0A 70 72 6F 63 65 64 onf *)....proced
010000: 75 72 65 20 67 72 6F 77 74 72 65 65 28 72 6F 6F ure growtree(roo
010010: 74 20 3A 20 69 6E 74 65 67 65 72 29 3B 0D 0A 0D t : integer);...
010020: 0A 20 20 20 62 65 67 69 6E 0D 0A 28 2A 20 70 75 . begin..(* pu
010030: 74 23 30 28 27 67 72 6F 77 74 72 65 65 27 2C 72 t#0('growtree',r
010040: 6F 6F 74 23 2C 31 33 2C 31 30 29 3B 0D 0A 2A 29 oot#,13,10);..*)
010050: 20 63 6F 6D 70 63 6F 6E 66 28 72 6F 6F 74 2C 20 compconf(root,
010060: 6E 65 78 74 2C 20 6C 65 66 74 29 3B 20 28 2A 20 next, left); (*
010070: 61 74 74 65 6D 70 74 20 74 6F 20 67 72 6F 77 20 attempt to grow
010080: 6C 65 66 74 20 73 6F 6E 20 2A 29 0D 0A 20 20 20 left son *)..
010090: 69 66 20 28 62 6F 61 72 64 28 72 6F 6F 74 2C 20 if (board(root,
0100A0: 74 75 72 6E 29 3C 3E 62 6F 61 72 64 28 6E 65 78 turn)<>board(nex
0100B0: 74 2C 20 74 75 72 6E 29 29 0D 0A 20 20 20 74 68 t, turn)).. th
0100C0: 65 6E 20 28 2A 20 74 68 65 72 65 20 69 73 20 61 en (* there is a
0100D0: 20 6C 65 66 74 20 73 6F 6E 20 2A 29 0D 0A 20 20 left son *)..
0100E0: 20 20 20 20 62 65 67 69 6E 0D 0A 28 2A 20 20 20 begin..(*
0100F0: 20 70 75 74 23 30 28 27 6C 65 66 74 73 6F 6E 20 put#0('leftson
010100: 20 61 6E 64 20 28 70 74 75 72 6E 3D 72 74 75 72 and (pturn=rtur
010110: 6E 29 20 74 68 65 6E 0D 0A 20 20 20 20 20 20 20 n) then..
010120: 20 20 20 20 20 74 6F 70 69 74 3A 3D 72 6C 65 66 topit:=rlef
010130: 74 3B 0D 0A 0D 0A 28 2A 20 20 20 20 20 20 20 70 t;....(* p
010140: 75 74 23 30 28 27 74 6F 70 69 74 3D 20 27 2C 74 ut#0('topit= ',t
010150: 6F 70 69 74 23 2C 31 33 2C 31 30 29 3B 0D 0A 2A opit#,13,10);..*
010160: 29 0D 0A 20 20 20 20 20 20 20 20 20 28 2A 20 73 ).. (* s
010170: 65 74 20 73 6F 77 6F 70 70 20 74 6F 20 74 72 75 et sowopp to tru
010180: 65 20 69 66 20 73 6F 77 69 6E 67 20 69 6E 74 6F e if sowing into
010190: 20 6F 70 70 6F 6E 65 6E 74 73 20 70 69 74 73 20 opponents pits
0101A0: 2A 29 0D 0A 20 20 20 20 20 20 20 20 20 69 66 20 *).. if
0101B0: 28 70 74 75 72 6E 3D 62 74 75 72 6E 29 20 74 68 (pturn=bturn) th
0101C0: 65 6E 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 en..
0101D0: 69 66 20 28 74 6F 70 69 74 3D 72 6C 65 66 74 29 if (topit=rleft)
0101E0: 20 6F 72 20 28 74 6F 70 69 74 3D 72 72 69 67 68 or (topit=rrigh
0101F0: 74 29 20 74 68 65 6E 0D 0A 20 20 20 20 20 20 20 t) then..
010200: 20 20 20 20 20 20 20 20 73 6F 77 6F 70 70 3A 3D sowopp:=
010210: 74 72 75 65 3B 0D 0A 20 20 20 20 20 20 20 20 20 true;..
010220: 69 66 20 28 70 74 75 72 6E 3D 72 74 75 72 6E 29 if (pturn=rturn)
010230: 20 74 68 65 6E 0D 0A 20 20 20 20 20 20 20 20 20 then..
010240: 20 20 20 69 66 20 28 74 6F 70 69 74 3D 62 6C 65 if (topit=ble
010250: 66 74 29 20 6F 72 20 28 74 6F 70 69 74 3D 62 72 ft) or (topit=br
010260: 69 67 68 74 29 20 74 68 65 6E 0D 0A 20 20 20 20 ight) then..
010270: 20 20 20 20 20 20 20 20 20 20 20 73 6F 77 6F 70 sowop
010280: 70 3A 3D 74 72 75 65 3B 0D 0A 0D 0A 20 20 20 20 p:=true;....
010290: 20 20 20 20 20 73 65 74 62 64 28 73 6F 6E 2C 20 setbd(son,
0102A0: 74 6F 70 69 74 2C 20 62 6F 61 72 64 28 73 6F 6E topit, board(son
0102B0: 2C 74 6F 70 69 74 29 2B 31 29 3B 20 28 2A 20 73 ,topit)+1); (* s
0102C0: 6F 77 20 61 20 73 74 6F 6E 65 20 2A 29 0D 0A 20 ow a stone *)..
0102D0: 20 20 20 20 20 20 20 20 73 6F 77 73 74 6F 6E 3A sowston:
0102E0: 3D 73 6F 77 73 74 6F 6E 2D 31 20 20 28 2A 20 6E =sowston-1 (* n
0102F0: 75 6D 62 65 72 20 74 6F 20 73 6F 77 20 69 73 20 umber to sow is
010300: 27 2C 31 33 2C 31 30 29 3B 0D 0A 20 20 20 20 20 ',13,10);..
010310: 20 70 72 74 72 6F 77 28 6E 65 78 74 29 3B 0D 0A prtrow(next);..
010320: 2A 29 20 20 20 20 73 65 74 62 64 28 72 6F 6F 74 *) setbd(root
010330: 2C 20 6C 73 6F 6E 2C 20 6E 65 78 74 29 3B 20 28 , lson, next); (
010340: 2A 20 6C 69 6E 6B 20 73 6F 6E 20 74 6F 20 66 61 * link son to fa
010350: 74 68 65 72 20 2A 29 0D 0A 20 20 20 20 20 20 6E ther *).. n
010360: 65 78 74 3A 3D 6E 65 78 74 2B 31 3B 0D 0A 20 20 ext:=next+1;..
010370: 20 20 20 20 67 72 6F 77 74 72 65 65 28 6E 65 78 growtree(nex
010380: 74 2D 31 29 0D 0A 20 20 20 20 20 20 65 6E 64 0D t-1).. end.
010390: 0A 20 20 20 65 6C 73 65 20 28 2A 20 74 68 65 72 . else (* ther
0103A0: 65 20 69 73 20 6E 6F 74 20 6C 65 66 74 20 73 6F e is not left so
0103B0: 6E 20 2A 29 0D 0A 20 20 20 20 20 20 73 65 74 62 n *).. setb
0103C0: 64 28 72 6F 6F 74 2C 20 6C 73 6F 6E 2C 20 30 29 d(root, lson, 0)
0103D0: 3B 0D 0A 0D 0A 20 20 20 63 6F 6D 70 63 6F 6E 66 ;.... compconf
0103E0: 28 72 6F 6F 74 2C 20 6E 65 78 74 2C 20 72 69 67 (root, next, rig
0103F0: 68 74 29 3B 20 28 2A 20 61 74 74 65 6D 70 74 20 ht); (* attempt
010400: 74 6F 20 67 72 6F 77 20 72 69 67 68 74 20 73 6F to grow right so
010410: 6E 20 2A 29 0D 0A 20 20 20 69 66 20 28 62 6F 61 n *).. if (boa
010420: 72 64 28 72 6F 6F 74 2C 20 74 75 72 6E 29 3C 3E rd(root, turn)<>
010430: 62 6F 61 72 64 28 6E 65 78 74 2C 20 74 75 72 6E board(next, turn
010440: 29 29 0D 0A 20 20 20 74 68 65 6E 20 28 2A 20 74 )).. then (* t
010450: 68 65 72 65 20 69 73 20 61 20 72 69 67 68 74 20 here is a right
010460: 73 6F 6E 20 2A 29 0D 0A 20 20 20 20 20 20 62 65 son *).. be
010470: 67 69 6E 0D 0A 28 2A 20 20 20 20 70 75 74 23 30 gin..(* put#0
010480: 28 27 72 69 67 68 74 73 6F 6E 27 2C 31 33 2C 31 ('rightson',13,1
010490: 30 29 3B 0D 0A 20 20 20 20 20 20 70 72 74 72 6F 0);.. prtro
0104A0: 77 28 6E 65 78 74 29 3B 0D 0A 2A 29 20 20 20 20 w(next);..*)
0104B0: 73 65 74 62 64 28 72 6F 6F 74 2C 20 72 73 6F 6E setbd(root, rson
0104C0: 2C 20 6E 65 78 74 29 3B 20 28 2A 20 6C 69 6E 6B , next); (* link
0104D0: 20 73 6F 6E 20 74 6F 20 66 61 74 68 65 72 20 2A son to father *
0104E0: 29 0D 0A 20 20 20 20 20 20 6E 65 78 74 3A 3D 6E ).. next:=n
0104F0: 65 78 74 2B 31 3B 0D 0A 20 20 20 20 20 20 67 72 ext+1;.. gr
010500: 6F 6E 65 20 6C 65 73 73 20 6E 6F 77 20 2A 29 0D one less now *).
010510: 0A 20 20 20 20 20 20 20 20 20 65 6E 64 3B 20 28 . end; (
010520: 2A 20 77 68 69 6C 65 20 73 6F 77 73 74 6F 6E 3E * while sowston>
010530: 30 20 2A 29 0D 0A 0D 0A 20 20 20 20 20 20 28 2A 0 *).... (*
010540: 20 63 68 65 63 6B 20 66 6F 72 20 67 6F 20 61 67 check for go ag
010550: 61 69 6E 2C 20 73 65 74 20 6D 6F 76 69 6E 67 20 ain, set moving
010560: 2A 29 0D 0A 20 20 20 20 20 20 69 66 20 28 73 6F *).. if (so
010570: 77 6F 70 70 3D 74 72 75 65 29 20 61 6E 64 20 28 wopp=true) and (
010580: 62 6F 61 72 64 28 73 6F 6E 2C 20 74 6F 70 69 74 board(son, topit
010590: 29 20 3E 20 31 29 20 74 68 65 6E 0D 0A 20 20 20 ) > 1) then..
0105A0: 20 20 20 20 20 20 69 66 20 28 20 28 70 74 75 72 if ( (ptur
0105B0: 6E 3D 62 74 75 72 6E 29 20 61 6E 64 20 28 28 74 n=bturn) and ((t
0105C0: 6F 70 69 74 3D 62 6C 65 66 74 29 20 6F 72 20 28 opit=bleft) or (
0105D0: 74 6F 70 69 74 3D 62 72 69 67 68 74 29 29 20 29 topit=bright)) )
0105E0: 0D 0A 20 20 20 20 20 20 20 20 20 6F 72 20 28 20 .. or (
0105F0: 28 70 74 75 72 6E 3D 72 74 75 72 6E 29 20 61 6E (pturn=rturn) an
010600: 64 20 28 28 74 6F 70 69 74 3D 72 6C 65 66 74 29 d ((topit=rleft)
010610: 20 6F 72 20 28 74 6F 70 69 74 3D 72 72 69 67 68 or (topit=rrigh
010620: 74 29 29 20 29 0D 0A 20 20 20 20 20 20 20 20 20 t)) )..
010630: 20 20 20 74 68 65 6E 20 28 2A 20 20 61 20 67 6F then (* a go
010640: 20 61 67 61 69 6E 20 6D 6F 76 65 20 2A 29 0D 0A again move *)..
010650: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 62 b
010660: 65 67 69 6E 0D 0A 20 20 20 20 20 20 20 20 20 20 egin..
010670: 20 20 20 20 20 20 20 20 6D 6F 76 69 6E 67 3A 3D moving:=
010680: 74 72 75 65 3B 0D 0A 20 20 20 20 20 20 20 20 20 true;..
010690: 20 20 20 20 20 20 20 20 20 66 72 6F 6D 70 69 74 frompit
0106A0: 3A 3D 74 6F 70 69 74 0D 0A 20 20 20 20 20 20 20 :=topit..
0106B0: 20 20 20 20 20 20 20 20 65 6E 64 0D 0A 20 20 20 end..
0106C0: 20 20 20 20 20 20 20 20 20 65 6C 73 65 0D 0A 20 else..
0106D0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6D 6F mo
0106E0: 76 69 6E 67 3A 3D 66 61 6C 73 65 20 28 2A 20 6E ving:=false (* n
0106F0: 6F 74 20 61 20 67 6F 20 61 67 61 69 6E 20 6D 6F ot a go again mo
010700: 6F 77 74 72 65 65 28 6E 65 78 74 2D 31 29 0D 0A owtree(next-1)..
010710: 20 20 20 20 20 20 65 6E 64 0D 0A 20 20 20 65 6C end.. el
010720: 73 65 20 28 2A 20 74 68 65 72 65 20 69 73 20 6E se (* there is n
010730: 6F 20 72 69 67 68 74 20 73 6F 6E 20 2A 29 0D 0A o right son *)..
010740: 20 20 20 20 20 20 73 65 74 62 64 28 72 6F 6F 74 setbd(root
010750: 2C 20 72 73 6F 6E 2C 20 30 29 0D 0A 20 20 20 65 , rson, 0).. e
010760: 6E 64 3B 20 28 2A 20 70 72 6F 63 65 64 75 72 65 nd; (* procedure
010770: 20 67 72 6F 77 74 72 65 65 20 2A 29 0D 0A 0D 0A growtree *)....
010780: 70 72 6F 63 65 64 75 72 65 20 70 72 74 74 72 65 procedure prttre
010790: 65 28 72 6F 6F 74 20 3A 20 69 6E 74 65 67 65 72 e(root : integer
0107A0: 29 3B 0D 0A 0D 0A 20 20 20 62 65 67 69 6E 0D 0A );.... begin..
0107B0: 20 20 20 69 66 20 28 72 6F 6F 74 3C 3E 30 29 0D if (root<>0).
0107C0: 0A 20 20 20 74 68 65 6E 0D 0A 20 20 20 20 20 20 . then..
0107D0: 62 65 67 69 6E 0D 0A 20 20 20 20 20 20 70 72 74 begin.. prt
0107E0: 74 72 65 65 28 62 6F 61 72 64 28 72 6F 6F 74 2C tree(board(root,
0107F0: 20 6C 73 6F 6E 29 29 3B 20 28 2A 20 70 72 69 6E lson)); (* prin
010800: 74 20 6C 65 66 74 20 20 73 75 62 74 72 65 65 20 t left subtree
010810: 2A 29 0D 0A 20 20 20 20 20 20 70 72 74 72 6F 77 *).. prtrow
010820: 20 28 72 6F 6F 74 29 3B 20 28 2A 20 70 72 69 6E (root); (* prin
010830: 74 20 74 68 65 20 6E 6F 64 65 20 2A 29 0D 0A 20 t the node *)..
010840: 20 20 20 20 20 70 72 74 74 72 65 65 28 62 6F 61 prttree(boa
010850: 72 64 28 72 6F 6F 74 2C 20 72 73 6F 6E 29 29 20 rd(root, rson))
010860: 20 28 2A 20 70 72 69 6E 74 20 72 69 67 68 74 20 (* print right
010870: 73 75 62 74 72 65 65 20 2A 29 0D 0A 20 20 20 20 subtree *)..
010880: 20 20 65 6E 64 0D 0A 20 20 20 65 6E 64 3B 20 28 end.. end; (
010890: 2A 20 70 72 6F 63 65 64 75 72 65 20 70 72 74 74 * procedure prtt
0108A0: 72 65 65 20 2A 29 0D 0A 0D 0A 70 72 6F 63 65 64 ree *)....proced
0108B0: 75 72 65 20 66 69 6E 64 6F 75 74 28 72 6F 6F 74 ure findout(root
0108C0: 20 3A 20 69 6E 74 65 67 65 72 29 3B 0D 0A 0D 0A : integer);....
0108D0: 20 20 20 62 65 67 69 6E 0D 0A 20 20 20 69 66 20 begin.. if
0108E0: 28 72 6F 6F 74 3C 3E 30 29 0D 0A 20 20 20 74 68 (root<>0).. th
0108F0: 65 6E 0D 0A 20 20 20 20 20 20 62 65 67 69 6E 0D en.. begin.
010900: 76 65 20 2A 29 0D 0A 20 20 20 20 20 20 20 20 20 ve *)..
010910: 65 6C 73 65 20 28 2A 20 6E 6F 74 20 61 20 67 6F else (* not a go
010920: 20 61 67 61 69 6E 20 6D 6F 76 65 20 2A 29 0D 0A again move *)..
010930: 20 20 20 20 20 20 20 20 20 20 20 20 6D 6F 76 69 movi
010940: 6E 67 3A 3D 66 61 6C 73 65 3B 0D 0A 0D 0A 20 20 ng:=false;....
010950: 20 20 20 20 28 2A 20 63 68 65 63 6B 20 66 6F 72 (* check for
010960: 20 63 61 70 74 75 72 65 20 2A 29 0D 0A 20 20 20 capture *)..
010970: 20 20 20 69 66 20 28 62 6F 61 72 64 28 73 6F 6E if (board(son
010980: 2C 20 74 6F 70 69 74 29 3D 32 29 20 6F 72 20 28 , topit)=2) or (
010990: 62 6F 61 72 64 28 73 6F 6E 20 2C 74 6F 70 69 74 board(son ,topit
0109A0: 29 3D 33 29 0D 0A 20 20 20 20 20 20 74 68 65 6E )=3).. then
0109B0: 20 20 28 2A 20 63 61 70 74 75 72 65 20 70 6F 73 (* capture pos
0109C0: 73 69 62 6C 65 20 2A 29 0D 0A 20 20 20 20 20 20 sible *)..
0109D0: 20 20 20 62 65 67 69 6E 0D 0A 20 20 20 20 20 20 begin..
0109E0: 20 20 20 69 66 20 28 70 74 75 72 6E 3D 62 74 75 if (pturn=btu
0109F0: 72 6E 29 20 61 6E 64 20 28 28 74 6F 70 69 74 3D rn) and ((topit=
010A00: 72 6C 65 66 74 29 20 6F 72 20 28 74 6F 70 69 74 rleft) or (topit
010A10: 3D 72 72 69 67 68 74 29 29 0D 0A 20 20 20 20 20 =rright))..
010A20: 20 20 20 20 74 68 65 6E 0D 0A 20 20 20 20 20 20 then..
010A30: 20 20 20 20 20 20 62 65 67 69 6E 0D 0A 20 20 20 begin..
010A40: 20 20 20 20 20 20 20 20 20 73 65 74 62 64 28 73 setbd(s
010A50: 6F 6E 2C 20 62 6B 61 6C 2C 20 62 6F 61 72 64 28 on, bkal, board(
010A60: 73 6F 6E 2C 20 62 6B 61 6C 29 2B 62 6F 61 72 64 son, bkal)+board
010A70: 28 73 6F 6E 2C 20 74 6F 70 69 74 29 29 3B 0D 0A (son, topit));..
010A80: 20 20 20 20 20 20 20 20 20 20 20 20 73 65 74 62 setb
010A90: 64 28 73 6F 6E 2C 20 74 6F 70 69 74 2C 20 30 29 d(son, topit, 0)
010AA0: 3B 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 69 ;.. i
010AB0: 66 20 28 74 6F 70 69 74 3D 72 72 69 67 68 74 29 f (topit=rright)
010AC0: 20 61 6E 64 0D 0A 20 20 20 20 20 20 20 20 20 20 and..
010AD0: 20 20 20 20 20 28 28 62 6F 61 72 64 28 73 6F 6E ((board(son
010AE0: 2C 20 72 6C 65 66 74 29 3D 32 29 20 6F 72 20 28 , rleft)=2) or (
010AF0: 62 6F 61 72 64 28 73 6F 6E 2C 20 72 6C 65 66 74 board(son, rleft
010B00: 54 72 61 63 6B 2D 49 6E 66 6F 0D 0A 00 01 00 00 Track-Info......
010B10: 0E 00 00 00 02 09 4A E5 0E 00 C1 02 00 00 00 02 ......J.........
010B20: 0E 00 C6 02 00 00 00 02 0E 00 C2 02 00 00 00 02 ................
010B30: 0E 00 C7 02 00 00 00 02 0E 00 C3 02 00 00 00 02 ................
010B40: 0E 00 C8 02 00 00 00 02 0E 00 C4 02 00 00 00 02 ................
010B50: 0E 00 C9 02 00 00 00 02 0E 00 C5 02 00 00 00 02 ................
010B60: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
010B70: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
010B80: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
010B90: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
010BA0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
010BB0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
010BC0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
010BD0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
010BE0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
010BF0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
010C00: 0A 0D 0A 20 20 20 20 20 20 28 2A 20 69 6E 69 74 ... (* init
010C10: 20 61 6C 6C 20 6E 6F 64 65 73 20 74 6F 20 22 6F all nodes to "o
010C20: 66 66 20 62 65 73 74 20 70 61 74 68 22 20 2A 29 ff best path" *)
010C30: 0D 0A 20 20 20 20 20 20 73 65 74 62 64 28 72 6F .. setbd(ro
010C40: 6F 74 2C 20 6F 75 74 63 6F 6D 2C 20 6F 66 66 62 ot, outcom, offb
010C50: 65 73 70 61 74 29 3B 0D 0A 0D 0A 20 20 20 20 20 espat);....
010C60: 20 66 69 6E 64 6F 75 74 28 62 6F 61 72 64 28 72 findout(board(r
010C70: 6F 6F 74 2C 20 6C 73 6F 6E 29 29 3B 20 28 2A 20 oot, lson)); (*
010C80: 66 69 6E 64 20 6F 75 74 63 6F 6D 65 20 6F 66 20 find outcome of
010C90: 6C 65 66 74 20 20 73 75 62 74 72 65 65 20 2A 29 left subtree *)
010CA0: 0D 0A 20 20 20 20 20 20 66 69 6E 64 6F 75 74 28 .. findout(
010CB0: 62 6F 61 72 64 28 72 6F 6F 74 2C 20 72 73 6F 6E board(root, rson
010CC0: 29 29 3B 20 28 2A 20 66 69 6E 64 20 6F 75 74 63 )); (* find outc
010CD0: 6F 6D 65 20 6F 66 20 72 69 67 68 74 20 73 75 62 ome of right sub
010CE0: 74 72 65 65 20 2A 29 0D 0A 0D 0A 20 20 20 20 20 tree *)....
010CF0: 20 28 2A 20 64 65 74 65 72 6D 69 6E 65 20 6F 75 (* determine ou
010D00: 74 63 6F 6D 65 20 6F 66 20 66 61 74 68 65 72 20 tcome of father
010D10: 2A 29 0D 0A 20 20 20 20 20 20 28 2A 20 66 69 72 *).. (* fir
010D20: 73 74 2C 20 73 65 65 20 69 66 20 68 65 20 68 61 st, see if he ha
010D30: 73 20 61 6E 79 20 73 6F 6E 73 20 2A 29 0D 0A 20 s any sons *)..
010D40: 20 20 20 20 20 69 66 20 28 62 6F 61 72 64 28 72 if (board(r
010D50: 6F 6F 74 2C 20 6C 73 6F 6E 29 3D 30 29 20 61 6E oot, lson)=0) an
010D60: 64 20 28 62 6F 61 72 64 28 72 6F 6F 74 2C 20 72 d (board(root, r
010D70: 73 6F 6E 29 3D 30 29 0D 0A 20 20 20 20 20 20 74 son)=0).. t
010D80: 68 65 6E 20 20 20 20 20 20 20 20 20 20 20 20 20 hen
010D90: 20 20 20 20 20 20 28 2A 20 68 65 20 68 61 73 20 (* he has
010DA0: 6E 6F 20 73 6F 6E 73 20 2A 29 0D 0A 20 20 20 20 no sons *)..
010DB0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
010DC0: 20 20 20 20 20 20 20 20 20 28 2A 20 64 65 74 65 (* dete
010DD0: 72 6D 69 6E 65 20 6F 75 74 63 6F 6D 65 20 66 72 rmine outcome fr
010DE0: 6F 6D 20 70 69 74 73 20 2A 29 0D 0A 20 20 20 20 om pits *)..
010DF0: 20 20 20 20 20 69 66 20 28 62 6F 61 72 64 28 72 if (board(r
010E00: 20 28 2A 20 72 6F 6F 74 20 68 61 73 20 6E 6F 20 (* root has no
010E10: 6C 65 66 74 20 73 6F 6E 20 2A 29 0D 0A 20 20 20 left son *)..
010E20: 20 20 20 20 20 20 70 3A 3D 62 6F 61 72 64 28 70 p:=board(p
010E30: 2C 20 72 73 6F 6E 29 20 20 20 20 28 2A 20 6D 6F , rson) (* mo
010E40: 76 65 20 6F 6E 20 72 69 67 68 74 20 73 6F 6E 20 ve on right son
010E50: 2A 29 0D 0A 20 20 20 20 20 20 65 6C 73 65 0D 0A *).. else..
010E60: 20 20 20 20 20 20 20 20 20 69 66 20 28 62 6F 61 if (boa
010E70: 72 64 28 70 2C 20 72 73 6F 6E 29 3D 30 29 0D 0A rd(p, rson)=0)..
010E80: 20 20 20 20 20 20 20 20 20 74 68 65 6E 20 28 2A then (*
010E90: 20 72 6F 6F 74 20 68 61 73 20 6E 6F 20 72 69 67 root has no rig
010EA0: 68 74 20 73 6F 6E 20 2A 29 0D 0A 20 20 20 20 20 ht son *)..
010EB0: 20 20 20 20 20 20 20 70 3A 3D 62 6F 61 72 64 28 p:=board(
010EC0: 70 2C 20 6C 73 6F 6E 29 20 20 20 28 2A 20 6D 6F p, lson) (* mo
010ED0: 76 65 20 6F 6E 20 74 6F 20 6C 65 66 74 20 73 6F ve on to left so
010EE0: 6E 20 2A 29 0D 0A 20 20 20 20 20 20 20 20 20 65 n *).. e
010EF0: 6C 73 65 20 28 2A 20 72 6F 6F 74 20 68 61 73 20 lse (* root has
010F00: 62 6F 74 68 20 73 6F 6E 73 20 2A 29 0D 0A 20 20 both sons *)..
010F10: 20 20 20 20 20 20 20 20 20 20 69 66 20 28 62 6F if (bo
010F20: 61 72 64 28 70 2C 20 74 75 72 6E 29 3D 62 74 75 ard(p, turn)=btu
010F30: 72 6E 29 20 20 28 2A 20 69 66 20 62 6C 75 65 27 rn) (* if blue'
010F40: 73 20 74 75 72 6E 20 2A 29 0D 0A 20 20 20 20 20 s turn *)..
010F50: 20 20 20 20 20 20 20 74 68 65 6E 20 28 2A 20 73 then (* s
010F60: 65 65 20 69 66 20 6C 65 66 74 20 6F 75 74 63 6F ee if left outco
010F70: 6D 20 69 73 20 62 65 74 74 65 72 20 74 68 61 6E m is better than
010F80: 20 72 69 67 68 74 20 2A 29 0D 0A 20 20 20 20 20 right *)..
010F90: 20 20 20 20 20 20 20 20 20 20 69 66 20 28 20 20 if (
010FA0: 20 20 62 6F 61 72 64 28 20 62 6F 61 72 64 28 70 board( board(p
010FB0: 2C 20 6C 73 6F 6E 29 2C 20 6F 75 74 63 6F 6D 29 , lson), outcom)
010FC0: 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ..
010FD0: 20 20 20 20 20 20 3C 3D 20 62 6F 61 72 64 28 20 <= board(
010FE0: 62 6F 61 72 64 28 70 2C 20 72 73 6F 6E 29 2C 20 board(p, rson),
010FF0: 6F 75 74 63 6F 6D 29 0D 0A 20 20 20 20 20 20 20 outcom)..
011000: 6F 6F 74 2C 20 62 6B 61 6C 29 3E 36 29 0D 0A 20 oot, bkal)>6)..
011010: 20 20 20 20 20 20 20 20 74 68 65 6E 20 20 20 20 then
011020: 20 20 20 20 20 20 20 20 20 20 20 20 28 2A 20 62 (* b
011030: 6C 75 65 20 68 61 73 20 77 6F 6E 20 2A 29 0D 0A lue has won *)..
011040: 20 20 20 20 20 20 20 20 20 20 20 20 73 65 74 62 setb
011050: 64 28 72 6F 6F 74 2C 20 6F 75 74 63 6F 6D 2C 20 d(root, outcom,
011060: 62 77 69 6E 29 0D 0A 20 20 20 20 20 20 20 20 20 bwin)..
011070: 65 6C 73 65 20 28 2A 20 65 69 74 68 65 72 20 72 else (* either r
011080: 65 64 20 77 69 6E 20 6F 72 20 64 72 61 77 20 2A ed win or draw *
011090: 29 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 69 ).. i
0110A0: 66 20 28 62 6F 61 72 64 28 72 6F 6F 74 2C 20 72 f (board(root, r
0110B0: 6B 61 6C 29 3E 36 29 0D 0A 20 20 20 20 20 20 20 kal)>6)..
0110C0: 20 20 20 20 20 74 68 65 6E 20 20 20 20 20 20 20 then
0110D0: 20 20 20 20 20 20 20 28 2A 20 72 65 64 20 68 61 (* red ha
0110E0: 73 20 77 6F 6E 20 2A 29 0D 0A 20 20 20 20 20 20 s won *)..
0110F0: 20 20 20 20 20 20 20 20 20 73 65 74 62 64 28 72 setbd(r
011100: 6F 6F 74 2C 20 6F 75 74 63 6F 6D 2C 20 72 77 69 oot, outcom, rwi
011110: 6E 29 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 n)..
011120: 65 6C 73 65 20 20 20 20 20 20 20 20 20 20 20 20 else
011130: 20 20 28 2A 20 6E 65 69 74 68 65 72 20 77 6F 6E (* neither won
011140: 2C 20 74 68 65 72 65 66 6F 72 65 20 64 72 61 77 , therefore draw
011150: 20 2A 29 0D 0A 20 20 20 20 20 20 20 20 20 20 20 *)..
011160: 20 20 20 20 73 65 74 62 64 28 72 6F 6F 74 2C 20 setbd(root,
011170: 6F 75 74 63 6F 6D 2C 20 64 72 61 77 29 0D 0A 0D outcom, draw)...
011180: 0A 20 20 20 20 20 20 65 6C 73 65 20 20 20 20 20 . else
011190: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 (
0111A0: 2A 20 68 65 20 68 61 73 20 61 74 20 6C 65 61 73 * he has at leas
0111B0: 74 20 6F 6E 65 20 73 6F 6E 20 2A 29 0D 0A 20 20 t one son *)..
0111C0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
0111D0: 20 20 20 20 20 20 20 20 20 20 20 20 28 2A 20 64 (* d
0111E0: 65 74 65 72 6D 69 6E 65 20 6F 75 74 63 6F 6D 65 etermine outcome
0111F0: 20 66 72 6F 6D 20 73 6F 6E 73 20 2A 29 0D 0A 20 from sons *)..
011200: 20 20 20 20 20 20 20 20 20 20 20 29 0D 0A 20 20 )..
011210: 20 20 20 20 20 20 20 20 20 20 20 20 20 74 68 65 the
011220: 6E 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 n
011230: 20 20 28 2A 20 6C 65 66 74 20 20 69 73 20 62 65 (* left is be
011240: 74 74 65 72 20 6F 72 20 3D 20 2A 29 0D 0A 20 20 tter or = *)..
011250: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
011260: 70 3A 3D 62 6F 61 72 64 28 70 2C 20 6C 73 6F 6E p:=board(p, lson
011270: 29 20 28 2A 20 67 6F 20 6C 65 66 74 20 20 20 20 ) (* go left
011280: 20 20 20 20 20 20 20 20 20 20 2A 29 0D 0A 20 20 *)..
011290: 20 20 20 20 20 20 20 20 20 20 20 20 20 65 6C 73 els
0112A0: 65 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e
0112B0: 20 20 28 2A 20 72 69 67 68 74 20 69 73 20 62 65 (* right is be
0112C0: 74 74 65 72 20 20 20 20 20 20 2A 29 0D 0A 20 20 tter *)..
0112D0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
0112E0: 70 3A 3D 62 6F 61 72 64 28 70 2C 20 72 73 6F 6E p:=board(p, rson
0112F0: 29 20 28 2A 20 67 6F 20 72 69 67 68 74 20 20 20 ) (* go right
011300: 20 20 20 20 20 20 20 20 20 20 2A 29 0D 0A 20 20 *)..
011310: 20 20 20 20 20 20 20 20 20 20 65 6C 73 65 20 28 else (
011320: 2A 20 69 74 20 6D 75 73 74 20 62 65 20 72 65 64 * it must be red
011330: 27 73 20 74 75 72 6E 20 2A 29 0D 0A 20 20 20 20 's turn *)..
011340: 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 20 if (
011350: 20 20 20 62 6F 61 72 64 28 20 62 6F 61 72 64 28 board( board(
011360: 70 2C 20 6C 73 6F 6E 29 2C 20 6F 75 74 63 6F 6D p, lson), outcom
011370: 29 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 20 )..
011380: 20 20 20 20 20 20 20 3E 3D 20 62 6F 61 72 64 28 >= board(
011390: 20 62 6F 61 72 64 28 70 2C 20 72 73 6F 6E 29 2C board(p, rson),
0113A0: 20 6F 75 74 63 6F 6D 29 0D 0A 20 20 20 20 20 20 outcom)..
0113B0: 20 20 20 20 20 20 20 20 20 20 20 20 29 0D 0A 20 )..
0113C0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 74 68 th
0113D0: 65 6E 20 20 20 20 20 20 20 20 20 20 20 20 20 20 en
0113E0: 20 20 20 28 2A 20 6C 65 66 74 20 20 69 73 20 62 (* left is b
0113F0: 65 74 74 65 72 20 6F 72 20 3D 20 2A 29 0D 0A 20 etter or = *)..
011400: 20 20 20 20 20 20 20 20 69 66 20 28 62 6F 61 72 if (boar
011410: 64 28 72 6F 6F 74 2C 20 6C 73 6F 6E 29 3D 30 29 d(root, lson)=0)
011420: 20 20 28 2A 20 69 66 20 6E 6F 20 6C 65 66 74 20 (* if no left
011430: 73 6F 6E 20 2A 29 0D 0A 20 20 20 20 20 20 20 20 son *)..
011440: 20 74 68 65 6E 20 20 20 20 20 20 20 20 20 20 20 then
011450: 20 20 20 20 20 20 28 2A 20 6F 75 74 63 6F 6D 65 (* outcome
011460: 20 69 73 20 66 72 6F 6D 20 72 69 67 68 74 20 73 is from right s
011470: 6F 6E 20 2A 29 0D 0A 20 20 20 20 20 20 20 20 20 on *)..
011480: 20 20 20 73 65 74 62 64 28 72 6F 6F 74 2C 20 6F setbd(root, o
011490: 75 74 63 6F 6D 2C 0D 0A 20 20 20 20 20 20 20 20 utcom,..
0114A0: 20 20 20 20 20 20 20 62 6F 61 72 64 28 20 62 6F board( bo
0114B0: 61 72 64 28 72 6F 6F 74 2C 20 72 73 6F 6E 29 2C ard(root, rson),
0114C0: 20 6F 75 74 63 6F 6D 29 0D 0A 20 20 20 20 20 20 outcom)..
0114D0: 20 20 20 20 20 20 20 20 20 20 20 29 0D 0A 20 20 )..
0114E0: 20 20 20 20 20 20 20 65 6C 73 65 20 20 20 20 20 else
0114F0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
011500: 20 28 2A 20 68 65 20 68 61 73 20 61 20 6C 65 66 (* he has a lef
011510: 74 20 73 6F 6E 20 2A 29 0D 0A 20 20 20 20 20 20 t son *)..
011520: 20 20 20 20 20 20 69 66 20 28 62 6F 61 72 64 28 if (board(
011530: 72 6F 6F 74 2C 20 72 73 6F 6E 29 3D 30 29 20 28 root, rson)=0) (
011540: 2A 20 69 66 20 6E 6F 20 72 69 67 68 74 20 73 6F * if no right so
011550: 6E 20 2A 29 0D 0A 20 20 20 20 20 20 20 20 20 20 n *)..
011560: 20 20 74 68 65 6E 20 20 20 20 20 20 20 20 20 20 then
011570: 20 20 28 2A 20 6F 75 74 63 6F 6D 65 20 69 73 20 (* outcome is
011580: 66 72 6F 6D 20 6C 65 66 74 20 73 6F 6E 20 2A 29 from left son *)
011590: 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ..
0115A0: 20 73 65 74 62 64 28 72 6F 6F 74 2C 20 6F 75 74 setbd(root, out
0115B0: 63 6F 6D 2C 0D 0A 20 20 20 20 20 20 20 20 20 20 com,..
0115C0: 20 20 20 20 20 20 20 20 62 6F 61 72 64 28 20 62 board( b
0115D0: 6F 61 72 64 28 72 6F 6F 74 2C 20 6C 73 6F 6E 29 oard(root, lson)
0115E0: 2C 20 6F 75 74 63 6F 6D 29 0D 0A 20 20 20 20 20 , outcom)..
0115F0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 29 )
011600: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
011610: 20 70 3A 3D 62 6F 61 72 64 28 70 2C 20 6C 73 6F p:=board(p, lso
011620: 6E 29 20 28 2A 20 67 6F 20 6C 65 66 74 20 20 20 n) (* go left
011630: 20 20 20 20 20 20 20 20 20 20 20 2A 29 0D 0A 20 *)..
011640: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 65 6C el
011650: 73 65 20 20 20 20 20 20 20 20 20 20 20 20 20 20 se
011660: 20 20 20 28 2A 20 72 69 67 68 74 20 69 73 20 62 (* right is b
011670: 65 74 74 65 72 20 72 6F 20 3D 20 2A 29 0D 0A 20 etter ro = *)..
011680: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
011690: 20 70 3A 3D 62 6F 61 72 64 28 70 2C 20 72 73 6F p:=board(p, rso
0116A0: 6E 29 20 28 2A 20 67 6F 20 72 69 67 68 74 20 20 n) (* go right
0116B0: 20 20 20 20 20 20 20 20 20 20 20 2A 29 0D 0A 20 *)..
0116C0: 20 20 20 20 20 65 6E 64 3B 20 28 2A 20 77 68 69 end; (* whi
0116D0: 6C 65 20 6E 6F 74 20 61 20 6C 65 61 66 20 2A 29 le not a leaf *)
0116E0: 0D 0A 20 20 20 73 65 74 62 64 28 70 2C 20 62 65 .. setbd(p, be
0116F0: 73 70 61 74 2C 20 6F 6E 62 65 73 70 61 74 29 20 spat, onbespat)
011700: 20 28 2A 20 66 69 6E 61 6C 20 6C 65 61 66 20 69 (* final leaf i
011710: 73 20 6F 6E 20 62 65 73 74 20 70 61 74 68 20 2A s on best path *
011720: 29 0D 0A 20 20 20 65 6E 64 3B 20 28 2A 20 70 72 ).. end; (* pr
011730: 6F 63 65 64 75 72 65 20 66 69 6E 64 62 65 73 70 ocedure findbesp
011740: 61 74 20 2A 29 0D 0A 0D 0A 62 65 67 69 6E 20 28 at *)....begin (
011750: 2A 20 6D 61 69 6E 20 6C 69 6E 65 20 2A 29 0D 0A * main line *)..
011760: 67 65 74 72 6F 6F 74 3B 0D 0A 77 68 69 6C 65 20 getroot;..while
011770: 28 63 68 2D 27 30 27 3C 3E 32 29 20 64 6F 20 20 (ch-'0'<>2) do
011780: 28 2A 20 64 6F 20 77 68 69 6C 65 20 6E 6F 74 20 (* do while not
011790: 65 6F 66 20 2A 29 0D 0A 0D 0A 20 20 20 62 65 67 eof *).... beg
0117A0: 69 6E 0D 0A 20 20 20 70 75 74 23 30 28 31 33 2C in.. put#0(13,
0117B0: 31 30 2C 31 33 2C 31 30 29 3B 0D 0A 20 20 20 70 10,13,10);.. p
0117C0: 75 74 23 30 28 27 72 6F 6F 74 20 62 6F 61 27 2C ut#0('root boa',
0117D0: 0D 0A 20 20 20 20 20 20 20 20 20 27 72 64 20 69 .. 'rd i
0117E0: 73 20 20 20 27 29 3B 0D 0A 20 20 20 70 72 74 72 s ');.. prtr
0117F0: 6F 77 28 31 29 3B 0D 0A 0D 0A 20 20 20 6E 65 78 ow(1);.... nex
011800: 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 65 6C .. el
011810: 73 65 20 20 20 20 20 20 20 20 20 20 20 20 20 20 se
011820: 20 20 20 20 20 28 2A 20 68 65 20 68 61 73 20 62 (* he has b
011830: 6F 74 68 20 73 6F 6E 73 20 2A 29 0D 0A 20 20 20 oth sons *)..
011840: 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 if (
011850: 62 6F 61 72 64 28 72 6F 6F 74 2C 20 74 75 72 6E board(root, turn
011860: 29 3D 62 74 75 72 6E 29 0D 0A 20 20 20 20 20 20 )=bturn)..
011870: 20 20 20 20 20 20 20 20 20 74 68 65 6E 20 20 20 then
011880: 20 28 2A 20 6F 75 74 63 6F 6D 65 20 69 73 20 6D (* outcome is m
011890: 69 6E 69 6D 75 6D 20 6F 66 20 73 6F 6E 73 27 20 inimum of sons'
0118A0: 6F 75 74 63 6F 6D 65 73 20 2A 29 0D 0A 20 20 20 outcomes *)..
0118B0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 s
0118C0: 65 74 62 64 28 72 6F 6F 74 2C 20 6F 75 74 63 6F etbd(root, outco
0118D0: 6D 2C 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 m,..
0118E0: 20 20 20 20 20 20 20 20 20 6D 69 6E 28 62 6F 61 min(boa
0118F0: 72 64 28 20 62 6F 61 72 64 28 72 6F 6F 74 2C 20 rd( board(root,
011900: 6C 73 6F 6E 29 2C 20 6F 75 74 63 6F 6D 29 2C 0D lson), outcom),.
011910: 0A 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .
011920: 20 20 20 20 20 20 20 20 20 20 62 6F 61 72 64 28 board(
011930: 20 62 6F 61 72 64 28 72 6F 6F 74 2C 20 72 73 6F board(root, rso
011940: 6E 29 2C 20 6F 75 74 63 6F 6D 29 0D 0A 20 20 20 n), outcom)..
011950: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
011960: 20 20 20 20 20 29 0D 0A 20 20 20 20 20 20 20 20 )..
011970: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 29 )
011980: 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ..
011990: 20 65 6C 73 65 20 20 20 20 28 2A 20 6F 75 74 63 else (* outc
0119A0: 6F 6D 65 20 69 73 20 6D 61 78 69 6D 75 6D 20 6F ome is maximum o
0119B0: 66 20 73 6F 6E 73 27 20 6F 75 74 63 6F 6D 65 73 f sons' outcomes
0119C0: 20 2A 29 0D 0A 20 20 20 20 20 20 20 20 20 20 20 *)..
0119D0: 20 20 20 20 20 20 20 73 65 74 62 64 28 72 6F 6F setbd(roo
0119E0: 74 2C 20 6F 75 74 63 6F 6D 2C 0D 0A 20 20 20 20 t, outcom,..
0119F0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
011A00: 74 3A 3D 32 3B 20 28 2A 20 72 6F 77 20 32 20 69 t:=2; (* row 2 i
011A10: 73 20 66 69 72 73 74 20 66 72 65 65 20 72 6F 77 s first free row
011A20: 20 2A 29 0D 0A 20 20 20 67 72 6F 77 74 72 65 65 *).. growtree
011A30: 28 31 29 3B 0D 0A 20 20 20 66 69 6E 64 6F 75 74 (1);.. findout
011A40: 28 31 29 3B 0D 0A 20 20 20 66 69 6E 64 62 65 73 (1);.. findbes
011A50: 70 61 74 3B 0D 0A 20 20 20 70 75 74 23 30 28 31 pat;.. put#0(1
011A60: 33 2C 31 30 2C 31 33 2C 31 30 29 3B 0D 0A 20 20 3,10,13,10);..
011A70: 20 70 75 74 23 30 28 27 6F 75 74 70 75 74 20 74 put#0('output t
011A80: 27 2C 0D 0A 20 20 20 20 20 20 20 20 20 27 72 65 ',.. 're
011A90: 65 20 20 20 20 20 27 29 3B 0D 0A 20 20 20 70 72 e ');.. pr
011AA0: 74 74 72 65 65 28 31 29 3B 0D 0A 20 20 20 67 65 ttree(1);.. ge
011AB0: 74 72 6F 6F 74 0D 0A 20 20 20 65 6E 64 0D 0A 0D troot.. end...
011AC0: 0A 65 6E 64 2E 0D 0A 1A 1A 1A 1A 1A 1A 1A 1A 1A .end............
011AD0: 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A ................
011AE0: 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A ................
011AF0: 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A ................
011B00: 20 28 2A 20 66 69 6E 61 6C 20 6C 65 61 66 20 69 (* final leaf i
011B10: 73 20 6F 6E 20 62 65 73 74 20 70 61 74 68 20 2A s on best path *
011B20: 29 0D 0A 20 20 20 65 6E 64 3B 20 28 2A 20 70 72 ).. end; (* pr
011B30: 6F 63 65 64 75 72 65 20 66 69 6E 64 62 65 73 70 ocedure findbesp
011B40: 61 74 20 2A 29 0D 0A 0D 0A 62 65 67 69 6E 20 28 at *)....begin (
011B50: 2A 20 6D 61 69 6E 20 6C 69 6E 65 20 2A 29 0D 0A * main line *)..
011B60: 67 65 74 72 6F 6F 74 3B 0D 0A 77 68 69 6C 65 20 getroot;..while
011B70: 28 63 68 2D 27 30 27 3C 3E 32 29 20 64 6F 20 20 (ch-'0'<>2) do
011B80: 28 2A 20 64 6F 20 77 68 69 6C 65 20 6E 6F 74 20 (* do while not
011B90: 65 6F 66 20 2A 29 0D 0A 0D 0A 20 20 20 62 65 67 eof *).... beg
011BA0: 69 6E 0D 0A 20 20 20 70 75 74 23 30 28 31 33 2C in.. put#0(13,
011BB0: 31 30 2C 31 33 2C 31 30 29 3B 0D 0A 20 20 20 70 10,13,10);.. p
011BC0: 75 74 23 30 28 27 72 6F 6F 74 20 62 6F 61 27 2C ut#0('root boa',
011BD0: 0D 0A 20 20 20 20 20 20 20 20 20 27 72 64 20 69 .. 'rd i
011BE0: 73 20 20 20 27 29 3B 0D 0A 20 20 20 70 72 74 72 s ');.. prtr
011BF0: 6F 77 28 31 29 3B 0D 0A 0D 0A 20 20 20 6E 65 78 ow(1);.... nex
011C00: 20 6D 61 78 28 62 6F 61 72 64 20 28 62 6F 61 72 max(board (boar
011C10: 64 28 72 6F 6F 74 2C 20 6C 73 6F 6E 29 2C 20 6F d(root, lson), o
011C20: 75 74 63 6F 6D 29 2C 0D 0A 20 20 20 20 20 20 20 utcom),..
011C30: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
011C40: 20 20 62 6F 61 72 64 20 28 62 6F 61 72 64 28 72 board (board(r
011C50: 6F 6F 74 2C 20 72 73 6F 6E 29 2C 20 6F 75 74 63 oot, rson), outc
011C60: 6F 6D 29 0D 0A 20 20 20 20 20 20 20 20 20 20 20 om)..
011C70: 20 20 20 20 20 20 20 20 20 20 20 20 20 29 0D 0A )..
011C80: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
011C90: 20 20 20 20 20 20 20 29 0D 0A 20 20 20 20 20 20 )..
011CA0: 65 6E 64 20 28 2A 20 69 66 20 72 6F 6F 74 3C 3E end (* if root<>
011CB0: 30 20 2A 29 0D 0A 20 20 20 65 6E 64 3B 20 28 2A 0 *).. end; (*
011CC0: 20 70 72 6F 63 65 64 75 72 65 20 66 69 6E 64 6F procedure findo
011CD0: 75 74 20 2A 29 0D 0A 0D 0A 70 72 6F 63 65 64 75 ut *)....procedu
011CE0: 72 65 20 66 69 6E 64 62 65 73 70 61 74 3B 0D 0A re findbespat;..
011CF0: 0D 0A 20 20 20 76 61 72 0D 0A 20 20 20 20 20 20 .. var..
011D00: 70 20 3A 20 69 6E 74 65 67 65 72 3B 20 20 28 2A p : integer; (*
011D10: 20 77 6F 72 6B 20 70 6F 69 6E 74 65 72 20 75 73 work pointer us
011D20: 65 64 20 74 6F 20 74 72 61 76 65 72 73 65 20 74 ed to traverse t
011D30: 72 65 65 20 2A 29 0D 0A 0D 0A 20 20 20 62 65 67 ree *).... beg
011D40: 69 6E 0D 0A 20 20 20 70 3A 3D 31 3B 0D 0A 20 20 in.. p:=1;..
011D50: 20 28 2A 20 6C 6F 6F 70 20 75 6E 69 74 6C 20 6C (* loop unitl l
011D60: 65 61 66 20 69 73 20 66 6F 75 6E 64 20 2A 29 0D eaf is found *).
011D70: 0A 20 20 20 77 68 69 6C 65 20 28 62 6F 61 72 64 . while (board
011D80: 28 70 2C 20 6C 73 6F 6E 29 3C 3E 30 29 20 6F 72 (p, lson)<>0) or
011D90: 20 28 62 6F 61 72 64 28 70 2C 20 72 73 6F 6E 29 (board(p, rson)
011DA0: 3C 3E 30 29 20 64 6F 0D 0A 20 20 20 20 20 20 62 <>0) do.. b
011DB0: 65 67 69 6E 0D 0A 20 20 20 20 20 20 73 65 74 62 egin.. setb
011DC0: 64 28 70 2C 20 62 65 73 70 61 74 2C 20 6F 6E 62 d(p, bespat, onb
011DD0: 65 73 70 61 74 29 3B 0D 0A 20 20 20 20 20 20 69 espat);.. i
011DE0: 66 20 28 62 6F 61 72 64 28 70 2C 20 6C 73 6F 6E f (board(p, lson
011DF0: 29 3D 30 29 0D 0A 20 20 20 20 20 20 74 68 65 6E )=0).. then
011E00: 54 72 61 63 6B 2D 49 6E 66 6F 0D 0A 00 01 00 00 Track-Info......
011E10: 0F 00 00 00 02 09 4A E5 0F 00 C1 02 00 00 00 02 ......J.........
011E20: 0F 00 C6 02 00 00 00 02 0F 00 C2 02 00 00 00 02 ................
011E30: 0F 00 C7 02 00 00 00 02 0F 00 C3 02 00 00 00 02 ................
011E40: 0F 00 C8 02 00 00 00 02 0F 00 C4 02 00 00 00 02 ................
011E50: 0F 00 C9 02 00 00 00 02 0F 00 C5 02 00 00 00 02 ................
011E60: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
011E70: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
011E80: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
011E90: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
011EA0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
011EB0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
011EC0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
011ED0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
011EE0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
011EF0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
011F00: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
011F10: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
011F20: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
011F30: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
011F40: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
011F50: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
011F60: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
011F70: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
011F80: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
011F90: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
011FA0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
011FB0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
011FC0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
011FD0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
011FE0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
011FF0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
012000: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
012010: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
012020: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
012030: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
012040: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
012050: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
012060: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
012070: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
012080: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
012090: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0120A0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0120B0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0120C0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0120D0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0120E0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0120F0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
012100: 28 2A 20 64 65 63 69 6D 61 6C 20 72 65 70 72 65 (* decimal repre
012110: 73 65 6E 74 61 74 6F 6E 20 6F 66 20 6E 65 67 61 sentaton of nega
012120: 74 69 76 65 20 70 6F 77 65 72 73 20 6F 66 20 32 tive powers of 2
012130: 20 2A 29 0D 0A 0D 0A 63 6F 6E 73 74 20 6E 3D 31 *)....const n=1
012140: 30 3B 0D 0A 0D 0A 74 79 70 65 20 64 69 67 69 74 0;....type digit
012150: 20 20 3D 20 30 2E 2E 39 3B 0D 0A 20 20 20 20 20 = 0..9;..
012160: 64 69 67 74 79 70 20 3D 20 61 72 72 61 79 5B 31 digtyp = array[1
012170: 2E 2E 6E 5D 20 6F 66 20 64 69 67 69 74 3B 0D 0A ..n] of digit;..
012180: 0D 0A 76 61 72 20 69 2C 6B 2C 72 3A 20 69 6E 74 ..var i,k,r: int
012190: 65 67 65 72 3B 0D 0A 20 20 20 20 64 20 3A 20 64 eger;.. d : d
0121A0: 69 67 74 79 70 3B 0D 0A 0D 0A 62 65 67 69 6E 20 igtyp;....begin
0121B0: 66 6F 72 20 6B 3A 3D 31 20 74 6F 20 6E 20 64 6F for k:=1 to n do
0121C0: 0D 0A 20 20 20 62 65 67 69 6E 20 70 75 74 23 30 .. begin put#0
0121D0: 28 27 2E 27 29 3B 20 72 3A 3D 30 3B 0D 0A 20 20 ('.'); r:=0;..
0121E0: 20 20 20 20 66 6F 72 20 69 3A 3D 31 20 74 6F 20 for i:=1 to
0121F0: 6B 2D 31 20 64 6F 0D 0A 20 20 20 20 20 20 62 65 k-1 do.. be
012200: 67 69 6E 20 72 3A 3D 31 30 2A 72 2B 64 5B 69 5D gin r:=10*r+d[i]
012210: 3B 20 64 5B 69 5D 3A 3D 72 2F 32 3B 0D 0A 20 20 ; d[i]:=r/2;..
012220: 20 20 20 20 20 20 20 20 20 20 72 3A 3D 72 2D 32 r:=r-2
012230: 2A 64 5B 69 5D 3B 20 70 75 74 23 30 28 64 5B 69 *d[i]; put#0(d[i
012240: 5D 2B 27 30 27 29 0D 0A 20 20 20 20 20 20 65 6E ]+'0').. en
012250: 64 3B 0D 0A 20 20 20 20 20 20 64 5B 6B 5D 3A 3D d;.. d[k]:=
012260: 35 3B 20 70 75 74 23 30 28 27 35 27 2C 31 33 2C 5; put#0('5',13,
012270: 31 30 29 0D 0A 20 20 20 65 6E 64 0D 0A 65 6E 64 10).. end..end
012280: 2E 0D 0A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A ................
012290: 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A ................
0122A0: 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A ................
0122B0: 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A ................
0122C0: 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A ................
0122D0: 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A ................
0122E0: 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A ................
0122F0: 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A ................
012300: 0D 0A 54 68 69 73 20 66 69 6C 65 20 64 65 73 63 ..This file desc
012310: 69 62 65 73 20 74 68 65 20 66 75 6E 63 74 69 6F ibes the functio
012320: 6E 20 6F 66 20 65 61 63 68 20 6F 66 20 74 68 65 n of each of the
012330: 20 70 2D 6F 70 20 63 6F 64 65 73 2C 20 61 73 20 p-op codes, as
012340: 62 65 73 74 20 49 0D 0A 63 61 6E 20 72 65 6D 65 best I..can reme
012350: 6D 62 65 72 20 74 68 65 6D 20 77 68 69 6C 65 20 mber them while
012360: 6C 6F 6F 6B 69 6E 67 20 61 74 20 6D 79 20 6E 6F looking at my no
012370: 74 65 73 20 61 6E 64 20 63 6F 64 65 20 6F 66 20 tes and code of
012380: 6F 76 65 72 20 61 20 79 65 61 72 0D 0A 61 67 6F over a year..ago
012390: 2E 20 20 28 53 6F 72 72 79 2C 20 69 74 27 73 20 . (Sorry, it's
0123A0: 74 68 65 20 62 65 73 74 20 49 20 63 61 6E 20 6F the best I can o
0123B0: 66 66 65 72 20 79 6F 75 2E 29 0D 0A 0D 0A 45 6E ffer you.)....En
0123C0: 74 65 72 65 64 20 30 32 2F 32 30 2F 38 31 2C 20 tered 02/20/81,
0123D0: 66 72 6F 6D 20 6E 6F 74 65 73 20 64 61 74 65 64 from notes dated
0123E0: 20 30 39 2F 30 31 2F 37 39 0D 0A 0D 0A 54 68 65 09/01/79....The
0123F0: 20 63 6F 6D 70 69 6C 65 72 20 64 6F 65 73 20 6E compiler does n
012400: 6F 74 20 67 65 6E 65 72 61 74 65 20 61 6C 6C 20 ot generate all
012410: 6F 66 20 74 68 65 20 70 2D 63 6F 64 65 73 20 67 of the p-codes g
012420: 69 76 65 6E 20 68 65 72 65 2E 20 20 53 6F 6D 65 iven here. Some
012430: 0D 0A 77 65 72 65 20 66 6F 72 20 70 6C 61 6E 65 ..were for plane
012440: 64 20 65 6E 68 61 6E 63 65 6D 65 6E 74 73 20 74 d enhancements t
012450: 68 61 74 20 6E 65 76 65 72 20 77 65 72 65 20 66 hat never were f
012460: 69 6E 69 73 68 65 64 2E 20 20 53 69 6D 69 6C 61 inished. Simila
012470: 72 6C 61 79 2C 0D 0A 74 68 65 20 74 72 61 6E 73 rlay,..the trans
012480: 6C 61 74 6F 72 20 28 70 66 65 74 29 20 77 69 6C lator (pfet) wil
012490: 6C 20 74 72 61 6E 73 6C 61 74 65 20 6D 61 6E 79 l translate many
0124A0: 20 70 2D 63 6F 64 65 73 20 74 68 61 74 20 74 68 p-codes that th
0124B0: 65 20 63 6F 6D 70 69 6C 65 72 0D 0A 70 72 65 73 e compiler..pres
0124C0: 65 6E 74 6C 79 20 64 6F 65 73 20 6E 6F 74 20 67 ently does not g
0124D0: 65 6E 65 72 61 74 65 2E 20 20 54 68 65 72 65 20 enerate. There
0124E0: 6D 61 79 20 62 65 20 73 6F 6D 65 20 70 2D 63 6F may be some p-co
0124F0: 64 65 73 20 69 74 20 64 6F 65 73 0D 0A 67 65 6E des it does..gen
012500: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
012510: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
012520: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
012530: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
012540: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
012550: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
012560: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
012570: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
012580: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
012590: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0125A0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0125B0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0125C0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0125D0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0125E0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0125F0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
012600: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
012610: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
012620: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
012630: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
012640: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
012650: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
012660: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
012670: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
012680: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
012690: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0126A0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0126B0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0126C0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0126D0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0126E0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0126F0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
012700: 65 72 61 74 65 20 74 68 61 74 20 61 72 65 20 6E erate that are n
012710: 6F 74 20 6C 69 73 74 65 64 20 68 65 72 65 2C 20 ot listed here,
012720: 62 75 74 20 74 68 69 73 20 69 73 20 74 68 65 20 but this is the
012730: 62 75 6C 6B 20 6F 66 20 74 68 65 0D 0A 75 73 65 bulk of the..use
012740: 66 75 6C 6C 20 6F 6E 65 73 20 61 6E 64 20 77 69 full ones and wi
012750: 6C 6C 20 67 69 76 65 20 79 6F 75 20 74 68 65 20 ll give you the
012760: 67 65 6E 65 72 61 6C 20 69 64 65 61 2E 0D 0A 0D general idea....
012770: 0A 0D 0A 0D 0A 6C 69 74 09 30 2C 63 09 70 75 73 .....lit.0,c.pus
012780: 68 20 77 6F 72 64 20 63 6F 6E 73 74 61 6E 74 20 h word constant
012790: 63 20 69 6E 74 6F 20 73 74 61 63 6B 0D 0A 0D 0A c into stack....
0127A0: 6F 70 72 09 6E 2C 6D 09 70 65 72 66 6F 72 6D 20 opr.n,m.perform
0127B0: 6F 70 65 72 61 74 69 6F 6E 20 6D 20 6F 6E 20 74 operation m on t
0127C0: 6F 70 20 6F 66 20 73 74 61 63 6B 0D 0A 09 09 65 op of stack....e
0127D0: 6C 65 6D 65 6E 74 28 73 29 20 6F 66 20 74 79 70 lement(s) of typ
0127E0: 65 20 6E 2C 20 77 68 65 72 65 20 6E 3D 30 20 69 e n, where n=0 i
0127F0: 73 20 77 6F 72 64 2C 20 6E 3D 31 20 69 73 20 61 s word, n=1 is a
012800: 6C 66 61 0D 0A 0D 0A 6C 6F 64 09 6C 2C 61 09 70 lfa....lod.l,a.p
012810: 75 73 68 20 77 6F 72 64 20 61 74 20 6C 2B 61 20 ush word at l+a
012820: 69 6E 74 6F 20 73 74 61 63 6B 0D 0A 0D 0A 73 74 into stack....st
012830: 6F 09 6C 2C 61 09 70 6F 20 73 74 61 63 6B 20 69 o.l,a.po stack i
012840: 6E 74 6F 20 6C 2B 61 0D 0A 0D 0A 63 61 6C 09 6C nto l+a....cal.l
012850: 2C 61 09 63 61 6C 6C 20 72 6F 75 74 69 6E 65 20 ,a.call routine
012860: 61 74 20 70 20 6C 61 62 65 6C 20 61 2C 20 6C 65 at p label a, le
012870: 76 65 6C 20 6C 20 61 77 61 79 0D 0A 0D 0A 69 6E vel l away....in
012880: 74 09 30 2C 6E 09 61 64 64 20 6E 20 74 6F 20 73 t.0,n.add n to s
012890: 74 61 63 6B 20 70 6F 69 6E 74 65 72 0D 0A 0D 0A tack pointer....
0128A0: 6A 75 6D 70 09 30 2C 61 09 6A 75 6D 70 20 74 6F jump.0,a.jump to
0128B0: 20 70 20 6C 61 62 65 6C 20 61 0D 0A 0D 0A 6A 70 p label a....jp
0128C0: 63 09 63 2C 61 09 6A 75 6D 70 20 74 6F 20 70 20 c.c,a.jump to p
0128D0: 6C 61 62 65 6C 20 61 20 61 66 74 65 72 20 70 6F label a after po
0128E0: 70 70 69 6E 67 20 73 74 61 63 6B 0D 0A 09 09 63 pping stack....c
0128F0: 3D 30 20 6A 75 6D 70 20 69 66 20 28 74 6F 70 29 =0 jump if (top)
012900: C3 5A 01 C3 F3 01 C3 FF 01 C3 A3 02 C3 AE 02 C3 .Z........£.....
012910: 0F 01 C3 D3 02 C3 15 01 C3 18 01 C3 1B 01 C3 1E ................
012920: 01 C3 DC 02 C3 F4 02 C3 2D 03 C3 3A 03 C3 4D 03 ........-..:..M.
012930: C3 5C 03 C3 7A 03 C3 86 03 C3 9C 03 C3 3C 01 C3 .\..z........<..
012940: 3F 01 C3 B3 03 C3 C1 03 C3 D4 03 00 00 52 54 50 ?............RTP
012950: 20 52 45 56 20 30 30 2E 38 52 2A 06 00 2E 00 F9 REV 00.8R*.....
012960: 22 4B 01 CD 6C 01 CD B2 01 C3 00 06 3A 5D 00 06 "K..l.......:]..
012970: FF FE 20 CA 7C 01 FE 3F CA 7C 01 04 78 32 27 04 .. .|..?.|..x2'.
012980: 21 DE 03 11 5C 00 CD A7 01 3A 6D 00 06 FF FE 20 !...\....:m....
012990: CA 99 01 FE 3F CA 99 01 04 78 32 28 04 21 01 04 ....?....x2(.!..
0129A0: 11 6C 00 CD A7 01 C9 06 0C 1A 77 13 23 05 C2 A9 .l........w.#...
0129B0: 01 C9 3A 27 04 B7 C2 CF 01 AF 32 FE 03 11 DE 03 ..:'......2.....
0129C0: 0E 0F CD 05 00 3C CA 17 03 21 AF 04 22 2B 04 3A .....<...!.."+.:
0129D0: 28 04 B7 C0 11 01 04 0E 13 CD 05 00 11 01 04 0E (...............
0129E0: 16 CD 05 00 3C CA 17 03 AF 32 21 04 21 AF 04 22 ....<....2!.!.."
0129F0: 2D 04 C9 2A 4B 01 5E 23 56 EB 3D C2 F6 01 C9 E1 -..*K.^#V.=.....
012A00: D1 E3 7A AC F2 0C 02 7A 17 3E FF C9 7A 94 C0 7B ..z....z.>..z..{
012A10: 95 C9 3A 27 04 B7 C2 24 02 3A 2A 04 B7 C2 24 02 ..:'...$.:*...$.
012A20: CD 2A 02 C9 0E 01 CD 05 00 C9 2A 2B 04 7D FE AF .*........*+.}..
012A30: C2 52 02 11 2F 04 0E 1A CD 05 00 0E 14 11 DE 03 .R../...........
012A40: CD 05 00 B7 C2 17 03 11 80 00 0E 1A CD 05 00 21 ...............!
012A50: 2F 04 7E 23 22 2B 04 C9 4F 3A 28 04 B7 C2 6C 02 /.~#"+..O:(...l.
012A60: 3A 29 04 B7 C2 6C 02 79 CD 73 02 C9 59 0E 02 CD :)...l.y.s..Y...
012A70: 05 00 C9 F5 2A 2D 04 7D FE 2F C2 9C 02 11 AF 04 ....*-.}./......
012A80: 0E 1A CD 05 00 11 01 04 0E 15 CD 05 00 B7 C2 17 ................
012A90: 03 11 80 00 0E 1A CD 05 00 21 AF 04 F1 77 23 22 .........!...w#"
012AA0: 2D 04 C9 32 2A 04 CD 12 02 6F 26 00 E3 E9 32 29 -..2*....o&...2)
012AB0: 04 E1 E3 7D CD 58 02 C9 01 F6 FF 11 FF FF 09 13 ...}.X..........
012AC0: DA BE 02 3E 0A 85 F5 EB 7C B5 C4 BB 02 F1 C6 30 ...>....|......0
012AD0: C3 58 02 32 29 04 E1 E3 CD B8 02 C9 32 29 04 16 .X.2).......2)..
012AE0: 04 E1 E3 D5 E5 7D CD 58 02 E1 7C CD 58 02 D1 15 .....}.X..|.X...
012AF0: C2 E1 02 C9 3A 28 04 B7 C2 00 00 3E 1A CD 73 02 ....:(.....>..s.
012B00: 3D 66 61 6C 73 65 2C 20 63 3D 31 20 6A 75 6D 70 =false, c=1 jump
012B10: 20 69 66 20 28 74 6F 70 29 3D 74 72 75 65 0D 0A if (top)=true..
012B20: 0D 0A 63 73 70 09 30 2C 6E 09 63 61 6C 6C 20 73 ..csp.0,n.call s
012B30: 74 61 6E 64 61 72 64 20 70 72 6F 63 65 64 75 72 tandard procedur
012B40: 65 20 6E 0D 0A 0D 0A 6C 6F 64 78 09 6C 2C 61 09 e n....lodx.l,a.
012B50: 70 75 73 68 20 77 6F 72 64 20 61 74 20 6C 2B 61 push word at l+a
012B60: 2B 28 74 6F 70 29 20 69 6E 74 6F 20 73 74 61 63 +(top) into stac
012B70: 6B 0D 0A 0D 0A 73 74 6F 78 09 6C 2C 61 09 70 6F k....stox.l,a.po
012B80: 70 20 73 74 61 63 6B 20 69 6E 74 6F 20 6C 2B 61 p stack into l+a
012B90: 2B 28 74 6F 70 2D 31 29 0D 0A 0D 0A 61 6C 69 74 +(top-1)....alit
012BA0: 09 30 2C 30 09 70 75 73 68 20 61 6C 66 61 20 77 .0,0.push alfa w
012BB0: 68 69 63 68 20 66 6F 6C 6C 6F 77 73 20 28 6E 65 hich follows (ne
012BC0: 78 74 20 32 20 70 2D 6F 70 73 20 6F 72 20 38 20 xt 2 p-ops or 8
012BD0: 62 79 74 65 73 29 0D 0A 09 09 69 6E 74 6F 20 73 bytes)....into s
012BE0: 74 61 63 6B 2C 20 6D 73 62 79 74 65 20 66 6F 6C tack, msbyte fol
012BF0: 6C 6F 77 73 20 66 69 72 73 74 20 28 6D 61 79 20 lows first (may
012C00: 68 61 76 65 20 63 68 61 6E 67 65 64 29 0D 0A 0D have changed)...
012C10: 0A 61 6C 6F 64 09 6C 2C 61 09 70 75 73 68 20 61 .alod.l,a.push a
012C20: 6C 66 61 20 61 74 20 6C 2B 61 20 69 6E 74 6F 20 lfa at l+a into
012C30: 73 74 61 63 6B 0D 0A 0D 0A 61 73 74 6F 09 6C 2C stack....asto.l,
012C40: 61 09 70 6F 70 20 61 6C 66 61 20 66 72 6F 6D 20 a.pop alfa from
012C50: 73 74 61 63 6B 20 69 6E 74 6F 20 6C 2B 61 0D 0A stack into l+a..
012C60: 0D 0A 61 6C 6F 64 78 09 6C 2C 61 09 70 75 73 68 ..alodx.l,a.push
012C70: 20 61 6C 66 61 20 61 74 20 6C 2B 61 2B 28 74 6F alfa at l+a+(to
012C80: 70 29 20 74 6F 20 73 74 61 63 6B 0D 0A 0D 0A 61 p) to stack....a
012C90: 73 74 6F 78 09 6C 2C 61 09 70 6F 70 20 61 6C 66 stox.l,a.pop alf
012CA0: 61 20 66 72 6F 6D 20 73 74 61 63 6B 20 69 6E 74 a from stack int
012CB0: 6F 20 6C 2B 61 2B 28 74 6F 70 2D 35 29 0D 0A 0D o l+a+(top-5)...
012CC0: 0A 70 73 68 66 09 30 2C 30 09 70 75 73 68 20 74 .pshf.0,0.push t
012CD0: 72 75 65 20 6F 72 20 66 61 6C 73 65 20 69 6E 74 rue or false int
012CE0: 6F 20 73 74 61 63 6B 20 62 61 73 65 64 20 6F 6E o stack based on
012CF0: 20 72 65 73 75 6C 74 0D 0A 09 09 6F 66 20 6C 61 result....of la
012D00: 3A 2D 04 FE B0 C2 FB 02 11 01 04 0E 10 CD 05 00 :-..............
012D10: 3C CA 17 03 C3 00 00 11 22 03 0E 09 CD 05 00 C3 <.......".......
012D20: 00 00 64 69 73 6B 20 65 72 72 6F 72 24 E1 3E 04 ..disk error$.>.
012D30: 56 23 5E 23 D5 3D C2 30 03 E9 01 07 00 09 C1 3E V#^#.=.0.......>
012D40: 04 56 2B 5E 2B D5 3D C2 41 03 60 69 E9 C1 3E 04 .V+^+.=.A.`i..>.
012D50: D1 73 23 72 23 3D C2 50 03 60 69 E9 21 12 00 39 .s#r#=.P.`i.!..9
012D60: E5 11 F8 FF 19 EB 19 EB 0E 08 1A BE C2 75 03 23 .............u.#
012D70: 13 0D C2 6A 03 E1 D1 F9 EB E9 E1 D1 E3 AF 93 5F ...j..........._
012D80: 9A 93 57 19 E3 E9 E1 D1 E3 C5 44 4D 21 00 00 79 ..W.......DM!..y
012D90: B0 CA 99 03 0B 19 C3 8F 03 C1 E3 E9 E1 D1 E3 C5 ................
012DA0: AF 93 5F 9A 93 57 01 FF FF 03 19 DA A9 03 60 69 .._..W........`i
012DB0: C1 E3 E9 2A 4B 01 E5 E5 21 00 00 39 22 4B 01 EB ...*K...!..9"K..
012DC0: E9 2A 4B 01 E5 D5 CD F6 01 E3 EB 21 00 00 39 22 .*K........!..9"
012DD0: 4B 01 EB E9 2A 4B 01 F9 F1 E1 22 4B 01 C9 00 00 K...*K...."K....
012DE0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
012DF0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
012E00: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
012E10: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
012E20: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
012E30: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
012E40: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
012E50: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
012E60: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
012E70: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
012E80: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
012E90: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
012EA0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
012EB0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
012EC0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
012ED0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
012EE0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
012EF0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
012F00: 73 74 20 63 6F 6E 64 69 74 69 6F 6E 61 6C 20 65 st conditional e
012F10: 78 65 63 75 74 65 64 0D 0A 0D 0A 6C 61 61 09 6C xecuted....laa.l
012F20: 2C 61 09 6C 6F 61 64 20 61 62 73 6F 6C 75 74 65 ,a.load absolute
012F30: 20 6D 61 63 68 69 6E 65 20 61 64 64 72 65 73 73 machine address
012F40: 20 6F 66 20 6C 2C 61 20 69 6E 74 6F 20 73 74 61 of l,a into sta
012F50: 63 6B 0D 0A 09 09 75 73 65 64 20 66 6F 72 20 76 ck....used for v
012F60: 61 72 20 70 61 72 61 6D 65 74 65 72 73 0D 0A 0D ar parameters...
012F70: 0A 6C 6F 64 69 09 30 2C 30 09 6C 6F 61 64 20 77 .lodi.0,0.load w
012F80: 6F 72 64 20 70 6F 69 6E 74 65 64 20 74 6F 20 62 ord pointed to b
012F90: 79 20 74 6F 70 20 6F 66 20 73 74 61 63 6B 20 69 y top of stack i
012FA0: 6E 74 6F 20 73 74 61 63 6B 0D 0A 09 09 70 6F 70 nto stack....pop
012FB0: 73 20 61 64 64 72 65 73 73 20 66 69 72 73 74 0D s address first.
012FC0: 0A 0D 0A 73 74 6F 69 09 30 2C 30 09 73 74 6F 72 ...stoi.0,0.stor
012FD0: 65 20 77 6F 72 64 20 6F 6E 20 74 6F 70 20 6F 66 e word on top of
012FE0: 20 73 74 61 63 6B 20 61 74 20 61 64 64 72 65 73 stack at addres
012FF0: 73 20 6F 6E 20 28 74 6F 70 2D 31 29 0D 0A 0D 0A s on (top-1)....
013000: 6C 61 62 09 30 2C 6E 09 64 65 66 69 6E 65 73 20 lab.0,n.defines
013010: 74 68 65 20 70 20 6C 61 62 65 6C 20 6E 0D 0A 1A the p label n...
013020: 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A ................
013030: 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A ................
013040: 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A ................
013050: 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A ................
013060: 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A ................
013070: 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A ................
013080: 70 29 20 74 6F 20 73 74 61 63 6B 0D 0A 0D 0A 61 p) to stack....a
013090: 73 74 6F 78 09 6C 2C 61 09 70 6F 70 20 61 6C 66 stox.l,a.pop alf
0130A0: 61 20 66 72 6F 6D 20 73 74 61 63 6B 20 69 6E 74 a from stack int
0130B0: 6F 20 6C 2B 61 2B 28 74 6F 70 2D 35 29 0D 0A 0D o l+a+(top-5)...
0130C0: 0A 70 73 68 66 09 30 2C 30 09 70 75 73 68 20 74 .pshf.0,0.push t
0130D0: 72 75 65 20 6F 72 20 66 61 6C 73 65 20 69 6E 74 rue or false int
0130E0: 6F 20 73 74 61 63 6B 20 62 61 73 65 64 20 6F 6E o stack based on
0130F0: 20 72 65 73 75 6C 74 0D 0A 09 09 6F 66 20 6C 61 result....of la
013100: 54 72 61 63 6B 2D 49 6E 66 6F 0D 0A 00 01 00 00 Track-Info......
013110: 10 00 00 00 02 09 4A E5 10 00 C1 02 00 00 00 02 ......J.........
013120: 10 00 C6 02 00 00 00 02 10 00 C2 02 00 00 00 02 ................
013130: 10 00 C7 02 00 00 00 02 10 00 C3 02 00 00 00 02 ................
013140: 10 00 C8 02 00 00 00 02 10 00 C4 02 00 00 00 02 ................
013150: 10 00 C9 02 00 00 00 02 10 00 C5 02 00 00 00 02 ................
013160: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
013170: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
013180: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
013190: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0131A0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0131B0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0131C0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0131D0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0131E0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0131F0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
013200: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
013210: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
013220: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
013230: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
013240: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
013250: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
013260: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
013270: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
013280: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
013290: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0132A0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0132B0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0132C0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0132D0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0132E0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0132F0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
013300: C3 64 37 21 01 00 E5 E1 22 6D 56 21 3E 00 E5 3E .d7!...."mV!>..>
013310: 01 CD 0C 01 21 3E 00 E5 3E 01 CD 0C 01 01 06 00 ....!>..>.......
013320: 2A 4B 01 09 5E 23 56 D5 3E 01 CD 12 01 21 07 00 *K..^#V.>....!..
013330: E5 3E 01 CD 0C 01 21 3C 00 E5 3E 01 CD 0C 01 21 .>....!<..>....!
013340: 3C 00 E5 3E 01 CD 0C 01 C3 48 01 3E 00 CD 09 01 <..>.....H.>....
013350: E1 22 4B 56 2A 6F 56 E5 21 0D 00 E5 CD 06 01 CA ."KV*oV.!.......
013360: 6B 06 2A 4B 56 E5 3E 01 CD 0C 01 2A 4B 56 E5 21 k.*KV.>....*KV.!
013370: 61 00 E5 CD 06 01 CA 7C 06 D2 8B 06 2A 4B 56 E5 a......|....*KV.
013380: 21 20 00 E5 CD 33 01 E1 22 4B 56 2A 4B 56 E5 21 ! ...3.."KV*KV.!
013390: 20 00 E5 CD 06 01 DA 13 07 CA 13 07 2A 4B 56 E5 ...........*KV.
0133A0: 21 0D 00 E5 CD 06 01 C2 0B 07 3E 00 CD 09 01 E1 !.........>.....
0133B0: 22 4B 56 2A 6F 56 E5 21 0D 00 E5 CD 06 01 CA CA "KV*oV.!........
0133C0: 06 2A 4B 56 E5 3E 01 CD 0C 01 2A 6D 56 E5 21 01 .*KV.>....*mV.!.
0133D0: 00 E5 CD 06 01 C2 0B 07 21 00 00 E5 E1 22 6D 56 ........!...."mV
0133E0: CD 27 01 2A 2A 2A 2A 2A 2A 2A 2A 3E 01 CD 21 01 .'.********>..!.
0133F0: 21 0D 00 E5 3E 01 CD 0C 01 21 0A 00 E5 3E 01 CD !...>....!...>..
013400: 01 33 33 33 33 01 FE FF 2A 4B 01 09 5E 23 56 D5 .3333...*K..^#V.
013410: 3B 3B 11 77 0D 3E 01 CD 45 01 21 95 51 D1 C1 09 ;;.w.>..E.!.Q...
013420: 09 73 23 72 C3 48 01 3B 3B 21 07 00 E5 3E 02 CD .s#r.H.;;!...>..
013430: 03 01 11 FE FF 19 D1 73 23 72 2A 4D 56 E5 21 01 .......s#r*MV.!.
013440: 00 E5 CD 06 01 C2 C2 10 3B 3B 11 1D 0C 3E 03 CD ........;;...>..
013450: 45 01 01 FE FF 2A 4B 01 09 D1 73 23 72 01 FE FF E....*K...s#r...
013460: 2A 4B 01 09 5E 23 56 D5 21 E1 4C D1 19 19 5E 23 *K..^#V.!.L...^#
013470: 56 D5 21 07 00 E5 CD 06 01 C6 FF 3F 9F F5 01 FE V.!........?....
013480: FF 2A 4B 01 09 5E 23 56 D5 21 E1 4C D1 19 19 5E .*K..^#V.!.L...^
013490: 23 56 D5 21 06 00 E5 CD 06 01 C6 FF 3F 9F D1 B2 #V.!........?...
0134A0: CA 14 10 01 FE FF 2A 4B 01 09 5E 23 56 D5 21 E1 ......*K..^#V.!.
0134B0: 4C D1 19 19 5E 23 56 D5 3E 02 CD 03 01 11 FE FF L...^#V.>.......
0134C0: 19 D1 73 23 72 01 FE FF 2A 4B 01 09 5E 23 56 D5 ..s#r...*K..^#V.
0134D0: 21 95 51 D1 19 19 5E 23 56 D5 3E 02 CD 03 01 11 !.Q...^#V.>.....
0134E0: FC FF 19 D1 73 23 72 01 FE FF 2A 4B 01 09 5E 23 ....s#r...*K..^#
0134F0: 56 D5 21 EF 53 D1 19 19 5E 23 56 D5 3E 02 CD 03 V.!.S...^#V.>...
013500: 01 11 FA FF 19 D1 73 23 72 11 16 07 3E 03 CD 45 ......s#r...>..E
013510: 01 C3 BF 10 01 FE FF 2A 4B 01 09 5E 23 56 D5 21 .......*K..^#V.!
013520: E1 4C D1 19 19 5E 23 56 D5 21 01 00 E5 CD 06 01 .L...^#V.!......
013530: C2 B1 10 3B 3B 11 77 0D 3E 02 CD 45 01 01 FE FF ...;;.w.>..E....
013540: 2A 4B 01 09 D1 73 23 72 21 0F 00 E5 21 14 00 E5 *K...s#r!...!...
013550: 11 E1 0A 3E 03 CD 45 01 33 33 33 33 21 0F 00 E5 ...>..E.3333!...
013560: 21 14 00 E5 11 E1 0A 3E 03 CD 45 01 33 33 33 33 !......>..E.3333
013570: 3B 3B 11 77 0D 3E 02 CD 45 01 01 FE FF 2A 4B 01 ;;.w.>..E....*K.
013580: 09 5E 23 56 D5 CD 33 01 21 01 00 E5 D1 E1 19 E5 .^#V..3.!.......
013590: 3E 02 CD 03 01 11 FC FF 19 D1 73 23 72 21 02 00 >.........s#r!..
0135A0: E5 3E 02 CD 03 01 11 FA FF 19 D1 73 23 72 C3 BF .>.........s#r..
0135B0: 10 21 67 00 E5 11 03 06 3E 03 CD 45 01 33 33 C3 .!g.....>..E.33.
0135C0: 0C 12 2A 4D 56 E5 21 0B 00 E5 CD 06 01 C2 91 11 ..*MV.!.........
0135D0: 21 00 00 E5 01 FE FF 2A 4B 01 09 D1 73 23 72 11 !......*K...s#r.
0135E0: 16 07 3E 03 CD 45 01 21 01 00 E5 21 02 00 E5 11 ..>..E.!...!....
0135F0: E1 0A 3E 03 CD 45 01 33 33 33 33 21 51 56 CD 2A ..>..E.3333!QV.*
013600: 0C 01 3E 01 CD 09 01 E1 22 4B 56 21 20 00 E5 E1 ..>....."KV! ...
013610: 22 4B 56 C3 48 01 2A 4B 56 E5 21 20 00 E5 CD 06 "KV.H.*KV.! ....
013620: 01 C2 2D 07 11 4B 06 CD 42 01 C3 16 07 2A 4B 56 ..-..K..B....*KV
013630: E5 21 41 00 E5 CD 06 01 3E 00 CA 40 07 D2 41 07 .!A.....>..@..A.
013640: 3D F5 2A 4B 56 E5 21 5A 00 E5 CD 06 01 3F 9F D1 =.*KV.!Z.....?..
013650: A2 CA 62 09 21 00 00 E5 E1 22 75 56 2A 75 56 E5 ..b.!...."uV*uV.
013660: 21 08 00 E5 CD 06 01 DA 8F 07 CA 8F 07 2A 75 56 !............*uV
013670: E5 2A 4B 56 E5 21 59 56 D1 C1 09 09 73 23 72 2A .*KV.!YV....s#r*
013680: 75 56 E5 21 01 00 E5 D1 E1 19 E5 E1 22 75 56 11 uV.!........"uV.
013690: 4B 06 CD 42 01 2A 4B 56 E5 21 41 00 E5 CD 06 01 K..B.*KV.!A.....
0136A0: 3E 00 DA A9 07 CA A9 07 3D F5 2A 4B 56 E5 21 5A >.......=.*KV.!Z
0136B0: 00 E5 CD 06 01 9F D1 B2 C6 FF 9F F5 2A 4B 56 E5 ............*KV.
0136C0: 21 30 00 E5 CD 06 01 3E 00 DA D0 07 CA D0 07 3D !0.....>.......=
0136D0: F5 2A 4B 56 E5 21 39 00 E5 CD 06 01 9F D1 B2 C6 .*KV.!9.........
0136E0: FF 9F D1 A2 CA 5C 07 2A 75 56 E5 21 08 00 E5 CD .....\.*uV.!....
0136F0: 06 01 DA 1D 08 CA 1D 08 2A 75 56 E5 21 20 00 E5 ........*uV.! ..
013700: 21 59 56 D1 C1 09 09 73 23 72 2A 75 56 E5 21 01 !YV....s#r*uV.!.
013710: 00 E5 D1 E1 19 E5 E1 22 75 56 C3 E7 07 21 00 00 ......."uV...!..
013720: E5 E1 22 77 56 21 00 00 E5 E1 22 73 56 21 03 00 .."wV!...."sV!..
013730: E5 E1 E5 E5 2A 73 56 E5 CD 06 01 CA 41 08 D2 9C ....*sV.....A...
013740: 08 2A 73 56 E5 2A 77 56 E5 21 59 56 D1 19 19 5E .*sV.*wV.!YV...^
013750: 23 56 D5 2A 77 56 E5 21 01 00 E5 D1 E1 19 E5 21 #V.*wV.!.......!
013760: 59 56 D1 19 19 5E 23 56 D5 21 00 01 E5 CD 36 01 YV...^#V.!....6.
013770: D1 E1 19 E5 21 51 56 D1 C1 09 09 73 23 72 2A 77 ....!QV....s#r*w
013780: 56 E5 21 02 00 E5 D1 E1 19 E5 E1 22 77 56 2A 73 V.!........"wV*s
013790: 56 E5 E1 23 E5 E1 22 73 56 C3 31 08 33 33 21 01 V..#.."sV.1.33!.
0137A0: 00 E5 E1 22 73 56 21 1D 00 E5 E1 22 77 56 2A 73 ..."sV!...."wV*s
0137B0: 56 E5 2A 77 56 E5 D1 E1 19 E5 21 02 00 E5 CD 39 V.*wV.....!....9
0137C0: 01 E1 22 75 56 21 51 56 CD 2A 01 2A 75 56 E5 21 .."uV!QV.*.*uV.!
0137D0: E7 40 D1 EB 29 29 29 19 CD 2A 01 CD 30 01 DA F0 .@..)))..*..0...
0137E0: 08 2A 75 56 E5 21 01 00 E5 CD 33 01 E1 22 77 56 .*uV.!....3.."wV
0137F0: 21 51 56 CD 2A 01 2A 75 56 E5 21 E7 40 D1 EB 29 !QV.*.*uV.!.@..)
013800: 01 21 01 00 E5 21 02 00 E5 01 FE FF 2A 4B 01 09 .!...!......*K..
013810: 5E 23 56 D5 21 00 00 E5 11 63 0B 3E 03 CD 45 01 ^#V.!....c.>..E.
013820: 21 10 00 39 F9 01 FE FF 2A 4B 01 09 5E 23 56 D5 !..9....*K..^#V.
013830: 21 01 00 E5 D1 E1 19 E5 01 FE FF 2A 4B 01 09 D1 !..........*K...
013840: 73 23 72 2A 4D 56 E5 21 0D 00 E5 CD 06 01 CA DF s#r*MV.!........
013850: 10 01 FE FF 2A 4B 01 09 5E 23 56 D5 3E 02 CD 03 ....*K..^#V.>...
013860: 01 11 FC FF 19 D1 73 23 72 21 02 00 E5 3E 02 CD ......s#r!...>..
013870: 03 01 11 FA FF 19 D1 73 23 72 21 0C 00 E5 21 04 .......s#r!...!.
013880: 00 E5 11 E1 0A 3E 03 CD 45 01 33 33 33 33 C3 0C .....>..E.3333..
013890: 12 3B 3B 11 77 0D 3E 02 CD 45 01 01 FE FF 2A 4B .;;.w.>..E....*K
0138A0: 01 09 D1 73 23 72 21 0F 00 E5 21 14 00 E5 11 E1 ...s#r!...!.....
0138B0: 0A 3E 03 CD 45 01 33 33 33 33 21 0F 00 E5 21 14 .>..E.3333!...!.
0138C0: 00 E5 11 E1 0A 3E 03 CD 45 01 33 33 33 33 3B 3B .....>..E.3333;;
0138D0: 11 77 0D 3E 02 CD 45 01 01 FE FF 2A 4B 01 09 5E .w.>..E....*K..^
0138E0: 23 56 D5 CD 33 01 21 01 00 E5 D1 E1 19 E5 3E 02 #V..3.!.......>.
0138F0: CD 03 01 11 FC FF 19 D1 73 23 72 21 02 00 E5 3E ........s#r!...>
013900: 02 CD 03 01 11 FA FF 19 D1 73 23 72 C3 48 01 3B .........s#r.H.;
013910: 3B 2A 4D 56 E5 21 15 00 E5 CD 06 01 CA 28 12 11 ;*MV.!.......(..
013920: 27 0F CD 42 01 C3 E3 12 11 16 07 3E 02 CD 45 01 '..B.......>..E.
013930: 21 10 00 E5 21 0B 00 E5 11 E1 0A 3E 02 CD 45 01 !...!......>..E.
013940: 33 33 33 33 11 27 0F CD 42 01 3E 01 CD 03 01 11 3333.'..B.>.....
013950: FC FF 19 5E 23 56 D5 01 FE FF 2A 4B 01 09 D1 73 ...^#V....*K...s
013960: 23 72 21 11 00 E5 21 0C 00 E5 11 E1 0A 3E 02 CD #r!...!......>..
013970: 45 01 33 33 33 33 21 24 00 E5 21 08 00 E5 11 E1 E.3333!$..!.....
013980: 0A 3E 02 CD 45 01 33 33 33 33 11 27 0F CD 42 01 .>..E.3333.'..B.
013990: 21 06 00 E5 3E 01 CD 03 01 11 FE FF 19 D1 73 23 !...>.........s#
0139A0: 72 3E 01 CD 03 01 11 FA FF 19 5E 23 56 D5 3E 01 r>........^#V.>.
0139B0: CD 03 01 11 FC FF 19 D1 73 23 72 3E 01 CD 03 01 ........s#r>....
0139C0: 11 FA FF 19 5E 23 56 D5 01 FE FF 2A 4B 01 09 5E ....^#V....*K..^
0139D0: 23 56 D5 CD 36 01 3E 01 CD 03 01 11 FA FF 19 D1 #V..6.>.........
0139E0: 73 23 72 C3 48 01 21 F8 FF 39 F9 21 01 00 E5 21 s#r.H.!..9.!...!
0139F0: 02 00 E5 11 E1 0A 3E 02 CD 45 01 33 33 33 33 21 ......>..E.3333!
013A00: 29 29 19 CD 2A 01 CD 30 01 CA 0F 09 D2 1F 09 2A ))..*..0.......*
013A10: 75 56 E5 21 01 00 E5 D1 E1 19 E5 E1 22 73 56 2A uV.!........"sV*
013A20: 73 56 E5 2A 77 56 E5 CD 06 01 D2 AE 08 2A 73 56 sV.*wV.......*sV
013A30: E5 21 01 00 E5 CD 33 01 2A 77 56 E5 CD 06 01 D2 .!....3.*wV.....
013A40: 57 09 2A 75 56 E5 21 AB 40 D1 19 19 5E 23 56 D5 W.*uV.!.@...^#V.
013A50: E1 22 4D 56 C3 5F 09 21 01 00 E5 E1 22 4D 56 C3 ."MV._.!...."MV.
013A60: DE 0A 2A 4B 56 E5 21 30 00 E5 CD 06 01 3E 00 CA ..*KV.!0.....>..
013A70: 75 09 D2 76 09 3D F5 2A 4B 56 E5 21 39 00 E5 CD u..v.=.*KV.!9...
013A80: 06 01 3F 9F D1 A2 CA E6 09 21 00 00 E5 E1 22 4F ..?......!...."O
013A90: 56 21 02 00 E5 E1 22 4D 56 2A 4F 56 E5 21 0A 00 V!...."MV*OV.!..
013AA0: E5 CD 36 01 2A 4B 56 E5 21 30 00 E5 CD 33 01 D1 ..6.*KV.!0...3..
013AB0: E1 19 E5 E1 22 4F 56 11 4B 06 CD 42 01 2A 4B 56 ...."OV.K..B.*KV
013AC0: E5 21 30 00 E5 CD 06 01 3E 00 DA D1 09 CA D1 09 .!0.....>.......
013AD0: 3D F5 2A 4B 56 E5 21 39 00 E5 CD 06 01 9F D1 B2 =.*KV.!9........
013AE0: CA 99 09 C3 DE 0A 2A 4B 56 E5 21 28 00 E5 CD 06 ......*KV.!(....
013AF0: 01 C2 4C 0A 11 4B 06 CD 42 01 2A 4B 56 E5 21 2A ..L..K..B.*KV.!*
013B00: 00 E5 CD 06 01 C2 41 0A 11 4B 06 CD 42 01 2A 4B ......A..K..B.*K
013B10: 56 E5 21 2A 00 E5 CD 06 01 C2 08 0A 11 4B 06 CD V.!*.........K..
013B20: 42 01 2A 4B 56 E5 21 29 00 E5 CD 06 01 C2 08 0A B.*KV.!)........
013B30: 11 4B 06 CD 42 01 11 16 07 3E 01 CD 45 01 C3 49 .K..B....>..E..I
013B40: 0A 21 0B 00 E5 E1 22 4D 56 C3 DE 0A 2A 4B 56 E5 .!...."MV...*KV.
013B50: 21 27 00 E5 CD 06 01 C2 C6 0A 21 03 00 E5 E1 22 !'........!...."
013B60: 4D 56 21 00 00 E5 E1 22 75 56 11 4B 06 CD 42 01 MV!...."uV.K..B.
013B70: 2A 75 56 E5 2A 4B 56 E5 21 D7 42 D1 C1 09 09 73 *uV.*KV.!.B....s
013B80: 23 72 2A 75 56 E5 21 01 00 E5 D1 E1 19 E5 E1 22 #r*uV.!........"
013B90: 75 56 2A 4B 56 E5 21 27 00 E5 CD 06 01 C2 6A 0A uV*KV.!'......j.
013BA0: 11 4B 06 CD 42 01 2A 4B 56 E5 21 27 00 E5 CD 06 .K..B.*KV.!'....
013BB0: 01 CA 6A 0A 2A 75 56 E5 21 01 00 E5 CD 33 01 E1 ..j.*uV.!....3..
013BC0: 22 49 56 C3 DE 0A 2A 4B 56 E5 21 D7 41 D1 19 19 "IV...*KV.!.A...
013BD0: 5E 23 56 D5 E1 22 4D 56 11 4B 06 CD 42 01 C3 48 ^#V.."MV.K..B..H
013BE0: 01 2A 4D 56 E5 01 08 00 2A 4B 01 09 5E 23 56 D5 .*MV....*K..^#V.
013BF0: CD 06 01 CA 0E 0B 01 06 00 2A 4B 01 09 5E 23 56 .........*K..^#V
013C00: 51 56 CD 2A 01 01 F8 FF 2A 4B 01 09 CD 2D 01 21 QV.*....*K...-.!
013C10: 08 00 E5 21 10 00 E5 11 E1 0A 3E 02 CD 45 01 33 ...!......>..E.3
013C20: 33 33 33 11 0F 12 3E 01 CD 45 01 01 F8 FF 2A 4B 333...>..E....*K
013C30: 01 09 CD 2A 01 3E 01 CD 03 01 11 FE FF 19 5E 23 ...*.>........^#
013C40: 56 D5 3E 01 CD 03 01 11 08 00 19 5E 23 56 D5 3E V.>........^#V.>
013C50: 01 CD 03 01 11 FC FF 19 5E 23 56 D5 3E 01 CD 03 ........^#V.>...
013C60: 01 11 FA FF 19 5E 23 56 D5 11 63 0B 3E 02 CD 45 .....^#V..c.>..E
013C70: 01 21 10 00 39 F9 C3 48 01 21 F6 FF 39 F9 21 01 .!..9..H.!..9.!.
013C80: 00 E5 21 02 00 E5 11 E1 0A 3E 02 CD 45 01 33 33 ..!......>..E.33
013C90: 33 33 21 51 56 CD 2A 01 21 00 00 E5 3E 01 CD 03 33!QV.*.!...>...
013CA0: 01 11 08 00 19 5E 23 56 D5 21 00 00 E5 21 00 00 .....^#V.!...!..
013CB0: E5 11 63 0B 3E 02 CD 45 01 21 10 00 39 F9 2A 69 ..c.>..E.!..9.*i
013CC0: 56 E5 01 FC FF 2A 4B 01 09 D1 73 23 72 2A 4D 56 V....*K...s#r*MV
013CD0: E5 21 0D 00 E5 CD 06 01 C2 26 14 11 16 07 3E 02 .!.......&....>.
013CE0: CD 45 01 21 01 00 E5 21 02 00 E5 11 E1 0A 3E 02 .E.!...!......>.
013CF0: CD 45 01 33 33 33 33 21 51 56 CD 2A 01 21 00 00 .E.3333!QV.*.!..
013D00: E5 3E 01 CD 03 01 11 08 00 19 5E 23 56 D5 21 00 .>........^#V.!.
013D10: 00 E5 21 00 00 E5 11 63 0B 3E 02 CD 45 01 21 10 ..!....c.>..E.!.
013D20: 00 39 F9 C3 CD 13 21 12 00 E5 21 05 00 E5 11 E1 .9....!...!.....
013D30: 0A 3E 02 CD 45 01 33 33 33 33 21 01 00 E5 21 02 .>..E.3333!...!.
013D40: 00 E5 11 E1 0A 3E 02 CD 45 01 33 33 33 33 3B 3B .....>..E.3333;;
013D50: 11 1D 0C 3E 02 CD 45 01 01 FE FF 2A 4B 01 09 D1 ...>..E....*K...
013D60: 73 23 72 01 FE FF 2A 4B 01 09 5E 23 56 D5 21 EF s#r...*K..^#V.!.
013D70: 53 D1 19 19 5E 23 56 D5 01 FA FF 2A 4B 01 09 D1 S...^#V....*K...
013D80: 73 23 72 01 FE FF 2A 4B 01 09 5E 23 56 D5 21 E1 s#r...*K..^#V.!.
013D90: 4C D1 19 19 5E 23 56 D5 01 F8 FF 2A 4B 01 09 D1 L...^#V....*K...
013DA0: 73 23 72 01 F8 FF 2A 4B 01 09 5E 23 56 D5 21 07 s#r...*K..^#V.!.
013DB0: 00 E5 CD 06 01 C2 E0 14 21 04 00 E5 01 F8 FF 2A ........!......*
013DC0: 4B 01 09 D1 73 23 72 01 FA FF 2A 4B 01 09 5E 23 K...s#r...*K..^#
013DD0: 56 D5 01 F6 FF 2A 4B 01 09 D1 73 23 72 C3 2B 15 V....*K...s#r.+.
013DE0: 01 F8 FF 2A 4B 01 09 5E 23 56 D5 21 06 00 E5 CD ...*K..^#V.!....
013DF0: 06 01 C2 1D 15 21 05 00 E5 01 F8 FF 2A 4B 01 09 .....!......*K..
013E00: D5 11 03 06 3E 01 CD 45 01 33 33 C3 16 0B 11 16 ....>..E.33.....
013E10: 07 3E 01 CD 45 01 C3 48 01 01 0A 00 2A 4B 01 09 .>..E..H....*K..
013E20: 5E 23 56 D5 3E 00 CD 0C 01 01 08 00 2A 4B 01 09 ^#V.>.......*K..
013E30: 5E 23 56 D5 3E 00 CD 0C 01 01 06 00 2A 4B 01 09 ^#V.>.......*K..
013E40: 5E 23 56 D5 3E 00 CD 0C 01 01 06 00 2A 4B 01 09 ^#V.>.......*K..
013E50: 5E 23 56 D5 21 00 01 E5 CD 39 01 3E 00 CD 0C 01 ^#V.!....9.>....
013E60: C3 48 01 2A 69 56 E5 21 01 00 E5 D1 E1 19 E5 E1 .H.*iV.!........
013E70: 22 69 56 2A 69 56 E5 21 2C 01 E5 CD 06 01 D2 94 "iV*iV.!,.......
013E80: 0B CD 27 01 52 45 56 4F 20 59 53 2A 3E 01 CD 21 ..'.REVO YS*>..!
013E90: 01 C3 1A 0C 2A 69 56 E5 01 0E 00 2A 4B 01 09 CD ....*iV....*K...
013EA0: 2A 01 21 79 43 EB 21 08 00 39 7E 23 66 6F 29 29 *.!yC.!..9~#fo))
013EB0: 29 19 CD 2D 01 E1 2A 69 56 E5 01 0C 00 2A 4B 01 )..-..*iV....*K.
013EC0: 09 5E 23 56 D5 21 E1 4C D1 C1 09 09 73 23 72 2A .^#V.!.L....s#r*
013ED0: 69 56 E5 01 0A 00 2A 4B 01 09 5E 23 56 D5 21 3B iV....*K..^#V.!;
013EE0: 4F D1 C1 09 09 73 23 72 2A 69 56 E5 01 08 00 2A O....s#r*iV....*
013EF0: 4B 01 09 5E 23 56 D5 21 95 51 D1 C1 09 09 73 23 K..^#V.!.Q....s#
013F00: 72 2A 69 56 E5 01 06 00 2A 4B 01 09 5E 23 56 D5 r*iV....*K..^#V.
013F10: 21 EF 53 D1 C1 09 09 73 23 72 C3 48 01 21 00 00 !.S....s#r.H.!..
013F20: E5 21 51 56 CD 2A 01 21 79 43 EB 21 08 00 39 7E .!QV.*.!yC.!..9~
013F30: 23 66 6F 29 29 29 19 CD 2D 01 E1 2A 69 56 E5 E1 #fo)))..-..*iV..
013F40: 22 79 56 2A 79 56 E5 21 79 43 D1 EB 29 29 29 19 "yV*yV.!yC..))).
013F50: CD 2A 01 21 51 56 CD 2A 01 CD 30 01 CA 71 0C 2A .*.!QV.*..0..q.*
013F60: 79 56 E5 21 01 00 E5 CD 33 01 E1 22 79 56 C3 43 yV.!....3.."yV.C
013F70: 0C 2A 79 56 E5 21 00 00 E5 CD 06 01 C2 8D 0C 21 .*yV.!.........!
013F80: 68 00 E5 11 03 06 3E 01 CD 45 01 33 33 2A 79 56 h.....>..E.33*yV
013F90: E5 01 06 00 2A 4B 01 09 D1 73 23 72 C3 48 01 2A ....*K...s#r.H.*
013FA0: 6B 56 E5 21 01 00 E5 D1 E1 19 E5 E1 22 6B 56 2A kV.!........"kV*
013FB0: 6B 56 E5 01 06 00 2A 4B 01 09 D1 73 23 72 C3 48 kV....*K...s#r.H
013FC0: 01 3B 3B 01 06 00 2A 4B 01 09 5E 23 56 D5 21 3B .;;...*K..^#V.!;
013FD0: 4F D1 19 19 5E 23 56 D5 01 FE FF 2A 4B 01 09 D1 O...^#V....*K...
013FE0: 73 23 72 01 FE FF 2A 4B 01 09 5E 23 56 D5 21 01 s#r...*K..^#V.!.
013FF0: 00 E5 CD 06 01 C2 2C 0D 01 08 00 2A 4B 01 09 5E ......,....*K..^
014000: D1 73 23 72 01 FE FF 2A 4B 01 09 5E 23 56 D5 01 .s#r...*K..^#V..
014010: F6 FF 2A 4B 01 09 D1 73 23 72 C3 2B 15 21 67 00 ..*K...s#r.+.!g.
014020: E5 11 03 06 3E 02 CD 45 01 33 33 01 FC FF 2A 4B ....>..E.33...*K
014030: 01 09 5E 23 56 D5 01 FE FF 2A 4B 01 09 D1 73 23 ..^#V....*K...s#
014040: 72 2A 69 56 E5 E1 E5 E5 01 FE FF 2A 4B 01 09 5E r*iV.......*K..^
014050: 23 56 D5 CD 06 01 CA 5C 15 D2 4E 16 01 FE FF 2A #V.....\..N....*
014060: 4B 01 09 5E 23 56 D5 01 F8 FF 2A 4B 01 09 5E 23 K..^#V....*K..^#
014070: 56 D5 21 E1 4C D1 C1 09 09 73 23 72 01 FE FF 2A V.!.L....s#r...*
014080: 4B 01 09 5E 23 56 D5 01 F6 FF 2A 4B 01 09 5E 23 K..^#V....*K..^#
014090: 56 D5 21 EF 53 D1 C1 09 09 73 23 72 3E 01 CD 03 V.!.S....s#r>...
0140A0: 01 11 08 00 19 5E 23 56 D5 21 01 00 E5 CD 06 01 .....^#V.!......
0140B0: C2 D8 15 01 FE FF 2A 4B 01 09 5E 23 56 D5 3E 01 ......*K..^#V.>.
0140C0: CD 03 01 11 F8 FF 19 5E 23 56 D5 21 95 51 D1 C1 .......^#V.!.Q..
0140D0: 09 09 73 23 72 C3 09 16 01 FE FF 2A 4B 01 09 5E ..s#r......*K..^
0140E0: 23 56 D5 3E 01 CD 03 01 11 F8 FF 19 5E 23 56 D5 #V.>........^#V.
0140F0: 01 FA FF 2A 4B 01 09 5E 23 56 D5 D1 E1 19 E5 21 ...*K..^#V.....!
014100: 95 51 D1 C1 09 09 73 23 72 3E 01 CD 03 01 11 F8 .Q....s#r>......
014110: FF 19 5E 23 56 D5 01 FA FF 2A 4B 01 09 5E 23 56 ..^#V....*K..^#V
014120: D5 D1 E1 19 E5 3E 01 CD 03 01 11 F8 FF 19 D1 73 .....>.........s
014130: 23 72 01 FE FF 2A 4B 01 09 5E 23 56 D5 E1 23 E5 #r...*K..^#V..#.
014140: 01 FE FF 2A 4B 01 09 D1 73 23 72 C3 45 15 33 33 ...*K...s#r.E.33
014150: C3 48 01 3B 3B 11 16 07 3E 03 CD 45 01 2A 4D 56 .H.;;...>..E.*MV
014160: E5 21 0B 00 E5 CD 06 01 C2 60 17 11 16 07 3E 03 .!.......`....>.
014170: CD 45 01 2A 4D 56 E5 21 2F 00 E5 CD 06 01 CA B5 .E.*MV.!/.......
014180: 16 21 03 00 E5 11 04 20 3E 01 CD 45 01 2A 4D 56 .!..... >..E.*MV
014190: E5 21 0D 00 E5 CD 06 01 C2 B2 16 11 16 07 3E 03 .!............>.
0141A0: CD 45 01 21 03 00 E5 11 04 20 3E 01 CD 45 01 C3 .E.!..... >..E..
0141B0: 8D 16 C3 4C 17 11 16 07 3E 03 CD 45 01 21 01 00 ...L....>..E.!..
0141C0: E5 21 02 00 E5 11 E1 0A 3E 03 CD 45 01 33 33 33 .!......>..E.333
0141D0: 33 3B 3B 11 1D 0C 3E 03 CD 45 01 01 FE FF 2A 4B 3;;...>..E....*K
0141E0: 01 09 D1 73 23 72 01 FE FF 2A 4B 01 09 5E 23 56 ...s#r...*K..^#V
0141F0: D5 21 E1 4C D1 19 19 5E 23 56 D5 21 08 00 E5 CD .!.L...^#V.!....
014200: 23 56 D5 21 FF 00 E5 01 06 00 2A 4B 01 09 5E 23 #V.!......*K..^#
014210: 56 D5 21 95 51 D1 19 19 5E 23 56 D5 11 19 0B 3E V.!.Q...^#V....>
014220: 02 CD 45 01 21 06 00 39 F9 C3 74 0D 01 08 00 2A ..E.!..9..t....*
014230: 4B 01 09 5E 23 56 D5 3E 01 CD 03 01 11 08 00 19 K..^#V.>........
014240: 5E 23 56 D5 01 FE FF 2A 4B 01 09 5E 23 56 D5 CD ^#V....*K..^#V..
014250: 33 01 01 06 00 2A 4B 01 09 5E 23 56 D5 21 95 51 3....*K..^#V.!.Q
014260: D1 19 19 5E 23 56 D5 11 19 0B 3E 02 CD 45 01 21 ...^#V....>..E.!
014270: 06 00 39 F9 C3 48 01 3B 3B 2A 4D 56 E5 E1 E5 E5 ..9..H.;;*MV....
014280: 21 02 00 E5 CD 06 01 C2 A4 0D 2A 4F 56 E5 01 06 !.........*OV...
014290: 00 2A 4B 01 09 D1 73 23 72 11 16 07 3E 02 CD 45 .*K...s#r...>..E
0142A0: 01 C3 A4 0E E1 E5 E5 21 03 00 E5 CD 06 01 C2 D5 .......!........
0142B0: 0D 21 00 00 E5 21 D7 42 D1 19 19 5E 23 56 D5 01 .!...!.B...^#V..
0142C0: 06 00 2A 4B 01 09 D1 73 23 72 11 16 07 3E 02 CD ..*K...s#r...>..
0142D0: 45 01 C3 A4 0E E1 E5 E5 21 01 00 E5 CD 06 01 C2 E.......!.......
0142E0: 96 0E 3B 3B 11 1D 0C 3E 02 CD 45 01 01 FE FF 2A ..;;...>..E....*
0142F0: 4B 01 09 D1 73 23 72 01 FE FF 2A 4B 01 09 5E 23 K...s#r...*K..^#
014300: 56 D5 21 E1 4C D1 19 19 5E 23 56 D5 21 01 00 E5 V.!.L...^#V.!...
014310: CD 06 01 CA 24 0E 21 67 00 E5 11 03 06 3E 02 CD ....$.!g.....>..
014320: 45 01 33 33 01 FE FF 2A 4B 01 09 5E 23 56 D5 21 E.33...*K..^#V.!
014330: 95 51 D1 19 19 5E 23 56 D5 01 06 00 2A 4B 01 09 .Q...^#V....*K..
014340: D1 73 23 72 11 16 07 3E 02 CD 45 01 2A 4D 56 E5 .s#r...>..E.*MV.
014350: 21 04 00 E5 CD 06 01 C2 93 0E 11 16 07 3E 02 CD !............>..
014360: 45 01 01 FE FF 2A 4B 01 09 5E 23 56 D5 21 95 51 E....*K..^#V.!.Q
014370: D1 19 19 5E 23 56 D5 3B 3B 11 77 0D 3E 01 CD 45 ...^#V.;;.w.>..E
014380: 01 D1 E1 19 E5 01 06 00 2A 4B 01 09 D1 73 23 72 ........*K...s#r
014390: C3 4C 0E C3 A4 0E 21 32 00 E5 11 03 06 3E 02 CD .L....!2.....>..
0143A0: 45 01 33 33 33 33 C3 48 01 3B 3B 21 01 00 E5 21 E.3333.H.;;!...!
0143B0: 02 00 E5 11 E1 0A 3E 02 CD 45 01 33 33 33 33 21 ......>..E.3333!
0143C0: 51 56 CD 2A 01 21 01 00 E5 21 00 00 E5 21 00 00 QV.*.!...!...!..
0143D0: E5 21 00 00 E5 11 63 0B 3E 02 CD 45 01 21 10 00 .!....c.>..E.!..
0143E0: 39 F9 2A 69 56 E5 01 FE FF 2A 4B 01 09 D1 73 23 9.*iV....*K...s#
0143F0: 72 21 08 00 E5 21 10 00 E5 11 E1 0A 3E 02 CD 45 r!...!......>..E
014400: 54 72 61 63 6B 2D 49 6E 66 6F 0D 0A 00 01 00 00 Track-Info......
014410: 11 00 00 00 02 09 4A E5 11 00 C1 02 00 00 00 02 ......J.........
014420: 11 00 C6 02 00 00 00 02 11 00 C2 02 00 00 00 02 ................
014430: 11 00 C7 02 00 00 00 02 11 00 C3 02 00 00 00 02 ................
014440: 11 00 C8 02 00 00 00 02 11 00 C4 02 00 00 00 02 ................
014450: 11 00 C9 02 00 00 00 02 11 00 C5 02 00 00 00 02 ................
014460: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
014470: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
014480: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
014490: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0144A0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0144B0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0144C0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0144D0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0144E0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0144F0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
014500: 06 01 C2 23 17 21 05 00 E5 01 FE FF 2A 4B 01 09 ...#.!......*K..
014510: 5E 23 56 D5 11 C1 0C 3E 02 CD 45 01 33 33 33 33 ^#V....>..E.3333
014520: C3 3E 17 21 18 00 E5 01 FE FF 2A 4B 01 09 5E 23 .>.!......*K..^#
014530: 56 D5 11 C1 0C 3E 02 CD 45 01 33 33 33 33 2A 4D V....>..E.3333*M
014540: 56 E5 21 0D 00 E5 CD 06 01 CA B5 16 21 0C 00 E5 V.!.........!...
014550: 21 04 00 E5 11 E1 0A 3E 03 CD 45 01 33 33 33 33 !......>..E.3333
014560: 21 00 00 E5 3E 02 CD 03 01 11 08 00 19 5E 23 56 !...>........^#V
014570: D5 01 06 00 2A 4B 01 09 5E 23 56 D5 21 3B 4F D1 ....*K..^#V.!;O.
014580: 19 19 5E 23 56 D5 CD 33 01 01 06 00 2A 4B 01 09 ..^#V..3....*K..
014590: 5E 23 56 D5 21 95 51 D1 19 19 5E 23 56 D5 11 19 ^#V.!.Q...^#V...
0145A0: 0B 3E 03 CD 45 01 21 06 00 39 F9 21 07 00 E5 21 .>..E.!..9.!...!
0145B0: 00 00 E5 21 00 00 E5 01 06 00 2A 4B 01 09 5E 23 ...!......*K..^#
0145C0: 56 D5 21 EF 53 D1 19 19 5E 23 56 D5 CD 33 01 11 V.!.S...^#V..3..
0145D0: 19 0B 3E 03 CD 45 01 21 06 00 39 F9 C3 48 01 3E ..>..E.!..9..H.>
0145E0: 01 CD 03 01 11 06 00 19 5E 23 56 D5 21 03 00 E5 ........^#V.!...
0145F0: CD 06 01 C2 11 18 01 06 00 2A 4B 01 09 5E 23 56 .........*K..^#V
014600: D5 3E 01 CD 03 01 11 06 00 19 D1 73 23 72 C3 3D .>.........s#r.=
014610: 18 3E 01 CD 03 01 11 06 00 19 5E 23 56 D5 01 06 .>........^#V...
014620: 00 2A 4B 01 09 5E 23 56 D5 CD 06 01 CA 3D 18 21 .*K..^#V.....=.!
014630: 81 00 E5 11 03 06 3E 04 CD 45 01 33 33 C3 48 01 ......>..E.33.H.
014640: 3B 3B 3B 3B 2A 4D 56 E5 E1 E5 E5 21 02 00 E5 CD ;;;;*MV....!....
014650: 06 01 C2 87 18 21 03 00 E5 21 00 00 E5 2A 4F 56 .....!...!...*OV
014660: E5 11 19 0B 3E 06 CD 45 01 21 06 00 39 F9 21 00 ....>..E.!..9.!.
014670: 00 E5 11 DF 17 3E 03 CD 45 01 33 33 11 16 07 3E .....>..E.33...>
014680: 06 CD 45 01 C3 81 1D E1 E5 E5 21 03 00 E5 CD 06 ..E.......!.....
014690: 01 C2 A8 19 2A 49 56 E5 21 01 00 E5 CD 06 01 C2 ....*IV.!.......
0146A0: D6 18 21 03 00 E5 21 00 00 E5 21 00 00 E5 21 D7 ..!...!...!...!.
0146B0: 42 D1 19 19 5E 23 56 D5 11 19 0B 3E 06 CD 45 01 B...^#V....>..E.
0146C0: 21 06 00 39 F9 21 00 00 E5 11 DF 17 3E 03 CD 45 !..9.!......>..E
0146D0: 01 33 33 C3 9D 19 21 01 00 E5 11 DF 17 3E 03 CD .33...!......>..
0146E0: 45 01 33 33 21 0B 00 E5 21 00 00 E5 21 00 00 E5 E.33!...!...!...
0146F0: 11 19 0B 3E 06 CD 45 01 21 06 00 39 F9 21 07 00 ...>..E.!..9.!..
014700: 2A 4B 01 09 5E 23 56 D5 21 0B 00 E5 11 19 0B 3E *K..^#V.!......>
014710: 03 CD 45 01 21 06 00 39 F9 C3 42 21 11 8C 1E CD ..E.!..9..B!....
014720: 42 01 21 04 00 E5 01 06 00 2A 4B 01 09 5E 23 56 B.!......*K..^#V
014730: D5 21 0C 00 E5 11 19 0B 3E 03 CD 45 01 21 06 00 .!......>..E.!..
014740: 39 F9 C3 81 21 2A 4D 56 E5 21 08 00 E5 CD 06 01 9...!*MV.!......
014750: C2 81 21 11 16 07 3E 03 CD 45 01 11 8C 1E CD 42 ..!...>..E.....B
014760: 01 21 04 00 E5 01 06 00 2A 4B 01 09 5E 23 56 D5 .!......*K..^#V.
014770: 21 08 00 E5 11 19 0B 3E 03 CD 45 01 21 06 00 39 !......>..E.!..9
014780: F9 01 06 00 2A 4B 01 09 5E 23 56 D5 E1 22 71 56 ....*K..^#V.."qV
014790: C3 48 01 21 F4 FF 39 F9 2A 4D 56 E5 E1 E5 E5 21 .H.!..9.*MV....!
0147A0: 01 00 E5 CD 06 01 C2 65 25 3B 3B 11 1D 0C 3E 02 .......e%;;...>.
0147B0: CD 45 01 01 FE FF 2A 4B 01 09 D1 73 23 72 01 FE .E....*K...s#r..
0147C0: FF 2A 4B 01 09 5E 23 56 D5 21 E1 4C D1 19 19 5E .*K..^#V.!.L...^
0147D0: 23 56 D5 E1 E5 E5 21 05 00 E5 CD 06 01 C2 F3 22 #V....!........"
0147E0: 11 16 07 3E 02 CD 45 01 21 10 00 E5 21 0B 00 E5 ...>..E.!...!...
0147F0: 11 E1 0A 3E 02 CD 45 01 33 33 33 33 21 00 00 E5 ...>..E.3333!...
014800: 11 04 20 CD 42 01 33 33 21 11 00 E5 21 0C 00 E5 .. .B.33!...!...
014810: 11 E1 0A 3E 02 CD 45 01 33 33 33 33 21 12 00 E5 ...>..E.3333!...
014820: 21 33 00 E5 11 E1 0A 3E 02 CD 45 01 33 33 33 33 !3.....>..E.3333
014830: 21 08 00 E5 21 33 00 E5 11 E1 0A 3E 02 CD 45 01 !...!3.....>..E.
014840: 33 33 33 33 21 03 00 E5 11 04 20 CD 42 01 33 33 3333!..... .B.33
014850: 01 FE FF 2A 4B 01 09 5E 23 56 D5 21 EF 53 D1 19 ...*K..^#V.!.S..
014860: 19 5E 23 56 D5 21 95 51 D1 19 19 5E 23 56 D5 E1 .^#V.!.Q...^#V..
014870: E5 E5 21 01 00 E5 CD 06 01 C2 8E 22 21 14 00 E5 ..!........"!...
014880: 01 F6 FF 2A 4B 01 09 D1 73 23 72 C3 CC 22 E1 E5 ...*K...s#r.."..
014890: E5 21 02 00 E5 CD 06 01 C2 AD 22 21 0A 00 E5 01 .!........"!....
0148A0: F6 FF 2A 4B 01 09 D1 73 23 72 C3 CC 22 E1 E5 E5 ..*K...s#r.."...
0148B0: 21 08 00 E5 CD 06 01 C2 CC 22 21 0F 00 E5 01 F6 !........"!.....
0148C0: FF 2A 4B 01 09 D1 73 23 72 C3 CC 22 33 33 01 F6 .*K...s#r.."33..
0148D0: FF 2A 4B 01 09 5E 23 56 D5 01 FE FF 2A 4B 01 09 .*K..^#V....*K..
0148E0: 5E 23 56 D5 11 C1 0C 3E 01 CD 45 01 33 33 33 33 ^#V....>..E.3333
0148F0: C3 60 25 E1 E5 E5 21 08 00 E5 CD 06 01 C2 73 23 .`%...!.......s#
014900: E5 21 D7 42 D1 19 19 5E 23 56 D5 21 06 00 E5 21 .!.B...^#V.!...!
014910: D7 42 D1 19 19 5E 23 56 D5 21 05 00 E5 21 D7 42 .B...^#V.!...!.B
014920: D1 19 19 5E 23 56 D5 21 04 00 E5 21 D7 42 D1 19 ...^#V.!...!.B..
014930: 19 5E 23 56 D5 21 00 01 E5 CD 36 01 D1 E1 19 E5 .^#V.!....6.....
014940: 11 19 0B 3E 06 CD 45 01 21 06 00 39 F9 21 03 00 ...>..E.!..9.!..
014950: E5 21 D7 42 D1 19 19 5E 23 56 D5 21 02 00 E5 21 .!.B...^#V.!...!
014960: D7 42 D1 19 19 5E 23 56 D5 21 01 00 E5 21 D7 42 .B...^#V.!...!.B
014970: D1 19 19 5E 23 56 D5 21 00 00 E5 21 D7 42 D1 19 ...^#V.!...!.B..
014980: 19 5E 23 56 D5 21 00 01 E5 CD 36 01 D1 E1 19 E5 .^#V.!....6.....
014990: 11 19 0B 3E 06 CD 45 01 21 06 00 39 F9 11 16 07 ...>..E.!..9....
0149A0: 3E 06 CD 45 01 C3 81 1D E1 E5 E5 21 0B 00 E5 CD >..E.......!....
0149B0: 06 01 C2 F9 19 11 16 07 3E 06 CD 45 01 3E 03 CD ........>..E.>..
0149C0: 03 01 11 06 00 19 5E 23 56 D5 11 04 20 3E 04 CD ......^#V... >..
0149D0: 45 01 33 33 2A 71 56 E5 11 DF 17 3E 03 CD 45 01 E.33*qV....>..E.
0149E0: 33 33 21 0C 00 E5 21 04 00 E5 11 E1 0A 3E 06 CD 33!...!......>..
0149F0: 45 01 33 33 33 33 C3 81 1D E1 E5 E5 21 01 00 E5 E.3333......!...
014A00: CD 06 01 C2 73 1D 3B 3B 11 1D 0C 3E 06 CD 45 01 ....s.;;...>..E.
014A10: 01 FE FF 2A 4B 01 09 D1 73 23 72 01 FE FF 2A 4B ...*K...s#r...*K
014A20: 01 09 5E 23 56 D5 21 E1 4C D1 19 19 5E 23 56 D5 ..^#V.!.L...^#V.
014A30: E1 E5 E5 21 05 00 E5 CD 06 01 C2 48 1B 11 16 07 ...!.......H....
014A40: 3E 06 CD 45 01 21 10 00 E5 21 0B 00 E5 11 E1 0A >..E.!...!......
014A50: 3E 06 CD 45 01 33 33 33 33 21 00 00 E5 11 04 20 >..E.3333!.....
014A60: 3E 04 CD 45 01 33 33 21 11 00 E5 21 0C 00 E5 11 >..E.33!...!....
014A70: E1 0A 3E 06 CD 45 01 33 33 33 33 01 FE FF 2A 4B ..>..E.3333...*K
014A80: 01 09 5E 23 56 D5 21 EF 53 D1 19 19 5E 23 56 D5 ..^#V.!.S...^#V.
014A90: 21 95 51 D1 19 19 5E 23 56 D5 E1 E5 E5 21 02 00 !.Q...^#V....!..
014AA0: E5 CD 06 01 C2 C7 1A 21 09 00 E5 01 FC FF 2A 4B .......!......*K
014AB0: 01 09 D1 73 23 72 21 00 00 E5 11 DF 17 3E 03 CD ...s#r!......>..
014AC0: 45 01 33 33 C3 21 1B E1 E5 E5 21 08 00 E5 CD 06 E.33.!....!.....
014AD0: 01 C2 F4 1A 21 0E 00 E5 01 FC FF 2A 4B 01 09 D1 ....!......*K...
014AE0: 73 23 72 21 01 00 E5 11 DF 17 3E 03 CD 45 01 33 s#r!......>..E.3
014AF0: 33 C3 21 1B E1 E5 E5 21 01 00 E5 CD 06 01 C2 21 3.!....!.......!
014B00: 11 16 07 3E 02 CD 45 01 21 05 00 E5 01 FE FF 2A ...>..E.!......*
014B10: 4B 01 09 5E 23 56 D5 11 C1 0C 3E 01 CD 45 01 33 K..^#V....>..E.3
014B20: 33 33 33 21 12 00 E5 21 33 00 E5 11 E1 0A 3E 02 333!...!3.....>.
014B30: CD 45 01 33 33 33 33 21 08 00 E5 21 33 00 E5 11 .E.3333!...!3...
014B40: E1 0A 3E 02 CD 45 01 33 33 33 33 21 03 00 E5 11 ..>..E.3333!....
014B50: 04 20 CD 42 01 33 33 21 1A 00 E5 21 00 00 E5 21 . .B.33!...!...!
014B60: 00 00 E5 11 19 0B 3E 02 CD 45 01 21 06 00 39 F9 ......>..E.!..9.
014B70: C3 60 25 E1 E5 E5 21 04 00 E5 CD 06 01 C2 AB 24 .`%...!........$
014B80: 11 16 07 3E 02 CD 45 01 2A 4D 56 E5 21 10 00 E5 ...>..E.*MV.!...
014B90: CD 06 01 C2 BE 23 11 16 07 3E 02 CD 45 01 21 03 .....#...>..E.!.
014BA0: 00 E5 11 04 20 CD 42 01 33 33 21 11 00 E5 21 0C .... .B.33!...!.
014BB0: 00 E5 11 E1 0A 3E 02 CD 45 01 33 33 33 33 21 12 .....>..E.3333!.
014BC0: 00 E5 21 33 00 E5 11 E1 0A 3E 02 CD 45 01 33 33 ..!3.....>..E.33
014BD0: 33 33 21 08 00 E5 21 33 00 E5 11 E1 0A 3E 02 CD 33!...!3.....>..
014BE0: 45 01 33 33 33 33 21 03 00 E5 11 04 20 CD 42 01 E.3333!..... .B.
014BF0: 33 33 2A 71 56 E5 21 00 00 E5 CD 06 01 C2 77 24 33*qV.!.......w$
014C00: 01 FE FF 2A 4B 01 09 5E 23 56 D5 21 EF 53 D1 19 ...*K..^#V.!.S..
014C10: 19 5E 23 56 D5 E1 E5 E5 21 08 00 E5 CD 06 01 C2 .^#V....!.......
014C20: 34 24 21 0A 00 E5 01 F6 FF 2A 4B 01 09 D1 73 23 4$!......*K...s#
014C30: 72 C3 72 24 E1 E5 E5 21 02 00 E5 CD 06 01 C2 53 r.r$...!.......S
014C40: 24 21 06 00 E5 01 F6 FF 2A 4B 01 09 D1 73 23 72 $!......*K...s#r
014C50: C3 72 24 E1 E5 E5 21 01 00 E5 CD 06 01 C2 72 24 .r$...!.......r$
014C60: 21 12 00 E5 01 F6 FF 2A 4B 01 09 D1 73 23 72 C3 !......*K...s#r.
014C70: 72 24 33 33 C3 86 24 21 0D 00 E5 01 F6 FF 2A 4B r$33..$!......*K
014C80: 01 09 D1 73 23 72 01 F6 FF 2A 4B 01 09 5E 23 56 ...s#r...*K..^#V
014C90: D5 01 FE FF 2A 4B 01 09 5E 23 56 D5 11 C1 0C 3E ....*K..^#V....>
014CA0: 01 CD 45 01 33 33 33 33 C3 60 25 E1 E5 E5 21 02 ..E.3333.`%...!.
014CB0: 00 E5 CD 06 01 C2 CE 24 01 FE FF 2A 4B 01 09 5E .......$...*K..^
014CC0: 23 56 D5 11 53 16 CD 42 01 33 33 C3 60 25 E1 E5 #V..S..B.33.`%..
014CD0: E5 21 03 00 E5 CD 06 01 C2 52 25 11 16 07 3E 02 .!.......R%...>.
014CE0: CD 45 01 21 12 00 E5 21 33 00 E5 11 E1 0A 3E 02 .E.!...!3.....>.
014CF0: CD 45 01 33 33 33 33 21 08 00 E5 21 33 00 E5 11 .E.3333!...!3...
014D00: 1B 21 13 00 E5 01 FC FF 2A 4B 01 09 D1 73 23 72 .!......*K...s#r
014D10: 21 00 00 E5 11 DF 17 3E 03 CD 45 01 33 33 C3 21 !......>..E.33.!
014D20: 1B 33 33 01 FC FF 2A 4B 01 09 5E 23 56 D5 01 FE .33...*K..^#V...
014D30: FF 2A 4B 01 09 5E 23 56 D5 11 C1 0C 3E 05 CD 45 .*K..^#V....>..E
014D40: 01 33 33 33 33 C3 6E 1D E1 E5 E5 21 01 00 E5 CD .3333.n....!....
014D50: 06 01 C2 98 1B 21 03 00 E5 21 00 00 E5 01 FE FF .....!...!......
014D60: 2A 4B 01 09 5E 23 56 D5 21 95 51 D1 19 19 5E 23 *K..^#V.!.Q...^#
014D70: 56 D5 11 19 0B 3E 06 CD 45 01 21 06 00 39 F9 21 V....>..E.!..9.!
014D80: 00 00 E5 11 DF 17 3E 03 CD 45 01 33 33 11 16 07 ......>..E.33...
014D90: 3E 06 CD 45 01 C3 6E 1D E1 E5 E5 21 08 00 E5 CD >..E..n....!....
014DA0: 06 01 C2 F2 1B 11 16 07 3E 06 CD 45 01 21 05 00 ........>..E.!..
014DB0: E5 01 FE FF 2A 4B 01 09 5E 23 56 D5 11 C1 0C 3E ....*K..^#V....>
014DC0: 05 CD 45 01 33 33 33 33 21 19 00 E5 21 00 00 E5 ..E.3333!...!...
014DD0: 21 00 00 E5 11 19 0B 3E 06 CD 45 01 21 06 00 39 !......>..E.!..9
014DE0: F9 21 00 00 E5 11 DF 17 3E 03 CD 45 01 33 33 C3 .!......>..E.33.
014DF0: 6E 1D E1 E5 E5 21 04 00 E5 CD 06 01 C2 22 1D 11 n....!......."..
014E00: 16 07 3E 06 CD 45 01 01 FE FF 2A 4B 01 09 5E 23 ..>..E....*K..^#
014E10: 56 D5 21 EF 53 D1 19 19 5E 23 56 D5 E1 E5 E5 21 V.!.S...^#V....!
014E20: 02 00 E5 CD 06 01 C2 49 1C 21 05 00 E5 01 FC FF .......I.!......
014E30: 2A 4B 01 09 D1 73 23 72 21 00 00 E5 11 DF 17 3E *K...s#r!......>
014E40: 03 CD 45 01 33 33 C3 FB 1C E1 E5 E5 21 08 00 E5 ..E.33......!...
014E50: CD 06 01 C2 CE 1C 2A 4D 56 E5 21 10 00 E5 CD 06 ......*MV.!.....
014E60: 01 C2 AE 1C 11 16 07 3E 06 CD 45 01 21 00 00 E5 .......>..E.!...
014E70: 11 04 20 3E 04 CD 45 01 33 33 21 11 00 E5 21 0C .. >..E.33!...!.
014E80: 00 E5 11 E1 0A 3E 06 CD 45 01 33 33 33 33 21 09 .....>..E.3333!.
014E90: 00 E5 01 FC FF 2A 4B 01 09 D1 73 23 72 21 00 00 .....*K...s#r!..
014EA0: E5 11 DF 17 3E 03 CD 45 01 33 33 C3 CB 1C 21 0C ....>..E.33...!.
014EB0: 00 E5 01 FC FF 2A 4B 01 09 D1 73 23 72 21 01 00 .....*K...s#r!..
014EC0: E5 11 DF 17 3E 03 CD 45 01 33 33 C3 FB 1C E1 E5 ....>..E.33.....
014ED0: E5 21 01 00 E5 CD 06 01 C2 FB 1C 21 11 00 E5 01 .!.........!....
014EE0: FC FF 2A 4B 01 09 D1 73 23 72 21 00 00 E5 11 DF ..*K...s#r!.....
014EF0: 17 3E 03 CD 45 01 33 33 C3 FB 1C 33 33 01 FC FF .>..E.33...33...
014F00: E1 0A 3E 02 CD 45 01 33 33 33 33 21 03 00 E5 11 ..>..E.3333!....
014F10: 04 20 CD 42 01 33 33 21 06 00 E5 21 00 00 E5 21 . .B.33!...!...!
014F20: 00 00 E5 01 FE FF 2A 4B 01 09 5E 23 56 D5 21 EF ......*K..^#V.!.
014F30: 53 D1 19 19 5E 23 56 D5 CD 33 01 21 06 00 E5 CD S...^#V..3.!....
014F40: 33 01 11 19 0B 3E 02 CD 45 01 21 06 00 39 F9 C3 3....>..E.!..9..
014F50: 60 25 21 67 00 E5 11 03 06 3E 02 CD 45 01 33 33 `%!g.....>..E.33
014F60: 33 33 C3 B7 2E E1 E5 E5 21 21 00 E5 CD 06 01 C2 33......!!......
014F70: 90 26 11 16 07 3E 02 CD 45 01 21 03 00 E5 11 04 .&...>..E.!.....
014F80: 20 CD 42 01 33 33 21 2B 00 E5 21 34 00 E5 11 E1 .B.33!+..!4....
014F90: 0A 3E 02 CD 45 01 33 33 33 33 3B 3B 11 9F 0C 3E .>..E.3333;;...>
014FA0: 02 CD 45 01 01 FA FF 2A 4B 01 09 D1 73 23 72 21 ..E....*K...s#r!
014FB0: 01 00 E5 21 00 00 E5 01 FA FF 2A 4B 01 09 5E 23 ...!......*K..^#
014FC0: 56 D5 11 19 0B 3E 02 CD 45 01 21 06 00 39 F9 11 V....>..E.!..9..
014FD0: 93 21 3E 01 CD 45 01 2A 4D 56 E5 21 1C 00 E5 CD .!>..E.*MV.!....
014FE0: 06 01 C2 6D 26 3B 3B 11 9F 0C 3E 02 CD 45 01 01 ...m&;;...>..E..
014FF0: FC FF 2A 4B 01 09 D1 73 23 72 21 02 00 E5 21 00 ..*K...s#r!...!.
015000: 00 E5 01 FC FF 2A 4B 01 09 5E 23 56 D5 11 19 0B .....*K..^#V....
015010: 3E 02 CD 45 01 21 06 00 39 F9 21 16 00 E5 21 00 >..E.!..9.!...!.
015020: 00 E5 01 FA FF 2A 4B 01 09 5E 23 56 D5 11 19 0B .....*K..^#V....
015030: 3E 02 CD 45 01 21 06 00 39 F9 11 16 07 3E 02 CD >..E.!..9....>..
015040: 45 01 11 93 21 3E 01 CD 45 01 21 16 00 E5 21 00 E...!>..E.!...!.
015050: 00 E5 01 FC FF 2A 4B 01 09 5E 23 56 D5 11 19 0B .....*K..^#V....
015060: 3E 02 CD 45 01 21 06 00 39 F9 C3 8D 26 21 16 00 >..E.!..9...&!..
015070: E5 21 00 00 E5 01 FA FF 2A 4B 01 09 5E 23 56 D5 .!......*K..^#V.
015080: 11 19 0B 3E 02 CD 45 01 21 06 00 39 F9 C3 B7 2E ...>..E.!..9....
015090: E1 E5 E5 21 1E 00 E5 CD 06 01 C2 38 29 11 16 07 ...!.......8)...
0150A0: 3E 02 CD 45 01 21 01 00 E5 21 02 00 E5 11 E1 0A >..E.!...!......
0150B0: 3E 02 CD 45 01 33 33 33 33 3B 3B 11 1D 0C 3E 02 >..E.3333;;...>.
0150C0: CD 45 01 01 FE FF 2A 4B 01 09 D1 73 23 72 21 12 .E....*K...s#r!.
0150D0: 00 E5 21 33 00 E5 11 E1 0A 3E 02 CD 45 01 33 33 ..!3.....>..E.33
0150E0: 33 33 21 08 00 E5 21 33 00 E5 11 E1 0A 3E 02 CD 33!...!3.....>..
0150F0: 45 01 33 33 33 33 21 03 00 E5 11 04 20 CD 42 01 E.3333!..... .B.
015100: 2A 4B 01 09 5E 23 56 D5 01 FE FF 2A 4B 01 09 5E *K..^#V....*K..^
015110: 23 56 D5 11 C1 0C 3E 05 CD 45 01 33 33 33 33 C3 #V....>..E.3333.
015120: 6E 1D E1 E5 E5 21 03 00 E5 CD 06 01 C2 6E 1D 21 n....!.......n.!
015130: 07 00 E5 21 00 00 E5 21 02 00 E5 11 19 0B 3E 06 ...!...!......>.
015140: CD 45 01 21 06 00 39 F9 01 FE FF 2A 4B 01 09 5E .E.!..9....*K..^
015150: 23 56 D5 11 53 16 3E 04 CD 45 01 33 33 21 00 00 #V..S.>..E.33!..
015160: E5 11 DF 17 3E 03 CD 45 01 33 33 C3 6E 1D 33 33 ....>..E.33.n.33
015170: C3 81 1D 21 3A 00 E5 11 03 06 3E 06 CD 45 01 33 ...!:.....>..E.3
015180: 33 33 33 C3 48 01 3B 3B 11 40 18 CD 42 01 2A 4D 333.H.;;.@..B.*M
015190: 56 E5 21 06 00 E5 CD 06 01 C6 FF 3F 9F F5 2A 4D V.!........?..*M
0151A0: 56 E5 21 07 00 E5 CD 06 01 C6 FF 3F 9F D1 B2 C6 V.!........?....
0151B0: FF 9F F5 2A 4D 56 E5 21 14 00 E5 CD 06 01 C6 FF ...*MV.!........
0151C0: 3F 9F D1 B2 CA 89 1E 2A 4D 56 E5 21 14 00 E5 CD ?......*MV.!....
0151D0: 06 01 C2 EE 1D 21 10 00 E5 21 00 00 E5 21 00 00 .....!...!...!..
0151E0: E5 11 19 0B 3E 05 CD 45 01 21 06 00 39 F9 2A 4D ....>..E.!..9.*M
0151F0: 56 E5 01 FE FF 2A 4B 01 09 D1 73 23 72 11 16 07 V....*K...s#r...
015200: 3E 05 CD 45 01 11 40 18 CD 42 01 01 FE FF 2A 4B >..E..@..B....*K
015210: 01 09 5E 23 56 D5 21 06 00 E5 CD 06 01 C2 3C 1E ..^#V.!.......<.
015220: 21 04 00 E5 21 00 00 E5 21 04 00 E5 11 19 0B 3E !...!...!......>
015230: 05 CD 45 01 21 06 00 39 F9 C3 86 1E 01 FE FF 2A ..E.!..9.......*
015240: 4B 01 09 5E 23 56 D5 21 07 00 E5 CD 06 01 C2 6D K..^#V.!.......m
015250: 1E 21 04 00 E5 21 00 00 E5 21 05 00 E5 11 19 0B .!...!...!......
015260: 3E 05 CD 45 01 21 06 00 39 F9 C3 86 1E 21 04 00 >..E.!..9....!..
015270: E5 21 00 00 E5 21 0F 00 E5 11 19 0B 3E 05 CD 45 .!...!......>..E
015280: 01 21 06 00 39 F9 C3 8E 1D C3 48 01 3B 3B 2A 4D .!..9.....H.;;*M
015290: 56 E5 21 04 00 E5 CD 06 01 C6 FF 3F 9F F5 2A 4D V.!........?..*M
0152A0: 56 E5 21 05 00 E5 CD 06 01 C6 FF 3F 9F D1 B2 CA V.!........?....
0152B0: 00 1F 2A 4D 56 E5 01 FE FF 2A 4B 01 09 D1 73 23 ..*MV....*K...s#
0152C0: 72 11 16 07 3E 04 CD 45 01 11 86 1D CD 42 01 01 r...>..E.....B..
0152D0: FE FF 2A 4B 01 09 5E 23 56 D5 21 05 00 E5 CD 06 ..*K..^#V.!.....
0152E0: 01 C2 FD 1E 21 04 00 E5 21 00 00 E5 21 01 00 E5 ....!...!...!...
0152F0: 11 19 0B 3E 04 CD 45 01 21 06 00 39 F9 C3 06 1F ...>..E.!..9....
015300: 33 33 21 06 00 E5 01 FE FF 2A 4B 01 09 5E 23 56 33!......*K..^#V
015310: D5 11 C1 0C 3E 01 CD 45 01 33 33 33 33 2A 4D 56 ....>..E.3333*MV
015320: E5 21 2C 00 E5 CD 06 01 C2 54 27 11 16 07 3E 02 .!,......T'...>.
015330: CD 45 01 21 13 00 E5 01 F4 FF 2A 4B 01 09 D1 73 .E.!......*K...s
015340: 23 72 21 0B 00 E5 01 F6 FF 2A 4B 01 09 D1 73 23 #r!......*K...s#
015350: 72 C3 99 27 2A 4D 56 E5 21 1B 00 E5 CD 06 01 C2 r..'*MV.!.......
015360: 8B 27 11 16 07 3E 02 CD 45 01 21 14 00 E5 01 F4 .'...>..E.!.....
015370: FF 2A 4B 01 09 D1 73 23 72 21 0D 00 E5 01 F6 FF .*K...s#r!......
015380: 2A 4B 01 09 D1 73 23 72 C3 99 27 21 37 00 E5 11 *K...s#r..'!7...
015390: 03 06 3E 02 CD 45 01 33 33 21 03 00 E5 11 04 20 ..>..E.33!.....
0153A0: CD 42 01 33 33 21 1A 00 E5 21 36 00 E5 11 E1 0A .B.33!...!6.....
0153B0: 3E 02 CD 45 01 33 33 33 33 3B 3B 11 9F 0C 3E 02 >..E.3333;;...>.
0153C0: CD 45 01 01 F8 FF 2A 4B 01 09 D1 73 23 72 21 16 .E....*K...s#r!.
0153D0: 00 E5 21 00 00 E5 01 F8 FF 2A 4B 01 09 5E 23 56 ..!......*K..^#V
0153E0: D5 11 19 0B 3E 02 CD 45 01 21 06 00 39 F9 21 04 ....>..E.!..9.!.
0153F0: 00 E5 21 00 00 E5 21 15 00 E5 11 19 0B 3E 02 CD ..!...!......>..
015400: 45 01 21 06 00 39 F9 21 05 00 E5 01 FE FF 2A 4B E.!..9.!......*K
015410: 01 09 5E 23 56 D5 11 C1 0C 3E 01 CD 45 01 33 33 ..^#V....>..E.33
015420: 33 33 21 04 00 E5 21 00 00 E5 01 F6 FF 2A 4B 01 33!...!......*K.
015430: 09 5E 23 56 D5 11 19 0B 3E 02 CD 45 01 21 06 00 .^#V....>..E.!..
015440: 39 F9 3B 3B 11 9F 0C 3E 02 CD 45 01 01 FC FF 2A 9.;;...>..E....*
015450: 4B 01 09 D1 73 23 72 21 01 00 E5 21 00 00 E5 01 K...s#r!...!....
015460: FC FF 2A 4B 01 09 5E 23 56 D5 11 19 0B 3E 02 CD ..*K..^#V....>..
015470: 45 01 21 06 00 39 F9 11 93 21 3E 01 CD 45 01 21 E.!..9...!>..E.!
015480: 05 00 E5 01 FE FF 2A 4B 01 09 5E 23 56 D5 11 C1 ......*K..^#V...
015490: 0C 3E 01 CD 45 01 33 33 33 33 21 04 00 E5 21 00 .>..E.3333!...!.
0154A0: 00 E5 01 F4 FF 2A 4B 01 09 5E 23 56 D5 11 19 0B .....*K..^#V....
0154B0: 3E 02 CD 45 01 21 06 00 39 F9 21 06 00 E5 01 FE >..E.!..9.!.....
0154C0: FF 2A 4B 01 09 5E 23 56 D5 11 C1 0C 3E 01 CD 45 .*K..^#V....>..E
0154D0: 01 33 33 33 33 21 02 00 E5 21 00 00 E5 01 F8 FF .3333!...!......
0154E0: 2A 4B 01 09 5E 23 56 D5 11 19 0B 3E 02 CD 45 01 *K..^#V....>..E.
0154F0: 21 06 00 39 F9 21 16 00 E5 21 00 00 E5 01 FC FF !..9.!...!......
015500: 11 86 1D CD 42 01 2A 4D 56 E5 21 04 00 E5 CD 06 ....B.*MV.!.....
015510: 01 C6 FF 3F 9F F5 2A 4D 56 E5 21 05 00 E5 CD 06 ...?..*MV.!.....
015520: 01 C6 FF 3F 9F D1 B2 C6 FF 9F F5 2A 4D 56 E5 21 ...?.......*MV.!
015530: 25 00 E5 CD 06 01 C6 FF 3F 9F D1 B2 CA 01 20 2A %.......?..... *
015540: 4D 56 E5 21 25 00 E5 CD 06 01 C2 66 1F 21 10 00 MV.!%......f.!..
015550: E5 21 00 00 E5 21 00 00 E5 11 19 0B 3E 04 CD 45 .!...!......>..E
015560: 01 21 06 00 39 F9 2A 4D 56 E5 01 FE FF 2A 4B 01 .!..9.*MV....*K.
015570: 09 D1 73 23 72 11 16 07 3E 04 CD 45 01 11 86 1D ..s#r...>..E....
015580: CD 42 01 01 FE FF 2A 4B 01 09 5E 23 56 D5 21 04 .B....*K..^#V.!.
015590: 00 E5 CD 06 01 C2 B4 1F 21 04 00 E5 21 00 00 E5 ........!...!...
0155A0: 21 02 00 E5 11 19 0B 3E 04 CD 45 01 21 06 00 39 !......>..E.!..9
0155B0: F9 C3 FE 1F 01 FE FF 2A 4B 01 09 5E 23 56 D5 21 .......*K..^#V.!
0155C0: 05 00 E5 CD 06 01 C2 E5 1F 21 04 00 E5 21 00 00 .........!...!..
0155D0: E5 21 03 00 E5 11 19 0B 3E 04 CD 45 01 21 06 00 .!......>..E.!..
0155E0: 39 F9 C3 FE 1F 21 04 00 E5 21 00 00 E5 21 0E 00 9....!...!...!..
0155F0: E5 11 19 0B 3E 04 CD 45 01 21 06 00 39 F9 C3 06 ....>..E.!..9...
015600: 1F C3 48 01 11 8C 1E CD 42 01 2A 4D 56 E5 21 09 ..H.....B.*MV.!.
015610: 00 E5 CD 06 01 C2 C7 20 11 16 07 3E 03 CD 45 01 ....... ...>..E.
015620: 2A 4D 56 E5 21 08 00 E5 CD 06 01 C2 5F 20 11 16 *MV.!......._ ..
015630: 07 3E 03 CD 45 01 11 8C 1E CD 42 01 21 04 00 E5 .>..E.....B.!...
015640: 01 06 00 2A 4B 01 09 5E 23 56 D5 21 0D 00 E5 11 ...*K..^#V.!....
015650: 19 0B 3E 03 CD 45 01 21 06 00 39 F9 C3 C4 20 2A ..>..E.!..9... *
015660: 4D 56 E5 21 0A 00 E5 CD 06 01 C2 9E 20 11 16 07 MV.!........ ...
015670: 3E 03 CD 45 01 11 8C 1E CD 42 01 21 04 00 E5 01 >..E.....B.!....
015680: 06 00 2A 4B 01 09 5E 23 56 D5 21 09 00 E5 11 19 ..*K..^#V.!.....
015690: 0B 3E 03 CD 45 01 21 06 00 39 F9 C3 C4 20 11 8C .>..E.!..9... ..
0156A0: 1E CD 42 01 21 04 00 E5 01 06 00 2A 4B 01 09 5E ..B.!......*K..^
0156B0: 23 56 D5 21 0A 00 E5 11 19 0B 3E 03 CD 45 01 21 #V.!......>..E.!
0156C0: 06 00 39 F9 C3 81 21 2A 4D 56 E5 21 0A 00 E5 CD ..9...!*MV.!....
0156D0: 06 01 C2 45 21 11 16 07 3E 03 CD 45 01 2A 4D 56 ...E!...>..E.*MV
0156E0: E5 21 08 00 E5 CD 06 01 C2 1C 21 11 16 07 3E 03 .!........!...>.
0156F0: CD 45 01 11 8C 1E CD 42 01 21 04 00 E5 01 06 00 .E.....B.!......
015700: 54 72 61 63 6B 2D 49 6E 66 6F 0D 0A 00 01 00 00 Track-Info......
015710: 12 00 00 00 02 09 4A E5 12 00 C1 02 00 00 00 02 ......J.........
015720: 12 00 C6 02 00 00 00 02 12 00 C2 02 00 00 00 02 ................
015730: 12 00 C7 02 00 00 00 02 12 00 C3 02 00 00 00 02 ................
015740: 12 00 C8 02 00 00 00 02 12 00 C4 02 00 00 00 02 ................
015750: 12 00 C9 02 00 00 00 02 12 00 C5 02 00 00 00 02 ................
015760: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
015770: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
015780: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
015790: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0157A0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0157B0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0157C0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0157D0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0157E0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0157F0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
015800: 2A 4B 01 09 5E 23 56 D5 11 19 0B 3E 02 CD 45 01 *K..^#V....>..E.
015810: 21 06 00 39 F9 21 07 00 E5 21 00 00 E5 21 00 00 !..9.!...!...!..
015820: E5 21 02 00 E5 CD 33 01 11 19 0B 3E 02 CD 45 01 .!....3....>..E.
015830: 21 06 00 39 F9 C3 B7 2E E1 E5 E5 21 2A 00 E5 CD !..9.......!*...
015840: 06 01 C2 DB 29 3B 3B 11 9F 0C 3E 02 CD 45 01 01 ....);;...>..E..
015850: F8 FF 2A 4B 01 09 D1 73 23 72 21 16 00 E5 21 00 ..*K...s#r!...!.
015860: 00 E5 01 F8 FF 2A 4B 01 09 5E 23 56 D5 11 19 0B .....*K..^#V....
015870: 3E 02 CD 45 01 21 06 00 39 F9 11 16 07 3E 02 CD >..E.!..9....>..
015880: 45 01 11 93 21 3E 01 CD 45 01 2A 4D 56 E5 21 0E E...!>..E.*MV.!.
015890: 00 E5 CD 06 01 CA 7A 29 21 2E 00 E5 21 35 00 E5 ......z)!...!5..
0158A0: 11 E1 0A 3E 02 CD 45 01 33 33 33 33 21 03 00 E5 ...>..E.3333!...
0158B0: 11 04 20 CD 42 01 33 33 21 01 00 E5 21 00 00 E5 .. .B.33!...!...
0158C0: 01 F8 FF 2A 4B 01 09 5E 23 56 D5 11 19 0B 3E 02 ...*K..^#V....>.
0158D0: CD 45 01 21 06 00 39 F9 C3 B7 2E E1 E5 E5 21 17 .E.!..9.......!.
0158E0: 00 E5 CD 06 01 C2 B0 2B 11 16 07 3E 02 CD 45 01 .......+...>..E.
0158F0: 21 03 00 E5 11 04 20 CD 42 01 33 33 2A 4D 56 E5 !..... .B.33*MV.
015900: 21 24 00 E5 CD 06 01 CA 18 2A 21 08 00 E5 11 03 !$.......*!.....
015910: 06 3E 02 CD 45 01 33 33 3B 3B 11 9F 0C 3E 02 CD .>..E.33;;...>..
015920: 45 01 01 FC FF 2A 4B 01 09 D1 73 23 72 11 16 07 E....*K...s#r...
015930: 3E 02 CD 45 01 21 04 00 E5 21 00 00 E5 21 15 00 >..E.!...!...!..
015940: E5 11 19 0B 3E 02 CD 45 01 21 06 00 39 F9 21 03 ....>..E.!..9.!.
015950: 00 E5 21 00 00 E5 3B 3B 11 77 0D 3E 01 CD 45 01 ..!...;;.w.>..E.
015960: 11 19 0B 3E 02 CD 45 01 21 06 00 39 F9 21 12 00 ...>..E.!..9.!..
015970: E5 21 05 00 E5 11 E1 0A 3E 02 CD 45 01 33 33 33 .!......>..E.333
015980: 33 21 04 00 E5 21 00 00 E5 21 08 00 E5 11 19 0B 3!...!...!......
015990: 3E 02 CD 45 01 21 06 00 39 F9 3B 3B 11 9F 0C 3E >..E.!..9.;;...>
0159A0: 02 CD 45 01 01 FA FF 2A 4B 01 09 D1 73 23 72 21 ..E....*K...s#r!
0159B0: 01 00 E5 21 00 00 E5 01 FA FF 2A 4B 01 09 5E 23 ...!......*K..^#
0159C0: 56 D5 11 19 0B 3E 02 CD 45 01 21 06 00 39 F9 11 V....>..E.!..9..
0159D0: 93 21 3E 01 CD 45 01 21 02 00 E5 21 00 00 E5 01 .!>..E.!...!....
0159E0: FC FF 2A 4B 01 09 5E 23 56 D5 11 19 0B 3E 02 CD ..*K..^#V....>..
0159F0: 45 01 21 06 00 39 F9 21 16 00 E5 21 00 00 E5 01 E.!..9.!...!....
015A00: 16 07 3E 01 CD 45 01 21 51 56 CD 2A 01 01 F4 FF ..>..E.!QV.*....
015A10: 2A 4B 01 09 5E 23 56 D5 01 08 00 2A 4B 01 09 5E *K..^#V....*K..^
015A20: 23 56 D5 3B 3B 11 9F 0C 3E 01 CD 45 01 21 00 00 #V.;;...>..E.!..
015A30: E5 11 63 0B 3E 01 CD 45 01 21 10 00 39 F9 21 01 ..c.>..E.!..9.!.
015A40: 00 E5 21 02 00 E5 11 E1 0A 3E 01 CD 45 01 33 33 ..!......>..E.33
015A50: 33 33 2A 69 56 E5 01 F0 FF 2A 4B 01 09 D1 73 23 33*iV....*K...s#
015A60: 72 21 00 00 E5 01 F6 FF 2A 4B 01 09 D1 73 23 72 r!......*K...s#r
015A70: 2A 4D 56 E5 21 0B 00 E5 CD 06 01 C2 84 33 11 BC *MV.!........3..
015A80: 2E CD 42 01 01 F0 FF 2A 4B 01 09 5E 23 56 D5 01 ..B....*K..^#V..
015A90: F6 FF 2A 4B 01 09 5E 23 56 D5 21 EF 53 D1 C1 09 ..*K..^#V.!.S...
015AA0: 09 73 23 72 21 0E 00 E5 21 0E 00 E5 11 E1 0A 3E .s#r!...!......>
015AB0: 01 CD 45 01 33 33 33 33 21 51 56 CD 2A 01 CD 27 ..E.3333!QV.*..'
015AC0: 01 20 44 52 41 57 52 4F 46 CD 30 01 C2 DA 33 11 . DRAWROF.0...3.
015AD0: 16 07 3E 01 CD 45 01 C3 2B 35 21 51 56 CD 2A 01 ..>..E..+5!QV.*.
015AE0: CD 27 01 44 52 41 57 4B 43 41 42 CD 30 01 C2 08 .'.DRAWKCAB.0...
015AF0: 35 11 16 07 3E 01 CD 45 01 21 0E 00 E5 21 0E 00 5...>..E.!...!..
015B00: E5 11 E1 0A 3E 01 CD 45 01 33 33 33 33 21 01 00 ....>..E.3333!..
015B10: E5 01 EE FF 2A 4B 01 09 D1 73 23 72 01 F0 FF 2A ....*K...s#r...*
015B20: 4B 01 09 5E 23 56 D5 21 79 43 D1 EB 29 29 29 19 K..^#V.!yC..))).
015B30: CD 2A 01 21 51 56 CD 2D 01 21 51 56 CD 2A 01 01 .*.!QV.-.!QV.*..
015B40: EE FF 2A 4B 01 09 5E 23 56 D5 21 79 43 D1 EB 29 ..*K..^#V.!yC..)
015B50: 29 29 19 CD 2A 01 CD 30 01 CA 7D 34 01 EE FF 2A ))..*..0..}4...*
015B60: 4B 01 09 5E 23 56 D5 21 01 00 E5 D1 E1 19 E5 01 K..^#V.!........
015B70: EE FF 2A 4B 01 09 D1 73 23 72 C3 39 34 01 EE FF ..*K...s#r.94...
015B80: 2A 4B 01 09 5E 23 56 D5 CD 27 01 2A 2A 2A 2A 2A *K..^#V..'.*****
015B90: 2A 2A 2A 21 79 43 EB 21 08 00 39 7E 23 66 6F 29 ***!yC.!..9~#fo)
015BA0: 29 29 19 CD 2D 01 E1 01 F0 FF 2A 4B 01 09 5E 23 ))..-.....*K..^#
015BB0: 56 D5 01 EE FF 2A 4B 01 09 5E 23 56 D5 21 95 51 V....*K..^#V.!.Q
015BC0: D1 19 19 5E 23 56 D5 21 95 51 D1 C1 09 09 73 23 ...^#V.!.Q....s#
015BD0: 72 01 08 00 2A 4B 01 09 5E 23 56 D5 21 01 00 E5 r...*K..^#V.!...
015BE0: D1 E1 19 E5 01 EE FF 2A 4B 01 09 5E 23 56 D5 21 .......*K..^#V.!
015BF0: 95 51 D1 19 19 5E 23 56 D5 11 CF 31 3E 01 CD 45 .Q...^#V...1>..E
015C00: FA FF 2A 4B 01 09 5E 23 56 D5 11 19 0B 3E 02 CD ..*K..^#V....>..
015C10: 45 01 21 06 00 39 F9 2A 4D 56 E5 21 1C 00 E5 CD E.!..9.*MV.!....
015C20: 06 01 C6 FF 3F 9F F5 2A 4D 56 E5 21 1D 00 E5 CD ....?..*MV.!....
015C30: 06 01 C6 FF 3F 9F D1 B2 CA 2D 2A 2A 4D 56 E5 21 ....?....-**MV.!
015C40: 1C 00 E5 CD 06 01 C2 59 2B 11 16 07 3E 02 CD 45 .......Y+...>..E
015C50: 01 11 93 21 3E 01 CD 45 01 21 1D 00 E5 21 0D 00 ...!>..E.!...!..
015C60: E5 11 E1 0A 3E 02 CD 45 01 33 33 33 33 21 16 00 ....>..E.3333!..
015C70: E5 21 00 00 E5 01 FC FF 2A 4B 01 09 5E 23 56 D5 .!......*K..^#V.
015C80: 11 19 0B 3E 02 CD 45 01 21 06 00 39 F9 21 07 00 ...>..E.!..9.!..
015C90: E5 21 00 00 E5 21 00 00 E5 21 02 00 E5 CD 33 01 .!...!...!....3.
015CA0: 11 19 0B 3E 02 CD 45 01 21 06 00 39 F9 C3 B7 2E ...>..E.!..9....
015CB0: E1 E5 E5 21 20 00 E5 CD 06 01 C2 7D 2C 11 16 07 ...! ......},...
015CC0: 3E 02 CD 45 01 21 13 00 E5 21 63 00 E5 11 E1 0A >..E.!...!c.....
015CD0: 3E 02 CD 45 01 33 33 33 33 3B 3B 11 77 0D 3E 01 >..E.3333;;.w.>.
015CE0: CD 45 01 01 FE FF 2A 4B 01 09 D1 73 23 72 21 0B .E....*K...s#r!.
015CF0: 00 E5 21 09 00 E5 11 E1 0A 3E 02 CD 45 01 33 33 ..!......>..E.33
015D00: 33 33 21 01 00 E5 21 02 00 E5 11 E1 0A 3E 02 CD 33!...!......>..
015D10: 45 01 33 33 33 33 21 08 00 E5 01 FE FF 2A 4B 01 E.3333!......*K.
015D20: 09 5E 23 56 D5 21 00 00 E5 11 19 0B 3E 02 CD 45 .^#V.!......>..E
015D30: 01 21 06 00 39 F9 3B 3B 11 1D 0C 3E 02 CD 45 01 .!..9.;;...>..E.
015D40: 01 FE FF 2A 4B 01 09 D1 73 23 72 21 06 00 E5 01 ...*K...s#r!....
015D50: FE FF 2A 4B 01 09 5E 23 56 D5 11 C1 0C 3E 01 CD ..*K..^#V....>..
015D60: 45 01 33 33 33 33 21 0C 00 E5 21 04 00 E5 11 E1 E.3333!...!.....
015D70: 0A 3E 02 CD 45 01 33 33 33 33 C3 B7 2E E1 E5 E5 .>..E.3333......
015D80: 21 28 00 E5 CD 06 01 C2 8B 2D 11 16 07 3E 02 CD !(.......-...>..
015D90: 45 01 21 13 00 E5 21 63 00 E5 11 E1 0A 3E 02 CD E.!...!c.....>..
015DA0: 45 01 33 33 33 33 3B 3B 11 77 0D 3E 01 CD 45 01 E.3333;;.w.>..E.
015DB0: 01 FE FF 2A 4B 01 09 D1 73 23 72 2A 4D 56 E5 21 ...*K...s#r*MV.!
015DC0: 0B 00 E5 CD 06 01 CA D7 2C 21 09 00 E5 11 03 06 ........,!......
015DD0: 3E 02 CD 45 01 33 33 11 16 07 3E 02 CD 45 01 21 >..E.33...>..E.!
015DE0: 03 00 E5 11 04 20 CD 42 01 33 33 2A 71 56 E5 21 ..... .B.33*qV.!
015DF0: 00 00 E5 CD 06 01 C2 0B 2D 21 01 00 E5 01 F6 FF ........-!......
015E00: 01 33 33 33 33 C3 2B 35 01 08 00 2A 4B 01 09 5E .3333.+5...*K..^
015E10: 23 56 D5 21 01 00 E5 D1 E1 19 E5 2A 6B 56 E5 11 #V.!.......*kV..
015E20: CF 31 3E 01 CD 45 01 33 33 33 33 01 F0 FF 2A 4B .1>..E.3333...*K
015E30: 01 09 5E 23 56 D5 E1 22 69 56 21 0E 00 E5 21 0E ..^#V.."iV!...!.
015E40: 00 E5 11 E1 0A 3E 01 CD 45 01 33 33 33 33 C3 AC .....>..E.3333..
015E50: 32 21 16 00 E5 21 11 00 E5 11 E1 0A 3E 01 CD 45 2!...!......>..E
015E60: 01 33 33 33 33 21 16 00 E5 21 00 00 E5 01 06 00 .3333!...!......
015E70: 2A 4B 01 09 5E 23 56 D5 11 19 0B 3E 01 CD 45 01 *K..^#V....>..E.
015E80: 21 06 00 39 F9 01 08 00 2A 4B 01 09 5E 23 56 D5 !..9....*K..^#V.
015E90: 21 01 00 E5 CD 06 01 CA BA 35 21 07 00 E5 21 00 !........5!...!.
015EA0: 00 E5 01 F8 FF 2A 4B 01 09 5E 23 56 D5 11 19 0B .....*K..^#V....
015EB0: 3E 01 CD 45 01 21 06 00 39 F9 11 93 21 CD 42 01 >..E.!..9...!.B.
015EC0: 2A 4D 56 E5 21 0E 00 E5 CD 06 01 C2 DF 35 11 16 *MV.!........5..
015ED0: 07 3E 01 CD 45 01 11 93 21 CD 42 01 C3 C0 35 01 .>..E...!.B...5.
015EE0: 08 00 2A 4B 01 09 5E 23 56 D5 21 01 00 E5 CD 06 ..*K..^#V.!.....
015EF0: 01 CA 0D 36 21 04 00 E5 21 00 00 E5 21 00 00 E5 ...6!...!...!...
015F00: 11 19 0B 3E 01 CD 45 01 21 06 00 39 F9 21 1D 00 ...>..E.!..9.!..
015F10: E5 21 0D 00 E5 11 E1 0A 3E 01 CD 45 01 33 33 33 .!......>..E.333
015F20: 33 2A 4D 56 E5 21 0D 00 E5 CD 06 01 C2 52 37 11 3*MV.!.......R7.
015F30: 16 07 3E 01 CD 45 01 21 01 00 E5 01 F0 FF 2A 4B ..>..E.!......*K
015F40: 01 09 D1 73 23 72 2A 69 56 E5 E1 E5 E5 01 F0 FF ...s#r*iV.......
015F50: 2A 4B 01 09 5E 23 56 D5 CD 06 01 CA 61 36 D2 50 *K..^#V.....a6.P
015F60: 37 21 0D 00 E5 3E 01 CD 0C 01 21 0A 00 E5 3E 01 7!...>....!...>.
015F70: CD 0C 01 01 F0 FF 2A 4B 01 09 5E 23 56 D5 3E 01 ......*K..^#V.>.
015F80: CD 12 01 21 20 00 E5 3E 01 CD 0C 01 01 F0 FF 2A ...! ..>.......*
015F90: 4B 01 09 5E 23 56 D5 21 79 43 D1 EB 29 29 29 19 K..^#V.!yC..))).
015FA0: CD 2A 01 3E 01 CD 21 01 21 20 00 E5 3E 01 CD 0C .*.>..!.! ..>...
015FB0: 01 01 F0 FF 2A 4B 01 09 5E 23 56 D5 21 E1 4C D1 ....*K..^#V.!.L.
015FC0: 19 19 5E 23 56 D5 3E 01 CD 12 01 21 20 00 E5 3E ..^#V.>....! ..>
015FD0: 01 CD 0C 01 01 F0 FF 2A 4B 01 09 5E 23 56 D5 21 .......*K..^#V.!
015FE0: 3B 4F D1 19 19 5E 23 56 D5 3E 01 CD 12 01 21 20 ;O...^#V.>....!
015FF0: 00 E5 3E 01 CD 0C 01 01 F0 FF 2A 4B 01 09 5E 23 ..>.......*K..^#
016000: 2A 4B 01 09 D1 73 23 72 C3 1A 2D 21 08 00 E5 01 *K...s#r..-!....
016010: F6 FF 2A 4B 01 09 D1 73 23 72 2A 4D 56 E5 21 13 ..*K...s#r*MV.!.
016020: 00 E5 CD 06 01 C2 3F 2D 11 16 07 3E 02 CD 45 01 ......?-...>..E.
016030: 21 03 00 E5 01 F6 FF 2A 4B 01 09 D1 73 23 72 21 !......*K...s#r!
016040: 08 00 E5 01 FE FF 2A 4B 01 09 5E 23 56 D5 01 F6 ......*K..^#V...
016050: FF 2A 4B 01 09 5E 23 56 D5 11 19 0B 3E 02 CD 45 .*K..^#V....>..E
016060: 01 21 06 00 39 F9 2A 4D 56 E5 21 0D 00 E5 CD 06 .!..9.*MV.!.....
016070: 01 CA D7 2C 21 0C 00 E5 21 04 00 E5 11 E1 0A 3E ...,!...!......>
016080: 02 CD 45 01 33 33 33 33 C3 B7 2E E1 E5 E5 21 16 ..E.3333......!.
016090: 00 E5 CD 06 01 C2 CD 2D 11 16 07 3E 02 CD 45 01 .......-...>..E.
0160A0: 11 93 21 3E 01 CD 45 01 2A 4D 56 E5 21 0E 00 E5 ..!>..E.*MV.!...
0160B0: CD 06 01 CA 98 2D 21 1D 00 E5 21 0D 00 E5 11 E1 .....-!...!.....
0160C0: 0A 3E 02 CD 45 01 33 33 33 33 C3 B7 2E E1 E5 E5 .>..E.3333......
0160D0: 21 30 00 E5 CD 06 01 C2 B7 2E 11 16 07 3E 02 CD !0...........>..
0160E0: 45 01 3B 3B 11 9F 0C 3E 02 CD 45 01 01 F8 FF 2A E.;;...>..E....*
0160F0: 4B 01 09 D1 73 23 72 21 16 00 E5 21 00 00 E5 01 K...s#r!...!....
016100: F8 FF 2A 4B 01 09 5E 23 56 D5 11 19 0B 3E 02 CD ..*K..^#V....>..
016110: 45 01 21 06 00 39 F9 21 03 00 E5 11 04 20 CD 42 E.!..9.!..... .B
016120: 01 33 33 3B 3B 11 9F 0C 3E 02 CD 45 01 01 FC FF .33;;...>..E....
016130: 2A 4B 01 09 D1 73 23 72 21 01 00 E5 21 00 00 E5 *K...s#r!...!...
016140: 01 FC FF 2A 4B 01 09 5E 23 56 D5 11 19 0B 3E 02 ...*K..^#V....>.
016150: CD 45 01 21 06 00 39 F9 21 1A 00 E5 21 36 00 E5 .E.!..9.!...!6..
016160: 11 E1 0A 3E 02 CD 45 01 33 33 33 33 11 93 21 3E ...>..E.3333..!>
016170: 01 CD 45 01 21 02 00 E5 21 00 00 E5 01 F8 FF 2A ..E.!...!......*
016180: 4B 01 09 5E 23 56 D5 11 19 0B 3E 02 CD 45 01 21 K..^#V....>..E.!
016190: 06 00 39 F9 21 16 00 E5 21 00 00 E5 01 FC FF 2A ..9.!...!......*
0161A0: 4B 01 09 5E 23 56 D5 11 19 0B 3E 02 CD 45 01 21 K..^#V....>..E.!
0161B0: 06 00 39 F9 C3 B7 2E 33 33 C3 48 01 21 F6 FF 39 ..9....33.H.!..9
0161C0: F9 2A 69 56 E5 01 FE FF 2A 4B 01 09 D1 73 23 72 .*iV....*K...s#r
0161D0: 2A 69 56 E5 01 FC FF 2A 4B 01 09 D1 73 23 72 21 *iV....*K...s#r!
0161E0: 00 00 E5 01 F6 FF 2A 4B 01 09 D1 73 23 72 11 16 ......*K...s#r..
0161F0: 07 3E 02 CD 45 01 2A 4D 56 E5 21 2F 00 E5 CD 06 .>..E.*MV.!/....
016200: 56 D5 21 95 51 D1 19 19 5E 23 56 D5 3E 01 CD 12 V.!.Q...^#V.>...
016210: 01 21 20 00 E5 3E 01 CD 0C 01 01 F0 FF 2A 4B 01 .! ..>.......*K.
016220: 09 5E 23 56 D5 21 EF 53 D1 19 19 5E 23 56 D5 3E .^#V.!.S...^#V.>
016230: 01 CD 12 01 01 F0 FF 2A 4B 01 09 5E 23 56 D5 E1 .......*K..^#V..
016240: 23 E5 01 F0 FF 2A 4B 01 09 D1 73 23 72 C3 4A 36 #....*K...s#r.J6
016250: 33 33 01 F2 FF 2A 4B 01 09 5E 23 56 D5 E1 22 69 33...*K..^#V.."i
016260: 56 C3 48 01 21 00 00 E5 E1 22 4B 56 21 7F 00 E5 V.H.!...."KV!...
016270: E1 E5 E5 2A 4B 56 E5 CD 06 01 CA 80 37 D2 A0 37 ...*KV......7..7
016280: 2A 4B 56 E5 21 00 00 E5 21 D7 41 D1 C1 09 09 73 *KV.!...!.A....s
016290: 23 72 2A 4B 56 E5 E1 23 E5 E1 22 4B 56 C3 70 37 #r*KV..#.."KV.p7
0162A0: 33 33 21 2B 00 E5 21 04 00 E5 21 D7 41 D1 C1 09 33!+..!...!.A...
0162B0: 09 73 23 72 21 2D 00 E5 21 05 00 E5 21 D7 41 D1 .s#r!-..!...!.A.
0162C0: C1 09 09 73 23 72 21 2A 00 E5 21 06 00 E5 21 D7 ...s#r!*..!...!.
0162D0: 41 D1 C1 09 09 73 23 72 21 2F 00 E5 21 07 00 E5 A....s#r!/..!...
0162E0: 21 D7 41 D1 C1 09 09 73 23 72 21 3A 00 E5 21 12 !.A....s#r!:..!.
0162F0: 00 E5 21 D7 41 D1 C1 09 09 73 23 72 21 3B 00 E5 ..!.A....s#r!;..
016300: 21 0E 00 E5 21 D7 41 D1 C1 09 09 73 23 72 21 3D !...!.A....s#r!=
016310: 00 E5 21 08 00 E5 21 D7 41 D1 C1 09 09 73 23 72 ..!...!.A....s#r
016320: 21 23 00 E5 21 13 00 E5 21 D7 41 D1 C1 09 09 73 !#..!...!.A....s
016330: 23 72 21 3C 00 E5 21 09 00 E5 21 D7 41 D1 C1 09 #r!<..!...!.A...
016340: 09 73 23 72 21 3E 00 E5 21 0A 00 E5 21 D7 41 D1 .s#r!>..!...!.A.
016350: C1 09 09 73 23 72 21 28 00 E5 21 0B 00 E5 21 D7 ...s#r!(..!...!.
016360: 41 D1 C1 09 09 73 23 72 21 29 00 E5 21 0C 00 E5 A....s#r!)..!...
016370: 21 D7 41 D1 C1 09 09 73 23 72 21 5B 00 E5 21 10 !.A....s#r![..!.
016380: 00 E5 21 D7 41 D1 C1 09 09 73 23 72 21 5D 00 E5 ..!.A....s#r!]..
016390: 21 11 00 E5 21 D7 41 D1 C1 09 09 73 23 72 21 2E !...!.A....s#r!.
0163A0: 00 E5 21 0F 00 E5 21 D7 41 D1 C1 09 09 73 23 72 ..!...!.A....s#r
0163B0: 21 2C 00 E5 21 0D 00 E5 21 D7 41 D1 C1 09 09 73 !,..!...!.A....s
0163C0: 23 72 21 01 00 E5 CD 27 01 20 20 20 20 20 44 4E #r!....'. DN
0163D0: 41 21 E7 40 EB 21 08 00 39 7E 23 66 6F 29 29 29 A!.@.!..9~#fo)))
0163E0: 19 CD 2D 01 E1 21 01 00 E5 21 14 00 E5 21 AB 40 ..-..!...!...!.@
0163F0: D1 C1 09 09 73 23 72 21 02 00 E5 CD 27 01 20 20 ....s#r!....'.
016400: 01 C2 1B 2F 11 16 07 3E 02 CD 45 01 21 08 00 E5 .../...>..E.!...
016410: 01 F6 FF 2A 4B 01 09 D1 73 23 72 21 01 00 E5 21 ...*K...s#r!...!
016420: 02 00 E5 11 E1 0A 3E 02 CD 45 01 33 33 33 33 21 ......>..E.3333!
016430: 51 56 CD 2A 01 21 00 00 E5 3E 01 CD 03 01 11 08 QV.*.!...>......
016440: 00 19 5E 23 56 D5 21 01 00 E5 D1 E1 19 E5 21 00 ..^#V.!.......!.
016450: 00 E5 21 00 00 E5 11 63 0B 3E 02 CD 45 01 21 10 ..!....c.>..E.!.
016460: 00 39 F9 2A 4D 56 E5 21 0D 00 E5 CD 06 01 CA EE .9.*MV.!........
016470: 2E 21 12 00 E5 21 05 00 E5 11 E1 0A 3E 02 CD 45 .!...!......>..E
016480: 01 33 33 33 33 21 01 00 E5 21 02 00 E5 11 E1 0A .3333!...!......
016490: 3E 02 CD 45 01 33 33 33 33 3B 3B 11 1D 0C 3E 02 >..E.3333;;...>.
0164A0: CD 45 01 01 FA FF 2A 4B 01 09 D1 73 23 72 01 F6 .E....*K...s#r..
0164B0: FF 2A 4B 01 09 5E 23 56 D5 21 00 00 E5 CD 06 01 .*K..^#V.!......
0164C0: C2 03 30 01 FA FF 2A 4B 01 09 5E 23 56 D5 21 E1 ..0...*K..^#V.!.
0164D0: 4C D1 19 19 5E 23 56 D5 21 07 00 E5 CD 06 01 C2 L...^#V.!.......
0164E0: F4 2F 21 04 00 E5 01 F6 FF 2A 4B 01 09 D1 73 23 ./!......*K...s#
0164F0: 72 C3 03 30 21 05 00 E5 01 F6 FF 2A 4B 01 09 D1 r..0!......*K...
016500: 73 23 72 01 FC FF 2A 4B 01 09 5E 23 56 D5 21 01 s#r...*K..^#V.!.
016510: 00 E5 D1 E1 19 E5 01 F8 FF 2A 4B 01 09 D1 73 23 .........*K...s#
016520: 72 2A 69 56 E5 E1 E5 E5 01 F8 FF 2A 4B 01 09 5E r*iV.......*K..^
016530: 23 56 D5 CD 06 01 CA 3C 30 D2 17 31 01 F8 FF 2A #V.....<0..1...*
016540: 4B 01 09 5E 23 56 D5 01 F6 FF 2A 4B 01 09 5E 23 K..^#V....*K..^#
016550: 56 D5 21 E1 4C D1 C1 09 09 73 23 72 01 F8 FF 2A V.!.L....s#r...*
016560: 4B 01 09 5E 23 56 D5 01 FA FF 2A 4B 01 09 5E 23 K..^#V....*K..^#
016570: 56 D5 21 EF 53 D1 19 19 5E 23 56 D5 21 EF 53 D1 V.!.S...^#V.!.S.
016580: C1 09 09 73 23 72 01 F8 FF 2A 4B 01 09 5E 23 56 ...s#r...*K..^#V
016590: D5 3E 01 CD 03 01 11 F6 FF 19 5E 23 56 D5 01 FA .>........^#V...
0165A0: FF 2A 4B 01 09 5E 23 56 D5 21 EF 53 D1 19 19 5E .*K..^#V.!.S...^
0165B0: 23 56 D5 D1 E1 19 E5 21 06 00 E5 CD 33 01 21 95 #V.....!....3.!.
0165C0: 51 D1 C1 09 09 73 23 72 3E 01 CD 03 01 11 F6 FF Q....s#r>.......
0165D0: 19 5E 23 56 D5 01 FA FF 2A 4B 01 09 5E 23 56 D5 .^#V....*K..^#V.
0165E0: 21 EF 53 D1 19 19 5E 23 56 D5 D1 E1 19 E5 3E 01 !.S...^#V.....>.
0165F0: CD 03 01 11 F6 FF 19 D1 73 23 72 01 F8 FF 2A 4B ........s#r...*K
016600: 20 59 41 52 52 41 21 E7 40 EB 21 08 00 39 7E 23 YARRA!.@.!..9~#
016610: 66 6F 29 29 29 19 CD 2D 01 E1 21 02 00 E5 21 15 fo)))..-..!...!.
016620: 00 E5 21 AB 40 D1 C1 09 09 73 23 72 21 03 00 E5 ..!.@....s#r!...
016630: CD 27 01 20 20 20 4E 49 47 45 42 21 E7 40 EB 21 .'. NIGEB!.@.!
016640: 08 00 39 7E 23 66 6F 29 29 29 19 CD 2D 01 E1 21 ..9~#fo)))..-..!
016650: 03 00 E5 21 16 00 E5 21 AB 40 D1 C1 09 09 73 23 ...!...!.@....s#
016660: 72 21 04 00 E5 CD 27 01 20 20 20 20 45 53 41 43 r!....'. ESAC
016670: 21 E7 40 EB 21 08 00 39 7E 23 66 6F 29 29 29 19 !.@.!..9~#fo))).
016680: CD 2D 01 E1 21 04 00 E5 21 17 00 E5 21 AB 40 D1 .-..!...!...!.@.
016690: C1 09 09 73 23 72 21 05 00 E5 CD 27 01 20 20 20 ...s#r!....'.
0166A0: 54 53 4E 4F 43 21 E7 40 EB 21 08 00 39 7E 23 66 TSNOC!.@.!..9~#f
0166B0: 6F 29 29 29 19 CD 2D 01 E1 21 05 00 E5 21 18 00 o)))..-..!...!..
0166C0: E5 21 AB 40 D1 C1 09 09 73 23 72 21 06 00 E5 CD .!.@....s#r!....
0166D0: 27 01 20 20 20 20 20 56 49 44 21 E7 40 EB 21 08 '. VID!.@.!.
0166E0: 00 39 7E 23 66 6F 29 29 29 19 CD 2D 01 E1 21 06 .9~#fo)))..-..!.
0166F0: 00 E5 21 19 00 E5 21 AB 40 D1 C1 09 09 73 23 72 ..!...!.@....s#r
016700: 21 07 00 E5 CD 27 01 20 20 20 20 20 20 4F 44 21 !....'. OD!
016710: E7 40 EB 21 08 00 39 7E 23 66 6F 29 29 29 19 CD .@.!..9~#fo)))..
016720: 2D 01 E1 21 07 00 E5 21 1A 00 E5 21 AB 40 D1 C1 -..!...!...!.@..
016730: 09 09 73 23 72 21 08 00 E5 CD 27 01 20 20 4F 54 ..s#r!....'. OT
016740: 4E 57 4F 44 21 E7 40 EB 21 08 00 39 7E 23 66 6F NWOD!.@.!..9~#fo
016750: 29 29 29 19 CD 2D 01 E1 21 08 00 E5 21 1B 00 E5 )))..-..!...!...
016760: 21 AB 40 D1 C1 09 09 73 23 72 21 09 00 E5 CD 27 !.@....s#r!....'
016770: 01 20 20 20 20 45 53 4C 45 21 E7 40 EB 21 08 00 . ESLE!.@.!..
016780: 39 7E 23 66 6F 29 29 29 19 CD 2D 01 E1 21 09 00 9~#fo)))..-..!..
016790: E5 21 1C 00 E5 21 AB 40 D1 C1 09 09 73 23 72 21 .!...!.@....s#r!
0167A0: 0A 00 E5 CD 27 01 20 20 20 20 20 44 4E 45 21 E7 ....'. DNE!.
0167B0: 40 EB 21 08 00 39 7E 23 66 6F 29 29 29 19 CD 2D @.!..9~#fo)))..-
0167C0: 01 E1 21 0A 00 E5 21 1D 00 E5 21 AB 40 D1 C1 09 ..!...!...!.@...
0167D0: 09 73 23 72 21 0B 00 E5 CD 27 01 20 20 20 20 20 .s#r!....'.
0167E0: 52 4F 46 21 E7 40 EB 21 08 00 39 7E 23 66 6F 29 ROF!.@.!..9~#fo)
0167F0: 29 29 19 CD 2D 01 E1 21 0B 00 E5 21 1E 00 E5 21 ))..-..!...!...!
016800: 01 09 5E 23 56 D5 E1 23 E5 01 F8 FF 2A 4B 01 09 ..^#V..#....*K..
016810: D1 73 23 72 C3 25 30 33 33 2A 4D 56 E5 21 0E 00 .s#r.%033*MV.!..
016820: E5 CD 06 01 CA D0 2E 01 FE FF 2A 4B 01 09 5E 23 ..........*K..^#
016830: 56 D5 21 01 00 E5 D1 E1 19 E5 01 F8 FF 2A 4B 01 V.!..........*K.
016840: 09 D1 73 23 72 2A 69 56 E5 E1 E5 E5 01 F8 FF 2A ..s#r*iV.......*
016850: 4B 01 09 5E 23 56 D5 CD 06 01 CA 60 31 D2 B6 31 K..^#V.....`1..1
016860: 01 F8 FF 2A 4B 01 09 5E 23 56 D5 01 F8 FF 2A 4B ...*K..^#V....*K
016870: 01 09 5E 23 56 D5 21 95 51 D1 19 19 5E 23 56 D5 ..^#V.!.Q...^#V.
016880: 3E 01 CD 03 01 11 F6 FF 19 5E 23 56 D5 CD 33 01 >........^#V..3.
016890: 21 95 51 D1 C1 09 09 73 23 72 01 F8 FF 2A 4B 01 !.Q....s#r...*K.
0168A0: 09 5E 23 56 D5 E1 23 E5 01 F8 FF 2A 4B 01 09 D1 .^#V..#....*K...
0168B0: 73 23 72 C3 49 31 33 33 21 0C 00 E5 21 04 00 E5 s#r.I133!...!...
0168C0: 11 E1 0A 3E 02 CD 45 01 33 33 33 33 C3 48 01 21 ...>..E.3333.H.!
0168D0: EE FF 39 F9 21 00 00 E5 01 F8 FF 2A 4B 01 09 D1 ..9.!......*K...
0168E0: 73 23 72 2A 69 56 E5 01 F2 FF 2A 4B 01 09 D1 73 s#r*iV....*K...s
0168F0: 23 72 2A 4D 56 E5 21 18 00 E5 CD 06 01 C2 30 32 #r*MV.!.......02
016900: 11 16 07 3E 01 CD 45 01 11 A9 0E CD 42 01 21 0E ...>..E.....B.!.
016910: 00 E5 21 0E 00 E5 11 E1 0A 3E 01 CD 45 01 33 33 ..!......>..E.33
016920: 33 33 2A 4D 56 E5 21 01 00 E5 CD 06 01 CA 08 32 33*MV.!........2
016930: 2A 4D 56 E5 21 2D 00 E5 CD 06 01 C2 6E 32 11 16 *MV.!-......n2..
016940: 07 3E 01 CD 45 01 11 E6 12 CD 42 01 21 0E 00 E5 .>..E.....B.!...
016950: 21 0E 00 E5 11 E1 0A 3E 01 CD 45 01 33 33 33 33 !......>..E.3333
016960: 2A 4D 56 E5 21 01 00 E5 CD 06 01 CA 46 32 2A 4D *MV.!.......F2*M
016970: 56 E5 21 2F 00 E5 CD 06 01 C2 AC 32 11 16 07 3E V.!/.......2...>
016980: 01 CD 45 01 11 79 13 CD 42 01 21 0E 00 E5 21 0E ..E..y..B.!...!.
016990: 00 E5 11 E1 0A 3E 01 CD 45 01 33 33 33 33 2A 4D .....>..E.3333*M
0169A0: 56 E5 21 01 00 E5 CD 06 01 CA 84 32 2A 4D 56 E5 V.!........2*MV.
0169B0: 21 26 00 E5 CD 06 01 C6 FF 3F 9F F5 2A 4D 56 E5 !&.......?..*MV.
0169C0: 21 1F 00 E5 CD 06 01 C6 FF 3F 9F D1 B2 CA 51 35 !........?....Q5
0169D0: 2A 4D 56 E5 21 26 00 E5 CD 06 01 C2 F0 32 21 02 *MV.!&.......2!.
0169E0: 00 E5 01 F4 FF 2A 4B 01 09 D1 73 23 72 C3 FF 32 .....*K...s#r..2
0169F0: 21 03 00 E5 01 F4 FF 2A 4B 01 09 D1 73 23 72 11 !......*K...s#r.
016A00: 54 72 61 63 6B 2D 49 6E 66 6F 0D 0A 00 01 00 00 Track-Info......
016A10: 13 00 00 00 02 09 4A E5 13 00 C1 02 00 00 00 02 ......J.........
016A20: 13 00 C6 02 00 00 00 02 13 00 C2 02 00 00 00 02 ................
016A30: 13 00 C7 02 00 00 00 02 13 00 C3 02 00 00 00 02 ................
016A40: 13 00 C8 02 00 00 00 02 13 00 C4 02 00 00 00 02 ................
016A50: 13 00 C9 02 00 00 00 02 13 00 C5 02 00 00 00 02 ................
016A60: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
016A70: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
016A80: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
016A90: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
016AA0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
016AB0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
016AC0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
016AD0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
016AE0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
016AF0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
016B00: AB 40 D1 C1 09 09 73 23 72 21 0C 00 E5 CD 27 01 .@....s#r!....'.
016B10: 4E 4F 49 54 43 4E 55 46 21 E7 40 EB 21 08 00 39 NOITCNUF!.@.!..9
016B20: 7E 23 66 6F 29 29 29 19 CD 2D 01 E1 21 0C 00 E5 ~#fo)))..-..!...
016B30: 21 1F 00 E5 21 AB 40 D1 C1 09 09 73 23 72 21 0D !...!.@....s#r!.
016B40: 00 E5 CD 27 01 20 20 20 20 20 54 45 47 21 E7 40 ...'. TEG!.@
016B50: EB 21 08 00 39 7E 23 66 6F 29 29 29 19 CD 2D 01 .!..9~#fo)))..-.
016B60: E1 21 0D 00 E5 21 20 00 E5 21 AB 40 D1 C1 09 09 .!...! ..!.@....
016B70: 73 23 72 21 0E 00 E5 CD 27 01 20 20 20 20 20 20 s#r!....'.
016B80: 46 49 21 E7 40 EB 21 08 00 39 7E 23 66 6F 29 29 FI!.@.!..9~#fo))
016B90: 29 19 CD 2D 01 E1 21 0E 00 E5 21 21 00 E5 21 AB )..-..!...!!..!.
016BA0: 40 D1 C1 09 09 73 23 72 21 0F 00 E5 CD 27 01 20 @....s#r!....'.
016BB0: 20 20 20 20 44 4F 4D 21 E7 40 EB 21 08 00 39 7E DOM!.@.!..9~
016BC0: 23 66 6F 29 29 29 19 CD 2D 01 E1 21 0F 00 E5 21 #fo)))..-..!...!
016BD0: 22 00 E5 21 AB 40 D1 C1 09 09 73 23 72 21 10 00 "..!.@....s#r!..
016BE0: E5 CD 27 01 20 20 20 20 20 54 4F 4E 21 E7 40 EB ..'. TON!.@.
016BF0: 21 08 00 39 7E 23 66 6F 29 29 29 19 CD 2D 01 E1 !..9~#fo)))..-..
016C00: 21 10 00 E5 21 23 00 E5 21 AB 40 D1 C1 09 09 73 !...!#..!.@....s
016C10: 23 72 21 11 00 E5 CD 27 01 20 20 20 20 20 20 46 #r!....'. F
016C20: 4F 21 E7 40 EB 21 08 00 39 7E 23 66 6F 29 29 29 O!.@.!..9~#fo)))
016C30: 19 CD 2D 01 E1 21 11 00 E5 21 24 00 E5 21 AB 40 ..-..!...!$..!.@
016C40: D1 C1 09 09 73 23 72 21 12 00 E5 CD 27 01 20 20 ....s#r!....'.
016C50: 20 20 20 20 52 4F 21 E7 40 EB 21 08 00 39 7E 23 RO!.@.!..9~#
016C60: 66 6F 29 29 29 19 CD 2D 01 E1 21 12 00 E5 21 25 fo)))..-..!...!%
016C70: 00 E5 21 AB 40 D1 C1 09 09 73 23 72 21 13 00 E5 ..!.@....s#r!...
016C80: CD 27 01 52 55 44 45 43 4F 52 50 21 E7 40 EB 21 .'.RUDECORP!.@.!
016C90: 08 00 39 7E 23 66 6F 29 29 29 19 CD 2D 01 E1 21 ..9~#fo)))..-..!
016CA0: 13 00 E5 21 26 00 E5 21 AB 40 D1 C1 09 09 73 23 ...!&..!.@....s#
016CB0: 72 21 14 00 E5 CD 27 01 20 4D 41 52 47 4F 52 50 r!....'. MARGORP
016CC0: 21 E7 40 EB 21 08 00 39 7E 23 66 6F 29 29 29 19 !.@.!..9~#fo))).
016CD0: CD 2D 01 E1 21 14 00 E5 21 27 00 E5 21 AB 40 D1 .-..!...!'..!.@.
016CE0: C1 09 09 73 23 72 21 15 00 E5 CD 27 01 20 20 20 ...s#r!....'.
016CF0: 20 20 54 55 50 21 E7 40 EB 21 08 00 39 7E 23 66 TUP!.@.!..9~#f
016D00: 61 20 33 32 6B 20 43 50 2F 4D 20 61 6E 64 20 6D a 32k CP/M and m
016D10: 69 67 68 74 20 77 6F 72 6B 20 69 6E 20 32 34 6B ight work in 24k
016D20: 2C 20 62 75 74 0D 0A 74 68 65 72 65 20 61 72 65 , but..there are
016D30: 20 6E 6F 20 6D 65 6D 6F 72 79 20 6F 76 65 72 66 no memory overf
016D40: 6C 6F 77 20 63 68 65 63 6B 73 2E 20 20 49 66 20 low checks. If
016D50: 69 74 20 68 61 6E 67 73 20 6F 72 20 73 6F 6D 65 it hangs or some
016D60: 74 68 69 6E 67 2C 20 79 6F 75 0D 0A 70 72 6F 62 thing, you..prob
016D70: 61 62 6C 79 20 64 6F 6E 27 74 20 68 61 76 65 20 ably don't have
016D80: 65 6E 6F 75 67 68 20 6D 65 6D 6F 72 79 2E 0D 0A enough memory...
016D90: 0D 0A 4F 6E 20 67 6F 6F 64 20 73 69 7A 65 64 20 ..On good sized
016DA0: 70 72 6F 67 72 61 6D 73 2C 20 74 68 65 20 63 6F programs, the co
016DB0: 6D 70 69 6C 65 72 20 6D 61 6E 61 67 65 73 20 74 mpiler manages t
016DC0: 6F 20 67 65 74 20 61 62 6F 75 74 20 33 30 30 2D o get about 300-
016DD0: 34 30 30 0D 0A 6C 69 6E 65 73 20 6F 66 20 50 61 400..lines of Pa
016DE0: 73 63 61 6C 20 74 72 61 6E 73 6C 61 74 65 64 20 scal translated
016DF0: 74 6F 20 6F 62 6A 65 63 74 20 70 65 72 20 6D 69 to object per mi
016E00: 6E 75 74 65 2E 20 20 54 68 65 73 65 20 66 69 67 nute. These fig
016E10: 75 72 65 73 20 77 65 72 65 0D 0A 74 61 6B 65 6E ures were..taken
016E20: 20 6F 6E 20 6D 79 20 73 79 73 74 65 6D 20 77 69 on my system wi
016E30: 74 68 20 32 6D 48 7A 20 5A 2D 38 30 2C 20 38 22 th 2mHz Z-80, 8"
016E40: 20 64 69 73 6B 2C 20 72 75 6E 6E 69 6E 67 20 75 disk, running u
016E50: 6E 64 65 72 20 53 50 45 45 44 2E 0D 0A 43 6F 6D nder SPEED...Com
016E60: 70 69 6C 61 74 69 6F 6E 20 73 70 65 65 64 20 77 pilation speed w
016E70: 69 6C 6C 20 66 61 6C 6C 20 74 6F 20 6C 65 73 73 ill fall to less
016E80: 20 74 68 61 6E 20 68 61 6C 66 20 74 68 69 73 20 than half this
016E90: 72 61 74 65 20 77 69 74 68 6F 75 74 20 53 50 45 rate without SPE
016EA0: 45 44 2C 0D 0A 74 68 75 73 20 53 50 45 45 44 20 ED,..thus SPEED
016EB0: 69 73 20 73 74 72 6F 6E 67 6C 79 20 72 65 63 6F is strongly reco
016EC0: 6D 6D 65 6E 64 65 64 2E 20 20 54 68 69 73 20 69 mmended. This i
016ED0: 73 20 70 61 72 74 69 63 75 6C 61 72 6C 79 20 74 s particularly t
016EE0: 72 75 65 20 69 66 0D 0A 79 6F 75 20 75 73 65 20 rue if..you use
016EF0: 74 68 65 20 73 75 62 6D 69 74 20 66 69 6C 65 20 the submit file
016F00: 6F 29 29 29 19 CD 2D 01 E1 21 15 00 E5 21 28 00 o)))..-..!...!(.
016F10: E5 21 AB 40 D1 C1 09 09 73 23 72 21 16 00 E5 CD .!.@....s#r!....
016F20: 27 01 20 20 44 52 4F 43 45 52 21 E7 40 EB 21 08 '. DROCER!.@.!.
016F30: 00 39 7E 23 66 6F 29 29 29 19 CD 2D 01 E1 21 16 .9~#fo)))..-..!.
016F40: 00 E5 21 29 00 E5 21 AB 40 D1 C1 09 09 73 23 72 ..!)..!.@....s#r
016F50: 21 17 00 E5 CD 27 01 20 20 54 41 45 50 45 52 21 !....'. TAEPER!
016F60: E7 40 EB 21 08 00 39 7E 23 66 6F 29 29 29 19 CD .@.!..9~#fo)))..
016F70: 2D 01 E1 21 17 00 E5 21 2A 00 E5 21 AB 40 D1 C1 -..!...!*..!.@..
016F80: 09 09 73 23 72 21 18 00 E5 CD 27 01 20 20 20 20 ..s#r!....'.
016F90: 4E 45 48 54 21 E7 40 EB 21 08 00 39 7E 23 66 6F NEHT!.@.!..9~#fo
016FA0: 29 29 29 19 CD 2D 01 E1 21 18 00 E5 21 2B 00 E5 )))..-..!...!+..
016FB0: 21 AB 40 D1 C1 09 09 73 23 72 21 19 00 E5 CD 27 !.@....s#r!....'
016FC0: 01 20 20 20 20 20 20 4F 54 21 E7 40 EB 21 08 00 . OT!.@.!..
016FD0: 39 7E 23 66 6F 29 29 29 19 CD 2D 01 E1 21 19 00 9~#fo)))..-..!..
016FE0: E5 21 2C 00 E5 21 AB 40 D1 C1 09 09 73 23 72 21 .!,..!.@....s#r!
016FF0: 1A 00 E5 CD 27 01 20 20 20 20 45 50 59 54 21 E7 ....'. EPYT!.
017000: 40 EB 21 08 00 39 7E 23 66 6F 29 29 29 19 CD 2D @.!..9~#fo)))..-
017010: 01 E1 21 1A 00 E5 21 2D 00 E5 21 AB 40 D1 C1 09 ..!...!-..!.@...
017020: 09 73 23 72 21 1B 00 E5 CD 27 01 20 20 20 4C 49 .s#r!....'. LI
017030: 54 4E 55 21 E7 40 EB 21 08 00 39 7E 23 66 6F 29 TNU!.@.!..9~#fo)
017040: 29 29 19 CD 2D 01 E1 21 1B 00 E5 21 2E 00 E5 21 ))..-..!...!...!
017050: AB 40 D1 C1 09 09 73 23 72 21 1C 00 E5 CD 27 01 .@....s#r!....'.
017060: 20 20 20 20 20 52 41 56 21 E7 40 EB 21 08 00 39 RAV!.@.!..9
017070: 7E 23 66 6F 29 29 29 19 CD 2D 01 E1 21 1C 00 E5 ~#fo)))..-..!...
017080: 21 2F 00 E5 21 AB 40 D1 C1 09 09 73 23 72 21 1D !/..!.@....s#r!.
017090: 00 E5 CD 27 01 20 20 20 45 4C 49 48 57 21 E7 40 ...'. ELIHW!.@
0170A0: EB 21 08 00 39 7E 23 66 6F 29 29 29 19 CD 2D 01 .!..9~#fo)))..-.
0170B0: E1 21 1D 00 E5 21 30 00 E5 21 AB 40 D1 C1 09 09 .!...!0..!.@....
0170C0: 73 23 72 21 00 00 E5 E1 22 6D 56 21 00 00 E5 E1 s#r!...."mV!....
0170D0: 22 69 56 CD 27 01 20 56 45 52 20 43 50 50 3E 01 "iV.'. VER CPP>.
0170E0: CD 21 01 21 00 00 E5 3E 01 CD 12 01 21 2E 00 E5 .!.!...>....!...
0170F0: 3E 01 CD 0C 01 21 00 00 E5 3E 01 CD 12 01 21 08 >....!...>....!.
017100: 74 6F 20 64 6F 20 74 68 65 20 63 6F 6D 70 69 6C to do the compil
017110: 61 74 69 6F 6E 2E 20 20 54 68 65 20 72 75 6E 20 ation. The run
017120: 74 69 6D 65 20 70 61 63 6B 61 67 65 0D 0A 64 6F time package..do
017130: 65 73 20 6F 6E 6C 79 20 73 69 6E 67 6C 65 20 73 es only single s
017140: 65 63 74 6F 72 20 64 69 73 6B 20 62 75 66 66 65 ector disk buffe
017150: 72 69 6E 67 20 61 6E 64 20 74 68 69 73 20 74 6F ring and this to
017160: 6F 20 6D 61 6B 65 73 20 53 50 45 45 44 0D 0A 76 o makes SPEED..v
017170: 65 72 79 20 69 6D 70 6F 72 74 61 6E 74 2E 0D 0A ery important...
017180: 0D 0A 0D 0A 0D 0A 48 6F 77 20 69 74 20 61 6C 6C ......How it all
017190: 20 77 6F 72 6B 73 0D 0A 3D 3D 3D 3D 3D 3D 3D 3D works..========
0171A0: 3D 3D 3D 3D 3D 3D 3D 3D 0D 0A 54 68 65 20 70 72 ========..The pr
0171B0: 6F 67 72 61 6D 20 50 50 43 2E 43 4F 4D 20 74 61 ogram PPC.COM ta
0171C0: 6B 65 73 20 79 6F 75 72 20 50 61 73 63 61 6C 20 kes your Pascal
0171D0: 73 6F 75 72 63 65 20 61 6E 64 20 6D 61 6B 65 73 source and makes
0171E0: 20 61 20 73 69 6E 67 6C 65 20 70 61 73 73 0D 0A a single pass..
0171F0: 6F 76 65 72 20 69 74 20 74 72 61 6E 73 6C 61 74 over it translat
017200: 69 6E 67 20 69 74 20 74 6F 20 61 20 73 6F 72 74 ing it to a sort
017210: 20 6F 66 20 70 2D 63 6F 64 65 20 61 73 20 69 74 of p-code as it
017220: 20 67 6F 65 73 2E 20 20 54 68 69 73 20 70 2D 63 goes. This p-c
017230: 6F 64 65 20 69 73 0D 0A 77 72 69 74 74 65 6E 20 ode is..written
017240: 74 6F 20 64 69 73 6B 2E 20 20 50 46 45 54 2E 43 to disk. PFET.C
017250: 4F 4D 20 72 65 61 64 73 20 74 68 65 20 70 2D 63 OM reads the p-c
017260: 6F 64 65 20 66 69 6C 65 20 6F 6E 20 69 74 73 20 ode file on its
017270: 66 69 72 73 74 20 70 61 73 73 2C 0D 0A 61 73 73 first pass,..ass
017280: 69 67 6E 69 6E 67 20 38 30 38 30 20 61 64 64 72 igning 8080 addr
017290: 65 73 73 65 73 20 74 6F 20 61 6C 6C 20 70 2D 63 esses to all p-c
0172A0: 6F 64 65 20 6C 61 62 65 6C 73 20 61 6E 64 20 73 ode labels and s
0172B0: 74 6F 72 69 6E 67 20 74 68 65 20 70 2D 63 6F 64 toring the p-cod
0172C0: 65 0D 0A 69 6E 20 6D 65 6D 6F 72 79 20 66 6F 72 e..in memory for
0172D0: 20 74 68 65 20 73 65 63 6F 6E 64 20 70 61 73 73 the second pass
0172E0: 2E 20 20 4F 6E 20 69 74 73 20 73 65 63 6F 6E 64 . On its second
0172F0: 20 70 61 73 73 2C 20 50 46 45 54 20 72 65 61 64 pass, PFET read
017300: 00 E5 3E 01 CD 12 01 21 52 00 E5 3E 01 CD 0C 01 ..>....!R..>....
017310: 21 0D 00 E5 3E 01 CD 0C 01 21 0A 00 E5 3E 01 CD !...>....!...>..
017320: 0C 01 CD 27 01 3F 47 4E 49 54 53 49 4C 3E 01 CD ...'.?GNITSIL>..
017330: 21 01 3E 01 CD 09 01 E1 22 6F 56 CD 27 01 20 52 !.>....."oV.'. R
017340: 45 47 45 54 4E 49 21 07 00 E5 21 00 00 E5 21 00 EGETNI!...!...!.
017350: 00 E5 21 02 00 E5 11 63 0B CD 42 01 21 10 00 39 ..!....c..B.!..9
017360: F9 CD 27 01 20 20 20 20 52 41 48 43 21 07 00 E5 ..'. RAHC!...
017370: 21 00 00 E5 21 00 00 E5 21 01 00 E5 11 63 0B CD !...!...!....c..
017380: 42 01 21 10 00 39 F9 CD 27 01 20 4E 41 45 4C 4F B.!..9..'. NAELO
017390: 4F 42 21 07 00 E5 21 00 00 E5 21 00 00 E5 21 02 OB!...!...!...!.
0173A0: 00 E5 11 63 0B CD 42 01 21 10 00 39 F9 CD 27 01 ...c..B.!..9..'.
0173B0: 20 20 20 20 45 54 59 42 21 07 00 E5 21 00 00 E5 ETYB!...!...
0173C0: 21 00 00 E5 21 01 00 E5 11 63 0B CD 42 01 21 10 !...!....c..B.!.
0173D0: 00 39 F9 CD 27 01 20 20 20 20 44 52 4F 57 21 07 .9..'. DROW!.
0173E0: 00 E5 21 00 00 E5 21 00 00 E5 21 02 00 E5 11 63 ..!...!...!....c
0173F0: 0B CD 42 01 21 10 00 39 F9 CD 27 01 20 20 20 20 ..B.!..9..'.
017400: 41 46 4C 41 21 07 00 E5 21 00 00 E5 21 00 00 E5 AFLA!...!...!...
017410: 21 08 00 E5 11 63 0B CD 42 01 21 10 00 39 F9 21 !....c..B.!..9.!
017420: 20 00 E5 E1 22 4B 56 11 16 07 CD 42 01 21 01 00 ..."KV....B.!..
017430: E5 E1 22 6B 56 21 02 00 E5 21 00 00 E5 21 01 00 .."kV!...!...!..
017440: E5 11 19 0B CD 42 01 21 06 00 39 F9 21 01 00 E5 .....B.!..9.!...
017450: 21 01 00 E5 11 CF 31 CD 42 01 33 33 33 33 21 08 !.....1.B.3333!.
017460: 00 E5 21 00 00 E5 21 09 00 E5 11 19 0B CD 42 01 ..!...!.......B.
017470: 21 06 00 39 F9 21 17 00 E5 21 00 00 E5 21 00 00 !..9.!...!...!..
017480: E5 11 19 0B CD 42 01 21 06 00 39 F9 2A 4D 56 E5 .....B.!..9.*MV.
017490: 21 0F 00 E5 CD 06 01 CA A6 40 21 14 00 E5 11 03 !........@!.....
0174A0: 06 CD 42 01 33 33 3E 00 CD 24 01 1A 1A 1A 1A 1A ..B.33>..$......
0174B0: 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A ................
0174C0: 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A ................
0174D0: 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A ................
0174E0: 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A ................
0174F0: 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A ................
017500: 73 20 74 68 65 0D 0A 70 2D 63 6F 64 65 20 66 72 s the..p-code fr
017510: 6F 6D 20 6D 65 6D 6F 72 79 20 61 6E 64 20 67 65 om memory and ge
017520: 6E 65 72 61 74 65 73 20 74 68 65 20 61 63 74 75 nerates the actu
017530: 61 6C 20 38 30 38 30 20 6F 62 6A 65 63 74 20 63 al 8080 object c
017540: 6F 64 65 2E 20 20 54 68 69 73 0D 0A 63 6F 64 65 ode. This..code
017550: 20 69 73 20 77 72 69 74 74 65 6E 20 74 6F 20 61 is written to a
017560: 20 64 69 73 6B 20 66 69 6C 65 2E 20 20 54 68 65 disk file. The
017570: 20 6C 61 73 74 20 73 74 65 70 20 69 6E 20 63 6F last step in co
017580: 6D 70 69 6C 61 74 69 6F 6E 20 69 73 20 74 6F 0D mpilation is to.
017590: 0A 6C 69 6E 6B 20 74 68 65 20 67 65 6E 65 72 61 .link the genera
0175A0: 74 65 64 20 6F 62 6A 65 63 74 20 63 6F 64 65 20 ted object code
0175B0: 74 6F 20 74 68 65 20 72 75 6E 20 74 69 6D 65 20 to the run time
0175C0: 70 61 63 6B 61 67 65 2E 20 20 54 68 69 73 20 69 package. This i
0175D0: 73 20 64 6F 6E 65 0D 0A 62 79 20 73 69 6D 70 6C s done..by simpl
0175E0: 79 20 75 73 69 6E 67 20 50 49 50 20 74 6F 20 63 y using PIP to c
0175F0: 6F 6E 63 61 74 65 6E 61 74 65 20 74 68 65 20 72 oncatenate the r
017600: 75 6E 20 74 69 6D 65 20 70 61 63 6B 61 67 65 20 un time package
017610: 61 6E 64 20 74 68 65 20 6F 62 6A 65 63 74 0D 0A and the object..
017620: 66 69 6C 65 20 66 72 6F 6D 20 50 46 45 54 20 74 file from PFET t
017630: 6F 20 70 72 6F 64 75 63 65 20 61 6E 20 65 78 65 o produce an exe
017640: 63 75 74 61 62 6C 65 20 2E 43 4F 4D 20 66 69 6C cutable .COM fil
017650: 65 2E 20 20 54 68 65 20 63 6F 6D 70 69 6C 65 72 e. The compiler
017660: 20 28 50 50 43 29 0D 0A 69 73 20 77 72 69 74 74 (PPC)..is writt
017670: 65 6E 20 69 6E 20 50 61 73 63 61 6C 2C 20 61 73 en in Pascal, as
017680: 20 69 73 20 74 68 65 20 70 2D 63 6F 64 65 20 74 is the p-code t
017690: 72 61 6E 73 6C 61 74 6F 72 20 28 50 46 45 54 29 ranslator (PFET)
0176A0: 2E 20 20 54 68 65 20 72 75 6E 20 74 69 6D 65 0D . The run time.
0176B0: 0A 70 61 63 6B 61 67 65 20 69 73 20 77 72 69 74 .package is writ
0176C0: 74 65 6E 20 69 6E 20 61 73 73 65 6D 62 6C 65 72 ten in assembler
0176D0: 2E 0D 0A 0D 0A 0D 0A 0D 0A 44 69 66 66 65 72 65 .........Differe
0176E0: 6E 63 65 73 20 66 72 6F 6D 20 22 73 74 61 6E 64 nces from "stand
0176F0: 61 72 64 22 20 50 61 73 63 61 6C 0D 0A 3D 3D 3D ard" Pascal..===
017700: 0D 0A 09 09 09 50 50 43 20 55 73 65 72 73 20 4D .....PPC Users M
017710: 61 6E 75 61 6C 0D 0A 0D 0A 0D 0A 48 6F 77 20 74 anual......How t
017720: 6F 20 75 73 65 20 74 68 65 20 63 6F 6D 70 69 6C o use the compil
017730: 65 72 0D 0A 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D er..============
017740: 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 0D 0A 0D 0A 49 ===========....I
017750: 66 20 79 6F 75 20 68 61 76 65 20 61 20 66 69 6C f you have a fil
017760: 65 20 6E 61 6D 65 64 20 64 6F 67 2E 70 61 73 20 e named dog.pas
017770: 61 6E 64 20 79 6F 75 20 77 61 6E 74 20 74 6F 20 and you want to
017780: 63 6F 6D 70 69 6C 65 20 69 74 2C 20 79 6F 75 27 compile it, you'
017790: 64 0D 0A 6A 75 73 74 20 74 79 70 65 0D 0A 0D 0A d..just type....
0177A0: 09 73 75 62 6D 69 74 20 70 63 20 64 6F 67 0D 0A .submit pc dog..
0177B0: 0D 0A 54 68 65 20 63 6F 6D 70 69 6C 65 72 20 77 ..The compiler w
0177C0: 69 6C 6C 20 61 73 6B 20 22 4C 49 53 54 49 4E 47 ill ask "LISTING
0177D0: 3F 22 2E 20 20 59 6F 75 20 72 65 70 6C 79 20 77 ?". You reply w
0177E0: 69 74 68 20 61 20 73 69 6E 67 6C 65 20 63 68 61 ith a single cha
0177F0: 72 61 63 74 65 72 3B 0D 0A 63 61 72 72 69 61 67 racter;..carriag
017800: 65 20 72 65 74 75 72 6E 20 6D 65 61 6E 73 20 6E e return means n
017810: 6F 20 6C 69 73 74 69 6E 67 2C 20 61 6E 79 20 6F o listing, any o
017820: 74 68 65 72 20 63 68 61 72 61 63 74 65 72 20 6D ther character m
017830: 65 61 6E 73 20 79 65 73 20 6C 69 73 74 69 6E 67 eans yes listing
017840: 2E 0D 0A 54 68 65 20 6C 69 73 74 69 6E 67 20 77 ...The listing w
017850: 69 6C 6C 20 62 65 20 73 65 6E 74 20 74 6F 20 74 ill be sent to t
017860: 68 65 20 63 6F 6E 73 6F 6C 65 20 61 73 20 74 68 he console as th
017870: 65 20 63 6F 6D 70 69 6C 61 74 69 6F 6E 20 70 72 e compilation pr
017880: 6F 63 65 65 64 73 2E 0D 0A 41 6E 79 20 65 72 72 oceeds...Any err
017890: 6F 72 73 20 64 65 74 65 63 74 65 64 20 69 6E 20 ors detected in
0178A0: 74 68 65 20 63 6F 6D 70 69 6C 61 74 69 6F 6E 20 the compilation
0178B0: 61 72 65 20 66 6C 61 67 67 65 64 20 69 6E 20 74 are flagged in t
0178C0: 68 69 73 20 6C 69 73 74 69 6E 67 2E 0D 0A 41 74 his listing...At
0178D0: 20 73 6F 6D 65 20 70 6F 69 6E 74 20 28 68 6F 70 some point (hop
0178E0: 65 66 75 6C 6C 79 20 72 65 61 73 6F 6E 61 62 6C efully reasonabl
0178F0: 79 20 6E 65 61 72 20 74 6F 20 74 68 65 20 70 6F y near to the po
017900: 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D ================
017910: 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 0D ===============.
017920: 0A 0D 0A 54 68 69 73 20 73 65 63 74 69 6F 6E 20 ...This section
017930: 77 69 6C 6C 20 64 65 74 61 69 6C 20 74 68 65 20 will detail the
017940: 77 61 79 73 20 69 6E 20 77 68 69 63 68 20 70 70 ways in which pp
017950: 63 20 64 65 76 69 61 74 65 73 20 66 72 6F 6D 20 c deviates from
017960: 73 74 61 6E 64 61 72 64 0D 0A 50 61 73 63 61 6C standard..Pascal
017970: 20 61 73 20 64 65 66 69 6E 65 64 20 69 6E 20 22 as defined in "
017980: 50 61 73 63 61 6C 20 55 73 65 72 20 4D 61 6E 75 Pascal User Manu
017990: 61 6C 20 61 6E 64 20 52 65 70 6F 72 74 22 2C 20 al and Report",
0179A0: 73 65 63 6F 6E 64 20 65 64 2E 2C 20 4B 2E 0D 0A second ed., K...
0179B0: 4A 65 6E 73 65 6E 20 61 6E 64 20 4E 2E 20 57 69 Jensen and N. Wi
0179C0: 72 74 68 2E 0D 0A 0D 0A 0D 0A 54 77 6F 20 61 64 rth.......Two ad
0179D0: 64 69 74 69 6F 6E 61 6C 20 72 65 73 65 72 76 65 ditional reserve
0179E0: 64 20 77 6F 72 64 73 20 68 61 76 65 20 62 65 65 d words have bee
0179F0: 6E 20 64 65 66 69 6E 65 64 3A 20 20 67 65 74 20 n defined: get
017A00: 61 6E 64 20 70 75 74 2E 0D 0A 54 68 65 20 66 6F and put...The fo
017A10: 6C 6C 6F 77 69 6E 67 20 77 6F 72 64 73 20 61 72 llowing words ar
017A20: 65 20 6E 6F 74 20 6E 6F 77 20 63 6F 6E 73 69 64 e not now consid
017A30: 65 72 65 64 20 72 65 73 65 72 76 65 64 2C 20 62 ered reserved, b
017A40: 75 74 20 61 72 65 0D 0A 69 6E 20 73 74 61 6E 64 ut are..in stand
017A50: 61 72 64 20 50 61 73 63 61 6C 2C 20 73 6F 20 74 ard Pascal, so t
017A60: 68 65 79 20 73 68 6F 75 6C 64 20 62 65 20 61 76 hey should be av
017A70: 6F 69 64 65 64 3A 20 20 66 69 6C 65 2C 20 67 6F oided: file, go
017A80: 74 6F 2C 20 69 6E 2C 20 6C 61 62 65 6C 2C 0D 0A to, in, label,..
017A90: 6E 69 6C 2C 20 70 61 63 6B 65 64 2C 20 73 65 74 nil, packed, set
017AA0: 2C 20 61 6E 64 20 77 69 74 68 2E 0D 0A 0D 0A 54 , and with.....T
017AB0: 68 65 20 41 53 43 49 49 20 74 61 62 20 63 68 61 he ASCII tab cha
017AC0: 72 61 63 74 65 72 20 69 73 20 61 6E 20 61 63 63 racter is an acc
017AD0: 65 70 74 61 62 6C 65 20 77 68 69 74 65 20 73 70 eptable white sp
017AE0: 61 63 65 20 63 68 61 72 61 63 74 65 72 2E 0D 0A ace character...
017AF0: 0D 0A 43 6F 6D 6D 65 6E 74 73 20 61 72 65 20 62 ..Comments are b
017B00: 69 6E 74 20 6F 66 20 69 6E 66 72 61 63 74 69 6F int of infractio
017B10: 6E 29 0D 0A 74 68 65 20 65 72 72 6F 72 20 6E 75 n)..the error nu
017B20: 6D 62 65 72 20 77 69 6C 6C 20 62 65 20 69 6E 73 mber will be ins
017B30: 65 72 74 65 64 20 69 6E 74 6F 20 74 68 65 20 6C erted into the l
017B40: 69 73 74 69 6E 67 2C 20 65 6E 63 6C 6F 73 65 64 isting, enclosed
017B50: 20 69 6E 20 22 3E 3E 22 0D 0A 61 6E 64 20 22 3C in ">>"..and "<
017B60: 3C 22 2E 20 20 54 68 65 20 6C 69 6E 65 20 66 6F <". The line fo
017B70: 6C 6C 6F 77 69 6E 67 20 61 6E 20 65 72 72 6F 72 llowing an error
017B80: 20 77 69 6C 6C 20 73 74 61 72 74 20 77 69 74 68 will start with
017B90: 20 22 2A 2A 2A 2A 2A 2A 2A 2A 22 0D 0A 61 6E 64 "********"..and
017BA0: 20 6F 74 68 65 72 77 69 73 65 20 62 65 20 62 6C otherwise be bl
017BB0: 61 6E 6B 20 74 6F 20 63 61 6C 6C 20 61 74 74 65 ank to call atte
017BC0: 6E 74 69 6F 6E 20 74 6F 20 74 68 65 20 65 72 72 ntion to the err
017BD0: 6F 72 2E 20 20 54 68 65 20 63 6F 6D 70 69 6C 65 or. The compile
017BE0: 72 0D 0A 77 69 6C 6C 20 61 6C 73 6F 20 77 61 69 r..will also wai
017BF0: 74 20 66 6F 72 20 61 20 73 69 6E 67 6C 65 20 63 t for a single c
017C00: 68 61 72 61 63 74 65 72 20 66 72 6F 6D 20 74 68 haracter from th
017C10: 65 20 63 6F 6E 73 6F 6C 65 20 62 65 66 6F 72 65 e console before
017C20: 0D 0A 63 6F 6D 70 69 6C 61 74 69 6F 6E 20 63 6F ..compilation co
017C30: 6E 74 69 6E 75 65 73 2E 20 20 54 68 69 73 20 69 ntinues. This i
017C40: 73 20 73 6F 20 70 65 6F 70 6C 65 20 77 69 74 68 s so people with
017C50: 20 63 72 74 27 73 20 63 61 6E 20 73 65 65 20 74 crt's can see t
017C60: 68 65 0D 0A 65 72 72 6F 72 2E 20 20 45 72 72 6F he..error. Erro
017C70: 72 20 6E 75 6D 62 65 72 73 20 73 68 6F 75 6C 64 r numbers should
017C80: 20 62 65 20 6C 6F 6F 6B 65 64 20 75 70 20 69 6E be looked up in
017C90: 20 4A 65 6E 73 65 6E 20 61 6E 64 20 57 69 72 74 Jensen and Wirt
017CA0: 68 20 28 73 65 65 0D 0A 62 65 6C 6F 77 29 2E 20 h (see..below).
017CB0: 20 45 72 72 6F 72 20 6E 75 6D 62 65 72 20 39 39 Error number 99
017CC0: 20 69 73 20 70 6F 75 6E 64 20 73 69 67 6E 20 28 is pound sign (
017CD0: 22 23 22 29 20 65 78 70 65 63 74 65 64 2E 0D 0A "#") expected...
017CE0: 0D 0A 54 68 65 20 63 6F 6D 70 69 6C 65 72 20 73 ..The compiler s
017CF0: 68 6F 75 6C 64 20 77 6F 72 6B 20 77 69 74 68 20 hould work with
017D00: 54 72 61 63 6B 2D 49 6E 66 6F 0D 0A 00 01 00 00 Track-Info......
017D10: 14 00 00 00 02 09 4A E5 14 00 C1 02 00 00 00 02 ......J.........
017D20: 14 00 C6 02 00 00 00 02 14 00 C2 02 00 00 00 02 ................
017D30: 14 00 C7 02 00 00 00 02 14 00 C3 02 00 00 00 02 ................
017D40: 14 00 C8 02 00 00 00 02 14 00 C4 02 00 00 00 02 ................
017D50: 14 00 C9 02 00 00 00 02 14 00 C5 02 00 00 00 02 ................
017D60: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
017D70: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
017D80: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
017D90: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
017DA0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
017DB0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
017DC0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
017DD0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
017DE0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
017DF0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
017E00: 65 67 75 6E 20 77 69 74 68 20 74 68 65 20 73 65 egun with the se
017E10: 71 75 65 6E 63 65 20 22 28 2A 22 20 61 6E 64 20 quence "(*" and
017E20: 65 6E 64 65 64 20 77 69 74 68 20 22 2A 29 22 2E ended with "*)".
017E30: 0D 0A 0D 0A 49 64 65 6E 74 69 66 69 65 72 73 20 ....Identifiers
017E40: 6D 61 79 20 62 65 20 76 65 72 79 20 6C 6F 6E 67 may be very long
017E50: 2C 20 62 75 74 20 6F 6E 6C 79 20 74 68 65 20 66 , but only the f
017E60: 69 72 73 74 20 38 20 61 72 65 20 73 69 67 6E 69 irst 8 are signi
017E70: 66 69 63 61 6E 74 2E 0D 0A 0D 0A 0D 0A 54 68 65 ficant.......The
017E80: 20 64 61 74 61 20 74 79 70 65 20 42 6F 6F 6C 65 data type Boole
017E90: 61 6E 20 69 73 20 6E 6F 74 20 73 75 70 70 6F 72 an is not suppor
017EA0: 74 65 64 2E 20 20 52 65 6C 61 74 69 6F 6E 61 6C ted. Relational
017EB0: 20 61 6E 64 20 6C 6F 67 69 63 61 6C 0D 0A 6F 70 and logical..op
017EC0: 65 72 61 74 6F 72 73 20 6D 61 79 20 62 65 20 75 erators may be u
017ED0: 73 65 64 20 6F 6E 6C 79 20 69 6E 20 69 66 20 73 sed only in if s
017EE0: 74 61 74 65 6D 65 6E 74 73 2E 20 20 54 68 65 20 tatements. The
017EF0: 62 6F 6F 6C 65 61 6E 20 63 6F 6E 73 74 61 6E 74 boolean constant
017F00: 0D 0A 69 64 65 6E 74 69 66 69 65 72 73 20 74 72 ..identifiers tr
017F10: 75 65 20 61 6E 64 20 66 61 6C 73 65 20 61 72 65 ue and false are
017F20: 20 6E 6F 74 20 64 65 66 69 6E 65 64 2E 20 20 54 not defined. T
017F30: 68 65 20 6E 6F 74 20 6F 70 65 72 61 74 6F 72 20 he not operator
017F40: 69 73 0D 0A 6E 6F 74 20 69 6D 70 6C 65 6D 65 6E is..not implemen
017F50: 74 65 64 2E 20 20 54 68 65 73 65 20 61 72 65 20 ted. These are
017F60: 74 68 65 20 6C 65 67 61 6C 20 72 65 6C 61 74 69 the legal relati
017F70: 6F 6E 61 6C 20 61 6E 64 20 6C 6F 67 69 63 61 6C onal and logical
017F80: 0D 0A 6F 70 65 72 61 74 6F 72 73 3A 20 20 3D 2C ..operators: =,
017F90: 20 3C 3E 2C 20 3C 2C 20 3C 3D 2C 20 3E 3D 2C 20 <>, <, <=, >=,
017FA0: 3E 2C 20 61 6E 64 2C 20 61 6E 64 20 6F 72 2E 0D >, and, and or..
017FB0: 0A 0D 0A 54 68 65 20 64 61 74 61 20 74 79 70 65 ...The data type
017FC0: 20 69 6E 74 65 67 65 72 20 69 73 20 61 76 61 69 integer is avai
017FD0: 6C 61 62 6C 65 2E 20 20 56 61 6C 75 65 73 20 6D lable. Values m
017FE0: 75 73 74 20 62 65 20 69 6E 20 74 68 65 20 72 61 ust be in the ra
017FF0: 6E 67 65 20 2D 33 32 37 36 38 20 74 6F 0D 0A 33 nge -32768 to..3
018000: 73 73 69 6F 6E 73 20 74 6F 20 6D 61 6B 65 20 63 ssions to make c
018010: 6F 64 69 6E 67 20 74 68 65 0D 0A 74 72 61 6E 73 oding the..trans
018020: 6C 61 74 6F 72 20 65 61 73 69 65 72 2E 20 20 53 lator easier. S
018030: 65 65 20 74 68 65 20 73 79 6E 74 61 78 20 67 72 ee the syntax gr
018040: 61 70 68 73 20 74 6F 20 73 65 65 20 77 68 65 72 aphs to see wher
018050: 65 20 74 68 65 73 65 20 63 61 6E 20 62 65 0D 0A e these can be..
018060: 75 73 65 64 2E 0D 0A 0D 0A 56 61 72 69 61 62 6C used.....Variabl
018070: 65 20 64 65 63 6C 61 72 61 74 69 6F 6E 73 20 68 e declarations h
018080: 61 76 65 20 74 68 65 20 72 65 73 74 72 69 63 74 ave the restrict
018090: 69 6F 6E 20 74 68 61 74 20 74 68 65 20 74 79 70 ion that the typ
0180A0: 65 20 6D 75 73 74 20 62 65 0D 0A 61 20 74 79 70 e must be..a typ
0180B0: 65 20 69 64 65 6E 74 69 66 69 65 72 20 61 6E 64 e identifier and
0180C0: 20 6D 61 79 20 6E 6F 74 20 62 65 20 61 20 63 6F may not be a co
0180D0: 6D 70 6C 65 78 20 74 79 70 65 2E 20 20 54 68 75 mplex type. Thu
0180E0: 73 0D 0A 0D 0A 09 76 61 72 20 6D 6F 6E 74 68 73 s.....var months
0180F0: 20 3A 20 61 72 72 61 79 20 5B 20 31 20 2E 2E 20 : array [ 1 ..
018100: 31 32 20 5D 20 6F 66 20 69 6E 74 65 67 65 72 3B 12 ] of integer;
018110: 0D 0A 0D 0A 69 73 20 69 6C 6C 65 67 61 6C 2C 20 ....is illegal,
018120: 77 68 69 6C 65 0D 0A 0D 0A 09 74 79 70 65 20 6D while.....type m
018130: 74 68 61 72 72 61 79 20 3D 20 61 72 72 61 79 20 tharray = array
018140: 5B 20 31 20 2E 2E 20 31 32 20 5D 20 6F 66 20 69 [ 1 .. 12 ] of i
018150: 6E 74 65 67 65 72 3B 0D 0A 09 76 61 72 20 20 6D nteger;...var m
018160: 6F 6E 74 68 73 20 3A 20 6D 74 68 61 72 72 61 79 onths : mtharray
018170: 3B 0D 0A 0D 0A 69 73 20 6C 65 67 61 6C 2E 0D 0A ;....is legal...
018180: 0D 0A 49 6E 20 74 68 69 73 20 69 6D 70 6C 65 6D ..In this implem
018190: 65 6E 74 61 74 69 6F 6E 2C 20 66 75 6E 63 74 69 entation, functi
0181A0: 6F 6E 73 20 63 61 6E 20 72 65 74 75 72 6E 20 6F ons can return o
0181B0: 6E 6C 79 20 69 6E 74 65 67 65 72 20 76 61 6C 75 nly integer valu
0181C0: 65 73 2E 0D 0A 54 68 69 73 20 6D 61 6B 65 73 20 es...This makes
0181D0: 69 74 20 75 6E 6E 65 63 65 73 73 61 72 79 20 28 it unnecessary (
0181E0: 61 6E 64 20 69 6C 6C 65 67 61 6C 29 20 74 6F 20 and illegal) to
0181F0: 67 69 76 65 20 61 20 66 75 6E 63 74 69 6F 6E 20 give a function
018200: 32 37 36 37 2E 20 20 54 68 65 72 65 20 61 72 65 2767. There are
018210: 20 6E 6F 20 73 74 61 6E 64 61 72 64 20 66 75 6E no standard fun
018220: 63 74 69 6F 6E 73 20 73 75 63 68 20 61 73 20 61 ctions such as a
018230: 62 73 2C 20 73 71 72 2C 20 74 72 75 6E 63 2C 20 bs, sqr, trunc,
018240: 65 74 63 2E 0D 0A 54 68 65 20 63 6F 6E 73 74 61 etc...The consta
018250: 6E 74 20 6D 61 78 69 6E 74 20 69 73 20 6E 6F 74 nt maxint is not
018260: 20 64 65 66 69 6E 65 64 20 62 79 20 74 68 65 20 defined by the
018270: 63 6F 6D 70 69 6C 65 72 2E 20 20 54 68 65 20 74 compiler. The t
018280: 79 70 65 20 69 6E 74 65 67 65 72 20 69 73 0D 0A ype integer is..
018290: 69 64 65 6E 74 69 63 61 6C 20 74 6F 20 74 79 70 identical to typ
0182A0: 65 20 77 6F 72 64 2E 20 20 54 68 65 20 66 6F 6C e word. The fol
0182B0: 6C 6F 77 69 6E 67 20 6F 70 65 72 61 74 69 6F 6E lowing operation
0182C0: 73 20 61 72 65 20 64 65 66 69 6E 65 64 20 6F 6E s are defined on
0182D0: 20 69 6E 74 65 67 65 72 73 3A 0D 0A 0D 0A 09 2A integers:.....*
0182E0: 09 6D 75 6C 74 69 70 6C 79 0D 0A 09 2F 09 64 69 .multiply.../.di
0182F0: 76 69 64 65 20 61 6E 64 20 74 72 75 6E 63 61 74 vide and truncat
018300: 65 20 28 77 68 79 20 75 73 65 20 64 69 76 3F 20 e (why use div?
018310: 69 6E 74 27 73 20 61 72 65 20 61 6C 6C 20 79 6F int's are all yo
018320: 75 27 76 65 20 67 6F 74 21 29 0D 0A 09 2B 09 61 u've got!)...+.a
018330: 64 64 0D 0A 09 2D 09 73 75 62 74 72 61 63 74 0D dd...-.subtract.
018340: 0A 0D 0A 4D 75 6C 74 69 70 6C 69 63 61 74 69 6F ...Multiplicatio
018350: 6E 20 61 6E 64 20 64 69 76 69 73 69 6F 6E 20 61 n and division a
018360: 72 65 20 70 72 65 73 65 6E 74 6C 79 20 69 6D 70 re presently imp
018370: 6C 65 6D 65 6E 74 65 64 20 77 69 74 68 20 72 65 lemented with re
018380: 70 65 61 74 65 64 0D 0A 61 64 64 69 74 69 6F 6E peated..addition
018390: 20 61 6E 64 20 73 75 62 74 72 61 63 74 69 6F 6E and subtraction
0183A0: 20 28 67 61 67 21 29 2E 20 20 54 68 69 73 20 6D (gag!). This m
0183B0: 61 6B 65 73 20 74 68 65 20 6F 72 64 65 72 20 6F akes the order o
0183C0: 66 20 74 68 65 20 6F 70 65 72 61 6E 64 73 0D 0A f the operands..
0183D0: 63 72 69 74 69 63 61 6C 2E 20 20 49 66 20 6F 6E critical. If on
0183E0: 65 20 6F 70 65 72 61 6E 64 20 69 73 20 6C 69 6B e operand is lik
0183F0: 65 6C 79 20 74 6F 20 62 65 20 6C 65 73 73 20 74 ely to be less t
018400: 72 65 74 75 72 6E 20 74 79 70 65 0D 0A 69 6E 20 return type..in
018410: 74 68 65 20 66 75 6E 63 74 69 6F 6E 20 64 65 63 the function dec
018420: 6C 61 72 61 74 69 6F 6E 2E 0D 0A 0D 0A 0D 0A 54 laration.......T
018430: 68 65 20 63 61 73 65 20 73 74 61 74 65 6D 65 6E he case statemen
018440: 74 20 69 73 20 6C 69 6D 69 74 65 64 20 69 6E 20 t is limited in
018450: 74 68 61 74 20 69 74 20 63 61 6E 6E 6F 74 20 61 that it cannot a
018460: 63 63 65 70 74 20 6D 75 6C 74 69 70 6C 65 20 63 ccept multiple c
018470: 61 73 65 0D 0A 6C 61 62 65 6C 73 20 6F 6E 20 74 ase..labels on t
018480: 68 65 20 73 61 6D 65 20 73 74 61 74 65 6D 65 6E he same statemen
018490: 74 2E 20 20 4F 6E 20 74 68 65 20 6F 74 68 65 72 t. On the other
0184A0: 20 68 61 6E 64 2C 20 69 74 20 68 61 73 20 62 65 hand, it has be
0184B0: 65 6E 20 65 78 74 65 6E 64 65 64 0D 0A 74 6F 20 en extended..to
0184C0: 61 6C 6C 6F 77 20 61 6E 20 65 6C 73 65 20 73 74 allow an else st
0184D0: 61 74 65 6D 65 6E 74 20 77 68 69 63 68 20 69 73 atement which is
0184E0: 20 65 78 65 63 75 74 65 64 20 77 68 65 6E 20 6E executed when n
0184F0: 6F 6E 65 20 6F 66 20 74 68 65 20 63 61 73 65 0D one of the case.
018500: 0A 6C 61 62 65 6C 73 20 6D 61 74 63 68 20 74 68 .labels match th
018510: 65 20 65 78 70 72 65 73 73 69 6F 6E 20 76 61 6C e expression val
018520: 75 65 2E 20 20 53 65 65 20 74 68 65 20 73 79 6E ue. See the syn
018530: 74 61 78 20 67 72 61 70 68 73 20 66 6F 72 20 74 tax graphs for t
018540: 68 65 20 73 79 6E 74 61 78 2E 0D 0A 0D 0A 0D 0A he syntax.......
018550: 53 69 6E 67 6C 65 20 64 69 6D 65 6E 73 69 6F 6E Single dimension
018560: 61 6C 20 61 72 72 61 79 73 20 6F 66 20 69 6E 74 al arrays of int
018570: 65 67 65 72 73 20 61 6E 64 20 61 6C 66 61 73 20 egers and alfas
018580: 28 74 68 65 20 74 77 6F 20 22 62 75 69 6C 74 2D (the two "built-
018590: 69 6E 22 20 74 79 70 65 73 29 0D 0A 61 72 65 20 in" types)..are
0185A0: 61 6C 6C 6F 77 65 64 2E 20 20 59 6F 75 20 63 61 allowed. You ca
0185B0: 6E 20 61 6C 73 6F 20 64 65 63 6C 61 72 65 20 61 n also declare a
0185C0: 72 72 61 79 73 20 6F 66 20 73 75 62 72 61 6E 67 rrays of subrang
0185D0: 65 20 6F 72 20 65 6E 75 6D 65 72 61 74 65 64 20 e or enumerated
0185E0: 74 79 70 65 73 2C 0D 0A 62 75 74 20 74 68 65 73 types,..but thes
0185F0: 65 20 61 72 65 20 74 72 65 61 74 65 64 20 61 73 e are treated as
018600: 68 61 6E 20 74 68 65 20 6F 74 68 65 72 2C 20 70 han the other, p
018610: 75 74 20 74 68 65 0D 0A 6C 65 73 73 65 72 20 6F ut the..lesser o
018620: 70 65 72 61 6E 64 20 6F 6E 20 74 68 65 20 6C 65 perand on the le
018630: 66 74 20 6F 66 20 74 68 65 20 6D 75 6C 74 69 70 ft of the multip
018640: 6C 69 63 61 74 69 6F 6E 20 73 79 6D 62 6F 6C 20 lication symbol
018650: 66 6F 72 20 62 65 73 74 20 73 70 65 65 64 2E 0D for best speed..
018660: 0A 44 69 76 69 64 69 6E 67 20 61 20 6C 61 72 67 .Dividing a larg
018670: 65 20 6E 75 6D 62 65 72 20 62 79 20 6F 6E 65 20 e number by one
018680: 74 61 6B 65 73 20 61 20 6C 6F 6E 67 20 74 69 6D takes a long tim
018690: 65 20 2D 2D 20 64 69 76 69 64 69 6E 67 20 69 74 e -- dividing it
0186A0: 20 62 79 20 7A 65 72 6F 0D 0A 74 61 6B 65 73 20 by zero..takes
0186B0: 66 6F 72 65 76 65 72 21 20 20 28 49 74 27 73 20 forever! (It's
0186C0: 6E 6F 74 20 74 68 61 74 20 49 27 6D 20 6E 6F 74 not that I'm not
0186D0: 20 61 77 61 72 65 20 6F 66 20 74 68 65 20 73 68 aware of the sh
0186E0: 69 66 74 6E 67 20 6D 65 74 68 6F 64 73 0D 0A 6F iftng methods..o
0186F0: 66 20 64 69 76 69 73 69 6F 6E 20 61 6E 64 20 6D f division and m
018700: 75 6C 74 69 70 6C 69 63 61 74 69 6F 6E 2C 20 69 ultiplication, i
018710: 74 27 73 20 6A 75 73 74 20 74 68 61 74 20 49 20 t's just that I
018720: 77 61 6E 74 65 64 20 73 6F 6D 65 74 68 69 6E 67 wanted something
018730: 20 71 75 69 63 6B 0D 0A 61 6E 64 20 64 69 64 6E quick..and didn
018740: 27 74 20 66 65 65 6C 20 6C 69 6B 65 20 6C 6F 6F 't feel like loo
018750: 6B 69 6E 67 20 75 70 20 74 68 65 20 67 6F 6F 64 king up the good
018760: 20 72 6F 75 74 69 6E 65 73 2E 20 20 49 27 76 65 routines. I've
018770: 20 6E 65 76 65 72 20 66 65 6C 74 0D 0A 74 68 65 never felt..the
018780: 20 6E 65 65 64 20 74 6F 20 72 65 70 6C 61 63 65 need to replace
018790: 20 74 68 65 73 65 20 72 6F 75 74 69 6E 65 73 20 these routines
0187A0: 77 69 74 68 20 74 68 65 20 67 6F 6F 64 20 6F 6E with the good on
0187B0: 65 73 2E 29 0D 0A 0D 0A 41 6C 73 6F 20 6E 6F 74 es.)....Also not
0187C0: 65 20 74 68 61 74 20 74 68 65 72 65 20 69 73 20 e that there is
0187D0: 6E 6F 20 69 6E 74 65 67 65 72 20 6E 65 67 61 74 no integer negat
0187E0: 69 6F 6E 2E 20 20 49 66 20 79 6F 75 20 77 61 6E ion. If you wan
0187F0: 74 20 6E 65 67 61 74 69 76 65 20 6F 6E 65 2C 0D t negative one,.
018800: 20 61 72 72 61 79 73 20 6F 66 20 69 6E 74 65 67 arrays of integ
018810: 65 72 73 20 61 6E 64 20 74 61 6B 65 20 74 68 65 ers and take the
018820: 20 73 61 6D 65 20 61 6D 6F 75 6E 74 20 6F 66 0D same amount of.
018830: 0A 73 74 6F 72 61 67 65 2E 20 20 4F 66 20 63 6F .storage. Of co
018840: 75 72 73 65 2C 20 61 72 72 61 79 73 20 6F 66 20 urse, arrays of
018850: 61 72 72 61 79 73 20 61 72 65 20 6E 6F 74 20 61 arrays are not a
018860: 6C 6C 6F 77 65 64 2C 20 61 73 20 74 68 61 74 20 llowed, as that
018870: 77 6F 75 6C 64 0D 0A 62 65 20 6D 6F 72 65 20 74 would..be more t
018880: 68 61 6E 20 6F 6E 65 20 64 69 6D 65 6E 73 69 6F han one dimensio
018890: 6E 2E 0D 0A 0D 0A 49 66 20 61 20 73 69 6D 70 6C n.....If a simpl
0188A0: 65 20 61 6C 66 61 20 76 61 72 69 61 62 6C 65 20 e alfa variable
0188B0: 61 70 70 65 61 72 73 20 77 69 74 68 20 61 20 73 appears with a s
0188C0: 75 62 73 63 72 69 70 74 20 61 66 74 65 72 20 69 ubscript after i
0188D0: 74 2C 20 69 74 20 69 73 0D 0A 74 72 65 61 74 65 t, it is..treate
0188E0: 64 20 61 73 20 74 68 6F 75 67 68 20 69 74 20 77 d as though it w
0188F0: 65 72 65 20 61 6E 20 61 72 72 61 79 20 6F 66 20 ere an array of
018900: 69 6E 74 65 67 65 72 73 2E 20 20 54 68 69 73 20 integers. This
018910: 66 61 63 74 20 63 61 6E 20 62 65 20 75 73 65 64 fact can be used
018920: 0D 0A 74 6F 20 67 65 74 20 61 74 20 74 68 65 20 ..to get at the
018930: 69 6E 64 69 76 69 64 75 61 6C 20 63 68 61 72 61 individual chara
018940: 63 74 65 72 73 20 6F 66 20 61 6E 20 61 6C 66 61 cters of an alfa
018950: 20 76 61 72 69 61 62 6C 65 2E 20 20 46 6F 72 20 variable. For
018960: 65 78 61 6D 70 6C 65 2C 0D 0A 69 66 20 22 61 22 example,..if "a"
018970: 20 69 73 20 61 20 73 69 6D 70 6C 65 20 28 6E 6F is a simple (no
018980: 74 20 61 6E 20 61 72 72 61 79 29 20 61 6C 66 61 t an array) alfa
018990: 20 76 61 72 69 61 62 6C 65 2C 20 74 68 65 6E 20 variable, then
0189A0: 61 5B 30 5D 20 72 65 66 65 72 73 20 74 6F 0D 0A a[0] refers to..
0189B0: 74 68 65 20 66 69 72 73 74 20 74 77 6F 20 63 68 the first two ch
0189C0: 61 72 61 63 74 65 72 73 2E 20 20 54 68 65 20 6C aracters. The l
0189D0: 65 61 73 74 20 73 69 67 6E 69 66 69 63 61 6E 74 east significant
0189E0: 20 65 69 67 68 74 20 62 69 74 73 20 77 6F 75 6C eight bits woul
0189F0: 64 0D 0A 63 6F 6E 74 61 69 6E 20 74 68 65 20 66 d..contain the f
018A00: 0A 77 72 69 74 65 20 69 74 20 61 73 20 30 2D 31 .write it as 0-1
018A10: 2E 0D 0A 0D 0A 54 68 65 20 74 79 70 65 20 72 65 .....The type re
018A20: 61 6C 20 69 73 20 6E 6F 74 20 73 75 70 70 6F 72 al is not suppor
018A30: 74 65 64 2E 0D 0A 0D 0A 54 68 65 20 74 79 70 65 ted.....The type
018A40: 20 63 68 61 72 20 69 73 20 6E 6F 74 20 73 75 70 char is not sup
018A50: 70 6F 72 74 65 64 2C 20 62 75 74 20 73 65 65 20 ported, but see
018A60: 74 79 70 65 20 61 6C 66 61 20 62 65 6C 6F 77 2E type alfa below.
018A70: 0D 0A 0D 0A 54 68 65 20 74 79 70 65 20 61 6C 66 ....The type alf
018A80: 61 20 63 61 6E 20 68 6F 6C 64 20 65 69 67 68 74 a can hold eight
018A90: 20 63 68 61 72 61 63 74 65 72 65 72 73 2E 20 20 characterers.
018AA0: 41 6C 66 61 73 20 63 61 6E 20 62 65 20 61 73 73 Alfas can be ass
018AB0: 69 67 6E 65 64 20 61 6E 64 0D 0A 63 6F 6D 70 61 igned and..compa
018AC0: 72 65 64 20 6A 75 73 74 20 6C 69 6B 65 20 69 6E red just like in
018AD0: 74 65 67 65 72 73 20 28 6A 75 73 74 20 64 6F 6E tegers (just don
018AE0: 27 74 20 74 72 79 20 74 6F 20 64 6F 20 6D 61 74 't try to do mat
018AF0: 68 20 6F 6E 20 74 68 65 6D 21 29 2E 0D 0A 41 6C h on them!)...Al
018B00: 6C 20 72 65 6C 61 74 69 6F 6E 61 6C 20 6F 70 65 l relational ope
018B10: 72 61 74 6F 72 73 20 61 72 65 20 64 65 66 69 6E rators are defin
018B20: 65 64 20 75 73 69 6E 67 20 74 68 65 20 41 53 43 ed using the ASC
018B30: 49 49 20 63 6F 6C 6C 61 74 69 6E 67 20 73 65 71 II collating seq
018B40: 75 65 6E 63 65 2E 0D 0A 4C 65 6E 67 74 68 20 63 uence...Length c
018B50: 61 6E 27 74 20 65 6E 74 65 72 20 69 6E 74 6F 20 an't enter into
018B60: 74 68 65 20 63 6F 6D 70 61 72 69 6F 73 6E 20 62 the compariosn b
018B70: 65 63 61 75 73 65 20 61 6C 66 61 73 20 61 72 65 ecause alfas are
018B80: 20 61 6C 77 61 79 73 20 65 69 67 68 74 0D 0A 63 always eight..c
018B90: 68 61 72 61 63 74 65 72 73 20 6C 6F 6E 67 20 28 haracters long (
018BA0: 69 74 27 73 20 75 70 20 74 6F 20 79 6F 75 20 74 it's up to you t
018BB0: 6F 20 73 75 70 70 6C 79 20 70 61 64 64 69 6E 67 o supply padding
018BC0: 29 2E 20 20 41 6C 66 61 73 20 6D 61 79 20 62 65 ). Alfas may be
018BD0: 20 70 61 73 73 65 64 0D 0A 61 73 20 70 61 72 61 passed..as para
018BE0: 6D 65 74 65 72 73 2E 0D 0A 0D 0A 0D 0A 53 69 6E meters.......Sin
018BF0: 63 65 20 66 69 6C 65 73 20 61 72 65 20 6E 6F 74 ce files are not
018C00: 69 72 73 74 20 63 68 61 72 61 63 74 65 72 20 61 irst character a
018C10: 6E 64 20 74 68 65 20 6D 6F 73 74 20 73 69 67 6E nd the most sign
018C20: 69 66 69 63 61 6E 74 20 65 69 67 68 74 20 62 69 ificant eight bi
018C30: 74 73 20 77 6F 75 6C 64 0D 0A 63 6F 6E 74 61 69 ts would..contai
018C40: 6E 20 74 68 65 20 73 65 63 6F 6E 64 20 63 68 61 n the second cha
018C50: 72 61 63 74 65 72 2E 0D 0A 0D 0A 0D 0A 52 65 63 racter.......Rec
018C60: 6F 72 64 20 74 79 70 65 73 20 61 72 65 20 6E 6F ord types are no
018C70: 74 20 61 6C 6C 6F 77 65 64 2E 20 20 54 68 65 72 t allowed. Ther
018C80: 65 66 6F 72 65 2C 20 74 68 65 72 65 20 69 73 20 efore, there is
018C90: 6E 6F 20 6E 65 65 64 20 66 6F 72 20 61 20 77 69 no need for a wi
018CA0: 74 68 0D 0A 73 74 61 74 65 6D 65 6E 74 2E 0D 0A th..statement...
018CB0: 0D 0A 0D 0A 54 68 65 72 65 20 69 73 20 6E 6F 20 ....There is no
018CC0: 73 65 74 20 74 79 70 65 2E 20 20 28 48 6F 77 65 set type. (Howe
018CD0: 76 65 72 2C 20 69 74 20 73 68 6F 75 6C 64 6E 27 ver, it shouldn'
018CE0: 74 20 62 65 20 74 6F 6F 20 68 61 72 64 20 74 6F t be too hard to
018CF0: 20 69 6D 70 6C 65 6D 65 6E 74 0D 0A 61 20 36 34 implement..a 64
018D00: 2D 62 69 74 20 73 65 74 20 74 79 70 65 20 75 73 -bit set type us
018D10: 69 6E 67 20 74 68 65 20 70 2D 69 6E 73 74 72 75 ing the p-instru
018D20: 63 74 69 6F 6E 73 20 61 6C 72 65 61 64 79 20 61 ctions already a
018D30: 72 6F 75 6E 64 20 66 6F 72 20 61 6C 66 61 0D 0A round for alfa..
018D40: 76 61 72 69 61 62 6C 65 73 20 2E 20 2E 20 2E 20 variables . . .
018D50: 29 2E 0D 0A 0D 0A 0D 0A 54 68 65 72 65 20 61 72 ).......There ar
018D60: 65 20 6E 6F 20 70 6F 69 6E 74 65 72 20 74 79 70 e no pointer typ
018D70: 65 73 2C 20 61 6E 64 20 63 6F 6E 73 65 71 75 65 es, and conseque
018D80: 6E 74 6C 79 2C 20 6E 6F 20 6E 65 77 20 66 75 6E ntly, no new fun
018D90: 63 74 69 6F 6E 2E 0D 0A 0D 0A 0D 0A 54 68 65 72 ction.......Ther
018DA0: 65 20 61 72 65 20 6E 6F 20 66 69 6C 65 73 20 61 e are no files a
018DB0: 6E 64 20 6E 6F 20 72 65 61 64 20 6F 72 20 77 72 nd no read or wr
018DC0: 69 74 65 20 73 74 61 74 65 6D 65 6E 74 73 2E 20 ite statements.
018DD0: 20 41 6C 6C 20 69 6E 70 75 74 20 61 6E 64 0D 0A All input and..
018DE0: 6F 75 74 70 75 74 20 69 73 20 64 6F 6E 65 20 77 output is done w
018DF0: 69 74 68 20 74 68 65 20 70 75 74 20 61 6E 64 20 ith the put and
018E00: 20 73 75 70 70 6F 72 74 65 64 2C 20 74 68 65 20 supported, the
018E10: 70 72 6F 67 72 61 6D 20 68 65 61 64 69 6E 67 20 program heading
018E20: 69 73 20 6E 6F 74 20 6E 65 65 64 65 64 2C 20 61 is not needed, a
018E30: 6E 64 0D 0A 69 6E 20 66 61 63 74 2C 20 69 73 20 nd..in fact, is
018E40: 6E 6F 74 20 61 6C 6C 6F 77 65 64 2E 20 20 54 68 not allowed. Th
018E50: 65 20 66 69 72 73 74 20 74 68 69 6E 67 20 74 68 e first thing th
018E60: 65 20 63 6F 6D 70 69 6C 65 72 20 65 78 70 65 63 e compiler expec
018E70: 74 73 20 74 6F 20 73 65 65 0D 0A 61 72 65 20 74 ts to see..are t
018E80: 68 65 20 67 6C 6F 62 61 6C 20 63 6F 6E 73 74 61 he global consta
018E90: 6E 74 20 64 65 63 6C 61 72 61 74 69 6F 6E 73 2E nt declarations.
018EA0: 0D 0A 0D 0A 47 6F 74 6F 20 73 74 61 74 65 6D 65 ....Goto stateme
018EB0: 6E 74 73 20 61 72 65 20 6E 6F 74 20 73 75 70 70 nts are not supp
018EC0: 6F 72 74 65 64 2C 20 74 68 65 72 65 66 6F 72 65 orted, therefore
018ED0: 20 6C 61 62 65 6C 20 64 65 63 6C 61 72 61 74 69 label declarati
018EE0: 6F 6E 73 20 61 72 65 20 6E 6F 74 0D 0A 6E 65 65 ons are not..nee
018EF0: 64 65 64 20 61 6E 64 20 6E 6F 74 20 70 65 72 6D ded and not perm
018F00: 69 74 74 65 64 2E 0D 0A 0D 0A 43 6F 6E 73 74 61 itted.....Consta
018F10: 6E 74 20 64 65 63 6C 61 72 61 74 69 6F 6E 73 20 nt declarations
018F20: 61 72 65 20 70 72 65 74 74 79 20 6D 75 63 68 20 are pretty much
018F30: 74 68 65 20 73 61 6D 65 20 61 73 20 69 6E 20 72 the same as in r
018F40: 65 67 75 6C 61 72 20 50 61 73 63 61 6C 2C 0D 0A egular Pascal,..
018F50: 65 78 63 65 70 74 20 74 68 61 74 20 6C 65 61 64 except that lead
018F60: 69 6E 67 20 73 69 67 6E 73 20 61 72 65 20 6E 6F ing signs are no
018F70: 74 20 61 6C 6C 6F 77 65 64 20 61 6E 64 20 63 68 t allowed and ch
018F80: 61 72 61 63 74 65 72 20 63 6F 6E 73 74 61 6E 74 aracter constant
018F90: 73 0D 0A 63 61 6E 20 62 65 20 6F 6E 6C 79 20 6F s..can be only o
018FA0: 6E 65 20 63 68 61 72 61 63 74 65 72 20 69 6E 20 ne character in
018FB0: 6C 65 6E 67 74 68 2E 20 20 41 20 6D 69 6E 6F 72 length. A minor
018FC0: 20 65 78 74 65 6E 73 69 6F 6E 20 69 73 20 74 68 extension is th
018FD0: 61 74 20 49 20 70 75 74 0D 0A 69 6E 20 6C 69 6D at I put..in lim
018FE0: 69 74 65 64 20 63 6F 6D 70 69 6C 65 20 74 69 6D ited compile tim
018FF0: 65 20 63 6F 6E 73 74 61 6E 74 20 65 78 70 72 65 e constant expre
019000: 54 72 61 63 6B 2D 49 6E 66 6F 0D 0A 00 01 00 00 Track-Info......
019010: 15 00 00 00 02 09 4A E5 15 00 C1 02 00 00 00 02 ......J.........
019020: 15 00 C6 02 00 00 00 02 15 00 C2 02 00 00 00 02 ................
019030: 15 00 C7 02 00 00 00 02 15 00 C3 02 00 00 00 02 ................
019040: 15 00 C8 02 00 00 00 02 15 00 C4 02 00 00 00 02 ................
019050: 15 00 C9 02 00 00 00 02 15 00 C5 02 00 00 00 02 ................
019060: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
019070: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
019080: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
019090: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0190A0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0190B0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0190C0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0190D0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0190E0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0190F0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
019100: 67 65 74 20 73 74 61 74 65 6D 65 6E 74 73 2E 20 get statements.
019110: 20 54 68 65 73 65 20 61 72 65 20 6F 6E 6C 79 20 These are only
019120: 76 61 67 75 65 6C 79 0D 0A 73 69 6D 69 6C 61 72 vaguely..similar
019130: 20 74 6F 20 74 68 65 20 73 74 61 6E 64 61 72 64 to the standard
019140: 20 50 61 73 63 61 6C 20 70 75 74 20 61 6E 64 20 Pascal put and
019150: 67 65 74 2E 20 20 47 45 54 23 30 20 67 65 74 73 get. GET#0 gets
019160: 20 6F 6E 65 20 63 68 61 72 61 63 74 65 72 0D 0A one character..
019170: 66 72 6F 6D 20 74 68 65 20 69 6E 70 75 74 20 66 from the input f
019180: 69 6C 65 2E 20 20 50 55 54 23 30 20 73 65 6E 64 ile. PUT#0 send
019190: 73 20 69 74 73 20 6F 75 74 70 75 74 20 74 6F 20 s its output to
0191A0: 74 68 65 20 6F 75 74 70 75 74 20 66 69 6C 65 2E the output file.
0191B0: 20 20 50 55 54 23 31 0D 0A 73 65 6E 64 73 20 69 PUT#1..sends i
0191C0: 74 73 20 6F 75 74 70 75 74 20 75 6E 63 6F 6E 64 ts output uncond
0191D0: 69 74 69 6F 6E 61 6C 6C 79 20 74 6F 20 74 68 65 itionally to the
0191E0: 20 63 6F 6E 73 6F 6C 65 2E 20 20 54 68 65 20 61 console. The a
0191F0: 72 67 75 6D 65 6E 74 73 20 74 6F 20 74 68 65 0D rguments to the.
019200: 0A 70 75 74 20 73 74 61 74 65 6D 65 6E 74 73 20 .put statements
019210: 63 6F 6E 73 69 73 74 20 6F 66 20 61 20 73 65 72 consist of a ser
019220: 69 65 73 20 6F 66 20 65 78 70 72 65 73 73 69 6F ies of expressio
019230: 6E 73 20 73 65 70 61 72 61 74 65 64 20 62 79 20 ns separated by
019240: 63 6F 6D 6D 61 73 2E 0D 0A 49 66 20 61 6E 20 65 commas...If an e
019250: 78 70 72 65 73 73 69 6F 6E 20 65 76 61 6C 75 61 xpression evalua
019260: 74 65 73 20 74 6F 20 61 6E 20 61 6C 66 61 2C 20 tes to an alfa,
019270: 61 6C 6C 20 65 69 67 68 74 20 63 68 61 72 61 63 all eight charac
019280: 74 65 72 73 20 6F 66 20 74 68 65 20 61 6C 66 61 ters of the alfa
019290: 0D 0A 61 72 65 20 70 72 69 6E 74 65 64 2E 20 20 ..are printed.
0192A0: 49 6E 74 65 67 65 72 20 65 78 70 72 65 73 73 69 Integer expressi
0192B0: 6F 6E 73 20 66 6F 6C 6C 6F 77 65 64 20 62 79 20 ons followed by
0192C0: 61 20 70 6F 75 6E 64 20 73 69 67 6E 20 28 27 23 a pound sign ('#
0192D0: 27 29 20 77 69 6C 6C 0D 0A 70 72 69 6E 74 20 74 ') will..print t
0192E0: 68 65 20 64 65 63 69 6D 61 6C 20 76 61 6C 75 65 he decimal value
0192F0: 20 6F 66 20 74 68 65 20 65 78 70 72 65 73 73 69 of the expressi
019300: 28 2A 0D 0A 20 20 54 49 54 4C 45 09 09 50 61 73 (*.. TITLE..Pas
019310: 63 61 6C 20 50 61 73 63 61 6C 20 43 6F 6D 70 69 cal Pascal Compi
019320: 6C 65 72 20 28 70 61 73 63 61 6C 20 73 65 6C 66 ler (pascal self
019330: 20 63 6F 6D 70 69 6C 65 72 29 0D 0A 20 20 46 49 compiler).. FI
019340: 4C 45 4E 41 4D 45 09 50 50 43 2E 50 41 53 0D 0A LENAME.PPC.PAS..
019350: 20 20 41 55 54 48 4F 52 09 52 6F 62 65 72 74 20 AUTHOR.Robert
019360: 41 2E 20 56 61 6E 20 56 61 6C 7A 61 68 20 20 20 A. Van Valzah
019370: 39 2F 30 31 2F 37 39 0D 0A 20 20 4C 41 53 54 20 9/01/79.. LAST
019380: 52 45 56 49 53 4F 52 09 52 2E 20 41 2E 20 56 2E REVISOR.R. A. V.
019390: 20 20 30 31 2F 30 35 2F 38 30 0D 0A 20 20 52 45 01/05/80.. RE
0193A0: 41 53 4F 4E 09 72 65 70 61 69 72 65 64 20 62 75 ASON.repaired bu
0193B0: 67 20 69 6E 20 76 61 72 20 70 61 72 61 6D 65 74 g in var paramet
0193C0: 65 72 73 0D 0A 2A 29 0D 0A 0D 0A 28 2A 0D 0A 54 ers..*)....(*..T
0193D0: 68 69 73 20 69 73 20 61 20 73 69 6E 67 6C 65 20 his is a single
0193E0: 70 61 73 73 20 70 61 73 63 61 6C 20 73 75 62 73 pass pascal subs
0193F0: 65 74 20 63 6F 6D 70 69 6C 65 72 2E 20 20 53 6F et compiler. So
019400: 75 72 63 65 20 63 6F 64 65 0D 0A 69 73 20 72 65 urce code..is re
019410: 61 64 20 66 72 6F 6D 20 74 68 65 20 69 6E 70 75 ad from the inpu
019420: 74 20 64 65 76 69 63 65 20 61 6E 64 20 61 20 6C t device and a l
019430: 69 73 74 69 6E 67 20 69 73 20 70 72 6F 64 75 63 isting is produc
019440: 65 64 2E 0D 0A 41 20 6C 61 62 65 6C 20 61 64 64 ed...A label add
019450: 72 65 73 73 65 64 20 70 2D 63 6F 64 65 20 69 73 ressed p-code is
019460: 20 75 73 65 64 20 73 6F 20 74 68 61 74 20 66 6F used so that fo
019470: 72 77 61 72 64 20 72 65 66 65 72 65 6E 63 65 73 rward references
019480: 0D 0A 61 72 65 20 6E 6F 20 70 72 6F 62 6C 65 6D ..are no problem
019490: 2E 20 20 54 68 65 20 75 73 65 20 6F 66 20 74 68 . The use of th
0194A0: 65 73 65 73 20 6C 61 62 65 6C 73 20 72 65 6D 6F eses labels remo
0194B0: 76 65 73 20 74 68 65 20 6E 65 65 64 20 66 6F 72 ves the need for
0194C0: 0D 0A 22 62 61 63 6B 70 6C 75 67 67 69 6E 67 22 .."backplugging"
0194D0: 2C 20 61 6E 64 20 77 69 74 68 20 69 74 2C 20 74 , and with it, t
0194E0: 68 65 20 6E 65 65 64 20 74 6F 20 6B 65 65 70 20 he need to keep
0194F0: 74 68 65 20 67 65 6E 65 72 61 74 65 64 0D 0A 70 the generated..p
019500: 6F 6E 2E 20 20 49 66 20 6E 6F 20 70 6F 75 6E 64 on. If no pound
019510: 20 73 69 67 6E 20 66 6F 6C 6C 6F 77 73 0D 0A 74 sign follows..t
019520: 68 65 20 65 78 70 72 65 73 73 69 6F 6E 2C 20 74 he expression, t
019530: 68 65 20 6C 6F 77 20 65 69 67 68 74 20 62 69 74 he low eight bit
019540: 73 20 6F 66 20 74 68 65 20 65 78 70 72 65 73 73 s of the express
019550: 69 6F 6E 20 61 72 65 20 73 65 6E 74 20 61 73 20 ion are sent as
019560: 6F 6E 65 0D 0A 63 68 61 72 61 63 74 65 72 2E 20 one..character.
019570: 20 54 68 65 20 69 6E 70 75 74 20 61 6E 64 20 6F The input and o
019580: 75 74 70 75 74 20 66 69 6C 65 73 20 6D 65 6E 74 utput files ment
019590: 69 6F 6E 65 64 20 61 62 6F 76 65 20 63 61 6E 20 ioned above can
0195A0: 62 65 20 65 69 74 68 65 72 0D 0A 64 69 73 6B 20 be either..disk
0195B0: 66 69 6C 65 73 20 6F 72 20 63 6F 6E 73 6F 6C 65 files or console
0195C0: 20 69 6E 70 75 74 20 61 6E 64 20 6F 75 74 70 75 input and outpu
0195D0: 74 2E 20 20 57 68 69 63 68 20 69 73 20 75 73 65 t. Which is use
0195E0: 64 20 64 65 70 65 6E 64 73 20 6F 6E 20 77 68 61 d depends on wha
0195F0: 74 0D 0A 69 73 20 74 79 70 65 64 20 6F 6E 20 74 t..is typed on t
019600: 68 65 20 63 6F 6D 6D 61 6E 64 20 6C 69 6E 65 20 he command line
019610: 66 6F 6C 6C 6F 77 69 6E 67 20 74 68 65 20 63 6F following the co
019620: 6D 70 69 6C 65 64 20 2E 63 6F 6D 20 66 69 6C 65 mpiled .com file
019630: 20 77 68 65 6E 20 69 74 0D 0A 69 73 20 65 78 65 when it..is exe
019640: 63 75 74 65 64 2E 20 20 49 66 20 74 68 65 20 66 cuted. If the f
019650: 69 72 73 74 20 66 69 6C 65 6E 61 6D 65 20 66 6F irst filename fo
019660: 6C 6C 6F 77 69 6E 67 20 74 68 65 20 2E 63 6F 6D llowing the .com
019670: 20 66 69 6C 65 20 6E 61 6D 65 20 69 73 0D 0A 62 file name is..b
019680: 6C 61 6E 6B 20 6F 72 20 27 2A 27 2C 20 74 68 65 lank or '*', the
019690: 6E 20 69 6E 70 75 74 20 63 68 61 72 61 63 74 65 n input characte
0196A0: 72 73 20 61 72 65 20 74 61 6B 65 6E 20 66 72 6F rs are taken fro
0196B0: 6D 20 74 68 65 20 63 6F 6E 73 6F 6C 65 2E 20 20 m the console.
0196C0: 49 66 0D 0A 69 74 20 69 73 20 74 68 65 20 6E 61 If..it is the na
0196D0: 6D 65 20 6F 66 20 61 20 64 69 73 6B 20 66 69 6C me of a disk fil
0196E0: 65 2C 20 74 68 65 6E 20 69 6E 70 75 74 20 63 6F e, then input co
0196F0: 6D 65 73 20 66 72 6F 6D 20 74 68 61 74 20 64 69 mes from that di
019700: 2D 63 6F 64 65 73 20 61 72 6F 75 6E 64 20 69 6E -codes around in
019710: 20 63 6F 72 65 2E 20 20 54 68 69 73 20 63 75 74 core. This cut
019720: 73 20 64 6F 77 6E 20 6F 6E 20 6D 65 6D 6F 72 79 s down on memory
019730: 20 72 65 71 75 69 72 65 6D 65 6E 74 73 0D 0A 61 requirements..a
019740: 6E 64 20 61 6C 6C 6F 77 73 20 74 68 65 20 63 6F nd allows the co
019750: 6D 70 69 6C 65 72 20 74 6F 20 77 72 69 74 65 20 mpiler to write
019760: 74 68 65 20 70 2D 63 6F 64 65 20 74 6F 20 64 69 the p-code to di
019770: 73 6B 20 61 73 20 69 74 20 69 73 0D 0A 67 65 6E sk as it is..gen
019780: 65 72 61 74 65 64 2E 20 20 54 68 65 20 6F 76 65 erated. The ove
019790: 72 61 6C 6C 20 64 65 73 69 67 6E 20 75 73 65 73 rall design uses
0197A0: 20 72 65 63 75 72 73 69 76 65 20 64 65 73 63 65 recursive desce
0197B0: 6E 74 20 77 68 65 72 65 0D 0A 65 76 65 72 20 70 nt where..ever p
0197C0: 6F 73 73 69 62 6C 65 2E 0D 0A 0D 0A 69 6E 74 65 ossible.....inte
0197D0: 72 6E 61 6C 20 73 74 72 75 63 74 75 72 65 0D 0A rnal structure..
0197E0: 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D ================
0197F0: 3D 3D 0D 0A 54 68 65 20 63 6F 6D 70 69 6C 65 72 ==..The compiler
019800: 20 63 61 6E 20 62 65 20 62 72 6F 6B 65 6E 20 64 can be broken d
019810: 6F 77 6E 20 69 6E 74 6F 20 74 68 65 20 6D 61 6A own into the maj
019820: 6F 72 20 66 75 6E 63 74 69 6F 6E 61 6C 20 75 6E or functional un
019830: 69 74 73 0D 0A 73 68 6F 77 6E 20 69 6E 20 74 68 its..shown in th
019840: 65 20 74 61 62 6C 65 20 62 65 6C 6F 77 2E 20 20 e table below.
019850: 49 6E 20 74 68 69 73 20 63 6F 6D 70 69 6C 65 72 In this compiler
019860: 2C 20 63 6F 64 65 20 67 65 6E 65 72 61 74 69 6F , code generatio
019870: 6E 20 69 73 0D 0A 72 6F 6C 6C 65 64 20 72 69 67 n is..rolled rig
019880: 68 74 20 69 6E 20 77 69 74 68 20 74 68 65 20 70 ht in with the p
019890: 61 72 73 69 6E 67 20 72 6F 75 74 69 6E 65 73 2E arsing routines.
0198A0: 20 20 41 73 20 73 6F 6F 6E 20 61 73 20 61 20 76 As soon as a v
0198B0: 61 6C 69 64 0D 0A 63 6F 6E 73 74 72 75 63 74 20 alid..construct
0198C0: 69 73 20 72 65 63 6F 67 6E 69 7A 65 64 2C 20 63 is recognized, c
0198D0: 6F 64 65 20 66 6F 72 20 69 74 20 69 73 20 65 6D ode for it is em
0198E0: 69 74 74 65 64 2E 0D 0A 0D 0A 42 6C 6F 63 6B 20 itted.....Block
0198F0: 6E 65 73 74 69 6E 67 20 61 6E 64 20 66 75 6E 63 nesting and func
019900: 73 6B 20 66 69 6C 65 2E 0D 0A 41 20 73 69 6D 69 sk file...A simi
019910: 6C 61 72 20 72 75 6C 65 20 61 70 70 6C 69 65 73 lar rule applies
019920: 20 74 6F 20 74 68 65 20 73 65 63 6F 6E 64 20 66 to the second f
019930: 69 6C 65 6E 61 6D 65 20 66 6F 6C 6C 6F 77 69 6E ilename followin
019940: 67 20 74 68 65 20 63 6F 6D 6D 61 6E 64 0D 0A 61 g the command..a
019950: 6E 64 20 74 68 65 20 64 65 73 74 69 6E 79 20 6F nd the destiny o
019960: 66 20 74 68 65 20 6F 75 74 70 75 74 20 63 68 61 f the output cha
019970: 72 61 63 74 65 72 73 2E 0D 0A 0D 0A 0D 0A 56 61 racters.......Va
019980: 72 20 70 61 72 61 6D 65 74 65 72 73 20 61 72 65 r parameters are
019990: 20 64 69 66 66 65 72 65 6E 74 20 69 6E 20 74 68 different in th
0199A0: 61 74 20 69 66 20 6F 6E 65 20 70 61 72 61 6D 65 at if one parame
0199B0: 74 65 72 20 74 6F 20 61 20 70 72 6F 63 65 64 75 ter to a procedu
0199C0: 72 65 0D 0A 69 73 20 74 6F 20 62 65 20 76 61 72 re..is to be var
0199D0: 2C 20 74 68 65 6E 20 61 6C 6C 20 70 61 72 61 6D , then all param
0199E0: 65 74 65 72 73 20 6D 75 73 74 20 62 65 20 76 61 eters must be va
0199F0: 72 20 70 61 72 61 6D 65 74 65 72 73 2E 20 20 54 r parameters. T
019A00: 68 69 73 20 69 73 0D 0A 61 20 73 69 6C 6C 79 20 his is..a silly
019A10: 72 65 73 74 72 69 63 74 69 6F 6E 20 74 68 61 74 restriction that
019A20: 20 73 68 6F 75 6C 64 20 62 65 20 65 61 73 69 6C should be easil
019A30: 79 20 72 65 6D 6F 76 65 64 20 62 79 20 61 6E 79 y removed by any
019A40: 20 74 61 6C 65 6E 74 65 64 0D 0A 63 6F 6D 70 69 talented..compi
019A50: 6C 65 72 20 68 61 63 6B 65 72 2E 20 20 54 68 65 ler hacker. The
019A60: 72 65 20 69 73 20 61 20 61 6C 73 6F 20 61 20 73 re is a also a s
019A70: 6D 61 6C 6C 20 6B 6C 75 64 67 65 20 74 6F 20 6D mall kludge to m
019A80: 61 6B 65 20 74 68 65 20 63 6F 6D 70 69 6C 65 72 ake the compiler
019A90: 27 73 0D 0A 6A 6F 62 20 65 61 73 69 65 72 3B 20 's..job easier;
019AA0: 20 74 68 65 20 77 6F 72 64 20 76 61 72 20 6D 75 the word var mu
019AB0: 73 74 20 61 70 70 65 61 72 20 69 6E 20 74 68 65 st appear in the
019AC0: 20 63 61 6C 6C 20 74 6F 20 61 6C 6C 20 70 72 6F call to all pro
019AD0: 63 65 64 75 72 65 73 0D 0A 77 69 74 68 20 76 61 cedures..with va
019AE0: 72 20 70 61 72 61 6D 65 74 65 72 73 2C 20 61 73 r parameters, as
019AF0: 20 77 65 6C 6C 20 61 73 20 69 6E 20 74 68 65 20 well as in the
019B00: 74 69 6F 6E 20 69 73 20 73 68 6F 77 6E 20 62 65 tion is shown be
019B10: 6C 6F 77 2E 0D 0A 0D 0A 09 46 55 4E 43 54 49 4F low......FUNCTIO
019B20: 4E 09 09 52 4F 55 54 49 4E 45 20 4E 41 4D 45 0D N..ROUTINE NAME.
019B30: 0A 09 3D 3D 3D 3D 3D 3D 3D 3D 09 09 3D 3D 3D 3D ..========..====
019B40: 3D 3D 3D 3D 3D 3D 3D 3D 0D 0A 09 65 72 72 6F 72 ========...error
019B50: 20 70 72 6F 63 65 73 73 69 6E 67 09 65 72 72 6F processing.erro
019B60: 72 2C 20 74 65 73 74 0D 0A 09 73 79 6D 62 6F 6C r, test...symbol
019B70: 20 74 61 62 6C 65 20 72 6F 75 74 69 6E 65 73 09 table routines.
019B80: 65 6E 74 65 72 2C 20 70 6F 73 69 74 69 6F 6E 0D enter, position.
019B90: 0A 09 74 6F 6B 65 6E 20 73 63 61 6E 6E 65 72 09 ..token scanner.
019BA0: 09 67 65 74 73 79 6D 0D 0A 09 20 20 63 68 61 72 .getsym... char
019BB0: 20 73 63 61 6E 6E 65 72 09 09 67 65 74 63 68 2C scanner..getch,
019BC0: 20 67 65 74 6C 69 6E 65 2C 20 65 74 63 2E 0D 0A getline, etc...
019BD0: 09 73 65 6D 61 6E 74 69 63 20 72 6F 75 74 69 6E .semantic routin
019BE0: 65 73 09 62 6C 6F 63 6B 0D 0A 09 20 20 64 65 63 es.block... dec
019BF0: 6C 61 72 69 74 69 76 65 09 09 63 6F 6E 73 74 2C laritive..const,
019C00: 20 74 79 70 2C 20 76 61 72 20 64 63 6C 0D 0A 09 typ, var dcl...
019C10: 20 20 73 74 61 74 65 6D 65 6E 74 20 73 63 61 6E statement scan
019C20: 6E 65 72 09 73 74 61 74 65 6D 65 6E 74 0D 0A 09 ner.statement...
019C30: 20 20 20 20 65 78 70 72 65 73 73 69 6F 6E 20 73 expression s
019C40: 63 61 6E 6E 65 72 09 65 70 78 72 65 73 73 69 6F canner.epxressio
019C50: 6E 2C 20 73 65 78 70 2C 20 74 65 72 6D 2C 20 66 n, sexp, term, f
019C60: 61 63 74 6F 72 0D 0A 6D 61 69 6E 20 6C 69 6E 65 actor..main line
019C70: 0D 0A 2A 29 0D 0A 0D 0A 63 6F 6E 73 74 0D 0A 09 ..*)....const...
019C80: 76 68 75 09 3D 20 30 3B 09 28 2A 20 76 65 72 73 vhu.= 0;.(* vers
019C90: 69 6F 6E 20 6E 75 6D 62 65 72 20 68 75 6E 64 72 ion number hundr
019CA0: 65 64 73 20 2A 29 0D 0A 09 76 74 6E 09 3D 20 30 eds *)...vtn.= 0
019CB0: 3B 09 28 2A 20 74 65 6E 73 20 2A 29 0D 0A 09 76 ;.(* tens *)...v
019CC0: 75 6E 09 3D 20 38 3B 09 28 2A 20 75 6E 69 74 73 un.= 8;.(* units
019CD0: 20 2A 29 0D 0A 09 64 65 76 72 65 6C 09 3D 20 27 *)...devrel.= '
019CE0: 72 27 3B 09 28 2A 20 64 65 76 65 6C 6F 70 6D 65 r';.(* developme
019CF0: 6E 74 20 6F 72 20 72 65 6C 65 61 73 65 20 76 65 nt or release ve
019D00: 64 65 63 6C 61 72 61 74 69 6F 6E 2E 20 20 54 68 declaration. Th
019D10: 69 73 20 69 73 20 76 65 72 79 0D 0A 65 61 73 79 is is very..easy
019D20: 20 74 6F 20 66 6F 72 67 65 74 20 61 6E 20 61 20 to forget an a
019D30: 72 65 61 6C 20 6E 75 69 73 61 6E 63 65 20 61 74 real nuisance at
019D40: 20 74 69 6D 65 73 2E 20 20 53 6F 6D 65 62 6F 64 times. Somebod
019D50: 79 20 70 6C 65 61 73 65 20 66 69 78 2E 0D 0A 0D y please fix....
019D60: 0A 0D 0A 49 74 20 69 73 20 70 6F 73 73 69 62 6C ...It is possibl
019D70: 65 20 74 6F 20 66 6F 72 77 61 72 64 20 64 65 63 e to forward dec
019D80: 6C 61 72 65 20 70 72 6F 63 65 64 75 72 65 73 20 lare procedures
019D90: 61 6E 20 66 75 6E 63 74 69 6F 6E 73 2C 20 62 75 an functions, bu
019DA0: 74 20 61 73 0D 0A 77 69 74 68 20 76 61 72 20 70 t as..with var p
019DB0: 61 72 61 6D 65 74 65 72 73 2C 20 74 68 65 72 65 arameters, there
019DC0: 20 69 73 20 61 20 6D 69 6E 6F 72 20 73 79 6E 74 is a minor synt
019DD0: 61 63 74 69 63 20 6B 6C 75 64 67 65 20 74 6F 20 actic kludge to
019DE0: 6D 61 6B 65 20 74 68 65 0D 0A 63 6F 6D 70 69 6C make the..compil
019DF0: 65 72 27 73 20 6C 69 66 65 20 65 61 73 69 65 72 er's life easier
019E00: 2E 20 20 54 68 65 20 66 6F 72 77 61 72 64 20 70 . The forward p
019E10: 61 72 74 20 69 73 20 68 61 6E 64 6C 65 64 20 69 art is handled i
019E20: 6E 20 74 68 65 20 6E 6F 72 6D 61 6C 0D 0A 77 61 n the normal..wa
019E30: 79 20 65 78 63 65 70 74 20 74 68 61 74 20 79 6F y except that yo
019E40: 75 20 44 2D 4F 2D 4E 2D 27 2D 54 20 67 69 76 65 u D-O-N-'-T give
019E50: 20 74 68 65 20 70 61 72 61 6D 65 74 65 72 20 6C the parameter l
019E60: 69 73 74 20 28 74 68 65 20 63 6F 6D 70 69 6C 65 ist (the compile
019E70: 72 0D 0A 6E 65 76 65 72 20 63 68 65 63 6B 73 20 r..never checks
019E80: 70 72 6F 63 65 64 75 72 65 20 63 61 6C 6C 73 20 procedure calls
019E90: 61 67 61 69 6E 73 74 20 74 68 65 69 72 20 64 65 against their de
019EA0: 63 6C 61 72 61 74 69 6F 6E 73 20 61 6E 79 77 61 clarations anywa
019EB0: 79 21 29 2E 0D 0A 57 68 65 6E 20 79 6F 75 20 61 y!)...When you a
019EC0: 63 74 75 61 6C 6C 79 20 77 61 6E 74 20 74 6F 20 ctually want to
019ED0: 64 65 63 6C 61 72 65 20 74 68 65 20 70 72 6F 63 declare the proc
019EE0: 65 64 75 72 65 2C 20 75 73 65 20 74 68 65 20 66 edure, use the f
019EF0: 6F 72 6D 0D 0A 0D 0A 09 70 72 6F 63 65 64 75 72 orm.....procedur
019F00: 72 73 69 6F 6E 20 2A 29 0D 0A 09 6E 6F 72 77 09 rsion *)...norw.
019F10: 3D 20 32 39 3B 09 28 2A 20 6E 75 6D 62 65 72 20 = 29;.(* number
019F20: 6F 66 20 72 65 73 65 72 76 65 64 20 77 6F 72 64 of reserved word
019F30: 73 20 2A 29 0D 0A 09 61 6C 09 3D 20 38 3B 09 28 s *)...al.= 8;.(
019F40: 2A 20 6C 65 6E 67 74 68 20 6F 66 20 69 64 65 6E * length of iden
019F50: 74 69 66 69 65 72 73 20 2A 29 0D 0A 09 61 6C 6D tifiers *)...alm
019F60: 31 09 3D 20 37 3B 09 28 2A 20 6C 65 6E 67 74 68 1.= 7;.(* length
019F70: 20 6F 66 20 69 64 20 6D 69 6E 75 73 20 31 20 2A of id minus 1 *
019F80: 29 0D 0A 09 6C 6C 65 6E 09 3D 20 38 30 3B 09 28 )...llen.= 80;.(
019F90: 2A 20 6D 61 78 20 69 6E 70 75 74 20 6C 69 6E 65 * max input line
019FA0: 20 6C 65 6E 67 74 68 20 2A 29 0D 0A 09 73 79 6D length *)...sym
019FB0: 61 78 09 3D 20 33 30 30 3B 09 28 2A 20 6D 61 78 ax.= 300;.(* max
019FC0: 20 6E 75 6D 62 65 72 20 6F 66 20 73 79 6D 62 6F number of symbo
019FD0: 6C 20 74 61 62 6C 65 20 65 6E 74 72 79 73 20 2A l table entrys *
019FE0: 29 0D 0A 09 6F 72 64 6D 69 6E 63 68 61 72 20 3D )...ordminchar =
019FF0: 20 30 3B 09 28 2A 20 6D 69 6E 69 6D 75 6D 20 6C 0;.(* minimum l
01A000: 65 67 61 6C 20 63 68 61 72 20 6F 72 64 20 76 61 egal char ord va
01A010: 6C 75 65 20 2A 29 0D 0A 09 6F 72 64 6D 61 78 63 lue *)...ordmaxc
01A020: 68 61 72 20 3D 20 31 32 37 3B 20 28 2A 20 6D 61 har = 127; (* ma
01A030: 78 69 6D 75 6D 20 6C 65 67 61 6C 20 63 68 61 72 ximum legal char
01A040: 20 6F 72 64 20 76 61 6C 75 65 20 2A 29 0D 0A 09 ord value *)...
01A050: 69 6E 74 73 69 7A 65 09 3D 20 32 3B 09 28 2A 20 intsize.= 2;.(*
01A060: 73 69 7A 65 20 6F 66 20 69 6E 74 65 67 65 72 20 size of integer
01A070: 69 6E 20 73 74 61 63 6B 20 75 6E 69 74 73 20 2A in stack units *
01A080: 29 0D 0A 09 63 68 61 72 73 69 7A 65 20 3D 20 31 )...charsize = 1
01A090: 3B 09 28 2A 20 73 69 7A 65 20 6F 66 20 63 68 61 ;.(* size of cha
01A0A0: 72 61 63 74 65 72 20 2A 29 0D 0A 09 62 6F 6F 6C racter *)...bool
01A0B0: 73 69 7A 65 20 3D 20 32 3B 09 28 2A 20 73 69 7A size = 2;.(* siz
01A0C0: 65 20 6F 66 20 62 6F 6F 6C 65 61 6E 20 2A 29 0D e of boolean *).
01A0D0: 0A 09 61 6C 66 61 73 69 7A 65 20 3D 20 38 3B 09 ..alfasize = 8;.
01A0E0: 28 2A 20 73 69 7A 65 20 6F 66 20 61 6C 66 61 20 (* size of alfa
01A0F0: 2A 29 0D 0A 09 74 72 75 65 09 3D 20 31 3B 09 28 *)...true.= 1;.(
01A100: 65 20 66 6F 6F 28 3C 72 65 61 6C 20 70 61 72 61 e foo(<real para
01A110: 6D 65 74 65 72 20 6C 69 73 74 3E 29 3B 20 62 61 meter list>); ba
01A120: 63 6B 77 61 72 64 3B 0D 0A 0D 0A 54 68 69 73 20 ckward;....This
01A130: 67 69 76 65 73 20 74 68 65 20 63 6F 6D 70 69 6C gives the compil
01A140: 65 72 20 61 20 68 69 6E 74 20 69 74 20 63 61 6E er a hint it can
01A150: 27 74 20 6D 69 73 73 20 74 68 61 74 20 74 68 69 't miss that thi
01A160: 73 20 70 72 6F 63 65 64 75 72 65 0D 0A 77 61 73 s procedure..was
01A170: 20 66 6F 72 77 61 72 64 20 64 65 63 6C 61 72 65 forward declare
01A180: 64 20 65 61 72 6C 69 65 72 21 0D 0A 1A 1A 1A 1A d earlier!......
01A190: 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A ................
01A1A0: 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A ................
01A1B0: 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A ................
01A1C0: 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A ................
01A1D0: 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A ................
01A1E0: 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A ................
01A1F0: 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A ................
01A200: 2E 20 20 54 68 65 20 66 6F 72 77 61 72 64 20 70 . The forward p
01A210: 61 72 74 20 69 73 20 68 61 6E 64 6C 65 64 20 69 art is handled i
01A220: 6E 20 74 68 65 20 6E 6F 72 6D 61 6C 0D 0A 77 61 n the normal..wa
01A230: 79 20 65 78 63 65 70 74 20 74 68 61 74 20 79 6F y except that yo
01A240: 75 20 44 2D 4F 2D 4E 2D 27 2D 54 20 67 69 76 65 u D-O-N-'-T give
01A250: 20 74 68 65 20 70 61 72 61 6D 65 74 65 72 20 6C the parameter l
01A260: 69 73 74 20 28 74 68 65 20 63 6F 6D 70 69 6C 65 ist (the compile
01A270: 72 0D 0A 6E 65 76 65 72 20 63 68 65 63 6B 73 20 r..never checks
01A280: 70 72 6F 63 65 64 75 72 65 20 63 61 6C 6C 73 20 procedure calls
01A290: 61 67 61 69 6E 73 74 20 74 68 65 69 72 20 64 65 against their de
01A2A0: 63 6C 61 72 61 74 69 6F 6E 73 20 61 6E 79 77 61 clarations anywa
01A2B0: 79 21 29 2E 0D 0A 57 68 65 6E 20 79 6F 75 20 61 y!)...When you a
01A2C0: 63 74 75 61 6C 6C 79 20 77 61 6E 74 20 74 6F 20 ctually want to
01A2D0: 64 65 63 6C 61 72 65 20 74 68 65 20 70 72 6F 63 declare the proc
01A2E0: 65 64 75 72 65 2C 20 75 73 65 20 74 68 65 20 66 edure, use the f
01A2F0: 6F 72 6D 0D 0A 0D 0A 09 70 72 6F 63 65 64 75 72 orm.....procedur
01A300: 54 72 61 63 6B 2D 49 6E 66 6F 0D 0A 00 01 00 00 Track-Info......
01A310: 16 00 00 00 02 09 4B E5 16 00 C1 02 00 00 00 02 ......K.........
01A320: 16 00 C6 02 00 00 00 02 16 00 C2 02 00 00 00 02 ................
01A330: 16 00 C7 02 00 00 00 02 16 00 C3 02 00 00 00 02 ................
01A340: 16 00 C8 02 00 00 00 02 16 00 C4 02 00 00 00 02 ................
01A350: 16 00 C9 02 00 00 00 02 16 00 C5 02 00 00 00 02 ................
01A360: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
01A370: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
01A380: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
01A390: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
01A3A0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
01A3B0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
01A3C0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
01A3D0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
01A3E0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
01A3F0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
01A400: 2A 20 6B 6C 75 64 67 65 20 75 6E 74 69 6C 20 69 * kludge until i
01A410: 6D 70 6C 65 6D 65 6E 74 65 64 20 69 6E 20 63 6F mplemented in co
01A420: 6D 70 69 6C 65 72 20 2A 29 0D 0A 09 66 61 6C 73 mpiler *)...fals
01A430: 65 09 3D 20 30 3B 0D 0A 0D 0A 74 79 70 65 09 73 e.= 0;....type.s
01A440: 79 6D 62 6F 6C 09 3D 20 28 09 28 2A 20 73 79 6D ymbol.= (.(* sym
01A450: 62 6F 6C 20 74 6F 6B 65 6E 73 20 2A 29 0D 0A 09 bol tokens *)...
01A460: 09 6E 75 6C 2C 20 69 64 65 6E 74 2C 20 6E 75 6D .nul, ident, num
01A470: 62 65 72 2C 20 63 68 61 72 63 6F 6E 2C 0D 0A 09 ber, charcon,...
01A480: 09 70 6C 75 73 2C 20 6D 69 6E 75 73 2C 20 74 69 .plus, minus, ti
01A490: 6D 65 73 2C 0D 0A 09 09 73 6C 61 73 68 2C 20 65 mes,....slash, e
01A4A0: 71 6C 2C 20 6C 73 73 2C 20 67 74 72 2C 20 6C 70 ql, lss, gtr, lp
01A4B0: 61 72 65 6E 2C 20 72 70 61 72 65 6E 2C 0D 0A 09 aren, rparen,...
01A4C0: 09 63 6F 6D 6D 61 2C 20 73 65 6D 69 63 6F 6C 6F .comma, semicolo
01A4D0: 6E 2C 20 70 65 72 69 6F 64 2C 20 6C 62 72 61 63 n, period, lbrac
01A4E0: 6B 2C 20 72 62 72 61 63 6B 2C 0D 0A 09 09 63 6F k, rbrack,....co
01A4F0: 6C 6F 6E 2C 20 70 6F 75 6E 64 2C 0D 0A 09 09 61 lon, pound,....a
01A500: 6E 64 73 79 6D 2C 20 61 72 72 61 79 73 79 6D 2C ndsym, arraysym,
01A510: 0D 0A 09 09 62 65 67 69 6E 73 79 6D 2C 20 63 61 ....beginsym, ca
01A520: 73 65 73 79 6D 2C 20 63 6F 6E 73 74 73 79 6D 2C sesym, constsym,
01A530: 0D 0A 09 09 64 69 76 73 79 6D 2C 20 64 6F 73 79 ....divsym, dosy
01A540: 6D 2C 20 64 6F 77 6E 74 6F 73 79 6D 2C 20 65 6C m, downtosym, el
01A550: 73 65 73 79 6D 2C 0D 0A 09 09 65 6E 64 73 79 6D sesym,....endsym
01A560: 2C 20 66 6F 72 73 79 6D 2C 20 66 75 6E 63 73 79 , forsym, funcsy
01A570: 6D 2C 20 67 65 74 73 79 2C 0D 0A 09 09 69 66 73 m, getsy,....ifs
01A580: 79 6D 2C 20 6D 6F 64 73 79 6D 2C 20 6E 6F 74 73 ym, modsym, nots
01A590: 79 6D 2C 20 6F 66 73 79 6D 2C 0D 0A 09 09 6F 72 ym, ofsym,....or
01A5A0: 73 79 6D 2C 20 70 72 6F 63 73 79 6D 2C 20 70 72 sym, procsym, pr
01A5B0: 6F 67 73 79 6D 2C 20 70 75 74 73 79 6D 2C 20 72 ogsym, putsym, r
01A5C0: 65 63 6F 72 64 73 79 6D 2C 0D 0A 09 09 72 65 70 ecordsym,....rep
01A5D0: 65 61 74 73 79 6D 2C 20 74 68 65 6E 73 79 6D 2C eatsym, thensym,
01A5E0: 20 74 6F 73 79 6D 2C 20 74 79 70 65 73 79 6D 2C tosym, typesym,
01A5F0: 0D 0A 09 09 75 6E 74 69 6C 73 79 6D 2C 20 76 61 ....untilsym, va
01A600: 6E 64 65 78 20 6F 66 20 73 79 6D 62 6F 6C 20 74 ndex of symbol t
01A610: 61 62 6C 65 20 65 6E 74 72 79 20 66 6F 72 0D 0A able entry for..
01A620: 09 20 20 64 65 63 6C 61 72 65 64 20 74 79 70 65 . declared type
01A630: 20 6F 66 20 61 72 72 61 79 2E 20 20 74 68 69 73 of array. this
01A640: 20 69 73 20 61 20 6B 6C 75 64 67 65 20 74 6F 20 is a kludge to
01A650: 73 61 76 65 0D 0A 09 20 20 73 79 6D 62 6F 6C 20 save... symbol
01A660: 74 61 62 6C 65 20 73 70 61 63 65 2E 0D 0A 09 2A table space....*
01A670: 29 0D 0A 0D 0A 09 28 2A 20 67 6C 6F 62 61 6C 20 ).....(* global
01A680: 73 63 61 6E 6E 65 72 20 72 65 73 75 6C 74 20 76 scanner result v
01A690: 61 72 69 61 62 6C 65 73 20 2A 29 0D 0A 09 63 63 ariables *)...cc
01A6A0: 6C 65 6E 09 3A 20 77 6F 72 64 3B 09 09 28 2A 20 len.: word;..(*
01A6B0: 6C 65 6E 67 74 68 20 6F 66 20 6C 61 73 74 20 63 length of last c
01A6C0: 68 61 72 61 63 74 65 72 0D 0A 09 09 09 09 20 20 haracter......
01A6D0: 20 63 6F 6E 73 74 61 6E 74 20 2A 29 0D 0A 09 63 constant *)...c
01A6E0: 68 09 3A 20 77 6F 72 64 3B 09 09 28 2A 20 6C 61 h.: word;..(* la
01A6F0: 73 74 20 63 68 61 72 61 63 74 65 72 20 72 65 61 st character rea
01A700: 64 20 2A 29 0D 0A 09 73 79 6D 09 3A 20 73 79 6D d *)...sym.: sym
01A710: 62 6F 6C 3B 09 28 2A 20 6C 61 73 74 20 73 79 6D bol;.(* last sym
01A720: 62 6F 6C 20 72 65 61 64 20 2A 29 0D 0A 09 6E 75 bol read *)...nu
01A730: 6D 09 3A 20 77 6F 72 64 3B 09 09 28 2A 20 6C 61 m.: word;..(* la
01A740: 73 74 20 6E 75 6D 62 65 72 20 72 65 61 64 20 2A st number read *
01A750: 29 0D 0A 09 69 64 09 3A 20 61 6C 66 61 3B 09 09 )...id.: alfa;..
01A760: 28 2A 20 6C 61 73 74 20 69 64 65 6E 74 69 66 69 (* last identifi
01A770: 65 72 20 72 65 61 64 20 2A 29 0D 0A 0D 0A 09 28 er read *).....(
01A780: 2A 20 74 65 6D 70 20 75 73 65 64 20 69 6E 20 67 * temp used in g
01A790: 65 74 73 79 6D 20 2A 29 0D 0A 09 61 77 09 3A 20 etsym *)...aw.:
01A7A0: 61 6C 61 74 79 70 3B 0D 0A 0D 0A 09 28 2A 20 67 alatyp;.....(* g
01A7B0: 6C 6F 62 61 6C 20 70 6F 69 6E 74 65 72 73 20 2A lobal pointers *
01A7C0: 29 0D 0A 09 74 78 09 3A 20 77 6F 72 64 3B 09 09 )...tx.: word;..
01A7D0: 28 2A 20 69 6E 64 65 78 20 6F 66 20 6C 61 73 74 (* index of last
01A7E0: 20 73 74 20 65 6E 74 72 79 20 2A 29 0D 0A 09 6E st entry *)...n
01A7F0: 6C 09 3A 20 77 6F 72 64 3B 09 09 28 2A 20 6C 61 l.: word;..(* la
01A800: 72 73 79 6D 2C 20 77 68 69 6C 65 73 79 6D 0D 0A rsym, whilesym..
01A810: 09 09 29 3B 0D 0A 09 6F 62 6A 65 63 74 09 3D 20 ..);...object.=
01A820: 28 20 28 2A 20 74 79 70 65 73 20 6F 66 20 73 79 ( (* types of sy
01A830: 6D 62 6F 6C 20 74 61 62 6C 65 20 65 6E 74 72 79 mbol table entry
01A840: 73 20 2A 29 0D 0A 09 09 6E 6F 74 79 70 65 2C 20 s *)....notype,
01A850: 63 6F 6E 73 74 61 6E 74 2C 20 70 72 6F 7A 65 64 constant, prozed
01A860: 75 72 65 2C 20 66 75 6E 6B 74 69 6F 6E 2C 0D 0A ure, funktion,..
01A870: 09 09 73 69 6D 70 76 61 72 2C 20 61 72 72 61 79 ..simpvar, array
01A880: 76 61 72 2C 20 74 69 70 65 2C 20 73 69 6D 70 74 var, tipe, simpt
01A890: 79 70 65 2C 20 76 61 72 70 61 72 6D 0D 0A 09 09 ype, varparm....
01A8A0: 29 3B 0D 0A 09 70 6F 70 73 09 3D 20 28 20 28 2A );...pops.= ( (*
01A8B0: 20 70 2D 6F 70 20 63 6F 64 65 73 20 2A 29 0D 0A p-op codes *)..
01A8C0: 09 09 63 61 6C 2C 20 6A 70 63 2C 20 6A 6D 70 2C ..cal, jpc, jmp,
01A8D0: 20 6C 69 74 2C 20 6F 70 72 2C 20 6C 6F 64 2C 20 lit, opr, lod,
01A8E0: 73 74 6F 2C 20 69 6E 74 2C 0D 0A 09 09 63 73 70 sto, int,....csp
01A8F0: 2C 20 6C 6F 64 78 2C 20 73 74 6F 78 2C 20 61 6C , lodx, stox, al
01A900: 69 74 2C 20 61 6C 6F 64 2C 20 61 73 74 6F 2C 0D it, alod, asto,.
01A910: 0A 09 09 61 6C 6F 64 78 2C 20 61 73 74 6F 78 2C ...alodx, astox,
01A920: 20 70 73 68 66 2C 20 63 6C 6F 64 2C 20 63 73 74 pshf, clod, cst
01A930: 6F 2C 0D 0A 09 09 63 6C 6F 64 78 2C 20 63 73 74 o,....clodx, cst
01A940: 6F 78 2C 20 68 61 6C 74 2C 20 6C 61 62 2C 0D 0A ox, halt, lab,..
01A950: 09 09 70 65 6F 66 2C 20 28 2A 20 65 6E 64 20 6F ..peof, (* end o
01A960: 66 20 70 2D 63 6F 64 65 20 66 69 6C 65 20 2A 29 f p-code file *)
01A970: 0D 0A 09 09 6C 61 61 2C 20 6C 6F 64 69 2C 20 73 ....laa, lodi, s
01A980: 74 6F 69 2C 20 63 6C 6F 64 69 2C 20 63 73 74 6F toi, clodi, csto
01A990: 69 2C 20 61 6C 6F 64 69 2C 20 61 73 74 6F 69 2C i, alodi, astoi,
01A9A0: 0D 0A 09 09 69 6E 64 78 2C 20 61 69 6E 64 78 2C ....indx, aindx,
01A9B0: 20 63 69 6E 64 78 0D 0A 09 09 29 3B 0D 0A 09 65 cindx....);...e
01A9C0: 78 70 74 79 70 09 3D 20 28 20 28 2A 20 70 6F 73 xptyp.= ( (* pos
01A9D0: 73 69 62 6C 65 20 65 78 70 72 65 73 73 69 6F 6E sible expression
01A9E0: 20 74 79 70 65 73 20 2A 29 0D 0A 09 09 77 75 72 types *)....wur
01A9F0: 64 2C 20 61 6C 70 68 61 2C 20 63 68 61 72 73 2C d, alpha, chars,
01AA00: 73 74 20 61 73 73 69 67 6E 65 64 20 6C 61 62 65 st assigned labe
01AA10: 6C 20 6E 75 6D 62 65 72 20 2A 29 0D 0A 0D 0A 09 l number *).....
01AA20: 65 72 72 66 6C 61 67 09 3A 20 77 6F 72 64 3B 09 errflag.: word;.
01AA30: 09 28 2A 20 65 72 72 6F 72 20 6F 63 63 75 72 65 .(* error occure
01AA40: 64 20 69 6E 20 6C 61 73 74 20 6C 69 6E 65 20 2A d in last line *
01AA50: 29 0D 0A 09 6C 69 73 74 69 6E 67 09 3A 20 77 6F )...listing.: wo
01AA60: 72 64 3B 09 09 28 2A 20 31 33 20 69 66 20 6E 6F rd;..(* 13 if no
01AA70: 20 6C 69 73 74 69 6E 67 20 77 61 6E 74 65 64 20 listing wanted
01AA80: 2A 29 0D 0A 0D 0A 09 65 72 65 73 74 79 70 09 3A *).....erestyp.:
01AA90: 20 65 78 70 74 79 70 3B 09 28 2A 20 72 65 73 75 exptyp;.(* resu
01AAA0: 6C 74 20 74 79 70 65 20 6F 66 20 65 78 70 72 65 lt type of expre
01AAB0: 73 73 69 6F 6E 20 2A 29 0D 0A 0D 0A 09 28 2A 20 ssion *).....(*
01AAC0: 67 6C 6F 62 61 6C 20 76 61 72 69 61 62 6C 65 73 global variables
01AAD0: 20 66 6F 72 20 70 72 6F 63 65 64 75 72 65 20 67 for procedure g
01AAE0: 65 74 73 79 6D 20 66 6F 72 20 73 70 65 65 64 20 etsym for speed
01AAF0: 2A 29 0D 0A 09 67 73 69 2C 20 67 73 6B 2C 20 67 *)...gsi, gsk, g
01AB00: 73 6A 09 3A 20 77 6F 72 64 3B 0D 0A 0D 0A 09 28 sj.: word;.....(
01AB10: 2A 20 67 6C 6F 62 61 6C 20 76 61 72 69 61 62 6C * global variabl
01AB20: 65 73 20 66 6F 72 20 66 75 6E 63 74 69 6F 6E 20 es for function
01AB30: 70 6F 73 69 74 69 6F 6E 20 66 6F 72 20 73 70 65 position for spe
01AB40: 65 64 20 2A 29 0D 0A 09 70 6F 73 69 09 3A 20 77 ed *)...posi.: w
01AB50: 6F 72 64 3B 0D 0A 0D 0A 70 72 6F 63 65 64 75 72 ord;....procedur
01AB60: 65 20 65 72 72 6F 72 28 6E 3A 20 77 6F 72 64 29 e error(n: word)
01AB70: 3B 20 28 2A 20 70 61 72 61 6D 65 74 65 72 20 69 ; (* parameter i
01AB80: 73 20 65 72 72 6F 72 20 6E 75 6D 62 65 72 20 2A s error number *
01AB90: 29 0D 0A 0D 0A 09 62 65 67 69 6E 0D 0A 09 65 72 ).....begin...er
01ABA0: 72 66 6C 61 67 3A 3D 74 72 75 65 3B 0D 0A 09 70 rflag:=true;...p
01ABB0: 75 74 23 31 28 27 3E 27 2C 27 3E 27 2C 6E 23 2C ut#1('>','>',n#,
01ABC0: 37 2C 27 3C 27 2C 27 3C 27 29 0D 0A 09 65 6E 64 7,'<','<')...end
01ABD0: 3B 0D 0A 0D 0A 28 2A 20 73 63 61 6E 20 6E 65 78 ;....(* scan nex
01ABE0: 74 20 74 6F 6B 65 6E 20 66 72 6F 6D 20 69 6E 70 t token from inp
01ABF0: 75 74 20 73 74 72 65 61 6D 2E 20 20 73 65 74 20 ut stream. set
01AC00: 20 64 6F 6E 74 63 61 72 65 0D 0A 09 09 29 3B 0D dontcare....);.
01AC10: 0A 0D 0A 09 28 2A 20 64 65 66 69 6E 65 20 61 6C ....(* define al
01AC20: 6C 20 61 72 72 61 79 20 74 79 70 65 73 20 6E 65 l array types ne
01AC30: 65 64 65 64 0D 0A 09 74 68 69 73 20 69 73 20 61 eded...this is a
01AC40: 20 74 65 6D 70 6F 72 61 72 79 20 6B 6C 75 64 67 temporary kludg
01AC50: 65 20 75 6E 74 69 6C 20 74 68 65 20 63 6F 6D 70 e until the comp
01AC60: 69 6C 65 72 0D 0A 09 77 69 6C 6C 20 61 63 63 65 iler...will acce
01AC70: 70 74 20 61 72 72 61 79 73 20 69 6E 20 76 61 72 pt arrays in var
01AC80: 20 64 65 63 6C 61 72 61 74 69 6F 6E 73 0D 0A 09 declarations...
01AC90: 2A 29 0D 0A 0D 0A 09 72 77 77 74 79 70 09 3D 20 *).....rwwtyp.=
01ACA0: 61 72 72 61 79 5B 30 2E 2E 6E 6F 72 77 5D 20 20 array[0..norw]
01ACB0: 20 6F 66 20 77 6F 72 64 3B 0D 0A 09 72 77 61 74 of word;...rwat
01ACC0: 79 70 09 3D 20 61 72 72 61 79 5B 30 2E 2E 6E 6F yp.= array[0..no
01ACD0: 72 77 5D 20 20 20 6F 66 20 61 6C 66 61 3B 0D 0A rw] of alfa;..
01ACE0: 09 61 6C 61 74 79 70 09 3D 20 61 72 72 61 79 5B .alatyp.= array[
01ACF0: 30 2E 2E 61 6C 6D 31 5D 20 20 20 20 6F 66 20 77 0..alm1] of w
01AD00: 6F 72 64 3B 0D 0A 09 63 68 61 74 79 70 09 3D 20 ord;...chatyp.=
01AD10: 61 72 72 61 79 5B 6F 72 64 6D 69 6E 63 68 61 72 array[ordminchar
01AD20: 2E 2E 6F 72 64 6D 61 78 63 68 61 72 5D 20 6F 66 ..ordmaxchar] of
01AD30: 20 77 6F 72 64 3B 0D 0A 09 6C 69 6E 65 74 79 70 word;...linetyp
01AD40: 09 3D 20 61 72 72 61 79 5B 30 2E 2E 6C 6C 65 6E .= array[0..llen
01AD50: 5D 20 20 20 6F 66 20 77 6F 72 64 3B 0D 0A 09 73 ] of word;...s
01AD60: 74 61 74 79 70 09 3D 20 61 72 72 61 79 5B 30 2E tatyp.= array[0.
01AD70: 2E 73 79 6D 61 78 5D 20 20 6F 66 20 61 6C 66 61 .symax] of alfa
01AD80: 3B 0D 0A 09 73 74 77 74 79 70 09 3D 20 61 72 72 ;...stwtyp.= arr
01AD90: 61 79 5B 30 2E 2E 73 79 6D 61 78 5D 20 20 6F 66 ay[0..symax] of
01ADA0: 20 77 6F 72 64 3B 0D 0A 09 0D 0A 76 61 72 0D 0A word;.....var..
01ADB0: 09 28 2A 20 69 6E 64 65 78 65 64 20 62 79 20 72 .(* indexed by r
01ADC0: 65 73 65 72 76 65 64 20 77 6F 72 64 20 6E 75 6D eserved word num
01ADD0: 62 65 72 20 2A 29 0D 0A 09 77 73 79 6D 09 3A 20 ber *)...wsym.:
01ADE0: 72 77 77 74 79 70 3B 09 28 2A 20 67 69 76 65 73 rwwtyp;.(* gives
01ADF0: 20 74 6F 6B 65 6E 20 6F 66 20 74 79 70 65 20 73 token of type s
01AE00: 67 6C 6F 62 61 6C 20 76 61 72 69 61 62 6C 65 73 global variables
01AE10: 0D 0A 62 61 73 65 64 20 6F 6E 20 72 65 73 75 6C ..based on resul
01AE20: 74 20 6F 66 20 73 63 61 6E 2E 0D 0A 74 6F 6B 65 t of scan...toke
01AE30: 6E 20 73 63 61 6E 65 64 0D 0A 3D 3D 3D 3D 3D 3D n scaned..======
01AE40: 3D 3D 3D 3D 3D 3D 0D 0A 69 64 65 6E 74 69 66 69 ======..identifi
01AE50: 65 72 09 73 79 6D 3D 69 64 65 6E 74 2C 20 69 64 er.sym=ident, id
01AE60: 3D 3C 76 61 6C 75 65 20 6F 66 20 69 64 65 6E 74 =<value of ident
01AE70: 69 66 69 65 72 3E 0D 0A 6E 75 6D 62 65 72 09 09 ifier>..number..
01AE80: 73 79 6D 3D 6E 75 6D 62 65 72 2C 20 6E 75 6D 3D sym=number, num=
01AE90: 3C 76 61 6C 75 65 20 6F 66 20 6E 75 6D 62 65 72 <value of number
01AEA0: 3E 0D 0A 63 68 61 72 61 63 74 65 72 20 63 6F 6E >..character con
01AEB0: 73 74 09 73 79 6D 3D 63 68 61 72 63 6F 6E 2C 20 st.sym=charcon,
01AEC0: 63 63 6C 65 6E 3D 3C 6C 65 6E 67 74 68 20 6F 66 cclen=<length of
01AED0: 20 63 6F 6E 73 74 61 6E 74 3E 2C 0D 0A 09 09 63 constant>,....c
01AEE0: 63 6F 6E 3D 3C 63 68 61 72 61 63 74 65 72 73 20 con=<characters
01AEF0: 6F 66 20 63 6F 6E 73 74 61 6E 74 3E 0D 0A 73 70 of constant>..sp
01AF00: 65 63 69 61 6C 20 73 79 6D 62 6F 6C 09 73 79 6D ecial symbol.sym
01AF10: 3D 3C 74 6F 6B 65 6E 20 66 6F 72 20 73 70 65 63 =<token for spec
01AF20: 69 61 6C 20 73 79 6D 62 6F 6C 3E 0D 0A 72 65 73 ial symbol>..res
01AF30: 72 65 76 65 64 20 77 6F 72 64 09 73 79 6D 3D 3C reved word.sym=<
01AF40: 74 6F 6B 65 6E 20 66 6F 72 20 72 65 73 65 72 76 token for reserv
01AF50: 65 64 20 77 6F 72 64 3E 0D 0A 2A 29 0D 0A 0D 0A ed word>..*)....
01AF60: 70 72 6F 63 65 64 75 72 65 20 67 65 74 73 79 6D procedure getsym
01AF70: 3B 0D 0A 09 0D 0A 09 28 2A 20 73 65 65 20 67 6C ;......(* see gl
01AF80: 6F 62 61 6C 20 76 61 72 69 61 62 6C 65 73 20 66 obal variables f
01AF90: 6F 72 20 6C 6F 63 61 6C 20 76 61 72 20 64 65 63 or local var dec
01AFA0: 6C 61 72 61 74 69 6F 6E 20 2A 29 0D 0A 0D 0A 09 laration *).....
01AFB0: 70 72 6F 63 65 64 75 72 65 20 67 65 74 63 68 3B procedure getch;
01AFC0: 0D 0A 09 0D 0A 09 09 62 65 67 69 6E 0D 0A 09 09 .......begin....
01AFD0: 67 65 74 23 30 28 63 68 29 3B 0D 0A 09 09 69 66 get#0(ch);....if
01AFE0: 20 6C 69 73 74 69 6E 67 3C 3E 31 33 20 74 68 65 listing<>13 the
01AFF0: 6E 20 70 75 74 23 31 28 63 68 29 3B 0D 0A 09 09 n put#1(ch);....
01B000: 79 6D 62 6F 6C 20 2A 29 0D 0A 09 72 77 6F 72 64 ymbol *)...rword
01B010: 09 3A 20 72 77 61 74 79 70 3B 09 28 2A 20 68 6F .: rwatyp;.(* ho
01B020: 6C 64 73 20 72 65 73 65 72 76 65 64 20 77 6F 72 lds reserved wor
01B030: 64 20 69 6E 20 6F 72 64 65 72 20 2A 29 0D 0A 0D d in order *)...
01B040: 0A 09 28 2A 20 69 6E 64 65 78 65 64 20 62 79 20 ..(* indexed by
01B050: 61 73 63 69 69 20 63 68 61 72 61 63 74 65 72 20 ascii character
01B060: 76 61 6C 75 65 20 2A 29 0D 0A 09 73 73 79 6D 09 value *)...ssym.
01B070: 3A 20 63 68 61 74 79 70 3B 09 28 2A 20 67 69 76 : chatyp;.(* giv
01B080: 65 73 20 74 6F 6B 65 6E 20 6F 66 20 74 79 70 65 es token of type
01B090: 20 73 79 62 6F 6C 20 2A 29 0D 0A 0D 0A 09 28 2A sybol *).....(*
01B0A0: 20 69 6E 64 65 78 65 64 20 62 79 20 63 68 61 72 indexed by char
01B0B0: 61 63 74 65 72 20 6E 75 6D 62 65 72 20 30 20 2E acter number 0 .
01B0C0: 2E 20 2A 29 0D 0A 09 63 63 6F 6E 09 3A 20 6C 69 . *)...ccon.: li
01B0D0: 6E 65 74 79 70 3B 09 28 2A 20 6C 61 73 74 20 63 netyp;.(* last c
01B0E0: 68 61 72 61 63 74 65 72 20 63 6F 6E 73 74 61 6E haracter constan
01B0F0: 74 20 72 65 61 64 20 2A 29 0D 0A 0D 0A 09 28 2A t read *).....(*
01B100: 20 73 79 6D 62 6F 6C 20 74 61 62 6C 65 20 2A 29 symbol table *)
01B110: 0D 0A 09 28 2A 20 69 6E 64 65 78 65 64 20 62 79 ...(* indexed by
01B120: 20 74 78 20 2A 29 0D 0A 09 73 74 6E 61 6D 65 09 tx *)...stname.
01B130: 3A 20 73 74 61 74 79 70 3B 09 28 2A 20 73 79 6D : statyp;.(* sym
01B140: 62 6F 6C 20 74 61 62 6C 65 20 65 6E 74 72 79 20 bol table entry
01B150: 6E 61 6D 65 20 2A 29 0D 0A 09 73 74 6B 69 6E 64 name *)...stkind
01B160: 09 3A 20 73 74 77 74 79 70 3B 09 28 2A 20 73 79 .: stwtyp;.(* sy
01B170: 6D 62 6F 6C 20 74 61 62 6C 65 20 65 6E 74 72 79 mbol table entry
01B180: 20 6B 69 6E 64 20 2A 29 0D 0A 09 73 74 6C 65 76 kind *)...stlev
01B190: 09 3A 20 73 74 77 74 79 70 3B 09 28 2A 20 73 79 .: stwtyp;.(* sy
01B1A0: 6D 62 6F 6C 20 74 61 62 6C 65 20 65 6E 74 72 79 mbol table entry
01B1B0: 20 6C 65 76 65 6C 20 2A 29 0D 0A 09 73 74 61 64 level *)...stad
01B1C0: 72 09 3A 20 73 74 77 74 79 70 3B 09 28 2A 20 73 r.: stwtyp;.(* s
01B1D0: 79 6D 62 6F 6C 20 74 61 62 6C 65 20 61 64 64 72 ymbol table addr
01B1E0: 65 73 73 20 2A 29 0D 0A 09 73 74 6C 65 6E 09 3A ess *)...stlen.:
01B1F0: 20 73 74 77 74 79 70 3B 09 28 2A 20 73 79 6D 62 stwtyp;.(* symb
01B200: 69 66 20 63 68 3E 3D 39 37 20 74 68 65 6E 20 63 if ch>=97 then c
01B210: 68 3A 3D 63 68 2D 33 32 3B 0D 0A 09 09 69 66 20 h:=ch-32;....if
01B220: 63 68 3C 33 32 20 74 68 65 6E 20 62 65 67 69 6E ch<32 then begin
01B230: 20 28 2A 20 74 68 69 73 20 69 73 20 66 6F 72 20 (* this is for
01B240: 73 70 65 65 64 20 2A 29 0D 0A 09 09 09 69 66 20 speed *).....if
01B250: 63 68 3D 31 33 20 74 68 65 6E 20 62 65 67 69 6E ch=13 then begin
01B260: 0D 0A 09 09 09 09 28 2A 20 67 65 74 20 26 20 69 ......(* get & i
01B270: 67 6E 6F 72 65 20 74 68 65 20 6C 69 6E 65 20 66 gnore the line f
01B280: 65 65 64 20 2A 29 0D 0A 09 09 09 09 67 65 74 23 eed *)......get#
01B290: 30 28 63 68 29 3B 20 69 66 20 6C 69 73 74 69 6E 0(ch); if listin
01B2A0: 67 3C 3E 31 33 20 74 68 65 6E 0D 0A 09 09 09 09 g<>13 then......
01B2B0: 20 20 70 75 74 23 31 28 63 68 29 3B 0D 0A 09 09 put#1(ch);....
01B2C0: 09 09 69 66 20 65 72 72 66 6C 61 67 3D 74 72 75 ..if errflag=tru
01B2D0: 65 20 74 68 65 6E 20 62 65 67 69 6E 0D 0A 09 09 e then begin....
01B2E0: 09 09 20 20 65 72 72 66 6C 61 67 3A 3D 66 61 6C .. errflag:=fal
01B2F0: 73 65 3B 0D 0A 09 09 09 09 20 20 70 75 74 23 31 se;...... put#1
01B300: 28 27 2A 2A 2A 2A 2A 2A 2A 2A 27 2C 31 33 2C 31 ('********',13,1
01B310: 30 29 3B 0D 0A 09 09 09 09 20 20 67 65 74 23 31 0);...... get#1
01B320: 28 63 68 29 0D 0A 09 09 09 09 20 20 65 6E 64 0D (ch)...... end.
01B330: 0A 09 09 09 09 65 6E 64 3B 0D 0A 09 09 09 63 68 .....end;.....ch
01B340: 3A 3D 33 32 0D 0A 09 09 09 65 6E 64 0D 0A 09 09 :=32.....end....
01B350: 65 6E 64 3B 20 28 2A 20 67 65 74 63 68 20 2A 29 end; (* getch *)
01B360: 0D 0A 09 0D 0A 09 62 65 67 69 6E 20 28 2A 20 67 ......begin (* g
01B370: 65 74 73 79 6D 20 2A 29 0D 0A 09 77 68 69 6C 65 etsym *)...while
01B380: 20 63 68 3D 27 20 27 20 64 6F 20 67 65 74 63 68 ch=' ' do getch
01B390: 3B 0D 0A 09 69 66 20 28 63 68 3E 3D 27 41 27 29 ;...if (ch>='A')
01B3A0: 20 61 6E 64 20 28 63 68 3C 3D 27 5A 27 29 20 74 and (ch<='Z') t
01B3B0: 68 65 6E 0D 0A 09 09 62 65 67 69 6E 20 28 2A 20 hen....begin (*
01B3C0: 69 64 20 6F 72 20 72 65 73 65 72 76 65 64 20 77 id or reserved w
01B3D0: 6F 72 64 20 2A 29 0D 0A 09 09 67 73 6B 3A 3D 30 ord *)....gsk:=0
01B3E0: 3B 0D 0A 09 09 72 65 70 65 61 74 09 69 66 20 67 ;....repeat.if g
01B3F0: 73 6B 3C 61 6C 20 74 68 65 6E 0D 0A 09 09 09 09 sk<al then......
01B400: 6F 6C 20 74 61 62 6C 65 20 6C 65 6E 67 74 68 20 ol table length
01B410: 2A 29 0D 0A 09 28 2A 20 73 74 6E 61 6D 65 20 61 *)...(* stname a
01B420: 6C 6C 77 61 79 73 20 63 6F 6E 74 61 69 6E 73 20 llways contains
01B430: 6E 61 6D 65 2C 20 63 6F 6E 74 65 6E 74 73 20 6F name, contents o
01B440: 66 20 73 74 6B 69 6E 64 0D 0A 09 20 20 64 65 74 f stkind... det
01B450: 65 72 6D 69 6E 65 73 20 6D 65 61 6E 69 6E 67 20 ermines meaning
01B460: 6F 66 20 6F 74 68 65 72 20 61 72 72 61 79 73 3A of other arrays:
01B470: 0D 0A 09 20 20 73 74 6B 69 6E 64 09 73 74 6C 65 ... stkind.stle
01B480: 76 09 09 73 74 61 64 72 09 09 73 74 6C 65 6E 0D v..stadr..stlen.
01B490: 0A 09 20 20 3D 3D 3D 3D 3D 3D 09 3D 3D 3D 3D 3D .. ======.=====
01B4A0: 09 09 3D 3D 3D 3D 3D 09 09 3D 3D 3D 3D 3D 0D 0A ..=====..=====..
01B4B0: 09 20 20 63 6F 6E 73 74 61 6E 74 09 30 3D 64 65 . constant.0=de
01B4C0: 63 6C 61 72 65 64 09 63 6F 6E 73 74 20 76 61 6C clared.const val
01B4D0: 75 65 09 2D 2D 0D 0A 09 09 09 31 3D 73 63 61 6C ue.--.....1=scal
01B4E0: 61 72 20 65 6C 65 6D 65 6E 74 0D 0A 09 20 20 70 ar element... p
01B4F0: 72 6F 7A 65 64 75 72 65 09 6C 65 78 69 63 61 6C rozedure.lexical
01B500: 20 6C 65 76 65 6C 09 6C 61 62 65 6C 20 6E 75 6D level.label num
01B510: 62 65 72 09 70 61 72 6D 20 6C 65 6E 0D 0A 09 20 ber.parm len...
01B520: 20 66 75 6E 6B 74 69 6F 6E 09 22 09 09 22 09 09 funktion.".."..
01B530: 22 0D 0A 09 20 20 73 69 6D 70 76 61 72 09 6C 65 "... simpvar.le
01B540: 78 69 63 61 6C 20 6C 65 76 65 6C 09 73 74 61 63 xical level.stac
01B550: 6B 20 64 69 73 70 09 6C 65 6E 67 74 68 0D 0A 09 k disp.length...
01B560: 20 20 61 72 72 61 79 76 61 72 09 6C 65 78 69 63 arrayvar.lexic
01B570: 61 6C 20 6C 65 76 65 6C 09 62 61 73 65 20 73 74 al level.base st
01B580: 61 63 6B 20 64 69 73 70 09 74 79 70 65 20 70 74 ack disp.type pt
01B590: 72 0D 0A 09 20 20 73 69 6D 70 74 79 70 65 09 2D r... simptype.-
01B5A0: 2D 09 09 63 61 72 64 69 6E 61 6C 69 74 79 09 6C -..cardinality.l
01B5B0: 65 6E 67 74 68 0D 0A 09 20 20 74 69 70 65 09 09 ength... tipe..
01B5C0: 30 3D 61 72 72 61 79 09 09 65 6C 65 6D 65 6E 74 0=array..element
01B5D0: 20 6C 65 6E 67 74 68 09 74 6F 74 61 6C 20 6C 65 length.total le
01B5E0: 6E 67 74 68 0D 0A 0D 0A 09 20 20 6E 6F 74 65 73 ngth..... notes
01B5F0: 3A 20 20 74 79 70 65 20 70 74 72 20 69 73 20 69 : type ptr is i
01B600: 54 72 61 63 6B 2D 49 6E 66 6F 0D 0A 00 01 00 00 Track-Info......
01B610: 17 00 00 00 02 09 4A E5 17 00 C1 02 00 00 00 02 ......J.........
01B620: 17 00 C6 02 00 00 00 02 17 00 C2 02 00 00 00 02 ................
01B630: 17 00 C7 02 00 00 00 02 17 00 C3 02 00 00 00 02 ................
01B640: 17 00 C8 02 00 00 00 02 17 00 C4 02 00 00 00 02 ................
01B650: 17 00 C9 02 00 00 00 02 17 00 C5 02 00 00 00 02 ................
01B660: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
01B670: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
01B680: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
01B690: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
01B6A0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
01B6B0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
01B6C0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
01B6D0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
01B6E0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
01B6F0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
01B700: 62 65 67 69 6E 0D 0A 09 09 09 09 61 77 5B 67 73 begin......aw[gs
01B710: 6B 5D 3A 3D 63 68 3B 20 67 73 6B 3A 3D 67 73 6B k]:=ch; gsk:=gsk
01B720: 2B 31 0D 0A 09 09 09 09 65 6E 64 3B 0D 0A 09 09 +1......end;....
01B730: 09 67 65 74 63 68 0D 0A 09 09 75 6E 74 69 6C 20 .getch....until
01B740: 28 28 63 68 3C 27 41 27 29 6F 72 28 63 68 3E 27 ((ch<'A')or(ch>'
01B750: 5A 27 29 29 61 6E 64 28 28 63 68 3C 27 30 27 29 Z'))and((ch<'0')
01B760: 6F 72 28 63 68 3E 27 39 27 29 29 3B 0D 0A 09 09 or(ch>'9'));....
01B770: 28 2A 20 62 6C 61 6E 6B 20 72 65 6D 61 69 6E 64 (* blank remaind
01B780: 65 72 20 6F 66 20 61 77 20 2A 29 0D 0A 09 09 77 er of aw *)....w
01B790: 68 69 6C 65 20 67 73 6B 3C 61 6C 20 64 6F 20 62 hile gsk<al do b
01B7A0: 65 67 69 6E 20 61 77 5B 67 73 6B 5D 3A 3D 27 20 egin aw[gsk]:='
01B7B0: 27 3B 20 67 73 6B 3A 3D 67 73 6B 2B 31 20 65 6E '; gsk:=gsk+1 en
01B7C0: 64 3B 0D 0A 09 09 28 2A 20 70 61 63 6B 20 61 77 d;....(* pack aw
01B7D0: 20 77 6F 72 64 20 61 72 72 61 79 20 69 6E 74 6F word array into
01B7E0: 20 61 20 61 6C 66 61 20 73 69 6D 70 6C 65 20 76 a alfa simple v
01B7F0: 61 72 69 61 62 6C 65 20 2A 29 0D 0A 09 09 67 73 ariable *)....gs
01B800: 6A 3A 3D 30 3B 0D 0A 09 09 66 6F 72 20 67 73 69 j:=0;....for gsi
01B810: 3A 3D 30 20 74 6F 20 33 20 64 6F 20 62 65 67 69 :=0 to 3 do begi
01B820: 6E 0D 0A 09 09 09 69 64 5B 67 73 69 5D 3A 3D 61 n.....id[gsi]:=a
01B830: 77 5B 67 73 6A 5D 2B 61 77 5B 67 73 6A 2B 31 5D w[gsj]+aw[gsj+1]
01B840: 2A 32 35 36 3B 0D 0A 09 09 09 67 73 6A 3A 3D 67 *256;.....gsj:=g
01B850: 73 6A 2B 32 0D 0A 09 09 09 65 6E 64 3B 0D 0A 09 sj+2.....end;...
01B860: 09 28 2A 20 70 65 72 66 6F 72 6D 20 62 69 6E 61 .(* perform bina
01B870: 72 79 20 73 65 61 72 63 68 20 66 6F 72 20 73 79 ry search for sy
01B880: 6D 62 6F 6C 20 69 6E 20 72 77 6F 72 64 20 2A 29 mbol in rword *)
01B890: 0D 0A 09 09 67 73 69 3A 3D 31 3B 20 67 73 6A 3A ....gsi:=1; gsj:
01B8A0: 3D 6E 6F 72 77 3B 0D 0A 09 09 72 65 70 65 61 74 =norw;....repeat
01B8B0: 09 67 73 6B 3A 3D 28 67 73 69 2B 67 73 6A 29 2F .gsk:=(gsi+gsj)/
01B8C0: 32 3B 0D 0A 09 09 09 69 66 20 69 64 3C 3D 72 77 2;.....if id<=rw
01B8D0: 6F 72 64 5B 67 73 6B 5D 20 74 68 65 6E 20 67 73 ord[gsk] then gs
01B8E0: 6A 3A 3D 67 73 6B 2D 31 3B 0D 0A 09 09 09 69 66 j:=gsk-1;.....if
01B8F0: 20 69 64 3E 3D 72 77 6F 72 64 5B 67 73 6B 5D 20 id>=rword[gsk]
01B900: 77 6F 72 64 29 3B 0D 0A 0D 0A 09 76 61 72 09 28 word);.....var.(
01B910: 2A 20 76 61 6C 75 65 73 20 72 65 74 75 72 6E 65 * values returne
01B920: 64 20 62 79 20 74 79 70 20 2A 29 0D 0A 09 09 74 d by typ *)....t
01B930: 74 79 70 65 09 3A 20 6F 62 6A 65 63 74 3B 20 28 type.: object; (
01B940: 2A 20 74 79 70 65 20 74 79 70 65 20 28 73 69 6D * type type (sim
01B950: 70 6C 65 20 6F 72 20 6E 6F 74 29 20 2A 29 0D 0A ple or not) *)..
01B960: 09 09 74 61 64 72 09 3A 20 77 6F 72 64 3B 0D 0A ..tadr.: word;..
01B970: 09 09 74 6C 65 6E 09 3A 20 77 6F 72 64 3B 0D 0A ..tlen.: word;..
01B980: 0D 0A 09 09 64 78 09 3A 20 77 6F 72 64 3B 20 28 ....dx.: word; (
01B990: 2A 20 64 61 74 61 20 61 6C 6C 6F 63 61 74 69 6F * data allocatio
01B9A0: 6E 20 69 6E 64 65 78 20 2A 29 0D 0A 09 09 70 78 n index *)....px
01B9B0: 09 3A 20 77 6F 72 64 3B 20 28 2A 20 70 61 72 61 .: word; (* para
01B9C0: 6D 65 74 65 72 20 61 6C 6C 6F 63 61 74 69 6F 6E meter allocation
01B9D0: 20 69 6E 64 65 78 20 2A 29 0D 0A 09 09 62 74 79 index *)....bty
01B9E0: 70 65 09 3A 20 6F 62 6A 65 63 74 3B 20 28 2A 20 pe.: object; (*
01B9F0: 62 6C 6F 63 6B 20 74 79 70 65 20 28 66 75 6E 63 block type (func
01BA00: 20 6F 72 20 70 72 6F 63 29 20 2A 29 0D 0A 09 09 or proc) *)....
01BA10: 74 78 30 09 3A 20 77 6F 72 64 3B 09 28 2A 20 74 tx0.: word;.(* t
01BA20: 61 62 6C 65 20 69 6E 64 65 78 20 61 74 20 73 74 able index at st
01BA30: 61 72 74 20 6F 66 20 62 6C 6F 63 6B 20 2A 29 0D art of block *).
01BA40: 0A 09 09 74 78 31 09 3A 20 77 6F 72 64 3B 09 28 ...tx1.: word;.(
01BA50: 2A 20 74 61 62 6C 65 20 69 6E 64 65 78 20 61 74 * table index at
01BA60: 20 73 74 61 72 74 20 6F 66 0D 0A 09 09 09 09 6E start of......n
01BA70: 65 73 74 65 64 20 70 72 6F 63 2F 66 75 6E 63 20 ested proc/func
01BA80: 2A 29 0D 0A 09 09 69 09 3A 20 77 6F 72 64 3B 09 *)....i.: word;.
01BA90: 28 2A 20 74 65 6D 70 20 75 73 65 64 20 69 6E 20 (* temp used in
01BAA0: 66 77 64 20 72 65 66 20 2A 29 0D 0A 0D 0A 09 28 fwd ref *).....(
01BAB0: 2A 20 65 6D 69 74 20 74 68 65 20 70 2D 69 6E 73 * emit the p-ins
01BAC0: 74 72 75 63 74 69 6F 6E 20 70 61 73 73 65 64 20 truction passed
01BAD0: 69 6E 20 74 68 65 20 66 69 72 73 74 20 61 72 67 in the first arg
01BAE0: 75 6D 65 6E 74 2C 0D 0A 09 74 61 6B 69 6E 67 20 ument,...taking
01BAF0: 74 68 65 20 6C 65 76 65 6C 20 61 6E 64 20 61 64 the level and ad
01BB00: 74 68 65 6E 20 67 73 69 3A 3D 67 73 6B 2B 31 0D then gsi:=gsk+1.
01BB10: 0A 09 09 75 6E 74 69 6C 20 67 73 69 3E 67 73 6A ...until gsi>gsj
01BB20: 3B 0D 0A 09 09 69 66 20 67 73 69 2D 31 3E 67 73 ;....if gsi-1>gs
01BB30: 6A 20 74 68 65 6E 20 73 79 6D 3A 3D 77 73 79 6D j then sym:=wsym
01BB40: 5B 67 73 6B 5D 20 65 6C 73 65 20 73 79 6D 3A 3D [gsk] else sym:=
01BB50: 69 64 65 6E 74 0D 0A 09 09 65 6E 64 0D 0A 09 65 ident....end...e
01BB60: 6C 73 65 20 69 66 20 28 63 68 3E 3D 27 30 27 29 lse if (ch>='0')
01BB70: 20 61 6E 64 20 28 63 68 3C 3D 27 39 27 29 20 74 and (ch<='9') t
01BB80: 68 65 6E 20 62 65 67 69 6E 20 28 2A 20 6E 75 6D hen begin (* num
01BB90: 62 65 72 20 2A 29 0D 0A 09 09 6E 75 6D 3A 3D 30 ber *)....num:=0
01BBA0: 3B 20 73 79 6D 3A 3D 6E 75 6D 62 65 72 3B 0D 0A ; sym:=number;..
01BBB0: 09 09 72 65 70 65 61 74 20 6E 75 6D 3A 3D 6E 75 ..repeat num:=nu
01BBC0: 6D 2A 31 30 2B 28 63 68 2D 27 30 27 29 3B 20 67 m*10+(ch-'0'); g
01BBD0: 65 74 63 68 0D 0A 09 09 75 6E 74 69 6C 20 28 63 etch....until (c
01BBE0: 68 3C 27 30 27 29 20 6F 72 20 28 63 68 3E 27 39 h<'0') or (ch>'9
01BBF0: 27 29 0D 0A 09 09 65 6E 64 0D 0A 09 65 6C 73 65 ')....end...else
01BC00: 20 69 66 20 63 68 3D 27 28 27 20 74 68 65 6E 20 if ch='(' then
01BC10: 62 65 67 69 6E 0D 0A 09 09 67 65 74 63 68 3B 0D begin....getch;.
01BC20: 0A 09 09 69 66 20 63 68 3D 27 2A 27 20 74 68 65 ...if ch='*' the
01BC30: 6E 20 62 65 67 69 6E 20 28 2A 20 69 6E 73 69 64 n begin (* insid
01BC40: 65 20 6F 66 20 63 6F 6D 6D 65 6E 74 20 2A 29 0D e of comment *).
01BC50: 0A 09 09 09 72 65 70 65 61 74 0D 0A 09 09 09 09 ....repeat......
01BC60: 72 65 70 65 61 74 0D 0A 09 09 09 09 09 67 65 74 repeat.......get
01BC70: 63 68 0D 0A 09 09 09 09 75 6E 74 69 6C 20 63 68 ch......until ch
01BC80: 3D 27 2A 27 3B 0D 0A 09 09 09 09 67 65 74 63 68 ='*';......getch
01BC90: 0D 0A 09 09 09 75 6E 74 69 6C 20 63 68 3D 27 29 .....until ch=')
01BCA0: 27 3B 0D 0A 09 09 09 67 65 74 63 68 3B 0D 0A 09 ';.....getch;...
01BCB0: 09 09 67 65 74 73 79 6D 0D 0A 09 09 09 65 6E 64 ..getsym.....end
01BCC0: 0D 0A 09 09 65 6C 73 65 0D 0A 09 09 09 73 79 6D ....else.....sym
01BCD0: 3A 3D 6C 70 61 72 65 6E 0D 0A 09 09 65 6E 64 0D :=lparen....end.
01BCE0: 0A 09 65 6C 73 65 20 69 66 20 63 68 3D 27 27 27 ..else if ch='''
01BCF0: 27 20 74 68 65 6E 20 62 65 67 69 6E 20 28 2A 20 ' then begin (*
01BD00: 64 72 65 73 73 20 66 72 6F 6D 20 74 68 65 20 73 dress from the s
01BD10: 79 6D 62 6F 6C 20 74 61 62 6C 65 0D 0A 09 65 6E ymbol table...en
01BD20: 74 72 79 20 70 61 73 73 65 64 20 69 6E 20 74 68 try passed in th
01BD30: 65 20 73 65 63 6F 6E 64 20 61 72 67 75 6D 65 6E e second argumen
01BD40: 74 2E 0D 0A 09 2A 29 0D 0A 09 70 72 6F 63 65 64 t....*)...proced
01BD50: 75 72 65 20 67 65 6E 6C 65 76 28 6F 70 3A 20 70 ure genlev(op: p
01BD60: 6F 70 73 3B 20 69 3A 20 77 6F 72 64 29 3B 0D 0A ops; i: word);..
01BD70: 0D 0A 09 09 76 61 72 09 73 74 6C 09 3A 20 77 6F ....var.stl.: wo
01BD80: 72 64 3B 0D 0A 0D 0A 09 09 62 65 67 69 6E 0D 0A rd;......begin..
01BD90: 09 09 73 74 6C 3A 3D 73 74 6C 65 76 5B 69 5D 3B ..stl:=stlev[i];
01BDA0: 0D 0A 09 09 69 66 20 73 74 6C 3D 31 20 28 2A 20 ....if stl=1 (*
01BDB0: 6F 6E 6C 79 20 69 66 20 67 6C 6F 62 61 6C 20 76 only if global v
01BDC0: 61 72 69 61 62 6C 65 20 72 65 66 20 2A 29 0D 0A ariable ref *)..
01BDD0: 09 09 09 74 68 65 6E 20 67 65 6E 28 6F 70 2C 32 ...then gen(op,2
01BDE0: 35 35 2C 73 74 61 64 72 5B 69 5D 29 0D 0A 09 09 55,stadr[i])....
01BDF0: 09 65 6C 73 65 20 67 65 6E 28 6F 70 2C 6C 65 76 .else gen(op,lev
01BE00: 2D 73 74 6C 2C 73 74 61 64 72 5B 69 5D 29 0D 0A -stl,stadr[i])..
01BE10: 09 09 65 6E 64 3B 20 28 2A 20 67 65 6E 6C 65 76 ..end; (* genlev
01BE20: 20 2A 29 0D 0A 0D 0A 09 66 75 6E 63 74 69 6F 6E *).....function
01BE30: 20 63 6F 6D 70 63 6F 6E 3B 20 28 2A 20 72 65 74 compcon; (* ret
01BE40: 75 72 6E 65 64 20 76 61 6C 75 65 20 69 73 20 61 urned value is a
01BE50: 20 63 6F 6D 70 69 6C 65 20 74 69 6D 65 20 63 6F compile time co
01BE60: 6E 73 74 61 6E 74 20 2A 29 0D 0A 0D 0A 09 09 76 nstant *)......v
01BE70: 61 72 20 09 69 09 3A 20 77 6F 72 64 3B 0D 0A 0D ar .i.: word;...
01BE80: 0A 09 09 62 65 67 69 6E 0D 0A 09 09 63 61 73 65 ...begin....case
01BE90: 20 73 79 6D 20 6F 66 0D 0A 09 09 6E 75 6D 62 65 sym of....numbe
01BEA0: 72 3A 09 62 65 67 69 6E 20 63 6F 6D 70 63 6F 6E r:.begin compcon
01BEB0: 3A 3D 6E 75 6D 3B 20 67 65 74 73 79 6D 20 65 6E :=num; getsym en
01BEC0: 64 3B 0D 0A 09 09 63 68 61 72 63 6F 6E 3A 20 62 d;....charcon: b
01BED0: 65 67 69 6E 20 63 6F 6D 70 63 6F 6E 3A 3D 63 63 egin compcon:=cc
01BEE0: 6F 6E 5B 30 5D 3B 20 67 65 74 73 79 6D 20 65 6E on[0]; getsym en
01BEF0: 64 3B 0D 0A 09 09 69 64 65 6E 74 3A 09 62 65 67 d;....ident:.beg
01BF00: 63 68 61 72 61 63 74 65 72 20 63 6F 6E 73 74 61 character consta
01BF10: 6E 74 20 2A 29 0D 0A 09 09 73 79 6D 3A 3D 63 68 nt *)....sym:=ch
01BF20: 61 72 63 6F 6E 3B 20 67 73 6B 3A 3D 30 3B 0D 0A arcon; gsk:=0;..
01BF30: 09 09 72 65 70 65 61 74 0D 0A 09 09 09 72 65 70 ..repeat.....rep
01BF40: 65 61 74 0D 0A 09 09 09 09 67 65 74 63 68 3B 0D eat......getch;.
01BF50: 0A 09 09 09 09 63 63 6F 6E 5B 67 73 6B 5D 3A 3D .....ccon[gsk]:=
01BF60: 63 68 3B 20 67 73 6B 3A 3D 67 73 6B 2B 31 0D 0A ch; gsk:=gsk+1..
01BF70: 09 09 09 75 6E 74 69 6C 20 63 68 3D 27 27 27 27 ...until ch=''''
01BF80: 3B 0D 0A 09 09 09 67 65 74 63 68 0D 0A 09 09 75 ;.....getch....u
01BF90: 6E 74 69 6C 20 63 68 3C 3E 27 27 27 27 3B 0D 0A ntil ch<>'''';..
01BFA0: 09 09 63 63 6C 65 6E 3A 3D 67 73 6B 2D 31 0D 0A ..cclen:=gsk-1..
01BFB0: 09 09 65 6E 64 0D 0A 09 65 6C 73 65 20 62 65 67 ..end...else beg
01BFC0: 69 6E 20 28 2A 20 73 70 65 63 69 61 6C 20 73 79 in (* special sy
01BFD0: 6D 62 6F 6C 20 2A 29 0D 0A 09 09 73 79 6D 3A 3D mbol *)....sym:=
01BFE0: 73 73 79 6D 5B 63 68 5D 3B 20 67 65 74 63 68 0D ssym[ch]; getch.
01BFF0: 0A 09 09 65 6E 64 0D 0A 65 6E 64 3B 20 28 2A 20 ...end..end; (*
01C000: 67 65 74 73 79 6D 20 2A 29 0D 0A 0D 0A 28 2A 20 getsym *)....(*
01C010: 74 65 73 74 20 66 6F 72 20 70 72 65 73 65 6E 74 test for present
01C020: 20 73 79 6D 62 6F 6C 20 65 71 75 61 6C 20 74 6F symbol equal to
01C030: 20 66 69 72 73 74 20 61 72 67 75 6D 65 6E 74 2C first argument,
01C040: 20 65 72 72 6F 72 0D 0A 6E 75 6D 62 65 72 20 6F error..number o
01C050: 66 20 73 65 63 6F 6E 64 20 61 72 67 75 6D 65 6E f second argumen
01C060: 74 20 69 73 20 69 73 73 75 65 64 20 69 66 20 6E t is issued if n
01C070: 6F 74 2E 20 20 61 6C 73 6F 20 67 65 74 73 20 6E ot. also gets n
01C080: 65 78 74 0D 0A 73 79 6D 62 6F 6C 20 69 66 20 64 ext..symbol if d
01C090: 65 73 69 72 65 64 20 73 79 6D 62 6F 6C 20 77 61 esired symbol wa
01C0A0: 73 20 70 72 65 73 65 6E 74 0D 0A 2A 29 0D 0A 70 s present..*)..p
01C0B0: 72 6F 63 65 64 75 72 65 20 74 65 73 74 28 73 31 rocedure test(s1
01C0C0: 2C 20 65 72 72 6E 3A 20 77 6F 72 64 29 3B 0D 0A , errn: word);..
01C0D0: 0D 0A 09 62 65 67 69 6E 0D 0A 09 69 66 20 73 79 ...begin...if sy
01C0E0: 6D 3C 3E 73 31 20 74 68 65 6E 0D 0A 09 09 65 72 m<>s1 then....er
01C0F0: 72 6F 72 28 65 72 72 6E 29 0D 0A 09 65 6C 73 65 ror(errn)...else
01C100: 69 6E 0D 0A 09 09 09 69 3A 3D 70 6F 73 69 74 69 in.....i:=positi
01C110: 6F 6E 3B 0D 0A 09 09 09 69 66 20 73 74 6B 69 6E on;.....if stkin
01C120: 64 5B 69 5D 3C 3E 63 6F 6E 73 74 61 6E 74 20 74 d[i]<>constant t
01C130: 68 65 6E 20 65 72 72 6F 72 28 31 30 33 29 3B 0D hen error(103);.
01C140: 0A 09 09 09 63 6F 6D 70 63 6F 6E 3A 3D 73 74 61 ....compcon:=sta
01C150: 64 72 5B 69 5D 3B 0D 0A 09 09 09 67 65 74 73 79 dr[i];.....getsy
01C160: 6D 3B 0D 0A 09 09 09 77 68 69 6C 65 20 73 79 6D m;.....while sym
01C170: 3D 70 6C 75 73 20 64 6F 20 62 65 67 69 6E 0D 0A =plus do begin..
01C180: 09 09 09 09 67 65 74 73 79 6D 3B 0D 0A 09 09 09 ....getsym;.....
01C190: 09 63 6F 6D 70 63 6F 6E 3A 3D 73 74 61 64 72 5B .compcon:=stadr[
01C1A0: 69 5D 2B 63 6F 6D 70 63 6F 6E 0D 0A 09 09 09 09 i]+compcon......
01C1B0: 65 6E 64 0D 0A 09 09 09 65 6E 64 20 28 2A 20 63 end.....end (* c
01C1C0: 61 73 65 20 69 64 65 6E 74 20 2A 29 0D 0A 09 09 ase ident *)....
01C1D0: 65 6C 73 65 09 65 72 72 6F 72 28 35 30 29 0D 0A else.error(50)..
01C1E0: 09 09 65 6E 64 20 28 2A 20 63 61 73 65 20 73 79 ..end (* case sy
01C1F0: 6D 20 6F 66 20 2A 29 0D 0A 09 09 65 6E 64 3B 20 m of *)....end;
01C200: 28 2A 20 66 75 6E 63 74 69 6F 6E 20 63 6F 6D 70 (* function comp
01C210: 63 6F 6E 20 2A 29 0D 0A 0D 0A 09 70 72 6F 63 65 con *).....proce
01C220: 64 75 72 65 20 63 6F 6E 73 74 64 63 6C 3B 0D 0A dure constdcl;..
01C230: 0D 0A 09 09 76 61 72 09 63 74 78 09 3A 20 77 6F ....var.ctx.: wo
01C240: 72 64 3B 0D 0A 0D 0A 09 09 62 65 67 69 6E 0D 0A rd;......begin..
01C250: 09 09 74 65 73 74 28 69 64 65 6E 74 2C 32 29 3B ..test(ident,2);
01C260: 0D 0A 09 09 65 6E 74 65 72 28 69 64 2C 63 6F 6E ....enter(id,con
01C270: 73 74 61 6E 74 2C 30 2C 30 2C 30 29 3B 0D 0A 09 stant,0,0,0);...
01C280: 09 63 74 78 3A 3D 74 78 3B 0D 0A 09 09 74 65 73 .ctx:=tx;....tes
01C290: 74 28 65 71 6C 2C 31 36 29 3B 0D 0A 09 09 73 74 t(eql,16);....st
01C2A0: 61 64 72 5B 63 74 78 5D 3A 3D 63 6F 6D 70 63 6F adr[ctx]:=compco
01C2B0: 6E 0D 0A 09 09 65 6E 64 3B 20 28 2A 20 63 6F 6E n....end; (* con
01C2C0: 73 74 64 63 6C 20 2A 29 0D 0A 0D 0A 09 70 72 6F stdcl *).....pro
01C2D0: 63 65 64 75 72 65 20 74 79 70 3B 0D 0A 0D 0A 09 cedure typ;.....
01C2E0: 09 76 61 72 09 73 63 61 72 64 09 3A 20 77 6F 72 .var.scard.: wor
01C2F0: 64 3B 20 28 2A 20 61 72 72 61 79 20 73 75 62 73 d; (* array subs
01C300: 0D 0A 09 09 67 65 74 73 79 6D 0D 0A 09 65 6E 64 ....getsym...end
01C310: 3B 0D 0A 0D 0A 28 2A 20 65 6D 69 74 20 74 68 65 ;....(* emit the
01C320: 20 70 2D 69 6E 73 74 72 75 63 74 69 6F 6E 20 70 p-instruction p
01C330: 61 73 73 65 64 20 69 6E 20 74 68 65 20 61 72 67 assed in the arg
01C340: 75 6D 65 6E 74 73 2E 0D 0A 2A 29 0D 0A 70 72 6F uments...*)..pro
01C350: 63 65 64 75 72 65 20 67 65 6E 28 6F 70 3A 20 70 cedure gen(op: p
01C360: 6F 70 73 3B 20 6C 65 76 2C 61 64 72 3A 20 77 6F ops; lev,adr: wo
01C370: 72 64 29 3B 0D 0A 0D 0A 09 62 65 67 69 6E 0D 0A rd);.....begin..
01C380: 09 70 75 74 23 30 28 6F 70 2C 20 6C 65 76 2C 20 .put#0(op, lev,
01C390: 61 64 72 2C 20 61 64 72 2F 32 35 36 29 0D 0A 09 adr, adr/256)...
01C3A0: 65 6E 64 3B 20 28 2A 20 67 65 6E 20 2A 29 0D 0A end; (* gen *)..
01C3B0: 0D 0A 28 2A 20 65 6E 74 65 72 20 61 6E 20 69 64 ..(* enter an id
01C3C0: 65 6E 74 69 66 69 65 72 20 69 6E 74 6F 20 74 68 entifier into th
01C3D0: 65 20 73 79 6D 62 6F 6C 20 74 61 62 6C 65 20 77 e symbol table w
01C3E0: 69 74 68 20 74 68 65 0D 0A 61 74 74 72 69 62 75 ith the..attribu
01C3F0: 74 65 73 20 70 61 73 73 65 64 20 61 73 20 61 72 tes passed as ar
01C400: 67 75 6D 65 6E 74 73 0D 0A 2A 29 0D 0A 70 72 6F guments..*)..pro
01C410: 63 65 64 75 72 65 20 65 6E 74 65 72 28 6E 61 6D cedure enter(nam
01C420: 3A 20 61 6C 66 61 3B 20 6B 69 6E 64 2C 6C 65 76 : alfa; kind,lev
01C430: 2C 61 64 72 2C 6C 65 6E 3A 20 77 6F 72 64 29 3B ,adr,len: word);
01C440: 0D 0A 0D 0A 09 62 65 67 69 6E 0D 0A 09 74 78 3A .....begin...tx:
01C450: 3D 74 78 2B 31 3B 0D 0A 09 69 66 20 74 78 3E 73 =tx+1;...if tx>s
01C460: 79 6D 61 78 20 74 68 65 6E 20 70 75 74 23 31 28 ymax then put#1(
01C470: 27 2A 53 59 20 4F 56 45 52 27 29 0D 0A 09 65 6C '*SY OVER')...el
01C480: 73 65 20 62 65 67 69 6E 0D 0A 09 09 73 74 6E 61 se begin....stna
01C490: 6D 65 5B 74 78 5D 3A 3D 6E 61 6D 3B 20 73 74 6B me[tx]:=nam; stk
01C4A0: 69 6E 64 5B 74 78 5D 3A 3D 6B 69 6E 64 3B 0D 0A ind[tx]:=kind;..
01C4B0: 09 09 73 74 6C 65 76 5B 74 78 5D 3A 3D 6C 65 76 ..stlev[tx]:=lev
01C4C0: 3B 20 73 74 61 64 72 5B 74 78 5D 3A 3D 61 64 72 ; stadr[tx]:=adr
01C4D0: 3B 0D 0A 09 09 73 74 6C 65 6E 5B 74 78 5D 3A 3D ;....stlen[tx]:=
01C4E0: 6C 65 6E 0D 0A 09 09 65 6E 64 0D 0A 09 65 6E 64 len....end...end
01C4F0: 3B 20 28 2A 20 65 6E 74 65 72 20 2A 29 0D 0A 0D ; (* enter *)...
01C500: 63 72 69 70 74 20 63 61 72 64 69 6E 61 6C 69 74 cript cardinalit
01C510: 79 20 2A 29 0D 0A 0D 0A 09 09 70 72 6F 63 65 64 y *)......proced
01C520: 75 72 65 20 73 74 79 70 3B 0D 0A 0D 0A 09 09 09 ure styp;.......
01C530: 76 61 72 09 69 09 3A 20 77 6F 72 64 3B 0D 0A 0D var.i.: word;...
01C540: 0A 09 09 09 62 65 67 69 6E 0D 0A 09 09 09 74 74 ....begin.....tt
01C550: 79 70 65 3A 3D 73 69 6D 70 74 79 70 65 3B 0D 0A ype:=simptype;..
01C560: 09 09 09 69 66 20 73 79 6D 3D 69 64 65 6E 74 20 ...if sym=ident
01C570: 74 68 65 6E 20 62 65 67 69 6E 0D 0A 09 09 09 09 then begin......
01C580: 69 3A 3D 70 6F 73 69 74 69 6F 6E 3B 0D 0A 09 09 i:=position;....
01C590: 09 09 69 66 20 28 73 74 6B 69 6E 64 5B 69 5D 3D ..if (stkind[i]=
01C5A0: 73 69 6D 70 74 79 70 65 29 20 6F 72 0D 0A 09 09 simptype) or....
01C5B0: 09 09 20 20 20 28 73 74 6B 69 6E 64 5B 69 5D 3D .. (stkind[i]=
01C5C0: 74 69 70 65 29 20 74 68 65 6E 20 62 65 67 69 6E tipe) then begin
01C5D0: 0D 0A 09 09 09 09 20 20 74 74 79 70 65 3A 3D 73 ...... ttype:=s
01C5E0: 74 6B 69 6E 64 5B 69 5D 3B 0D 0A 09 09 09 09 20 tkind[i];......
01C5F0: 20 74 61 64 72 3A 3D 73 74 61 64 72 5B 69 5D 3B tadr:=stadr[i];
01C600: 0D 0A 09 09 09 09 20 20 74 6C 65 6E 3A 3D 73 74 ...... tlen:=st
01C610: 6C 65 6E 5B 69 5D 3B 0D 0A 09 09 09 09 20 20 67 len[i];...... g
01C620: 65 74 73 79 6D 0D 0A 09 09 09 09 20 20 65 6E 64 etsym...... end
01C630: 0D 0A 09 09 09 09 65 6C 73 65 20 69 66 20 73 74 ......else if st
01C640: 6B 69 6E 64 5B 69 5D 3D 63 6F 6E 73 74 61 6E 74 kind[i]=constant
01C650: 20 74 68 65 6E 20 62 65 67 69 6E 0D 0A 09 09 09 then begin.....
01C660: 09 20 20 69 3A 3D 63 6F 6D 70 63 6F 6E 3B 0D 0A . i:=compcon;..
01C670: 09 09 09 09 20 20 74 65 73 74 28 70 65 72 69 6F .... test(perio
01C680: 64 2C 32 30 29 3B 20 74 65 73 74 28 70 65 72 69 d,20); test(peri
01C690: 6F 64 2C 32 30 29 3B 0D 0A 09 09 09 09 20 20 74 od,20);...... t
01C6A0: 61 64 72 3A 3D 63 6F 6D 70 63 6F 6E 2D 69 2B 31 adr:=compcon-i+1
01C6B0: 3B 20 74 6C 65 6E 3A 3D 69 6E 74 73 69 7A 65 0D ; tlen:=intsize.
01C6C0: 0A 09 09 09 09 20 20 65 6E 64 0D 0A 09 09 09 09 ..... end......
01C6D0: 65 6C 73 65 20 65 72 72 6F 72 28 31 30 33 29 0D else error(103).
01C6E0: 0A 09 09 09 09 65 6E 64 0D 0A 09 09 09 65 6C 73 .....end.....els
01C6F0: 65 20 69 66 20 73 79 6D 3D 6C 70 61 72 65 6E 20 e if sym=lparen
01C700: 0A 28 2A 20 72 65 74 75 72 6E 73 20 74 68 65 20 .(* returns the
01C710: 73 79 6D 62 6F 6C 20 74 61 62 6C 65 20 69 6E 64 symbol table ind
01C720: 65 78 20 6F 66 20 74 68 65 20 69 64 65 6E 74 69 ex of the identi
01C730: 66 69 65 72 20 69 6E 20 69 64 2E 0D 0A 67 69 76 fier in id...giv
01C740: 65 73 20 65 72 72 6F 72 20 31 30 34 20 69 66 20 es error 104 if
01C750: 6E 6F 74 20 66 6F 75 6E 64 20 61 6E 64 20 72 65 not found and re
01C760: 74 75 72 6E 73 20 30 2E 0D 0A 2A 29 0D 0A 66 75 turns 0...*)..fu
01C770: 6E 63 74 69 6F 6E 20 70 6F 73 69 74 69 6F 6E 3B nction position;
01C780: 0D 0A 09 0D 0A 09 28 2A 20 73 65 65 20 67 6C 6F ......(* see glo
01C790: 62 61 6C 20 76 61 72 69 61 62 6C 65 73 20 66 6F bal variables fo
01C7A0: 72 20 6C 6F 63 61 6C 20 76 61 72 20 64 65 63 6C r local var decl
01C7B0: 61 72 61 74 69 6F 6E 20 2A 29 0D 0A 0D 0A 09 62 aration *).....b
01C7C0: 65 67 69 6E 0D 0A 09 73 74 6E 61 6D 65 5B 30 5D egin...stname[0]
01C7D0: 3A 3D 69 64 3B 0D 0A 09 70 6F 73 69 3A 3D 74 78 :=id;...posi:=tx
01C7E0: 3B 0D 0A 09 77 68 69 6C 65 20 73 74 6E 61 6D 65 ;...while stname
01C7F0: 5B 70 6F 73 69 5D 3C 3E 69 64 20 64 6F 20 70 6F [posi]<>id do po
01C800: 73 69 3A 3D 70 6F 73 69 2D 31 3B 0D 0A 09 69 66 si:=posi-1;...if
01C810: 20 70 6F 73 69 3D 30 20 74 68 65 6E 20 65 72 72 posi=0 then err
01C820: 6F 72 28 31 30 34 29 3B 0D 0A 09 70 6F 73 69 74 or(104);...posit
01C830: 69 6F 6E 3A 3D 70 6F 73 69 0D 0A 09 65 6E 64 3B ion:=posi...end;
01C840: 20 28 2A 20 70 6F 73 69 74 69 6F 6E 20 2A 29 0D (* position *).
01C850: 0A 0D 0A 28 2A 20 72 65 74 75 72 6E 73 20 74 68 ...(* returns th
01C860: 65 20 6E 65 78 74 20 61 76 61 69 6C 61 62 6C 65 e next available
01C870: 20 6C 61 62 65 6C 20 6E 75 6D 62 65 72 20 2A 29 label number *)
01C880: 0D 0A 66 75 6E 63 74 69 6F 6E 20 6E 6C 61 62 3B ..function nlab;
01C890: 0D 0A 0D 0A 09 62 65 67 69 6E 0D 0A 09 6E 6C 3A .....begin...nl:
01C8A0: 3D 6E 6C 2B 31 3B 20 6E 6C 61 62 3A 3D 6E 6C 0D =nl+1; nlab:=nl.
01C8B0: 0A 09 65 6E 64 3B 0D 0A 0D 0A 28 2A 20 73 65 6D ..end;....(* sem
01C8C0: 61 6E 74 69 63 20 72 6F 75 74 69 6E 65 20 74 6F antic routine to
01C8D0: 20 63 6F 6D 70 69 6C 65 20 61 20 62 6C 6F 63 6B compile a block
01C8E0: 20 2A 29 0D 0A 70 72 6F 63 65 64 75 72 65 20 62 *)..procedure b
01C8F0: 6C 6F 63 6B 28 6C 65 76 2C 20 70 6C 61 62 3A 20 lock(lev, plab:
01C900: 54 72 61 63 6B 2D 49 6E 66 6F 0D 0A 00 01 00 00 Track-Info......
01C910: 18 00 00 00 02 09 49 E5 18 00 C1 02 00 00 00 02 ......I.........
01C920: 18 00 C6 02 00 00 00 02 18 00 C2 02 00 00 00 02 ................
01C930: 18 00 C7 02 00 00 00 02 18 00 C3 02 00 00 00 02 ................
01C940: 18 00 C8 02 00 00 00 02 18 00 C4 02 00 00 00 02 ................
01C950: 18 00 C9 02 00 00 00 02 18 00 C5 02 00 00 00 02 ................
01C960: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
01C970: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
01C980: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
01C990: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
01C9A0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
01C9B0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
01C9C0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
01C9D0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
01C9E0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
01C9F0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
01CA00: 74 68 65 6E 20 62 65 67 69 6E 0D 0A 09 09 09 09 then begin......
01CA10: 69 3A 3D 30 3B 0D 0A 09 09 09 09 72 65 70 65 61 i:=0;......repea
01CA20: 74 0D 0A 09 09 09 09 20 20 67 65 74 73 79 6D 3B t...... getsym;
01CA30: 0D 0A 09 09 09 09 20 20 74 65 73 74 28 69 64 65 ...... test(ide
01CA40: 6E 74 2C 32 29 3B 0D 0A 09 09 09 09 20 20 65 6E nt,2);...... en
01CA50: 74 65 72 28 69 64 2C 63 6F 6E 73 74 61 6E 74 2C ter(id,constant,
01CA60: 69 6E 74 73 69 7A 65 2C 69 2C 30 29 3B 0D 0A 09 intsize,i,0);...
01CA70: 09 09 09 20 20 69 3A 3D 69 2B 31 0D 0A 09 09 09 ... i:=i+1.....
01CA80: 09 75 6E 74 69 6C 20 73 79 6D 3C 3E 63 6F 6D 6D .until sym<>comm
01CA90: 61 3B 0D 0A 09 09 09 09 74 61 64 72 3A 3D 69 3B a;......tadr:=i;
01CAA0: 20 74 6C 65 6E 3A 3D 69 6E 74 73 69 7A 65 3B 0D tlen:=intsize;.
01CAB0: 0A 09 09 09 09 74 65 73 74 28 72 70 61 72 65 6E .....test(rparen
01CAC0: 2C 34 29 0D 0A 09 09 09 09 65 6E 64 0D 0A 09 09 ,4)......end....
01CAD0: 09 65 6C 73 65 20 62 65 67 69 6E 0D 0A 09 09 09 .else begin.....
01CAE0: 09 69 3A 3D 63 6F 6D 70 63 6F 6E 3B 0D 0A 09 09 .i:=compcon;....
01CAF0: 09 09 74 65 73 74 28 70 65 72 69 6F 64 2C 32 30 ..test(period,20
01CB00: 29 3B 0D 0A 09 09 09 09 74 65 73 74 28 70 65 72 );......test(per
01CB10: 69 6F 64 2C 32 30 29 3B 0D 0A 09 09 09 09 74 61 iod,20);......ta
01CB20: 64 72 3A 3D 63 6F 6D 70 63 6F 6E 2D 69 2B 31 3B dr:=compcon-i+1;
01CB30: 20 74 6C 65 6E 3A 3D 69 6E 74 73 69 7A 65 0D 0A tlen:=intsize..
01CB40: 09 09 09 09 65 6E 64 0D 0A 09 09 09 65 6E 64 3B ....end.....end;
01CB50: 20 28 2A 20 73 74 79 70 20 2A 29 0D 0A 0D 0A 09 (* styp *).....
01CB60: 09 62 65 67 69 6E 20 28 2A 20 74 79 70 20 2A 29 .begin (* typ *)
01CB70: 0D 0A 09 09 69 66 20 73 79 6D 3C 3E 61 72 72 61 ....if sym<>arra
01CB80: 79 73 79 6D 20 74 68 65 6E 20 73 74 79 70 0D 0A ysym then styp..
01CB90: 09 09 65 6C 73 65 20 62 65 67 69 6E 0D 0A 09 09 ..else begin....
01CBA0: 09 67 65 74 73 79 6D 3B 20 74 65 73 74 28 6C 62 .getsym; test(lb
01CBB0: 72 61 63 6B 2C 31 31 29 3B 0D 0A 09 09 09 73 74 rack,11);.....st
01CBC0: 79 70 3B 20 73 63 61 72 64 3A 3D 74 61 64 72 3B yp; scard:=tadr;
01CBD0: 20 28 2A 20 73 61 76 65 20 73 75 62 73 63 72 69 (* save subscri
01CBE0: 70 74 20 63 61 72 64 69 6E 61 6C 69 74 79 20 2A pt cardinality *
01CBF0: 29 0D 0A 09 09 09 74 65 73 74 28 72 62 72 61 63 ).....test(rbrac
01CC00: 70 09 3A 20 73 79 6D 62 6F 6C 3B 0D 0A 0D 0A 09 p.: symbol;.....
01CC10: 09 70 72 6F 63 65 64 75 72 65 20 74 65 72 6D 3B .procedure term;
01CC20: 0D 0A 0D 0A 09 09 76 61 72 09 6D 75 6C 6F 70 09 ......var.mulop.
01CC30: 3A 20 73 79 6D 62 6F 6C 3B 0D 0A 0D 0A 09 09 70 : symbol;......p
01CC40: 72 6F 63 65 64 75 72 65 20 66 61 63 74 6F 72 3B rocedure factor;
01CC50: 0D 0A 0D 0A 09 09 09 76 61 72 09 69 09 3A 20 77 .......var.i.: w
01CC60: 6F 72 64 3B 0D 0A 09 09 09 09 6F 70 09 3A 20 70 ord;......op.: p
01CC70: 6F 70 73 3B 0D 0A 0D 0A 09 09 09 62 65 67 69 6E ops;.......begin
01CC80: 20 28 2A 20 66 61 63 74 6F 72 20 2A 29 0D 0A 09 (* factor *)...
01CC90: 09 09 63 61 73 65 20 73 79 6D 20 6F 66 0D 0A 09 ..case sym of...
01CCA0: 09 09 6E 75 6D 62 65 72 3A 09 62 65 67 69 6E 20 ..number:.begin
01CCB0: 28 2A 20 6C 6F 61 64 20 63 6F 6E 73 74 61 6E 74 (* load constant
01CCC0: 20 2A 29 0D 0A 09 09 09 09 67 65 6E 28 6C 69 74 *)......gen(lit
01CCD0: 2C 30 2C 6E 75 6D 29 3B 0D 0A 09 09 09 09 63 68 ,0,num);......ch
01CCE0: 65 74 79 70 28 77 75 72 64 29 3B 0D 0A 09 09 09 etyp(wurd);.....
01CCF0: 09 67 65 74 73 79 6D 0D 0A 09 09 09 09 65 6E 64 .getsym......end
01CD00: 3B 20 28 2A 20 63 61 73 65 20 6E 75 6D 62 65 72 ; (* case number
01CD10: 20 2A 29 0D 0A 09 09 09 63 68 61 72 63 6F 6E 3A *).....charcon:
01CD20: 20 62 65 67 69 6E 20 28 2A 20 6C 6F 61 64 20 73 begin (* load s
01CD30: 74 72 69 6E 67 20 6C 69 74 65 72 61 6C 20 2A 29 tring literal *)
01CD40: 0D 0A 09 09 09 09 69 66 20 63 63 6C 65 6E 3D 31 ......if cclen=1
01CD50: 20 74 68 65 6E 20 62 65 67 69 6E 0D 0A 09 09 09 then begin.....
01CD60: 09 09 67 65 6E 28 6C 69 74 2C 30 2C 63 63 6F 6E ..gen(lit,0,ccon
01CD70: 5B 30 5D 29 3B 0D 0A 09 09 09 09 09 63 68 65 74 [0]);.......chet
01CD80: 79 70 28 77 75 72 64 29 20 65 6E 64 0D 0A 09 09 yp(wurd) end....
01CD90: 09 09 65 6C 73 65 20 62 65 67 69 6E 0D 0A 09 09 ..else begin....
01CDA0: 09 09 09 63 68 65 74 79 70 28 61 6C 70 68 61 29 ...chetyp(alpha)
01CDB0: 3B 0D 0A 09 09 09 09 09 67 65 6E 28 61 6C 69 74 ;.......gen(alit
01CDC0: 2C 30 2C 30 29 3B 0D 0A 09 09 09 09 09 67 65 6E ,0,0);.......gen
01CDD0: 28 63 63 6F 6E 5B 37 5D 2C 63 63 6F 6E 5B 36 5D (ccon[7],ccon[6]
01CDE0: 2C 0D 0A 09 09 09 09 09 20 63 63 6F 6E 5B 35 5D ,....... ccon[5]
01CDF0: 2B 63 63 6F 6E 5B 34 5D 2A 32 35 36 29 3B 0D 0A +ccon[4]*256);..
01CE00: 6B 2C 31 32 29 3B 0D 0A 09 09 09 74 65 73 74 28 k,12);.....test(
01CE10: 6F 66 73 79 6D 2C 38 29 3B 20 73 74 79 70 3B 0D ofsym,8); styp;.
01CE20: 0A 09 09 09 74 74 79 70 65 3A 3D 74 69 70 65 3B ....ttype:=tipe;
01CE30: 0D 0A 09 09 09 74 61 64 72 3A 3D 74 6C 65 6E 3B .....tadr:=tlen;
01CE40: 20 74 6C 65 6E 3A 3D 74 6C 65 6E 2A 73 63 61 72 tlen:=tlen*scar
01CE50: 64 0D 0A 09 09 09 65 6E 64 0D 0A 09 09 65 6E 64 d.....end....end
01CE60: 3B 20 28 2A 20 74 79 70 20 2A 29 0D 0A 0D 0A 09 ; (* typ *).....
01CE70: 70 72 6F 63 65 64 75 72 65 20 74 79 70 65 64 63 procedure typedc
01CE80: 6C 3B 0D 0A 0D 0A 09 09 76 61 72 09 74 69 64 09 l;......var.tid.
01CE90: 3A 20 61 6C 66 61 3B 20 28 2A 20 74 79 70 65 20 : alfa; (* type
01CEA0: 69 64 65 6E 74 69 66 65 72 20 2A 29 0D 0A 0D 0A identifer *)....
01CEB0: 09 09 62 65 67 69 6E 0D 0A 09 09 74 65 73 74 28 ..begin....test(
01CEC0: 69 64 65 6E 74 2C 32 29 3B 0D 0A 09 09 74 69 64 ident,2);....tid
01CED0: 3A 3D 69 64 3B 0D 0A 09 09 74 65 73 74 28 65 71 :=id;....test(eq
01CEE0: 6C 2C 31 36 29 3B 0D 0A 09 09 74 79 70 3B 0D 0A l,16);....typ;..
01CEF0: 09 09 65 6E 74 65 72 28 74 69 64 2C 74 74 79 70 ..enter(tid,ttyp
01CF00: 65 2C 6C 65 76 2C 74 61 64 72 2C 74 6C 65 6E 29 e,lev,tadr,tlen)
01CF10: 0D 0A 09 09 65 6E 64 3B 20 28 2A 20 74 79 70 64 ....end; (* typd
01CF20: 63 6C 20 2A 29 0D 0A 0D 0A 09 70 72 6F 63 65 64 cl *).....proced
01CF30: 75 72 65 20 76 61 72 64 63 6C 3B 0D 0A 0D 0A 09 ure vardcl;.....
01CF40: 09 76 61 72 09 69 09 3A 20 77 6F 72 64 3B 0D 0A .var.i.: word;..
01CF50: 09 09 09 74 78 30 09 3A 20 77 6F 72 64 3B 0D 0A ...tx0.: word;..
01CF60: 09 09 09 74 6C 65 6E 09 3A 20 77 6F 72 64 3B 20 ...tlen.: word;
01CF70: 28 2A 20 74 6F 74 61 6C 20 6C 65 6E 67 74 68 20 (* total length
01CF80: 2A 29 0D 0A 09 09 09 76 6B 69 6E 64 09 3A 20 77 *).....vkind.: w
01CF90: 6F 72 64 3B 20 28 2A 20 76 61 72 69 61 62 6C 65 ord; (* variable
01CFA0: 20 74 79 70 65 20 2A 29 0D 0A 09 09 09 6C 65 6E type *).....len
01CFB0: 09 3A 20 77 6F 72 64 3B 0D 0A 0D 0A 09 09 62 65 .: word;......be
01CFC0: 67 69 6E 0D 0A 09 09 74 65 73 74 28 69 64 65 6E gin....test(iden
01CFD0: 74 2C 32 29 3B 0D 0A 09 09 65 6E 74 65 72 28 69 t,2);....enter(i
01CFE0: 64 2C 6E 6F 74 79 70 65 2C 6C 65 76 2C 30 2C 30 d,notype,lev,0,0
01CFF0: 29 3B 0D 0A 09 09 74 78 30 3A 3D 74 78 3B 0D 0A );....tx0:=tx;..
01D000: 09 09 09 09 09 67 65 6E 28 63 63 6F 6E 5B 33 5D .....gen(ccon[3]
01D010: 2C 63 63 6F 6E 5B 32 5D 2C 0D 0A 09 09 09 09 09 ,ccon[2],.......
01D020: 20 63 63 6F 6E 5B 31 5D 2B 63 63 6F 6E 5B 30 5D ccon[1]+ccon[0]
01D030: 2A 32 35 36 29 0D 0A 09 09 09 09 09 65 6E 64 3B *256).......end;
01D040: 0D 0A 09 09 09 09 67 65 74 73 79 6D 0D 0A 09 09 ......getsym....
01D050: 09 09 65 6E 64 3B 20 28 2A 20 63 61 73 65 20 63 ..end; (* case c
01D060: 68 61 72 63 6F 6E 20 2A 29 0D 0A 09 09 09 6C 70 harcon *).....lp
01D070: 61 72 65 6E 3A 09 62 65 67 69 6E 20 28 2A 20 67 aren:.begin (* g
01D080: 65 74 20 73 75 62 20 65 78 70 72 65 73 73 69 6F et sub expressio
01D090: 6E 20 2A 29 0D 0A 09 09 09 09 67 65 74 73 79 6D n *)......getsym
01D0A0: 3B 20 65 78 70 72 65 73 73 69 6F 6E 28 65 74 79 ; expression(ety
01D0B0: 70 29 3B 0D 0A 09 09 09 09 63 68 65 74 79 70 28 p);......chetyp(
01D0C0: 65 72 65 73 74 79 70 29 3B 0D 0A 09 09 09 09 74 erestyp);......t
01D0D0: 65 73 74 28 72 70 61 72 65 6E 2C 34 29 0D 0A 09 est(rparen,4)...
01D0E0: 09 09 09 65 6E 64 3B 20 28 2A 20 63 61 73 65 20 ...end; (* case
01D0F0: 6C 70 61 72 65 6E 20 2A 29 0D 0A 09 09 09 69 64 lparen *).....id
01D100: 65 6E 74 3A 09 62 65 67 69 6E 0D 0A 09 09 09 09 ent:.begin......
01D110: 69 3A 3D 70 6F 73 69 74 69 6F 6E 3B 0D 0A 09 09 i:=position;....
01D120: 09 09 63 61 73 65 20 73 74 6B 69 6E 64 5B 69 5D ..case stkind[i]
01D130: 20 6F 66 0D 0A 09 09 09 09 61 72 72 61 79 76 61 of......arrayva
01D140: 72 3A 20 62 65 67 69 6E 20 28 2A 20 69 6E 64 65 r: begin (* inde
01D150: 78 20 69 6E 74 6F 20 61 72 72 61 79 20 76 61 72 x into array var
01D160: 20 2A 29 0D 0A 09 09 09 09 20 20 67 65 74 73 79 *)...... getsy
01D170: 6D 3B 0D 0A 09 09 09 09 20 20 74 65 73 74 28 6C m;...... test(l
01D180: 62 72 61 63 6B 2C 31 31 29 3B 0D 0A 09 09 09 09 brack,11);......
01D190: 20 20 65 78 70 72 65 73 73 69 6F 6E 28 77 75 72 expression(wur
01D1A0: 64 29 3B 0D 0A 09 09 09 09 20 20 74 65 73 74 28 d);...... test(
01D1B0: 72 62 72 61 63 6B 2C 31 32 29 3B 0D 0A 09 09 09 rbrack,12);.....
01D1C0: 09 20 20 63 61 73 65 20 73 74 61 64 72 5B 73 74 . case stadr[st
01D1D0: 6C 65 6E 5B 69 5D 5D 20 6F 66 0D 0A 09 09 09 09 len[i]] of......
01D1E0: 20 20 69 6E 74 73 69 7A 65 3A 20 62 65 67 69 6E intsize: begin
01D1F0: 0D 0A 09 09 09 09 20 20 20 20 6F 70 3A 3D 6C 6F ...... op:=lo
01D200: 09 09 77 68 69 6C 65 20 73 79 6D 3D 63 6F 6D 6D ..while sym=comm
01D210: 61 20 64 6F 20 62 65 67 69 6E 0D 0A 09 09 09 67 a do begin.....g
01D220: 65 74 73 79 6D 3B 0D 0A 09 09 09 74 65 73 74 28 etsym;.....test(
01D230: 69 64 65 6E 74 2C 32 29 3B 0D 0A 09 09 09 65 6E ident,2);.....en
01D240: 74 65 72 28 69 64 2C 6E 6F 74 79 70 65 2C 6C 65 ter(id,notype,le
01D250: 76 2C 30 2C 30 29 0D 0A 09 09 09 65 6E 64 3B 0D v,0,0).....end;.
01D260: 0A 09 09 74 65 73 74 28 63 6F 6C 6F 6E 2C 35 29 ...test(colon,5)
01D270: 3B 0D 0A 09 09 74 65 73 74 28 69 64 65 6E 74 2C ;....test(ident,
01D280: 32 29 3B 0D 0A 09 09 69 3A 3D 70 6F 73 69 74 69 2);....i:=positi
01D290: 6F 6E 3B 0D 0A 09 09 74 6C 65 6E 3A 3D 73 74 6C on;....tlen:=stl
01D2A0: 65 6E 5B 69 5D 3B 20 28 2A 20 74 6F 74 61 6C 20 en[i]; (* total
01D2B0: 6C 65 6E 67 74 68 20 6F 66 20 76 61 72 69 61 62 length of variab
01D2C0: 6C 65 20 2A 29 0D 0A 09 09 76 6B 69 6E 64 3A 3D le *)....vkind:=
01D2D0: 73 74 6B 69 6E 64 5B 69 5D 3B 0D 0A 09 09 69 66 stkind[i];....if
01D2E0: 20 76 6B 69 6E 64 3D 73 69 6D 70 74 79 70 65 20 vkind=simptype
01D2F0: 74 68 65 6E 20 62 65 67 69 6E 0D 0A 09 09 09 76 then begin.....v
01D300: 6B 69 6E 64 3A 3D 73 69 6D 70 76 61 72 3B 0D 0A kind:=simpvar;..
01D310: 09 09 09 6C 65 6E 3A 3D 74 6C 65 6E 0D 0A 09 09 ...len:=tlen....
01D320: 09 65 6E 64 0D 0A 09 09 65 6C 73 65 20 69 66 20 .end....else if
01D330: 76 6B 69 6E 64 3D 74 69 70 65 20 74 68 65 6E 20 vkind=tipe then
01D340: 62 65 67 69 6E 0D 0A 09 09 09 76 6B 69 6E 64 3A begin.....vkind:
01D350: 3D 61 72 72 61 79 76 61 72 3B 0D 0A 09 09 09 6C =arrayvar;.....l
01D360: 65 6E 3A 3D 69 20 28 2A 20 70 6F 69 6E 74 65 72 en:=i (* pointer
01D370: 20 74 6F 20 61 72 72 61 79 20 74 79 70 65 20 69 to array type i
01D380: 6E 66 6F 20 2A 29 0D 0A 09 09 09 65 6E 64 0D 0A nfo *).....end..
01D390: 09 09 65 6C 73 65 20 65 72 72 6F 72 28 31 30 33 ..else error(103
01D3A0: 29 3B 0D 0A 09 09 66 6F 72 20 69 3A 3D 74 78 30 );....for i:=tx0
01D3B0: 20 74 6F 20 74 78 20 64 6F 20 62 65 67 69 6E 0D to tx do begin.
01D3C0: 0A 09 09 09 73 74 6B 69 6E 64 5B 69 5D 3A 3D 76 ....stkind[i]:=v
01D3D0: 6B 69 6E 64 3B 20 73 74 6C 65 6E 5B 69 5D 3A 3D kind; stlen[i]:=
01D3E0: 6C 65 6E 3B 0D 0A 09 09 09 69 66 20 6C 65 76 3D len;.....if lev=
01D3F0: 31 20 74 68 65 6E 20 73 74 61 64 72 5B 69 5D 3A 1 then stadr[i]:
01D400: 64 78 3B 20 63 68 65 74 79 70 28 77 75 72 64 29 dx; chetyp(wurd)
01D410: 20 65 6E 64 3B 0D 0A 09 09 09 09 20 20 61 6C 66 end;...... alf
01D420: 61 73 69 7A 65 3A 20 62 65 67 69 6E 0D 0A 09 09 asize: begin....
01D430: 09 09 20 20 20 20 6F 70 3A 3D 61 6C 6F 64 78 3B .. op:=alodx;
01D440: 20 63 68 65 74 79 70 28 61 6C 70 68 61 29 20 65 chetyp(alpha) e
01D450: 6E 64 3B 0D 0A 09 09 09 09 20 20 63 68 61 72 73 nd;...... chars
01D460: 69 7A 65 3A 20 62 65 67 69 6E 0D 0A 09 09 09 09 ize: begin......
01D470: 20 20 20 20 6F 70 3A 3D 63 6C 6F 64 78 3B 20 63 op:=clodx; c
01D480: 68 65 74 79 70 28 77 75 72 64 29 20 65 6E 64 0D hetyp(wurd) end.
01D490: 0A 09 09 09 09 20 20 65 6E 64 3B 20 28 2A 20 63 ..... end; (* c
01D4A0: 61 73 65 20 2A 29 0D 0A 09 09 09 09 20 20 67 65 ase *)...... ge
01D4B0: 6E 6C 65 76 28 6F 70 2C 69 29 3B 0D 0A 09 09 09 nlev(op,i);.....
01D4C0: 09 20 20 65 6E 64 3B 20 28 2A 20 63 61 73 65 20 . end; (* case
01D4D0: 61 72 72 61 79 76 61 72 20 2A 29 0D 0A 09 09 09 arrayvar *).....
01D4E0: 09 63 6F 6E 73 74 61 6E 74 3A 20 62 65 67 69 6E .constant: begin
01D4F0: 20 28 2A 20 6C 6F 61 64 20 63 6F 6E 73 74 61 6E (* load constan
01D500: 74 20 2A 29 0D 0A 09 09 09 09 20 20 67 65 6E 28 t *)...... gen(
01D510: 6C 69 74 2C 30 2C 73 74 61 64 72 5B 69 5D 29 3B lit,0,stadr[i]);
01D520: 0D 0A 09 09 09 09 20 20 63 68 65 74 79 70 28 77 ...... chetyp(w
01D530: 75 72 64 29 3B 0D 0A 09 09 09 09 20 20 67 65 74 urd);...... get
01D540: 73 79 6D 0D 0A 09 09 09 09 20 20 65 6E 64 3B 20 sym...... end;
01D550: 28 2A 20 63 61 73 65 20 63 6F 6E 73 74 61 6E 74 (* case constant
01D560: 20 2A 29 0D 0A 09 09 09 09 76 61 72 70 61 72 6D *)......varparm
01D570: 3A 20 62 65 67 69 6E 20 28 2A 20 6C 6F 61 64 20 : begin (* load
01D580: 66 72 6F 6D 20 76 61 72 20 70 61 72 61 6D 65 74 from var paramet
01D590: 65 72 20 2A 29 0D 0A 09 09 09 09 20 20 67 65 74 er *)...... get
01D5A0: 73 79 6D 3B 20 67 65 6E 6C 65 76 28 6C 6F 64 2C sym; genlev(lod,
01D5B0: 69 29 3B 0D 0A 09 09 09 09 20 20 67 65 6E 28 6C i);...... gen(l
01D5C0: 6F 64 69 2C 30 2C 30 29 3B 0D 0A 09 09 09 09 20 odi,0,0);......
01D5D0: 20 63 68 65 74 79 70 28 77 75 72 64 29 0D 0A 09 chetyp(wurd)...
01D5E0: 09 09 09 20 20 65 6E 64 3B 20 28 2A 20 63 61 73 ... end; (* cas
01D5F0: 65 20 76 61 72 70 61 72 6D 20 2A 29 0D 0A 09 09 e varparm *)....
01D600: 3D 64 78 0D 0A 09 09 09 65 6C 73 65 09 73 74 61 =dx.....else.sta
01D610: 64 72 5B 69 5D 3A 3D 64 78 2B 74 6C 65 6E 3B 0D dr[i]:=dx+tlen;.
01D620: 0A 09 09 09 64 78 3A 3D 64 78 2B 74 6C 65 6E 0D ....dx:=dx+tlen.
01D630: 0A 09 09 09 65 6E 64 0D 0A 09 09 65 6E 64 3B 20 ....end....end;
01D640: 28 2A 20 76 61 72 64 63 6C 20 2A 29 0D 0A 0D 0A (* vardcl *)....
01D650: 09 70 72 6F 63 65 64 75 72 65 20 73 74 61 74 65 .procedure state
01D660: 6D 65 6E 74 3B 0D 0A 0D 0A 09 09 76 61 72 09 69 ment;......var.i
01D670: 2C 20 65 6C 61 62 2C 20 66 6C 61 62 2C 20 74 6C , elab, flab, tl
01D680: 61 62 2C 20 6F 70 2C 20 75 70 64 6E 09 3A 20 77 ab, op, updn.: w
01D690: 6F 72 64 3B 0D 0A 0D 0A 09 09 70 72 6F 63 65 64 ord;......proced
01D6A0: 75 72 65 20 65 78 70 72 65 73 73 69 6F 6E 3B 20 ure expression;
01D6B0: 66 6F 72 77 61 72 64 3B 0D 0A 0D 0A 09 09 70 72 forward;......pr
01D6C0: 6F 63 65 64 75 72 65 20 63 61 6C 6C 28 69 3A 20 ocedure call(i:
01D6D0: 77 6F 72 64 29 3B 0D 0A 0D 0A 09 09 76 61 72 09 word);......var.
01D6E0: 6A 09 3A 20 77 6F 72 64 3B 0D 0A 0D 0A 09 09 62 j.: word;......b
01D6F0: 65 67 69 6E 0D 0A 09 09 67 65 74 73 79 6D 3B 0D egin....getsym;.
01D700: 0A 09 09 69 66 20 73 79 6D 3D 6C 70 61 72 65 6E ...if sym=lparen
01D710: 20 74 68 65 6E 20 62 65 67 69 6E 0D 0A 09 09 09 then begin.....
01D720: 67 65 74 73 79 6D 3B 0D 0A 09 09 09 69 66 20 73 getsym;.....if s
01D730: 79 6D 3C 3E 76 61 72 73 79 6D 20 74 68 65 6E 20 ym<>varsym then
01D740: 62 65 67 69 6E 0D 0A 09 09 09 09 65 78 70 72 65 begin......expre
01D750: 73 73 69 6F 6E 28 64 6F 6E 74 63 61 72 65 29 3B ssion(dontcare);
01D760: 0D 0A 09 09 09 09 77 68 69 6C 65 20 73 79 6D 3D ......while sym=
01D770: 63 6F 6D 6D 61 20 64 6F 20 62 65 67 69 6E 0D 0A comma do begin..
01D780: 09 09 09 09 20 20 67 65 74 73 79 6D 3B 0D 0A 09 .... getsym;...
01D790: 09 09 09 20 20 65 78 70 72 65 73 73 69 6F 6E 28 ... expression(
01D7A0: 64 6F 6E 74 63 61 72 65 29 0D 0A 09 09 09 09 20 dontcare)......
01D7B0: 20 65 6E 64 0D 0A 09 09 09 09 65 6E 64 0D 0A 09 end......end...
01D7C0: 09 09 65 6C 73 65 20 28 2A 20 70 72 6F 63 65 64 ..else (* proced
01D7D0: 75 72 65 20 68 61 73 20 76 61 72 20 70 61 72 61 ure has var para
01D7E0: 6D 65 74 65 72 73 20 2A 29 0D 0A 09 09 09 09 72 meters *)......r
01D7F0: 65 70 65 61 74 0D 0A 09 09 09 09 20 20 67 65 74 epeat...... get
01D800: 09 09 73 69 6D 70 76 61 72 3A 20 62 65 67 69 6E ..simpvar: begin
01D810: 20 28 2A 20 6C 6F 61 64 20 66 72 6F 6D 20 73 69 (* load from si
01D820: 6D 70 6C 65 20 76 61 72 20 2A 29 0D 0A 09 09 09 mple var *).....
01D830: 09 20 20 67 65 74 73 79 6D 3B 0D 0A 09 09 09 09 . getsym;......
01D840: 20 20 63 61 73 65 20 73 74 6C 65 6E 5B 69 5D 20 case stlen[i]
01D850: 6F 66 0D 0A 09 09 09 09 20 20 69 6E 74 73 69 7A of...... intsiz
01D860: 65 3A 20 20 62 65 67 69 6E 0D 0A 09 09 09 09 20 e: begin......
01D870: 20 20 20 6F 70 3A 3D 6C 6F 64 3B 20 63 68 65 74 op:=lod; chet
01D880: 79 70 28 77 75 72 64 29 20 65 6E 64 3B 0D 0A 09 yp(wurd) end;...
01D890: 09 09 09 20 20 61 6C 66 61 73 69 7A 65 3A 20 0D ... alfasize: .
01D8A0: 0A 09 09 09 09 20 20 20 20 69 66 20 73 79 6D 3D ..... if sym=
01D8B0: 6C 62 72 61 63 6B 20 74 68 65 6E 20 62 65 67 69 lbrack then begi
01D8C0: 6E 0D 0A 09 09 09 09 20 20 20 20 20 20 67 65 74 n...... get
01D8D0: 73 79 6D 3B 20 65 78 70 72 65 73 73 69 6F 6E 28 sym; expression(
01D8E0: 77 75 72 64 29 3B 0D 0A 09 09 09 09 20 20 20 20 wurd);......
01D8F0: 20 20 74 65 73 74 28 72 62 72 61 63 6B 2C 31 32 test(rbrack,12
01D900: 29 3B 20 6F 70 3A 3D 6C 6F 64 78 3B 0D 0A 09 09 ); op:=lodx;....
01D910: 09 09 20 20 20 20 20 20 63 68 65 74 79 70 28 77 .. chetyp(w
01D920: 75 72 64 29 20 65 6E 64 0D 0A 09 09 09 09 20 20 urd) end......
01D930: 20 20 65 6C 73 65 20 62 65 67 69 6E 0D 0A 09 09 else begin....
01D940: 09 09 20 20 20 20 20 20 6F 70 3A 3D 61 6C 6F 64 .. op:=alod
01D950: 3B 20 63 68 65 74 79 70 28 61 6C 70 68 61 29 0D ; chetyp(alpha).
01D960: 0A 09 09 09 09 20 20 20 20 20 20 65 6E 64 3B 0D ..... end;.
01D970: 0A 09 09 09 09 20 20 63 68 61 72 73 69 7A 65 3A ..... charsize:
01D980: 20 62 65 67 69 6E 0D 0A 09 09 09 09 20 20 20 20 begin......
01D990: 6F 70 3A 3D 63 6C 6F 64 3B 20 63 68 65 74 79 70 op:=clod; chetyp
01D9A0: 28 77 75 72 64 29 20 65 6E 64 0D 0A 09 09 09 09 (wurd) end......
01D9B0: 20 20 65 6E 64 3B 20 28 2A 20 63 61 73 65 20 73 end; (* case s
01D9C0: 74 6C 65 6E 5B 69 5D 20 2A 29 0D 0A 09 09 09 09 tlen[i] *)......
01D9D0: 20 20 67 65 6E 6C 65 76 28 6F 70 2C 69 29 0D 0A genlev(op,i)..
01D9E0: 09 09 09 09 20 20 65 6E 64 3B 20 28 2A 20 63 61 .... end; (* ca
01D9F0: 73 65 20 73 69 6D 70 76 61 72 20 2A 29 0D 0A 09 se simpvar *)...
01DA00: 73 79 6D 3B 20 74 65 73 74 28 69 64 65 6E 74 2C sym; test(ident,
01DA10: 32 29 3B 0D 0A 09 09 09 09 20 20 6A 3A 3D 70 6F 2);...... j:=po
01DA20: 73 69 74 69 6F 6E 3B 0D 0A 09 09 09 09 20 20 69 sition;...... i
01DA30: 66 20 73 74 6B 69 6E 64 5B 6A 5D 3D 76 61 72 70 f stkind[j]=varp
01DA40: 61 72 6D 0D 0A 09 09 09 09 20 20 20 20 74 68 65 arm...... the
01DA50: 6E 20 67 65 6E 6C 65 76 28 6C 6F 64 2C 6A 29 0D n genlev(lod,j).
01DA60: 0A 09 09 09 09 20 20 20 20 65 6C 73 65 20 67 65 ..... else ge
01DA70: 6E 6C 65 76 28 6C 61 61 2C 6A 29 0D 0A 09 09 09 nlev(laa,j).....
01DA80: 09 75 6E 74 69 6C 20 73 79 6D 3C 3E 63 6F 6D 6D .until sym<>comm
01DA90: 61 3B 0D 0A 09 09 09 74 65 73 74 28 72 70 61 72 a;.....test(rpar
01DAA0: 65 6E 2C 34 29 0D 0A 09 09 09 65 6E 64 3B 0D 0A en,4).....end;..
01DAB0: 09 09 67 65 6E 28 63 61 6C 2C 6C 65 76 2D 73 74 ..gen(cal,lev-st
01DAC0: 6C 65 76 5B 69 5D 2C 73 74 61 64 72 5B 69 5D 29 lev[i],stadr[i])
01DAD0: 3B 0D 0A 09 09 67 65 6E 28 69 6E 74 2C 30 2C 30 ;....gen(int,0,0
01DAE0: 2D 73 74 6C 65 6E 5B 69 5D 29 0D 0A 09 09 65 6E -stlen[i])....en
01DAF0: 64 3B 20 28 2A 20 70 72 6F 63 65 64 75 72 65 20 d; (* procedure
01DB00: 63 61 6C 6C 20 2A 29 0D 0A 0D 0A 09 09 70 72 6F call *)......pro
01DB10: 63 65 64 75 72 65 20 65 78 70 72 65 73 73 69 6F cedure expressio
01DB20: 6E 28 65 74 79 70 3A 20 65 78 70 74 79 70 29 3B n(etyp: exptyp);
01DB30: 20 62 61 63 6B 77 61 72 64 3B 0D 0A 0D 0A 09 09 backward;......
01DB40: 70 72 6F 63 65 64 75 72 65 20 63 68 65 74 79 70 procedure chetyp
01DB50: 28 64 65 73 74 79 70 3A 20 65 78 70 74 79 70 29 (destyp: exptyp)
01DB60: 3B 0D 0A 0D 0A 09 09 09 62 65 67 69 6E 0D 0A 09 ;.......begin...
01DB70: 09 09 69 66 20 65 74 79 70 3D 64 6F 6E 74 63 61 ..if etyp=dontca
01DB80: 72 65 20 74 68 65 6E 0D 0A 09 09 09 09 65 74 79 re then......ety
01DB90: 70 3A 3D 64 65 73 74 79 70 0D 0A 09 09 09 65 6C p:=destyp.....el
01DBA0: 73 65 20 69 66 20 65 74 79 70 3C 3E 64 65 73 74 se if etyp<>dest
01DBB0: 79 70 20 74 68 65 6E 0D 0A 09 09 09 09 65 72 72 yp then......err
01DBC0: 6F 72 28 31 32 39 29 0D 0A 09 09 09 65 6E 64 3B or(129).....end;
01DBD0: 20 28 2A 20 63 68 65 74 79 70 20 2A 29 0D 0A 0D (* chetyp *)...
01DBE0: 0A 09 09 70 72 6F 63 65 64 75 72 65 20 73 65 78 ...procedure sex
01DBF0: 70 3B 0D 0A 0D 0A 09 09 76 61 72 09 61 64 64 6F p;......var.addo
01DC00: 54 72 61 63 6B 2D 49 6E 66 6F 0D 0A 00 01 00 00 Track-Info......
01DC10: 19 00 00 00 02 09 4A E5 19 00 C1 02 00 00 00 02 ......J.........
01DC20: 19 00 C6 02 00 00 00 02 19 00 C2 02 00 00 00 02 ................
01DC30: 19 00 C7 02 00 00 00 02 19 00 C3 02 00 00 00 02 ................
01DC40: 19 00 C8 02 00 00 00 02 19 00 C4 02 00 00 00 02 ................
01DC50: 19 00 C9 02 00 00 00 02 19 00 C5 02 00 00 00 02 ................
01DC60: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
01DC70: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
01DC80: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
01DC90: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
01DCA0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
01DCB0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
01DCC0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
01DCD0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
01DCE0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
01DCF0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
01DD00: 09 09 09 66 75 6E 6B 74 69 6F 6E 3A 20 62 65 67 ...funktion: beg
01DD10: 69 6E 20 28 2A 20 66 75 6E 63 74 69 6F 6E 20 72 in (* function r
01DD20: 65 66 65 72 65 6E 63 65 20 2A 29 0D 0A 09 09 09 eference *).....
01DD30: 09 20 20 20 20 67 65 6E 28 69 6E 74 2C 30 2C 69 . gen(int,0,i
01DD40: 6E 74 73 69 7A 65 29 3B 0D 0A 09 09 09 09 20 20 ntsize);......
01DD50: 20 20 63 61 6C 6C 28 69 29 3B 0D 0A 09 09 09 09 call(i);......
01DD60: 20 20 20 20 63 68 65 74 79 70 28 77 75 72 64 29 chetyp(wurd)
01DD70: 0D 0A 09 09 09 09 20 20 65 6E 64 20 28 2A 20 63 ...... end (* c
01DD80: 61 73 65 20 66 75 6E 6B 74 69 6F 6E 20 2A 29 0D ase funktion *).
01DD90: 0A 09 09 09 09 65 6E 64 20 28 2A 20 63 61 73 65 .....end (* case
01DDA0: 20 73 74 6B 69 6E 64 5B 69 5D 20 6F 66 20 2A 29 stkind[i] of *)
01DDB0: 0D 0A 09 09 09 09 65 6E 64 20 28 2A 20 63 61 73 ......end (* cas
01DDC0: 65 20 69 64 65 6E 74 20 2A 29 0D 0A 09 09 09 65 e ident *).....e
01DDD0: 6C 73 65 09 65 72 72 6F 72 28 35 38 29 0D 0A 09 lse.error(58)...
01DDE0: 09 09 65 6E 64 20 28 2A 20 63 61 73 65 20 73 79 ..end (* case sy
01DDF0: 6D 20 6F 66 20 2A 29 0D 0A 09 09 09 65 6E 64 3B m of *).....end;
01DE00: 20 28 2A 20 66 61 63 74 6F 72 20 2A 29 0D 0A 0D (* factor *)...
01DE10: 0A 09 09 09 62 65 67 69 6E 20 28 2A 20 74 65 72 ....begin (* ter
01DE20: 6D 20 2A 29 0D 0A 09 09 09 66 61 63 74 6F 72 3B m *).....factor;
01DE30: 0D 0A 09 09 09 77 68 69 6C 65 20 28 73 79 6D 3D .....while (sym=
01DE40: 74 69 6D 65 73 29 20 6F 72 20 28 73 79 6D 3D 73 times) or (sym=s
01DE50: 6C 61 73 68 29 20 6F 72 0D 0A 09 09 09 09 28 73 lash) or......(s
01DE60: 79 6D 3D 61 6E 64 73 79 6D 29 20 64 6F 20 62 65 ym=andsym) do be
01DE70: 67 69 6E 0D 0A 09 09 09 09 69 66 20 73 79 6D 3D gin......if sym=
01DE80: 61 6E 64 73 79 6D 20 74 68 65 6E 0D 0A 09 09 09 andsym then.....
01DE90: 09 09 67 65 6E 28 70 73 68 66 2C 30 2C 30 29 3B ..gen(pshf,0,0);
01DEA0: 0D 0A 09 09 09 09 6D 75 6C 6F 70 3A 3D 73 79 6D ......mulop:=sym
01DEB0: 3B 0D 0A 09 09 09 09 67 65 74 73 79 6D 3B 20 66 ;......getsym; f
01DEC0: 61 63 74 6F 72 3B 0D 0A 09 09 09 09 69 66 20 6D actor;......if m
01DED0: 75 6C 6F 70 3D 74 69 6D 65 73 20 74 68 65 6E 20 ulop=times then
01DEE0: 67 65 6E 28 6F 70 72 2C 30 2C 34 29 0D 0A 09 09 gen(opr,0,4)....
01DEF0: 09 09 65 6C 73 65 20 69 66 20 6D 75 6C 6F 70 3D ..else if mulop=
01DF00: 20 20 61 6C 66 61 73 69 7A 65 3A 20 6F 70 3A 3D alfasize: op:=
01DF10: 73 74 6F 78 3B 0D 0A 09 09 09 09 20 20 69 6E 74 stox;...... int
01DF20: 73 69 7A 65 3A 20 20 6F 70 3A 3D 73 74 6F 3B 0D size: op:=sto;.
01DF30: 0A 09 09 09 09 20 20 63 68 61 72 73 69 7A 65 3A ..... charsize:
01DF40: 20 6F 70 3A 3D 63 73 74 6F 0D 0A 09 09 09 09 20 op:=csto......
01DF50: 20 65 6E 64 20 28 2A 20 63 61 73 65 20 73 74 6C end (* case stl
01DF60: 65 6E 5B 69 5D 20 6F 66 20 2A 29 0D 0A 09 09 09 en[i] of *).....
01DF70: 09 65 6C 73 65 20 6F 70 3A 3D 61 73 74 6F 3B 0D .else op:=asto;.
01DF80: 0A 09 09 09 09 67 65 6E 6C 65 76 28 6F 70 2C 69 .....genlev(op,i
01DF90: 29 0D 0A 09 09 09 09 65 6E 64 3B 20 28 2A 20 63 )......end; (* c
01DFA0: 61 73 65 20 73 69 6D 70 76 61 72 20 2A 29 0D 0A ase simpvar *)..
01DFB0: 09 09 09 70 72 6F 7A 65 64 75 72 65 3A 20 62 65 ...prozedure: be
01DFC0: 67 69 6E 20 28 2A 20 70 72 6F 63 65 64 75 72 65 gin (* procedure
01DFD0: 20 63 61 6C 6C 20 2A 29 0D 0A 09 09 09 09 63 61 call *)......ca
01DFE0: 6C 6C 28 69 29 0D 0A 09 09 09 09 65 6E 64 3B 20 ll(i)......end;
01DFF0: 28 2A 20 63 61 73 65 20 70 72 6F 7A 65 64 75 72 (* case prozedur
01E000: 65 20 2A 29 0D 0A 09 09 09 66 75 6E 6B 74 69 6F e *).....funktio
01E010: 6E 3A 20 62 65 67 69 6E 20 28 2A 20 66 75 6E 63 n: begin (* func
01E020: 74 69 6F 6E 20 72 65 74 75 72 6E 20 76 61 6C 75 tion return valu
01E030: 65 20 2A 29 0D 0A 09 09 09 09 67 65 74 73 79 6D e *)......getsym
01E040: 3B 0D 0A 09 09 09 09 74 65 73 74 28 63 6F 6C 6F ;......test(colo
01E050: 6E 2C 35 31 29 3B 20 74 65 73 74 28 65 71 6C 2C n,51); test(eql,
01E060: 35 31 29 3B 0D 0A 09 09 09 09 65 78 70 72 65 73 51);......expres
01E070: 73 69 6F 6E 28 64 6F 6E 74 63 61 72 65 29 3B 0D sion(dontcare);.
01E080: 0A 09 09 09 09 67 65 6E 28 73 74 6F 2C 30 2C 30 .....gen(sto,0,0
01E090: 2D 73 74 6C 65 6E 5B 69 5D 2D 36 29 0D 0A 09 09 -stlen[i]-6)....
01E0A0: 09 09 65 6E 64 20 28 2A 20 63 61 73 65 20 66 75 ..end (* case fu
01E0B0: 6E 6B 74 69 6F 6E 20 2A 29 0D 0A 09 09 09 65 6C nktion *).....el
01E0C0: 73 65 20 65 72 72 6F 72 28 31 30 33 29 0D 0A 09 se error(103)...
01E0D0: 09 09 65 6E 64 20 28 2A 20 63 61 73 65 20 73 74 ..end (* case st
01E0E0: 6B 69 6E 64 5B 69 5D 20 2A 29 0D 0A 09 09 09 65 kind[i] *).....e
01E0F0: 6E 64 3B 20 28 2A 20 63 61 73 65 20 69 64 65 6E nd; (* case iden
01E100: 73 6C 61 73 68 20 74 68 65 6E 20 67 65 6E 28 6F slash then gen(o
01E110: 70 72 2C 30 2C 35 29 0D 0A 09 09 09 09 65 6C 73 pr,0,5)......els
01E120: 65 20 67 65 6E 28 6F 70 72 2C 30 2C 31 35 29 0D e gen(opr,0,15).
01E130: 0A 09 09 09 09 65 6E 64 0D 0A 09 09 09 65 6E 64 .....end.....end
01E140: 3B 20 28 2A 20 74 65 72 6D 20 2A 29 0D 0A 0D 0A ; (* term *)....
01E150: 09 09 09 62 65 67 69 6E 20 28 2A 20 73 65 78 70 ...begin (* sexp
01E160: 20 2A 29 0D 0A 09 09 09 69 66 20 28 73 79 6D 3D *).....if (sym=
01E170: 70 6C 75 73 29 20 6F 72 20 28 73 79 6D 3D 6D 69 plus) or (sym=mi
01E180: 6E 75 73 29 20 74 68 65 6E 20 62 65 67 69 6E 0D nus) then begin.
01E190: 0A 09 09 09 09 61 64 64 6F 70 3A 3D 73 79 6D 3B .....addop:=sym;
01E1A0: 20 67 65 74 73 79 6D 3B 20 74 65 72 6D 3B 0D 0A getsym; term;..
01E1B0: 09 09 09 09 69 66 20 61 64 64 6F 70 3D 6D 69 6E ....if addop=min
01E1C0: 75 73 20 74 68 65 6E 20 67 65 6E 28 6F 70 72 2C us then gen(opr,
01E1D0: 30 2C 31 29 0D 0A 09 09 09 09 65 6E 64 0D 0A 09 0,1)......end...
01E1E0: 09 09 65 6C 73 65 20 74 65 72 6D 3B 0D 0A 09 09 ..else term;....
01E1F0: 09 77 68 69 6C 65 20 28 73 79 6D 3D 70 6C 75 73 .while (sym=plus
01E200: 29 20 6F 72 20 28 73 79 6D 3D 6D 69 6E 75 73 29 ) or (sym=minus)
01E210: 20 6F 72 0D 0A 09 09 09 09 28 73 79 6D 3D 6F 72 or......(sym=or
01E220: 73 79 6D 29 20 64 6F 20 62 65 67 69 6E 0D 0A 09 sym) do begin...
01E230: 09 09 09 69 66 20 73 79 6D 3D 6F 72 73 79 6D 20 ...if sym=orsym
01E240: 74 68 65 6E 0D 0A 09 09 09 09 09 67 65 6E 28 70 then.......gen(p
01E250: 73 68 66 2C 30 2C 30 29 3B 0D 0A 09 09 09 09 61 shf,0,0);......a
01E260: 64 64 6F 70 3A 3D 73 79 6D 3B 20 67 65 74 73 79 ddop:=sym; getsy
01E270: 6D 3B 20 74 65 72 6D 3B 0D 0A 09 09 09 09 69 66 m; term;......if
01E280: 20 61 64 64 6F 70 3D 70 6C 75 73 20 74 68 65 6E addop=plus then
01E290: 20 67 65 6E 28 6F 70 72 2C 30 2C 32 29 0D 0A 09 gen(opr,0,2)...
01E2A0: 09 09 09 65 6C 73 65 20 69 66 20 61 64 64 6F 70 ...else if addop
01E2B0: 3D 6D 69 6E 75 73 20 74 68 65 6E 20 67 65 6E 28 =minus then gen(
01E2C0: 6F 70 72 2C 30 2C 33 29 0D 0A 09 09 09 09 65 6C opr,0,3)......el
01E2D0: 73 65 20 67 65 6E 28 6F 70 72 2C 30 2C 31 34 29 se gen(opr,0,14)
01E2E0: 0D 0A 09 09 09 09 65 6E 64 0D 0A 09 09 09 65 6E ......end.....en
01E2F0: 64 3B 20 28 2A 20 73 65 78 70 20 2A 29 0D 0A 0D d; (* sexp *)...
01E300: 74 20 2A 29 0D 0A 09 09 69 66 73 79 6D 3A 09 62 t *)....ifsym:.b
01E310: 65 67 69 6E 20 67 65 74 73 79 6D 3B 20 65 78 70 egin getsym; exp
01E320: 72 65 73 73 69 6F 6E 28 64 6F 6E 74 63 61 72 65 ression(dontcare
01E330: 29 3B 0D 0A 09 09 09 74 65 73 74 28 74 68 65 6E );.....test(then
01E340: 73 79 6D 2C 35 32 29 3B 0D 0A 09 09 09 66 6C 61 sym,52);.....fla
01E350: 62 3A 3D 6E 6C 61 62 3B 20 67 65 6E 28 6A 70 63 b:=nlab; gen(jpc
01E360: 2C 30 2C 66 6C 61 62 29 3B 0D 0A 09 09 09 73 74 ,0,flab);.....st
01E370: 61 74 65 6D 65 6E 74 3B 0D 0A 09 09 09 69 66 20 atement;.....if
01E380: 73 79 6D 3D 65 6C 73 65 73 79 6D 20 74 68 65 6E sym=elsesym then
01E390: 20 62 65 67 69 6E 0D 0A 09 09 09 09 65 6C 61 62 begin......elab
01E3A0: 3A 3D 6E 6C 61 62 3B 20 67 65 6E 28 6A 6D 70 2C :=nlab; gen(jmp,
01E3B0: 30 2C 65 6C 61 62 29 3B 0D 0A 09 09 09 09 67 65 0,elab);......ge
01E3C0: 6E 28 6C 61 62 2C 30 2C 66 6C 61 62 29 3B 0D 0A n(lab,0,flab);..
01E3D0: 09 09 09 09 67 65 74 73 79 6D 3B 0D 0A 09 09 09 ....getsym;.....
01E3E0: 09 73 74 61 74 65 6D 65 6E 74 3B 0D 0A 09 09 09 .statement;.....
01E3F0: 09 67 65 6E 28 6C 61 62 2C 30 2C 65 6C 61 62 29 .gen(lab,0,elab)
01E400: 0D 0A 09 09 09 09 65 6E 64 0D 0A 09 09 09 65 6C ......end.....el
01E410: 73 65 20 67 65 6E 28 6C 61 62 2C 30 2C 66 6C 61 se gen(lab,0,fla
01E420: 62 29 0D 0A 09 09 09 65 6E 64 3B 20 28 2A 20 63 b).....end; (* c
01E430: 61 73 65 20 69 66 73 79 6D 20 2A 29 0D 0A 09 09 ase ifsym *)....
01E440: 66 6F 72 73 79 6D 3A 09 62 65 67 69 6E 20 67 65 forsym:.begin ge
01E450: 74 73 79 6D 3B 0D 0A 09 09 09 74 65 73 74 28 69 tsym;.....test(i
01E460: 64 65 6E 74 2C 32 29 3B 20 69 3A 3D 70 6F 73 69 dent,2); i:=posi
01E470: 74 69 6F 6E 3B 0D 0A 09 09 09 74 65 73 74 28 63 tion;.....test(c
01E480: 6F 6C 6F 6E 2C 35 31 29 3B 20 74 65 73 74 28 65 olon,51); test(e
01E490: 71 6C 2C 35 31 29 3B 0D 0A 09 09 09 65 78 70 72 ql,51);.....expr
01E4A0: 65 73 73 69 6F 6E 28 64 6F 6E 74 63 61 72 65 29 ession(dontcare)
01E4B0: 3B 0D 0A 09 09 09 67 65 6E 6C 65 76 28 73 74 6F ;.....genlev(sto
01E4C0: 2C 69 29 3B 0D 0A 09 09 09 69 66 20 73 79 6D 3D ,i);.....if sym=
01E4D0: 74 6F 73 79 6D 20 74 68 65 6E 20 62 65 67 69 6E tosym then begin
01E4E0: 0D 0A 09 09 09 09 67 65 74 73 79 6D 3B 20 75 70 ......getsym; up
01E4F0: 64 6E 3A 3D 31 39 3B 20 6F 70 3A 3D 31 31 20 65 dn:=19; op:=11 e
01E500: 0A 09 09 09 62 65 67 69 6E 20 28 2A 20 65 78 70 ....begin (* exp
01E510: 72 65 73 73 69 6F 6E 20 2A 29 0D 0A 09 09 09 73 ression *).....s
01E520: 65 78 70 3B 0D 0A 09 09 09 69 66 20 73 79 6D 3D exp;.....if sym=
01E530: 6C 73 73 20 74 68 65 6E 20 62 65 67 69 6E 0D 0A lss then begin..
01E540: 09 09 09 09 67 65 74 73 79 6D 3B 0D 0A 09 09 09 ....getsym;.....
01E550: 09 69 66 20 73 79 6D 3D 65 71 6C 20 74 68 65 6E .if sym=eql then
01E560: 20 62 65 67 69 6E 0D 0A 09 09 09 09 09 67 65 74 begin.......get
01E570: 73 79 6D 3B 20 73 65 78 70 3B 0D 0A 09 09 09 09 sym; sexp;......
01E580: 09 67 65 6E 28 6F 70 72 2C 65 74 79 70 2C 31 33 .gen(opr,etyp,13
01E590: 29 20 65 6E 64 0D 0A 09 09 09 09 65 6C 73 65 20 ) end......else
01E5A0: 69 66 20 73 79 6D 3D 67 74 72 20 74 68 65 6E 20 if sym=gtr then
01E5B0: 62 65 67 69 6E 0D 0A 09 09 09 09 09 67 65 74 73 begin.......gets
01E5C0: 79 6D 3B 20 73 65 78 70 3B 0D 0A 09 09 09 09 09 ym; sexp;.......
01E5D0: 67 65 6E 28 6F 70 72 2C 65 74 79 70 2C 39 29 20 gen(opr,etyp,9)
01E5E0: 65 6E 64 0D 0A 09 09 09 09 65 6C 73 65 20 62 65 end......else be
01E5F0: 67 69 6E 0D 0A 09 09 09 09 09 73 65 78 70 3B 20 gin.......sexp;
01E600: 67 65 6E 28 6F 70 72 2C 65 74 79 70 2C 31 30 29 gen(opr,etyp,10)
01E610: 20 65 6E 64 0D 0A 09 09 09 09 65 6E 64 0D 0A 09 end......end...
01E620: 09 09 65 6C 73 65 20 69 66 20 73 79 6D 3D 67 74 ..else if sym=gt
01E630: 72 20 74 68 65 6E 20 62 65 67 69 6E 0D 0A 09 09 r then begin....
01E640: 09 09 67 65 74 73 79 6D 3B 0D 0A 09 09 09 09 69 ..getsym;......i
01E650: 66 20 73 79 6D 3D 65 71 6C 20 74 68 65 6E 20 62 f sym=eql then b
01E660: 65 67 69 6E 0D 0A 09 09 09 09 09 67 65 74 73 79 egin.......getsy
01E670: 6D 3B 20 73 65 78 70 3B 0D 0A 09 09 09 09 09 67 m; sexp;.......g
01E680: 65 6E 28 6F 70 72 2C 65 74 79 70 2C 31 31 29 20 en(opr,etyp,11)
01E690: 65 6E 64 0D 0A 09 09 09 09 65 6C 73 65 20 62 65 end......else be
01E6A0: 67 69 6E 0D 0A 09 09 09 09 09 73 65 78 70 3B 20 gin.......sexp;
01E6B0: 67 65 6E 28 6F 70 72 2C 65 74 79 70 2C 31 32 29 gen(opr,etyp,12)
01E6C0: 20 65 6E 64 0D 0A 09 09 09 09 65 6E 64 0D 0A 09 end......end...
01E6D0: 09 09 65 6C 73 65 20 69 66 20 73 79 6D 3D 65 71 ..else if sym=eq
01E6E0: 6C 20 74 68 65 6E 20 62 65 67 69 6E 0D 0A 09 09 l then begin....
01E6F0: 09 09 67 65 74 73 79 6D 3B 20 73 65 78 70 3B 20 ..getsym; sexp;
01E700: 6E 64 0D 0A 09 09 09 65 6C 73 65 20 69 66 20 73 nd.....else if s
01E710: 79 6D 3D 64 6F 77 6E 74 6F 73 79 6D 20 74 68 65 ym=downtosym the
01E720: 6E 20 62 65 67 69 6E 0D 0A 09 09 09 09 67 65 74 n begin......get
01E730: 73 79 6D 3B 20 75 70 64 6E 3A 3D 32 30 3B 20 6F sym; updn:=20; o
01E740: 70 3A 3D 31 33 20 65 6E 64 0D 0A 09 09 09 65 6C p:=13 end.....el
01E750: 73 65 20 65 72 72 6F 72 28 35 35 29 3B 0D 0A 09 se error(55);...
01E760: 09 09 65 78 70 72 65 73 73 69 6F 6E 28 64 6F 6E ..expression(don
01E770: 74 63 61 72 65 29 3B 0D 0A 09 09 09 74 65 73 74 tcare);.....test
01E780: 28 64 6F 73 79 6D 2C 35 34 29 3B 0D 0A 09 09 09 (dosym,54);.....
01E790: 74 6C 61 62 3A 3D 6E 6C 61 62 3B 20 67 65 6E 28 tlab:=nlab; gen(
01E7A0: 6C 61 62 2C 30 2C 74 6C 61 62 29 3B 0D 0A 09 09 lab,0,tlab);....
01E7B0: 09 67 65 6E 28 6F 70 72 2C 30 2C 32 31 29 3B 0D .gen(opr,0,21);.
01E7C0: 0A 09 09 09 67 65 6E 6C 65 76 28 6C 6F 64 2C 69 ....genlev(lod,i
01E7D0: 29 3B 0D 0A 09 09 09 67 65 6E 28 6F 70 72 2C 30 );.....gen(opr,0
01E7E0: 2C 6F 70 29 3B 0D 0A 09 09 09 65 6C 61 62 3A 3D ,op);.....elab:=
01E7F0: 6E 6C 61 62 3B 20 67 65 6E 28 6A 70 63 2C 30 2C nlab; gen(jpc,0,
01E800: 65 6C 61 62 29 3B 0D 0A 09 09 09 73 74 61 74 65 elab);.....state
01E810: 6D 65 6E 74 3B 0D 0A 09 09 09 67 65 6E 6C 65 76 ment;.....genlev
01E820: 28 6C 6F 64 2C 69 29 3B 0D 0A 09 09 09 67 65 6E (lod,i);.....gen
01E830: 28 6F 70 72 2C 30 2C 75 70 64 6E 29 3B 0D 0A 09 (opr,0,updn);...
01E840: 09 09 67 65 6E 6C 65 76 28 73 74 6F 2C 69 29 3B ..genlev(sto,i);
01E850: 0D 0A 09 09 09 67 65 6E 28 6A 6D 70 2C 30 2C 74 .....gen(jmp,0,t
01E860: 6C 61 62 29 3B 0D 0A 09 09 09 67 65 6E 28 6C 61 lab);.....gen(la
01E870: 62 2C 30 2C 65 6C 61 62 29 3B 20 67 65 6E 28 69 b,0,elab); gen(i
01E880: 6E 74 2C 30 2C 30 2D 69 6E 74 73 69 7A 65 29 0D nt,0,0-intsize).
01E890: 0A 09 09 09 65 6E 64 3B 20 28 2A 20 63 61 73 65 ....end; (* case
01E8A0: 20 66 6F 72 73 79 6D 20 2A 29 0D 0A 09 09 72 65 forsym *)....re
01E8B0: 70 65 61 74 73 79 6D 3A 20 62 65 67 69 6E 0D 0A peatsym: begin..
01E8C0: 09 09 09 74 6C 61 62 3A 3D 6E 6C 61 62 3B 20 67 ...tlab:=nlab; g
01E8D0: 65 6E 28 6C 61 62 2C 30 2C 74 6C 61 62 29 3B 0D en(lab,0,tlab);.
01E8E0: 0A 09 09 09 72 65 70 65 61 74 0D 0A 09 09 09 09 ....repeat......
01E8F0: 67 65 74 73 79 6D 3B 20 73 74 61 74 65 6D 65 6E getsym; statemen
01E900: 67 65 6E 28 6F 70 72 2C 65 74 79 70 2C 38 29 20 gen(opr,etyp,8)
01E910: 65 6E 64 3B 0D 0A 09 09 09 65 72 65 73 74 79 70 end;.....erestyp
01E920: 3A 3D 65 74 79 70 0D 0A 09 09 09 65 6E 64 3B 20 :=etyp.....end;
01E930: 28 2A 20 65 78 70 72 65 73 73 69 6F 6E 20 2A 29 (* expression *)
01E940: 0D 0A 0D 0A 09 09 62 65 67 69 6E 20 28 2A 20 73 ......begin (* s
01E950: 74 61 74 65 6D 65 6E 74 20 2A 29 0D 0A 09 09 63 tatement *)....c
01E960: 61 73 65 20 73 79 6D 20 6F 66 0D 0A 09 09 69 64 ase sym of....id
01E970: 65 6E 74 3A 09 62 65 67 69 6E 20 28 2A 20 63 6F ent:.begin (* co
01E980: 75 6C 64 20 62 65 20 61 6E 79 74 68 69 6E 67 20 uld be anything
01E990: 2A 29 0D 0A 09 09 09 69 3A 3D 70 6F 73 69 74 69 *).....i:=positi
01E9A0: 6F 6E 3B 0D 0A 09 09 09 63 61 73 65 20 73 74 6B on;.....case stk
01E9B0: 69 6E 64 5B 69 5D 20 6F 66 0D 0A 09 09 09 61 72 ind[i] of.....ar
01E9C0: 72 61 79 76 61 72 3A 20 62 65 67 69 6E 20 28 2A rayvar: begin (*
01E9D0: 20 61 72 72 61 79 20 61 73 73 69 67 6E 6D 65 6E array assignmen
01E9E0: 74 20 2A 29 0D 0A 09 09 09 09 67 65 74 73 79 6D t *)......getsym
01E9F0: 3B 20 74 65 73 74 28 6C 62 72 61 63 6B 2C 31 31 ; test(lbrack,11
01EA00: 29 3B 0D 0A 09 09 09 09 65 78 70 72 65 73 73 69 );......expressi
01EA10: 6F 6E 28 77 75 72 64 29 3B 0D 0A 09 09 09 09 74 on(wurd);......t
01EA20: 65 73 74 28 72 62 72 61 63 6B 2C 31 32 29 3B 0D est(rbrack,12);.
01EA30: 0A 09 09 09 09 74 65 73 74 28 63 6F 6C 6F 6E 2C .....test(colon,
01EA40: 35 31 29 3B 20 74 65 73 74 28 65 71 6C 2C 35 31 51); test(eql,51
01EA50: 29 3B 0D 0A 09 09 09 09 65 78 70 72 65 73 73 69 );......expressi
01EA60: 6F 6E 28 64 6F 6E 74 63 61 72 65 29 3B 0D 0A 09 on(dontcare);...
01EA70: 09 09 09 63 61 73 65 20 73 74 61 64 72 5B 73 74 ...case stadr[st
01EA80: 6C 65 6E 5B 69 5D 5D 20 6F 66 0D 0A 09 09 09 09 len[i]] of......
01EA90: 63 68 61 72 73 69 7A 65 3A 20 6F 70 3A 3D 63 73 charsize: op:=cs
01EAA0: 74 6F 78 3B 0D 0A 09 09 09 09 69 6E 74 73 69 7A tox;......intsiz
01EAB0: 65 3A 20 20 6F 70 3A 3D 73 74 6F 78 3B 0D 0A 09 e: op:=stox;...
01EAC0: 09 09 09 61 6C 66 61 73 69 7A 65 3A 20 6F 70 3A ...alfasize: op:
01EAD0: 3D 61 73 74 6F 78 0D 0A 09 09 09 09 65 6E 64 3B =astox......end;
01EAE0: 20 28 2A 20 63 61 73 65 20 73 74 61 64 72 5B 73 (* case stadr[s
01EAF0: 74 6C 65 6E 5B 69 5D 5D 20 6F 66 20 2A 29 0D 0A tlen[i]] of *)..
01EB00: 74 0D 0A 09 09 09 75 6E 74 69 6C 20 73 79 6D 3C t.....until sym<
01EB10: 3E 73 65 6D 69 63 6F 6C 6F 6E 3B 0D 0A 09 09 09 >semicolon;.....
01EB20: 74 65 73 74 28 75 6E 74 69 6C 73 79 6D 2C 35 33 test(untilsym,53
01EB30: 29 3B 20 65 78 70 72 65 73 73 69 6F 6E 28 64 6F ); expression(do
01EB40: 6E 74 63 61 72 65 29 3B 0D 0A 09 09 09 67 65 6E ntcare);.....gen
01EB50: 28 6A 70 63 2C 30 2C 74 6C 61 62 29 0D 0A 09 09 (jpc,0,tlab)....
01EB60: 09 65 6E 64 3B 20 28 2A 20 63 61 73 65 20 72 65 .end; (* case re
01EB70: 70 65 61 74 73 79 6D 20 2A 29 0D 0A 09 09 63 61 peatsym *)....ca
01EB80: 73 65 73 79 6D 3A 20 62 65 67 69 6E 0D 0A 09 09 sesym: begin....
01EB90: 09 67 65 74 73 79 6D 3B 20 65 78 70 72 65 73 73 .getsym; express
01EBA0: 69 6F 6E 28 64 6F 6E 74 63 61 72 65 29 3B 0D 0A ion(dontcare);..
01EBB0: 09 09 09 69 66 20 73 79 6D 3C 3E 6F 66 73 79 6D ...if sym<>ofsym
01EBC0: 20 74 68 65 6E 20 65 72 72 6F 72 28 38 29 3B 0D then error(8);.
01EBD0: 0A 09 09 09 65 6C 61 62 3A 3D 6E 6C 61 62 3B 20 ....elab:=nlab;
01EBE0: 28 2A 20 65 6E 64 20 6C 61 62 65 6C 20 2A 29 0D (* end label *).
01EBF0: 0A 09 09 09 72 65 70 65 61 74 0D 0A 09 09 09 09 ....repeat......
01EC00: 67 65 74 73 79 6D 3B 0D 0A 09 09 09 09 67 65 6E getsym;......gen
01EC10: 28 6F 70 72 2C 30 2C 32 31 29 3B 20 28 2A 20 64 (opr,0,21); (* d
01EC20: 75 70 20 2A 29 0D 0A 09 09 09 09 67 65 6E 28 6C up *)......gen(l
01EC30: 69 74 2C 30 2C 63 6F 6D 70 63 6F 6E 29 3B 0D 0A it,0,compcon);..
01EC40: 09 09 09 09 74 65 73 74 28 63 6F 6C 6F 6E 2C 35 ....test(colon,5
01EC50: 29 3B 0D 0A 09 09 09 09 67 65 6E 28 6F 70 72 2C );......gen(opr,
01EC60: 30 2C 38 29 3B 20 28 2A 20 65 71 75 61 6C 20 72 0,8); (* equal r
01EC70: 65 6C 6F 70 20 2A 29 0D 0A 09 09 09 09 66 6C 61 elop *)......fla
01EC80: 62 3A 3D 6E 6C 61 62 3B 20 67 65 6E 28 6A 70 63 b:=nlab; gen(jpc
01EC90: 2C 30 2C 66 6C 61 62 29 3B 0D 0A 09 09 09 09 73 ,0,flab);......s
01ECA0: 74 61 74 65 6D 65 6E 74 3B 0D 0A 09 09 09 09 67 tatement;......g
01ECB0: 65 6E 28 6A 6D 70 2C 30 2C 65 6C 61 62 29 3B 0D en(jmp,0,elab);.
01ECC0: 0A 09 09 09 09 67 65 6E 28 6C 61 62 2C 30 2C 66 .....gen(lab,0,f
01ECD0: 6C 61 62 29 0D 0A 09 09 09 75 6E 74 69 6C 20 28 lab).....until (
01ECE0: 73 79 6D 3D 65 6C 73 65 73 79 6D 29 20 6F 72 20 sym=elsesym) or
01ECF0: 28 73 79 6D 3D 65 6E 64 73 79 6D 29 3B 0D 0A 09 (sym=endsym);...
01ED00: 09 09 09 09 67 65 6E 6C 65 76 28 6F 70 2C 69 29 ....genlev(op,i)
01ED10: 0D 0A 09 09 09 09 65 6E 64 3B 20 28 2A 20 63 61 ......end; (* ca
01ED20: 73 65 20 61 72 72 61 79 76 61 72 20 2A 29 0D 0A se arrayvar *)..
01ED30: 09 09 09 76 61 72 70 61 72 6D 3A 20 62 65 67 69 ...varparm: begi
01ED40: 6E 20 28 2A 20 76 61 72 20 70 61 72 61 6D 65 74 n (* var paramet
01ED50: 65 72 20 61 73 73 69 67 6E 6D 65 6E 74 20 2A 29 er assignment *)
01ED60: 0D 0A 09 09 09 09 67 65 74 73 79 6D 3B 20 67 65 ......getsym; ge
01ED70: 6E 6C 65 76 28 6C 6F 64 2C 69 29 3B 0D 0A 09 09 nlev(lod,i);....
01ED80: 09 09 74 65 73 74 28 63 6F 6C 6F 6E 2C 35 31 29 ..test(colon,51)
01ED90: 3B 20 74 65 73 74 28 65 71 6C 2C 35 31 29 3B 0D ; test(eql,51);.
01EDA0: 0A 09 09 09 09 65 78 70 72 65 73 73 69 6F 6E 28 .....expression(
01EDB0: 64 6F 6E 74 63 61 72 65 29 3B 0D 0A 09 09 09 09 dontcare);......
01EDC0: 67 65 6E 28 73 74 6F 69 2C 30 2C 30 29 0D 0A 09 gen(stoi,0,0)...
01EDD0: 09 09 09 65 6E 64 3B 20 28 2A 20 63 61 73 65 20 ...end; (* case
01EDE0: 76 61 72 70 61 72 6D 20 2A 29 0D 0A 09 09 09 73 varparm *).....s
01EDF0: 69 6D 70 76 61 72 3A 20 62 65 67 69 6E 20 28 2A impvar: begin (*
01EE00: 20 73 69 6D 70 6C 65 20 76 61 72 69 61 62 6C 65 simple variable
01EE10: 20 61 73 73 69 67 6E 6D 65 6E 74 20 2A 29 0D 0A assignment *)..
01EE20: 09 09 09 09 67 65 74 73 79 6D 3B 0D 0A 09 09 09 ....getsym;.....
01EE30: 09 69 66 20 73 79 6D 3D 6C 62 72 61 63 6B 20 74 .if sym=lbrack t
01EE40: 68 65 6E 20 62 65 67 69 6E 0D 0A 09 09 09 09 20 hen begin......
01EE50: 20 67 65 74 73 79 6D 3B 20 65 78 70 72 65 73 73 getsym; express
01EE60: 69 6F 6E 28 64 6F 6E 74 63 61 72 65 29 3B 0D 0A ion(dontcare);..
01EE70: 09 09 09 09 20 20 74 65 73 74 28 72 62 72 61 63 .... test(rbrac
01EE80: 6B 2C 31 32 29 20 65 6E 64 3B 0D 0A 09 09 09 09 k,12) end;......
01EE90: 74 65 73 74 28 63 6F 6C 6F 6E 2C 35 31 29 3B 20 test(colon,51);
01EEA0: 74 65 73 74 28 65 71 6C 2C 35 31 29 3B 0D 0A 09 test(eql,51);...
01EEB0: 09 09 09 65 78 70 72 65 73 73 69 6F 6E 28 64 6F ...expression(do
01EEC0: 6E 74 63 61 72 65 29 3B 0D 0A 09 09 09 09 69 66 ntcare);......if
01EED0: 20 65 72 65 73 74 79 70 3D 77 75 72 64 20 74 68 erestyp=wurd th
01EEE0: 65 6E 0D 0A 09 09 09 09 20 20 63 61 73 65 20 73 en...... case s
01EEF0: 74 6C 65 6E 5B 69 5D 20 6F 66 0D 0A 09 09 09 09 tlen[i] of......
01EF00: 54 72 61 63 6B 2D 49 6E 66 6F 0D 0A 00 01 00 00 Track-Info......
01EF10: 1A 00 00 00 02 09 4B E5 1A 00 C1 02 00 00 00 02 ......K.........
01EF20: 1A 00 C6 02 00 00 00 02 1A 00 C2 02 00 00 00 02 ................
01EF30: 1A 00 C7 02 00 00 00 02 1A 00 C3 02 00 00 00 02 ................
01EF40: 1A 00 C8 02 00 00 00 02 1A 00 C4 02 00 00 00 02 ................
01EF50: 1A 00 C9 02 00 00 00 02 1A 00 C5 02 00 00 00 02 ................
01EF60: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
01EF70: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
01EF80: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
01EF90: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
01EFA0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
01EFB0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
01EFC0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
01EFD0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
01EFE0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
01EFF0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
01F000: 09 09 69 66 20 73 79 6D 3D 65 6C 73 65 73 79 6D ..if sym=elsesym
01F010: 20 74 68 65 6E 20 62 65 67 69 6E 0D 0A 09 09 09 then begin.....
01F020: 09 67 65 74 73 79 6D 3B 0D 0A 09 09 09 09 73 74 .getsym;......st
01F030: 61 74 65 6D 65 6E 74 0D 0A 09 09 09 09 65 6E 64 atement......end
01F040: 3B 0D 0A 09 09 09 74 65 73 74 28 65 6E 64 73 79 ;.....test(endsy
01F050: 6D 2C 31 33 29 3B 0D 0A 09 09 09 67 65 6E 28 6C m,13);.....gen(l
01F060: 61 62 2C 30 2C 65 6C 61 62 29 3B 0D 0A 09 09 09 ab,0,elab);.....
01F070: 67 65 6E 28 69 6E 74 2C 30 2C 30 2D 69 6E 74 73 gen(int,0,0-ints
01F080: 69 7A 65 29 0D 0A 09 09 09 65 6E 64 3B 20 28 2A ize).....end; (*
01F090: 20 63 61 73 65 20 63 61 73 65 73 79 6D 20 2A 29 case casesym *)
01F0A0: 0D 0A 09 09 67 65 74 73 79 3A 09 62 65 67 69 6E ....getsy:.begin
01F0B0: 0D 0A 09 09 09 67 65 74 73 79 6D 3B 20 74 65 73 .....getsym; tes
01F0C0: 74 28 70 6F 75 6E 64 2C 39 39 29 3B 0D 0A 09 09 t(pound,99);....
01F0D0: 09 69 3A 3D 63 6F 6D 70 63 6F 6E 3B 0D 0A 09 09 .i:=compcon;....
01F0E0: 09 74 65 73 74 28 6C 70 61 72 65 6E 2C 39 29 3B .test(lparen,9);
01F0F0: 20 74 65 73 74 28 69 64 65 6E 74 2C 32 29 3B 0D test(ident,2);.
01F100: 0A 09 09 09 67 65 6E 28 63 73 70 2C 69 2C 30 29 ....gen(csp,i,0)
01F110: 3B 0D 0A 09 09 09 69 3A 3D 70 6F 73 69 74 69 6F ;.....i:=positio
01F120: 6E 3B 0D 0A 09 09 09 67 65 6E 6C 65 76 28 73 74 n;.....genlev(st
01F130: 6F 2C 69 29 3B 0D 0A 09 09 09 74 65 73 74 28 72 o,i);.....test(r
01F140: 70 61 72 65 6E 2C 34 29 0D 0A 09 09 09 65 6E 64 paren,4).....end
01F150: 3B 20 28 2A 20 63 61 73 65 20 67 65 74 73 79 20 ; (* case getsy
01F160: 2A 29 0D 0A 09 09 70 75 74 73 79 6D 3A 09 62 65 *)....putsym:.be
01F170: 67 69 6E 0D 0A 09 09 09 67 65 74 73 79 6D 3B 0D gin.....getsym;.
01F180: 0A 09 09 09 74 65 73 74 28 70 6F 75 6E 64 2C 39 ....test(pound,9
01F190: 39 29 3B 0D 0A 09 09 09 69 3A 3D 63 6F 6D 70 63 9);.....i:=compc
01F1A0: 6F 6E 3B 0D 0A 09 09 09 69 66 20 73 79 6D 3C 3E on;.....if sym<>
01F1B0: 6C 70 61 72 65 6E 20 74 68 65 6E 20 65 72 72 6F lparen then erro
01F1C0: 72 28 39 29 3B 0D 0A 09 09 09 72 65 70 65 61 74 r(9);.....repeat
01F1D0: 0D 0A 09 09 09 09 67 65 74 73 79 6D 3B 20 65 78 ......getsym; ex
01F1E0: 70 72 65 73 73 69 6F 6E 28 64 6F 6E 74 63 61 72 pression(dontcar
01F1F0: 65 29 3B 0D 0A 09 09 09 09 69 66 20 65 72 65 73 e);......if eres
01F200: 69 63 6F 6C 6F 6E 2C 31 34 29 3B 0D 0A 09 09 69 icolon,14);....i
01F210: 66 20 69 64 3D 27 46 4F 52 57 41 52 44 20 27 0D f id='FORWARD '.
01F220: 0A 09 09 74 68 65 6E 20 67 65 74 73 79 6D 0D 0A ...then getsym..
01F230: 09 09 65 6C 73 65 0D 0A 09 09 09 69 66 20 69 64 ..else.....if id
01F240: 3D 27 42 41 43 4B 57 41 52 44 27 20 74 68 65 6E ='BACKWARD' then
01F250: 20 62 65 67 69 6E 0D 0A 09 09 09 09 67 65 74 73 begin......gets
01F260: 79 6D 3B 0D 0A 09 09 09 09 74 65 73 74 28 73 65 ym;......test(se
01F270: 6D 69 63 6F 6C 6F 6E 2C 31 34 29 3B 0D 0A 09 09 micolon,14);....
01F280: 09 09 69 3A 3D 31 3B 20 69 64 3A 3D 73 74 6E 61 ..i:=1; id:=stna
01F290: 6D 65 5B 74 78 31 5D 3B 0D 0A 09 09 09 09 77 68 me[tx1];......wh
01F2A0: 69 6C 65 20 69 64 3C 3E 73 74 6E 61 6D 65 5B 69 ile id<>stname[i
01F2B0: 5D 20 64 6F 0D 0A 09 09 09 09 09 69 3A 3D 69 2B ] do.......i:=i+
01F2C0: 31 3B 0D 0A 09 09 09 09 73 74 6E 61 6D 65 5B 69 1;......stname[i
01F2D0: 5D 3A 3D 27 2A 2A 2A 2A 2A 2A 2A 2A 27 3B 0D 0A ]:='********';..
01F2E0: 09 09 09 09 73 74 61 64 72 5B 74 78 31 5D 3A 3D ....stadr[tx1]:=
01F2F0: 73 74 61 64 72 5B 69 5D 3B 0D 0A 09 09 09 09 62 stadr[i];......b
01F300: 6C 6F 63 6B 28 6C 65 76 2B 31 2C 73 74 61 64 72 lock(lev+1,stadr
01F310: 5B 69 5D 29 0D 0A 09 09 09 09 65 6E 64 0D 0A 09 [i])......end...
01F320: 09 09 65 6C 73 65 0D 0A 09 09 09 09 62 6C 6F 63 ..else......bloc
01F330: 6B 28 6C 65 76 2B 31 2C 6E 6C 29 3B 0D 0A 09 09 k(lev+1,nl);....
01F340: 74 78 3A 3D 74 78 31 3B 20 28 2A 20 6C 65 61 76 tx:=tx1; (* leav
01F350: 65 20 6F 6E 6C 79 20 70 72 6F 63 20 6E 61 6D 65 e only proc name
01F360: 20 69 6E 20 74 61 62 6C 65 20 2A 29 0D 0A 09 09 in table *)....
01F370: 74 65 73 74 28 73 65 6D 69 63 6F 6C 6F 6E 2C 31 test(semicolon,1
01F380: 34 29 0D 0A 09 09 65 6E 64 3B 0D 0A 09 74 65 73 4)....end;...tes
01F390: 74 28 62 65 67 69 6E 73 79 6D 2C 31 37 29 3B 0D t(beginsym,17);.
01F3A0: 0A 09 67 65 6E 28 6C 61 62 2C 30 2C 70 6C 61 62 ..gen(lab,0,plab
01F3B0: 29 3B 0D 0A 09 69 66 20 6C 65 76 3C 3E 31 20 74 );...if lev<>1 t
01F3C0: 68 65 6E 20 67 65 6E 28 69 6E 74 2C 30 2C 64 78 hen gen(int,0,dx
01F3D0: 29 3B 0D 0A 09 73 74 61 74 65 6D 65 6E 74 3B 0D );...statement;.
01F3E0: 0A 09 77 68 69 6C 65 20 73 79 6D 3D 73 65 6D 69 ..while sym=semi
01F3F0: 63 6F 6C 6F 6E 20 64 6F 20 62 65 67 69 6E 0D 0A colon do begin..
01F400: 74 79 70 3D 77 75 72 64 20 74 68 65 6E 20 6F 70 typ=wurd then op
01F410: 3A 3D 31 0D 0A 09 09 09 09 65 6C 73 65 20 6F 70 :=1......else op
01F420: 3A 3D 38 3B 0D 0A 09 09 09 09 69 66 20 73 79 6D :=8;......if sym
01F430: 3D 70 6F 75 6E 64 20 74 68 65 6E 20 62 65 67 69 =pound then begi
01F440: 6E 0D 0A 09 09 09 09 09 67 65 74 73 79 6D 3B 20 n.......getsym;
01F450: 6F 70 3A 3D 33 20 65 6E 64 3B 0D 0A 09 09 09 09 op:=3 end;......
01F460: 67 65 6E 28 63 73 70 2C 69 2C 6F 70 29 0D 0A 09 gen(csp,i,op)...
01F470: 09 09 75 6E 74 69 6C 20 73 79 6D 3C 3E 63 6F 6D ..until sym<>com
01F480: 6D 61 3B 0D 0A 09 09 09 74 65 73 74 28 72 70 61 ma;.....test(rpa
01F490: 72 65 6E 2C 34 29 0D 0A 09 09 09 65 6E 64 3B 20 ren,4).....end;
01F4A0: 28 2A 20 63 61 73 65 20 70 75 74 73 79 6D 20 2A (* case putsym *
01F4B0: 29 0D 0A 09 09 62 65 67 69 6E 73 79 6D 3A 20 62 )....beginsym: b
01F4C0: 65 67 69 6E 0D 0A 09 09 09 72 65 70 65 61 74 0D egin.....repeat.
01F4D0: 0A 09 09 09 09 67 65 74 73 79 6D 3B 20 73 74 61 .....getsym; sta
01F4E0: 74 65 6D 65 6E 74 0D 0A 09 09 09 75 6E 74 69 6C tement.....until
01F4F0: 20 73 79 6D 3C 3E 73 65 6D 69 63 6F 6C 6F 6E 3B sym<>semicolon;
01F500: 0D 0A 09 09 09 74 65 73 74 28 65 6E 64 73 79 6D .....test(endsym
01F510: 2C 31 33 29 0D 0A 09 09 09 65 6E 64 3B 20 28 2A ,13).....end; (*
01F520: 20 63 61 73 65 20 62 65 67 69 6E 73 79 6D 20 2A case beginsym *
01F530: 29 0D 0A 09 09 77 68 69 6C 65 73 79 6D 3A 20 62 )....whilesym: b
01F540: 65 67 69 6E 0D 0A 09 09 09 67 65 74 73 79 6D 3B egin.....getsym;
01F550: 0D 0A 09 09 09 74 6C 61 62 3A 3D 6E 6C 61 62 3B .....tlab:=nlab;
01F560: 20 67 65 6E 28 6C 61 62 2C 30 2C 74 6C 61 62 29 gen(lab,0,tlab)
01F570: 3B 0D 0A 09 09 09 65 78 70 72 65 73 73 69 6F 6E ;.....expression
01F580: 28 64 6F 6E 74 63 61 72 65 29 3B 0D 0A 09 09 09 (dontcare);.....
01F590: 65 6C 61 62 3A 3D 6E 6C 61 62 3B 0D 0A 09 09 09 elab:=nlab;.....
01F5A0: 67 65 6E 28 6A 70 63 2C 30 2C 65 6C 61 62 29 3B gen(jpc,0,elab);
01F5B0: 0D 0A 09 09 09 74 65 73 74 28 64 6F 73 79 6D 2C .....test(dosym,
01F5C0: 35 34 29 3B 0D 0A 09 09 09 73 74 61 74 65 6D 65 54);.....stateme
01F5D0: 6E 74 3B 0D 0A 09 09 09 67 65 6E 28 6A 6D 70 2C nt;.....gen(jmp,
01F5E0: 30 2C 74 6C 61 62 29 3B 20 67 65 6E 28 6C 61 62 0,tlab); gen(lab
01F5F0: 2C 30 2C 65 6C 61 62 29 3B 0D 0A 09 09 09 65 6E ,0,elab);.....en
01F600: 09 09 67 65 74 73 79 6D 3B 0D 0A 09 09 73 74 61 ..getsym;....sta
01F610: 74 65 6D 65 6E 74 0D 0A 09 09 65 6E 64 3B 0D 0A tement....end;..
01F620: 09 69 66 20 6C 65 76 3C 3E 31 20 74 68 65 6E 20 .if lev<>1 then
01F630: 67 65 6E 28 6F 70 72 2C 30 2C 30 29 3B 0D 0A 09 gen(opr,0,0);...
01F640: 74 65 73 74 28 65 6E 64 73 79 6D 2C 31 33 29 3B test(endsym,13);
01F650: 0D 0A 09 69 66 20 73 79 6D 3D 63 6F 6D 6D 61 20 ...if sym=comma
01F660: 74 68 65 6E 20 62 65 67 69 6E 0D 0A 09 09 67 65 then begin....ge
01F670: 74 73 79 6D 3B 0D 0A 09 09 66 6F 72 20 74 78 31 tsym;....for tx1
01F680: 3A 3D 31 20 74 6F 20 74 78 20 64 6F 0D 0A 09 09 :=1 to tx do....
01F690: 09 70 75 74 23 31 28 31 33 2C 31 30 2C 74 78 31 .put#1(13,10,tx1
01F6A0: 23 2C 20 27 20 27 2C 73 74 6E 61 6D 65 5B 74 78 #, ' ',stname[tx
01F6B0: 31 5D 2C 0D 0A 09 09 09 27 20 27 2C 73 74 6B 69 1],.....' ',stki
01F6C0: 6E 64 5B 74 78 31 5D 23 2C 20 27 20 27 2C 73 74 nd[tx1]#, ' ',st
01F6D0: 6C 65 76 5B 74 78 31 5D 23 2C 0D 0A 09 09 09 27 lev[tx1]#,.....'
01F6E0: 20 27 2C 20 73 74 61 64 72 5B 74 78 31 5D 23 2C ', stadr[tx1]#,
01F6F0: 20 27 20 27 2C 73 74 6C 65 6E 5B 74 78 31 5D 23 ' ',stlen[tx1]#
01F700: 29 0D 0A 09 09 65 6E 64 3B 0D 0A 09 74 78 3A 3D )....end;...tx:=
01F710: 74 78 30 0D 0A 09 65 6E 64 3B 20 28 2A 20 62 6C tx0...end; (* bl
01F720: 6F 63 6B 20 2A 29 0D 0A 0D 0A 09 62 65 67 69 6E ock *).....begin
01F730: 20 28 2A 20 6D 61 69 6E 20 6C 69 6E 65 20 2A 29 (* main line *)
01F740: 0D 0A 09 28 2A 20 69 6E 69 74 20 73 70 65 63 69 ...(* init speci
01F750: 61 6C 20 73 79 6D 62 6F 6C 20 74 6F 6B 65 6E 20 al symbol token
01F760: 61 72 72 61 79 20 2A 29 0D 0A 09 66 6F 72 20 63 array *)...for c
01F770: 68 3A 3D 6F 72 64 6D 69 6E 63 68 61 72 20 74 6F h:=ordminchar to
01F780: 20 6F 72 64 6D 61 78 63 68 61 72 20 64 6F 20 73 ordmaxchar do s
01F790: 73 79 6D 5B 63 68 5D 3A 3D 6E 75 6C 3B 0D 0A 09 sym[ch]:=nul;...
01F7A0: 73 73 79 6D 5B 27 2B 27 5D 3A 3D 70 6C 75 73 3B ssym['+']:=plus;
01F7B0: 09 73 73 79 6D 5B 27 2D 27 5D 3A 3D 6D 69 6E 75 .ssym['-']:=minu
01F7C0: 73 3B 0D 0A 09 73 73 79 6D 5B 27 2A 27 5D 3A 3D s;...ssym['*']:=
01F7D0: 74 69 6D 65 73 3B 09 73 73 79 6D 5B 27 2F 27 5D times;.ssym['/']
01F7E0: 3A 3D 73 6C 61 73 68 3B 0D 0A 09 73 73 79 6D 5B :=slash;...ssym[
01F7F0: 27 3A 27 5D 3A 3D 63 6F 6C 6F 6E 3B 09 73 73 79 ':']:=colon;.ssy
01F800: 64 20 28 2A 20 63 61 73 65 20 77 68 69 6C 65 73 d (* case whiles
01F810: 79 6D 20 2A 29 0D 0A 09 09 65 6E 64 20 28 2A 20 ym *)....end (*
01F820: 63 61 73 65 20 2A 29 0D 0A 09 09 65 6E 64 3B 20 case *)....end;
01F830: 28 2A 20 73 74 61 74 65 6D 65 6E 74 20 2A 29 0D (* statement *).
01F840: 0A 0D 0A 09 28 2A 20 73 63 61 6E 20 61 20 70 61 ....(* scan a pa
01F850: 72 61 6D 65 74 65 72 20 6C 69 73 74 20 66 6F 72 rameter list for
01F860: 20 61 20 66 75 6E 63 20 6F 72 20 70 72 6F 63 20 a func or proc
01F870: 63 61 6C 6C 20 61 6E 64 0D 0A 09 61 6C 6C 6F 63 call and...alloc
01F880: 61 74 65 20 76 61 72 69 61 62 6C 65 73 20 66 6F ate variables fo
01F890: 72 20 70 61 72 61 6D 65 74 65 72 73 0D 0A 09 2A r parameters...*
01F8A0: 29 0D 0A 09 70 72 6F 63 65 64 75 72 65 20 70 6C )...procedure pl
01F8B0: 69 73 74 3B 0D 0A 0D 0A 09 09 76 61 72 09 74 78 ist;......var.tx
01F8C0: 30 2C 20 74 78 31 2C 20 69 2C 20 6A 09 3A 20 77 0, tx1, i, j.: w
01F8D0: 6F 72 64 3B 0D 0A 09 09 09 70 74 79 70 09 09 3A ord;.....ptyp..:
01F8E0: 20 6F 62 6A 65 63 74 3B 0D 0A 0D 0A 09 09 62 65 object;......be
01F8F0: 67 69 6E 0D 0A 09 09 74 78 30 3A 3D 74 78 3B 0D gin....tx0:=tx;.
01F900: 0A 09 09 72 65 70 65 61 74 0D 0A 09 09 09 74 78 ...repeat.....tx
01F910: 31 3A 3D 74 78 3B 0D 0A 09 09 09 70 74 79 70 3A 1:=tx;.....ptyp:
01F920: 3D 6E 6F 74 79 70 65 3B 0D 0A 09 09 09 72 65 70 =notype;.....rep
01F930: 65 61 74 0D 0A 09 09 09 09 67 65 74 73 79 6D 3B eat......getsym;
01F940: 0D 0A 09 09 09 09 69 66 20 73 79 6D 3D 76 61 72 ......if sym=var
01F950: 73 79 6D 20 74 68 65 6E 20 62 65 67 69 6E 0D 0A sym then begin..
01F960: 09 09 09 09 09 67 65 74 73 79 6D 3B 20 70 74 79 .....getsym; pty
01F970: 70 3A 3D 76 61 72 70 61 72 6D 0D 0A 09 09 09 09 p:=varparm......
01F980: 09 65 6E 64 3B 0D 0A 09 09 09 09 74 65 73 74 28 .end;......test(
01F990: 69 64 65 6E 74 2C 32 29 3B 0D 0A 09 09 09 09 65 ident,2);......e
01F9A0: 6E 74 65 72 28 69 64 2C 6E 6F 74 79 70 65 2C 6C nter(id,notype,l
01F9B0: 65 76 2B 31 2C 30 2C 30 29 0D 0A 09 09 09 75 6E ev+1,0,0).....un
01F9C0: 74 69 6C 20 73 79 6D 3C 3E 63 6F 6D 6D 61 3B 0D til sym<>comma;.
01F9D0: 0A 09 09 09 74 65 73 74 28 63 6F 6C 6F 6E 2C 35 ....test(colon,5
01F9E0: 29 3B 0D 0A 09 09 09 74 65 73 74 28 69 64 65 6E );.....test(iden
01F9F0: 74 2C 32 29 3B 0D 0A 09 09 09 69 3A 3D 70 6F 73 t,2);.....i:=pos
01FA00: 6D 5B 27 3B 27 5D 3A 3D 73 65 6D 69 63 6F 6C 6F m[';']:=semicolo
01FA10: 6E 3B 0D 0A 09 73 73 79 6D 5B 27 3D 27 5D 3A 3D n;...ssym['=']:=
01FA20: 65 71 6C 3B 09 09 73 73 79 6D 5B 27 23 27 5D 3A eql;..ssym['#']:
01FA30: 3D 70 6F 75 6E 64 3B 0D 0A 09 73 73 79 6D 5B 27 =pound;...ssym['
01FA40: 3C 27 5D 3A 3D 6C 73 73 3B 09 09 73 73 79 6D 5B <']:=lss;..ssym[
01FA50: 27 3E 27 5D 3A 3D 67 74 72 3B 0D 0A 09 73 73 79 '>']:=gtr;...ssy
01FA60: 6D 5B 27 28 27 5D 3A 3D 6C 70 61 72 65 6E 3B 09 m['(']:=lparen;.
01FA70: 73 73 79 6D 5B 27 29 27 5D 3A 3D 72 70 61 72 65 ssym[')']:=rpare
01FA80: 6E 3B 0D 0A 09 73 73 79 6D 5B 27 5B 27 5D 3A 3D n;...ssym['[']:=
01FA90: 6C 62 72 61 63 6B 3B 09 73 73 79 6D 5B 27 5D 27 lbrack;.ssym[']'
01FAA0: 5D 3A 3D 72 62 72 61 63 6B 3B 0D 0A 09 73 73 79 ]:=rbrack;...ssy
01FAB0: 6D 5B 27 2E 27 5D 3A 3D 70 65 72 69 6F 64 3B 09 m['.']:=period;.
01FAC0: 73 73 79 6D 5B 27 2C 27 5D 3A 3D 63 6F 6D 6D 61 ssym[',']:=comma
01FAD0: 3B 0D 0A 0D 0A 09 28 2A 20 69 6E 69 74 20 72 65 ;.....(* init re
01FAE0: 73 65 72 76 65 64 20 77 6F 72 64 20 61 72 72 61 served word arra
01FAF0: 79 73 20 2A 29 0D 0A 09 28 2A 20 6D 75 73 74 20 ys *)...(* must
01FB00: 62 65 20 69 6E 20 61 6C 70 61 68 62 65 74 69 63 be in alpahbetic
01FB10: 61 6C 20 6F 72 64 65 72 20 66 6F 72 20 62 69 6E al order for bin
01FB20: 61 72 79 20 73 65 61 72 63 68 20 2A 29 0D 0A 09 ary search *)...
01FB30: 72 77 6F 72 64 5B 20 31 5D 3A 3D 27 41 4E 44 20 rword[ 1]:='AND
01FB40: 20 20 20 20 27 3B 09 77 73 79 6D 5B 20 31 5D 3A ';.wsym[ 1]:
01FB50: 3D 61 6E 64 73 79 6D 3B 0D 0A 09 72 77 6F 72 64 =andsym;...rword
01FB60: 5B 20 32 5D 3A 3D 27 41 52 52 41 59 20 20 20 27 [ 2]:='ARRAY '
01FB70: 3B 09 77 73 79 6D 5B 20 32 5D 3A 3D 61 72 72 61 ;.wsym[ 2]:=arra
01FB80: 79 73 79 6D 3B 0D 0A 09 72 77 6F 72 64 5B 20 33 ysym;...rword[ 3
01FB90: 5D 3A 3D 27 42 45 47 49 4E 20 20 20 27 3B 09 77 ]:='BEGIN ';.w
01FBA0: 73 79 6D 5B 20 33 5D 3A 3D 62 65 67 69 6E 73 79 sym[ 3]:=beginsy
01FBB0: 6D 3B 0D 0A 09 72 77 6F 72 64 5B 20 34 5D 3A 3D m;...rword[ 4]:=
01FBC0: 27 43 41 53 45 20 20 20 20 27 3B 09 77 73 79 6D 'CASE ';.wsym
01FBD0: 5B 20 34 5D 3A 3D 63 61 73 65 73 79 6D 3B 0D 0A [ 4]:=casesym;..
01FBE0: 09 72 77 6F 72 64 5B 20 35 5D 3A 3D 27 43 4F 4E .rword[ 5]:='CON
01FBF0: 53 54 20 20 20 27 3B 09 77 73 79 6D 5B 20 35 5D ST ';.wsym[ 5]
01FC00: 69 74 69 6F 6E 3B 0D 0A 09 09 09 69 66 20 70 74 ition;.....if pt
01FC10: 79 70 3D 6E 6F 74 79 70 65 20 74 68 65 6E 0D 0A yp=notype then..
01FC20: 09 09 09 09 69 66 20 73 74 6B 69 6E 64 5B 69 5D ....if stkind[i]
01FC30: 3D 73 69 6D 70 74 79 70 65 0D 0A 09 09 09 09 09 =simptype.......
01FC40: 74 68 65 6E 20 70 74 79 70 3A 3D 73 69 6D 70 76 then ptyp:=simpv
01FC50: 61 72 0D 0A 09 09 09 09 09 65 6C 73 65 20 70 74 ar.......else pt
01FC60: 79 70 3A 3D 61 72 72 61 79 76 61 72 3B 0D 0A 09 yp:=arrayvar;...
01FC70: 09 09 66 6F 72 20 6A 3A 3D 74 78 31 2B 31 20 74 ..for j:=tx1+1 t
01FC80: 6F 20 74 78 20 64 6F 20 62 65 67 69 6E 0D 0A 09 o tx do begin...
01FC90: 09 09 09 73 74 6B 69 6E 64 5B 6A 5D 3A 3D 70 74 ...stkind[j]:=pt
01FCA0: 79 70 3B 0D 0A 09 09 09 09 73 74 6C 65 6E 5B 6A yp;......stlen[j
01FCB0: 5D 3A 3D 73 74 6C 65 6E 5B 69 5D 3B 0D 0A 09 09 ]:=stlen[i];....
01FCC0: 09 09 73 74 61 64 72 5B 6A 5D 3A 3D 70 78 2B 73 ..stadr[j]:=px+s
01FCD0: 74 6C 65 6E 5B 69 5D 2D 36 3B 0D 0A 09 09 09 09 tlen[i]-6;......
01FCE0: 70 78 3A 3D 70 78 2B 73 74 6C 65 6E 5B 69 5D 0D px:=px+stlen[i].
01FCF0: 0A 09 09 09 09 65 6E 64 3B 0D 0A 09 09 75 6E 74 .....end;....unt
01FD00: 69 6C 20 73 79 6D 3C 3E 73 65 6D 69 63 6F 6C 6F il sym<>semicolo
01FD10: 6E 3B 0D 0A 09 09 66 6F 72 20 6A 3A 3D 74 78 30 n;....for j:=tx0
01FD20: 2B 31 20 74 6F 20 74 78 20 64 6F 0D 0A 09 09 09 +1 to tx do.....
01FD30: 73 74 61 64 72 5B 6A 5D 3A 3D 73 74 61 64 72 5B stadr[j]:=stadr[
01FD40: 6A 5D 2D 70 78 3B 0D 0A 09 09 74 65 73 74 28 72 j]-px;....test(r
01FD50: 70 61 72 65 6E 2C 34 29 0D 0A 09 09 65 6E 64 3B paren,4)....end;
01FD60: 20 28 2A 20 70 6C 69 73 74 20 2A 29 0D 0A 0D 0A (* plist *)....
01FD70: 09 62 65 67 69 6E 20 28 2A 20 62 6C 6F 63 6B 20 .begin (* block
01FD80: 2A 29 0D 0A 09 64 78 3A 3D 30 3B 20 74 78 30 3A *)...dx:=0; tx0:
01FD90: 3D 74 78 3B 0D 0A 09 69 66 20 73 79 6D 3D 63 6F =tx;...if sym=co
01FDA0: 6E 73 74 73 79 6D 20 74 68 65 6E 20 62 65 67 69 nstsym then begi
01FDB0: 6E 0D 0A 09 09 67 65 74 73 79 6D 3B 0D 0A 09 09 n....getsym;....
01FDC0: 72 65 70 65 61 74 0D 0A 09 09 09 63 6F 6E 73 74 repeat.....const
01FDD0: 64 63 6C 3B 0D 0A 09 09 09 74 65 73 74 28 73 65 dcl;.....test(se
01FDE0: 6D 69 63 6F 6C 6F 6E 2C 31 34 29 0D 0A 09 09 75 micolon,14)....u
01FDF0: 6E 74 69 6C 20 73 79 6D 3C 3E 69 64 65 6E 74 0D ntil sym<>ident.
01FE00: 3A 3D 63 6F 6E 73 74 73 79 6D 3B 0D 0A 09 72 77 :=constsym;...rw
01FE10: 6F 72 64 5B 20 36 5D 3A 3D 27 44 49 56 20 20 20 ord[ 6]:='DIV
01FE20: 20 20 27 3B 09 77 73 79 6D 5B 20 36 5D 3A 3D 64 ';.wsym[ 6]:=d
01FE30: 69 76 73 79 6D 3B 0D 0A 09 72 77 6F 72 64 5B 20 ivsym;...rword[
01FE40: 37 5D 3A 3D 27 44 4F 20 20 20 20 20 20 27 3B 09 7]:='DO ';.
01FE50: 77 73 79 6D 5B 20 37 5D 3A 3D 64 6F 73 79 6D 3B wsym[ 7]:=dosym;
01FE60: 0D 0A 09 72 77 6F 72 64 5B 20 38 5D 3A 3D 27 44 ...rword[ 8]:='D
01FE70: 4F 57 4E 54 4F 20 20 27 3B 09 77 73 79 6D 5B 20 OWNTO ';.wsym[
01FE80: 38 5D 3A 3D 64 6F 77 6E 74 6F 73 79 6D 3B 0D 0A 8]:=downtosym;..
01FE90: 09 72 77 6F 72 64 5B 20 39 5D 3A 3D 27 45 4C 53 .rword[ 9]:='ELS
01FEA0: 45 20 20 20 20 27 3B 09 77 73 79 6D 5B 20 39 5D E ';.wsym[ 9]
01FEB0: 3A 3D 65 6C 73 65 73 79 6D 3B 0D 0A 09 72 77 6F :=elsesym;...rwo
01FEC0: 72 64 5B 31 30 5D 3A 3D 27 45 4E 44 20 20 20 20 rd[10]:='END
01FED0: 20 27 3B 09 77 73 79 6D 5B 31 30 5D 3A 3D 65 6E ';.wsym[10]:=en
01FEE0: 64 73 79 6D 3B 0D 0A 09 72 77 6F 72 64 5B 31 31 dsym;...rword[11
01FEF0: 5D 3A 3D 27 46 4F 52 20 20 20 20 20 27 3B 09 77 ]:='FOR ';.w
01FF00: 73 79 6D 5B 31 31 5D 3A 3D 66 6F 72 73 79 6D 3B sym[11]:=forsym;
01FF10: 0D 0A 09 72 77 6F 72 64 5B 31 32 5D 3A 3D 27 46 ...rword[12]:='F
01FF20: 55 4E 43 54 49 4F 4E 27 3B 09 77 73 79 6D 5B 31 UNCTION';.wsym[1
01FF30: 32 5D 3A 3D 66 75 6E 63 73 79 6D 3B 0D 0A 09 72 2]:=funcsym;...r
01FF40: 77 6F 72 64 5B 31 33 5D 3A 3D 27 47 45 54 20 20 word[13]:='GET
01FF50: 20 20 20 27 3B 09 77 73 79 6D 5B 31 33 5D 3A 3D ';.wsym[13]:=
01FF60: 67 65 74 73 79 3B 0D 0A 09 72 77 6F 72 64 5B 31 getsy;...rword[1
01FF70: 34 5D 3A 3D 27 49 46 20 20 20 20 20 20 27 3B 09 4]:='IF ';.
01FF80: 77 73 79 6D 5B 31 34 5D 3A 3D 69 66 73 79 6D 3B wsym[14]:=ifsym;
01FF90: 0D 0A 09 72 77 6F 72 64 5B 31 35 5D 3A 3D 27 4D ...rword[15]:='M
01FFA0: 4F 44 20 20 20 20 20 27 3B 09 77 73 79 6D 5B 31 OD ';.wsym[1
01FFB0: 35 5D 3A 3D 6D 6F 64 73 79 6D 3B 0D 0A 09 72 77 5]:=modsym;...rw
01FFC0: 6F 72 64 5B 31 36 5D 3A 3D 27 4E 4F 54 20 20 20 ord[16]:='NOT
01FFD0: 20 20 27 3B 09 77 73 79 6D 5B 31 36 5D 3A 3D 6E ';.wsym[16]:=n
01FFE0: 6F 74 73 79 6D 3B 0D 0A 09 72 77 6F 72 64 5B 31 otsym;...rword[1
01FFF0: 37 5D 3A 3D 27 4F 46 20 20 20 20 20 20 27 3B 09 7]:='OF ';.
020000: 0A 09 09 65 6E 64 3B 0D 0A 09 69 66 20 73 79 6D ...end;...if sym
020010: 3D 74 79 70 65 73 79 6D 20 74 68 65 6E 20 62 65 =typesym then be
020020: 67 69 6E 0D 0A 09 09 67 65 74 73 79 6D 3B 0D 0A gin....getsym;..
020030: 09 09 72 65 70 65 61 74 0D 0A 09 09 09 74 79 70 ..repeat.....typ
020040: 65 64 63 6C 3B 0D 0A 09 09 09 74 65 73 74 28 73 edcl;.....test(s
020050: 65 6D 69 63 6F 6C 6F 6E 2C 31 34 29 0D 0A 09 09 emicolon,14)....
020060: 75 6E 74 69 6C 20 73 79 6D 3C 3E 69 64 65 6E 74 until sym<>ident
020070: 0D 0A 09 09 65 6E 64 3B 0D 0A 09 69 66 20 73 79 ....end;...if sy
020080: 6D 3D 76 61 72 73 79 6D 20 74 68 65 6E 20 62 65 m=varsym then be
020090: 67 69 6E 0D 0A 09 09 67 65 74 73 79 6D 3B 0D 0A gin....getsym;..
0200A0: 09 09 72 65 70 65 61 74 0D 0A 09 09 09 76 61 72 ..repeat.....var
0200B0: 64 63 6C 3B 0D 0A 09 09 09 74 65 73 74 28 73 65 dcl;.....test(se
0200C0: 6D 69 63 6F 6C 6F 6E 2C 31 34 29 0D 0A 09 09 75 micolon,14)....u
0200D0: 6E 74 69 6C 20 73 79 6D 3C 3E 69 64 65 6E 74 0D ntil sym<>ident.
0200E0: 0A 09 09 65 6E 64 3B 0D 0A 09 77 68 69 6C 65 20 ...end;...while
0200F0: 28 73 79 6D 3D 70 72 6F 63 73 79 6D 29 20 6F 72 (sym=procsym) or
020100: 20 28 73 79 6D 3D 66 75 6E 63 73 79 6D 29 20 64 (sym=funcsym) d
020110: 6F 20 62 65 67 69 6E 0D 0A 09 09 69 66 20 73 79 o begin....if sy
020120: 6D 3D 70 72 6F 63 73 79 6D 0D 0A 09 09 09 74 68 m=procsym.....th
020130: 65 6E 20 62 74 79 70 65 3A 3D 70 72 6F 7A 65 64 en btype:=prozed
020140: 75 72 65 0D 0A 09 09 09 65 6C 73 65 20 62 74 79 ure.....else bty
020150: 70 65 3A 3D 66 75 6E 6B 74 69 6F 6E 3B 0D 0A 09 pe:=funktion;...
020160: 09 67 65 74 73 79 6D 3B 0D 0A 09 09 65 6E 74 65 .getsym;....ente
020170: 72 28 69 64 2C 62 74 79 70 65 2C 6C 65 76 2C 6E r(id,btype,lev,n
020180: 6C 61 62 2C 30 29 3B 0D 0A 09 09 74 65 73 74 28 lab,0);....test(
020190: 69 64 65 6E 74 2C 32 29 3B 0D 0A 09 09 74 78 31 ident,2);....tx1
0201A0: 3A 3D 74 78 3B 20 70 78 3A 3D 30 3B 0D 0A 09 09 :=tx; px:=0;....
0201B0: 69 66 20 73 79 6D 3D 6C 70 61 72 65 6E 20 74 68 if sym=lparen th
0201C0: 65 6E 20 70 6C 69 73 74 3B 0D 0A 09 09 73 74 6C en plist;....stl
0201D0: 65 6E 5B 74 78 31 5D 3A 3D 70 78 3B 20 28 2A 20 en[tx1]:=px; (*
0201E0: 61 72 67 20 6C 65 6E 20 69 6E 74 6F 20 70 72 6F arg len into pro
0201F0: 63 20 2A 29 0D 0A 09 09 74 65 73 74 28 73 65 6D c *)....test(sem
020200: 54 72 61 63 6B 2D 49 6E 66 6F 0D 0A 00 01 00 00 Track-Info......
020210: 1B 00 00 00 02 09 49 E5 1B 00 C1 02 00 00 00 02 ......I.........
020220: 1B 00 C6 02 00 00 00 02 1B 00 C2 02 00 00 00 02 ................
020230: 1B 00 C7 02 00 00 00 02 1B 00 C3 02 00 00 00 02 ................
020240: 1B 00 C8 02 00 00 00 02 1B 00 C4 02 00 00 00 02 ................
020250: 1B 00 C9 02 00 00 00 02 1B 00 C5 02 00 00 00 02 ................
020260: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
020270: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
020280: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
020290: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0202A0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0202B0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0202C0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0202D0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0202E0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0202F0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
020300: 77 73 79 6D 5B 31 37 5D 3A 3D 6F 66 73 79 6D 3B wsym[17]:=ofsym;
020310: 0D 0A 09 72 77 6F 72 64 5B 31 38 5D 3A 3D 27 4F ...rword[18]:='O
020320: 52 20 20 20 20 20 20 27 3B 09 77 73 79 6D 5B 31 R ';.wsym[1
020330: 38 5D 3A 3D 6F 72 73 79 6D 3B 0D 0A 09 72 77 6F 8]:=orsym;...rwo
020340: 72 64 5B 31 39 5D 3A 3D 27 50 52 4F 43 45 44 55 rd[19]:='PROCEDU
020350: 52 27 3B 09 77 73 79 6D 5B 31 39 5D 3A 3D 70 72 R';.wsym[19]:=pr
020360: 6F 63 73 79 6D 3B 0D 0A 09 72 77 6F 72 64 5B 32 ocsym;...rword[2
020370: 30 5D 3A 3D 27 50 52 4F 47 52 41 4D 20 27 3B 09 0]:='PROGRAM ';.
020380: 77 73 79 6D 5B 32 30 5D 3A 3D 70 72 6F 67 73 79 wsym[20]:=progsy
020390: 6D 3B 0D 0A 09 72 77 6F 72 64 5B 32 31 5D 3A 3D m;...rword[21]:=
0203A0: 27 50 55 54 20 20 20 20 20 27 3B 09 77 73 79 6D 'PUT ';.wsym
0203B0: 5B 32 31 5D 3A 3D 70 75 74 73 79 6D 3B 0D 0A 09 [21]:=putsym;...
0203C0: 72 77 6F 72 64 5B 32 32 5D 3A 3D 27 52 45 43 4F rword[22]:='RECO
0203D0: 52 44 20 20 27 3B 09 77 73 79 6D 5B 32 32 5D 3A RD ';.wsym[22]:
0203E0: 3D 72 65 63 6F 72 64 73 79 6D 3B 0D 0A 09 72 77 =recordsym;...rw
0203F0: 6F 72 64 5B 32 33 5D 3A 3D 27 52 45 50 45 41 54 ord[23]:='REPEAT
020400: 20 20 27 3B 09 77 73 79 6D 5B 32 33 5D 3A 3D 72 ';.wsym[23]:=r
020410: 65 70 65 61 74 73 79 6D 3B 0D 0A 09 72 77 6F 72 epeatsym;...rwor
020420: 64 5B 32 34 5D 3A 3D 27 54 48 45 4E 20 20 20 20 d[24]:='THEN
020430: 27 3B 09 77 73 79 6D 5B 32 34 5D 3A 3D 74 68 65 ';.wsym[24]:=the
020440: 6E 73 79 6D 3B 0D 0A 09 72 77 6F 72 64 5B 32 35 nsym;...rword[25
020450: 5D 3A 3D 27 54 4F 20 20 20 20 20 20 27 3B 09 77 ]:='TO ';.w
020460: 73 79 6D 5B 32 35 5D 3A 3D 74 6F 73 79 6D 3B 0D sym[25]:=tosym;.
020470: 0A 09 72 77 6F 72 64 5B 32 36 5D 3A 3D 27 54 59 ..rword[26]:='TY
020480: 50 45 20 20 20 20 27 3B 09 77 73 79 6D 5B 32 36 PE ';.wsym[26
020490: 5D 3A 3D 74 79 70 65 73 79 6D 3B 0D 0A 09 72 77 ]:=typesym;...rw
0204A0: 6F 72 64 5B 32 37 5D 3A 3D 27 55 4E 54 49 4C 20 ord[27]:='UNTIL
0204B0: 20 20 27 3B 09 77 73 79 6D 5B 32 37 5D 3A 3D 75 ';.wsym[27]:=u
0204C0: 6E 74 69 6C 73 79 6D 3B 0D 0A 09 72 77 6F 72 64 ntilsym;...rword
0204D0: 5B 32 38 5D 3A 3D 27 56 41 52 20 20 20 20 20 27 [28]:='VAR '
0204E0: 3B 09 77 73 79 6D 5B 32 38 5D 3A 3D 76 61 72 73 ;.wsym[28]:=vars
0204F0: 79 6D 3B 0D 0A 09 72 77 6F 72 64 5B 32 39 5D 3A ym;...rword[29]:
020500: 72 69 61 62 6C 65 20 31 20 7C 0D 0A 09 20 20 32 riable 1 |... 2
020510: 20 7C 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F |______________
020520: 5F 5F 5F 5F 7C 0D 0A 09 09 0D 0A 09 5E 5E 5E 20 ____|.......^^^
020530: 6F 66 66 73 65 74 73 20 66 72 6F 6D 20 42 52 20 offsets from BR
020540: 28 62 61 73 65 20 72 65 67 69 73 74 65 72 29 0D (base register).
020550: 0A 0D 0A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A ................
020560: 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A ................
020570: 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A ................
020580: 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F 7C 0D 0A 09 ____________|...
020590: 20 20 20 20 7C 20 66 75 6E 63 74 69 6F 6E 20 76 | function v
0205A0: 61 6C 75 65 20 20 20 7C 20 20 20 20 66 75 6E 63 alue | func
0205B0: 74 69 6F 6E 20 72 65 74 75 72 6E 20 76 61 6C 75 tion return valu
0205C0: 65 0D 0A 09 2D 31 30 20 7C 5F 5F 5F 5F 5F 5F 5F e...-10 |_______
0205D0: 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F 7C 0D 0A 09 20 ___________|...
0205E0: 2D 39 20 7C 20 70 61 72 61 6D 65 74 65 72 20 31 -9 | parameter 1
0205F0: 20 20 20 20 20 20 7C 0D 0A 09 20 2D 38 20 7C 5F |... -8 |_
020600: 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F ________________
020610: 5F 7C 0D 0A 09 20 2D 37 20 7C 20 70 61 72 61 6D _|... -7 | param
020620: 65 74 65 72 20 32 20 20 20 20 20 20 7C 0D 0A 09 eter 2 |...
020630: 20 2D 36 20 7C 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F -6 |___________
020640: 5F 5F 5F 5F 5F 5F 5F 7C 0D 0A 09 20 2D 35 20 7C _______|... -5 |
020650: 20 72 65 74 75 72 6E 20 61 64 64 72 65 73 73 20 return address
020660: 20 20 7C 0D 0A 09 20 2D 34 20 7C 5F 5F 5F 5F 5F |... -4 |_____
020670: 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F 7C 0D 0A _____________|..
020680: 09 20 2D 33 20 7C 20 64 79 6E 61 6D 69 63 20 6C . -3 | dynamic l
020690: 69 6E 6B 20 20 20 20 20 7C 0D 0A 09 20 2D 32 20 ink |... -2
0206A0: 7C 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F |_______________
0206B0: 5F 5F 5F 7C 0D 0A 09 20 2D 31 20 7C 20 73 74 61 ___|... -1 | sta
0206C0: 74 69 63 20 6C 69 6E 6B 20 20 20 20 20 20 7C 0D tic link |.
0206D0: 0A 42 52 20 2D 3E 09 20 20 30 20 7C 5F 5F 5F 5F .BR ->. 0 |____
0206E0: 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F 7C 0D ______________|.
0206F0: 0A 09 20 20 31 20 7C 20 6C 6F 63 61 6C 20 76 61 .. 1 | local va
020700: 3D 27 57 48 49 4C 45 20 20 20 27 3B 09 77 73 79 ='WHILE ';.wsy
020710: 6D 5B 32 39 5D 3A 3D 77 68 69 6C 65 73 79 6D 3B m[29]:=whilesym;
020720: 0D 0A 0D 0A 09 65 72 72 66 6C 61 67 3A 3D 66 61 .....errflag:=fa
020730: 6C 73 65 3B 20 28 2A 20 63 6C 65 61 72 20 6C 69 lse; (* clear li
020740: 6E 65 20 65 72 72 6F 72 20 66 6C 61 67 20 2A 29 ne error flag *)
020750: 0D 0A 09 74 78 3A 3D 30 3B 20 28 2A 20 69 6E 69 ...tx:=0; (* ini
020760: 74 20 74 61 62 6C 65 20 70 6F 69 6E 74 65 72 73 t table pointers
020770: 20 2A 29 0D 0A 09 70 75 74 23 31 28 27 70 70 63 *)...put#1('ppc
020780: 20 72 65 76 20 27 2C 76 68 75 23 2C 27 2E 27 2C rev ',vhu#,'.',
020790: 76 74 6E 23 2C 76 75 6E 23 2C 64 65 76 72 65 6C vtn#,vun#,devrel
0207A0: 2C 31 33 2C 31 30 29 3B 0D 0A 09 70 75 74 23 31 ,13,10);...put#1
0207B0: 28 27 4C 69 73 74 69 6E 67 3F 27 29 3B 20 67 65 ('Listing?'); ge
0207C0: 74 23 31 28 6C 69 73 74 69 6E 67 29 3B 0D 0A 0D t#1(listing);...
0207D0: 0A 09 28 2A 20 64 65 66 69 6E 65 20 73 74 61 6E ..(* define stan
0207E0: 64 61 72 64 20 74 79 70 65 20 69 64 65 6E 74 69 dard type identi
0207F0: 66 69 65 72 73 20 2A 29 0D 0A 09 65 6E 74 65 72 fiers *)...enter
020800: 28 27 49 4E 54 45 47 45 52 20 27 2C 73 69 6D 70 ('INTEGER ',simp
020810: 74 79 70 65 2C 30 2C 30 2C 69 6E 74 73 69 7A 65 type,0,0,intsize
020820: 29 3B 0D 0A 09 65 6E 74 65 72 28 27 43 48 41 52 );...enter('CHAR
020830: 20 20 20 20 27 2C 73 69 6D 70 74 79 70 65 2C 30 ',simptype,0
020840: 2C 30 2C 63 68 61 72 73 69 7A 65 29 3B 0D 0A 09 ,0,charsize);...
020850: 65 6E 74 65 72 28 27 42 4F 4F 4C 45 41 4E 20 27 enter('BOOLEAN '
020860: 2C 73 69 6D 70 74 79 70 65 2C 30 2C 30 2C 62 6F ,simptype,0,0,bo
020870: 6F 6C 73 69 7A 65 29 3B 0D 0A 09 65 6E 74 65 72 olsize);...enter
020880: 28 27 42 59 54 45 20 20 20 20 27 2C 73 69 6D 70 ('BYTE ',simp
020890: 74 79 70 65 2C 30 2C 30 2C 63 68 61 72 73 69 7A type,0,0,charsiz
0208A0: 65 29 3B 0D 0A 09 65 6E 74 65 72 28 27 57 4F 52 e);...enter('WOR
0208B0: 44 20 20 20 20 27 2C 73 69 6D 70 74 79 70 65 2C D ',simptype,
0208C0: 30 2C 30 2C 69 6E 74 73 69 7A 65 29 3B 0D 0A 09 0,0,intsize);...
0208D0: 65 6E 74 65 72 28 27 41 4C 46 41 20 20 20 20 27 enter('ALFA '
0208E0: 2C 73 69 6D 70 74 79 70 65 2C 30 2C 30 2C 61 6C ,simptype,0,0,al
0208F0: 66 61 73 69 7A 65 29 3B 0D 0A 09 63 68 3A 3D 27 fasize);...ch:='
020900: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
020910: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
020920: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
020930: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
020940: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
020950: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
020960: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
020970: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
020980: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
020990: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0209A0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0209B0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0209C0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0209D0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0209E0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0209F0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
020A00: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
020A10: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
020A20: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
020A30: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
020A40: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
020A50: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
020A60: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
020A70: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
020A80: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
020A90: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
020AA0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
020AB0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
020AC0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
020AD0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
020AE0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
020AF0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
020B00: 20 27 3B 20 28 2A 20 69 6E 69 74 20 74 68 65 20 '; (* init the
020B10: 63 68 61 72 61 63 74 65 72 20 73 63 61 6E 6E 65 character scanne
020B20: 72 20 2A 29 0D 0A 09 67 65 74 73 79 6D 3B 0D 0A r *)...getsym;..
020B30: 09 6E 6C 3A 3D 31 3B 20 67 65 6E 28 6A 6D 70 2C .nl:=1; gen(jmp,
020B40: 30 2C 31 29 3B 0D 0A 09 62 6C 6F 63 6B 28 31 2C 0,1);...block(1,
020B50: 31 29 3B 0D 0A 09 67 65 6E 28 63 73 70 2C 30 2C 1);...gen(csp,0,
020B60: 39 29 3B 0D 0A 09 67 65 6E 28 70 65 6F 66 2C 30 9);...gen(peof,0
020B70: 2C 30 29 3B 0D 0A 09 69 66 20 73 79 6D 3C 3E 20 ,0);...if sym<>
020B80: 70 65 72 69 6F 64 20 74 68 65 6E 20 65 72 72 6F period then erro
020B90: 72 28 32 30 29 0D 0A 65 6E 64 2E 0D 0A 65 6F 66 r(20)..end...eof
020BA0: 0D 0A 0D 0A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A ................
020BB0: 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A ................
020BC0: 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A ................
020BD0: 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A ................
020BE0: 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A ................
020BF0: 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A ................
020C00: 28 27 49 4E 54 45 47 45 52 20 27 2C 73 69 6D 70 ('INTEGER ',simp
020C10: 74 79 70 65 2C 30 2C 30 2C 69 6E 74 73 69 7A 65 type,0,0,intsize
020C20: 29 3B 0D 0A 09 65 6E 74 65 72 28 27 43 48 41 52 );...enter('CHAR
020C30: 20 20 20 20 27 2C 73 69 6D 70 74 79 70 65 2C 30 ',simptype,0
020C40: 2C 30 2C 63 68 61 72 73 69 7A 65 29 3B 0D 0A 09 ,0,charsize);...
020C50: 65 6E 74 65 72 28 27 42 4F 4F 4C 45 41 4E 20 27 enter('BOOLEAN '
020C60: 2C 73 69 6D 70 74 79 70 65 2C 30 2C 30 2C 62 6F ,simptype,0,0,bo
020C70: 6F 6C 73 69 7A 65 29 3B 0D 0A 09 65 6E 74 65 72 olsize);...enter
020C80: 28 27 42 59 54 45 20 20 20 20 27 2C 73 69 6D 70 ('BYTE ',simp
020C90: 74 79 70 65 2C 30 2C 30 2C 63 68 61 72 73 69 7A type,0,0,charsiz
020CA0: 65 29 3B 0D 0A 09 65 6E 74 65 72 28 27 57 4F 52 e);...enter('WOR
020CB0: 44 20 20 20 20 27 2C 73 69 6D 70 74 79 70 65 2C D ',simptype,
020CC0: 30 2C 30 2C 69 6E 74 73 69 7A 65 29 3B 0D 0A 09 0,0,intsize);...
020CD0: 65 6E 74 65 72 28 27 41 4C 46 41 20 20 20 20 27 enter('ALFA '
020CE0: 2C 73 69 6D 70 74 79 70 65 2C 30 2C 30 2C 61 6C ,simptype,0,0,al
020CF0: 66 61 73 69 7A 65 29 3B 0D 0A 09 63 68 3A 3D 27 fasize);...ch:='
020D00: 0D 0A 4E 6F 74 65 73 20 6F 6E 20 72 65 67 65 6E ..Notes on regen
020D10: 65 72 61 74 69 6E 67 20 74 68 65 20 63 6F 6D 70 erating the comp
020D20: 69 6C 65 72 0D 0A 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D iler..==========
020D30: 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D ================
020D40: 3D 3D 3D 3D 3D 3D 3D 3D 0D 0A 0D 0A 0D 0A 57 68 ========......Wh
020D50: 65 6E 20 72 65 61 73 73 65 6D 62 6C 69 6E 67 20 en reassembling
020D60: 74 68 65 20 72 75 6E 74 69 6D 65 20 70 61 63 6B the runtime pack
020D70: 61 67 65 2C 20 64 6F 20 6E 6F 74 20 75 73 65 20 age, do not use
020D80: 4C 4F 41 44 20 74 6F 20 63 72 65 61 74 65 20 52 LOAD to create R
020D90: 54 50 2E 43 4F 4D 2E 0D 0A 49 6E 73 74 65 61 64 TP.COM...Instead
020DA0: 2C 20 79 6F 75 20 6D 75 73 74 20 75 73 65 20 61 , you must use a
020DB0: 20 64 65 62 75 67 67 65 72 20 61 6E 64 20 64 6F debugger and do
020DC0: 20 74 68 65 20 66 6F 6C 6C 6F 77 69 6E 67 3A 0D the following:.
020DD0: 0A 0D 0A 31 29 20 41 73 73 65 6D 62 6C 65 20 52 ...1) Assemble R
020DE0: 54 50 2E 41 53 4D 20 74 6F 20 70 72 6F 64 75 63 TP.ASM to produc
020DF0: 65 20 52 54 50 2E 48 45 58 2E 20 20 4D 61 6B 65 e RTP.HEX. Make
020E00: 20 6E 6F 74 65 20 6F 66 20 74 68 65 20 66 69 6E note of the fin
020E10: 61 6C 20 63 6F 64 65 0D 0A 20 20 20 61 64 64 72 al code.. addr
020E20: 65 73 73 20 70 72 69 6E 74 65 64 20 62 79 20 74 ess printed by t
020E30: 68 65 20 61 73 73 65 6D 62 6C 65 72 2E 20 20 52 he assembler. R
020E40: 54 50 2E 43 4F 4D 20 73 68 6F 75 6C 64 20 67 6F TP.COM should go
020E50: 20 75 70 20 74 6F 20 74 68 69 73 0D 0A 20 20 20 up to this..
020E60: 61 64 64 72 65 73 73 20 6D 69 6E 75 73 20 31 2E address minus 1.
020E70: 0D 0A 0D 0A 32 29 20 46 69 72 65 20 75 70 20 79 ....2) Fire up y
020E80: 6F 75 72 20 66 61 76 6F 72 69 74 65 20 64 65 62 our favorite deb
020E90: 75 67 67 65 72 20 28 44 44 54 20 77 69 6C 6C 20 ugger (DDT will
020EA0: 64 6F 29 2E 0D 0A 0D 0A 33 29 20 46 69 6C 6C 20 do).....3) Fill
020EB0: 6D 65 6D 6F 72 79 20 77 69 74 68 20 30 27 73 2E memory with 0's.
020EC0: 20 20 31 30 30 68 20 2D 20 31 30 30 30 68 20 73 100h - 1000h s
020ED0: 68 6F 75 6C 64 20 64 6F 2E 0D 0A 0D 0A 34 29 20 hould do.....4)
020EE0: 4E 6F 77 20 79 6F 75 20 63 61 6E 20 72 65 61 64 Now you can read
020EF0: 20 69 6E 20 52 54 50 2E 48 45 58 2C 20 73 74 61 in RTP.HEX, sta
020F00: 0D 0A 0D 0A 54 68 65 20 72 75 6E 74 69 6D 65 20 ....The runtime
020F10: 73 74 61 63 6B 20 69 73 20 6B 65 70 74 20 6F 6E stack is kept on
020F20: 20 74 68 65 20 38 30 38 30 20 6D 61 63 68 69 6E the 8080 machin
020F30: 65 20 73 74 61 63 6B 2E 0D 0A 0D 0A 49 6E 20 61 e stack.....In a
020F40: 6C 6C 20 64 69 61 67 72 61 6D 73 20 62 65 6C 6F ll diagrams belo
020F50: 77 2C 20 74 68 65 20 68 69 67 68 65 73 74 20 6D w, the highest m
020F60: 65 6D 6F 72 79 20 61 64 64 72 65 73 73 20 69 73 emory address is
020F70: 20 61 74 20 74 68 65 20 54 2D 4F 2D 50 0D 0A 6F at the T-O-P..o
020F80: 66 20 74 68 65 20 64 69 61 67 72 61 6D 2E 0D 0A f the diagram...
020F90: 0D 0A 09 09 63 68 61 72 09 09 77 6F 72 64 09 09 ....char..word..
020FA0: 61 6C 66 61 20 28 30 31 32 33 34 35 36 37 29 0D alfa (01234567).
020FB0: 0A 09 09 3D 3D 3D 3D 09 09 3D 3D 3D 3D 09 09 3D ...====..====..=
020FC0: 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 0D 0A ==============..
020FD0: 09 09 09 09 09 09 37 0D 0A 09 09 09 09 09 09 36 ......7........6
020FE0: 0D 0A 09 09 09 09 09 09 35 0D 0A 09 09 09 09 09 ........5.......
020FF0: 09 34 0D 0A 09 09 09 09 09 09 33 0D 0A 09 09 09 .4........3.....
021000: 09 09 09 32 0D 0A 09 09 09 09 48 09 09 31 0D 0A ...2......H..1..
021010: 70 6F 69 6E 74 65 72 20 74 6F 20 2D 3E 09 78 09 pointer to ->.x.
021020: 09 4C 09 09 30 0D 0A 0D 0A 0D 0A 09 20 20 20 20 .L..0.......
021030: 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F ________________
021040: 5F 5F 5F 5F 0D 0A 09 20 2D 35 20 7C 20 72 65 74 ____... -5 | ret
021050: 75 72 6E 20 61 64 64 72 65 73 73 20 20 20 7C 0D urn address |.
021060: 0A 09 20 2D 34 20 7C 5F 5F 5F 5F 5F 5F 5F 5F 5F .. -4 |_________
021070: 5F 5F 5F 5F 5F 5F 5F 5F 5F 7C 0D 0A 09 20 2D 33 _________|... -3
021080: 20 7C 20 64 79 6E 61 6D 69 63 20 6C 69 6E 6B 20 | dynamic link
021090: 20 20 20 20 7C 0D 0A 09 20 2D 32 20 7C 5F 5F 5F |... -2 |___
0210A0: 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F 7C _______________|
0210B0: 0D 0A 09 20 2D 31 20 7C 20 73 74 61 74 69 63 20 ... -1 | static
0210C0: 6C 69 6E 6B 20 20 20 20 20 20 7C 0D 0A 42 52 20 link |..BR
0210D0: 2D 3E 09 20 20 30 20 7C 5F 5F 5F 5F 5F 5F 5F 5F ->. 0 |________
0210E0: 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F 7C 0D 0A 09 20 20 __________|...
0210F0: 31 20 7C 20 6C 6F 63 61 6C 20 76 61 72 69 61 62 1 | local variab
021100: 72 74 69 6E 67 20 61 74 20 31 30 30 68 2E 0D 0A rting at 100h...
021110: 0D 0A 35 29 20 42 6F 6F 74 20 62 61 63 6B 20 74 ..5) Boot back t
021120: 6F 20 74 68 65 20 43 43 50 2E 0D 0A 0D 0A 36 29 o the CCP.....6)
021130: 20 53 61 76 65 20 6D 65 6D 6F 72 79 20 75 70 20 Save memory up
021140: 74 6F 20 6F 6E 65 20 62 79 74 65 20 62 65 6C 6F to one byte belo
021150: 77 20 74 68 65 20 66 69 6E 61 6C 20 63 6F 64 65 w the final code
021160: 20 61 64 64 72 65 73 73 20 70 72 69 6E 74 65 64 address printed
021170: 20 62 79 0D 0A 20 20 20 74 68 65 20 61 73 73 65 by.. the asse
021180: 6D 62 6C 65 72 2E 20 20 46 27 72 69 6E 73 74 61 mbler. F'rinsta
021190: 6E 63 65 20 69 66 20 30 36 30 30 20 77 61 73 20 nce if 0600 was
0211A0: 6C 61 73 74 20 61 64 64 72 65 73 73 2C 20 74 79 last address, ty
0211B0: 70 65 0D 0A 20 20 20 22 53 41 56 45 20 35 20 52 pe.. "SAVE 5 R
0211C0: 54 50 2E 43 4F 4D 22 2E 0D 0A 0D 0A 54 68 69 73 TP.COM".....This
0211D0: 20 70 72 6F 63 65 64 75 72 65 20 6D 75 73 74 20 procedure must
0211E0: 62 65 20 66 6F 6C 6C 6F 77 65 64 20 73 6F 20 74 be followed so t
0211F0: 68 61 74 20 50 49 50 20 63 61 6E 20 62 65 20 75 hat PIP can be u
021200: 73 65 64 20 74 6F 20 63 6F 6E 63 61 74 65 6E 61 sed to concatena
021210: 74 65 0D 0A 74 68 65 20 72 75 6E 74 69 6D 65 20 te..the runtime
021220: 70 61 63 6B 61 67 65 20 61 6E 64 20 74 68 65 20 package and the
021230: 6F 62 6A 65 63 74 20 63 6F 64 65 20 70 72 6F 64 object code prod
021240: 75 63 65 64 20 62 79 20 74 68 65 20 63 6F 6D 70 uced by the comp
021250: 69 6C 65 72 2E 0D 0A 49 74 20 77 69 6C 6C 20 61 iler...It will a
021260: 6C 73 6F 20 6D 61 6B 65 20 79 6F 75 72 20 6C 69 lso make your li
021270: 66 65 20 61 20 6C 6F 74 20 65 61 73 69 65 72 20 fe a lot easier
021280: 77 68 65 6E 20 75 73 69 6E 67 20 43 4F 4D 50 41 when using COMPA
021290: 52 45 2E 43 4F 4D 20 74 6F 0D 0A 63 6F 6D 70 61 RE.COM to..compa
0212A0: 72 65 20 70 61 72 65 6E 74 73 20 61 6E 64 20 63 re parents and c
0212B0: 68 69 6C 64 65 72 6E 20 28 73 68 6F 75 6C 64 20 hildern (should
0212C0: 79 6F 75 20 65 76 65 72 20 74 72 79 20 61 6E 64 you ever try and
0212D0: 20 65 78 74 65 6E 64 20 74 68 65 20 63 6F 6D 70 extend the comp
0212E0: 69 6C 65 72 29 2E 0D 0A 0D 0A 0D 0A 49 66 20 79 iler).......If y
0212F0: 6F 75 20 6D 61 6B 65 20 63 68 61 6E 67 65 73 20 ou make changes
021300: 6C 65 20 31 20 7C 0D 0A 09 20 20 32 20 7C 20 20 le 1 |... 2 |
021310: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
021320: 7C 0D 0A 09 20 20 2E 20 7C 20 20 20 20 20 20 20 |... . |
021330: 20 20 20 20 20 20 20 20 20 20 20 7C 0D 0A 09 20 |...
021340: 20 2E 20 7C 20 20 20 20 20 20 20 20 20 20 20 20 . |
021350: 20 20 20 20 20 20 7C 0D 0A 09 20 20 2E 20 7C 20 |... . |
021360: 6C 6F 63 61 6C 20 76 61 72 69 61 62 6C 65 20 6E local variable n
021370: 20 7C 0D 0A 09 20 20 6E 20 7C 5F 5F 5F 5F 5F 5F |... n |______
021380: 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F 7C 0D 0A 09 ____________|...
021390: 20 20 20 20 7C 20 66 75 6E 63 74 69 6F 6E 20 76 | function v
0213A0: 61 6C 75 65 20 20 20 7C 20 20 20 20 66 75 6E 63 alue | func
0213B0: 74 69 6F 6E 20 72 65 74 75 72 6E 20 76 61 6C 75 tion return valu
0213C0: 65 0D 0A 09 2D 31 30 20 7C 5F 5F 5F 5F 5F 5F 5F e...-10 |_______
0213D0: 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F 7C 0D 0A 09 20 ___________|...
0213E0: 2D 39 20 7C 20 70 61 72 61 6D 65 74 65 72 20 31 -9 | parameter 1
0213F0: 20 20 20 20 20 20 7C 0D 0A 09 20 2D 38 20 7C 5F |... -8 |_
021400: 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F ________________
021410: 5F 7C 0D 0A 09 20 2D 37 20 7C 20 70 61 72 61 6D _|... -7 | param
021420: 65 74 65 72 20 32 20 20 20 20 20 20 7C 0D 0A 09 eter 2 |...
021430: 20 2D 36 20 7C 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F -6 |___________
021440: 5F 5F 5F 5F 5F 5F 5F 7C 0D 0A 09 20 2D 35 20 7C _______|... -5 |
021450: 20 72 65 74 75 72 6E 20 61 64 64 72 65 73 73 20 return address
021460: 20 20 7C 0D 0A 09 20 2D 34 20 7C 5F 5F 5F 5F 5F |... -4 |_____
021470: 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F 7C 0D 0A _____________|..
021480: 09 20 2D 33 20 7C 20 64 79 6E 61 6D 69 63 20 6C . -3 | dynamic l
021490: 69 6E 6B 20 20 20 20 20 7C 0D 0A 09 20 2D 32 20 ink |... -2
0214A0: 7C 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F |_______________
0214B0: 5F 5F 5F 7C 0D 0A 09 20 2D 31 20 7C 20 73 74 61 ___|... -1 | sta
0214C0: 74 69 63 20 6C 69 6E 6B 20 20 20 20 20 20 7C 0D tic link |.
0214D0: 0A 42 52 20 2D 3E 09 20 20 30 20 7C 5F 5F 5F 5F .BR ->. 0 |____
0214E0: 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F 7C 0D ______________|.
0214F0: 0A 09 20 20 31 20 7C 20 6C 6F 63 61 6C 20 76 61 .. 1 | local va
021500: 54 72 61 63 6B 2D 49 6E 66 6F 0D 0A 00 01 00 00 Track-Info......
021510: 1C 00 00 00 02 09 49 E5 1C 00 C1 02 00 00 00 02 ......I.........
021520: 1C 00 C6 02 00 00 00 02 1C 00 C2 02 00 00 00 02 ................
021530: 1C 00 C7 02 00 00 00 02 1C 00 C3 02 00 00 00 02 ................
021540: 1C 00 C8 02 00 00 00 02 1C 00 C4 02 00 00 00 02 ................
021550: 1C 00 C9 02 00 00 00 02 1C 00 C5 02 00 00 00 02 ................
021560: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
021570: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
021580: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
021590: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0215A0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0215B0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0215C0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0215D0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0215E0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0215F0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
021600: 74 6F 20 70 70 63 2E 70 61 73 20 6F 72 20 70 66 to ppc.pas or pf
021610: 65 74 2E 70 61 73 2C 20 79 6F 75 27 6C 6C 20 77 et.pas, you'll w
021620: 61 6E 74 20 74 6F 20 62 65 20 73 75 72 65 0D 0A ant to be sure..
021630: 74 68 61 74 20 74 68 65 20 6E 65 77 20 63 6F 6D that the new com
021640: 70 69 6C 65 72 20 69 73 20 63 61 70 61 62 6C 65 piler is capable
021650: 20 6F 66 20 63 6F 6D 70 69 6C 69 6E 67 20 69 74 of compiling it
021660: 73 65 6C 66 2E 20 20 49 6E 20 67 65 6E 65 74 69 self. In geneti
021670: 63 73 2C 0D 0A 74 68 69 73 20 77 6F 75 6C 64 20 cs,..this would
021680: 62 65 20 6C 69 6B 65 20 6D 61 6B 69 6E 67 20 73 be like making s
021690: 75 72 65 20 74 68 61 74 20 79 6F 75 72 20 63 68 ure that your ch
0216A0: 69 6C 64 72 65 6E 20 61 72 65 20 6E 6F 74 20 73 ildren are not s
0216B0: 74 65 72 69 6C 65 2E 0D 0A 54 68 65 20 66 69 6C terile...The fil
0216C0: 65 20 76 61 6C 69 64 61 74 65 2E 73 75 62 20 73 e validate.sub s
0216D0: 68 6F 75 6C 64 20 68 65 6C 70 20 6D 61 6B 65 20 hould help make
0216E0: 73 75 72 65 20 79 6F 75 20 64 6F 6E 27 74 20 68 sure you don't h
0216F0: 61 76 65 20 73 74 65 72 69 6C 65 0D 0A 63 68 69 ave sterile..chi
021700: 6C 64 72 65 6E 2E 20 20 49 74 20 75 73 65 73 20 ldren. It uses
021710: 61 20 22 6B 6E 6F 77 20 66 65 72 74 69 6C 65 22 a "know fertile"
021720: 20 63 6F 6D 70 69 6C 65 72 20 28 70 70 63 2E 63 compiler (ppc.c
021730: 6F 6D 2C 20 70 66 65 74 2E 63 6F 6D 29 20 74 6F om, pfet.com) to
021740: 0D 0A 63 6F 6D 70 69 6C 65 20 74 68 65 20 6E 65 ..compile the ne
021750: 77 20 70 70 63 2E 70 61 73 20 61 6E 64 20 70 66 w ppc.pas and pf
021760: 65 74 2E 70 61 73 2E 20 20 54 68 65 20 72 65 73 et.pas. The res
021770: 75 6C 74 69 6E 67 20 63 6F 6D 70 69 6C 65 72 20 ulting compiler
021780: 69 73 20 74 68 65 6E 0D 0A 75 73 65 64 20 74 6F is then..used to
021790: 20 63 6F 6D 70 69 6C 65 20 70 70 63 2E 70 61 73 compile ppc.pas
0217A0: 20 61 6E 64 20 70 66 65 74 2E 70 61 73 20 61 67 and pfet.pas ag
0217B0: 61 69 6E 2E 20 20 54 68 65 20 72 65 73 75 6C 74 ain. The result
0217C0: 73 20 6F 66 20 74 68 69 73 0D 0A 73 65 63 6F 6E s of this..secon
0217D0: 64 20 63 6F 6D 70 69 6C 61 74 6F 6E 20 61 72 65 d compilaton are
0217E0: 20 63 6F 6D 70 61 72 65 64 20 74 6F 20 74 68 65 compared to the
0217F0: 20 72 65 73 75 6C 74 73 20 6F 66 20 74 68 65 20 results of the
021800: 62 61 73 65 0D 0A 09 6A 6D 70 09 63 6D 70 72 0D base...jmp.cmpr.
021810: 0A 09 6A 6D 70 09 63 73 70 30 0D 0A 09 6A 6D 70 ..jmp.csp0...jmp
021820: 09 63 73 70 31 0D 0A 09 6A 6D 70 09 24 0D 0A 09 .csp1...jmp.$...
021830: 6A 6D 70 09 63 73 70 33 0D 0A 09 6A 6D 70 09 24 jmp.csp3...jmp.$
021840: 0D 0A 09 6A 6D 70 09 24 0D 0A 09 6A 6D 70 09 24 ...jmp.$...jmp.$
021850: 0D 0A 09 6A 6D 70 09 24 0D 0A 09 6A 6D 70 09 63 ...jmp.$...jmp.c
021860: 73 70 38 0D 0A 09 6A 6D 70 09 63 73 70 39 0D 0A sp8...jmp.csp9..
021870: 09 6A 6D 70 09 73 70 61 6C 69 74 0D 0A 09 6A 6D .jmp.spalit...jm
021880: 70 09 73 70 61 6C 6F 64 0D 0A 09 6A 6D 70 09 73 p.spalod...jmp.s
021890: 70 61 73 74 6F 0D 0A 09 6A 6D 70 09 61 63 6D 70 pasto...jmp.acmp
0218A0: 72 0D 0A 09 6A 6D 70 09 6F 70 72 33 0D 0A 09 6A r...jmp.opr3...j
0218B0: 6D 70 09 6F 70 72 34 0D 0A 09 6A 6D 70 09 6F 70 mp.opr4...jmp.op
0218C0: 72 35 0D 0A 09 6A 6D 70 09 24 0D 0A 09 6A 6D 70 r5...jmp.$...jmp
0218D0: 09 24 0D 0A 09 6A 6D 70 09 73 70 63 61 6C 30 0D .$...jmp.spcal0.
0218E0: 0A 09 6A 6D 70 09 73 70 63 61 6C 0D 0A 09 6A 6D ..jmp.spcal...jm
0218F0: 70 09 73 70 72 65 74 0D 0A 62 72 09 64 73 09 32 p.spret..br.ds.2
021900: 0D 0A 3B 0D 0A 3B 20 69 6E 73 65 72 74 20 76 65 ..;..; insert ve
021910: 72 73 69 6F 6E 20 6E 75 6D 62 65 72 20 69 6E 20 rsion number in
021920: 6F 62 6A 65 63 74 0D 0A 3B 0D 0A 09 64 62 09 27 object..;...db.'
021930: 52 54 50 20 52 45 56 20 27 0D 0A 09 64 62 09 76 RTP REV '...db.v
021940: 68 75 2B 27 30 27 2C 20 76 74 6E 2B 27 30 27 2C hu+'0', vtn+'0',
021950: 20 27 2E 27 2C 20 76 75 6E 2B 27 30 27 2C 20 64 '.', vun+'0', d
021960: 65 76 72 65 6C 0D 0A 3B 0D 0A 3B 20 73 74 61 72 evrel..;..; star
021970: 74 75 70 20 73 65 74 73 20 75 70 20 74 68 65 20 tup sets up the
021980: 69 2F 6F 20 61 6E 64 20 73 74 61 63 6B 73 20 62 i/o and stacks b
021990: 65 66 6F 72 65 20 74 72 61 6E 73 66 65 72 69 6E efore transferin
0219A0: 67 20 74 6F 0D 0A 3B 20 74 68 65 20 6F 62 6A 65 g to..; the obje
0219B0: 63 74 20 63 6F 64 65 20 66 6F 72 20 65 78 65 63 ct code for exec
0219C0: 75 74 69 6F 6E 0D 0A 3B 0D 0A 73 74 61 72 74 75 ution..;..startu
0219D0: 70 3A 0D 0A 09 6C 68 6C 64 09 36 09 3B 73 65 74 p:...lhld.6.;set
0219E0: 20 73 74 61 63 6B 20 75 6E 64 65 72 20 62 64 6F stack under bdo
0219F0: 73 0D 0A 09 6D 76 69 09 6C 2C 30 0D 0A 09 73 70 s...mvi.l,0...sp
021A00: 66 69 72 73 74 2E 20 20 49 66 20 74 68 65 79 0D first. If they.
021A10: 0A 6D 61 74 63 68 2C 20 69 74 20 69 73 20 73 61 .match, it is sa
021A20: 66 65 20 74 6F 20 65 72 61 73 65 20 74 68 65 20 fe to erase the
021A30: 22 6B 6E 6F 77 6E 20 66 65 72 74 69 6C 65 22 20 "known fertile"
021A40: 63 6F 6D 70 69 6C 65 72 20 62 65 63 61 75 73 65 compiler because
021A50: 20 79 6F 75 0D 0A 6E 6F 77 20 6B 6E 6F 77 20 74 you..now know t
021A60: 68 61 74 20 79 6F 75 20 68 61 76 65 20 61 20 63 hat you have a c
021A70: 6F 6D 70 69 6C 65 72 20 77 68 69 63 68 20 63 61 ompiler which ca
021A80: 6E 20 72 65 70 72 6F 64 75 63 65 20 69 74 73 65 n reproduce itse
021A90: 6C 66 2E 20 20 49 66 0D 0A 74 68 65 79 20 6D 69 lf. If..they mi
021AA0: 73 63 6F 6D 70 61 72 65 2C 20 79 6F 75 27 64 20 scompare, you'd
021AB0: 62 65 74 74 65 72 20 66 69 6E 64 20 6F 75 74 20 better find out
021AC0: 77 68 79 20 61 6E 64 20 66 69 78 20 69 74 20 62 why and fix it b
021AD0: 65 66 6F 72 65 20 65 72 61 73 69 6E 67 0D 0A 74 efore erasing..t
021AE0: 68 65 20 70 61 72 65 6E 74 73 2E 20 20 59 6F 75 he parents. You
021AF0: 20 73 68 6F 75 6C 64 20 61 6C 73 6F 20 6E 6F 74 should also not
021B00: 65 20 74 68 61 74 20 74 68 69 73 20 74 65 73 74 e that this test
021B10: 20 6F 6E 6C 79 20 67 75 61 72 61 6E 74 65 65 73 only guarantees
021B20: 0D 0A 74 68 61 74 20 79 6F 75 27 6C 6C 20 62 65 ..that you'll be
021B30: 20 61 62 6C 65 20 74 6F 20 63 6F 6E 74 69 6E 75 able to continu
021B40: 65 20 74 6F 20 75 73 65 20 74 68 65 20 63 6F 6D e to use the com
021B50: 70 69 6C 65 72 20 74 6F 20 63 6F 6D 70 69 6C 65 piler to compile
021B60: 20 69 74 73 65 6C 66 2E 0D 0A 49 74 20 64 6F 65 itself...It doe
021B70: 73 20 4E 2D 4F 2D 54 20 67 75 61 72 61 6E 74 65 s N-O-T guarante
021B80: 65 20 74 68 61 74 20 79 6F 75 27 76 65 20 67 6F e that you've go
021B90: 74 20 61 20 66 75 6C 6C 79 20 66 75 6E 63 74 69 t a fully functi
021BA0: 6F 6E 61 6C 20 63 6F 6D 70 69 6C 65 72 2C 0D 0A onal compiler,..
021BB0: 62 65 63 61 75 73 65 20 74 68 65 20 63 6F 6D 70 because the comp
021BC0: 69 6C 69 6E 67 20 74 68 65 20 63 6F 6D 70 69 6C iling the compil
021BD0: 65 72 20 64 6F 65 73 20 6E 6F 74 20 65 78 65 72 er does not exer
021BE0: 63 69 73 65 20 61 6C 6C 20 66 75 6E 63 74 69 6F cise all functio
021BF0: 6E 73 0D 0A 6F 66 20 74 68 65 20 63 6F 6D 70 69 ns..of the compi
021C00: 68 6C 0D 0A 09 73 68 6C 64 09 62 72 09 3B 69 6E hl...shld.br.;in
021C10: 74 69 20 62 61 73 65 20 72 65 67 0D 0A 09 63 61 ti base reg...ca
021C20: 6C 6C 09 73 65 74 69 6F 09 3B 73 65 74 20 63 69 ll.setio.;set ci
021C30: 66 6C 61 67 20 61 6E 64 20 63 6F 66 6C 61 67 0D flag and coflag.
021C40: 0A 09 63 61 6C 6C 09 6F 70 65 6E 66 09 3B 6F 70 ..call.openf.;op
021C50: 65 6E 20 66 69 6C 65 73 20 69 66 20 6E 65 65 64 en files if need
021C60: 65 64 0D 0A 09 6A 6D 70 09 6F 63 6F 64 65 09 3B ed...jmp.ocode.;
021C70: 76 65 63 74 6F 72 20 74 6F 20 67 65 6E 65 72 61 vector to genera
021C80: 74 65 64 20 6F 62 6A 65 63 74 20 63 6F 64 65 0D ted object code.
021C90: 0A 3B 0D 0A 3B 20 73 65 74 69 6F 20 73 65 74 73 .;..; setio sets
021CA0: 20 63 69 66 6C 61 67 20 74 6F 20 30 66 66 68 20 ciflag to 0ffh
021CB0: 28 74 72 75 65 29 20 69 66 20 69 6E 70 75 74 20 (true) if input
021CC0: 69 73 20 74 6F 20 63 6F 6D 65 20 66 72 6F 6D 0D is to come from.
021CD0: 0A 3B 20 74 68 65 20 63 6F 6E 73 6F 6C 65 20 28 .; the console (
021CE0: 61 73 20 6F 70 70 6F 73 65 64 20 74 6F 20 30 68 as opposed to 0h
021CF0: 20 69 66 20 69 74 20 69 73 20 74 6F 20 63 6F 6D if it is to com
021D00: 65 20 66 72 6F 6D 20 64 69 73 6B 29 0D 0A 3B 20 e from disk)..;
021D10: 61 6E 64 20 6C 69 6B 65 77 69 73 65 20 66 6F 72 and likewise for
021D20: 20 63 6F 66 6C 61 67 20 66 6F 72 20 63 6F 6E 73 coflag for cons
021D30: 6F 6C 65 20 6F 75 74 70 75 74 0D 0A 3B 0D 0A 73 ole output..;..s
021D40: 65 74 69 6F 3A 0D 0A 09 6C 64 61 09 35 64 68 09 etio:...lda.5dh.
021D50: 3B 66 69 72 73 74 20 6E 61 6D 65 20 62 79 74 65 ;first name byte
021D60: 20 6F 66 20 66 63 62 31 0D 0A 09 6D 76 69 09 62 of fcb1...mvi.b
021D70: 2C 30 66 66 68 09 3B 70 72 65 70 61 72 65 20 63 ,0ffh.;prepare c
021D80: 69 66 6C 61 67 20 76 61 6C 75 65 0D 0A 09 63 70 iflag value...cp
021D90: 69 09 27 20 27 09 3B 62 6C 61 6E 6B 20 6D 65 61 i.' '.;blank mea
021DA0: 6E 73 20 63 6F 6E 73 6F 6C 65 20 69 6E 0D 0A 09 ns console in...
021DB0: 6A 7A 09 73 65 74 31 0D 0A 09 63 70 69 09 27 3F jz.set1...cpi.'?
021DC0: 27 09 3B 3F 20 6D 65 61 6E 73 20 63 6F 6E 73 6F '.;? means conso
021DD0: 6C 65 20 69 6E 20 74 6F 6F 0D 0A 09 6A 7A 09 73 le in too...jz.s
021DE0: 65 74 31 0D 0A 09 69 6E 72 09 62 09 3B 72 65 67 et1...inr.b.;reg
021DF0: 20 62 20 3D 20 30 0D 0A 73 65 74 31 3A 0D 0A 09 b = 0..set1:...
021E00: 6C 65 72 2E 0D 0A 0D 0A 41 66 74 65 72 20 6D 61 ler.....After ma
021E10: 6B 69 6E 67 20 61 6E 79 20 63 68 61 6E 67 65 73 king any changes
021E20: 20 74 6F 20 74 68 65 20 63 6F 6D 70 69 6C 65 72 to the compiler
021E30: 2C 20 79 6F 75 27 6C 6C 20 70 72 6F 62 61 62 6C , you'll probabl
021E40: 79 20 77 61 6E 74 20 74 6F 0D 0A 6D 61 6B 65 20 y want to..make
021E50: 73 75 72 65 20 74 68 61 74 20 79 6F 75 20 63 61 sure that you ca
021E60: 6E 20 73 74 69 6C 6C 20 63 6F 6D 70 69 6C 65 20 n still compile
021E70: 61 6E 64 20 65 78 65 63 75 74 65 20 74 65 73 74 and execute test
021E80: 65 72 2E 70 61 73 2E 20 20 54 68 69 73 0D 0A 74 er.pas. This..t
021E90: 65 73 74 20 64 6F 65 73 6E 27 74 20 74 65 73 74 est doesn't test
021EA0: 20 61 6C 6C 20 66 75 6E 63 74 69 6F 6E 73 20 6F all functions o
021EB0: 66 20 74 68 65 20 63 6F 6D 70 69 6C 65 72 20 65 f the compiler e
021EC0: 69 74 68 65 72 2C 20 62 75 74 20 70 61 73 73 69 ither, but passi
021ED0: 6E 67 0D 0A 74 65 73 74 65 72 20 69 73 20 67 6F ng..tester is go
021EE0: 6F 64 20 73 69 67 6E 20 74 68 61 74 20 79 6F 75 od sign that you
021EF0: 20 68 61 76 65 6E 27 74 20 62 72 6F 6B 65 6E 20 haven't broken
021F00: 61 6E 79 74 68 69 6E 67 20 6D 61 6A 6F 72 2E 20 anything major.
021F10: 20 42 79 20 74 68 65 0D 0A 77 61 79 2C 20 69 74 By the..way, it
021F20: 20 69 73 20 6E 6F 72 6D 61 6C 20 74 6F 20 67 65 is normal to ge
021F30: 74 20 61 20 66 65 77 20 74 79 70 65 20 6D 69 73 t a few type mis
021F40: 73 6D 61 74 63 68 20 65 72 72 6F 72 73 20 77 68 smatch errors wh
021F50: 69 6C 65 20 63 6F 6D 70 69 6C 69 6E 67 0D 0A 74 ile compiling..t
021F60: 65 73 74 65 72 2E 20 20 41 20 6E 65 77 20 76 65 ester. A new ve
021F70: 72 73 69 6F 6E 20 6F 66 20 74 68 65 20 63 6F 6D rsion of the com
021F80: 70 69 6C 65 72 20 77 68 69 63 68 20 69 73 20 73 piler which is s
021F90: 6D 61 72 74 65 72 20 61 62 6F 75 74 20 74 79 70 marter about typ
021FA0: 65 0D 0A 63 68 65 63 6B 69 6E 67 20 77 6F 75 6C e..checking woul
021FB0: 64 20 70 72 65 76 65 6E 74 20 74 68 65 73 65 20 d prevent these
021FC0: 6D 65 73 73 61 67 65 73 2E 0D 0A 1A 1A 1A 1A 1A messages........
021FD0: 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A ................
021FE0: 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A ................
021FF0: 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A ................
022000: 6D 6F 76 09 61 2C 62 09 3B 67 65 74 20 63 69 66 mov.a,b.;get cif
022010: 6C 61 67 20 76 61 6C 75 65 0D 0A 09 73 74 61 09 lag value...sta.
022020: 63 69 66 6C 61 67 09 3B 73 74 6F 72 65 20 69 74 ciflag.;store it
022030: 0D 0A 09 6C 78 69 09 68 2C 69 66 63 62 09 3B 63 ...lxi.h,ifcb.;c
022040: 6F 70 79 20 66 69 72 73 74 20 6E 61 6D 65 20 69 opy first name i
022050: 6E 74 6F 20 69 6E 70 75 74 20 66 63 62 0D 0A 09 nto input fcb...
022060: 6C 78 69 09 64 2C 35 63 68 0D 0A 09 63 61 6C 6C lxi.d,5ch...call
022070: 09 63 6F 70 79 6E 61 6D 0D 0A 09 6C 64 61 09 36 .copynam...lda.6
022080: 64 68 09 3B 67 65 74 20 66 69 72 73 74 20 6E 61 dh.;get first na
022090: 6D 65 20 62 79 74 65 20 6F 66 20 66 63 62 32 0D me byte of fcb2.
0220A0: 0A 09 6D 76 69 09 62 2C 30 66 66 68 09 3B 73 61 ..mvi.b,0ffh.;sa
0220B0: 6D 65 20 61 73 20 61 62 6F 76 65 0D 0A 09 63 70 me as above...cp
0220C0: 69 09 27 20 27 0D 0A 09 6A 7A 09 73 65 74 32 0D i.' '...jz.set2.
0220D0: 0A 09 63 70 69 09 27 3F 27 0D 0A 09 6A 7A 09 73 ..cpi.'?'...jz.s
0220E0: 65 74 32 0D 0A 09 69 6E 72 09 62 0D 0A 73 65 74 et2...inr.b..set
0220F0: 32 3A 0D 0A 09 6D 6F 76 09 61 2C 62 0D 0A 09 73 2:...mov.a,b...s
022100: 74 61 09 63 6F 66 6C 61 67 0D 0A 09 6C 78 69 09 ta.coflag...lxi.
022110: 68 2C 6F 66 63 62 09 3B 63 6F 70 79 20 73 65 63 h,ofcb.;copy sec
022120: 6F 6E 64 20 6E 61 6D 65 20 69 6E 74 6F 20 6F 75 ond name into ou
022130: 74 70 75 74 20 66 63 62 0D 0A 09 6C 78 69 09 64 tput fcb...lxi.d
022140: 2C 36 63 68 0D 0A 09 63 61 6C 6C 09 63 6F 70 79 ,6ch...call.copy
022150: 6E 61 6D 0D 0A 09 72 65 74 0D 0A 3B 0D 0A 3B 20 nam...ret..;..;
022160: 63 6F 70 79 6E 61 6D 20 6D 6F 76 65 73 20 61 20 copynam moves a
022170: 66 69 6C 65 20 6E 61 6D 65 20 66 72 6F 6D 20 64 file name from d
022180: 65 20 74 6F 20 68 6C 2E 0D 0A 3B 20 63 6C 6F 62 e to hl...; clob
022190: 62 65 72 73 20 72 65 67 20 68 6C 2C 20 64 65 2C bers reg hl, de,
0221A0: 20 62 2C 20 61 2E 0D 0A 3B 0D 0A 63 6F 70 79 6E b, a...;..copyn
0221B0: 61 6D 3A 0D 0A 09 6D 76 69 09 62 2C 31 32 09 3B am:...mvi.b,12.;
0221C0: 66 69 6C 65 6E 61 6D 65 20 6C 65 6E 67 74 68 0D filename length.
0221D0: 0A 63 6E 31 3A 0D 0A 09 6C 64 61 78 09 64 09 3B .cn1:...ldax.d.;
0221E0: 67 65 74 20 66 72 6F 6D 20 73 6F 75 72 63 65 0D get from source.
0221F0: 0A 09 6D 6F 76 09 6D 2C 61 09 3B 70 75 74 20 74 ..mov.m,a.;put t
022200: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
022210: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
022220: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
022230: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
022240: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
022250: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
022260: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
022270: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
022280: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
022290: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0222A0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0222B0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0222C0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0222D0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0222E0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0222F0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
022300: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
022310: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
022320: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
022330: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
022340: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
022350: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
022360: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
022370: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
022380: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
022390: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0223A0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0223B0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0223C0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0223D0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0223E0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0223F0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
022400: 6F 20 64 65 73 74 0D 0A 09 69 6E 78 09 64 0D 0A o dest...inx.d..
022410: 09 69 6E 78 09 68 0D 0A 09 64 63 72 09 62 0D 0A .inx.h...dcr.b..
022420: 09 6A 6E 7A 09 63 6E 31 0D 0A 09 72 65 74 0D 0A .jnz.cn1...ret..
022430: 3B 0D 0A 3B 20 6F 70 65 6E 66 20 6F 70 65 6E 73 ;..; openf opens
022440: 20 74 68 65 20 66 69 6C 65 20 6E 61 6D 65 20 69 the file name i
022450: 6E 20 66 63 62 31 20 66 6F 72 20 69 6E 70 75 74 n fcb1 for input
022460: 20 69 66 20 63 69 66 6C 61 67 20 69 73 0D 0A 3B if ciflag is..;
022470: 20 66 61 6C 73 65 20 61 6E 64 20 6F 70 65 6E 73 false and opens
022480: 20 74 68 65 20 6E 61 6D 65 20 69 6E 20 66 63 62 the name in fcb
022490: 32 20 66 6F 72 20 6F 75 74 70 75 74 20 69 66 20 2 for output if
0224A0: 63 6F 66 6C 61 67 20 69 73 0D 0A 3B 20 66 61 6C coflag is..; fal
0224B0: 73 65 0D 0A 3B 0D 0A 6F 70 65 6E 66 3A 0D 0A 09 se..;..openf:...
0224C0: 6C 64 61 09 63 69 66 6C 61 67 09 3B 67 65 74 20 lda.ciflag.;get
0224D0: 63 69 66 6C 61 67 0D 0A 09 6F 72 61 09 61 0D 0A ciflag...ora.a..
0224E0: 09 6A 6E 7A 09 6F 70 31 09 3B 73 6B 69 70 20 6F .jnz.op1.;skip o
0224F0: 70 65 6E 20 69 66 20 74 72 75 65 0D 0A 09 78 72 pen if true...xr
022500: 61 09 61 09 3B 7A 61 70 20 66 63 62 6E 72 0D 0A a.a.;zap fcbnr..
022510: 09 73 74 61 09 69 66 63 62 2B 33 32 0D 0A 09 6C .sta.ifcb+32...l
022520: 78 69 09 64 2C 69 66 63 62 0D 0A 09 6D 76 69 09 xi.d,ifcb...mvi.
022530: 63 2C 6F 70 65 6E 0D 0A 09 63 61 6C 6C 09 62 64 c,open...call.bd
022540: 6F 73 0D 0A 09 69 6E 72 09 61 0D 0A 09 6A 7A 09 os...inr.a...jz.
022550: 64 69 73 6B 65 72 72 09 3B 6E 6F 74 20 66 6F 75 diskerr.;not fou
022560: 6E 64 0D 0A 09 6C 78 69 09 68 2C 69 62 75 66 2B nd...lxi.h,ibuf+
022570: 38 30 68 20 3B 69 6E 69 74 20 69 6E 70 75 74 20 80h ;init input
022580: 62 75 66 66 65 72 20 70 6F 69 6E 74 65 72 0D 0A buffer pointer..
022590: 09 73 68 6C 64 09 69 70 74 72 0D 0A 6F 70 31 3A .shld.iptr..op1:
0225A0: 0D 0A 09 6C 64 61 09 63 6F 66 6C 61 67 09 3B 67 ...lda.coflag.;g
0225B0: 65 74 20 63 6F 66 6C 61 67 0D 0A 09 6F 72 61 09 et coflag...ora.
0225C0: 61 0D 0A 09 72 6E 7A 09 09 3B 73 6B 69 70 20 6F a...rnz..;skip o
0225D0: 70 65 6E 20 69 66 20 74 72 75 65 0D 0A 09 6C 78 pen if true...lx
0225E0: 69 09 64 2C 6F 66 63 62 0D 0A 09 6D 76 69 09 63 i.d,ofcb...mvi.c
0225F0: 2C 64 65 6C 65 74 65 0D 0A 09 63 61 6C 6C 09 62 ,delete...call.b
022600: 3B 0D 0A 3B 20 54 49 54 4C 45 09 09 50 41 53 43 ;..; TITLE..PASC
022610: 41 4C 20 52 55 4E 54 49 4D 45 20 4D 4F 44 55 4C AL RUNTIME MODUL
022620: 45 0D 0A 3B 20 46 49 4C 45 4E 41 4D 45 09 52 54 E..; FILENAME.RT
022630: 50 2E 41 53 4D 0D 0A 3B 20 41 55 54 48 4F 52 09 P.ASM..; AUTHOR.
022640: 52 6F 62 65 72 74 20 41 2E 20 56 61 6E 20 56 61 Robert A. Van Va
022650: 6C 7A 61 68 20 20 20 38 2F 33 30 2F 37 39 0D 0A lzah 8/30/79..
022660: 3B 20 4C 41 53 54 20 52 45 56 49 53 45 44 09 31 ; LAST REVISED.1
022670: 32 2F 31 30 2F 37 39 20 20 20 52 2E 41 2E 56 2E 2/10/79 R.A.V.
022680: 0D 0A 3B 20 52 45 41 53 4F 4E 09 63 68 61 6E 67 ..; REASON.chang
022690: 65 64 20 65 6E 74 72 79 20 6F 66 20 73 70 61 6C ed entry of spal
0226A0: 6F 64 20 66 6F 72 20 68 6C 3D 6C 73 62 79 74 65 od for hl=lsbyte
0226B0: 20 6F 66 20 61 6C 66 61 0D 0A 3B 0D 0A 3B 0D 0A of alfa..;..;..
0226C0: 76 68 75 09 65 71 75 09 30 09 3B 76 65 72 69 73 vhu.equ.0.;veris
0226D0: 69 6F 6E 20 6E 75 6D 62 65 72 20 68 75 6E 64 72 ion number hundr
0226E0: 65 64 73 0D 0A 76 74 6E 09 65 71 75 09 30 09 3B eds..vtn.equ.0.;
0226F0: 76 65 72 73 69 6F 6E 20 6E 75 6D 62 65 72 20 74 version number t
022700: 65 6E 73 0D 0A 76 75 6E 09 65 71 75 09 38 09 3B ens..vun.equ.8.;
022710: 76 65 72 73 69 6F 6E 20 6E 75 6D 62 65 72 20 75 version number u
022720: 6E 69 74 73 0D 0A 64 65 76 72 65 6C 09 65 71 75 nits..devrel.equ
022730: 09 27 52 27 09 3B 64 65 76 65 6C 6F 70 6D 65 6E .'R'.;developmen
022740: 74 20 6F 72 20 72 65 6C 65 61 73 65 20 76 65 72 t or release ver
022750: 73 69 6F 6E 0D 0A 3B 0D 0A 62 64 6F 73 09 65 71 sion..;..bdos.eq
022760: 75 09 35 0D 0A 6F 70 65 6E 09 65 71 75 09 31 35 u.5..open.equ.15
022770: 0D 0A 63 6C 6F 73 65 09 65 71 75 09 31 36 0D 0A ..close.equ.16..
022780: 64 65 6C 65 74 65 09 65 71 75 09 31 39 0D 0A 72 delete.equ.19..r
022790: 65 61 64 72 65 63 09 65 71 75 09 32 30 0D 0A 77 eadrec.equ.20..w
0227A0: 72 69 74 65 72 65 63 20 65 71 75 09 32 31 0D 0A riterec equ.21..
0227B0: 6D 61 6B 65 09 65 71 75 09 32 32 0D 0A 73 65 74 make.equ.22..set
0227C0: 64 6D 61 09 65 71 75 09 32 36 0D 0A 3B 0D 0A 72 dma.equ.26..;..r
0227D0: 6F 6D 6F 72 67 09 65 71 75 09 31 30 30 68 0D 0A omorg.equ.100h..
0227E0: 09 6F 72 67 09 72 6F 6D 6F 72 67 0D 0A 09 6A 6D .org.romorg...jm
0227F0: 70 09 73 74 61 72 74 75 70 0D 0A 09 6A 6D 70 09 p.startup...jmp.
022800: 54 72 61 63 6B 2D 49 6E 66 6F 0D 0A 00 01 00 00 Track-Info......
022810: 1D 00 00 00 02 09 4B E5 1D 00 C1 02 00 00 00 02 ......K.........
022820: 1D 00 C6 02 00 00 00 02 1D 00 C2 02 00 00 00 02 ................
022830: 1D 00 C7 02 00 00 00 02 1D 00 C3 02 00 00 00 02 ................
022840: 1D 00 C8 02 00 00 00 02 1D 00 C4 02 00 00 00 02 ................
022850: 1D 00 C9 02 00 00 00 02 1D 00 C5 02 00 00 00 02 ................
022860: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
022870: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
022880: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
022890: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0228A0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0228B0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0228C0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0228D0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0228E0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0228F0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
022900: 64 6F 73 0D 0A 09 6C 78 69 09 64 2C 6F 66 63 62 dos...lxi.d,ofcb
022910: 0D 0A 09 6D 76 69 09 63 2C 6D 61 6B 65 0D 0A 09 ...mvi.c,make...
022920: 63 61 6C 6C 09 62 64 6F 73 0D 0A 09 69 6E 72 09 call.bdos...inr.
022930: 61 0D 0A 09 6A 7A 09 64 69 73 6B 65 72 72 09 3B a...jz.diskerr.;
022940: 6E 6F 20 69 64 72 65 63 74 6F 72 79 20 73 70 61 no idrectory spa
022950: 63 65 0D 0A 09 78 72 61 09 61 09 3B 7A 61 70 20 ce...xra.a.;zap
022960: 66 63 62 6E 72 0D 0A 09 73 74 61 09 6F 66 63 62 fcbnr...sta.ofcb
022970: 2B 33 32 0D 0A 09 6C 78 69 09 68 2C 6F 62 75 66 +32...lxi.h,obuf
022980: 09 3B 69 6E 69 74 20 6F 75 74 70 75 74 20 62 75 .;init output bu
022990: 66 66 65 72 20 70 6F 69 6E 74 65 72 0D 0A 09 73 ffer pointer...s
0229A0: 68 6C 64 09 6F 70 74 72 0D 0A 09 72 65 74 0D 0A hld.optr...ret..
0229B0: 3B 0D 0A 3B 20 62 61 73 65 20 66 6F 6C 6C 6F 77 ;..; base follow
0229C0: 20 73 74 61 74 69 63 20 6C 69 6E 6B 73 20 62 61 static links ba
0229D0: 63 6B 20 72 65 67 20 61 20 6C 65 76 65 6C 73 2C ck reg a levels,
0229E0: 20 72 65 74 75 72 6E 20 62 61 73 65 0D 0A 3B 20 return base..;
0229F0: 69 6E 20 72 65 67 20 68 6C 0D 0A 3B 0D 0A 62 61 in reg hl..;..ba
022A00: 73 65 3A 0D 0A 09 6C 68 6C 64 09 62 72 09 3B 73 se:...lhld.br.;s
022A10: 74 61 72 74 20 77 69 74 68 20 63 75 72 72 65 6E tart with curren
022A20: 74 20 62 61 73 65 0D 0A 66 6F 6C 6C 6F 77 3A 0D t base..follow:.
022A30: 0A 09 6D 6F 76 09 65 2C 6D 09 3B 67 65 74 20 61 ..mov.e,m.;get a
022A40: 20 6C 69 6E 6B 20 74 6F 20 72 65 67 20 64 65 0D link to reg de.
022A50: 0A 09 69 6E 78 09 68 0D 0A 09 6D 6F 76 09 64 2C ..inx.h...mov.d,
022A60: 6D 0D 0A 09 78 63 68 67 09 09 3B 6C 69 6E 6B 20 m...xchg..;link
022A70: 74 6F 20 72 65 67 20 68 6C 0D 0A 09 64 63 72 09 to reg hl...dcr.
022A80: 61 09 3B 65 6E 6F 75 67 68 20 6C 69 6E 6B 73 20 a.;enough links
022A90: 66 6F 6C 6C 6F 77 65 64 3F 0D 0A 09 6A 6E 7A 09 followed?...jnz.
022AA0: 66 6F 6C 6C 6F 77 09 3B 6E 6F 0D 0A 09 72 65 74 follow.;no...ret
022AB0: 09 09 3B 79 65 73 0D 0A 3B 0D 0A 3B 20 63 6D 70 ..;yes..;..; cmp
022AC0: 72 20 69 73 20 63 61 6C 6C 65 64 20 74 6F 20 73 r is called to s
022AD0: 65 74 20 66 6C 61 67 73 20 6C 69 6B 65 20 28 74 et flags like (t
022AE0: 6F 70 29 2D 28 74 6F 70 2D 31 29 20 62 65 66 6F op)-(top-1) befo
022AF0: 72 65 0D 0A 3B 20 74 68 65 20 63 61 6C 6C 20 74 re..; the call t
022B00: 72 65 61 64 20 61 20 63 68 61 72 61 63 74 65 72 read a character
022B10: 20 61 6E 64 20 70 75 73 68 20 69 74 20 74 6F 20 and push it to
022B20: 73 74 61 63 6B 0D 0A 3B 0D 0A 63 73 70 30 3A 0D stack..;..csp0:.
022B30: 0A 09 73 74 61 09 69 64 65 76 09 3B 73 61 76 65 ..sta.idev.;save
022B40: 20 69 6E 70 75 74 20 64 65 76 69 63 65 0D 0A 09 input device...
022B50: 63 61 6C 6C 09 67 65 74 73 0D 0A 09 6D 6F 76 09 call.gets...mov.
022B60: 6C 2C 61 0D 0A 09 6D 76 69 09 68 2C 30 0D 0A 09 l,a...mvi.h,0...
022B70: 78 74 68 6C 0D 0A 09 70 63 68 6C 0D 0A 3B 0D 0A xthl...pchl..;..
022B80: 3B 20 63 73 70 31 20 70 6F 70 20 73 74 61 63 6B ; csp1 pop stack
022B90: 20 61 6E 64 20 77 72 69 74 65 20 69 74 20 61 73 and write it as
022BA0: 20 61 20 63 68 61 72 61 63 74 65 72 0D 0A 3B 0D a character..;.
022BB0: 0A 63 73 70 31 3A 0D 0A 09 73 74 61 09 6F 64 65 .csp1:...sta.ode
022BC0: 76 09 3B 73 61 76 65 20 6F 75 74 70 75 74 20 64 v.;save output d
022BD0: 65 76 69 63 65 20 66 6F 72 20 70 75 74 64 0D 0A evice for putd..
022BE0: 09 70 6F 70 09 68 09 3B 63 73 70 31 20 72 65 74 .pop.h.;csp1 ret
022BF0: 75 72 6E 20 61 64 64 72 65 73 73 20 74 6F 20 72 urn address to r
022C00: 65 67 20 68 6C 0D 0A 09 78 74 68 6C 09 09 3B 72 eg hl...xthl..;r
022C10: 65 74 75 72 6E 20 61 64 72 20 74 6F 20 73 74 61 eturn adr to sta
022C20: 63 6B 2C 20 28 74 6F 70 29 20 74 6F 20 72 65 67 ck, (top) to reg
022C30: 20 68 6C 0D 0A 09 6D 6F 76 09 61 2C 6C 09 3B 63 hl...mov.a,l.;c
022C40: 68 61 72 20 74 6F 20 72 65 67 20 61 20 66 6F 72 har to reg a for
022C50: 20 70 75 74 64 0D 0A 09 63 61 6C 6C 09 70 75 74 putd...call.put
022C60: 64 0D 0A 09 72 65 74 0D 0A 3B 0D 0A 3B 20 70 72 d...ret..;..; pr
022C70: 74 68 6C 20 70 72 69 6E 74 73 20 74 68 65 20 63 thl prints the c
022C80: 6F 6E 74 65 6E 74 73 20 6F 66 20 72 65 67 20 68 ontents of reg h
022C90: 6C 20 61 73 20 61 20 64 65 63 69 6D 61 6C 20 6E l as a decimal n
022CA0: 75 6D 62 65 72 0D 0A 3B 20 6F 6E 20 74 68 65 20 umber..; on the
022CB0: 70 61 73 63 61 6C 20 6F 75 74 70 75 74 20 66 69 pascal output fi
022CC0: 6C 65 0D 0A 3B 0D 0A 70 72 74 68 6C 3A 0D 0A 09 le..;..prthl:...
022CD0: 6C 78 69 09 62 2C 2D 31 30 09 3B 64 69 76 69 73 lxi.b,-10.;divis
022CE0: 6F 72 0D 0A 73 65 74 75 70 3A 0D 0A 09 6C 78 69 or..setup:...lxi
022CF0: 09 64 2C 2D 31 09 3B 71 75 6F 74 69 65 6E 74 0D .d,-1.;quotient.
022D00: 6F 20 63 6D 70 72 0D 0A 3B 20 72 65 74 75 72 6E o cmpr..; return
022D10: 73 20 72 65 67 20 61 20 6E 6F 6E 20 7A 65 72 6F s reg a non zero
022D20: 20 69 66 20 7A 65 72 6F 20 66 6C 61 67 20 69 73 if zero flag is
022D30: 20 72 65 73 65 74 0D 0A 3B 0D 0A 63 6D 70 72 3A reset..;..cmpr:
022D40: 0D 0A 09 70 6F 70 09 68 09 3B 63 6D 70 72 20 72 ...pop.h.;cmpr r
022D50: 65 74 75 72 6E 20 61 64 64 72 65 73 73 20 74 6F eturn address to
022D60: 20 72 65 67 20 68 6C 0D 0A 09 70 6F 70 09 64 09 reg hl...pop.d.
022D70: 3B 28 74 6F 70 29 20 74 6F 20 72 65 67 20 64 65 ;(top) to reg de
022D80: 0D 0A 09 78 74 68 6C 09 09 3B 28 74 6F 70 2D 31 ...xthl..;(top-1
022D90: 29 20 74 6F 20 72 65 67 20 68 6C 2C 20 72 65 74 ) to reg hl, ret
022DA0: 75 72 6E 20 61 64 64 72 65 73 73 20 74 6F 20 73 urn address to s
022DB0: 74 61 63 6B 0D 0A 09 6D 6F 76 09 61 2C 64 09 3B tack...mov.a,d.;
022DC0: 63 6F 6D 70 61 72 65 20 73 69 67 6E 73 0D 0A 09 compare signs...
022DD0: 78 72 61 09 68 0D 0A 09 6A 70 09 73 61 6D 73 69 xra.h...jp.samsi
022DE0: 6E 09 3B 73 61 6D 65 20 73 69 67 6E 20 2D 20 75 n.;same sign - u
022DF0: 6E 73 69 67 6E 65 64 20 63 6F 6D 70 61 72 65 20 nsigned compare
022E00: 6F 6B 0D 0A 09 6D 6F 76 09 61 2C 64 09 3B 6F 70 ok...mov.a,d.;op
022E10: 70 6F 73 69 74 65 20 73 69 67 6E 0D 0A 09 72 61 posite sign...ra
022E20: 6C 0D 0A 09 6D 76 69 09 61 2C 30 66 66 68 09 3B l...mvi.a,0ffh.;
022E30: 72 65 74 75 72 6E 20 6E 6F 6E 7A 65 72 6F 20 76 return nonzero v
022E40: 61 6C 75 65 0D 0A 09 72 65 74 0D 0A 73 61 6D 73 alue...ret..sams
022E50: 69 6E 3A 0D 0A 09 6D 6F 76 09 61 2C 64 09 3B 63 in:...mov.a,d.;c
022E60: 6F 6D 70 72 65 20 6D 73 62 27 73 0D 0A 09 73 75 ompre msb's...su
022E70: 62 09 68 0D 0A 09 72 6E 7A 0D 0A 09 6D 6F 76 09 b.h...rnz...mov.
022E80: 61 2C 65 0D 0A 09 73 75 62 09 6C 0D 0A 09 72 65 a,e...sub.l...re
022E90: 74 0D 0A 3B 0D 0A 3B 20 67 65 74 73 20 67 65 74 t..;..; gets get
022EA0: 73 20 61 20 63 68 61 72 61 63 74 65 72 20 66 72 s a character fr
022EB0: 6F 6D 20 74 68 65 20 70 61 73 61 63 6C 20 69 6E om the pasacl in
022EC0: 70 75 74 20 66 69 6C 65 2E 20 20 69 74 0D 0A 3B put file. it..;
022ED0: 20 63 6F 6D 65 73 20 66 72 6F 6D 20 74 68 65 20 comes from the
022EE0: 63 6F 6E 73 6F 6C 65 20 69 66 20 63 69 66 6C 61 console if cifla
022EF0: 67 20 69 73 20 74 72 75 65 2C 20 65 6C 73 65 20 g is true, else
022F00: 0A 73 75 62 31 30 3A 0D 0A 09 64 61 64 09 62 09 .sub10:...dad.b.
022F10: 3B 64 69 76 69 64 65 20 62 79 20 63 6F 6E 74 69 ;divide by conti
022F20: 6E 75 65 64 20 73 75 62 74 72 61 63 74 69 6F 6E nued subtraction
022F30: 0D 0A 09 69 6E 78 09 64 09 3B 75 70 64 61 74 65 ...inx.d.;update
022F40: 20 71 75 6F 74 69 65 6E 74 0D 0A 09 6A 63 09 73 quotient...jc.s
022F50: 75 62 31 30 09 3B 6B 65 65 70 20 64 69 76 69 64 ub10.;keep divid
022F60: 69 6E 67 20 74 69 6C 6C 20 75 6E 64 65 72 20 64 ing till under d
022F70: 72 61 66 74 0D 0A 09 6D 76 69 09 61 2C 31 30 09 raft...mvi.a,10.
022F80: 3B 67 65 74 20 72 65 6D 61 69 6E 64 65 72 20 74 ;get remainder t
022F90: 6F 20 72 65 67 20 61 0D 0A 09 61 64 64 09 6C 0D o reg a...add.l.
022FA0: 0A 09 70 75 73 68 09 70 73 77 09 3B 73 61 76 65 ..push.psw.;save
022FB0: 20 6F 6E 20 73 74 61 63 6B 0D 0A 09 78 63 68 67 on stack...xchg
022FC0: 09 09 3B 71 75 6F 74 69 65 6E 74 20 74 6F 20 72 ..;quotient to r
022FD0: 65 67 20 68 6C 0D 0A 09 6D 6F 76 09 61 2C 68 09 eg hl...mov.a,h.
022FE0: 3B 61 6E 79 20 64 69 67 69 74 73 20 6C 65 66 74 ;any digits left
022FF0: 3F 0D 0A 09 6F 72 61 09 6C 0D 0A 09 63 6E 7A 09 ?...ora.l...cnz.
023000: 73 65 74 75 70 09 3B 79 65 73 20 2D 20 72 65 63 setup.;yes - rec
023010: 75 72 73 65 20 74 6F 20 70 72 69 6E 74 20 6E 65 urse to print ne
023020: 78 74 20 64 69 67 69 74 0D 0A 09 70 6F 70 09 70 xt digit...pop.p
023030: 73 77 09 3B 6E 6F 20 2D 20 67 65 74 20 64 69 67 sw.;no - get dig
023040: 69 74 73 20 74 6F 20 70 72 69 6E 74 20 66 72 6F its to print fro
023050: 6D 0D 0A 09 61 64 69 09 27 30 27 09 3B 73 74 61 m...adi.'0'.;sta
023060: 63 6B 20 69 6E 20 72 65 76 65 72 73 65 20 6F 72 ck in reverse or
023070: 64 65 72 20 26 20 63 6F 6E 76 65 72 74 0D 0A 09 der & convert...
023080: 6A 6D 70 09 70 75 74 64 09 3B 74 6F 20 61 73 63 jmp.putd.;to asc
023090: 69 69 20 61 6E 64 20 70 72 69 6E 74 20 27 65 6D ii and print 'em
0230A0: 0D 0A 3B 0D 0A 3B 20 63 73 70 33 20 70 6F 70 73 ..;..; csp3 pops
0230B0: 20 74 68 65 20 73 74 61 63 6B 20 61 6E 64 20 77 the stack and w
0230C0: 72 69 74 65 73 20 69 74 20 61 73 20 61 20 64 65 rites it as a de
0230D0: 63 69 6D 61 6C 20 6E 75 6D 62 65 72 20 74 6F 0D cimal number to.
0230E0: 0A 3B 20 74 68 65 20 70 61 73 63 61 6C 20 6F 75 .; the pascal ou
0230F0: 74 70 75 74 20 66 69 6C 65 0D 0A 3B 0D 0A 63 73 tput file..;..cs
023100: 66 72 6F 6D 20 64 69 73 6B 2E 0D 0A 3B 20 63 68 from disk...; ch
023110: 61 72 20 72 65 74 75 72 6E 65 64 20 69 6E 20 72 ar returned in r
023120: 65 67 20 61 2E 0D 0A 3B 0D 0A 67 65 74 73 3A 0D eg a...;..gets:.
023130: 0A 09 6C 64 61 09 63 69 66 6C 61 67 0D 0A 09 6F ..lda.ciflag...o
023140: 72 61 09 61 0D 0A 09 6A 6E 7A 09 63 69 09 3B 69 ra.a...jnz.ci.;i
023150: 6E 20 66 72 6F 6D 20 63 6F 6E 73 6F 6C 65 0D 0A n from console..
023160: 09 6C 64 61 09 69 64 65 76 0D 0A 09 6F 72 61 09 .lda.idev...ora.
023170: 61 0D 0A 09 6A 6E 7A 09 63 69 0D 0A 09 63 61 6C a...jnz.ci...cal
023180: 6C 09 69 64 69 73 6B 63 68 09 3B 69 6E 74 70 75 l.idiskch.;intpu
023190: 74 20 64 69 73 6B 20 63 68 61 72 61 63 74 65 72 t disk character
0231A0: 0D 0A 09 72 65 74 0D 0A 63 69 3A 0D 0A 09 6D 76 ...ret..ci:...mv
0231B0: 69 09 63 2C 31 0D 0A 09 63 61 6C 6C 09 62 64 6F i.c,1...call.bdo
0231C0: 73 0D 0A 09 72 65 74 0D 0A 3B 0D 0A 3B 20 69 64 s...ret..;..; id
0231D0: 69 73 6B 63 68 20 67 65 74 73 20 61 20 63 68 61 iskch gets a cha
0231E0: 72 61 63 74 65 72 20 66 72 6F 6D 20 74 68 65 20 racter from the
0231F0: 69 6E 70 75 74 20 64 69 73 6B 20 66 69 6C 65 20 input disk file
023200: 74 6F 20 72 65 67 20 61 0D 0A 3B 0D 0A 69 64 69 to reg a..;..idi
023210: 73 6B 63 68 3A 0D 0A 09 6C 68 6C 64 09 69 70 74 skch:...lhld.ipt
023220: 72 0D 0A 09 6D 6F 76 09 61 2C 6C 0D 0A 09 63 70 r...mov.a,l...cp
023230: 69 09 28 69 62 75 66 2B 38 30 68 29 20 61 6E 64 i.(ibuf+80h) and
023240: 20 30 66 66 68 0D 0A 09 6A 6E 7A 09 6E 6F 72 65 0ffh...jnz.nore
023250: 61 64 09 3B 64 6F 6E 74 20 68 61 76 65 20 74 6F ad.;dont have to
023260: 20 72 65 61 64 20 72 65 63 6F 72 64 0D 0A 09 6C read record...l
023270: 78 69 09 64 2C 69 62 75 66 0D 0A 09 6D 76 69 09 xi.d,ibuf...mvi.
023280: 63 2C 73 65 74 64 6D 61 0D 0A 09 63 61 6C 6C 09 c,setdma...call.
023290: 62 64 6F 73 0D 0A 09 6D 76 69 09 63 2C 72 65 61 bdos...mvi.c,rea
0232A0: 64 72 65 63 0D 0A 09 6C 78 69 09 64 2C 69 66 63 drec...lxi.d,ifc
0232B0: 62 0D 0A 09 63 61 6C 6C 09 62 64 6F 73 0D 0A 09 b...call.bdos...
0232C0: 6F 72 61 09 61 0D 0A 09 6A 6E 7A 09 64 69 73 6B ora.a...jnz.disk
0232D0: 65 72 72 0D 0A 09 6C 78 69 09 64 2C 38 30 68 09 err...lxi.d,80h.
0232E0: 3B 72 65 73 74 6F 72 65 20 64 6D 61 20 61 64 64 ;restore dma add
0232F0: 72 65 73 73 0D 0A 09 6D 76 69 09 63 2C 73 65 74 ress...mvi.c,set
023300: 70 33 3A 0D 0A 09 73 74 61 09 6F 64 65 76 09 3B p3:...sta.odev.;
023310: 73 61 76 65 20 6F 75 74 70 75 74 20 64 65 76 69 save output devi
023320: 63 65 20 66 6F 72 20 70 75 74 64 0D 0A 09 70 6F ce for putd...po
023330: 70 09 68 09 3B 67 65 74 20 72 65 74 75 72 6E 20 p.h.;get return
023340: 61 64 64 72 65 73 73 20 74 6F 20 72 65 67 20 68 address to reg h
023350: 6C 0D 0A 09 78 74 68 6C 09 09 3B 28 74 6F 70 29 l...xthl..;(top)
023360: 20 74 6F 20 72 65 67 20 68 6C 2C 20 72 65 74 75 to reg hl, retu
023370: 72 6E 20 61 64 64 72 65 73 73 20 62 61 63 6B 20 rn address back
023380: 74 6F 20 73 74 61 63 6B 0D 0A 09 63 61 6C 6C 09 to stack...call.
023390: 70 72 74 68 6C 09 3B 70 72 69 6E 74 0D 0A 09 72 prthl.;print...r
0233A0: 65 74 0D 0A 3B 0D 0A 3B 20 63 73 70 38 20 70 72 et..;..; csp8 pr
0233B0: 69 6E 74 73 20 74 68 65 20 61 6C 66 61 20 76 61 ints the alfa va
0233C0: 72 69 61 62 6C 65 20 6F 6E 20 74 68 65 20 73 74 riable on the st
0233D0: 61 63 6B 0D 0A 3B 0D 0A 63 73 70 38 3A 0D 0A 09 ack..;..csp8:...
0233E0: 73 74 61 09 6F 64 65 76 09 3B 73 61 76 65 20 6F sta.odev.;save o
0233F0: 75 74 70 75 74 20 64 65 76 69 63 65 20 66 6F 72 utput device for
023400: 20 70 75 74 64 0D 0A 09 6D 76 69 09 64 2C 34 09 putd...mvi.d,4.
023410: 3B 6E 75 6D 62 65 72 20 6F 66 20 77 6F 72 64 73 ;number of words
023420: 20 74 6F 20 70 6F 70 0D 0A 63 73 70 38 31 3A 0D to pop..csp81:.
023430: 0A 09 70 6F 70 09 68 09 3B 74 6F 70 20 77 6F 72 ..pop.h.;top wor
023440: 64 20 66 72 6F 6D 20 73 74 61 63 6B 20 74 6F 20 d from stack to
023450: 68 6C 0D 0A 09 78 74 68 6C 0D 0A 09 70 75 73 68 hl...xthl...push
023460: 09 64 09 3B 73 61 76 65 20 77 6F 72 64 20 63 6F .d.;save word co
023470: 75 6E 74 0D 0A 09 70 75 73 68 09 68 09 3B 73 61 unt...push.h.;sa
023480: 76 65 20 6D 73 20 63 68 61 72 20 6F 66 20 77 6F ve ms char of wo
023490: 72 64 0D 0A 09 6D 6F 76 09 61 2C 6C 09 3B 70 72 rd...mov.a,l.;pr
0234A0: 69 6E 74 20 6C 73 20 63 68 61 72 20 6F 66 20 77 int ls char of w
0234B0: 6F 72 64 0D 0A 09 63 61 6C 6C 09 70 75 74 64 0D ord...call.putd.
0234C0: 0A 09 70 6F 70 09 68 09 3B 67 65 74 20 77 6F 72 ..pop.h.;get wor
0234D0: 64 20 61 67 61 69 6E 0D 0A 09 6D 6F 76 09 61 2C d again...mov.a,
0234E0: 68 09 3B 70 72 69 6E 74 20 6D 73 20 63 68 61 72 h.;print ms char
0234F0: 20 6F 66 20 77 6F 72 64 0D 0A 09 63 61 6C 6C 09 of word...call.
023500: 64 6D 61 0D 0A 09 63 61 6C 6C 09 62 64 6F 73 0D dma...call.bdos.
023510: 0A 09 6C 78 69 09 68 2C 69 62 75 66 0D 0A 6E 6F ..lxi.h,ibuf..no
023520: 72 65 61 64 3A 0D 0A 09 6D 6F 76 09 61 2C 6D 09 read:...mov.a,m.
023530: 3B 67 65 74 20 63 68 61 72 61 63 74 65 72 0D 0A ;get character..
023540: 09 69 6E 78 09 68 0D 0A 09 73 68 6C 64 09 69 70 .inx.h...shld.ip
023550: 74 72 09 3B 75 70 64 61 74 65 20 70 6F 69 6E 74 tr.;update point
023560: 65 72 0D 0A 09 72 65 74 0D 0A 3B 0D 0A 3B 20 70 er...ret..;..; p
023570: 75 74 64 20 70 75 74 73 20 61 20 63 68 61 72 61 utd puts a chara
023580: 63 74 65 72 20 74 6F 20 74 68 65 20 70 61 73 63 cter to the pasc
023590: 61 6C 20 6F 75 74 70 75 74 20 66 69 6C 65 2E 20 al output file.
0235A0: 20 69 74 20 67 6F 65 73 0D 0A 3B 20 74 6F 20 74 it goes..; to t
0235B0: 68 65 20 63 6F 6E 73 6F 6C 65 20 69 66 20 63 6F he console if co
0235C0: 66 6C 61 67 20 69 73 20 74 72 75 65 2C 20 65 6C flag is true, el
0235D0: 73 65 20 74 6F 20 74 68 65 20 64 69 73 6B 2E 0D se to the disk..
0235E0: 0A 3B 20 63 68 61 72 20 69 73 20 70 61 73 73 65 .; char is passe
0235F0: 64 20 69 6E 20 72 65 67 20 61 2E 0D 0A 3B 0D 0A d in reg a...;..
023600: 70 75 74 64 3A 0D 0A 09 6D 6F 76 09 63 2C 61 09 putd:...mov.c,a.
023610: 3B 73 61 76 65 20 63 68 61 72 20 77 68 69 6C 65 ;save char while
023620: 20 74 65 73 74 69 6E 67 20 63 6F 66 6C 61 67 0D testing coflag.
023630: 0A 09 6C 64 61 09 63 6F 66 6C 61 67 0D 0A 09 6F ..lda.coflag...o
023640: 72 61 09 61 0D 0A 09 6A 6E 7A 09 63 6F 09 3B 6F ra.a...jnz.co.;o
023650: 75 74 20 74 6F 20 63 6F 6E 73 6F 6C 65 0D 0A 09 ut to console...
023660: 6C 64 61 09 6F 64 65 76 09 3B 67 65 74 20 6F 75 lda.odev.;get ou
023670: 74 70 75 74 20 64 65 76 69 63 65 0D 0A 09 6F 72 tput device...or
023680: 61 09 61 0D 0A 09 6A 6E 7A 09 63 6F 09 3B 6F 6E a.a...jnz.co.;on
023690: 6C 79 20 64 65 76 69 63 65 20 7A 65 72 6F 20 63 ly device zero c
0236A0: 61 6E 20 67 6F 20 74 6F 20 64 69 73 6B 0D 0A 09 an go to disk...
0236B0: 6D 6F 76 09 61 2C 63 09 3B 67 65 74 20 63 68 61 mov.a,c.;get cha
0236C0: 72 61 63 74 65 72 20 62 61 63 6B 0D 0A 09 63 61 racter back...ca
0236D0: 6C 6C 09 6F 64 69 73 6B 63 68 09 3B 6F 75 74 20 ll.odiskch.;out
0236E0: 74 6F 20 64 69 73 6B 0D 0A 09 72 65 74 0D 0A 63 to disk...ret..c
0236F0: 6F 3A 0D 0A 09 6D 6F 76 09 65 2C 63 09 3B 67 65 o:...mov.e,c.;ge
023700: 70 75 74 64 0D 0A 09 70 6F 70 09 64 09 3B 67 65 putd...pop.d.;ge
023710: 74 20 77 6F 72 64 20 63 6F 75 6E 74 0D 0A 09 64 t word count...d
023720: 63 72 09 64 09 3B 64 6F 65 6E 20 61 6C 6C 20 34 cr.d.;doen all 4
023730: 20 77 6F 72 64 73 3F 0D 0A 09 6A 6E 7A 09 63 73 words?...jnz.cs
023740: 70 38 31 09 3B 6E 6F 70 65 0D 0A 09 72 65 74 0D p81.;nope...ret.
023750: 0A 3B 0D 0A 3B 20 63 73 70 39 20 72 65 74 75 72 .;..; csp9 retur
023760: 6E 73 20 63 6F 6E 74 72 6F 6C 20 74 6F 20 74 68 ns control to th
023770: 65 20 6F 70 65 72 61 74 69 6E 67 20 73 79 73 74 e operating syst
023780: 65 6D 20 28 62 6F 6F 74 73 29 0D 0A 3B 0D 0A 63 em (boots)..;..c
023790: 73 70 39 3A 0D 0A 09 6C 64 61 09 63 6F 66 6C 61 sp9:...lda.cofla
0237A0: 67 09 3B 77 61 73 20 6F 75 74 70 75 74 20 74 6F g.;was output to
0237B0: 20 63 6F 6E 73 6F 6C 65 3F 0D 0A 09 6F 72 61 09 console?...ora.
0237C0: 61 0D 0A 09 6A 6E 7A 09 30 09 3B 79 65 73 20 2D a...jnz.0.;yes -
0237D0: 20 6A 75 73 74 20 72 65 74 75 72 6E 20 74 6F 20 just return to
0237E0: 63 70 2F 6D 0D 0A 73 65 6F 66 3A 0D 0A 09 6D 76 cp/m..seof:...mv
0237F0: 69 09 61 2C 31 61 68 09 3B 73 65 6E 64 20 65 6F i.a,1ah.;send eo
023800: 66 20 63 68 61 72 61 63 74 65 72 0D 0A 09 63 61 f character...ca
023810: 6C 6C 09 6F 64 69 73 6B 63 68 0D 0A 09 6C 64 61 ll.odiskch...lda
023820: 09 6F 70 74 72 0D 0A 09 63 70 69 09 28 6F 62 75 .optr...cpi.(obu
023830: 66 2B 31 29 20 61 6E 64 20 30 66 66 68 0D 0A 09 f+1) and 0ffh...
023840: 6A 6E 7A 09 73 65 6F 66 09 3B 75 6E 74 69 6C 20 jnz.seof.;until
023850: 6C 61 73 74 20 72 65 63 6F 72 64 20 68 61 73 20 last record has
023860: 62 65 65 6E 20 77 72 69 74 74 65 6E 0D 0A 09 6C been written...l
023870: 78 69 09 64 2C 6F 66 63 62 0D 0A 09 6D 76 69 09 xi.d,ofcb...mvi.
023880: 63 2C 63 6C 6F 73 65 0D 0A 09 63 61 6C 6C 09 62 c,close...call.b
023890: 64 6F 73 09 3B 63 6C 6F 73 65 20 6F 75 74 70 75 dos.;close outpu
0238A0: 74 20 66 69 6C 65 0D 0A 09 69 6E 72 09 61 0D 0A t file...inr.a..
0238B0: 09 6A 7A 09 64 69 73 6B 65 72 72 0D 0A 09 6A 6D .jz.diskerr...jm
0238C0: 70 09 30 0D 0A 64 69 73 6B 65 72 72 3A 0D 0A 09 p.0..diskerr:...
0238D0: 6C 78 69 09 64 2C 65 72 72 6D 73 67 0D 0A 09 6D lxi.d,errmsg...m
0238E0: 76 69 09 63 2C 39 0D 0A 09 63 61 6C 6C 09 62 64 vi.c,9...call.bd
0238F0: 6F 73 0D 0A 09 6A 6D 70 09 30 0D 0A 65 72 72 6D os...jmp.0..errm
023900: 74 20 63 68 61 72 61 63 74 65 72 20 62 61 63 6B t character back
023910: 0D 0A 09 6D 76 69 09 63 2C 32 0D 0A 09 63 61 6C ...mvi.c,2...cal
023920: 6C 09 62 64 6F 73 0D 0A 09 72 65 74 0D 0A 3B 0D l.bdos...ret..;.
023930: 0A 3B 20 6F 64 69 73 6B 63 68 20 73 65 6E 64 73 .; odiskch sends
023940: 20 74 68 65 20 63 68 61 72 61 63 74 65 72 20 69 the character i
023950: 6E 20 72 65 67 20 74 6F 20 74 68 65 20 64 69 73 n reg to the dis
023960: 6B 20 6F 75 74 70 75 74 20 66 69 6C 65 0D 0A 3B k output file..;
023970: 0D 0A 6F 64 69 73 6B 63 68 3A 0D 0A 09 70 75 73 ..odiskch:...pus
023980: 68 09 70 73 77 0D 0A 09 6C 68 6C 64 09 6F 70 74 h.psw...lhld.opt
023990: 72 09 3B 73 65 65 20 69 66 20 70 61 73 74 20 65 r.;see if past e
0239A0: 6E 64 20 6F 66 20 6F 75 74 20 62 75 66 66 65 72 nd of out buffer
0239B0: 0D 0A 09 6D 6F 76 09 61 2C 6C 0D 0A 09 63 70 69 ...mov.a,l...cpi
0239C0: 09 28 6F 62 75 66 2B 38 30 68 29 20 61 6E 64 20 .(obuf+80h) and
0239D0: 30 66 66 68 0D 0A 09 6A 6E 7A 09 6E 6F 77 72 69 0ffh...jnz.nowri
0239E0: 74 65 09 3B 6E 6F 70 65 0D 0A 09 6C 78 69 09 64 te.;nope...lxi.d
0239F0: 2C 6F 62 75 66 0D 0A 09 6D 76 69 09 63 2C 73 65 ,obuf...mvi.c,se
023A00: 74 64 6D 61 0D 0A 09 63 61 6C 6C 09 62 64 6F 73 tdma...call.bdos
023A10: 0D 0A 09 6C 78 69 09 64 2C 6F 66 63 62 0D 0A 09 ...lxi.d,ofcb...
023A20: 6D 76 69 09 63 2C 77 72 69 74 65 72 65 63 0D 0A mvi.c,writerec..
023A30: 09 63 61 6C 6C 09 62 64 6F 73 0D 0A 09 6F 72 61 .call.bdos...ora
023A40: 09 61 0D 0A 09 6A 6E 7A 09 64 69 73 6B 65 72 72 .a...jnz.diskerr
023A50: 0D 0A 09 6C 78 69 09 64 2C 38 30 68 09 3B 72 65 ...lxi.d,80h.;re
023A60: 73 74 6F 72 65 20 64 6D 61 20 61 64 64 72 65 73 store dma addres
023A70: 73 0D 0A 09 6D 76 69 09 63 2C 73 65 74 64 6D 61 s...mvi.c,setdma
023A80: 0D 0A 09 63 61 6C 6C 09 62 64 6F 73 0D 0A 09 6C ...call.bdos...l
023A90: 78 69 09 68 2C 6F 62 75 66 0D 0A 6E 6F 77 72 69 xi.h,obuf..nowri
023AA0: 74 65 3A 0D 0A 09 70 6F 70 09 70 73 77 0D 0A 09 te:...pop.psw...
023AB0: 6D 6F 76 09 6D 2C 61 09 3B 73 74 6F 72 65 20 69 mov.m,a.;store i
023AC0: 6E 20 62 75 66 66 65 72 0D 0A 09 69 6E 78 09 68 n buffer...inx.h
023AD0: 0D 0A 09 73 68 6C 64 09 6F 70 74 72 09 3B 73 61 ...shld.optr.;sa
023AE0: 76 65 20 6E 65 77 20 70 6F 69 6E 74 65 72 0D 0A ve new pointer..
023AF0: 09 72 65 74 0D 0A 3B 0D 0A 3B 20 63 73 70 30 20 .ret..;..; csp0
023B00: 54 72 61 63 6B 2D 49 6E 66 6F 0D 0A 00 01 00 00 Track-Info......
023B10: 1E 00 00 00 02 09 4B E5 1E 00 C1 02 00 00 00 02 ......K.........
023B20: 1E 00 C6 02 00 00 00 02 1E 00 C2 02 00 00 00 02 ................
023B30: 1E 00 C7 02 00 00 00 02 1E 00 C3 02 00 00 00 02 ................
023B40: 1E 00 C8 02 00 00 00 02 1E 00 C4 02 00 00 00 02 ................
023B50: 1E 00 C9 02 00 00 00 02 1E 00 C5 02 00 00 00 02 ................
023B60: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
023B70: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
023B80: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
023B90: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
023BA0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
023BB0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
023BC0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
023BD0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
023BE0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
023BF0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
023C00: 73 67 3A 09 64 62 09 27 64 69 73 6B 20 65 72 72 sg:.db.'disk err
023C10: 6F 72 24 27 0D 0A 3B 0D 0A 3B 20 73 70 61 6C 69 or$'..;..; spali
023C20: 74 20 74 61 6B 65 73 20 74 68 65 20 65 69 67 68 t takes the eigh
023C30: 74 20 62 79 74 65 73 20 66 6F 6C 6C 6F 77 69 6E t bytes followin
023C40: 67 20 74 68 65 20 63 61 6C 6C 20 74 6F 20 69 74 g the call to it
023C50: 0D 0A 3B 20 61 6E 64 20 70 75 73 68 65 73 20 74 ..; and pushes t
023C60: 68 65 6D 20 69 6E 74 6F 20 74 68 65 20 73 74 61 hem into the sta
023C70: 63 6B 0D 0A 3B 0D 0A 73 70 61 6C 69 74 3A 0D 0A ck..;..spalit:..
023C80: 09 70 6F 70 09 68 09 3B 72 65 74 75 72 6E 20 61 .pop.h.;return a
023C90: 64 64 72 65 73 73 20 74 6F 20 72 65 67 20 68 6C ddress to reg hl
023CA0: 0D 0A 09 6D 76 69 09 61 2C 34 09 3B 65 69 67 68 ...mvi.a,4.;eigh
023CB0: 74 20 62 79 74 65 73 20 69 73 20 66 6F 75 72 20 t bytes is four
023CC0: 77 6F 72 64 73 0D 0A 6D 6F 72 61 6C 69 74 3A 0D words..moralit:.
023CD0: 0A 09 6D 6F 76 09 64 2C 6D 09 3B 67 65 74 20 61 ..mov.d,m.;get a
023CE0: 20 77 6F 72 64 20 66 72 6F 6D 20 63 6F 64 65 20 word from code
023CF0: 61 6E 64 20 2E 20 2E 20 2E 0D 0A 09 69 6E 78 09 and . . ....inx.
023D00: 68 0D 0A 09 6D 6F 76 09 65 2C 6D 0D 0A 09 69 6E h...mov.e,m...in
023D10: 78 09 68 0D 0A 09 70 75 73 68 09 64 09 3B 70 75 x.h...push.d.;pu
023D20: 73 68 20 69 74 20 69 6E 74 6F 20 74 68 65 20 73 sh it into the s
023D30: 74 61 63 6B 0D 0A 09 64 63 72 09 61 09 3B 64 6F tack...dcr.a.;do
023D40: 6E 65 20 61 6C 6C 20 77 6F 72 64 73 3F 0D 0A 09 ne all words?...
023D50: 6A 6E 7A 09 6D 6F 72 61 6C 69 74 09 3B 6E 6F 0D jnz.moralit.;no.
023D60: 0A 09 70 63 68 6C 09 09 3B 72 65 74 75 72 6E 20 ..pchl..;return
023D70: 74 6F 20 62 79 74 65 20 66 6F 6C 6C 6F 77 69 6E to byte followin
023D80: 67 20 64 77 27 73 0D 0A 3B 0D 0A 3B 20 73 70 61 g dw's..;..; spa
023D90: 6C 6F 64 20 65 6E 74 65 72 20 77 69 74 68 20 61 lod enter with a
023DA0: 20 70 6F 69 6E 74 65 72 20 74 6F 20 6C 73 62 79 pointer to lsby
023DB0: 74 65 20 28 66 69 72 73 74 20 63 68 61 72 61 63 te (first charac
023DC0: 74 65 72 29 0D 0A 3B 20 6F 66 20 61 6C 66 61 20 ter)..; of alfa
023DD0: 76 61 72 69 61 62 6C 65 20 61 6E 64 20 69 74 0D variable and it.
023DE0: 0A 3B 20 70 75 73 68 65 73 20 74 68 65 20 76 61 .; pushes the va
023DF0: 72 69 61 62 6C 65 20 69 6E 74 6F 20 74 68 65 20 riable into the
023E00: 0D 0A 6D 6F 72 64 69 76 3A 0D 0A 09 69 6E 78 09 ..mordiv:...inx.
023E10: 62 0D 0A 09 64 61 64 09 64 0D 0A 09 6A 63 09 6D b...dad.d...jc.m
023E20: 6F 72 64 69 76 0D 0A 09 6D 6F 76 09 68 2C 62 0D ordiv...mov.h,b.
023E30: 0A 09 6D 6F 76 09 6C 2C 63 0D 0A 09 70 6F 70 09 ..mov.l,c...pop.
023E40: 62 0D 0A 09 78 74 68 6C 0D 0A 09 70 63 68 6C 0D b...xthl...pchl.
023E50: 0A 3B 0D 0A 3B 20 63 61 6C 6C 20 68 65 72 65 20 .;..; call here
023E60: 77 69 74 68 20 61 64 72 20 74 6F 20 63 61 6C 6C with adr to call
023E70: 20 69 6E 20 72 65 67 20 64 65 0D 0A 3B 0D 0A 73 in reg de..;..s
023E80: 70 63 61 6C 30 3A 0D 0A 09 6C 68 6C 64 09 62 72 pcal0:...lhld.br
023E90: 0D 0A 09 70 75 73 68 09 68 09 3B 73 74 61 74 69 ...push.h.;stati
023EA0: 63 20 6C 69 6E 6B 0D 0A 09 70 75 73 68 09 68 09 c link...push.h.
023EB0: 3B 64 79 6E 61 6D 69 63 20 6C 69 6E 6B 0D 0A 09 ;dynamic link...
023EC0: 6C 78 69 09 68 2C 30 0D 0A 09 64 61 64 09 73 70 lxi.h,0...dad.sp
023ED0: 0D 0A 09 73 68 6C 64 09 62 72 0D 0A 09 78 63 68 ...shld.br...xch
023EE0: 67 09 09 3B 70 63 68 6C 20 74 6F 20 61 64 64 72 g..;pchl to addr
023EF0: 65 73 73 20 74 6F 20 63 61 6C 6C 0D 0A 09 70 63 ess to call...pc
023F00: 68 6C 0D 0A 3B 0D 0A 3B 20 63 61 6C 6C 20 68 65 hl..;..; call he
023F10: 72 65 20 77 69 74 68 20 6C 65 76 65 6C 20 64 69 re with level di
023F20: 66 66 65 72 65 6E 63 65 20 69 6E 20 72 65 67 20 fference in reg
023F30: 61 20 61 6E 64 0D 0A 3B 20 61 64 64 72 65 73 73 a and..; address
023F40: 20 74 6F 20 63 61 6C 6C 20 69 6E 20 72 65 67 20 to call in reg
023F50: 64 65 0D 0A 3B 0D 0A 73 70 63 61 6C 3A 0D 0A 09 de..;..spcal:...
023F60: 6C 68 6C 64 09 62 72 09 3B 64 79 6E 61 6D 69 63 lhld.br.;dynamic
023F70: 20 6C 69 6E 6B 0D 0A 09 70 75 73 68 09 68 0D 0A link...push.h..
023F80: 09 70 75 73 68 09 64 09 3B 73 61 76 65 20 63 61 .push.d.;save ca
023F90: 6C 6C 20 61 64 64 72 65 73 73 0D 0A 09 63 61 6C ll address...cal
023FA0: 6C 09 66 6F 6C 6C 6F 77 09 3B 67 65 74 20 73 74 l.follow.;get st
023FB0: 61 74 69 63 20 6C 69 6E 6B 0D 0A 09 78 74 68 6C atic link...xthl
023FC0: 09 09 3B 73 74 61 74 69 63 20 6C 69 6E 6B 20 74 ..;static link t
023FD0: 6F 20 73 74 61 63 6B 2C 20 63 61 6C 6C 20 61 64 o stack, call ad
023FE0: 64 72 65 73 73 73 20 74 6F 20 68 6C 0D 0A 09 78 dresss to hl...x
023FF0: 63 68 67 09 09 3B 63 61 6C 6C 20 61 64 64 72 65 chg..;call addre
024000: 73 74 61 63 6B 0D 0A 3B 0D 0A 73 70 61 6C 6F 64 stack..;..spalod
024010: 3A 0D 0A 09 6C 78 69 09 62 2C 37 09 3B 62 69 61 :...lxi.b,7.;bia
024020: 73 20 68 6C 20 74 6F 20 70 6F 69 6E 74 20 74 6F s hl to point to
024030: 20 6D 73 62 79 74 65 0D 0A 09 64 61 64 09 62 0D msbyte...dad.b.
024040: 0A 09 70 6F 70 09 62 09 3B 67 65 74 20 72 65 74 ..pop.b.;get ret
024050: 75 72 6E 20 61 64 64 72 65 73 73 20 74 6F 20 72 urn address to r
024060: 65 67 20 62 0D 0A 09 6D 76 69 09 61 2C 34 09 3B eg b...mvi.a,4.;
024070: 66 6F 75 72 20 77 6F 72 64 73 20 70 65 72 20 61 four words per a
024080: 6C 66 61 0D 0A 6D 6F 72 61 6C 6F 64 3A 0D 0A 09 lfa..moralod:...
024090: 6D 6F 76 09 64 2C 6D 09 3B 67 65 74 20 61 20 77 mov.d,m.;get a w
0240A0: 6F 72 64 20 66 72 6F 6D 20 74 68 65 20 61 6C 66 ord from the alf
0240B0: 61 0D 0A 09 64 63 78 09 68 0D 0A 09 6D 6F 76 09 a...dcx.h...mov.
0240C0: 65 2C 6D 0D 0A 09 64 63 78 09 68 0D 0A 09 70 75 e,m...dcx.h...pu
0240D0: 73 68 09 64 09 3B 61 6E 64 20 70 75 73 68 20 69 sh.d.;and push i
0240E0: 74 20 69 6E 74 6F 20 74 68 65 20 73 74 61 63 6B t into the stack
0240F0: 0D 0A 09 64 63 72 09 61 09 3B 64 6F 6E 65 20 61 ...dcr.a.;done a
024100: 6C 6C 20 77 6F 72 64 73 20 79 65 74 3F 0D 0A 09 ll words yet?...
024110: 6A 6E 7A 09 6D 6F 72 61 6C 6F 64 09 3B 6E 6F 0D jnz.moralod.;no.
024120: 0A 09 6D 6F 76 09 68 2C 62 09 3B 70 63 68 6C 20 ..mov.h,b.;pchl
024130: 74 6F 20 72 65 74 75 72 6E 20 61 64 64 72 65 73 to return addres
024140: 73 0D 0A 09 6D 6F 76 09 6C 2C 63 0D 0A 09 70 63 s...mov.l,c...pc
024150: 68 6C 0D 0A 3B 0D 0A 3B 20 73 70 61 73 74 6F 20 hl..;..; spasto
024160: 65 6E 74 65 72 20 77 69 74 68 20 72 65 67 20 68 enter with reg h
024170: 6C 20 70 6F 69 6E 74 69 6E 67 20 74 6F 20 6C 73 l pointing to ls
024180: 62 79 74 65 20 28 66 69 72 73 74 20 63 68 61 72 byte (first char
024190: 61 63 74 65 72 29 0D 0A 3B 20 6F 66 20 61 6E 20 acter)..; of an
0241A0: 61 6C 66 61 20 76 61 72 69 61 62 6C 65 2C 0D 0A alfa variable,..
0241B0: 3B 20 61 6E 20 61 6C 66 61 20 69 73 20 70 6F 70 ; an alfa is pop
0241C0: 70 65 64 20 66 72 6F 6D 20 74 68 65 20 73 74 61 ped from the sta
0241D0: 63 6B 20 61 6E 64 20 73 74 6F 72 65 64 20 61 74 ck and stored at
0241E0: 20 72 65 67 20 68 6C 0D 0A 3B 0D 0A 73 70 61 73 reg hl..;..spas
0241F0: 74 6F 3A 0D 0A 09 70 6F 70 09 62 09 3B 67 65 74 to:...pop.b.;get
024200: 73 73 20 74 6F 20 72 65 67 20 64 65 0D 0A 09 6C ss to reg de...l
024210: 78 69 09 68 2C 30 0D 0A 09 64 61 64 09 73 70 0D xi.h,0...dad.sp.
024220: 0A 09 73 68 6C 64 09 62 72 0D 0A 09 78 63 68 67 ..shld.br...xchg
024230: 09 09 3B 70 63 68 6C 20 74 6F 20 63 61 6C 6C 20 ..;pchl to call
024240: 61 64 64 72 65 73 73 0D 0A 09 70 63 68 6C 0D 0A address...pchl..
024250: 3B 0D 0A 3B 20 6A 75 6D 70 20 68 65 72 65 20 74 ;..; jump here t
024260: 6F 20 72 65 74 75 72 6E 20 66 72 6F 6D 20 61 20 o return from a
024270: 70 72 6F 63 65 64 75 72 65 0D 0A 3B 0D 0A 73 70 procedure..;..sp
024280: 72 65 74 3A 0D 0A 09 6C 68 6C 64 09 62 72 09 3B ret:...lhld.br.;
024290: 67 65 74 20 6F 6C 64 20 73 70 20 62 61 63 6B 0D get old sp back.
0242A0: 0A 09 73 70 68 6C 0D 0A 09 70 6F 70 09 70 73 77 ..sphl...pop.psw
0242B0: 09 3B 70 6F 70 20 61 6E 64 20 69 67 6E 6F 72 65 .;pop and ignore
0242C0: 20 73 74 61 74 69 63 20 6C 69 6E 6B 0D 0A 09 70 static link...p
0242D0: 6F 70 09 68 09 3B 64 79 6E 61 6D 69 63 20 6C 69 op.h.;dynamic li
0242E0: 6E 6B 0D 0A 09 73 68 6C 64 09 62 72 09 3B 72 65 nk...shld.br.;re
0242F0: 73 74 6F 72 65 20 62 61 73 65 20 72 65 67 69 73 store base regis
024300: 74 65 72 0D 0A 09 72 65 74 0D 0A 3B 0D 0A 69 66 ter...ret..;..if
024310: 63 62 09 64 62 09 30 2C 30 2C 30 2C 30 2C 30 2C cb.db.0,0,0,0,0,
024320: 30 2C 30 2C 30 2C 30 2C 30 2C 30 2C 30 2C 30 2C 0,0,0,0,0,0,0,0,
024330: 30 2C 30 2C 30 2C 30 2C 30 2C 30 0D 0A 09 64 62 0,0,0,0,0,0...db
024340: 09 30 2C 30 2C 30 2C 30 2C 30 2C 30 2C 30 2C 30 .0,0,0,0,0,0,0,0
024350: 2C 30 2C 30 2C 30 2C 30 2C 30 2C 30 2C 30 2C 30 ,0,0,0,0,0,0,0,0
024360: 20 3B 61 20 66 65 77 20 74 6F 6F 20 6D 61 6E 79 ;a few too many
024370: 0D 0A 6F 66 63 62 09 64 62 09 30 2C 30 2C 30 2C ..ofcb.db.0,0,0,
024380: 30 2C 30 2C 30 2C 30 2C 30 2C 30 2C 30 2C 30 2C 0,0,0,0,0,0,0,0,
024390: 30 2C 30 2C 30 2C 30 2C 30 2C 30 2C 30 2C 30 0D 0,0,0,0,0,0,0,0.
0243A0: 0A 09 64 62 09 30 2C 30 2C 30 2C 30 2C 30 2C 30 ..db.0,0,0,0,0,0
0243B0: 2C 30 2C 30 2C 30 2C 30 2C 30 2C 30 2C 30 2C 30 ,0,0,0,0,0,0,0,0
0243C0: 2C 30 2C 30 2C 30 2C 30 2C 30 0D 0A 63 69 66 6C ,0,0,0,0,0..cifl
0243D0: 61 67 09 64 62 09 30 0D 0A 63 6F 66 6C 61 67 09 ag.db.0..coflag.
0243E0: 64 62 09 30 0D 0A 6F 64 65 76 09 64 62 09 30 0D db.0..odev.db.0.
0243F0: 0A 69 64 65 76 09 64 62 09 30 0D 0A 3B 0D 0A 69 .idev.db.0..;..i
024400: 20 72 65 74 75 72 6E 20 61 64 64 72 65 73 73 0D return address.
024410: 0A 09 6D 76 69 09 61 2C 34 09 3B 66 6F 75 72 20 ..mvi.a,4.;four
024420: 77 6F 72 64 73 20 70 65 72 20 61 6C 66 61 0D 0A words per alfa..
024430: 6D 6F 72 61 73 74 6F 3A 0D 0A 09 70 6F 70 09 64 morasto:...pop.d
024440: 09 3B 67 65 74 20 61 20 77 6F 72 64 20 66 72 6F .;get a word fro
024450: 6D 20 74 68 65 20 73 74 61 63 6B 0D 0A 09 6D 6F m the stack...mo
024460: 76 09 6D 2C 65 09 3B 61 6E 64 20 73 74 6F 72 65 v.m,e.;and store
024470: 20 69 74 20 69 6E 74 6F 20 61 6C 66 61 0D 0A 09 it into alfa...
024480: 69 6E 78 09 68 0D 0A 09 6D 6F 76 09 6D 2C 64 0D inx.h...mov.m,d.
024490: 0A 09 69 6E 78 09 68 0D 0A 09 64 63 72 09 61 09 ..inx.h...dcr.a.
0244A0: 3B 64 6F 6E 65 20 61 6C 6C 20 77 6F 72 64 73 20 ;done all words
0244B0: 79 65 74 0D 0A 09 6A 6E 7A 09 6D 6F 72 61 73 74 yet...jnz.morast
0244C0: 6F 09 3B 6E 6F 0D 0A 09 6D 6F 76 09 68 2C 62 09 o.;no...mov.h,b.
0244D0: 3B 70 63 68 6C 20 74 6F 20 72 65 74 75 72 6E 20 ;pchl to return
0244E0: 61 64 64 72 65 73 73 0D 0A 09 6D 6F 76 09 6C 2C address...mov.l,
0244F0: 63 0D 0A 09 70 63 68 6C 0D 0A 3B 0D 0A 3B 20 61 c...pchl..;..; a
024500: 63 6D 70 72 20 63 6F 6D 70 61 72 65 73 20 74 77 cmpr compares tw
024510: 6F 20 61 6C 66 61 20 76 61 72 69 61 62 6C 65 73 o alfa variables
024520: 20 6F 6E 20 74 68 65 20 73 74 61 63 6B 2C 20 73 on the stack, s
024530: 65 74 73 20 66 6C 61 67 73 0D 0A 3B 20 6C 69 6B ets flags..; lik
024540: 65 20 28 74 6F 70 29 2D 28 74 6F 70 2D 31 29 0D e (top)-(top-1).
024550: 0A 3B 0D 0A 61 63 6D 70 72 3A 0D 0A 09 6C 78 69 .;..acmpr:...lxi
024560: 09 68 2C 31 38 09 3B 63 6F 6D 70 75 74 65 20 73 .h,18.;compute s
024570: 74 61 63 6B 20 70 6F 69 6E 74 65 72 20 61 66 74 tack pointer aft
024580: 65 72 0D 0A 09 64 61 64 09 73 70 09 3B 63 6F 6D er...dad.sp.;com
024590: 70 61 72 65 20 69 73 20 64 6F 6E 65 0D 0A 09 70 pare is done...p
0245A0: 75 73 68 09 68 09 3B 73 61 76 65 20 69 74 0D 0A ush.h.;save it..
0245B0: 09 6C 78 69 09 64 2C 2D 38 09 3B 63 6F 6D 70 75 .lxi.d,-8.;compu
0245C0: 74 65 20 61 64 64 72 65 73 73 20 6F 66 20 74 6F te address of to
0245D0: 70 2D 31 0D 0A 09 64 61 64 09 64 0D 0A 09 78 63 p-1...dad.d...xc
0245E0: 68 67 09 09 3B 74 6F 70 2D 31 20 70 74 72 20 74 hg..;top-1 ptr t
0245F0: 6F 20 72 65 67 20 64 65 0D 0A 09 64 61 64 09 64 o reg de...dad.d
024600: 70 74 72 09 64 73 09 32 0D 0A 6F 70 74 72 09 64 ptr.ds.2..optr.d
024610: 73 09 32 0D 0A 69 62 75 66 09 64 73 09 31 32 38 s.2..ibuf.ds.128
024620: 0D 0A 6F 62 75 66 09 64 73 09 31 32 38 0D 0A 3B ..obuf.ds.128..;
024630: 0D 0A 09 6F 72 67 09 28 28 24 2D 31 29 20 61 6E ...org.(($-1) an
024640: 64 20 30 66 66 30 30 68 29 20 2B 20 31 30 30 68 d 0ff00h) + 100h
024650: 0D 0A 6F 63 6F 64 65 3A 09 09 09 3B 73 74 61 72 ..ocode:...;star
024660: 74 20 6F 66 20 63 6F 6D 70 69 6C 65 64 20 63 6F t of compiled co
024670: 64 65 0D 0A 3B 0D 0A 09 65 6E 64 09 72 6F 6D 6F de..;...end.romo
024680: 72 67 0D 0A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A rg..............
024690: 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A ................
0246A0: 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A ................
0246B0: 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A ................
0246C0: 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A ................
0246D0: 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A ................
0246E0: 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A ................
0246F0: 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A ................
024700: 74 65 72 0D 0A 09 72 65 74 0D 0A 3B 0D 0A 69 66 ter...ret..;..if
024710: 63 62 09 64 62 09 30 2C 30 2C 30 2C 30 2C 30 2C cb.db.0,0,0,0,0,
024720: 30 2C 30 2C 30 2C 30 2C 30 2C 30 2C 30 2C 30 2C 0,0,0,0,0,0,0,0,
024730: 30 2C 30 2C 30 2C 30 2C 30 2C 30 0D 0A 09 64 62 0,0,0,0,0,0...db
024740: 09 30 2C 30 2C 30 2C 30 2C 30 2C 30 2C 30 2C 30 .0,0,0,0,0,0,0,0
024750: 2C 30 2C 30 2C 30 2C 30 2C 30 2C 30 2C 30 2C 30 ,0,0,0,0,0,0,0,0
024760: 20 3B 61 20 66 65 77 20 74 6F 6F 20 6D 61 6E 79 ;a few too many
024770: 0D 0A 6F 66 63 62 09 64 62 09 30 2C 30 2C 30 2C ..ofcb.db.0,0,0,
024780: 30 2C 30 2C 30 2C 30 2C 30 2C 30 2C 30 2C 30 2C 0,0,0,0,0,0,0,0,
024790: 30 2C 30 2C 30 2C 30 2C 30 2C 30 2C 30 2C 30 0D 0,0,0,0,0,0,0,0.
0247A0: 0A 09 64 62 09 30 2C 30 2C 30 2C 30 2C 30 2C 30 ..db.0,0,0,0,0,0
0247B0: 2C 30 2C 30 2C 30 2C 30 2C 30 2C 30 2C 30 2C 30 ,0,0,0,0,0,0,0,0
0247C0: 2C 30 2C 30 2C 30 2C 30 2C 30 0D 0A 63 69 66 6C ,0,0,0,0,0..cifl
0247D0: 61 67 09 64 62 09 30 0D 0A 63 6F 66 6C 61 67 09 ag.db.0..coflag.
0247E0: 64 62 09 30 0D 0A 6F 64 65 76 09 64 62 09 30 0D db.0..odev.db.0.
0247F0: 0A 69 64 65 76 09 64 62 09 30 0D 0A 3B 0D 0A 69 .idev.db.0..;..i
024800: 09 3B 74 6F 70 20 70 74 72 20 74 6F 20 72 65 67 .;top ptr to reg
024810: 20 68 6C 0D 0A 09 78 63 68 67 09 09 3B 74 6F 70 hl...xchg..;top
024820: 20 70 74 72 20 74 6F 20 72 65 67 20 64 65 2C 20 ptr to reg de,
024830: 74 6F 70 2D 31 20 74 6F 20 68 6C 0D 0A 09 6D 76 top-1 to hl...mv
024840: 69 09 63 2C 38 09 3B 63 68 61 72 73 20 70 65 72 i.c,8.;chars per
024850: 20 61 6C 66 61 0D 0A 6D 6F 72 61 63 6D 70 3A 0D alfa..moracmp:.
024860: 0A 09 6C 64 61 78 09 64 0D 0A 09 63 6D 70 09 6D ..ldax.d...cmp.m
024870: 0D 0A 09 6A 6E 7A 09 65 78 69 74 61 63 6D 09 3B ...jnz.exitacm.;
024880: 6D 69 73 63 6F 6D 70 61 72 65 20 2D 20 72 65 74 miscompare - ret
024890: 75 72 6E 20 77 69 74 68 20 66 6C 61 67 73 0D 0A urn with flags..
0248A0: 09 69 6E 78 09 68 0D 0A 09 69 6E 78 09 64 0D 0A .inx.h...inx.d..
0248B0: 09 64 63 72 09 63 0D 0A 09 6A 6E 7A 09 6D 6F 72 .dcr.c...jnz.mor
0248C0: 61 63 6D 70 09 3B 6E 6F 74 20 64 6F 6E 65 20 63 acmp.;not done c
0248D0: 6F 6D 70 61 72 69 6E 67 0D 0A 65 78 69 74 61 63 omparing..exitac
0248E0: 6D 3A 0D 0A 09 70 6F 70 09 68 09 3B 6E 65 77 20 m:...pop.h.;new
0248F0: 73 74 61 63 6B 20 70 6F 69 6E 74 65 72 20 74 6F stack pointer to
024900: 20 72 65 67 20 68 6C 0D 0A 09 70 6F 70 09 64 09 reg hl...pop.d.
024910: 3B 72 65 74 75 72 6E 20 61 64 64 72 65 73 73 20 ;return address
024920: 74 6F 20 72 65 67 20 64 65 0D 0A 09 73 70 68 6C to reg de...sphl
024930: 0D 0A 09 78 63 68 67 0D 0A 09 70 63 68 6C 0D 0A ...xchg...pchl..
024940: 3B 0D 0A 3B 20 6F 70 72 33 20 73 75 62 74 72 61 ;..; opr3 subtra
024950: 63 74 73 20 28 74 6F 70 29 20 66 72 6F 6D 20 28 cts (top) from (
024960: 74 6F 70 2D 31 29 0D 0A 3B 0D 0A 6F 70 72 33 3A top-1)..;..opr3:
024970: 0D 0A 09 70 6F 70 09 68 09 3B 72 65 74 75 72 6E ...pop.h.;return
024980: 20 61 64 64 72 65 73 73 20 74 6F 20 72 65 67 20 address to reg
024990: 68 6C 0D 0A 09 70 6F 70 09 64 09 3B 28 74 6F 70 hl...pop.d.;(top
0249A0: 29 20 74 6F 20 72 65 67 20 64 65 0D 0A 09 78 74 ) to reg de...xt
0249B0: 68 6C 09 09 3B 70 75 74 20 62 61 63 6B 20 72 65 hl..;put back re
0249C0: 74 75 72 6E 20 61 64 64 72 65 73 73 2C 20 28 74 turn address, (t
0249D0: 6F 70 2D 31 29 20 74 6F 20 68 6C 0D 0A 09 78 72 op-1) to hl...xr
0249E0: 61 09 61 09 3B 6E 65 67 61 74 65 20 72 65 67 20 a.a.;negate reg
0249F0: 64 65 2C 20 68 6F 6C 64 69 6E 67 20 28 74 6F 70 de, holding (top
024A00: C3 5A 01 C3 F3 01 C3 FF 01 C3 A3 02 C3 AE 02 C3 .Z........£.....
024A10: 0F 01 C3 D3 02 C3 15 01 C3 18 01 C3 1B 01 C3 1E ................
024A20: 01 C3 DC 02 C3 F4 02 C3 2D 03 C3 3A 03 C3 4D 03 ........-..:..M.
024A30: C3 5C 03 C3 7A 03 C3 86 03 C3 9C 03 C3 3C 01 C3 .\..z........<..
024A40: 3F 01 C3 B3 03 C3 C1 03 C3 D4 03 00 00 52 54 50 ?............RTP
024A50: 20 52 45 56 20 30 30 2E 38 52 2A 06 00 2E 00 F9 REV 00.8R*.....
024A60: 22 4B 01 CD 6C 01 CD B2 01 C3 00 06 3A 5D 00 06 "K..l.......:]..
024A70: FF FE 20 CA 7C 01 FE 3F CA 7C 01 04 78 32 27 04 .. .|..?.|..x2'.
024A80: 21 DE 03 11 5C 00 CD A7 01 3A 6D 00 06 FF FE 20 !...\....:m....
024A90: CA 99 01 FE 3F CA 99 01 04 78 32 28 04 21 01 04 ....?....x2(.!..
024AA0: 11 6C 00 CD A7 01 C9 06 0C 1A 77 13 23 05 C2 A9 .l........w.#...
024AB0: 01 C9 3A 27 04 B7 C2 CF 01 AF 32 FE 03 11 DE 03 ..:'......2.....
024AC0: 0E 0F CD 05 00 3C CA 17 03 21 AF 04 22 2B 04 3A .....<...!.."+.:
024AD0: 28 04 B7 C0 11 01 04 0E 13 CD 05 00 11 01 04 0E (...............
024AE0: 16 CD 05 00 3C CA 17 03 AF 32 21 04 21 AF 04 22 ....<....2!.!.."
024AF0: 2D 04 C9 2A 4B 01 5E 23 56 EB 3D C2 F6 01 C9 E1 -..*K.^#V.=.....
024B00: D1 E3 7A AC F2 0C 02 7A 17 3E FF C9 7A 94 C0 7B ..z....z.>..z..{
024B10: 95 C9 3A 27 04 B7 C2 24 02 3A 2A 04 B7 C2 24 02 ..:'...$.:*...$.
024B20: CD 2A 02 C9 0E 01 CD 05 00 C9 2A 2B 04 7D FE AF .*........*+.}..
024B30: C2 52 02 11 2F 04 0E 1A CD 05 00 0E 14 11 DE 03 .R../...........
024B40: CD 05 00 B7 C2 17 03 11 80 00 0E 1A CD 05 00 21 ...............!
024B50: 2F 04 7E 23 22 2B 04 C9 4F 3A 28 04 B7 C2 6C 02 /.~#"+..O:(...l.
024B60: 3A 29 04 B7 C2 6C 02 79 CD 73 02 C9 59 0E 02 CD :)...l.y.s..Y...
024B70: 05 00 C9 F5 2A 2D 04 7D FE 2F C2 9C 02 11 AF 04 ....*-.}./......
024B80: 0E 1A CD 05 00 11 01 04 0E 15 CD 05 00 B7 C2 17 ................
024B90: 03 11 80 00 0E 1A CD 05 00 21 AF 04 F1 77 23 22 .........!...w#"
024BA0: 2D 04 C9 32 2A 04 CD 12 02 6F 26 00 E3 E9 32 29 -..2*....o&...2)
024BB0: 04 E1 E3 7D CD 58 02 C9 01 F6 FF 11 FF FF 09 13 ...}.X..........
024BC0: DA BE 02 3E 0A 85 F5 EB 7C B5 C4 BB 02 F1 C6 30 ...>....|......0
024BD0: C3 58 02 32 29 04 E1 E3 CD B8 02 C9 32 29 04 16 .X.2).......2)..
024BE0: 04 E1 E3 D5 E5 7D CD 58 02 E1 7C CD 58 02 D1 15 .....}.X..|.X...
024BF0: C2 E1 02 C9 3A 28 04 B7 C2 00 00 3E 1A CD 73 02 ....:(.....>..s.
024C00: 29 0D 0A 09 73 75 62 09 65 0D 0A 09 6D 6F 76 09 )...sub.e...mov.
024C10: 65 2C 61 0D 0A 09 73 62 62 09 64 0D 0A 09 73 75 e,a...sbb.d...su
024C20: 62 09 65 0D 0A 09 6D 6F 76 09 64 2C 61 0D 0A 09 b.e...mov.d,a...
024C30: 64 61 64 09 64 09 3B 61 64 64 20 2D 28 74 6F 70 dad.d.;add -(top
024C40: 29 20 74 6F 20 28 74 6F 70 2D 31 29 0D 0A 09 78 ) to (top-1)...x
024C50: 74 68 6C 09 09 3B 6C 65 61 76 65 20 72 65 73 74 thl..;leave rest
024C60: 75 6C 74 20 6F 6E 20 73 74 61 63 6B 20 61 6E 64 ult on stack and
024C70: 20 72 65 74 75 72 6E 0D 0A 09 70 63 68 6C 09 09 return...pchl..
024C80: 3B 61 64 64 72 65 73 73 20 69 6E 20 72 65 67 20 ;address in reg
024C90: 68 6C 0D 0A 3B 0D 0A 3B 20 6F 70 72 34 20 6D 75 hl..;..; opr4 mu
024CA0: 6C 74 69 70 6C 79 20 28 74 6F 70 29 20 62 79 20 ltiply (top) by
024CB0: 28 74 6F 70 2D 31 29 0D 0A 3B 0D 0A 6F 70 72 34 (top-1)..;..opr4
024CC0: 3A 0D 0A 09 70 6F 70 09 68 0D 0A 09 70 6F 70 09 :...pop.h...pop.
024CD0: 64 0D 0A 09 78 74 68 6C 0D 0A 09 70 75 73 68 09 d...xthl...push.
024CE0: 62 0D 0A 09 6D 6F 76 09 62 2C 68 0D 0A 09 6D 6F b...mov.b,h...mo
024CF0: 76 09 63 2C 6C 0D 0A 09 6C 78 69 09 68 2C 30 0D v.c,l...lxi.h,0.
024D00: 0A 6D 75 6C 6D 6F 72 3A 0D 0A 09 6D 6F 76 09 61 .mulmor:...mov.a
024D10: 2C 63 0D 0A 09 6F 72 61 09 62 0D 0A 09 6A 7A 09 ,c...ora.b...jz.
024D20: 6D 75 6C 64 6F 6E 65 0D 0A 09 64 63 78 09 62 0D muldone...dcx.b.
024D30: 0A 09 64 61 64 09 64 0D 0A 09 6A 6D 70 09 6D 75 ..dad.d...jmp.mu
024D40: 6C 6D 6F 72 0D 0A 6D 75 6C 64 6F 6E 65 3A 0D 0A lmor..muldone:..
024D50: 09 70 6F 70 09 62 0D 0A 09 78 74 68 6C 0D 0A 09 .pop.b...xthl...
024D60: 70 63 68 6C 0D 0A 3B 0D 0A 3B 20 6F 70 72 35 20 pchl..;..; opr5
024D70: 64 69 76 69 64 65 73 20 28 74 6F 70 2D 31 29 20 divides (top-1)
024D80: 62 79 20 28 74 6F 70 29 0D 0A 3B 0D 0A 6F 70 72 by (top)..;..opr
024D90: 35 3A 0D 0A 09 70 6F 70 09 68 0D 0A 09 70 6F 70 5:...pop.h...pop
024DA0: 09 64 0D 0A 09 78 74 68 6C 0D 0A 09 70 75 73 68 .d...xthl...push
024DB0: 09 62 0D 0A 09 78 72 61 09 61 09 3B 6E 65 67 61 .b...xra.a.;nega
024DC0: 74 65 20 72 65 67 20 64 65 0D 0A 09 73 75 62 09 te reg de...sub.
024DD0: 65 0D 0A 09 6D 6F 76 09 65 2C 61 0D 0A 09 73 62 e...mov.e,a...sb
024DE0: 62 09 64 0D 0A 09 73 75 62 09 65 0D 0A 09 6D 6F b.d...sub.e...mo
024DF0: 76 09 64 2C 61 0D 0A 09 6C 78 69 09 62 2C 2D 31 v.d,a...lxi.b,-1
024E00: 54 72 61 63 6B 2D 49 6E 66 6F 0D 0A 00 01 00 00 Track-Info......
024E10: 1F 00 00 00 02 09 4A E5 1F 00 C1 02 00 00 00 02 ......J.........
024E20: 1F 00 C6 02 00 00 00 02 1F 00 C2 02 00 00 00 02 ................
024E30: 1F 00 C7 02 00 00 00 02 1F 00 C3 02 00 00 00 02 ................
024E40: 1F 00 C8 02 00 00 00 02 1F 00 C4 02 00 00 00 02 ................
024E50: 1F 00 C9 02 00 00 00 02 1F 00 C5 02 00 00 00 02 ................
024E60: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
024E70: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
024E80: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
024E90: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
024EA0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
024EB0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
024EC0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
024ED0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
024EE0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
024EF0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
024F00: 3A 2D 04 FE B0 C2 FB 02 11 01 04 0E 10 CD 05 00 :-..............
024F10: 3C CA 17 03 C3 00 00 11 22 03 0E 09 CD 05 00 C3 <.......".......
024F20: 00 00 64 69 73 6B 20 65 72 72 6F 72 24 E1 3E 04 ..disk error$.>.
024F30: 56 23 5E 23 D5 3D C2 30 03 E9 01 07 00 09 C1 3E V#^#.=.0.......>
024F40: 04 56 2B 5E 2B D5 3D C2 41 03 60 69 E9 C1 3E 04 .V+^+.=.A.`i..>.
024F50: D1 73 23 72 23 3D C2 50 03 60 69 E9 21 12 00 39 .s#r#=.P.`i.!..9
024F60: E5 11 F8 FF 19 EB 19 EB 0E 08 1A BE C2 75 03 23 .............u.#
024F70: 13 0D C2 6A 03 E1 D1 F9 EB E9 E1 D1 E3 AF 93 5F ...j..........._
024F80: 9A 93 57 19 E3 E9 E1 D1 E3 C5 44 4D 21 00 00 79 ..W.......DM!..y
024F90: B0 CA 99 03 0B 19 C3 8F 03 C1 E3 E9 E1 D1 E3 C5 ................
024FA0: AF 93 5F 9A 93 57 01 FF FF 03 19 DA A9 03 60 69 .._..W........`i
024FB0: C1 E3 E9 2A 4B 01 E5 E5 21 00 00 39 22 4B 01 EB ...*K...!..9"K..
024FC0: E9 2A 4B 01 E5 D5 CD F6 01 E3 EB 21 00 00 39 22 .*K........!..9"
024FD0: 4B 01 EB E9 2A 4B 01 F9 F1 E1 22 4B 01 C9 00 00 K...*K...."K....
024FE0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
024FF0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
025000: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
025010: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
025020: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
025030: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
025040: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
025050: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
025060: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
025070: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
025080: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
025090: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0250A0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0250B0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0250C0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0250D0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0250E0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0250F0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
025100: 28 2A 0D 0A 20 20 54 49 54 4C 45 09 09 70 61 73 (*.. TITLE..pas
025110: 63 61 6C 20 63 6F 6D 70 69 6C 65 72 20 54 45 53 cal compiler TES
025120: 54 45 52 20 70 72 6F 67 72 61 6D 0D 0A 20 20 46 TER program.. F
025130: 49 4C 45 4E 41 4D 45 09 54 45 53 54 45 52 2E 50 ILENAME.TESTER.P
025140: 41 53 0D 0A 20 20 41 55 54 48 4F 52 09 52 6F 62 AS.. AUTHOR.Rob
025150: 65 72 74 20 41 2E 20 56 61 6E 20 56 61 6C 7A 61 ert A. Van Valza
025160: 68 20 20 20 30 31 2F 30 38 2F 38 30 0D 0A 20 20 h 01/08/80..
025170: 4C 41 53 54 20 52 45 56 49 53 45 44 09 52 2E 20 LAST REVISED.R.
025180: 41 2E 20 56 2E 20 20 20 20 30 31 2F 31 35 2F 38 A. V. 01/15/8
025190: 30 0D 0A 20 20 52 45 41 53 4F 4E 09 61 64 64 65 0.. REASON.adde
0251A0: 64 20 72 65 70 65 61 74 20 61 6E 64 20 77 68 69 d repeat and whi
0251B0: 6C 65 20 74 65 73 74 69 6E 67 0D 0A 2A 29 0D 0A le testing..*)..
0251C0: 0D 0A 28 2A 20 63 68 65 63 6B 20 74 68 61 74 20 ..(* check that
0251D0: 61 6C 6C 20 6C 65 67 61 6C 20 64 65 63 6C 61 72 all legal declar
0251E0: 61 74 6F 6E 20 73 79 6E 74 61 78 20 69 73 20 61 aton syntax is a
0251F0: 63 63 65 70 74 65 64 20 2A 29 20 0D 0A 28 2A 20 ccepted *) ..(*
025200: 73 65 6D 61 6E 74 69 63 73 20 63 61 6E 20 62 65 semantics can be
025210: 20 63 68 65 63 6B 65 64 20 6F 6E 6C 79 20 62 79 checked only by
025220: 20 69 6E 73 70 65 63 74 69 6F 6E 20 6F 66 20 74 inspection of t
025230: 68 65 0D 0A 20 20 20 67 65 6E 65 72 61 74 65 64 he.. generated
025240: 20 63 6F 64 65 20 2A 29 0D 0A 0D 0A 63 6F 6E 73 code *)....cons
025250: 74 0D 0A 09 63 31 09 3D 20 27 78 27 3B 0D 0A 09 t...c1.= 'x';...
025260: 63 32 09 3D 20 31 33 3B 0D 0A 09 63 33 09 3D 20 c2.= 13;...c3.=
025270: 63 32 3B 0D 0A 09 63 34 09 3D 20 63 33 2B 31 33 c2;...c4.= c3+13
025280: 3B 0D 0A 09 63 35 09 3D 20 63 32 2B 63 33 2B 63 ;...c5.= c2+c3+c
025290: 34 3B 0D 0A 09 61 6D 61 78 09 3D 20 35 31 33 3B 4;...amax.= 513;
0252A0: 20 28 2A 20 6D 61 78 20 61 72 72 61 79 20 73 75 (* max array su
0252B0: 62 73 72 69 70 74 20 74 65 73 74 65 64 20 2A 29 bsript tested *)
0252C0: 0D 0A 09 0D 0A 74 79 70 65 0D 0A 09 74 31 09 3D .....type...t1.=
0252D0: 20 63 31 2E 2E 63 32 3B 0D 0A 09 74 32 09 3D 20 c1..c2;...t2.=
0252E0: 30 20 2E 2E 63 32 3B 0D 0A 09 74 33 09 3D 20 63 0 ..c2;...t3.= c
0252F0: 31 2E 2E 39 39 3B 0D 0A 09 74 34 09 3D 20 74 33 1..99;...t4.= t3
025300: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
025310: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
025320: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
025330: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
025340: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
025350: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
025360: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
025370: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
025380: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
025390: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0253A0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0253B0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0253C0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0253D0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0253E0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0253F0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
025400: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
025410: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
025420: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
025430: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
025440: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
025450: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
025460: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
025470: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
025480: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
025490: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0254A0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0254B0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0254C0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0254D0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0254E0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0254F0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
025500: 3B 0D 0A 09 74 35 09 3D 20 28 7A 65 72 6F 2C 6F ;...t5.= (zero,o
025510: 6E 65 2C 74 77 6F 29 3B 0D 0A 09 74 36 09 3D 20 ne,two);...t6.=
025520: 30 2E 2E 39 39 3B 0D 0A 09 74 37 09 3D 20 61 72 0..99;...t7.= ar
025530: 72 61 79 20 5B 74 31 5D 20 6F 66 20 74 36 3B 0D ray [t1] of t6;.
025540: 0A 09 77 61 74 79 70 09 3D 20 61 72 72 61 79 20 ..watyp.= array
025550: 5B 30 2E 2E 61 6D 61 78 5D 20 6F 66 20 77 6F 72 [0..amax] of wor
025560: 64 3B 0D 0A 09 61 61 74 79 70 09 3D 20 61 72 72 d;...aatyp.= arr
025570: 61 79 20 5B 30 2E 2E 61 6D 61 78 5D 20 6F 66 20 ay [0..amax] of
025580: 61 6C 66 61 3B 0D 0A 0D 0A 76 61 72 0D 0A 09 76 alfa;....var...v
025590: 31 09 3A 20 74 31 3B 0D 0A 09 76 32 2C 76 33 09 1.: t1;...v2,v3.
0255A0: 3A 20 74 32 3B 0D 0A 09 76 34 09 3A 20 74 36 3B : t2;...v4.: t6;
0255B0: 0D 0A 09 67 69 09 3A 20 77 6F 72 64 3B 20 28 2A ...gi.: word; (*
0255C0: 20 67 6C 6F 62 61 6C 20 76 61 72 69 61 62 6C 65 global variable
0255D0: 73 20 75 73 65 64 20 62 65 6C 6F 77 20 2A 29 0D s used below *).
0255E0: 0A 09 67 6A 09 3A 20 77 6F 72 64 3B 0D 0A 09 67 ..gj.: word;...g
0255F0: 77 61 09 3A 20 77 61 74 79 70 3B 20 28 2A 20 67 wa.: watyp; (* g
025600: 6C 6F 62 61 6C 20 77 6F 72 64 20 61 72 72 61 79 lobal word array
025610: 20 2A 29 0D 0A 09 67 61 61 09 3A 20 61 61 74 79 *)...gaa.: aaty
025620: 70 3B 20 28 2A 20 67 6C 6F 62 61 6C 20 61 6C 66 p; (* global alf
025630: 61 20 61 72 72 61 79 20 2A 29 0D 0A 09 61 70 61 a array *)...apa
025640: 74 72 09 3A 20 61 6C 66 61 3B 09 20 28 2A 20 61 tr.: alfa;. (* a
025650: 6C 66 61 20 74 65 73 74 20 70 61 74 74 65 72 6E lfa test pattern
025660: 20 2A 29 0D 0A 0D 0A 70 72 6F 63 65 64 75 72 65 *)....procedure
025670: 20 66 6F 72 74 65 73 74 3B 0D 0A 0D 0A 09 76 61 fortest;.....va
025680: 72 09 69 20 3A 20 77 6F 72 64 3B 0D 0A 0D 0A 09 r.i : word;.....
025690: 70 72 6F 63 65 64 75 72 65 20 63 72 6C 66 3B 20 procedure crlf;
0256A0: 28 2A 20 74 65 73 74 20 6E 65 73 74 65 64 20 70 (* test nested p
0256B0: 72 6F 63 65 64 75 72 65 73 20 2A 29 0D 0A 09 09 rocedures *)....
0256C0: 62 65 67 69 6E 20 70 75 74 23 31 28 31 33 2C 31 begin put#1(13,1
0256D0: 30 29 20 65 6E 64 3B 0D 0A 0D 0A 09 62 65 67 69 0) end;.....begi
0256E0: 6E 0D 0A 09 70 75 74 23 31 28 27 66 6F 72 20 74 n...put#1('for t
0256F0: 65 73 74 27 2C 31 33 2C 31 30 29 3B 0D 0A 09 70 est',13,10);...p
025700: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
025710: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
025720: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
025730: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
025740: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
025750: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
025760: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
025770: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
025780: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
025790: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0257A0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0257B0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0257C0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0257D0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0257E0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0257F0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
025800: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
025810: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
025820: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
025830: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
025840: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
025850: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
025860: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
025870: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
025880: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
025890: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0258A0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0258B0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0258C0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0258D0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0258E0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0258F0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
025900: 75 74 23 31 28 27 6C 63 6C 20 31 2D 31 30 27 29 ut#1('lcl 1-10')
025910: 3B 0D 0A 09 66 6F 72 20 69 3A 3D 31 20 74 6F 20 ;...for i:=1 to
025920: 31 30 20 64 6F 20 70 75 74 23 31 28 27 20 27 2C 10 do put#1(' ',
025930: 69 23 29 3B 0D 0A 09 63 72 6C 66 3B 0D 0A 09 70 i#);...crlf;...p
025940: 75 74 23 31 28 27 67 62 6C 20 31 2D 31 30 27 29 ut#1('gbl 1-10')
025950: 3B 0D 0A 09 66 6F 72 20 67 69 3A 3D 31 20 74 6F ;...for gi:=1 to
025960: 20 31 30 20 64 6F 20 70 75 74 23 31 28 27 20 27 10 do put#1(' '
025970: 2C 67 69 23 29 3B 0D 0A 09 63 72 6C 66 3B 0D 0A ,gi#);...crlf;..
025980: 09 70 75 74 23 31 28 27 6C 63 6C 20 31 30 2D 31 .put#1('lcl 10-1
025990: 27 29 3B 0D 0A 09 66 6F 72 20 69 3A 3D 31 30 20 ');...for i:=10
0259A0: 64 6F 77 6E 74 6F 20 31 20 64 6F 20 70 75 74 23 downto 1 do put#
0259B0: 31 28 27 20 27 2C 69 23 29 3B 0D 0A 09 63 72 6C 1(' ',i#);...crl
0259C0: 66 3B 0D 0A 09 65 6E 64 3B 20 28 2A 20 70 72 6F f;...end; (* pro
0259D0: 63 65 64 75 72 65 20 66 6F 72 74 65 73 74 20 2A cedure fortest *
0259E0: 29 0D 0A 0D 0A 70 72 6F 63 65 64 75 72 65 20 72 )....procedure r
0259F0: 65 70 74 74 65 73 74 3B 0D 0A 0D 0A 09 76 61 72 epttest;.....var
025A00: 09 69 20 3A 20 77 6F 72 64 3B 0D 0A 0D 0A 09 62 .i : word;.....b
025A10: 65 67 69 6E 0D 0A 09 70 75 74 23 31 28 27 72 70 egin...put#1('rp
025A20: 74 20 31 2D 31 30 27 29 3B 0D 0A 09 69 3A 3D 31 t 1-10');...i:=1
025A30: 3B 0D 0A 09 72 65 70 65 61 74 0D 0A 09 09 70 75 ;...repeat....pu
025A40: 74 23 31 28 27 20 27 2C 69 23 29 3B 20 69 3A 3D t#1(' ',i#); i:=
025A50: 69 2B 31 0D 0A 09 75 6E 74 69 6C 20 69 3E 31 30 i+1...until i>10
025A60: 3B 0D 0A 09 70 75 74 23 31 28 31 33 2C 31 30 29 ;...put#1(13,10)
025A70: 0D 0A 09 65 6E 64 3B 20 28 2A 20 70 72 6F 63 65 ...end; (* proce
025A80: 64 75 72 65 20 72 65 70 74 74 65 73 74 20 2A 29 dure repttest *)
025A90: 0D 0A 0D 0A 70 72 6F 63 65 64 75 72 65 20 77 68 ....procedure wh
025AA0: 69 6C 74 65 73 74 3B 0D 0A 0D 0A 09 76 61 72 09 iltest;.....var.
025AB0: 69 20 3A 20 77 6F 72 64 3B 0D 0A 0D 0A 09 62 65 i : word;.....be
025AC0: 67 69 6E 0D 0A 09 70 75 74 23 31 28 27 77 68 6C gin...put#1('whl
025AD0: 20 31 2D 31 30 27 29 3B 0D 0A 09 69 3A 3D 31 3B 1-10');...i:=1;
025AE0: 0D 0A 09 77 68 69 6C 65 20 69 3C 3D 31 30 20 64 ...while i<=10 d
025AF0: 6F 20 62 65 67 69 6E 0D 0A 09 09 70 75 74 23 31 o begin....put#1
025B00: 76 61 72 20 6E 2C 6B 20 3A 20 69 6E 74 65 67 65 var n,k : intege
025B10: 72 3B 0D 0A 0D 0A 66 75 6E 63 74 69 6F 6E 20 73 r;....function s
025B20: 74 69 72 6C 69 6E 67 28 6E 2C 6B 20 3A 20 69 6E tirling(n,k : in
025B30: 74 65 67 65 72 29 3B 0D 0A 0D 0A 20 20 20 62 65 teger);.... be
025B40: 67 69 6E 0D 0A 20 20 20 69 66 20 28 6B 3D 31 29 gin.. if (k=1)
025B50: 20 6F 72 20 28 6E 3D 6B 29 0D 0A 20 20 20 20 20 or (n=k)..
025B60: 20 74 68 65 6E 20 73 74 69 72 6C 69 6E 67 3A 3D then stirling:=
025B70: 31 0D 0A 20 20 20 20 20 20 65 6C 73 65 20 73 74 1.. else st
025B80: 69 72 6C 69 6E 67 3A 3D 73 74 69 72 6C 69 6E 67 irling:=stirling
025B90: 28 6E 2D 31 2C 6B 2D 31 29 2B 6B 2A 73 74 69 72 (n-1,k-1)+k*stir
025BA0: 6C 69 6E 67 28 6E 2D 31 2C 6B 29 0D 0A 20 20 20 ling(n-1,k)..
025BB0: 65 6E 64 3B 20 28 2A 20 66 75 6E 63 74 69 6F 6E end; (* function
025BC0: 20 73 74 69 72 6C 69 6E 67 20 2A 29 0D 0A 0D 0A stirling *)....
025BD0: 62 65 67 69 6E 20 28 2A 20 6D 61 69 6E 20 6C 69 begin (* main li
025BE0: 6E 65 20 2A 29 0D 0A 70 75 74 23 31 28 39 2C 39 ne *)..put#1(9,9
025BF0: 2C 39 2C 39 2C 39 2C 27 6B 27 2C 31 33 2C 31 30 ,9,9,9,'k',13,10
025C00: 29 3B 20 28 2A 20 70 72 69 6E 74 20 63 65 6E 74 ); (* print cent
025C10: 65 72 65 64 20 22 6B 22 20 2A 29 0D 0A 0D 0A 70 ered "k" *)....p
025C20: 75 74 23 31 28 27 6E 27 2C 20 39 29 3B 20 20 20 ut#1('n', 9);
025C30: 20 20 20 20 20 20 20 20 20 20 20 28 2A 20 70 72 (* pr
025C40: 69 6E 74 20 63 6F 6C 75 6D 6E 20 68 65 61 64 69 int column headi
025C50: 6E 67 73 20 2A 29 0D 0A 66 6F 72 20 6E 3A 3D 31 ngs *)..for n:=1
025C60: 20 74 6F 20 31 30 20 64 6F 0D 0A 20 20 20 70 75 to 10 do.. pu
025C70: 74 23 31 28 6E 23 2C 39 29 3B 0D 0A 70 75 74 23 t#1(n#,9);..put#
025C80: 31 28 31 33 2C 20 31 30 29 3B 0D 0A 70 75 74 23 1(13, 10);..put#
025C90: 31 28 39 2C 27 3D 27 2C 39 2C 27 3D 27 2C 39 2C 1(9,'=',9,'=',9,
025CA0: 27 3D 27 2C 39 2C 27 3D 27 2C 39 2C 27 3D 27 2C '=',9,'=',9,'=',
025CB0: 39 2C 27 3D 27 2C 39 2C 27 3D 27 2C 39 2C 27 3D 9,'=',9,'=',9,'=
025CC0: 27 2C 39 2C 27 3D 27 2C 39 2C 27 3D 27 2C 31 33 ',9,'=',9,'=',13
025CD0: 2C 31 30 29 3B 0D 0A 0D 0A 66 6F 72 20 6E 3A 3D ,10);....for n:=
025CE0: 31 20 74 6F 20 31 30 20 64 6F 20 62 65 67 69 6E 1 to 10 do begin
025CF0: 20 20 20 20 20 28 2A 20 70 72 69 6E 74 20 62 6F (* print bo
025D00: 28 27 20 27 2C 69 23 29 3B 20 69 3A 3D 69 2B 31 (' ',i#); i:=i+1
025D10: 20 65 6E 64 3B 0D 0A 09 70 75 74 23 31 28 31 33 end;...put#1(13
025D20: 2C 31 30 29 0D 0A 09 65 6E 64 3B 20 28 2A 20 70 ,10)...end; (* p
025D30: 72 6F 63 65 64 75 72 65 20 77 68 69 6C 74 65 73 rocedure whiltes
025D40: 74 20 2A 29 0D 0A 0D 0A 70 72 6F 63 65 64 75 72 t *)....procedur
025D50: 65 20 73 69 6D 70 76 61 72 3B 20 28 2A 20 74 65 e simpvar; (* te
025D60: 73 74 20 73 69 6D 70 6C 65 20 76 61 72 69 61 62 st simple variab
025D70: 6C 65 73 20 2A 29 0D 0A 0D 0A 09 76 61 72 09 69 les *).....var.i
025D80: 2C 6A 20 3A 20 77 6F 72 64 3B 0D 0A 09 09 61 2C ,j : word;....a,
025D90: 62 20 3A 20 61 6C 66 61 3B 0D 0A 0D 0A 09 62 65 b : alfa;.....be
025DA0: 67 69 6E 0D 0A 09 70 75 74 23 31 28 27 74 65 73 gin...put#1('tes
025DB0: 74 69 6E 67 20 27 2C 27 73 69 6D 70 76 61 72 73 ting ','simpvars
025DC0: 27 2C 31 33 2C 31 30 29 3B 0D 0A 09 69 3A 3D 35 ',13,10);...i:=5
025DD0: 31 33 3B 6A 3A 3D 31 30 32 37 3B 20 28 2A 20 61 13;j:=1027; (* a
025DE0: 64 6A 61 63 65 6E 74 20 76 61 72 73 20 75 6E 69 djacent vars uni
025DF0: 71 75 65 3F 20 2A 29 0D 0A 09 69 66 20 69 3C 3E que? *)...if i<>
025E00: 35 31 33 20 74 68 65 6E 20 70 75 74 23 31 28 27 513 then put#1('
025E10: 6E 6F 70 65 20 20 69 3D 27 2C 69 23 29 3B 0D 0A nope i=',i#);..
025E20: 09 69 66 20 6A 3C 3E 31 30 32 37 20 74 68 65 6E .if j<>1027 then
025E30: 20 70 75 74 23 31 28 27 6E 6F 70 65 20 20 6A 3D put#1('nope j=
025E40: 27 2C 6A 23 29 3B 0D 0A 09 61 3A 3D 27 61 62 63 ',j#);...a:='abc
025E50: 64 65 66 67 68 27 3B 0D 0A 09 69 66 20 61 3C 3E defgh';...if a<>
025E60: 27 61 62 63 64 65 66 67 68 27 20 74 68 65 6E 20 'abcdefgh' then
025E70: 70 75 74 23 31 28 27 61 6C 66 61 63 6D 70 72 27 put#1('alfacmpr'
025E80: 29 3B 0D 0A 09 28 2A 20 74 65 73 74 20 73 69 6D );...(* test sim
025E90: 70 6C 65 20 61 6C 66 61 20 73 75 62 73 63 72 69 ple alfa subscri
025EA0: 70 74 69 6E 67 20 68 61 63 6B 20 2A 29 0D 0A 09 pting hack *)...
025EB0: 61 5B 32 5D 3A 3D 27 35 27 2B 27 36 27 2A 32 35 a[2]:='5'+'6'*25
025EC0: 36 3B 20 28 2A 20 61 20 73 68 6F 75 6C 64 20 3D 6; (* a should =
025ED0: 20 27 61 62 63 64 35 36 67 68 27 20 2A 29 0D 0A 'abcd56gh' *)..
025EE0: 09 69 66 20 28 61 3C 3E 27 61 62 63 64 35 36 67 .if (a<>'abcd56g
025EF0: 68 27 29 20 6F 72 20 28 61 5B 32 5D 3C 3E 27 35 h') or (a[2]<>'5
025F00: 64 79 20 6F 66 20 74 61 62 6C 65 20 2A 29 0D 0A dy of table *)..
025F10: 20 20 20 70 75 74 23 31 28 6E 23 2C 20 27 3A 27 put#1(n#, ':'
025F20: 2C 20 39 29 3B 0D 0A 20 20 20 66 6F 72 20 6B 3A , 9);.. for k:
025F30: 3D 31 20 74 6F 20 6E 20 64 6F 0D 0A 20 20 20 20 =1 to n do..
025F40: 20 20 70 75 74 23 31 28 73 74 69 72 6C 69 6E 67 put#1(stirling
025F50: 28 6E 2C 6B 29 23 2C 20 39 29 3B 0D 0A 20 20 20 (n,k)#, 9);..
025F60: 70 75 74 23 31 28 31 33 2C 20 31 30 29 20 28 2A put#1(13, 10) (*
025F70: 20 73 74 61 72 74 20 6E 65 77 20 6C 69 6E 65 20 start new line
025F80: 2A 29 0D 0A 20 20 20 65 6E 64 0D 0A 65 6E 64 2E *).. end..end.
025F90: 0D 0A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A ................
025FA0: 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A ................
025FB0: 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A ................
025FC0: 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A ................
025FD0: 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A ................
025FE0: 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A ................
025FF0: 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A ................
026000: 29 3B 20 28 2A 20 70 72 69 6E 74 20 63 65 6E 74 ); (* print cent
026010: 65 72 65 64 20 22 6B 22 20 2A 29 0D 0A 0D 0A 70 ered "k" *)....p
026020: 75 74 23 31 28 27 6E 27 2C 20 39 29 3B 20 20 20 ut#1('n', 9);
026030: 20 20 20 20 20 20 20 20 20 20 20 28 2A 20 70 72 (* pr
026040: 69 6E 74 20 63 6F 6C 75 6D 6E 20 68 65 61 64 69 int column headi
026050: 6E 67 73 20 2A 29 0D 0A 66 6F 72 20 6E 3A 3D 31 ngs *)..for n:=1
026060: 20 74 6F 20 31 30 20 64 6F 0D 0A 20 20 20 70 75 to 10 do.. pu
026070: 74 23 31 28 6E 23 2C 39 29 3B 0D 0A 70 75 74 23 t#1(n#,9);..put#
026080: 31 28 31 33 2C 20 31 30 29 3B 0D 0A 70 75 74 23 1(13, 10);..put#
026090: 31 28 39 2C 27 3D 27 2C 39 2C 27 3D 27 2C 39 2C 1(9,'=',9,'=',9,
0260A0: 27 3D 27 2C 39 2C 27 3D 27 2C 39 2C 27 3D 27 2C '=',9,'=',9,'=',
0260B0: 39 2C 27 3D 27 2C 39 2C 27 3D 27 2C 39 2C 27 3D 9,'=',9,'=',9,'=
0260C0: 27 2C 39 2C 27 3D 27 2C 39 2C 27 3D 27 2C 31 33 ',9,'=',9,'=',13
0260D0: 2C 31 30 29 3B 0D 0A 0D 0A 66 6F 72 20 6E 3A 3D ,10);....for n:=
0260E0: 31 20 74 6F 20 31 30 20 64 6F 20 62 65 67 69 6E 1 to 10 do begin
0260F0: 20 20 20 20 20 28 2A 20 70 72 69 6E 74 20 62 6F (* print bo
026100: 54 72 61 63 6B 2D 49 6E 66 6F 0D 0A 00 01 00 00 Track-Info......
026110: 20 00 00 00 02 09 4B E5 20 00 C1 02 00 00 00 02 .....K. .......
026120: 20 00 C6 02 00 00 00 02 20 00 C2 02 00 00 00 02 ....... .......
026130: 20 00 C7 02 00 00 00 02 20 00 C3 02 00 00 00 02 ....... .......
026140: 20 00 C8 02 00 00 00 02 20 00 C4 02 00 00 00 02 ....... .......
026150: 20 00 C9 02 00 00 00 02 20 00 C5 02 00 00 00 02 ....... .......
026160: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
026170: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
026180: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
026190: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0261A0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0261B0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0261C0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0261D0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0261E0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0261F0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
026200: 27 2B 27 36 27 2A 32 35 36 29 20 74 68 65 6E 0D '+'6'*256) then.
026210: 0A 09 09 70 75 74 23 31 28 27 61 6C 66 61 20 73 ...put#1('alfa s
026220: 75 62 27 29 0D 0A 09 65 6E 64 3B 20 28 2A 20 73 ub')...end; (* s
026230: 69 6D 70 76 61 72 20 2A 29 0D 0A 0D 0A 70 72 6F impvar *)....pro
026240: 63 65 64 75 72 65 20 61 72 79 74 65 73 74 3B 20 cedure arytest;
026250: 28 2A 20 74 65 73 74 20 61 72 72 61 79 20 76 61 (* test array va
026260: 72 69 61 62 6C 65 73 20 2A 29 0D 0A 0D 0A 09 76 riables *).....v
026270: 61 72 09 69 3A 20 77 6F 72 64 3B 20 28 2A 20 69 ar.i: word; (* i
026280: 6E 64 65 78 20 74 6F 20 74 65 73 74 20 61 72 72 ndex to test arr
026290: 61 79 73 20 2A 29 0D 0A 0D 0A 09 28 2A 20 72 65 ays *).....(* re
0262A0: 74 75 72 6E 20 77 6F 72 64 20 61 72 72 61 79 20 turn word array
0262B0: 74 65 73 74 20 64 61 74 61 20 62 61 73 65 64 20 test data based
0262C0: 6F 6E 20 73 75 62 73 63 72 69 70 74 20 2A 29 0D on subscript *).
0262D0: 0A 09 66 75 6E 63 74 69 6F 6E 20 70 61 74 74 65 ..function patte
0262E0: 72 6E 28 69 3A 20 77 6F 72 64 29 3B 0D 0A 0D 0A rn(i: word);....
0262F0: 09 09 62 65 67 69 6E 20 70 61 74 74 65 72 6E 3A ..begin pattern:
026300: 3D 61 6D 61 78 2D 69 2B 31 33 20 65 6E 64 3B 0D =amax-i+13 end;.
026310: 0A 0D 0A 09 70 72 6F 63 65 64 75 72 65 20 77 6F ....procedure wo
026320: 72 64 61 72 79 3B 20 28 2A 20 74 65 73 74 20 77 rdary; (* test w
026330: 6F 72 64 20 61 72 72 61 79 73 20 2A 29 0D 0A 0D ord arrays *)...
026340: 0A 09 09 76 61 72 09 6C 77 61 3A 20 77 61 74 79 ...var.lwa: waty
026350: 70 3B 20 28 2A 20 6C 6F 63 61 6C 20 77 6F 72 64 p; (* local word
026360: 20 61 72 72 61 79 20 2A 29 0D 0A 0D 0A 09 09 62 array *)......b
026370: 65 67 69 6E 0D 0A 09 09 70 75 74 23 31 28 27 6C egin....put#1('l
026380: 77 6F 72 64 61 72 79 27 29 3B 0D 0A 09 09 28 2A wordary');....(*
026390: 20 66 69 6C 6C 20 61 72 72 61 79 20 77 69 74 68 fill array with
0263A0: 20 74 65 73 74 20 70 61 74 74 65 72 6E 20 2A 29 test pattern *)
0263B0: 0D 0A 09 09 66 6F 72 20 69 3A 3D 30 20 74 6F 20 ....for i:=0 to
0263C0: 61 6D 61 78 20 64 6F 20 6C 77 61 5B 69 5D 3A 3D amax do lwa[i]:=
0263D0: 70 61 74 74 65 72 6E 28 69 29 3B 0D 0A 09 09 66 pattern(i);....f
0263E0: 6F 72 20 69 3A 3D 30 20 74 6F 20 61 6D 61 78 20 or i:=0 to amax
0263F0: 64 6F 0D 0A 09 09 20 20 69 66 20 6C 77 61 5B 69 do.... if lwa[i
026400: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
026410: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
026420: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
026430: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
026440: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
026450: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
026460: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
026470: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
026480: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
026490: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0264A0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0264B0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0264C0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0264D0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0264E0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0264F0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
026500: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
026510: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
026520: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
026530: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
026540: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
026550: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
026560: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
026570: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
026580: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
026590: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0265A0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0265B0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0265C0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0265D0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0265E0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0265F0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
026600: 5D 3C 3E 70 61 74 74 65 72 6E 28 69 29 20 74 68 ]<>pattern(i) th
026610: 65 6E 0D 0A 09 09 20 20 20 20 70 75 74 23 31 28 en.... put#1(
026620: 27 6C 77 61 20 66 61 69 6C 27 2C 69 23 29 3B 0D 'lwa fail',i#);.
026630: 0A 09 09 66 6F 72 20 69 3A 3D 30 20 74 6F 20 61 ...for i:=0 to a
026640: 6D 61 78 20 64 6F 20 67 77 61 5B 69 5D 3A 3D 70 max do gwa[i]:=p
026650: 61 74 74 65 72 6E 28 69 29 3B 0D 0A 09 09 66 6F attern(i);....fo
026660: 72 20 69 3A 3D 30 20 74 6F 20 61 6D 61 78 20 64 r i:=0 to amax d
026670: 6F 0D 0A 09 09 20 20 69 66 20 67 77 61 5B 69 5D o.... if gwa[i]
026680: 3C 3E 70 61 74 74 65 72 6E 28 69 29 20 74 68 65 <>pattern(i) the
026690: 6E 0D 0A 09 09 20 20 20 20 70 75 74 23 31 28 27 n.... put#1('
0266A0: 67 77 61 20 66 61 69 6C 20 27 2C 69 23 29 3B 0D gwa fail ',i#);.
0266B0: 0A 09 09 70 75 74 23 31 28 31 33 2C 31 30 29 0D ...put#1(13,10).
0266C0: 0A 09 09 65 6E 64 3B 20 28 2A 20 70 72 6F 63 65 ...end; (* proce
0266D0: 64 75 72 65 20 77 6F 72 64 61 72 79 20 2A 29 0D dure wordary *).
0266E0: 0A 0D 0A 09 70 72 6F 63 65 64 75 72 65 20 61 6C ....procedure al
0266F0: 66 61 61 72 79 3B 20 28 2A 20 74 65 73 74 20 61 faary; (* test a
026700: 6C 66 61 20 61 72 72 61 79 73 20 2A 29 0D 0A 0D lfa arrays *)...
026710: 0A 09 09 76 61 72 09 6C 61 61 3A 20 61 61 74 79 ...var.laa: aaty
026720: 70 3B 0D 0A 09 09 09 61 3A 20 61 6C 66 61 3B 0D p;.....a: alfa;.
026730: 0A 0D 0A 09 09 28 2A 20 72 65 74 75 72 6E 20 61 .....(* return a
026740: 6C 66 61 20 61 72 72 61 79 20 74 65 73 74 20 64 lfa array test d
026750: 61 74 61 20 62 61 73 65 64 20 69 6E 20 61 70 61 ata based in apa
026760: 74 72 20 2A 29 0D 0A 09 09 70 72 6F 63 65 64 75 tr *)....procedu
026770: 72 65 20 61 6C 66 61 70 61 74 72 28 69 3A 20 77 re alfapatr(i: w
026780: 6F 72 64 29 3B 0D 0A 0D 0A 09 09 09 62 65 67 69 ord);.......begi
026790: 6E 0D 0A 09 09 09 61 70 61 74 72 5B 33 5D 3A 3D n.....apatr[3]:=
0267A0: 69 2A 33 3B 0D 0A 09 09 09 61 70 61 74 72 5B 32 i*3;.....apatr[2
0267B0: 5D 3A 3D 69 2A 35 3B 0D 0A 09 09 09 61 70 61 74 ]:=i*5;.....apat
0267C0: 72 5B 31 5D 3A 3D 69 2A 37 3B 0D 0A 09 09 09 61 r[1]:=i*7;.....a
0267D0: 70 61 74 72 5B 30 5D 3A 3D 69 2A 39 0D 0A 09 09 patr[0]:=i*9....
0267E0: 09 65 6E 64 3B 20 28 2A 20 70 72 6F 63 65 64 75 .end; (* procedu
0267F0: 72 65 20 61 6C 66 61 70 61 74 72 20 2A 29 0D 0A re alfapatr *)..
026800: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
026810: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
026820: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
026830: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
026840: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
026850: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
026860: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
026870: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
026880: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
026890: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0268A0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0268B0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0268C0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0268D0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0268E0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0268F0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
026900: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
026910: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
026920: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
026930: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
026940: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
026950: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
026960: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
026970: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
026980: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
026990: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0269A0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0269B0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0269C0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0269D0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0269E0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0269F0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
026A00: 0D 0A 09 09 62 65 67 69 6E 20 28 2A 20 70 72 6F ....begin (* pro
026A10: 63 65 64 75 72 65 20 61 6C 66 61 61 72 79 20 2A cedure alfaary *
026A20: 29 0D 0A 09 09 70 75 74 23 31 28 31 33 2C 31 30 )....put#1(13,10
026A30: 2C 27 6C 61 6C 66 61 61 72 79 27 29 3B 0D 0A 09 ,'lalfaary');...
026A40: 09 66 6F 72 20 69 3A 3D 30 20 74 6F 20 61 6D 61 .for i:=0 to ama
026A50: 78 20 64 6F 20 62 65 67 69 6E 0D 0A 09 09 20 20 x do begin....
026A60: 70 75 74 23 31 28 27 2D 27 29 3B 0D 0A 09 09 20 put#1('-');....
026A70: 20 61 6C 66 61 70 61 74 72 28 69 29 3B 20 6C 61 alfapatr(i); la
026A80: 61 5B 69 5D 3A 3D 61 70 61 74 72 20 65 6E 64 3B a[i]:=apatr end;
026A90: 0D 0A 09 09 66 6F 72 20 69 3A 3D 30 20 74 6F 20 ....for i:=0 to
026AA0: 61 6D 61 78 20 64 6F 20 62 65 67 69 6E 0D 0A 09 amax do begin...
026AB0: 09 20 20 61 6C 66 61 70 61 74 72 28 69 29 3B 0D . alfapatr(i);.
026AC0: 0A 09 09 20 20 69 66 20 6C 61 61 5B 69 5D 3C 3E ... if laa[i]<>
026AD0: 61 70 61 74 72 0D 0A 09 09 20 20 20 20 74 68 65 apatr.... the
026AE0: 6E 20 70 75 74 23 31 28 27 6C 61 61 20 66 61 69 n put#1('laa fai
026AF0: 6C 27 2C 69 23 29 0D 0A 09 09 20 20 20 20 65 6C l',i#).... el
026B00: 73 65 20 70 75 74 23 31 28 27 2E 27 29 20 65 6E se put#1('.') en
026B10: 64 3B 0D 0A 0D 0A 09 09 70 75 74 23 31 28 31 33 d;......put#1(13
026B20: 2C 31 30 2C 27 67 61 6C 66 61 61 72 79 27 29 3B ,10,'galfaary');
026B30: 0D 0A 09 09 66 6F 72 20 69 3A 3D 30 20 74 6F 20 ....for i:=0 to
026B40: 61 6D 61 78 20 64 6F 20 62 65 67 69 6E 0D 0A 09 amax do begin...
026B50: 09 20 20 70 75 74 23 31 28 27 2D 27 29 3B 0D 0A . put#1('-');..
026B60: 09 09 20 20 61 6C 66 61 70 61 74 72 28 69 29 3B .. alfapatr(i);
026B70: 20 67 61 61 5B 69 5D 3A 3D 61 70 61 74 72 20 65 gaa[i]:=apatr e
026B80: 6E 64 3B 0D 0A 09 09 66 6F 72 20 69 3A 3D 30 20 nd;....for i:=0
026B90: 74 6F 20 61 6D 61 78 20 64 6F 20 62 65 67 69 6E to amax do begin
026BA0: 0D 0A 09 09 20 20 61 6C 66 61 70 61 74 72 28 69 .... alfapatr(i
026BB0: 29 3B 0D 0A 09 09 20 20 69 66 20 67 61 61 5B 69 );.... if gaa[i
026BC0: 5D 3C 3E 61 70 61 74 72 0D 0A 09 09 20 20 20 20 ]<>apatr....
026BD0: 74 68 65 6E 20 70 75 74 23 31 28 27 67 61 61 20 then put#1('gaa
026BE0: 66 61 69 6C 27 2C 69 23 29 0D 0A 09 09 20 20 20 fail',i#)....
026BF0: 20 65 6C 73 65 20 70 75 74 23 31 28 27 2E 27 29 else put#1('.')
026C00: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
026C10: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
026C20: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
026C30: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
026C40: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
026C50: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
026C60: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
026C70: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
026C80: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
026C90: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
026CA0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
026CB0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
026CC0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
026CD0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
026CE0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
026CF0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
026D00: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
026D10: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
026D20: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
026D30: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
026D40: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
026D50: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
026D60: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
026D70: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
026D80: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
026D90: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
026DA0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
026DB0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
026DC0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
026DD0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
026DE0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
026DF0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
026E00: 20 65 6E 64 3B 0D 0A 09 09 70 75 74 23 31 28 31 end;....put#1(1
026E10: 33 2C 31 30 29 0D 0A 09 09 65 6E 64 3B 20 28 2A 3,10)....end; (*
026E20: 20 70 72 6F 63 65 64 75 72 65 20 61 6C 66 61 61 procedure alfaa
026E30: 72 79 20 2A 29 0D 0A 09 0D 0A 09 62 65 67 69 6E ry *)......begin
026E40: 20 28 2A 20 70 72 6F 63 65 64 75 72 65 20 61 72 (* procedure ar
026E50: 79 74 65 73 74 20 2A 29 0D 0A 09 77 6F 72 64 61 ytest *)...worda
026E60: 72 79 3B 0D 0A 09 61 6C 66 61 61 72 79 0D 0A 09 ry;...alfaary...
026E70: 65 6E 64 3B 20 28 2A 20 70 72 6F 63 65 64 75 72 end; (* procedur
026E80: 65 20 61 72 79 74 65 73 74 20 2A 29 0D 0A 0D 0A e arytest *)....
026E90: 62 65 67 69 6E 20 28 2A 20 6D 61 69 6E 20 6C 69 begin (* main li
026EA0: 6E 65 20 2A 29 0D 0A 66 6F 72 74 65 73 74 3B 0D ne *)..fortest;.
026EB0: 0A 72 65 70 74 74 65 73 74 3B 0D 0A 77 68 69 6C .repttest;..whil
026EC0: 74 65 73 74 3B 0D 0A 73 69 6D 70 76 61 72 3B 0D test;..simpvar;.
026ED0: 0A 61 72 79 74 65 73 74 0D 0A 65 6E 64 2E 0D 0A .arytest..end...
026EE0: 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A ................
026EF0: 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A ................
026F00: 73 65 20 70 75 74 23 31 28 27 2E 27 29 20 65 6E se put#1('.') en
026F10: 64 3B 0D 0A 0D 0A 09 09 70 75 74 23 31 28 31 33 d;......put#1(13
026F20: 2C 31 30 2C 27 67 61 6C 66 61 61 72 79 27 29 3B ,10,'galfaary');
026F30: 0D 0A 09 09 66 6F 72 20 69 3A 3D 30 20 74 6F 20 ....for i:=0 to
026F40: 61 6D 61 78 20 64 6F 20 62 65 67 69 6E 0D 0A 09 amax do begin...
026F50: 09 20 20 70 75 74 23 31 28 27 2D 27 29 3B 0D 0A . put#1('-');..
026F60: 09 09 20 20 61 6C 66 61 70 61 74 72 28 69 29 3B .. alfapatr(i);
026F70: 20 67 61 61 5B 69 5D 3A 3D 61 70 61 74 72 20 65 gaa[i]:=apatr e
026F80: 6E 64 3B 0D 0A 09 09 66 6F 72 20 69 3A 3D 30 20 nd;....for i:=0
026F90: 74 6F 20 61 6D 61 78 20 64 6F 20 62 65 67 69 6E to amax do begin
026FA0: 0D 0A 09 09 20 20 61 6C 66 61 70 61 74 72 28 69 .... alfapatr(i
026FB0: 29 3B 0D 0A 09 09 20 20 69 66 20 67 61 61 5B 69 );.... if gaa[i
026FC0: 5D 3C 3E 61 70 61 74 72 0D 0A 09 09 20 20 20 20 ]<>apatr....
026FD0: 74 68 65 6E 20 70 75 74 23 31 28 27 67 61 61 20 then put#1('gaa
026FE0: 66 61 69 6C 27 2C 69 23 29 0D 0A 09 09 20 20 20 fail',i#)....
026FF0: 20 65 6C 73 65 20 70 75 74 23 31 28 27 2E 27 29 else put#1('.')
027000: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
027010: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
027020: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
027030: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
027040: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
027050: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
027060: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
027070: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
027080: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
027090: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0270A0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0270B0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0270C0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0270D0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0270E0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0270F0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
027100: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
027110: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
027120: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
027130: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
027140: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
027150: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
027160: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
027170: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
027180: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
027190: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0271A0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0271B0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0271C0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0271D0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0271E0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0271F0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
027200: 70 70 63 20 70 70 63 2E 70 61 73 20 61 2E 70 63 ppc ppc.pas a.pc
027210: 6F 0D 0A 70 66 65 74 20 61 2E 70 63 6F 20 61 2E o..pfet a.pco a.
027220: 6F 63 6F 0D 0A 65 72 61 20 61 2E 70 63 6F 0D 0A oco..era a.pco..
027230: 70 69 70 20 70 70 63 6E 65 77 2E 63 6F 6D 3D 72 pip ppcnew.com=r
027240: 74 70 2E 63 6F 6D 2C 61 2E 6F 63 6F 5B 76 6F 0D tp.com,a.oco[vo.
027250: 0A 65 72 61 20 61 2E 6F 63 6F 0D 0A 70 70 63 20 .era a.oco..ppc
027260: 70 66 65 74 2E 70 61 73 20 61 2E 70 63 6F 0D 0A pfet.pas a.pco..
027270: 70 66 65 74 20 61 2E 70 63 6F 20 61 2E 6F 63 6F pfet a.pco a.oco
027280: 0D 0A 65 72 61 20 61 2E 70 63 6F 0D 0A 70 69 70 ..era a.pco..pip
027290: 20 70 66 65 74 6E 65 77 2E 63 6F 6D 3D 72 74 70 pfetnew.com=rtp
0272A0: 2E 63 6F 6D 2C 61 2E 6F 63 6F 5B 76 6F 0D 0A 65 .com,a.oco[vo..e
0272B0: 72 61 20 61 2E 6F 63 6F 0D 0A 70 70 63 6E 65 77 ra a.oco..ppcnew
0272C0: 20 70 70 63 2E 70 61 73 20 61 2E 70 63 6F 0D 0A ppc.pas a.pco..
0272D0: 70 66 65 74 6E 65 77 20 61 2E 70 63 6F 20 61 2E pfetnew a.pco a.
0272E0: 6F 63 6F 0D 0A 65 72 61 20 61 2E 70 63 6F 0D 0A oco..era a.pco..
0272F0: 70 69 70 20 70 70 63 73 65 6C 66 2E 63 6F 6D 3D pip ppcself.com=
027300: 72 74 70 2E 63 6F 6D 2C 61 2E 6F 63 6F 5B 76 6F rtp.com,a.oco[vo
027310: 0D 0A 65 72 61 20 61 2E 6F 63 6F 0D 0A 63 6F 6D ..era a.oco..com
027320: 70 61 72 65 20 70 70 63 73 65 6C 66 2E 63 6F 6D pare ppcself.com
027330: 20 70 70 63 6E 65 77 2E 63 6F 6D 0D 0A 70 70 63 ppcnew.com..ppc
027340: 6E 65 77 20 70 66 65 74 2E 70 61 73 20 61 2E 70 new pfet.pas a.p
027350: 63 6F 0D 0A 70 66 65 74 6E 65 77 20 61 2E 70 63 co..pfetnew a.pc
027360: 6F 20 61 2E 6F 63 6F 0D 0A 65 72 61 20 61 2E 70 o a.oco..era a.p
027370: 63 6F 0D 0A 70 69 70 20 70 66 65 74 73 65 6C 66 co..pip pfetself
027380: 2E 63 6F 6D 3D 72 74 70 2E 63 6F 6D 2C 61 2E 6F .com=rtp.com,a.o
027390: 63 6F 5B 76 6F 0D 0A 63 6F 6D 70 61 72 65 20 70 co[vo..compare p
0273A0: 66 65 74 73 65 6C 66 2E 63 6F 6D 20 70 66 65 74 fetself.com pfet
0273B0: 6E 65 77 2E 63 6F 6D 0D 0A 1A 1A 1A 1A 1A 1A 1A new.com.........
0273C0: 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A ................
0273D0: 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A ................
0273E0: 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A ................
0273F0: 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A ................
027400: 54 72 61 63 6B 2D 49 6E 66 6F 0D 0A 00 01 00 00 Track-Info......
027410: 21 00 00 00 02 09 4A E5 21 00 C1 02 00 00 00 02 !.....J.!.......
027420: 21 00 C6 02 00 00 00 02 21 00 C2 02 00 00 00 02 !.......!.......
027430: 21 00 C7 02 00 00 00 02 21 00 C3 02 00 00 00 02 !.......!.......
027440: 21 00 C8 02 00 00 00 02 21 00 C4 02 00 00 00 02 !.......!.......
027450: 21 00 C9 02 00 00 00 02 21 00 C5 02 00 00 00 02 !.......!.......
027460: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
027470: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
027480: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
027490: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0274A0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0274B0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0274C0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0274D0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0274E0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0274F0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
027500: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
027510: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
027520: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
027530: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
027540: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
027550: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
027560: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
027570: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
027580: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
027590: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0275A0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0275B0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0275C0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0275D0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0275E0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0275F0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
027600: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
027610: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
027620: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
027630: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
027640: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
027650: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
027660: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
027670: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
027680: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
027690: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0276A0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0276B0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0276C0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0276D0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0276E0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0276F0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
027700: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
027710: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
027720: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
027730: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
027740: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
027750: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
027760: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
027770: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
027780: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
027790: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0277A0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0277B0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0277C0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0277D0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0277E0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0277F0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
027800: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
027810: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
027820: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
027830: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
027840: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
027850: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
027860: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
027870: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
027880: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
027890: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0278A0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0278B0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0278C0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0278D0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0278E0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0278F0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
027900: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
027910: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
027920: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
027930: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
027940: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
027950: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
027960: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
027970: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
027980: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
027990: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0279A0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0279B0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0279C0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0279D0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0279E0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0279F0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
027A00: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
027A10: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
027A20: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
027A30: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
027A40: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
027A50: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
027A60: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
027A70: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
027A80: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
027A90: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
027AA0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
027AB0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
027AC0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
027AD0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
027AE0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
027AF0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
027B00: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
027B10: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
027B20: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
027B30: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
027B40: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
027B50: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
027B60: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
027B70: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
027B80: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
027B90: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
027BA0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
027BB0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
027BC0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
027BD0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
027BE0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
027BF0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
027C00: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
027C10: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
027C20: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
027C30: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
027C40: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
027C50: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
027C60: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
027C70: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
027C80: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
027C90: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
027CA0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
027CB0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
027CC0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
027CD0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
027CE0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
027CF0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
027D00: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
027D10: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
027D20: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
027D30: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
027D40: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
027D50: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
027D60: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
027D70: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
027D80: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
027D90: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
027DA0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
027DB0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
027DC0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
027DD0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
027DE0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
027DF0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
027E00: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
027E10: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
027E20: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
027E30: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
027E40: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
027E50: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
027E60: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
027E70: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
027E80: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
027E90: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
027EA0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
027EB0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
027EC0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
027ED0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
027EE0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
027EF0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
027F00: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
027F10: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
027F20: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
027F30: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
027F40: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
027F50: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
027F60: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
027F70: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
027F80: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
027F90: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
027FA0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
027FB0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
027FC0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
027FD0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
027FE0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
027FF0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
028000: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
028010: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
028020: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
028030: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
028040: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
028050: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
028060: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
028070: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
028080: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
028090: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0280A0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0280B0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0280C0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0280D0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0280E0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0280F0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
028100: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
028110: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
028120: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
028130: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
028140: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
028150: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
028160: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
028170: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
028180: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
028190: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0281A0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0281B0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0281C0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0281D0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0281E0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0281F0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
028200: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
028210: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
028220: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
028230: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
028240: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
028250: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
028260: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
028270: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
028280: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
028290: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0282A0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0282B0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0282C0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0282D0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0282E0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0282F0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
028300: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
028310: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
028320: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
028330: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
028340: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
028350: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
028360: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
028370: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
028380: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
028390: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0283A0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0283B0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0283C0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0283D0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0283E0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0283F0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
028400: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
028410: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
028420: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
028430: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
028440: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
028450: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
028460: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
028470: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
028480: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
028490: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0284A0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0284B0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0284C0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0284D0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0284E0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0284F0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
028500: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
028510: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
028520: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
028530: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
028540: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
028550: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
028560: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
028570: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
028580: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
028590: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0285A0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0285B0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0285C0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0285D0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0285E0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0285F0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
028600: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
028610: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
028620: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
028630: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
028640: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
028650: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
028660: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
028670: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
028680: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
028690: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0286A0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0286B0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0286C0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0286D0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0286E0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0286F0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
028700: 54 72 61 63 6B 2D 49 6E 66 6F 0D 0A 00 01 00 00 Track-Info......
028710: 22 00 00 00 02 09 4A E5 22 00 C1 02 00 00 00 02 ".....J.".......
028720: 22 00 C6 02 00 00 00 02 22 00 C2 02 00 00 00 02 ".......".......
028730: 22 00 C7 02 00 00 00 02 22 00 C3 02 00 00 00 02 ".......".......
028740: 22 00 C8 02 00 00 00 02 22 00 C4 02 00 00 00 02 ".......".......
028750: 22 00 C9 02 00 00 00 02 22 00 C5 02 00 00 00 02 ".......".......
028760: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
028770: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
028780: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
028790: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0287A0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0287B0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0287C0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0287D0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0287E0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0287F0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
028800: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
028810: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
028820: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
028830: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
028840: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
028850: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
028860: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
028870: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
028880: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
028890: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0288A0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0288B0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0288C0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0288D0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0288E0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0288F0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
028900: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
028910: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
028920: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
028930: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
028940: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
028950: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
028960: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
028970: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
028980: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
028990: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0289A0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0289B0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0289C0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0289D0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0289E0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0289F0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
028A00: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
028A10: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
028A20: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
028A30: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
028A40: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
028A50: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
028A60: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
028A70: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
028A80: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
028A90: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
028AA0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
028AB0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
028AC0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
028AD0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
028AE0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
028AF0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
028B00: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
028B10: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
028B20: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
028B30: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
028B40: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
028B50: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
028B60: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
028B70: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
028B80: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
028B90: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
028BA0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
028BB0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
028BC0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
028BD0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
028BE0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
028BF0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
028C00: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
028C10: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
028C20: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
028C30: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
028C40: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
028C50: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
028C60: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
028C70: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
028C80: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
028C90: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
028CA0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
028CB0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
028CC0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
028CD0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
028CE0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
028CF0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
028D00: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
028D10: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
028D20: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
028D30: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
028D40: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
028D50: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
028D60: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
028D70: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
028D80: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
028D90: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
028DA0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
028DB0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
028DC0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
028DD0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
028DE0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
028DF0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
028E00: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
028E10: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
028E20: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
028E30: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
028E40: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
028E50: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
028E60: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
028E70: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
028E80: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
028E90: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
028EA0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
028EB0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
028EC0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
028ED0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
028EE0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
028EF0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
028F00: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
028F10: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
028F20: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
028F30: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
028F40: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
028F50: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
028F60: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
028F70: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
028F80: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
028F90: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
028FA0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
028FB0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
028FC0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
028FD0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
028FE0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
028FF0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
029000: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
029010: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
029020: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
029030: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
029040: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
029050: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
029060: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
029070: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
029080: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
029090: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0290A0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0290B0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0290C0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0290D0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0290E0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0290F0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
029100: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
029110: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
029120: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
029130: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
029140: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
029150: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
029160: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
029170: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
029180: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
029190: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0291A0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0291B0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0291C0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0291D0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0291E0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0291F0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
029200: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
029210: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
029220: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
029230: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
029240: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
029250: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
029260: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
029270: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
029280: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
029290: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0292A0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0292B0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0292C0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0292D0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0292E0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0292F0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
029300: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
029310: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
029320: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
029330: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
029340: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
029350: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
029360: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
029370: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
029380: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
029390: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0293A0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0293B0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0293C0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0293D0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0293E0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0293F0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
029400: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
029410: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
029420: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
029430: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
029440: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
029450: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
029460: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
029470: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
029480: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
029490: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0294A0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0294B0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0294C0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0294D0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0294E0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0294F0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
029500: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
029510: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
029520: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
029530: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
029540: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
029550: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
029560: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
029570: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
029580: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
029590: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0295A0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0295B0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0295C0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0295D0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0295E0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0295F0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
029600: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
029610: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
029620: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
029630: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
029640: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
029650: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
029660: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
029670: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
029680: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
029690: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0296A0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0296B0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0296C0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0296D0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0296E0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0296F0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
029700: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
029710: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
029720: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
029730: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
029740: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
029750: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
029760: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
029770: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
029780: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
029790: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0297A0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0297B0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0297C0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0297D0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0297E0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0297F0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
029800: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
029810: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
029820: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
029830: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
029840: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
029850: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
029860: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
029870: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
029880: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
029890: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0298A0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0298B0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0298C0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0298D0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0298E0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0298F0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
029900: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
029910: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
029920: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
029930: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
029940: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
029950: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
029960: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
029970: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
029980: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
029990: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0299A0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0299B0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0299C0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0299D0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0299E0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0299F0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
029A00: 54 72 61 63 6B 2D 49 6E 66 6F 0D 0A 00 01 00 00 Track-Info......
029A10: 23 00 00 00 02 09 4B E5 23 00 C1 02 00 00 00 02 #.....K.#.......
029A20: 23 00 C6 02 00 00 00 02 23 00 C2 02 00 00 00 02 #.......#.......
029A30: 23 00 C7 02 00 00 00 02 23 00 C3 02 00 00 00 02 #.......#.......
029A40: 23 00 C8 02 00 00 00 02 23 00 C4 02 00 00 00 02 #.......#.......
029A50: 23 00 C9 02 00 00 00 02 23 00 C5 02 00 00 00 02 #.......#.......
029A60: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
029A70: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
029A80: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
029A90: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
029AA0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
029AB0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
029AC0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
029AD0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
029AE0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
029AF0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
029B00: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
029B10: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
029B20: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
029B30: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
029B40: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
029B50: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
029B60: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
029B70: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
029B80: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
029B90: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
029BA0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
029BB0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
029BC0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
029BD0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
029BE0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
029BF0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
029C00: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
029C10: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
029C20: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
029C30: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
029C40: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
029C50: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
029C60: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
029C70: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
029C80: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
029C90: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
029CA0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
029CB0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
029CC0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
029CD0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
029CE0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
029CF0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
029D00: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
029D10: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
029D20: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
029D30: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
029D40: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
029D50: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
029D60: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
029D70: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
029D80: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
029D90: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
029DA0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
029DB0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
029DC0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
029DD0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
029DE0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
029DF0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
029E00: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
029E10: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
029E20: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
029E30: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
029E40: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
029E50: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
029E60: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
029E70: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
029E80: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
029E90: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
029EA0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
029EB0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
029EC0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
029ED0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
029EE0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
029EF0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
029F00: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
029F10: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
029F20: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
029F30: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
029F40: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
029F50: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
029F60: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
029F70: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
029F80: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
029F90: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
029FA0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
029FB0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
029FC0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
029FD0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
029FE0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
029FF0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02A000: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02A010: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02A020: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02A030: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02A040: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02A050: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02A060: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02A070: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02A080: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02A090: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02A0A0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02A0B0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02A0C0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02A0D0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02A0E0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02A0F0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02A100: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02A110: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02A120: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02A130: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02A140: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02A150: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02A160: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02A170: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02A180: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02A190: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02A1A0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02A1B0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02A1C0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02A1D0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02A1E0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02A1F0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02A200: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02A210: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02A220: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02A230: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02A240: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02A250: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02A260: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02A270: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02A280: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02A290: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02A2A0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02A2B0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02A2C0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02A2D0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02A2E0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02A2F0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02A300: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02A310: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02A320: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02A330: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02A340: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02A350: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02A360: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02A370: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02A380: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02A390: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02A3A0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02A3B0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02A3C0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02A3D0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02A3E0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02A3F0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02A400: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02A410: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02A420: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02A430: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02A440: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02A450: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02A460: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02A470: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02A480: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02A490: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02A4A0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02A4B0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02A4C0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02A4D0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02A4E0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02A4F0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02A500: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02A510: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02A520: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02A530: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02A540: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02A550: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02A560: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02A570: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02A580: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02A590: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02A5A0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02A5B0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02A5C0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02A5D0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02A5E0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02A5F0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02A600: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02A610: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02A620: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02A630: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02A640: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02A650: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02A660: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02A670: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02A680: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02A690: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02A6A0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02A6B0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02A6C0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02A6D0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02A6E0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02A6F0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02A700: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02A710: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02A720: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02A730: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02A740: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02A750: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02A760: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02A770: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02A780: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02A790: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02A7A0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02A7B0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02A7C0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02A7D0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02A7E0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02A7F0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02A800: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02A810: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02A820: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02A830: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02A840: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02A850: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02A860: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02A870: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02A880: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02A890: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02A8A0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02A8B0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02A8C0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02A8D0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02A8E0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02A8F0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02A900: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02A910: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02A920: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02A930: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02A940: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02A950: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02A960: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02A970: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02A980: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02A990: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02A9A0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02A9B0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02A9C0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02A9D0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02A9E0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02A9F0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02AA00: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02AA10: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02AA20: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02AA30: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02AA40: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02AA50: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02AA60: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02AA70: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02AA80: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02AA90: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02AAA0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02AAB0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02AAC0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02AAD0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02AAE0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02AAF0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02AB00: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02AB10: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02AB20: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02AB30: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02AB40: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02AB50: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02AB60: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02AB70: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02AB80: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02AB90: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02ABA0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02ABB0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02ABC0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02ABD0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02ABE0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02ABF0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02AC00: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02AC10: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02AC20: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02AC30: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02AC40: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02AC50: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02AC60: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02AC70: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02AC80: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02AC90: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02ACA0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02ACB0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02ACC0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02ACD0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02ACE0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02ACF0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02AD00: 54 72 61 63 6B 2D 49 6E 66 6F 0D 0A 00 01 00 00 Track-Info......
02AD10: 24 00 00 00 02 09 4B E5 24 00 C1 02 00 00 00 02 $.....K.$.......
02AD20: 24 00 C6 02 00 00 00 02 24 00 C2 02 00 00 00 02 $.......$.......
02AD30: 24 00 C7 02 00 00 00 02 24 00 C3 02 00 00 00 02 $.......$.......
02AD40: 24 00 C8 02 00 00 00 02 24 00 C4 02 00 00 00 02 $.......$.......
02AD50: 24 00 C9 02 00 00 00 02 24 00 C5 02 00 00 00 02 $.......$.......
02AD60: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
02AD70: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
02AD80: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
02AD90: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
02ADA0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
02ADB0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
02ADC0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
02ADD0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
02ADE0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
02ADF0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
02AE00: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02AE10: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02AE20: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02AE30: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02AE40: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02AE50: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02AE60: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02AE70: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02AE80: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02AE90: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02AEA0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02AEB0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02AEC0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02AED0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02AEE0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02AEF0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02AF00: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02AF10: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02AF20: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02AF30: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02AF40: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02AF50: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02AF60: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02AF70: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02AF80: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02AF90: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02AFA0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02AFB0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02AFC0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02AFD0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02AFE0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02AFF0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02B000: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02B010: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02B020: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02B030: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02B040: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02B050: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02B060: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02B070: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02B080: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02B090: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02B0A0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02B0B0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02B0C0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02B0D0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02B0E0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02B0F0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02B100: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02B110: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02B120: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02B130: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02B140: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02B150: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02B160: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02B170: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02B180: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02B190: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02B1A0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02B1B0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02B1C0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02B1D0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02B1E0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02B1F0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02B200: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02B210: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02B220: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02B230: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02B240: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02B250: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02B260: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02B270: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02B280: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02B290: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02B2A0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02B2B0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02B2C0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02B2D0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02B2E0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02B2F0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02B300: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02B310: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02B320: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02B330: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02B340: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02B350: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02B360: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02B370: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02B380: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02B390: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02B3A0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02B3B0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02B3C0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02B3D0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02B3E0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02B3F0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02B400: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02B410: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02B420: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02B430: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02B440: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02B450: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02B460: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02B470: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02B480: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02B490: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02B4A0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02B4B0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02B4C0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02B4D0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02B4E0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02B4F0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02B500: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02B510: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02B520: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02B530: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02B540: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02B550: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02B560: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02B570: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02B580: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02B590: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02B5A0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02B5B0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02B5C0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02B5D0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02B5E0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02B5F0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02B600: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02B610: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02B620: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02B630: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02B640: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02B650: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02B660: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02B670: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02B680: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02B690: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02B6A0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02B6B0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02B6C0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02B6D0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02B6E0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02B6F0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02B700: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02B710: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02B720: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02B730: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02B740: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02B750: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02B760: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02B770: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02B780: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02B790: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02B7A0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02B7B0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02B7C0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02B7D0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02B7E0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02B7F0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02B800: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02B810: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02B820: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02B830: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02B840: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02B850: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02B860: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02B870: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02B880: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02B890: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02B8A0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02B8B0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02B8C0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02B8D0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02B8E0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02B8F0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02B900: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02B910: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02B920: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02B930: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02B940: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02B950: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02B960: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02B970: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02B980: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02B990: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02B9A0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02B9B0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02B9C0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02B9D0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02B9E0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02B9F0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02BA00: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02BA10: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02BA20: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02BA30: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02BA40: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02BA50: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02BA60: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02BA70: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02BA80: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02BA90: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02BAA0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02BAB0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02BAC0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02BAD0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02BAE0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02BAF0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02BB00: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02BB10: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02BB20: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02BB30: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02BB40: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02BB50: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02BB60: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02BB70: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02BB80: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02BB90: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02BBA0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02BBB0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02BBC0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02BBD0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02BBE0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02BBF0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02BC00: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02BC10: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02BC20: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02BC30: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02BC40: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02BC50: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02BC60: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02BC70: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02BC80: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02BC90: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02BCA0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02BCB0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02BCC0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02BCD0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02BCE0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02BCF0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02BD00: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02BD10: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02BD20: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02BD30: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02BD40: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02BD50: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02BD60: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02BD70: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02BD80: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02BD90: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02BDA0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02BDB0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02BDC0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02BDD0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02BDE0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02BDF0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02BE00: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02BE10: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02BE20: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02BE30: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02BE40: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02BE50: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02BE60: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02BE70: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02BE80: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02BE90: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02BEA0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02BEB0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02BEC0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02BED0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02BEE0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02BEF0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02BF00: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02BF10: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02BF20: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02BF30: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02BF40: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02BF50: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02BF60: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02BF70: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02BF80: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02BF90: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02BFA0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02BFB0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02BFC0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02BFD0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02BFE0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02BFF0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02C000: 54 72 61 63 6B 2D 49 6E 66 6F 0D 0A 00 01 00 00 Track-Info......
02C010: 25 00 00 00 02 09 4A E5 25 00 C1 02 00 00 00 02 %.....J.%.......
02C020: 25 00 C6 02 00 00 00 02 25 00 C2 02 00 00 00 02 %.......%.......
02C030: 25 00 C7 02 00 00 00 02 25 00 C3 02 00 00 00 02 %.......%.......
02C040: 25 00 C8 02 00 00 00 02 25 00 C4 02 00 00 00 02 %.......%.......
02C050: 25 00 C9 02 00 00 00 02 25 00 C5 02 00 00 00 02 %.......%.......
02C060: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
02C070: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
02C080: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
02C090: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
02C0A0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
02C0B0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
02C0C0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
02C0D0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
02C0E0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
02C0F0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
02C100: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02C110: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02C120: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02C130: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02C140: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02C150: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02C160: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02C170: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02C180: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02C190: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02C1A0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02C1B0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02C1C0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02C1D0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02C1E0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02C1F0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02C200: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02C210: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02C220: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02C230: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02C240: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02C250: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02C260: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02C270: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02C280: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02C290: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02C2A0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02C2B0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02C2C0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02C2D0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02C2E0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02C2F0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02C300: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02C310: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02C320: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02C330: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02C340: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02C350: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02C360: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02C370: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02C380: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02C390: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02C3A0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02C3B0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02C3C0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02C3D0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02C3E0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02C3F0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02C400: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02C410: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02C420: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02C430: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02C440: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02C450: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02C460: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02C470: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02C480: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02C490: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02C4A0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02C4B0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02C4C0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02C4D0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02C4E0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02C4F0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02C500: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02C510: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02C520: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02C530: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02C540: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02C550: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02C560: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02C570: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02C580: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02C590: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02C5A0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02C5B0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02C5C0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02C5D0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02C5E0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02C5F0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02C600: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02C610: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02C620: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02C630: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02C640: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02C650: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02C660: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02C670: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02C680: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02C690: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02C6A0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02C6B0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02C6C0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02C6D0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02C6E0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02C6F0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02C700: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02C710: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02C720: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02C730: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02C740: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02C750: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02C760: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02C770: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02C780: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02C790: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02C7A0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02C7B0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02C7C0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02C7D0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02C7E0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02C7F0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02C800: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02C810: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02C820: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02C830: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02C840: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02C850: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02C860: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02C870: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02C880: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02C890: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02C8A0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02C8B0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02C8C0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02C8D0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02C8E0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02C8F0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02C900: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02C910: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02C920: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02C930: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02C940: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02C950: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02C960: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02C970: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02C980: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02C990: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02C9A0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02C9B0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02C9C0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02C9D0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02C9E0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02C9F0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02CA00: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02CA10: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02CA20: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02CA30: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02CA40: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02CA50: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02CA60: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02CA70: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02CA80: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02CA90: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02CAA0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02CAB0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02CAC0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02CAD0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02CAE0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02CAF0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02CB00: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02CB10: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02CB20: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02CB30: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02CB40: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02CB50: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02CB60: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02CB70: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02CB80: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02CB90: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02CBA0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02CBB0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02CBC0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02CBD0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02CBE0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02CBF0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02CC00: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02CC10: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02CC20: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02CC30: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02CC40: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02CC50: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02CC60: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02CC70: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02CC80: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02CC90: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02CCA0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02CCB0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02CCC0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02CCD0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02CCE0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02CCF0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02CD00: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02CD10: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02CD20: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02CD30: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02CD40: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02CD50: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02CD60: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02CD70: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02CD80: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02CD90: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02CDA0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02CDB0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02CDC0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02CDD0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02CDE0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02CDF0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02CE00: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02CE10: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02CE20: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02CE30: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02CE40: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02CE50: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02CE60: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02CE70: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02CE80: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02CE90: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02CEA0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02CEB0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02CEC0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02CED0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02CEE0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02CEF0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02CF00: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02CF10: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02CF20: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02CF30: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02CF40: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02CF50: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02CF60: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02CF70: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02CF80: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02CF90: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02CFA0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02CFB0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02CFC0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02CFD0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02CFE0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02CFF0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02D000: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02D010: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02D020: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02D030: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02D040: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02D050: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02D060: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02D070: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02D080: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02D090: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02D0A0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02D0B0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02D0C0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02D0D0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02D0E0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02D0F0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02D100: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02D110: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02D120: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02D130: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02D140: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02D150: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02D160: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02D170: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02D180: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02D190: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02D1A0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02D1B0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02D1C0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02D1D0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02D1E0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02D1F0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02D200: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02D210: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02D220: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02D230: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02D240: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02D250: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02D260: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02D270: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02D280: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02D290: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02D2A0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02D2B0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02D2C0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02D2D0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02D2E0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02D2F0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02D300: 54 72 61 63 6B 2D 49 6E 66 6F 0D 0A 00 01 00 00 Track-Info......
02D310: 26 00 00 00 02 09 4A E5 26 00 C1 02 00 00 00 02 &.....J.&.......
02D320: 26 00 C6 02 00 00 00 02 26 00 C2 02 00 00 00 02 &.......&.......
02D330: 26 00 C7 02 00 00 00 02 26 00 C3 02 00 00 00 02 &.......&.......
02D340: 26 00 C8 02 00 00 00 02 26 00 C4 02 00 00 00 02 &.......&.......
02D350: 26 00 C9 02 00 00 00 02 26 00 C5 02 00 00 00 02 &.......&.......
02D360: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
02D370: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
02D380: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
02D390: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
02D3A0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
02D3B0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
02D3C0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
02D3D0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
02D3E0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
02D3F0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
02D400: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02D410: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02D420: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02D430: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02D440: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02D450: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02D460: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02D470: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02D480: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02D490: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02D4A0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02D4B0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02D4C0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02D4D0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02D4E0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02D4F0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02D500: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02D510: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02D520: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02D530: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02D540: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02D550: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02D560: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02D570: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02D580: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02D590: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02D5A0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02D5B0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02D5C0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02D5D0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02D5E0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02D5F0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02D600: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02D610: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02D620: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02D630: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02D640: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02D650: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02D660: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02D670: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02D680: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02D690: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02D6A0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02D6B0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02D6C0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02D6D0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02D6E0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02D6F0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02D700: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02D710: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02D720: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02D730: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02D740: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02D750: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02D760: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02D770: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02D780: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02D790: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02D7A0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02D7B0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02D7C0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02D7D0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02D7E0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02D7F0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02D800: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02D810: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02D820: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02D830: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02D840: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02D850: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02D860: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02D870: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02D880: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02D890: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02D8A0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02D8B0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02D8C0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02D8D0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02D8E0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02D8F0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02D900: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02D910: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02D920: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02D930: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02D940: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02D950: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02D960: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02D970: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02D980: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02D990: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02D9A0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02D9B0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02D9C0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02D9D0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02D9E0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02D9F0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02DA00: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02DA10: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02DA20: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02DA30: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02DA40: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02DA50: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02DA60: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02DA70: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02DA80: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02DA90: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02DAA0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02DAB0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02DAC0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02DAD0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02DAE0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02DAF0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02DB00: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02DB10: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02DB20: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02DB30: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02DB40: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02DB50: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02DB60: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02DB70: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02DB80: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02DB90: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02DBA0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02DBB0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02DBC0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02DBD0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02DBE0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02DBF0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02DC00: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02DC10: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02DC20: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02DC30: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02DC40: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02DC50: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02DC60: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02DC70: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02DC80: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02DC90: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02DCA0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02DCB0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02DCC0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02DCD0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02DCE0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02DCF0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02DD00: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02DD10: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02DD20: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02DD30: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02DD40: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02DD50: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02DD60: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02DD70: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02DD80: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02DD90: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02DDA0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02DDB0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02DDC0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02DDD0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02DDE0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02DDF0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02DE00: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02DE10: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02DE20: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02DE30: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02DE40: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02DE50: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02DE60: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02DE70: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02DE80: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02DE90: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02DEA0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02DEB0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02DEC0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02DED0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02DEE0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02DEF0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02DF00: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02DF10: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02DF20: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02DF30: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02DF40: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02DF50: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02DF60: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02DF70: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02DF80: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02DF90: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02DFA0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02DFB0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02DFC0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02DFD0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02DFE0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02DFF0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02E000: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02E010: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02E020: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02E030: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02E040: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02E050: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02E060: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02E070: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02E080: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02E090: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02E0A0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02E0B0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02E0C0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02E0D0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02E0E0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02E0F0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02E100: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02E110: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02E120: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02E130: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02E140: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02E150: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02E160: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02E170: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02E180: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02E190: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02E1A0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02E1B0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02E1C0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02E1D0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02E1E0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02E1F0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02E200: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02E210: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02E220: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02E230: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02E240: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02E250: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02E260: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02E270: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02E280: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02E290: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02E2A0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02E2B0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02E2C0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02E2D0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02E2E0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02E2F0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02E300: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02E310: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02E320: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02E330: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02E340: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02E350: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02E360: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02E370: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02E380: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02E390: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02E3A0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02E3B0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02E3C0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02E3D0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02E3E0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02E3F0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02E400: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02E410: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02E420: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02E430: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02E440: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02E450: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02E460: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02E470: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02E480: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02E490: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02E4A0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02E4B0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02E4C0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02E4D0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02E4E0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02E4F0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02E500: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02E510: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02E520: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02E530: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02E540: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02E550: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02E560: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02E570: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02E580: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02E590: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02E5A0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02E5B0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02E5C0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02E5D0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02E5E0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02E5F0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02E600: 54 72 61 63 6B 2D 49 6E 66 6F 0D 0A 00 01 00 00 Track-Info......
02E610: 27 00 00 00 02 09 4B E5 27 00 C1 02 00 00 00 02 '.....K.'.......
02E620: 27 00 C6 02 00 00 00 02 27 00 C2 02 00 00 00 02 '.......'.......
02E630: 27 00 C7 02 00 00 00 02 27 00 C3 02 00 00 00 02 '.......'.......
02E640: 27 00 C8 02 00 00 00 02 27 00 C4 02 00 00 00 02 '.......'.......
02E650: 27 00 C9 02 00 00 00 02 27 00 C5 02 00 00 00 02 '.......'.......
02E660: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
02E670: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
02E680: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
02E690: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
02E6A0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
02E6B0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
02E6C0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
02E6D0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
02E6E0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
02E6F0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
02E700: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02E710: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02E720: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02E730: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02E740: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02E750: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02E760: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02E770: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02E780: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02E790: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02E7A0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02E7B0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02E7C0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02E7D0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02E7E0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02E7F0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02E800: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02E810: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02E820: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02E830: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02E840: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02E850: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02E860: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02E870: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02E880: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02E890: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02E8A0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02E8B0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02E8C0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02E8D0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02E8E0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02E8F0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02E900: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02E910: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02E920: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02E930: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02E940: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02E950: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02E960: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02E970: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02E980: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02E990: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02E9A0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02E9B0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02E9C0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02E9D0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02E9E0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02E9F0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02EA00: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02EA10: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02EA20: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02EA30: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02EA40: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02EA50: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02EA60: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02EA70: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02EA80: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02EA90: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02EAA0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02EAB0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02EAC0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02EAD0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02EAE0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02EAF0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02EB00: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02EB10: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02EB20: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02EB30: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02EB40: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02EB50: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02EB60: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02EB70: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02EB80: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02EB90: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02EBA0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02EBB0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02EBC0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02EBD0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02EBE0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02EBF0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02EC00: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02EC10: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02EC20: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02EC30: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02EC40: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02EC50: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02EC60: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02EC70: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02EC80: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02EC90: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02ECA0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02ECB0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02ECC0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02ECD0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02ECE0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02ECF0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02ED00: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02ED10: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02ED20: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02ED30: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02ED40: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02ED50: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02ED60: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02ED70: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02ED80: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02ED90: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02EDA0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02EDB0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02EDC0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02EDD0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02EDE0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02EDF0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02EE00: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02EE10: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02EE20: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02EE30: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02EE40: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02EE50: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02EE60: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02EE70: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02EE80: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02EE90: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02EEA0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02EEB0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02EEC0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02EED0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02EEE0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02EEF0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02EF00: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02EF10: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02EF20: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02EF30: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02EF40: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02EF50: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02EF60: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02EF70: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02EF80: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02EF90: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02EFA0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02EFB0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02EFC0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02EFD0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02EFE0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02EFF0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02F000: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02F010: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02F020: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02F030: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02F040: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02F050: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02F060: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02F070: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02F080: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02F090: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02F0A0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02F0B0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02F0C0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02F0D0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02F0E0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02F0F0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02F100: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02F110: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02F120: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02F130: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02F140: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02F150: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02F160: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02F170: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02F180: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02F190: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02F1A0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02F1B0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02F1C0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02F1D0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02F1E0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02F1F0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02F200: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02F210: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02F220: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02F230: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02F240: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02F250: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02F260: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02F270: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02F280: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02F290: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02F2A0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02F2B0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02F2C0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02F2D0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02F2E0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02F2F0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02F300: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02F310: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02F320: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02F330: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02F340: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02F350: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02F360: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02F370: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02F380: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02F390: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02F3A0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02F3B0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02F3C0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02F3D0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02F3E0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02F3F0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02F400: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02F410: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02F420: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02F430: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02F440: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02F450: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02F460: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02F470: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02F480: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02F490: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02F4A0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02F4B0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02F4C0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02F4D0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02F4E0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02F4F0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02F500: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02F510: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02F520: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02F530: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02F540: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02F550: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02F560: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02F570: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02F580: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02F590: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02F5A0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02F5B0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02F5C0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02F5D0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02F5E0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02F5F0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02F600: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02F610: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02F620: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02F630: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02F640: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02F650: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02F660: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02F670: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02F680: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02F690: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02F6A0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02F6B0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02F6C0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02F6D0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02F6E0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02F6F0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02F700: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02F710: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02F720: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02F730: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02F740: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02F750: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02F760: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02F770: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02F780: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02F790: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02F7A0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02F7B0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02F7C0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02F7D0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02F7E0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02F7F0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02F800: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02F810: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02F820: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02F830: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02F840: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02F850: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02F860: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02F870: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02F880: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02F890: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02F8A0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02F8B0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02F8C0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02F8D0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02F8E0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02F8F0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02F900: 4F 66 66 73 65 74 2D 49 6E 66 6F 0D 0A 00 00 F4 Offset-Info.....
02F910: 17 A3 00 2B 03 B2 05 39 08 C1 0A 4B 0D D5 0F 5F .£.+...9...K..._
02F920: 12 E9 14 F1 17 A4 00 2C 03 B4 05 3B 08 C2 0A 4A .......,...;...J
02F930: 0D D3 0F 5C 12 E6 14 EC 17 A3 00 2B 03 B2 05 39 ...\.....£.+...9
02F940: 08 C0 0A 48 0D CF 0F 56 12 DF 14 F4 17 A2 00 29 ...H...V.......)
02F950: 03 B0 05 37 08 BD 0A 45 0D CE 0F 58 12 E0 14 F2 ...7...E...X....
02F960: 17 A5 00 2C 03 B3 05 3A 08 C2 0A 4A 0D D4 0F 5D ...,...:...J...]
02F970: 12 E7 14 F1 17 A3 00 2C 03 B3 05 3A 08 C3 0A 4B .....£.,...:...K
02F980: 0D D4 0F 5C 12 E6 14 ED 17 A3 00 2C 03 B4 05 3B ...\.....£.,...;
02F990: 08 C2 0A 4A 0D D2 0F 5A 12 E2 14 EC 17 A4 00 30 ...J...Z.......0
02F9A0: 03 B1 05 39 08 BF 0A 47 0D CE 0F 58 12 E0 14 EC ...9...G...X....
02F9B0: 17 A5 00 2A 03 B0 05 37 08 BF 0A 47 0D D0 0F 5A ...*...7...G...Z
02F9C0: 12 E3 14 F1 17 A4 00 2D 03 B4 05 3C 08 C4 0A 4C .......-...<...L
02F9D0: 0D D5 0F 5F 12 E9 14 ED 17 A3 00 2B 03 B3 05 3B ..._.....£.+...;
02F9E0: 08 C4 0A 4C 0D D4 0F 5C 12 E4 14 EC 17 A4 00 2C ...L...\.......,
02F9F0: 03 B4 05 3A 08 C1 0A 48 0D D1 0F 5A 12 E2 14 EA ...:...H...Z....
02FA00: 17 A3 00 2A 03 B1 05 37 08 BE 0A 46 0D CF 0F 59 .£.*...7...F...Y
02FA10: 12 E3 14 EF 17 A4 00 2E 03 B5 05 3C 08 C5 0A 4E ...........<...N
02FA20: 0D D6 0F 60 12 EA 14 EF 17 A4 00 2D 03 B5 05 3F ...`.......-...?
02FA30: 08 C6 0A 4F 0D D8 0F 60 12 E9 14 EA 17 A5 00 2D ...O...`.......-
02FA40: 03 B5 05 3B 08 C3 0A 4C 0D D9 0F 5D 12 E6 14 E9 ...;...L...]....
02FA50: 17 A4 00 2C 03 B1 05 38 08 BF 0A 48 0D D1 0F 5A ...,...8...H...Z
02FA60: 12 E5 14 EF 17 A3 00 2C 03 B4 05 3B 08 C4 0A 4C .....£.,...;...L
02FA70: 0D D6 0F 5F 12 E9 14 EE 17 A4 00 2D 03 B4 05 3D ..._.......-...=
02FA80: 08 C7 0A 50 0D D8 0F 62 12 EB 14 E9 17 A5 00 2D ...P...b.......-
02FA90: 03 B5 05 3C 08 C5 0A 4D 0D D6 0F 5F 12 E8 14 E7 ...<...M..._....
02FAA0: 17 A3 00 2C 03 B1 05 39 08 BF 0A 47 0D D0 0F 5A .£.,...9...G...Z
02FAB0: 12 E4 14 EB 17 A5 00 2D 03 B4 05 3C 08 C5 0A 4E .......-...<...N
02FAC0: 0D D6 0F 5F 12 E9 14 ED 17 A5 00 2F 03 B7 05 40 ..._......./...@
02FAD0: 08 C9 0A 57 0D DD 0F 66 12 EE 14 E7 17 A5 00 2E ...W...f........
02FAE0: 03 B6 05 3F 08 C7 0A 50 0D D8 0F 62 12 EB 14 E4 ...?...P...b....
02FAF0: 17 A4 00 2C 03 B2 05 3A 08 C0 0A 48 0D D0 0F 58 ...,...:...H...X
02FB00: 12 E2 14 E9 17 A4 00 2B 03 B3 05 3A 08 C2 0A 4C .......+...:...L
02FB10: 0D D6 0F 5F 12 E9 14 ED 17 A5 00 2F 03 B8 05 40 ..._......./...@
02FB20: 08 C9 0A 54 0D DE 0F 68 12 F3 14 DC 17 AB 00 2E ...T...h........
02FB30: 03 B5 05 3E 08 C6 0A 4F 0D D7 0F 60 12 E8 14 E1 ...>...O...`....
02FB40: 17 A5 00 2D 03 B9 05 3B 08 C1 0A 49 0D D1 0F 5A ...-...;...I...Z
02FB50: 12 E4 14 E8 17 A5 00 2D 03 B4 05 3C 08 C5 0A 4E .......-...<...N
02FB60: 0D D8 0F 62 12 ED 14 EB 17 A6 00 2F 03 B8 05 41 ...b......./...A
02FB70: 08 CC 0A 54 0D DE 0F 69 12 F3 14 E5 17 A5 00 2E ...T...i........
02FB80: 03 B6 05 3E 08 C7 0A 4F 0D D9 0F 66 12 EB 14 EA ...>...O...f....
02FB90: 17 A6 00 30 03 B8 05 40 08 C9 0A 54 0D DE 0F 69 ...0...@...T...i
02FBA0: 12 F4 14 E1 17 A4 00 2E 03 BB 05 3E 08 C6 0A 4E ...........>...N
02FBB0: 0D D7 0F 60 12 E9 14 DF 17 A4 00 30 03 B4 05 3B ...`.......0...;
02FBC0: 08 C2 0A 4A 0D D2 0F 5B 12 E7 14 E6 17 A5 00 2D ...J...[.......-
02FBD0: 03 B4 05 3C 08 C6 0A 51 0D DA 0F 65 12 F1 14 E7 ...<...Q...e....
02FBE0: 17 A4 00 2E 03 B6 05 3E 08 C7 0A 51 0D DC 0F 66 .......>...Q...f
02FBF0: 12 F0 14 E0 17 A4 00 2D 03 B5 05 3E 08 C6 0A 4E .......-...>...N
02FC00: 0D D7 0F 60 12 EA 14 DD 17 A5 00 2D 03 B5 05 3D ...`.......-...=
02FC10: 08 C4 0A 4C 0D D4 0F 5E 12 E7 14 E3 17 A4 00 2C ...L...^.......,
02FC20: 03 B4 05 3C 08 C5 0A 4F 0D DA 0F 64 12 EF 14 F2 ...<...O...d....
02FC30: 0B F2 0B F2 0B .....
RESULT OF SEARCH :
PRO=227 CHEA=0 COD=70 MUSI=0 COP=11 GRA=36 WRIT=18 198=1 199=1 STARTER=0 KBI=0 CAAV=0 L.TOURNIER=0
EXTENDED CPC DSK File SAMdisk130107+ JDEMO1 PASDEMO2 PASDEMO3 PASDEMO4
PASDISC BASEQ PAS FWD PASHW5 PASr HW5DATA PASYNTAXDOC0 !"P
C SUB#PFET COM6$%&'()*PFET PASW+,-./012345PLAYDATA 6PLAYKAL PASb789
ABCPOPS DOCDEop start *) put#1(i#,13,10) (* put is the same at writ
e *) (* 13 & 10 are carriage return & line feed *)
ii+1 (* increase variable counter *) until i10 (* lo
op end *) end (* end of procedure called 'counter' *) beg
in (* main programme *) counter (* call the de
clared procedure 'counter' *) end. (* end of the programme *
) count on the VDU screen please nPOWTWO PASFPPC COMGHIJKLMNOPQRSTUV
PPC COMPPC DOCNWXYZPPC PASabcdefghijklmnopPPC PASNqrstuvwxyzPSTA
CK DOCREGEN DOCRTP ASMVRTP COM STIRLINGPASTESTER PASVALIDATESUB(*
DEMO2.PAS the counter routine from demo1 plus a simple routi
ne which uses the for..to routine to display text on the VDU screen *) pr
ocedure counter (* as explained in demo1.pas *) var i word begin
i1 repeat put#1(i#,13,10) ii+1
until i10 end procedure displaytext (* declare another procedure called
'displaytext' *) (* which demonstrates the for..to loop
*) var x word begin for x1 to 10 do put#1('fred ',13,10)
end begin (* main program loop *) counter (* perform th
e procedure called 'counter' *) displaytext (* ditto for 'displaytext' *)
end. utine to displa repeat put#1(i#,13,10) ii+1
until i10 end procedure displaytext (* declare another
procedure called 'displaytext' *) (* which demonstrates
the for..to loop *) var x (* DEMO3.PAS more bits that have been a
dded to the program, this time we've added some control codes. These are used
in exactly the same way as outlined in your computer manual. The codes
in this program are the CP/M v2.2 control codes, these can easily altered for
CP/M v3.1 (plus) *) procedure counter (* as explained in demo1.pas *)
var i word begin i1 repeat put#1(i#,13,10)
ii+1 until i10 end proc(* DEMO1.PAS a simp
le count routine which counts from 1 to 10 and displays the count on the VDU
screen please note that comments are placed within the bracket, which must
be followed by the 'splat' I will add additional routines to this exampl
e programme along with comments on what is happening *) procedure count
er (* declare a procedure called 'counter' *) var i word begin
i1 (* set variable to 1 *) repeat (* lo
Jedure displayfred (* declare another procedure called 'displayfred' *)
(* which demonstrates the for..to loop *) var x word
begin for x1 to 10 do put#1('fred ',13,10) end procedure pres
skey (* new procedure 'presskey' *) var inkey word (* declare a va
riable *) begin put#1('Press an','y key to',' continu','e ')
(* Please Note when using the PUT command, you can only output a
maximum of 8 chand procedure continue (* a variation on press a ke
y *) var inkey integer (* if you want to use a 'variable' within
a procedure then the variable must be declared as 1. Part of the pr
ocedure decleration (as in this case) 2. Declared as a variable at the star
t of the program *) begin put#1('press a ','key ') get#1
(inkey) end begin (* main program loop *) cou
nter (* counter routine *) racters in a 'string', if you want
more than 8 characters of text then you must use several strings,
ie PUT#1('string','string','string') *) get#1(inkey)
(* get a keypress *) put#1(12) (* clear the VDU screen *)
end begin (* main program loop *) counter (* counter routi
ne *) presskey (* press a key to continue *) displayfred (* display f
red routine *) presskey (* press a key to continue *) end. presske
y (* press a key to continue *) displayfred (* d
isplay fred routine *) presskey (* press a key to continue *)
mode0 (* change mode to 0 *) put#1('Mode 0 ',13,10,10
) continue (* wait for a key press *) mode1 put#1('Mode
1 ',13,10,10) continue mode2 put#1('Mode 2 ',13,10,10) continue
end. (* end of main program loop *) ontrol codes. Th
ese are useDISC BASp//T any key to continue..... o c# WACCI COPYRIGHT NOTI
CE 1994 " WACCI HOMEGROWN SOFTWARE"( Q2 "The WACCI Libr
ary consists of Homegrown programs written, and donated to"X "the club, by membe
rs of WACCI. The Homegrown Library is exclusive to WACCI, and"UF "unique in the
CPC world. In all cases, copyright is jealously guarded by the"NP "authors, and
th(* DEMO4.PAS more bits that have been added to the program, this tim
e we've added some control codes. These are used in exactly the same way as o
utlined in your computer manual. The codes in this program are the CP/M
v2.2 control codes, these can easily altered for CP/M v3.1 (plus) *) proc
edure counter var i word begin i1 repeat p
ut#1(i#,13,10) ii+1 until i10 end procedure displ
ayfred var x wese programs may NOT be included an any other software"VZ "
libraries without the express permission and written consent of both WACCI UK"d
"and the AUTHOR."n Lx "This Homegrown Software is NOT Public Domain, and may not
be freely"U "distributed without breach of copyright. In the interests of the e
xclusivity"O "purchasers are politely asked not to pass this software on to frie
nds."V "To do so would be against the interests of the club as the Library subsi
dises"+ "the coord begin for x1 to 10 do put#1('fred ',13,10)
end procedure presskey var inkey word begin put#1('Press
an','y key to',' continu','e ') get#1(inkey) put#1(12) end
procedure mode0 (* set screen mode to 0 *) begin put#1(04,0
0) end procedure mode1 (* set screen mode to 1 *) begin
put#1(04,01) end procedure mode2 (* set screen mode to 2 *)
begin put#1(04,02) e Ist of producing the magazine. X " Chairma
n & Master PD Librarian Subscriptions" O" John
Bowley Paul Dwerryhouse" " 97 Tirringt
on 7 Brunswood Green" S " Bret
ton Hawarden" U " Peterb
orough Flintshire" Q " PE3 9X
T CH5 3JA" M"Tele 01733 702158
01244 534942"%"Press any key to continue...
.. o continue..... "disc2 40 PRINT 50 PRINT "The W 7 Brunswood G
reen" S " Bretton Haward
en" U " Peterborough Flintshi
re" Q " PE3 9XT (* forward procedure d
eclaration test *) procedure b forward procedure a(this,thatword) begin th
isthat thatthis b(1,2) a(13,13) b(3,4) end (* procudure a *) procedure b
(parm1,parm2word) backward begin parm1parm1*parm2 a(13,13) b(5,6) end, (* p
rocedure b *) begin (* main line *) a(7,8) b(9,10) end,. end (* procedu
re try *) begin (* main line *) for i 1 to 8 do ai true for i 2 to 1
6 do bi true f (* Prints solutions to the problem of placing eight queens o
n a chess board in such a way that no queen checks against any other queen. S
ee "Algorithms+Data Structures Programs", Niklaus Wirth. *) type boole
an (false, true) aryi array0.. 8 of integer aryb array0..16 of
boolean var i integer a, b, c aryb x aryi procedure pri
nt var k integer begin for k1 to 8 do put#0(xk#,' ')
put#0(13,10) end (* procedure print *) procedure try(i integer) v
ar j integer begin for j1 to 8 do if (ajtrue) and (bi+j
true) and (ci-j+7true) then begin xij ajfalse bi+j
false ci-j+7false if i8 then try(i+1) else print ajtrue bi+j
true ci-j+7true end end (* procedure try *) begin (* main line
*) for i 1 to 8 do ai true for i 2 to 16 do bi true f (* title
message decoding by optimal binary search tree building using the hu-t
ucker algorithm cs 321 homework 5 author robert a. van valzah 03/
31/80 this program will build an optimal binary search tree given a set o
f characters and frequencies of occurance. the tree is constructed using the
hu-tucker algorithm (see knuth, the art of computer programming, volume 3/sorti
ng and searching, pp. 439-446). an input sequence of 1's and 0's is then de-
coded into a seqor i 0-7 to 7 do ci+7 true try(1) end. (ajtrue) and (bi+
jtrue) and (ci-j+7true) then begin xij ajfalse bi+
jfalse ci-j+7false if i8 then try(i+1) else print ajtrue bi+
jtrue ci-j+7true end end (* procedure try *) begin (* main line
*) for i 1 to 8 do ai true for i 2 to 16 do bi true f Iuence of ch
aracters using this tree. the resulting message is printed. *) const
nmax 30 (* max number of characters *) rl 9 (* record lengt
h in words *) dim 810(* nmax * rl * 3 *) char 0 (* character
value offset *) freq 1 (* character frequence offset *) lst
2 (* pointer to left subtree offset *) rst 3 (* pointer to right s
ubtree offset *) lforst 4 (* pointer to left brother offset *) rfor
st ch hp+freq frq hp+lst nil (* leaves have no subtrees *)
hp+rst nil hp+lforstprev (* link to last node read created *)
hp+lexp prev (* predecessor is also last node created *) if (prevnil
) then begin (* on all but first node . . . *) hprev+rforst p (* ma
ke previous right forest pointer and *) hprev+lexs p (* lexicogr
aphic successor point to the new node *) end prevp 5 (*
pointer to right brother offset *) lev 6 (* node level number *)
lexp 7 (* pointer to lexicographic predecessor *) lexs 8 (* poin
ter to lexicographic successor *) nil 0 (* zeroth element never use
d *) sent '$'(* sentinal character *) maxint 32767 (* kludge cau
se not defined by compiler *) type ary array0..dim of word bool
ean (false, true) (* kludge till compiler is done *) var (* glob
al va readnode until (chsent) (* done reading nodes *) rmostp
(* record pointer to right most node *) hp+rforstnil (* right most no
de has no right brother *) hp+lexs nil (* right most node has no lexicogr
aphic successor *) end (* procedure readtree *) (* given a forest of t
rees (all leaves when we start), build them into a single tree using phase 1
of the hu-tucker algorithm. the root of the resultant tree will be in lmost on
exit. the algorithmriables *) h ary (* the heap *) hp
word (* the heap pointer *) lmost, rmost word (* left and right mos
t ends of the list *) lexfirst word (* pointer to first node in lex order *
) procedure new(var pword) begin hphp+1 php*rl if (pdim-rl)
then put#1('heapover') end (* procedure new *) (* read a seq
uence of characters and weights from the standard input file and create a node
for each pair. the nodes are li is implemented using two internal procedure
s.the first (picklr) chooses two trees for combination, and the second (
combinelr) combines the two chosen trees to form new internal node in the fina
l tree. this process is repeated unitl the forest contains only one tree.
*) procedure build1tree var left, rite word (* pointers to nodes to be
combined *) (* pick two trees from the forest which satisfy the fo
llowing rules let i and j be pointers to the left and nked into a doub
ly linked list to form a forest as they are read. *) procedure readtree
var ch word (* node value *) frq word (* frequency *)
p word (* pointer to new node *) prev word (* pointer to previous n
ode read (for linking) *) procedure readnode var c wor
d begin get#0(ch) (* get node value character *) if (c
hsent) then begin get#0(c) while (c' ') do r
ight trees i) no external nodes occur between i and j. ii) the s
um of the weights of i and j is minimal for all i and j satisfying rule
(i). iii) the index i is minimal for all i satisfying rules (i),
(ii). iv) the index j is minimal for all j satisfying rules (i),
(ii), (iii). pointers to the two trees chosen will be left in left
and rite (respectivly). one internal procedure is used to compare t
he minimum sum found so farget#0(c) frq0 while (c'
0') and (c'9') do begin frqfrq*10+c-'0' get#0(c)
end (* while *) end repeat get#0(c) until (
c10) (* ignore till lf found *) end (* readnode *) begin readno
de (* readln(ch, frq) *) prevnil (* no left forest for first no
de *) repeat new(var p) if (prevnil) then lmostp (* record poi
nter to first node *) hp+char J against the sum of the frequencies of
the trees under consideration. *) procedure picklr var i,j
word (* pointers to left and right nodes which are
mininimum pair candidates *) minsum word (* mininimum sum found so
far *) (* compare the sum of the frequencies of nodes i and j
. if their sum is less than the minimum found so far, then re
cord the new minimum (in minsum) and the position of i andw node *)
if (hleft+lforstnil) then hhleft+lforst +rforst newn hhlef
t+rforst +lforst newn (* delete rite node *) hhrite+lforst +rfor
st hrite+rforst if (hrite+rforstnil) (* rite has a right neighbor *
) then hhrite+rforst +lforst hrite+lforst (* update leftmost
and rightmost pointers *) if (lmostleft) then lmostnewn if (rmostr
ite) then rmosthrite+lforst end (* procedur j as the two best candidates
for combining. *) procedure takemin begin if
(hi+freq+hj+freqminsum) then begin minsumhi+freq+hj+freq
ritej lefti end end (* procedure takemin *)
begin (* procedure picklr *) ilmost (* start with leftmost tree
in forest *) minsummaxint while (hi+rforstnil) do begin (* more i
's to test *) j hi+rforst e combinelr *) begin (*
procedure build1tree *) repeat picklr combinelr put#1('
.') (* show progress on screen . . . *) until (lmostrmost) (* only one
node left *) end (* procedure build1tree *) (* given the tree built in
phase 1, traverse it (in order will do) and assign a level to each node. th
en return to the original forest of trees (all leaves when we start), build the
m into a single tree using phase 3 of the hu-tucker algorithm. the root(* co
mpare to internal nodes till exeternal is found *) while (hj+charsent)
do begin takemin jhj+rforst (* on to the next tree *)
end (* j now points to only external node candidate *)
takemin ihi+rforst (* move to next tree in forest *)
end (* while not out of i's *) end (* procedure picklr *)
(* combine the two trees pointed to by left and rite to form a new in
ternal node of the resultant tree will be in lexfirst on exit. the algorit
hm is implemented using two internal procedures. the first (picklr) chooses
two trees for combination, and the second (combinelr) combines the two chose
n trees to form a new internal node in the final tree. this process is re
peated unitl the forest contains only one tree. the procedure used is ver
y similar to that used to build the tree in phase 1. *) procedure build3tree
var maxlev word (* largest level iin the final tree. link this new n
ode into the existing forest in place of the left tree. the rite tr
ee is deleted from the forest. pointers to the leftmost and rightmo
st (lmost and rmost, respectivly) are updated in the process. the frequenc
y of the new new node becomes the sum of the frequencies of its offspring.
*) procedure combinelr var newn word (* pointer to new node c
reated *) begin new(var newn) (* get pointer to new n tree *)
picklev word (* level of node now being picked *) left word (*
left most node to be replaced *) (* setlev will traverse the tr
ee generated in phase 1 and assign levels to each of the nodes. also,
the deepest level reached will be recorded in maxlev on exit. *)
procedure setlev (* traverse a node of a tree pointed t
o by the first argument, assigning it the level passed in the second
argumentnode on heap *) hnewn+charsent (* init all internal node
s to sent char *) hnewn+freqhleft+freq+hrite+freq (* link to lef
t and right subtrees (offspring) *) hnewn+lstleft hnewn+rstrite
(* link new node into the forest in place of old left *) (* first,
make new node to point to its neighbors in the forest *) hnewn+lforst hl
eft+lforst hnewn+rforst hleft+rforst (* second, make neighbors p
oint to ne J. *) procedure travinord(p word curlev word)
begin if (pnil) then begin if (curlevmaxlev) the
n maxlevcurlev travinord(hp+lst, curlev+1) hp+levcurle
v travinord(hp+rst, curlev+1) end end (* pro
cedure travinord *) begin (* procedure setlev *) maxlev0
travinord(lmost, 0) (* root is leftmost node *) end (* procedure setle
v *) (* link new node in place of left node from left *) if (
hleft+lexpnil) then (* left has a lex predecessor *) hhleft+lexp+lexsn
ewn if (hrite+lexsnil) then (* right has a lex successor *) hhr
ite+lexs+lexpnewn if (leftlexfirst) then (* new node becomes lex first
*) lexfirstnewn end (* procedure combinelr *) begin (*
procedure build3tree *) setlev (* compute node levels *) put#1(13,10)
put#1('maxlev ',maxlepick two trees from the forest which satisfy the follow
ing rules let i and j be pointers to the left and right trees i'
) the trees i and j must be adjacent in the working sequence.
ii') the levels of trees i and j must be maximal among all
remaining levels. iii') the index i is minimal for all i and j satisf
ying rules (i'), (ii'). a pointer to the left most chosen will b
e left in left. the right tree chosen is its lexv#,13,10) picklevmaxlev
repeat picklr combinelr put#1('.') (* show progre
ss on screen . . . *) until (picklev1) (* true when all nodes have been pick
ed *) end (* procedure build3tree *) (* decode a sequence of 1's an
0's read from the standard input file into a sequence of characters written to
standard output. this is done by starting at the root and taking a left when a
zero is read, a right when a one is read. this is continued unitl a leicog
raphic successor. *) procedure picklr var picked boolean (* t
rue if one picked on this lev el *) begin pickedfalse while
(pickedfalse) do begin leftlexfirst (* start with first node in lexic
ographic order *) while (leftnil) and (pickedtrue) do if
(hleft+levpicklev) then pickedtrue else lefthl
eft+lexs if (pickedfalse) then picklevpicklev-1 end (* while
af is reached, when the character in that leaf is printed. this process is
repeated until end-of-file is found. *) procedure decode var eof boole
an ch word (* last one or zero read from input *) p word
(* pointer used to traverse tree *) procedure getoz begin
get#0(ch) while (ch13) or (ch10) or (ch' ') do get#0(ch)
if (ch26) then eoftrue end (* procedure getoz *) begin (* pr
odecure decode **) end (* procedure picklr *) (* combine the
tree pointed to by left and its lexicographic successor to form a new int
ernal node in the final tree. link this new node into the existing lexi
cographic sequence in place of the left tree and its successor. the pointer
to the first node in the sequence (lexfirst), is updated in the process
. *) procedure combinelr var newn word (* pointer to new node
created *) rite word (* pointe) put#1(13,10) put#1('decoded
', 'message ',13,10) eoffalse getoz while (eoffalse) do begin
plexfirst (* start at root of phase 3 tree *) while (hp+charsent)
do begin (* while at internal node *) if (ch'0') then php
+lst (* left turn *) else php+rst (* right turn *) geto
z end (* while at internal node *) put#1(hp+char) end (*
while not eof *) end (* procedure decode *r to right node being combined *)
begin new(var newn) ritehleft+lexs (* right node is allw
ays next in lex order *) hnewn+charsent (* init all internal nodes to sen
t char *) (* link left and right subtrees to new node *) hnewn+l
stleft hnewn+rstrite (* level of new node is one less than level
of its offspring *) hnewn+levhleft+lev-1 hnewn+lexshrite+lexs
hnewn+lexphleft+lexp (* I) begin (* main line *) hp0 (* in
itialize heap pointer *) readtree lexfirstlmost (* first node in lex ord
er is leftmost *) build1tree build3tree decode end. if (ch'0')
then php+lst (* left turn *) else php+rst (* right t
urn *) getoz end (* while at internal node *) put#1(h
p+char) end (* while not eof *) end (* procedure decode *-
-- ' -- character -- ' ---------------------- simple type -----
----------- type identifier ---------------- -- ( ---- identifier --
--- ) -- ------ , ---- -- constant --
.. -- constant --- type ---------------- simple type --------------------
------------ -- ARRAY -- -- simple type -- -- ----------
------------------------------ -- OF -- simple type ----------------
----- variable ------------ variable identifier --------------------------
-- --------------------------- -- -- expression -- --
factor ------------ ' ----- character ----- ' ----------------
---------------- -- variable --------------------------------- -- fun
ction identifieA 622 B 132 C 311 D 297 E 1053 F 168 G 165 H 363
I 614 J 6 K 31 L 307 M 248 N 573 O 606 P 189 Q 10 R 587
S 581 T 768 U 227 V 70 W 113 X 25 Y 107 Z 6 1821 $ 00001
111001111010010100010101100011110100011010000011011110111 010000100011011101110
11000011010011011001000100011111 100011011000011010111110001001001111 10110110
01001000011011111110111101110001001010100011011010111111 000111000010001 r ---
------------------- ----------------------- -- ( ----- expressi
on ----- ) ------ ----- , ------ -- ( -- expression --
) --------------- -- constant ---------------------------------- term
------------ factor -------------------------------- -- factor ----- * --
-- / -- -- AND -- simple expression ----------- +
------- term -------------------------------- -- - -- -- term ----
- + -- -- - -- -- OR -- expression ----------- simple expr
ession -------------------------------------- -- ----- simple expressi
on -- -- -- -- -- -- -- -- -- -- -- parameter list -
-----------------------------------------------------------------------
PASYNTAX.DOC UPPER CASE means that this reserved word mus
t appear literaly. identifier ------------ letter ----------------------
-- -- letter -- -- digit -- number ------------ digit --------
--------------- constant ----------- number -------------------
--------------------------- -- constant identifier ---------------------
------- -- constant -- + - P-- -- ( ----- identifier ----
- -- type identifier ----- ) -- ----- , ----- ------------
----------- ------------------ statement ----------------------------
----------------------------------------- ----- variable ----------------
-- expression --------- -- function identifier --
-- procedure identifier --------------------------CONST ----- identifier --
-- constant -- ------------------------------------- -
------ -- TYPE ------ identifier -- -- type ------
------------------------------------- ------- -- VAR ------- identifier --
--- -- type identifier --- ----- , -----
- -------------------------------- -
---------------------- -- ( ------------------ expression -----
) ---------- -- VAR -- ------ , -----
-- BEGIN ----- statement ----- END -------------------------
----- ----- -- IF -- expression -- THEN -- statement --------
---------- ----------------------------------------- -----
----- block ----- -------------------- ----- procedure ----- identifier
-- parameter list -- -- function --- -- begin ----- statement ---
-- end -------------------- ----- ----- program ----
-------- block -- . ---------------------------------------- ** END OF FI
LE ** iteraly. identifier ------------ letter ---------------------
-------- -- ELSE -- statement -- -- CASE -- expr
ession -- OF ------------------------ END -- -----------------
------------ ----- constant -- -- statement --------
---- --------------- ---------------
--------------------------- ppc $1.pas tempfile.pc
o pfet tempfile.pco tempfile.obj pip $1.comrtp.com,tempfile.objov era tempf
ile.pco era tempfile.obj $$$file.pco pfet tempfile.pco tempfile.obj pip
$1.comrtp.com,tempfile.objov era tempfile.pco era tempfile--- end ---------
----------- ----- ----- program ------------ block -
- . ---------------------------------------- ** END OF FILE ** iteraly.
identifier ------------ letter --------------------- -- ELS
E -- statement ------------- -- WHILE -- expression -- DO -- statement
----------------- -- REPEAT ----- statement ----- UNTIL -- expression ---
---- ----- ----- -- GET -- # -- constant --
( -- variable -- ) ----- -- PUT -- # -- constant -- ( --
-------------------- ----- expression ------------------- )
-- -- # -- ---------- ,
--------------- -- FOR -- variable identifier -- -- expression --
------------------------------------------------- ----- DOW
NTO ----- expression -- DO -- statement -- ---- TO ---- block
----------- IZ£-MzRTP REV 00.8R*."Kl x2'!m x2(!lw#'2!"+(2!!"-*K#Vzzz'$*$**+R/
!/#"+O(l)lysY*-/!w#"-2*o&2)X 0X2)2)XX(s*q!9E!9H*q!M!!!!E!9!v!!!uE!9!!!4E3333!*q!
E3333!*q!E3333!E33!J!!4E3333!*q!E3333!*q!E3333!E33!h!E33!!!4E333333H*q!!!*qE3333
!E33c!p*q!!!HE3333k!-"disk error$V##0V++Ais#r#Pi!9u# jWDM!yWi*K!9"K*K!9"K*K"K) !
!!!E!9k!M !!3E3333k!q !!6E3333k! !!9E3333k! 6E!"qk! 6E!"qk! 6E!"qk!6E!"qk!56E!"
qk! U6E!"qk!E!!4E3333!"qk!E!!4E3333!"qk!!!#!uE!9!"qk!!!L*q!"q*q!1*K#VH*q!"q*q!r*
K#V*K#VH*q!"q*q! *K#V*K#V*K#VH*q!"q*q!$*K#V *K#V+!uE!9k!!!!uE!9k' RPO DAB!*q! !
33c!*q!!**q*qE3333!E33rE!!#!V!E!9c!P*q!(!E33!"*q*qE3333MrE!!s!#!rE!9c!!*qg E33E3
333*q!!!BE3333!*q4E3333!!EE3333c!*q!!3*q!*K#V*K#VH*K#VE33*K#V!9E33H*K#VE33*K#V'E
33H*q!5*q!'REVO DC*!"q"q*q*q*q!6!#s#r"q"q*q*q!6"q*q*q!Js#r*q!"q*q!##V"q*q!9"q*q*
q!63"q*q!J#V"q*q!"qH!*Ks#r!*K#V1!P*K#V!#V! *K#V!#V!"q*q*q$!E33*q#"q33!!3"q*q*q!3
E33*q+"qU33!!!*q3E3333!9!4E3333c!!*qg E33E3333c!W*q!&!*qg E33E3333R!V!*qg E33E33
33R!!*qg E33E3333!*qg E33E3333R!!*q!E3333!*qg E33E3333R!"!! ! *K#V#*Ks#r33H*q!!!
E3333o!!0E3333H*q*Ks#r*K#V!!!*q3E3333!*!KE3333!E33d *K#V! !!*q*qE3333d !*K#V4E33
33!!E3333!!*q3E3333!E33H*q! *K#V!#V! *K#V!#V*Ks#r !P*K#V'DNIFEDNU!! ! H*q*q*q J
*qg E33E3333R!R!*qg E33E3333R33c!E!E33c!!*q4E3333!!!*q6E3333c!rE!!!!E!9!#!V!uE!9
c! rE!!!!E!9!s!#!ruE!9c!!!)!!E!9!E33c!rE!V!!3uE!9c!rE!!!suE!9c(* TITLEPASCAL
FAST EXECUTION TRANSLATOR FILENAMEPFET.PAS AUTHORRobert A. Van Valzah 10/
06/79 LAST REVISORR.A.V. 01/14/80 REASONrepaired bug in astoi code *)
const vhu 0(* version number hundreds *) vtn 0(* tens *) vun 8(* units *) d
evrel 'r'(* development or release version *) nlab 500(* max number of p-labels
*) codemax 5000(* max number of p-instructions *) ocode 1536(* object code ba
se address *) rtporg 256(* run time package bas!*!!V!!3E!9c!W!!!!sE!9c!!!!!!E!9
c!rE!!!uE!9!!!uE!9c!rE!!!!sE!9c!G!!'E3333E EE Ec!srE!!*E3333c! rE!!-E3333c! !!)!
)!)E!9!!!uE!9c!!E33e address *) (* runtime package entry points *) base rtpo
rg+3cmpr base+3 cspbase cmpr+3spalit cspbase+30 spalod spalit+3spasto spalod+3
acmpr spasto+3opr3 acmpr+3 opr4 opr3+3opr5 opr4+3 opr14 opr5+3opr15 opr14+3
spcal0 opr15+3spcal spcal0+3 spret spcal+3br spret+3 (* 8080 instructions *
) lhld 42shld 34 pushh 229pushd 213 pushb 197pushpsw 245 poph 225popd 209 p
opb 193 sphl 249pchl!!*E3333c!!!!E3333!9!!#!fE!9!oE33!!-E3333!E33c!rE!!!)uE!9
!)!)!uE!9!!*E3333c!rE!E33!!!E3333!9!!#!fE!9!o!)!)uE!9!)!4E3333!!-E3333!E33c!rE!E
33c!!!!#!VE!9!E33c!(!! 233 xchg 235xthl 227 dadh 41dadsp 57 dadd 25dadb 9
call 205jmp 195 jz 202jnz 194 jnc 210jc 218 mvia 62adi 198 mvid 22 lx
ih 33lxid 17 lxib 1 movem 94movdm 86 movme 115movmd 114 movbh 68movcl 77
movam 126movhm 102 movla 111movae 123 cmc 63sbba 159 dcra 61orad 178 anad 16
2 inxsp 51dcxsp 59 dcxh 43inxh 35 type pops ( (* p-op c!s!#E!9!rE33c!8c'PO
-P DAB!*q! ! 33H*K#V"q!"qE*q!E%*q!*q!'REVO BL*!*q*q!s#r%*q!#V*q%'RE ESAHP!'P
ROR!*q*q!*q!I*q"qH'VER TEFP!! !!.!!!R! ! !"q!*q*q!!s#r*q#"q33!"q' 1 SSAP!! odes
*) cal, jpc, jump, lit, opr, lod, sto, int, csp, lodx, stox, alit, alod, asto
, alodx, astox, pshf, clod, csto, clodx, cstox, halt, lab, peof, (* end of p-
code file *) laa, lodi, stoi, clodi, cstoi, alodi, astoi, indx, aindx, cindx
) fflags ( (* flags set when condition is false *) ifnz, ifz, ifcz, ifznc, ifn
c, ifc ) labtyp array0..nlab of word codtyp array0..codemax of word var l
abel labtyp(* label p-addresses *) adr labtyp(* label 8080 a! !hB33*q'SEDOC-P !
' DAER !! ! !"q' 2 SSAP!! ! !hB33' !ENOD!! ! $E ESAHP!'P ROR!*q*q!*q!I*q
"qH'VER TEFP!! !!.!!!R! ! !"q!*q*q!!s#r*q#"q33!"q' 1 SSAP!! J ddress
es *) fla codtyp(* p-code function & level *) aa codtyp(* p-code address *) f
word(* current instruction function *) l word(* current instruction level *)
a word(* current instruction address *) coa word(* code out address *) cx word
(* p-code array index *) cix word(* number of p-codes read *) glram word(* bas
e address of global ram *) pass word(* pass number *) lfl fflags(* flags set w
hen last translated conditional is nd',13,10) end (* eieiadr *) procedure
dw2 begin co4b(f, l, a, a/256) end (* dw2 *) procedure flagtoa begin
case lfl of ifnzbegin co4b(adi, 255, cmc, sbba) end (* ifnz *) ifzbegin co
3b(adi, 255, sbba) end (* ifz *) ifczbegin co2b(mvia, 0) coopad(jc,coa+7) co
opad(jz,coa+4) co1b(dcra) end (* ifcz *) ifzncbegin co2b(mvia, 0) coopad(jz,
coa+6) coopad(jnc,coa+4) co1b(dcra) end (* ifznc *) ifncco1b(sbba) ifcbegin
co2b(cmcfalse *) (* global variables for procedure getpcd for speed *) adlo,
adhi word (* global variables for function eieiadr for speed *) eii, eij, e
ik word (* global variables for procedure trans for speed *) transi word
procedure co1b(ch word) begin coacoa+1 if pass2 then put#0(ch) end (* co1b
*) procedure co2b(c1,c2 word) begin coacoa+2 if pass2 then put#0(c1,c2)
end (* co2b *) procedure co3b(c1,c2,c3 word) begin coacoa+3 if, sbba)
end (* ifc *) end (* case lfl of *) end (* flagtoa *) procedure trans b
egin case f of litbegin coopad(lxih,a) co1b(pushh) end oprcase a of 0(* pr
ocedure return *) coopad(jmp,spret) 2(* (top)(top)+(top-1) *) begin co4b(pop
d, poph, dadd, pushh) end (* case opr sub *) 3(* (top)(top)-(top-1) *) coopad
(call,opr3) 4(* multiply *) coopad(call,opr4) 5(* divide *) coopad(call,opr5
) 8begin (* (top)(top-1) condi pass2 then put#0(c1,c2,c3) end (* co3b *) pr
ocedure co4b(c1,c2,c3,c4 word) begin coacoa+4 if pass2 then put#0(c1,c2,c3,
c4) end (* co4b *) procedure coad(ad word) begin co1b(ad) co1b(ad/256)
end (* coad *) procedure coopad(op,ad word) begin co1b(op) coad(ad) end
(* coopad *) procedure getpcd (* get next p-code to f, l, and a *) begin
if pass1 then begin if cixcodemax then put#1('*cd over') get#0(f) get#0(l) f
lacixf+l*256 tional *) gencmp lflifnz end (* opr 8 *) 9begin (* (top)(top-1)
condtional *) gencmp lflifz end (* opr 9 *) 10begin (* (top)(top-1) conditin
al *) gencmp lflifcz end (* opr 10 *) 11begin (* (top-1)(top) conditonal *)
gencmp lflifznc end (* opr 11 *) 12begin (* (top-1)(top) conditionla *) gencm
p lflifnc end (* opr 12 *) 13begin (* (top-1)(top) conditional *) gencmp lfli
fc end (* opr 13 *) 14begin (* (get#0(adlo) get#0(adhi) aadlo+adhi*256 aacix
a cixcix+1 end else begin (* must be pass 2 *) aflacx (* use a as a temp *)
la/256 fa-l*256 aaacx cxcx+1 end end (* getpcd *) procedure wrsym var
i word begin for i0 to nlab do begin put#1('P',labeli#) put#1(' ',adri#)
put#1(13,10) end end (* wrsym *) procedure gencmp begin if l0 then co
opad(call,cmpr) else coopad(call,acmpr) end (* gencmp *top)(top-1) or (top) *)
flagtoa co2b(popd, orad) lflifz end (* opr 14 *) 15begin (* (top)(top-1) an
d (top) *) flagtoa co2b(popd, anad) lflifz end (* opr 15 *) 19begin (* incre
ment (top) *) co3b(poph, inxh, pushh) lflifz end (* opr 19 *) 20begin (* dec
rement (top) *) co3b(poph, dcxh, pushh) end (* opr 20 *) 21begin (* copy (top
) *) co3b(poph, pushh, pushh) end (* case opr 21 *) elseput#1('bad opr ',a#,1
3,10) end ) procedure varadr varlev word begin levl if lev0 then beg
in (* local ref *) coopad(lxib,0-a) coopad(lhld,br) co1b(dadb) end else if l
ev255 then (* global ref *) coopad(lxih,a+glram) else begin (* intermediate re
f *) co2b(mvia,lev) coopad(call,base) coopad(lxid,0-a) co1b(dadd) end end (
* varadr *) function eieiadr(pad word (* p-code address *) ) begin if pas
s2 then if adrpad0 then eieiadradrpad else put#1('P',pad#,'undefi I(* case op
r *) lodbegin if l255 then begin (* global lod *) coopad(lhld,a+glram) co1b(
pushh) end (* global *) else begin (* intermediate to local *) varadr co4b(mo
vem, inxh, movdm, pushd) end end (* case lod *) stobegin if l255 then begin
(* global sto *) co1b(poph) coopad(shld,a+glram) end else begin (* intermedi
ate to local *) varadr co4b(popd, movme, inxh, movmd) end end (* sto *) calb
egin coopad(lxid,eieiadr(a)) if l0nd (* asto *) aindxbegin co4b(poph, dadh,
dadh, dadh) co3b(popd, dadd, pushh) end (* case aindx *) alodibegin (* alfa l
oad indirect *) co1b(poph) coopad(call,spalod) end (* case alodi *) astoibegi
n (* alfa store indirect *) coopad(lxih,8) co4b(dadsp, movam, inxh, movhm) co
1b(movla) coopad(call,spasto) co1b(poph) end (* case astoi *) alodxbegin var
adr co3b(popd, xchg, dadh) co3b(dadh, dadh, dadd) coopad(call,spalod) end (*
alodx *) ast then coopad(call,spcal0) else begin co2b(mvia, l) coopad(call,
spcal) end end (* cal *) intbegin if (a0-4) and (a4) then begin for transi
1 to a do co1b(dcxsp) for transi 0-1 downto a do co1b(inxsp) end else begin
coopad(lxih,0-a) co2b(dadsp, sphl) end end (* int *) jumpbegin coopad(jmp
,eieiadr(a)) end (* jump *) jpcbegin case lfl of ifnzcoopad(jnz,eieiadr(a))
ifzcoopad(jz,eieiadr(a)) ifczoxbegin varadr co1b(xchg) coopad(lxih,8) co4b(d
adsp, movam, inxh, movhm) co3b(movla, dadh, dadh) co2b(dadh, dadd) coopad(call
,spasto) co1b(poph) end (* case astox *) laabegin varadr co1b(pushh) end (*
case laa *) lodibegin (* load word indirect *) co4b(poph,movem,inxh,movdm) c
o1b(pushd) end (* case lodi *) stoibegin (* store word indirect *) co4b(popd,
poph,movme,inxh) co1b(movmd) end (* case stoi *) peofbegin (* do nothing *)
end (begin coopad(jc,eieiadr(a)) coopad(jz,eieiadr(a)) end (* ifcz *) ifzncb
egin coopad(jz,coa+6) coopad(jnc,eieiadr(a)) end (* ifznc *) ifnccoopad(jnc,
eieiadr(a)) ifccoopad(jc,eieiadr(a)) end (* case lfl of *) end (* jpc *) psh
fbegin flagtoa co1b(pushpsw) end (* pushf *) cspbegin co2b(mvia, l) coopad(
call,cspbase+3*a) end (* csp *) lodxbegin varadr co4b(popd, dadd, dadd, movem
) co3b(inxh, movdm, pushd) end (* lodx *)* case peof *) elseput#1('bad p-op',
f#,13,10) end (* case f of *) end (* trans *) procedure pass12(ps word)
begin passps coaocode repeat getpcd if flab then trans else if pass1 then
if anlab then put#1('*lb over') else adracoa else (* pass 2 *) if adracoa t
hen put#1('Phase er', 'ror P',a#) until fpeof if pass1 then glramcoa end
(* pass12 *) begin (* main line *) (* zero all addresses for undefined labe
l d stoxbegin varadr co4b(popd, popb, dadb, dadb) co3b(movme, inxh, movmd) e
nd (* stox *) indxbegin (* index word array *) co4b(poph, dadh, popd, dadd) c
o1b(pushh) end (* case indx *) clodbegin varadr co3b(movdm, pushd, inxsp) en
d (* clod *) cstobegin varadr co3b(popd, dcxsp, movme) end (* csto *) clodib
egin (* character load indirect *) co4b(poph, movdm, pushd, inxsp) end (* case
clodi *) cstoibegin (* character store indirect *) co4b(petection *) (* use
cix as temp index *) put#1('pfet rev',' ',vhu#,'.',vtn#,vun#,devrel,13,10) for
cix0 to nlab do adrcix0 cix0 put#1('Pass 1 ',13,10) pass12(1) put#1(cix#,'
p-codes', ' read ',13,10) cx0 put#1('Pass 2 ',13,10) pass12(2) put#1('do
ne! ',13,10) end. l fpeof if pass1 then glramcoa end (* pass12 *) begin
(* main line *) (* zero all addresses for undefined label dopd, dcxsp, poph, m
ovme) end (* case cstoi *) cindxbegin (* character array index *) co4b(poph,
popd, dadd, pushh) end (* case cindx *) clodxbegin varadr co3b(popd, dadd, mo
vem) co3b(mvid, 0, pushd) end (* clodx *) cstoxbegin varadr co4b(popd, popb,
dadb, movme) end (* cstox *) alitbegin coopad(call,spalit) getpcd dw2 getp
cd dw2 end alodbegin varadr coopad(call,spalod) end (* alod *) astobegin v
aradr coopad(call,spasto) e J025113111302512221321611112022222202222222 ix0
cix0 put#1('Pass 1 ',13,10) pass12(1) put#1(cix#,' p-codes', ' read ',13,1
0) cx0 put#1('Pass 2 ',13,10) pass12(2) put#1('done! ',13,10) end. l fp
eof if pass1 then glramcoa end (* pass12 *) begin (* main line *) (* zero
all addresses for undefined label d procedure setbd *) function min(x, y int
eger) begin if (xy) then minx else miny end
(* function min *) function max(x, y integer) begin if (xy) th
en maxx else maxy end (* function max *) procedure getr
oot begin get#0(ch) setbd(1, rleft ,ch-'0') get#0(ch) setbd(1, rr
ight ,ch-'0') get#0(ch) setbd(1, rkal ,ch-'0') get#0(ch) setbd(1, blef
t ,ch-'0') get#0(ch) setbd(1, bright ,ch-'0') get#0(ch) setbd(1, bkal
,ch-'0') get#0(ch) setbd(1, turn ,ch-'0') setbd(1, outcom , draw)
setbd(1, bespat , offbespat) end (* procedure getroot *) procedure prtro
w(row integer) begin put#0(13,10) put#0(' ', ' ', board(row, brig
ht)#, ' ', ' ', board(row, bleft )#, 13,10) put#0(board(row, bka
l)#, ' ') if board(row, outcom)rwin then put#0('r', 'e', 'd', ' ')
else if board(row, outcom)draw then putconst (* 'CONSTAN
T' VARIABLES USED TO REFERENCE COLS OF BOARD *) RLEFT 0 (* STONES IN RED'S
LEFT PIT *) RRIGHT 1 (* STONES IN RED'S RIGHT PIT *) RKAL 2 (* STON
ES IN RED'S KALAH *) BLEFT 3 (* STONES IN BLUE'S LEFT PIT *) BRIGHT 4
(* STONES IN BLUE'S RIGHT PIT *) BKAL 5 (* STONES IN BLUE'S KALAH *)
TURN 6 (* -1 MEANS RED'S TURN, 1 MEANS BLUE'S TURN *) LSON 7 (* ROW N
UMBER OF LEFT SON *) RSON 8 (* ROW NUMBER OF RIGHT SON *) BESP#0('d',
'r', 'a', 'w') else put#0('b', 'l', 'u', 'e') put#0(' ', boa
rd(row, rkal)#, ' ') if (board(row, bespat)onbespat) then put#0
('this boa', 'rd is on', ' the bes', 't p
ossib', 'le path.') put#0(13,10) put#0(' ', ' ', board(ro
w, rleft )#, ' ', ' ', board(row, rright)#, 13,10) end (* procedur
e prtrow *) procedure compconf(father, son, sourcpit integer) var
sowopp, AT 9 (* 1 MEANS ON BEST PATH, 0 IF NOT *) OUTCOM 10 (* 0
MEANS blue WIN, 1 MEANS DRAW, 2 MEANS red WIN *) ncols 11 (* number of col
umns in bd matrix *) rwin 2 (* outcom value for red win *) draw
1 (* outcom value for draw *) bwin 0 (* outcom value for blue win *)
rturn 0 (* turn value for red's turn *) bturn 1 (* turn value for b
lue's turn *) left 0 (* move from left pit *) right 1 (* move fr
om right pit *) offbespat moving boolean frompit, topit,
sowston, pturn, (* rturn if red players turn, bturn otherwise *)
i integer begin pturnboard(father, turn) if (pturnbturn)
then if (sourcpitleft) then frompitbleft else
frompitbright else (* must be red's turn *) if (sourcpitleft) then
frompitrleft else frompitrright (* put#0('frompit',fr
ompit#,13,10) *) for irleft to ou 0 (* bespat value if node is off best pa
th *) onbespat 1 (* bespat value if node is on best path *) type
ary array0..1000 of integer boolean (false, true) var ch integer
bd ary next integer (* row number of next "free" row in array board *)
function board(row, col integer) begin board bdrow*ncols + col
end (* function board *) procedure setbd(row, col, val integer) beg
in bdrow*ncols + col val end (* J tcom do (* copy father boa
rd to son *) setbd(son, i, board(father, i)) (* test if able to mov
e *) if (board(father, frompit)0) (* if frompit has no stones *) or (boa
rd(father, bkal)6) (* or blue has won *) or (board(father, rkal)6) (*
or red has won *) then (* unable to move *) set
bd(son, turn, board(father, turn)) else (* still have
move left *) if (board(father, turn)rturn) then setbd(son, turn, b
)3)) then begin setbd(son, bkal, bo
ard(son, bkal)+board(son, rleft)) setbd(son, rleft, 0)
end end if (pturnrturn) and ((topitbleft) or (topi
tbright)) then begin setbd(son, rkal, board(
son, rkal)+board(son, topit)) setbd(son, topit, 0) if
(topitbright) and ((board(son, bleft)2) or (board(son, bleft)3))
then turn) else setbd(son, turn, rturn) movingtrue
while (movingtrue) do begin sowstonboard(son, frompit) (* put#0('
sowston',sowston#,13,10) *) setbd(son, frompit, 0) topitfrompit
sowoppfalse while (sowston0) do begin topittopit+1 (*
put#0('topit ',topit#,13,10) *) if (topitbkal) then topitr
left if (topitrkal) and (pturnbturn) then topitbleft
if (topitbkal) begin setbd(son, rkal, board(s
on, rkal)+board(son, bleft)) setbd(son, bleft, 0)
end end end end (* while movingtrue *) end (
* procedure compconf *) procedure growtree(root integer) begin (* put
#0('growtree',root#,13,10) *) compconf(root, next, left) (* attempt to grow lef
t son *) if (board(root, turn)board(next, turn)) then (* there is a left
son *) begin (* put#0('leftson and (pturnrturn) then t
opitrleft (* put#0('topit ',topit#,13,10) *) (* set sowopp t
o true if sowing into opponents pits *) if (pturnbturn) then
if (topitrleft) or (topitrright) then sowopptrue i
f (pturnrturn) then if (topitbleft) or (topitbright) then
sowopptrue setbd(son, topit, board(son,topit)+1) (* sow a sto
ne *) sowstonsowston-1 (* number to sow is ',13,10) prtrow(nex
t) *) setbd(root, lson, next) (* link son to father *) nextnext+1
growtree(next-1) end else (* there is not left son *) setb
d(root, lson, 0) compconf(root, next, right) (* attempt to grow right son
*) if (board(root, turn)board(next, turn)) then (* there is a right son
*) begin (* put#0('rightson',13,10) prtrow(next) *) setbd(
root, rson, next) (* link son to father *) nextnext+1 grone less n
ow *) end (* while sowston0 *) (* check for go again, set mov
ing *) if (sowopptrue) and (board(son, topit) 1) then if ( (pt
urnbturn) and ((topitbleft) or (topitbright)) ) or ( (pturnrturn) and
((topitrleft) or (topitrright)) ) then (* a go again move *)
begin movingtrue frompittopit
end else movingfalse (* not a go aga
in moowtree(next-1) end else (* there is no right son *) setbd
(root, rson, 0) end (* procedure growtree *) procedure prttree(root inte
ger) begin if (root0) then begin prttree(board(root,
lson)) (* print left subtree *) prtrow (root) (* print the node *)
prttree(board(root, rson)) (* print right subtree *) end end (* p
rocedure prttree *) procedure findout(root integer) begin if (root
0) then begin ve *) else (* not a go again move *)
movingfalse (* check for capture *) if (board(son, topit)2)
or (board(son ,topit)3) then (* capture possible *) begin
if (pturnbturn) and ((topitrleft) or (topitrright)) then
begin setbd(son, bkal, board(son, bkal)+board(son, topit))
setbd(son, topit, 0) if (topitrright) and
((board(son, rleft)2) or (board(son, rleft J (* init all nodes to "o
ff best path" *) setbd(root, outcom, offbespat) findout(board(ro
ot, lson)) (* find outcome of left subtree *) findout(board(root, rson))
(* find outcome of right subtree *) (* determine outcome of father *)
(* first, see if he has any sons *) if (board(root, lson)0) and (b
oard(root, rson)0) then (* he has no sons *)
(* determine outcome from pits *) if (board(r (* r
oot has no left son *) pboard(p, rson) (* move on right son *)
else if (board(p, rson)0) then (* root has no right son *
) pboard(p, lson) (* move on to left son *) else (* roo
t has both sons *) if (board(p, turn)bturn) (* if blue's turn *)
then (* see if left outcom is better than right *) i
f ( board( board(p, lson), outcom) board( board(p, rson
), outcom) oot, bkal)6) then (* blue has won *)
setbd(root, outcom, bwin) else (* either red win or draw
*) if (board(root, rkal)6) then (* red h
as won *) setbd(root, outcom, rwin) else
(* neither won, therefore draw *) setbd(root, outcom, draw)
else (* he has at least one son *)
(* determine outcome from sons *) ) th
en (* left is better or *) pboard(p, lson)
(* go left *) else (* right is bett
er *) pboard(p, rson) (* go right *)
else (* it must be red's turn *) if ( board( board(p, l
son), outcom) board( board(p, rson), outcom)
) then (* left is better or *)
if (board(root, lson)0) (* if no left son *) then (*
outcome is from right son *) setbd(root, outcom, b
oard( board(root, rson), outcom) ) else
(* he has a left son *) if (board(root, rson)0) (* if no r
ight son *) then (* outcome is from left son *)
setbd(root, outcom, board( board(root, lson), outcom)
) pboard(p, lson) (* go left
*) else (* right is better ro *)
pboard(p, rson) (* go right *) end (* while not a leaf *
) setbd(p, bespat, onbespat) (* final leaf is on best path *) end (* pr
ocedure findbespat *) begin (* main line *) getroot while (ch-'0'2) do (*
do while not eof *) begin put#0(13,10,13,10) put#0('root boa',
'rd is ') prtrow(1) nex else (
* he has both sons *) if (board(root, turn)bturn)
then (* outcome is minimum of sons' outcomes *) setbd(ro
ot, outcom, min(board( board(root, lson), outcom),
board( board(root, rson), outcom) )
) else (* outcome is maximum of sons'
outcomes *) setbd(root, outcom, t2 (* r
ow 2 is first free row *) growtree(1) findout(1) findbespat put#
0(13,10,13,10) put#0('output t', 'ree ') prttree(1) ge
troot end end. (* final leaf is on best path *) end (* procedure fi
ndbespat *) begin (* main line *) getroot while (ch-'0'2) do (* do while n
ot eof *) begin put#0(13,10,13,10) put#0('root boa', 'rd
is ') prtrow(1) nex max(board (board(root, lson), outcom),
board (board(root, rson), outcom) )
) end (* if root0 *) end (* procedure findout
*) procedure findbespat var p integer (* work pointer used to
traverse tree *) begin p1 (* loop unitl leaf is found *) while
(board(p, lson)0) or (board(p, rson)0) do begin setbd(p, bespat,
onbespat) if (board(p, lson)0) then J(* decimal representaton of
negative powers of 2 *) const n10 type digit 0..9 digtyp array1..
n of digit var i,k,r integer d digtyp begin for k1 to n do begin
put#0('.') r0 for i1 to k-1 do begin r10*r+di dir/2
rr-2*di put#0(di+'0') end dk5 put#0('5',13,10) end end. Th
is file descibes the function of each of the p-op codes, as best I can remember
them while looking at my notes and code of over a year ago. (Sorry, it's the
best I can offer you.) Entered 02/20/81, from notes dated 09/01/79 The com
piler does not generate all of the p-codes given here. Some were for planed en
hancements that never were finished. Similarlay, the translator (pfet) will tr
anslate many p-codes that the compiler presently does not generate. There may
be some p-codes it does generate that are not listed here, but this is the bulk
of the usefull ones and will give you the general idea. lit0,cpush word
constant c into stack oprn,mperform operation m on top of stack element(s)
of type n, where n0 is word, n1 is alfa lodl,apush word at l+a into stack
stol,apo stack into l+a call,acall routine at p label a, level l away int0
,nadd n to stack pointer jump0,ajump to p label a jpcc,ajump to p label a
after popping stack c0 jump if (top)Z£-MzRTP REV 00.8R*."Kl x2'!m x2(!lw#'2!"+(
2!!"-*K#Vzzz'$*$**+R/!/#"+O(l)lysY*-/!w#"-2*o&2)X 0X2)2)XX(sfalse, c1 jump if (t
op)true csp0,ncall standard procedure n lodxl,apush word at l+a+(top) into
stack stoxl,apop stack into l+a+(top-1) alit0,0push alfa which follows (n
ext 2 p-ops or 8 bytes) into stack, msbyte follows first (may have changed)
alodl,apush alfa at l+a into stack astol,apop alfa from stack into l+a alo
dxl,apush alfa at l+a+(top) to stack astoxl,apop alfa from stack into l+a+(to
p-5) pshf0,0push true or false into stack based on result of la-"disk error$
V##0V++Ais#r#Pi!9u# jWDM!yWi*K!9"K*K!9"K*K"Kst conditional executed laal,aloa
d absolute machine address of l,a into stack used for var parameters lodi0,0
load word pointed to by top of stack into stack pops address first stoi0,0st
ore word on top of stack at address on (top-1) lab0,ndefines the p label n p
) to stack astoxl,apop alfa from stack into l+a+(top-5) pshf0,0push true o
r false into stack based on result of la Jd7!"mV!!*K#V!!!H"KV*oV! k*KV*KV!a*KV
! 3"KV*KV! *KV! "KV*oV! *KV*mV!!"mV'********!! ! 3333*K#Vw E!Qs#rH!s#r*MV!E*Ks#r
*K#V!L#V!*K#V!L#V!*K#V!L#Vs#r*K#V!Q#Vs#r*K#V!S#Vs#rE*K#V!L#V!w E*Ks#r!! E3333!!
E3333w E*K#V3!s#r!s#r!gE33*MV!!*Ks#rE!! E3333!QV*"KV! "KVH*KV! -KB*KV!AA*KV!Zb!"
uV*uV!*uV*KV!YVs#r*uV!"uVKB*KV!A*KV!Z*KV!0*KV!9*uV!*uV! !YVs#r*uV!"uV!"wV!"sV!*s
VA*sV*wV!YV#V*wV!!YV#V!6!QVs#r*wV!"wV*sV#"sV133!"sV!"wV*sV*wV!9"uV!QV**uV!)))*0*
uV!3"wV!QV**uV!)!!*K#V!cE!9*K#V!*Ks#r*MV! *K#Vs#r!s#r!! E3333w E*Ks#r!! E3333!!
E3333w E*K#V3!s#r!s#rH*MV!('BE!! E3333'B#V*Ks#r!! E3333!$! E3333'B!s#r#Vs#r#V*K#
V6s#rH!9!! E3333!))*0*uV!"sV*sV*wV*sV!3*wVW*uV!#V"MV!"MV *KV!0uv*KV!9!"OV!"MV*OV
! 6*KV!03"OVKB*KV!0*KV!9 *KV!(L KB*KV!*A KB*KV!* KB*KV!) KBEI !"MV *KV!' !"MV!"u
VKB*uV*KV!Bs#r*uV!"uV*KV!'j KB*KV!'j *uV!3"IV *KV!A#V"MVKBH*MV*K#V*K#VQV**K-!! E
3333E*K*#V#V#V#VcE!9H!9!! E3333!QV*!#V!!cE!9*iV*Ks#r*MV! &E!! E3333!QV*!#V!!cE!9
!! E3333!! E3333E*Ks#r*K#V!S#V*Ks#r*K#V!L#V*Ks#r*K#V!!*Ks#r*K#V*Ks#r+*K#V!!*KE33
EH *K#V*K#V*K#V*K#V!9H*iV!"iV*iV!,'REVO YS*!*iV*K*!yC!9#fo)))-*iV*K#V!Ls#r*iV *K
#V!Os#r*iV*K#V!Qs#r*iV*K#V!Ss#rH!!QV*!yC!9#fo)))-*iV"yV*yV!yC)))*!QV*0q*yV!3"yVC
*yV!!hE33*yV*Ks#rH*kV!"kV*kV*Ks#rH*K#V!O#V*Ks#r*K#V!, *Ks#r*K#V*Ks#r+!gE33*K#V*K
s#r*iV*K#VN*K#V*K#V!Ls#r*K#V*K#V!Ss#r#V!*K#V#V!Qs#r*K#V#V*K#V!Qs#r#V*K#Vs#r*K#V#
*Ks#rE33HE*MV!E*MV!/! E*MV! E! ELE!! E3333E*Ks#r*K#V!L#V!#V!*K#V!Q#VE!9t *K#V#V*
K#V3*K#V!Q#VE!9H*MV! *OV*Ks#rE! !!B#V*Ks#rE!E*Ks#r*K#V!L#V!$!gE33*K#V!Q#V*Ks#rE*
MV!E*K#V!Q#Vw E*Ks#rL!2E3333H!! E3333!QV*!!!!cE!9*iV*Ks#r!! E J#!*K#VE3333!*K#V
E3333*MV! !! E3333!#V*K#V!O#V3*K#V!Q#VE!9!!!*K#V!S#V3E!9H#V!*K#Vs#r#V*K#V!E33H*M
V!!!*OVE!9!E33E!*IV!!!!!B#VE!9!E33!E33!!!E!9!*K#V!E!9B!B!*K#V!E!9!*MV!!EB!*K#V!E
!9*K#V"qVH!9*MV!e%E*Ks#r*K#V!L#V!"E!! E3333! B33!! E3333!!3 E3333!!3 E3333! B33*
K#V!S#V!Q#V!"!*Ks#r"!"! *Ks#r"!"!*Ks#r"33*K#V*K#VE3333%!s#!B#V!!B#V!!B#V!!B#V!6E
!9!!B#V!!B#V!!B#V!!B#V!6E!9E!E#V E33*qVE33!! E3333!sE*Ks#r*K#V!L#V!HE!! E3333! E
33!! E3333*K#V!S#V!Q#V!!*Ks#r!E33!!!*Ks#r!E33!!!E!*K#VE3333!!3 E3333!!3 E3333! B
33!!!E!9%!$E*MV!#E! B33!! E3333!!3 E3333!!3 E3333! B33*qV!w$*K#V!S#V!4$! *Ks#rr$
!S$!*Ks#rr$!r$!*Ks#rr$33$! *Ks#r*K#V*K#VE3333%!$*K#VSB33%!R%E!!3 E3333!!3!*Ks#r!
E33!33*K#V*K#VE3333n!!!*K#V!Q#VE!9!E33En!E!*K#VE3333!!!E!9!E33n!"E*K#V!S#V!I!*Ks
#r!E33!*MV!E! E33!! E3333!*Ks#r!E33!*Ks#r!E33!!*Ks#r!E3333 E3333! B33!!!*K#V!S#V
3!3E!9%!gE3333.!!&E! B33!+!4 E3333E*Ks#r!!*K#VE!9!E*MV!m&E*Ks#r!!*K#VE!9!!*K#VE!
9E!E!!*K#VE!9&!!*K#VE!9.!8)E!! E3333E*Ks#r!!3 E3333!!3 E3333! B*K#V*K#VE3333n!n!
!!E!9*K#VSE33!E33n33!E3333HB*MV!*MV!*MV!*MV!!!!E!9*MV*Ks#rEB*K#V!!!!E!9*K#V!m!!!
E!9!!!E!9H*MV!*MV!*MV*Ks#rEB*K#V!!!!E!933!*K#VE3333*MV!,T'E!*Ks#r!*Ks#r'*MV!'E!*
Ks#r! *Ks#r'!7E33! B33!!6 E3333E*Ks#r!!*K#VE!9!!!E!9!*K#VE3333!!*K#VE!9E*Ks#r!!*
K#VE!9!E!*K#VE3333!!*K#VE!9!*K#VE3333!!*K#VE!9!!B*MV!*MV!*MV!% *MV!%f!!!E!9*MV*K
s#rEB*K#V!!!!E!9*K#V!!!!E!9!!!E!9HB*MV! E*MV! EB!*K#V! E!9 *MV! EB!*K#V!E!9 B!*
K#V! E!9!*MV! E!E*MV!!EB! J*K#VE!9!!!!3E!9.!*)E*Ks#r!!*K#VE!9E!E*MV!z)!.!5 E333
3! B33!!*K#VE!9.!+E! B33*MV!$*!E33E*Ks#rE!!!E!9!!w EE!9!! E3333!!!E!9E*Ks#r!!*K#
VE!9!E!!*K#VE!9!!E!QV**K#V*K#VE!cE!9!! E3333*iV*Ks#r!*Ks#r*MV!3.B*K#V*K#V!Ss#r!!
E3333!QV*' DRAWROF03E+5!QV*'DRAWKCAB05E!! E3333!*Ks#r*K#V!yC)))*!QV-!QV**K#V!yC
)))*04*K#V!*Ks#r94*K#V'********!yC!9#fo)))-*K#V*K#V!Q#V!Qs#r*K#V!*K#V!Q#V1E*K#VE
!9*MV!*MV!-**MV!Y+E!E!! E3333!!*K#VE!9!!!!3E!9.! ,E!!c E3333w E*Ks#r!! E3333!!
E3333!*K#V!E!9E*Ks#r!*K#VE3333!! E3333.!(-E!!c E3333w E*Ks#r*MV!,!E33E! B33*qV!-
!3333+5*K#V!*kV1E3333*K#V"iV!! E33332!! E3333!!*K#VE!9*K#V!5!!*K#VE!9!B*MV!5E!B5
*K#V! 6!!!E!9!! E3333*MV! R7E!*Ks#r*iV*K#Va6P7! ! *K#V! *K#V!yC)))*!! *K#V!L#V!
*K#V!O#V! *K#*Ks#r-!*Ks#r*MV!-E!*Ks#r!*K#V*K#VE!9*MV! ,!! E3333.!-E!E*MV!-!! E
3333.!0.EE*Ks#r!!*K#VE!9! B33E*Ks#r!!*K#VE!9!!6 E3333!E!!*K#VE!9!!*K#VE!9.33H!9*
iV*Ks#r*iV*Ks#r!*Ks#rE*MV!/V!Q#V! *K#V!S#V*K#V#*Ks#rJ633*K#V"iVH!"KV!*KV77*KV!!A
s#r*KV#"KVp733!+!!As#r!-!!As#r!*!!As#r!/!!As#r!!!As#r!!!As#r!!!As#r!#!!As#r!!!As
#r!! !As#r!(!!As#r!)!!As#r!!!As#r!!!As#r!.!!As#r!,! !As#r!' DNA!!9#fo)))-!!!
s#r!' /E!*Ks#r!! E3333!QV*!#V!!!cE!9*MV! .!! E3333!! E3333E*Ks#r*K#V!0*K#V!L#V!
/!*Ks#r0!*Ks#r*K#V!*Ks#r*iV*K#V01*K#V*K#V!Ls#r*K#V*K#V!S#V!Ss#r*K#V#V*K#V!S#V!3!
Qs#r#V*K#V!S#Vs#r*K YARRA!!9#fo)))-!!!s#r!' NIGEB!!9#fo)))-!!!s#r!' ESAC!!9
#fo)))-!!!s#r!' TSNOC!!9#fo)))-!!!s#r!' VID!!9#fo)))-!!!s#r!' OD!!9#f
o)))-!!!s#r!' OTNWOD!!9#fo)))-!!!s#r!' ESLE!!9#fo)))-!!!s#r! ' DNE!!9#fo
)))-! !!s#r!' ROF!!9#fo)))-!!!#V#*Ks#r%033*MV!.*K#V!*Ks#r*iV*K#V11*K#V*K#V!Q
#V#V3!Qs#r*K#V#*Ks#rI133!! E3333H!9!*Ks#r*iV*Ks#r*MV!02EB!! E3333*MV!2*MV!-n2EB!
! E3333*MV!F2*MV!/2EyB!! E3333*MV!2*MV!&*MV!Q5*MV!&2!*Ks#r2!*Ks#r Js#r!'NOITCNU
F!!9#fo)))-!!!s#r! ' TEG!!9#fo)))-! ! !s#r!' FI!!9#fo)))-!!!!s#r!'
DOM!!9#fo)))-!!"!s#r!' TON!!9#fo)))-!!#!s#r!' FO!!9#fo)))-!!$!s#r!'
RO!!9#fo)))-!!%!s#r!'RUDECORP!!9#fo)))-!!&!s#r!' MARGORP!!9#fo)))-!!'!s#r!'
TUP!!9#fa 32k CP/M and might work in 24k, but there are no memory overflow ch
ecks. If it hangs or something, you probably don't have enough memory. On g
ood sized programs, the compiler manages to get about 300-400 lines of Pascal t
ranslated to object per minute. These figures were taken on my system with 2mH
z Z-80, 8" disk, running under SPEED. Compilation speed will fall to less than
half this rate without SPEED, thus SPEED is strongly recommended. This is part
icularly true if you use the submit file o)))-!!(!s#r!' DROCER!!9#fo)))-!!)!s#
r!' TAEPER!!9#fo)))-!!*!s#r!' NEHT!!9#fo)))-!!+!s#r!' OT!!9#fo)))-!!,!s
#r!' EPYT!!9#fo)))-!!-!s#r!' LITNU!!9#fo)))-!!.!s#r!' RAV!!9#fo)))-!!/!
s#r!' ELIHW!!9#fo)))-!!0!s#r!"mV!"iV' VER CPP!!!.!!to do the compilation. The
run time package does only single sector disk buffering and this too makes SPE
ED very important. How it all works The program PPC.COM takes your Pa
scal source and makes a single pass over it translating it to a sort of p-code
as it goes. This p-code is written to disk. PFET.COM reads the p-code file on
its first pass, assigning 8080 addresses to all p-code labels and storing the
p-code in memory for the second pass. On its second pass, PFET read!R! ! 'GNIT
SIL!"oV' REGETNI!!!!cB!9' RAHC!!!!cB!9' NAELOOB!!!!cB!9' ETYB!!!!cB!9'
DROW!!!!cB!9' AFLA!!!!cB!9! "KVB!"kV!!!B!9!!1B3333!!!B!9!!!B!9*MV!!B33$s the
p-code from memory and generates the actual 8080 object code. This code is wr
itten to a disk file. The last step in compilation is to link the generated ob
ject code to the run time package. This is done by simply using PIP to concate
nate the run time package and the object file from PFET to produce an executabl
e .COM file. The compiler (PPC) is written in Pascal, as is the p-code transla
tor (PFET). The run time package is written in assembler. Differences f
rom "standard" Pascal PPC Users Manual How to use the compiler If y
ou have a file named dog.pas and you want to compile it, you'd just type sub
mit pc dog The compiler will ask "LISTING". You reply with a single characte
r carriage return means no listing, any other character means yes listing. The
listing will be sent to the console as the compilation proceeds. Any errors de
tected in the compilation are flagged in this listing. At some point (hopefully
reasonably near to the po This section will detail the ways in which ppc dev
iates from standard Pascal as defined in "Pascal User Manual and Report", secon
d ed., K. Jensen and N. Wirth. Two additional reserved words have been def
ined get and put. The following words are not now considered reserved, but are
in standard Pascal, so they should be avoided file, goto, in, label, nil, pa
cked, set, and with. The ASCII tab character is an acceptable white space cha
racter. Comments are bint of infraction) the error number will be inserted i
nto the listing, enclosed in "" and "". The line following an error will start
with "********" and otherwise be blank to call attention to the error. The co
mpiler will also wait for a single character from the console before compilati
on continues. This is so people with crt's can see the error. Error numbers s
hould be looked up in Jensen and Wirth (see below). Error number 99 is pound s
ign ("#") expected. The compiler should work with Jegun with the sequence "
(*" and ended with "*)". Identifiers may be very long, but only the first 8 a
re significant. The data type Boolean is not supported. Relational and log
ical operators may be used only in if statements. The boolean constant identi
fiers true and false are not defined. The not operator is not implemented. Th
ese are the legal relational and logical operators , , , , , , and, and or.
The data type integer is available. Values must be in the range -32768 to 3ss
ions to make coding the translator easier. See the syntax graphs to see where
these can be used. Variable declarations have the restriction that the type
must be a type identifier and may not be a complex type. Thus var months a
rray 1 .. 12 of integer is illegal, while type mtharray array 1 .. 12
of integer var months mtharray is legal. In this implementation, funct
ions can return only integer values. This makes it unnecessary (and illegal) to
give a function 2767. There are no standard functions such as abs, sqr, trunc,
etc. The constant maxint is not defined by the compiler. The type integer is
identical to type word. The following operations are defined on integers *m
ultiply /divide and truncate (why use div int's are all you've got!) +add -su
btract Multiplication and division are presently implemented with repeated a
ddition and subtraction (gag!). This makes the order of the operands critical.
If one operand is likely to be less treturn type in the function declaration.
The case statement is limited in that it cannot accept multiple case labe
ls on the same statement. On the other hand, it has been extended to allow an
else statement which is executed when none of the case labels match the express
ion value. See the syntax graphs for the syntax. Single dimensional arrays
of integers and alfas (the two "built-in" types) are allowed. You can also de
clare arrays of subrange or enumerated types, but these are treated ashan the o
ther, put the lesser operand on the left of the multiplication symbol for best
speed. Dividing a large number by one takes a long time -- dividing it by zero
takes forever! (It's not that I'm not aware of the shiftng methods of divisio
n and multiplication, it's just that I wanted something quick and didn't feel l
ike looking up the good routines. I've never felt the need to replace these ro
utines with the good ones.) Also note that there is no integer negation. If
you want negative one, arrays of integers and take the same amount of storage.
Of course, arrays of arrays are not allowed, as that would be more than one d
imension. If a simple alfa variable appears with a subscript after it, it is
treated as though it were an array of integers. This fact can be used to get
at the individual characters of an alfa variable. For example, if "a" is a sim
ple (not an array) alfa variable, then a0 refers to the first two characters.
The least significant eight bits would contain the f write it as 0-1. The ty
pe real is not supported. The type char is not supported, but see type alfa b
elow. The type alfa can hold eight characterers. Alfas can be assigned and
compared just like integers (just don't try to do math on them!). All relationa
l operators are defined using the ASCII collating sequence. Length can't enter
into the compariosn because alfas are always eight characters long (it's up to
you to supply padding). Alfas may be passed as parameters. Since files ar
e notirst character and the most significant eight bits would contain the secon
d character. Record types are not allowed. Therefore, there is no need for
a with statement. There is no set type. (However, it shouldn't be too ha
rd to implement a 64-bit set type using the p-instructions already around for a
lfa variables . . . ). There are no pointer types, and consequently, no ne
w function. There are no files and no read or write statements. All input
and output is done with the put and supported, the program heading is not need
ed, and in fact, is not allowed. The first thing the compiler expects to see
are the global constant declarations. Goto statements are not supported, ther
efore label declarations are not needed and not permitted. Constant declarat
ions are pretty much the same as in regular Pascal, except that leading signs a
re not allowed and character constants can be only one character in length. A
minor extension is that I put in limited compile time constant expre Jget stat
ements. These are only vaguely similar to the standard Pascal put and get. GE
T#0 gets one character from the input file. PUT#0 sends its output to the outp
ut file. PUT#1 sends its output unconditionally to the console. The arguments
to the put statements consist of a series of expressions separated by commas.
If an expression evaluates to an alfa, all eight characters of the alfa are pr
inted. Integer expressions followed by a pound sign ('#') will print the decim
al value of the expressi(* TITLEPascal Pascal Compiler (pascal self compiler)
FILENAMEPPC.PAS AUTHORRobert A. Van Valzah 9/01/79 LAST REVISORR. A.
V. 01/05/80 REASONrepaired bug in var parameters *) (* This is a singl
e pass pascal subset compiler. Source code is read from the input device and a
listing is produced. A label addressed p-code is used so that forward referenc
es are no problem. The use of theses labels removes the need for "backpluggin
g", and with it, the need to keep the generated pon. If no pound sign follows
the expression, the low eight bits of the expression are sent as one character
. The input and output files mentioned above can be either disk files or conso
le input and output. Which is used depends on what is typed on the command lin
e following the compiled .com file when it is executed. If the first filename
following the .com file name is blank or '*', then input characters are taken f
rom the console. If it is the name of a disk file, then input comes from that
di-codes around in core. This cuts down on memory requirements and allows the
compiler to write the p-code to disk as it is generated. The overall design us
es recursive descent where ever possible. internal structure The compiler
can be broken down into the major functional units shown in the table below.
In this compiler, code generation is rolled right in with the parsing routines.
As soon as a valid construct is recognized, code for it is emitted. Block
nesting and funcsk file. A similar rule applies to the second filename followin
g the command and the destiny of the output characters. Var parameters are
different in that if one parameter to a procedure is to be var, then all param
eters must be var parameters. This is a silly restriction that should be easil
y removed by any talented compiler hacker. There is a also a small kludge to m
ake the compiler's job easier the word var must appear in the call to all proc
edures with var parameters, as well as in the tion is shown below. FUNCTIONR
OUTINE NAME error processingerror, test symbol table routinesenter, position
token scannergetsym char scannergetch, getline, etc. semantic routinesbloc
k declaritiveconst, typ, var dcl statement scannerstatement expressio
n scannerepxression, sexp, term, factor main line *) const vhu 0(* version
number hundreds *) vtn 0(* tens *) vun 8(* units *) devrel 'r'(* development
or release vedeclaration. This is very easy to forget an a real nuisance at t
imes. Somebody please fix. It is possible to forward declare procedures an
functions, but as with var parameters, there is a minor syntactic kludge to ma
ke the compiler's life easier. The forward part is handled in the normal way
except that you D-O-N-'-T give the parameter list (the compiler never checks pr
ocedure calls against their declarations anyway!). When you actually want to de
clare the procedure, use the form procedurrsion *) norw 29(* number of reser
ved words *) al 8(* length of identifiers *) alm1 7(* length of id minus 1 *)
llen 80(* max input line length *) symax 300(* max number of symbol table entr
ys *) ordminchar 0(* minimum legal char ord value *) ordmaxchar 127 (* maxim
um legal char ord value *) intsize 2(* size of integer in stack units *) chars
ize 1(* size of character *) boolsize 2(* size of boolean *) alfasize 8(* s
ize of alfa *) true 1(e foo(real parameter list) backward This gives the com
piler a hint it can't miss that this procedure was forward declared earlier! .
The forward part is handled in the normal way except that you D-O-N-'-T give
the parameter list (the compiler never checks procedure calls against their dec
larations anyway!). When you actually want to declare the procedure, use the fo
rm procedur K* kludge until implemented in compiler *) false 0 typesymbo
l ((* symbol tokens *) nul, ident, number, charcon, plus, minus, times, slash
, eql, lss, gtr, lparen, rparen, comma, semicolon, period, lbrack, rbrack, col
on, pound, andsym, arraysym, beginsym, casesym, constsym, divsym, dosym, down
tosym, elsesym, endsym, forsym, funcsym, getsy, ifsym, modsym, notsym, ofsym,
orsym, procsym, progsym, putsym, recordsym, repeatsym, thensym, tosym, typesym
, untilsym, vandex of symbol table entry for declared type of array. this i
s a kludge to save symbol table space. *) (* global scanner result variab
les *) cclen word(* length of last character constant *) ch word(* last ch
aracter read *) sym symbol(* last symbol read *) num word(* last number read *
) id alfa(* last identifier read *) (* temp used in getsym *) aw alatyp
(* global pointers *) tx word(* index of last st entry *) nl word(* larsym, wh
ilesym ) object ( (* types of symbol table entrys *) notype, constant, prozed
ure, funktion, simpvar, arrayvar, tipe, simptype, varparm ) pops ( (* p-op co
des *) cal, jpc, jmp, lit, opr, lod, sto, int, csp, lodx, stox, alit, alod, as
to, alodx, astox, pshf, clod, csto, clodx, cstox, halt, lab, peof, (* end of
p-code file *) laa, lodi, stoi, clodi, cstoi, alodi, astoi, indx, aindx, cindx
) exptyp ( (* possible expression types *) wurd, alpha, chars,st assigned la
bel number *) errflag word(* error occured in last line *) listing word(* 13
if no listing wanted *) erestyp exptyp(* result type of expression *) (*
global variables for procedure getsym for speed *) gsi, gsk, gsj word (* glo
bal variables for function position for speed *) posi word procedure error(n
word) (* parameter is error number *) begin errflagtrue put#1('','',n#,7,'
','') end (* scan next token from input stream. set dontcare ) (* defi
ne all array types needed this is a temporary kludge until the compiler will a
ccept arrays in var declarations *) rwwtyp array0..norw of word rwatyp ar
ray0..norw of alfa alatyp array0..alm1 of word chatyp arrayordminchar..or
dmaxchar of word linetyp array0..llen of word statyp array0..symax of alfa
stwtyp array0..symax of word var (* indexed by reserved word number *) ws
ym rwwtyp(* gives token of type sglobal variables based on result of scan. tok
en scaned identifiersymident, idvalue of identifier numbersymnumber, numvalu
e of number character constsymcharcon, cclenlength of constant, cconcharacters
of constant special symbolsymtoken for special symbol resreved wordsymtoken f
or reserved word *) procedure getsym (* see global variables for local va
r declaration *) procedure getch begin get#0(ch) if listing13 then put#1
(ch) ymbol *) rword rwatyp(* holds reserved word in order *) (* indexed by
ascii character value *) ssym chatyp(* gives token of type sybol *) (* index
ed by character number 0 .. *) ccon linetyp(* last character constant read *)
(* symbol table *) (* indexed by tx *) stname statyp(* symbol table entry na
me *) stkind stwtyp(* symbol table entry kind *) stlev stwtyp(* symbol table e
ntry level *) stadr stwtyp(* symbol table address *) stlen stwtyp(* symbif ch9
7 then chch-32 if ch32 then begin (* this is for speed *) if ch13 then begin
(* get & ignore the line feed *) get#0(ch) if listing13 then put#1(ch) if e
rrflagtrue then begin errflagfalse put#1('********',13,10) get#1(ch)
end end ch32 end end (* getch *) begin (* getsym *) while ch' ' do getc
h if (ch'A') and (ch'Z') then begin (* id or reserved word *) gsk0 repeatif
gskal then ol table length *) (* stname allways contains name, contents of stk
ind determines meaning of other arrays stkindstlevstadrstlen consta
nt0declaredconst value-- 1scalar element prozedurelexical levellabel numberp
arm len funktion""" simpvarlexical levelstack displength arrayvarlexica
l levelbase stack disptype ptr simptype--cardinalitylength tipe0arrayeleme
nt lengthtotal length notes type ptr is i Jbegin awgskch gskgsk+1 end
getch until ((ch'A')or(ch'Z'))and((ch'0')or(ch'9')) (* blank remainder of aw *
) while gskal do begin awgsk' ' gskgsk+1 end (* pack aw word array into a alfa
simple variable *) gsj0 for gsi0 to 3 do begin idgsiawgsj+awgsj+1*256 gsjgs
j+2 end (* perform binary search for symbol in rword *) gsi1 gsjnorw repeatg
sk(gsi+gsj)/2 if idrwordgsk then gsjgsk-1 if idrwordgsk word) var(* values
returned by typ *) ttype object (* type type (simple or not) *) tadr word tle
n word dx word (* data allocation index *) px word (* parameter allocation i
ndex *) btype object (* block type (func or proc) *) tx0 word(* table index at
start of block *) tx1 word(* table index at start of nested proc/func *) i w
ord(* temp used in fwd ref *) (* emit the p-instruction passed in the first a
rgument, taking the level and adthen gsigsk+1 until gsigsj if gsi-1gsj then s
ymwsymgsk else symident end else if (ch'0') and (ch'9') then begin (* number *
) num0 symnumber repeat numnum*10+(ch-'0') getch until (ch'0') or (ch'9') en
d else if ch'(' then begin getch if ch'*' then begin (* inside of comment *)
repeat repeat getch until ch'*' getch until ch')' getch getsym end els
e symlparen end else if ch'''' then begin (* dress from the symbol table ent
ry passed in the second argument. *) procedure genlev(op pops i word) varst
l word begin stlstlevi if stl1 (* only if global variable ref *) then gen(
op,255,stadri) else gen(op,lev-stl,stadri) end (* genlev *) function compco
n (* returned value is a compile time constant *) var i word begin case s
ym of numberbegin compconnum getsym end charcon begin compconccon0 getsym end
identbegcharacter constant *) symcharcon gsk0 repeat repeat getch ccongskc
h gskgsk+1 until ch'''' getch until ch'''' cclengsk-1 end else begin (* sp
ecial symbol *) symssymch getch end end (* getsym *) (* test for present s
ymbol equal to first argument, error number of second argument is issued if not
. also gets next symbol if desired symbol was present *) procedure test(s1,
errn word) begin if syms1 then error(errn) elsein iposition if stkindico
nstant then error(103) compconstadri getsym while symplus do begin getsym c
ompconstadri+compcon end end (* case ident *) elseerror(50) end (* case sym
of *) end (* function compcon *) procedure constdcl varctx word begin
test(ident,2) enter(id,constant,0,0,0) ctxtx test(eql,16) stadrctxcompcon
end (* constdcl *) procedure typ varscard word (* array subs getsym end
(* emit the p-instruction passed in the arguments. *) procedure gen(op pops
lev,adr word) begin put#0(op, lev, adr, adr/256) end (* gen *) (* enter
an identifier into the symbol table with the attributes passed as arguments *
) procedure enter(nam alfa kind,lev,adr,len word) begin txtx+1 if txsymax
then put#1('*SY OVER') else begin stnametxnam stkindtxkind stlevtxlev stadrtx
adr stlentxlen end end (* enter *) cript cardinality *) procedure styp
vari word begin ttypesimptype if symident then begin iposition if (stki
ndisimptype) or (stkinditipe) then begin ttypestkindi tadrstadri tl
enstleni getsym end else if stkindiconstant then begin icompcon tes
t(period,20) test(period,20) tadrcompcon-i+1 tlenintsize end else error(1
03) end else if symlparen (* returns the symbol table index of the identifier
in id. gives error 104 if not found and returns 0. *) function position (
* see global variables for local var declaration *) begin stname0id positx
while stnameposiid do posiposi-1 if posi0 then error(104) positionposi end (
* position *) (* returns the next available label number *) function nlab
begin nlnl+1 nlabnl end (* semantic routine to compile a block *) procedu
re block(lev, plab Ithen begin i0 repeat getsym test(ident,2) enter
(id,constant,intsize,i,0) ii+1 until symcomma tadri tlenintsize test(rpare
n,4) end else begin icompcon test(period,20) test(period,20) tadrcompcon-i
+1 tlenintsize end end (* styp *) begin (* typ *) if symarraysym then styp
else begin getsym test(lbrack,11) styp scardtadr (* save subscript cardinali
ty *) test(rbracp symbol procedure term varmulop symbol procedure fact
or vari word op pops begin (* factor *) case sym of numberbegin (* load
constant *) gen(lit,0,num) chetyp(wurd) getsym end (* case number *) charc
on begin (* load string literal *) if cclen1 then begin gen(lit,0,ccon0) chet
yp(wurd) end else begin chetyp(alpha) gen(alit,0,0) gen(ccon7,ccon6, ccon5
+ccon4*256) k,12) test(ofsym,8) styp ttypetipe tadrtlen tlentlen*scard end
end (* typ *) procedure typedcl vartid alfa (* type identifer *) begin
test(ident,2) tidid test(eql,16) typ enter(tid,ttype,lev,tadr,tlen) end (
* typdcl *) procedure vardcl vari word tx0 word tlen word (* total lengt
h *) vkind word (* variable type *) len word begin test(ident,2) enter(id
,notype,lev,0,0) tx0tx gen(ccon3,ccon2, ccon1+ccon0*256) end getsym end (
* case charcon *) lparenbegin (* get sub expression *) getsym expression(etyp)
chetyp(erestyp) test(rparen,4) end (* case lparen *) identbegin iposition
case stkindi of arrayvar begin (* index into array var *) getsym test(lb
rack,11) expression(wurd) test(rbrack,12) case stadrstleni of intsiz
e begin oplowhile symcomma do begin getsym test(ident,2) enter(id,notype
,lev,0,0) end test(colon,5) test(ident,2) iposition tlenstleni (* total len
gth of variable *) vkindstkindi if vkindsimptype then begin vkindsimpvar len
tlen end else if vkindtipe then begin vkindarrayvar leni (* pointer to array
type info *) end else error(103) for itx0 to tx do begin stkindivkind stlen
ilen if lev1 then stadridx chetyp(wurd) end alfasize begin opalodx chet
yp(alpha) end charsize begin opclodx chetyp(wurd) end end (* case *)
genlev(op,i) end (* case arrayvar *) constant begin (* load constant *)
gen(lit,0,stadri) chetyp(wurd) getsym end (* case constant *) varpar
m begin (* load from var parameter *) getsym genlev(lod,i) gen(lodi,0,0)
chetyp(wurd) end (* case varparm *) dx elsestadridx+tlen dxdx+tlen end
end (* vardcl *) procedure statement vari, elab, flab, tlab, op, updn wor
d procedure expression forward procedure call(i word) varj word begi
n getsym if symlparen then begin getsym if symvarsym then begin expression(
dontcare) while symcomma do begin getsym expression(dontcare) end end
else (* procedure has var parameters *) repeat getsimpvar begin (* load fr
om simple var *) getsym case stleni of intsize begin oplod chetyp
(wurd) end alfasize if symlbrack then begin getsym expression(wu
rd) test(rbrack,12) oplodx chetyp(wurd) end else begin
opalod chetyp(alpha) end charsize begin opclod chetyp(wurd) end
end (* case stleni *) genlev(op,i) end (* case simpvar *) sym test(ide
nt,2) jposition if stkindjvarparm then genlev(lod,j) else genlev
(laa,j) until symcomma test(rparen,4) end gen(cal,lev-stlevi,stadri) gen(in
t,0,0-stleni) end (* procedure call *) procedure expression(etyp exptyp) bac
kward procedure chetyp(destyp exptyp) begin if etypdontcare then etypdes
typ else if etypdestyp then error(129) end (* chetyp *) procedure sexp
varaddo Jfunktion begin (* function reference *) gen(int,0,intsize) c
all(i) chetyp(wurd) end (* case funktion *) end (* case stkindi of *)
end (* case ident *) elseerror(58) end (* case sym of *) end (* factor *)
begin (* term *) factor while (symtimes) or (symslash) or (symandsym) do begi
n if symandsym then gen(pshf,0,0) mulopsym getsym factor if muloptimes then
gen(opr,0,4) else if mulop alfasize opstox intsize opsto charsize opcs
to end (* case stleni of *) else opasto genlev(op,i) end (* case simpvar *
) prozedure begin (* procedure call *) call(i) end (* case prozedure *) funk
tion begin (* function return value *) getsym test(colon,51) test(eql,51) exp
ression(dontcare) gen(sto,0,0-stleni-6) end (* case funktion *) else error(10
3) end (* case stkindi *) end (* case idenslash then gen(opr,0,5) else gen(op
r,0,15) end end (* term *) begin (* sexp *) if (symplus) or (symminus) the
n begin addopsym getsym term if addopminus then gen(opr,0,1) end else term
while (symplus) or (symminus) or (symorsym) do begin if symorsym then gen(psh
f,0,0) addopsym getsym term if addopplus then gen(opr,0,2) else if addopminus
then gen(opr,0,3) else gen(opr,0,14) end end (* sexp *) t *) ifsymbegin g
etsym expression(dontcare) test(thensym,52) flabnlab gen(jpc,0,flab) statemen
t if symelsesym then begin elabnlab gen(jmp,0,elab) gen(lab,0,flab) getsym
statement gen(lab,0,elab) end else gen(lab,0,flab) end (* case ifsym *) for
symbegin getsym test(ident,2) iposition test(colon,51) test(eql,51) expressio
n(dontcare) genlev(sto,i) if symtosym then begin getsym updn19 op11 e begin (
* expression *) sexp if symlss then begin getsym if symeql then begin getsy
m sexp gen(opr,etyp,13) end else if symgtr then begin getsym sexp gen(opr,et
yp,9) end else begin sexp gen(opr,etyp,10) end end else if symgtr then begin
getsym if symeql then begin getsym sexp gen(opr,etyp,11) end else begin s
exp gen(opr,etyp,12) end end else if symeql then begin getsym sexp nd else i
f symdowntosym then begin getsym updn20 op13 end else error(55) expression(do
ntcare) test(dosym,54) tlabnlab gen(lab,0,tlab) gen(opr,0,21) genlev(lod,i)
gen(opr,0,op) elabnlab gen(jpc,0,elab) statement genlev(lod,i) gen(opr,0,up
dn) genlev(sto,i) gen(jmp,0,tlab) gen(lab,0,elab) gen(int,0,0-intsize) end (
* case forsym *) repeatsym begin tlabnlab gen(lab,0,tlab) repeat getsym stat
emengen(opr,etyp,8) end erestypetyp end (* expression *) begin (* statement
*) case sym of identbegin (* could be anything *) iposition case stkindi of
arrayvar begin (* array assignment *) getsym test(lbrack,11) expression(wurd
) test(rbrack,12) test(colon,51) test(eql,51) expression(dontcare) case stad
rstleni of charsize opcstox intsize opstox alfasize opastox end (* case sta
drstleni of *) t until symsemicolon test(untilsym,53) expression(dontcare) g
en(jpc,0,tlab) end (* case repeatsym *) casesym begin getsym expression(dontc
are) if symofsym then error(8) elabnlab (* end label *) repeat getsym gen(o
pr,0,21) (* dup *) gen(lit,0,compcon) test(colon,5) gen(opr,0,8) (* equal rel
op *) flabnlab gen(jpc,0,flab) statement gen(jmp,0,elab) gen(lab,0,flab) un
til (symelsesym) or (symendsym) genlev(op,i) end (* case arrayvar *) varparm
begin (* var parameter assignment *) getsym genlev(lod,i) test(colon,51) test(
eql,51) expression(dontcare) gen(stoi,0,0) end (* case varparm *) simpvar be
gin (* simple variable assignment *) getsym if symlbrack then begin getsym
expression(dontcare) test(rbrack,12) end test(colon,51) test(eql,51) expres
sion(dontcare) if erestypwurd then case stleni of Kif symelsesym then beg
in getsym statement end test(endsym,13) gen(lab,0,elab) gen(int,0,0-intsiz
e) end (* case casesym *) getsybegin getsym test(pound,99) icompcon test(lp
aren,9) test(ident,2) gen(csp,i,0) iposition genlev(sto,i) test(rparen,4) e
nd (* case getsy *) putsymbegin getsym test(pound,99) icompcon if symlparen
then error(9) repeat getsym expression(dontcare) if eresicolon,14) if id'FO
RWARD ' then getsym else if id'BACKWARD' then begin getsym test(semicolon,1
4) i1 idstnametx1 while idstnamei do ii+1 stnamei'********' stadrtx1stadri
block(lev+1,stadri) end else block(lev+1,nl) txtx1 (* leave only proc name
in table *) test(semicolon,14) end test(beginsym,17) gen(lab,0,plab) if lev
1 then gen(int,0,dx) statement while symsemicolon do begin typwurd then op1
else op8 if sympound then begin getsym op3 end gen(csp,i,op) until symcomma
test(rparen,4) end (* case putsym *) beginsym begin repeat getsym statement
until symsemicolon test(endsym,13) end (* case beginsym *) whilesym begin
getsym tlabnlab gen(lab,0,tlab) expression(dontcare) elabnlab gen(jpc,0,elab
) test(dosym,54) statement gen(jmp,0,tlab) gen(lab,0,elab) engetsym stateme
nt end if lev1 then gen(opr,0,0) test(endsym,13) if symcomma then begin get
sym for tx11 to tx do put#1(13,10,tx1#, ' ',stnametx1, ' ',stkindtx1#, ' ',st
levtx1#, ' ', stadrtx1#, ' ',stlentx1#) end txtx0 end (* block *) begin (
* main line *) (* init special symbol token array *) for chordminchar to ordma
xchar do ssymchnul ssym'+'plusssym'-'minus ssym'*'timesssym'/'slash ssym''col
onssyd (* case whilesym *) end (* case *) end (* statement *) (* scan a par
ameter list for a func or proc call and allocate variables for parameters *)
procedure plist vartx0, tx1, i, j word ptyp object begin tx0tx repeat
tx1tx ptypnotype repeat getsym if symvarsym then begin getsym ptypvarparm
end test(ident,2) enter(id,notype,lev+1,0,0) until symcomma test(colon,5) t
est(ident,2) iposm''semicolon ssym''eqlssym'#'pound ssym''lssssym''gtr ssym'
('lparenssym')'rparen ssym''lbrackssym''rbrack ssym'.'periodssym','comma (*
init reserved word arrays *) (* must be in alpahbetical order for binary searc
h *) rword 1'AND 'wsym 1andsym rword 2'ARRAY 'wsym 2arraysym rword 3'BE
GIN 'wsym 3beginsym rword 4'CASE 'wsym 4casesym rword 5'CONST 'wsym 5it
ion if ptypnotype then if stkindisimptype then ptypsimpvar else ptyparrayvar
for jtx1+1 to tx do begin stkindjptyp stlenjstleni stadrjpx+stleni-6 pxpx+
stleni end until symsemicolon for jtx0+1 to tx do stadrjstadrj-px test(rpar
en,4) end (* plist *) begin (* block *) dx0 tx0tx if symconstsym then begi
n getsym repeat constdcl test(semicolon,14) until symident constsym rword
6'DIV 'wsym 6divsym rword 7'DO 'wsym 7dosym rword 8'DOWNTO 'wsym 8do
wntosym rword 9'ELSE 'wsym 9elsesym rword10'END 'wsym10endsym rword11'
FOR 'wsym11forsym rword12'FUNCTION'wsym12funcsym rword13'GET 'wsym13ge
tsy rword14'IF 'wsym14ifsym rword15'MOD 'wsym15modsym rword16'NOT
'wsym16notsym rword17'OF ' end if symtypesym then begin getsym repeat
typedcl test(semicolon,14) until symident end if symvarsym then begin get
sym repeat vardcl test(semicolon,14) until symident end while (symprocsym)
or (symfuncsym) do begin if symprocsym then btypeprozedure else btypefunktio
n getsym enter(id,btype,lev,nlab,0) test(ident,2) tx1tx px0 if symlparen th
en plist stlentx1px (* arg len into proc *) test(sem Iwsym17ofsym rword18'OR
'wsym18orsym rword19'PROCEDUR'wsym19procsym rword20'PROGRAM 'wsym20progs
ym rword21'PUT 'wsym21putsym rword22'RECORD 'wsym22recordsym rword23'REP
EAT 'wsym23repeatsym rword24'THEN 'wsym24thensym rword25'TO 'wsym25to
sym rword26'TYPE 'wsym26typesym rword27'UNTIL 'wsym27untilsym rword28'VA
R 'wsym28varsym rword29riable 1 2 offsets from BR (base register)
function value function return value -10 -9 parameter 1
-8 -7 parameter 2 -6 -5 return address -4 -3 dynam
ic link -2 -1 static link BR - 0 1 local va'WHILE 'wsy
m29whilesym errflagfalse (* clear line error flag *) tx0 (* init table point
ers *) put#1('ppc rev ',vhu#,'.',vtn#,vun#,devrel,13,10) put#1('Listing') get#
1(listing) (* define standard type identifiers *) enter('INTEGER ',simptype,
0,0,intsize) enter('CHAR ',simptype,0,0,charsize) enter('BOOLEAN ',simptype
,0,0,boolsize) enter('BYTE ',simptype,0,0,charsize) enter('WORD ',simpty
pe,0,0,intsize) enter('ALFA ',simptype,0,0,alfasize) ch' ' (* init the char
acter scanner *) getsym nl1 gen(jmp,0,1) block(1,1) gen(csp,0,9) gen(peof,0
,0) if sym period then error(20) end. eof ('INTEGER ',simptype,0,0,intsize
) enter('CHAR ',simptype,0,0,charsize) enter('BOOLEAN ',simptype,0,0,boolsi
ze) enter('BYTE ',simptype,0,0,charsize) enter('WORD ',simptype,0,0,ints
ize) enter('ALFA ',simptype,0,0,alfasize) ch' Notes on regenerating the co
mpiler When reassembling the runtime package, do not use LOAD to create R
TP.COM. Instead, you must use a debugger and do the following 1) Assemble RT
P.ASM to produce RTP.HEX. Make note of the final code address printed by th
e assembler. RTP.COM should go up to this address minus 1. 2) Fire up yo
ur favorite debugger (DDT will do). 3) Fill memory with 0's. 100h - 1000h sh
ould do. 4) Now you can read in RTP.HEX, sta The runtime stack is kept on
the 8080 machine stack. In all diagrams below, the highest memory address is
at the T-O-P of the diagram. charwordalfa (01234567) 7 6 5 4 3 2 H1
pointer to -xL0 -5 return address -4 -3 dynamic link
-2 -1 static link BR - 0 1 local variabrting at 100h. 5)
Boot back to the CCP. 6) Save memory up to one byte below the final code add
ress printed by the assembler. F'rinstance if 0600 was last address, type
"SAVE 5 RTP.COM". This procedure must be followed so that PIP can be used
to concatenate the runtime package and the object code produced by the compiler
. It will also make your life a lot easier when using COMPARE.COM to compare p
arents and childern (should you ever try and extend the compiler). If you m
ake changes le 1 2 . .
. local variable n n function value function retu
rn value -10 -9 parameter 1 -8 -7 parameter 2 -6 -5
return address -4 -3 dynamic link -2 -1 static link
BR - 0 1 local va Ito ppc.pas or pfet.pas, you'll want to be sure that t
he new compiler is capable of compiling itself. In genetics, this would be lik
e making sure that your children are not sterile. The file validate.sub should
help make sure you don't have sterile children. It uses a "know fertile" compi
ler (ppc.com, pfet.com) to compile the new ppc.pas and pfet.pas. The resulting
compiler is then used to compile ppc.pas and pfet.pas again. The results of t
his second compilaton are compared to the results of the base jmpcmpr jmpcsp0
jmpcsp1 jmp$ jmpcsp3 jmp$ jmp$ jmp$ jmp$ jmpcsp8 jmpcsp9 jmpspalit j
mpspalod jmpspasto jmpacmpr jmpopr3 jmpopr4 jmpopr5 jmp$ jmp$ jmpspcal0
jmpspcal jmpspret brds2 insert version number in object db'RTP REV '
dbvhu+'0', vtn+'0', '.', vun+'0', devrel startup sets up the i/o and stacks
before transfering to the object code for execution startup lhld6set stack
under bdos mvil,0 spfirst. If they match, it is safe to erase the "known fe
rtile" compiler because you now know that you have a compiler which can reprodu
ce itself. If they miscompare, you'd better find out why and fix it before era
sing the parents. You should also note that this test only guarantees that yo
u'll be able to continue to use the compiler to compile itself. It does N-O-T g
uarantee that you've got a fully functional compiler, because the compiling the
compiler does not exercise all functions of the compihl shldbrinti base reg
callsetioset ciflag and coflag callopenfopen files if needed jmpocodevector to
generated object code setio sets ciflag to 0ffh (true) if input is to come
from the console (as opposed to 0h if it is to come from disk) and likewise
for coflag for console output setio lda5dhfirst name byte of fcb1 mvib,0ffh
prepare ciflag value cpi' 'blank means console in jzset1 cpi'' means console
in too jzset1 inrbreg b 0 set1 ler. After making any changes to the comp
iler, you'll probably want to make sure that you can still compile and execute
tester.pas. This test doesn't test all functions of the compiler either, but p
assing tester is good sign that you haven't broken anything major. By the way
, it is normal to get a few type missmatch errors while compiling tester. A ne
w version of the compiler which is smarter about type checking would prevent th
ese messages. mova,bget ciflag value staciflagstore it lxih,ifcbcopy first na
me into input fcb lxid,5ch callcopynam lda6dhget first name byte of fcb2 mvi
b,0ffhsame as above cpi' ' jzset2 cpi'' jzset2 inrb set2 mova,b stacofla
g lxih,ofcbcopy second name into output fcb lxid,6ch callcopynam ret cop
ynam moves a file name from de to hl. clobbers reg hl, de, b, a. copynam m
vib,12filename length cn1 ldaxdget from source movm,aput to dest inxd inxh
dcrb jnzcn1 ret openf opens the file name in fcb1 for input if ciflag is
false and opens the name in fcb2 for output if coflag is false openf lda
ciflagget ciflag oraa jnzop1skip open if true xraazap fcbnr staifcb+32 lxid
,ifcb mvic,open callbdos inra jzdiskerrnot found lxih,ibuf+80h init input b
uffer pointer shldiptr op1 ldacoflagget coflag oraa rnzskip open if true l
xid,ofcb mvic,delete callb TITLEPASCAL RUNTIME MODULE FILENAMERTP.ASM AU
THORRobert A. Van Valzah 8/30/79 LAST REVISED12/10/79 R.A.V. REASONchang
ed entry of spalod for hllsbyte of alfa vhuequ0verision number hundreds vt
nequ0version number tens vunequ8version number units devrelequ'R'development o
r release version bdosequ5 openequ15 closeequ16 deleteequ19 readrecequ20
writerec equ21 makeequ22 setdmaequ26 romorgequ100h orgromorg jmpstartup
jmp Kdos lxid,ofcb mvic,make callbdos inra jzdiskerrno idrectory space x
raazap fcbnr staofcb+32 lxih,obufinit output buffer pointer shldoptr ret
base follow static links back reg a levels, return base in reg hl base lh
ldbrstart with current base follow move,mget a link to reg de inxh movd,m x
chglink to reg hl dcraenough links followed jnzfollowno retyes cmpr is ca
lled to set flags like (top)-(top-1) before the call tread a character and pus
h it to stack csp0 staidevsave input device callgets movl,a mvih,0 xthl
pchl csp1 pop stack and write it as a character csp1 staodevsave output
device for putd pophcsp1 return address to reg hl xthlreturn adr to stack, (t
op) to reg hl mova,lchar to reg a for putd callputd ret prthl prints the
contents of reg hl as a decimal number on the pascal output file prthl lxi
b,-10divisor setup lxid,-1quotient o cmpr returns reg a non zero if zero fla
g is reset cmpr pophcmpr return address to reg hl popd(top) to reg de xthl
(top-1) to reg hl, return address to stack mova,dcompare signs xrah jpsamsins
ame sign - unsigned compare ok mova,dopposite sign ral mvia,0ffhreturn nonzer
o value ret samsin mova,dcompre msb's subh rnz mova,e subl ret gets
gets a character from the pasacl input file. it comes from the console if cif
lag is true, else sub10 dadbdivide by continued subtraction inxdupdate quotie
nt jcsub10keep dividing till under draft mvia,10get remainder to reg a addl
pushpswsave on stack xchgquotient to reg hl mova,hany digits left oral cnzse
tupyes - recurse to print next digit poppswno - get digits to print from adi'0
'stack in reverse order & convert jmpputdto ascii and print 'em csp3 pops t
he stack and writes it as a decimal number to the pascal output file csfrom
disk. char returned in reg a. gets ldaciflag oraa jnzciin from console
ldaidev oraa jnzci callidiskchintput disk character ret ci mvic,1 callbd
os ret idiskch gets a character from the input disk file to reg a idiskc
h lhldiptr mova,l cpi(ibuf+80h) and 0ffh jnznoreaddont have to read record
lxid,ibuf mvic,setdma callbdos mvic,readrec lxid,ifcb callbdos oraa jnzdi
skerr lxid,80hrestore dma address mvic,setp3 staodevsave output device for pu
td pophget return address to reg hl xthl(top) to reg hl, return address back t
o stack callprthlprint ret csp8 prints the alfa variable on the stack c
sp8 staodevsave output device for putd mvid,4number of words to pop csp81 po
phtop word from stack to hl xthl pushdsave word count pushhsave ms char of wo
rd mova,lprint ls char of word callputd pophget word again mova,hprint ms ch
ar of word calldma callbdos lxih,ibuf noread mova,mget character inxh shl
diptrupdate pointer ret putd puts a character to the pascal output file. i
t goes to the console if coflag is true, else to the disk. char is passed in
reg a. putd movc,asave char while testing coflag ldacoflag oraa jnzcoout
to console ldaodevget output device oraa jnzcoonly device zero can go to dis
k mova,cget character back callodiskchout to disk ret co move,cgeputd popd
get word count dcrddoen all 4 words jnzcsp81nope ret csp9 returns control
to the operating system (boots) csp9 ldacoflagwas output to console oraa
jnz0yes - just return to cp/m seof mvia,1ahsend eof character callodiskch ld
aoptr cpi(obuf+1) and 0ffh jnzseofuntil last record has been written lxid,ofc
b mvic,close callbdosclose output file inra jzdiskerr jmp0 diskerr lxid,e
rrmsg mvic,9 callbdos jmp0 errmt character back mvic,2 callbdos ret o
diskch sends the character in reg to the disk output file odiskch pushpsw l
hldoptrsee if past end of out buffer mova,l cpi(obuf+80h) and 0ffh jnznowrite
nope lxid,obuf mvic,setdma callbdos lxid,ofcb mvic,writerec callbdos oraa
jnzdiskerr lxid,80hrestore dma address mvic,setdma callbdos lxih,obuf now
rite poppsw movm,astore in buffer inxh shldoptrsave new pointer ret csp
0 Ksgdb'disk error$' spalit takes the eight bytes following the call to it
and pushes them into the stack spalit pophreturn address to reg hl mvia,
4eight bytes is four words moralit movd,mget a word from code and . . . inxh
move,m inxh pushdpush it into the stack dcradone all words jnzmoralitno pc
hlreturn to byte following dw's spalod enter with a pointer to lsbyte (first
character) of alfa variable and it pushes the variable into the mordiv i
nxb dadd jcmordiv movh,b movl,c popb xthl pchl call here with adr to
call in reg de spcal0 lhldbr pushhstatic link pushhdynamic link lxih,0 d
adsp shldbr xchgpchl to address to call pchl call here with level differe
nce in reg a and address to call in reg de spcal lhldbrdynamic link pushh
pushdsave call address callfollowget static link xthlstatic link to stack, c
all addresss to hl xchgcall addrestack spalod lxib,7bias hl to point to msb
yte dadb popbget return address to reg b mvia,4four words per alfa moralod
movd,mget a word from the alfa dcxh move,m dcxh pushdand push it into the st
ack dcradone all words yet jnzmoralodno movh,bpchl to return address movl,c
pchl spasto enter with reg hl pointing to lsbyte (first character) of an
alfa variable, an alfa is popped from the stack and stored at reg hl spasto
popbgetss to reg de lxih,0 dadsp shldbr xchgpchl to call address pchl
jump here to return from a procedure spret lhldbrget old sp back sphl pop
pswpop and ignore static link pophdynamic link shldbrrestore base register re
t ifcbdb0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 db0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0 a few too many ofcbdb0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 db0,0,0,0,0,0,0
,0,0,0,0,0,0,0,0,0,0,0,0 ciflagdb0 coflagdb0 odevdb0 idevdb0 i return add
ress mvia,4four words per alfa morasto popdget a word from the stack movm,ea
nd store it into alfa inxh movm,d inxh dcradone all words yet jnzmorastono
movh,bpchl to return address movl,c pchl acmpr compares two alfa variable
s on the stack, sets flags like (top)-(top-1) acmpr lxih,18compute stack p
ointer after dadspcompare is done pushhsave it lxid,-8compute address of top-
1 dadd xchgtop-1 ptr to reg de daddptrds2 optrds2 ibufds128 obufds128 o
rg(($-1) and 0ff00h) + 100h ocodestart of compiled code endromorg ter ret
ifcbdb0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 db0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0 a few too many ofcbdb0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 db0,0,0,0,0,0,0,0
,0,0,0,0,0,0,0,0,0,0,0 ciflagdb0 coflagdb0 odevdb0 idevdb0 itop ptr to re
g hl xchgtop ptr to reg de, top-1 to hl mvic,8chars per alfa moracmp ldaxd
cmpm jnzexitacmmiscompare - return with flags inxh inxd dcrc jnzmoracmpnot
done comparing exitacm pophnew stack pointer to reg hl popdreturn address to
reg de sphl xchg pchl opr3 subtracts (top) from (top-1) opr3 pophretu
rn address to reg hl popd(top) to reg de xthlput back return address, (top-1)
to hl xraanegate reg de, holding (topZ£-MzRTP REV 00.8R*."Kl x2'!m x2(!lw#'2!"+
(2!!"-*K#Vzzz'$*$**+R/!/#"+O(l)lysY*-/!w#"-2*o&2)X 0X2)2)XX(s) sube move,a sb
bd sube movd,a daddadd -(top) to (top-1) xthlleave restult on stack and retu
rn pchladdress in reg hl opr4 multiply (top) by (top-1) opr4 poph popd
xthl pushb movb,h movc,l lxih,0 mulmor mova,c orab jzmuldone dcxb da
dd jmpmulmor muldone popb xthl pchl opr5 divides (top-1) by (top) op
r5 poph popd xthl pushb xraanegate reg de sube move,a sbbd sube movd,a
lxib,-1 J-"disk error$V##0V++Ais#r#Pi!9u# jWDM!yWi*K!9"K*K!9"K*K"K(* TITLE
pascal compiler TESTER program FILENAMETESTER.PAS AUTHORRobert A. Van Valz
ah 01/08/80 LAST REVISEDR. A. V. 01/15/80 REASONadded repeat and whil
e testing *) (* check that all legal declaraton syntax is accepted *) (* s
emantics can be checked only by inspection of the generated code *) const
c1 'x' c2 13 c3 c2 c4 c3+13 c5 c2+c3+c4 amax 513 (* max array subsript te
sted *) type t1 c1..c2 t2 0 ..c2 t3 c1..99 t4 t3 t5 (zero,one,two) t6 0
..99 t7 array t1 of t6 watyp array 0..amax of word aatyp array 0..amax of alf
a var v1 t1 v2,v3 t2 v4 t6 gi word (* global variables used below *) gj
word gwa watyp (* global word array *) gaa aatyp (* global alfa array *) apat
r alfa (* alfa test pattern *) procedure fortest vari word procedure c
rlf (* test nested procedures *) begin put#1(13,10) end begin put#1('for te
st',13,10) put#1('lcl 1-10') for i1 to 10 do put#1(' ',i#) crlf put#1('gbl 1
-10') for gi1 to 10 do put#1(' ',gi#) crlf put#1('lcl 10-1') for i10 downto
1 do put#1(' ',i#) crlf end (* procedure fortest *) procedure repttest v
ari word begin put#1('rpt 1-10') i1 repeat put#1(' ',i#) ii+1 until i10
put#1(13,10) end (* procedure repttest *) procedure whiltest vari word
begin put#1('whl 1-10') i1 while i10 do begin put#1var n,k integer f
unction stirling(n,k integer) begin if (k1) or (nk) then stirl
ing1 else stirlingstirling(n-1,k-1)+k*stirling(n-1,k) end (* function
stirling *) begin (* main line *) put#1(9,9,9,9,9,'k',13,10) (* print cente
red "k" *) put#1('n', 9) (* print column headings *) for n1 to
10 do put#1(n#,9) put#1(13, 10) put#1(9,'',9,'',9,'',9,'',9,'',9,'',9,'',9
,'',9,'',9,'',13,10) for n1 to 10 do begin (* print bo(' ',i#) ii+1 end
put#1(13,10) end (* procedure whiltest *) procedure simpvar (* test simple v
ariables *) vari,j word a,b alfa begin put#1('testing ','simpvars',13,
10) i513j1027 (* adjacent vars unique *) if i513 then put#1('nope i',i#) if
j1027 then put#1('nope j',j#) a'abcdefgh' if a'abcdefgh' then put#1('alfacmpr
') (* test simple alfa subscripting hack *) a2'5'+'6'*256 (* a should 'abcd56
gh' *) if (a'abcd56gh') or (a2'5dy of table *) put#1(n#, '', 9) for k1
to n do put#1(stirling(n,k)#, 9) put#1(13, 10) (* start new line *)
end end. ) (* print centered "k" *) put#1('n', 9) (* print
column headings *) for n1 to 10 do put#1(n#,9) put#1(13, 10) put#1(9,'',9
,'',9,'',9,'',9,'',9,'',9,'',9,'',9,'',9,'',13,10) for n1 to 10 do begin
(* print bo K '+'6'*256) then put#1('alfa sub') end (* simpvar *)
procedure arytest (* test array variables *) vari word (* index to test arra
ys *) (* return word array test data based on subscript *) function pattern(
i word) begin patternamax-i+13 end procedure wordary (* test word arrays *
) varlwa watyp (* local word array *) begin put#1('lwordary') (* fill ar
ray with test pattern *) for i0 to amax do lwaipattern(i) for i0 to amax do
if lwaipattern(i) then put#1('lwa fail',i#) for i0 to amax do gwaipattern
(i) for i0 to amax do if gwaipattern(i) then put#1('gwa fail ',i#) put
#1(13,10) end (* procedure wordary *) procedure alfaary (* test alfa arrays
*) varlaa aatyp a alfa (* return alfa array test data based in apatr *)
procedure alfapatr(i word) begin apatr3i*3 apatr2i*5 apatr1i*7 apatr0i*9
end (* procedure alfapatr *) begin (* procedure alfaary *) put#1(13,10,'lal
faary') for i0 to amax do begin put#1('-') alfapatr(i) laaiapatr end for
i0 to amax do begin alfapatr(i) if laaiapatr then put#1('laa fail',i
#) else put#1('.') end put#1(13,10,'galfaary') for i0 to amax do begin
put#1('-') alfapatr(i) gaaiapatr end for i0 to amax do begin alfapatr(
i) if gaaiapatr then put#1('gaa fail',i#) else put#1('.') end put#
1(13,10) end (* procedure alfaary *) begin (* procedure arytest *) wordary
alfaary end (* procedure arytest *) begin (* main line *) fortest repttes
t whiltest simpvar arytest end. se put#1('.') end put#1(13,10,'galfaary'
) for i0 to amax do begin put#1('-') alfapatr(i) gaaiapatr end for i0 to
amax do begin alfapatr(i) if gaaiapatr then put#1('gaa fail',i#)
else put#1('.')ppc ppc.pas a.pco pfet a.pco a.oco era a.pco pip ppcnew.comr
tp.com,a.ocovo era a.oco ppc pfet.pas a.pco pfet a.pco a.oco era a.pco pip
pfetnew.comrtp.com,a.ocovo era a.oco ppcnew ppc.pas a.pco pfetnew a.pco a.oco
era a.pco pip ppcself.comrtp.com,a.ocovo era a.oco compare ppcself.com ppcn
ew.com ppcnew pfet.pas a.pco pfetnew a.pco a.oco era a.pco pip pfetself.comr
tp.com,a.ocovo compare pfetself.com pfetnew.com !J!!!!!!!!! "J""""""""" #K
######### $K$$$$$$$$$ %J%%%%%%%%% &J&&&&&&&&& 'K''''''''' £+9 K , J £+9 H V
)7 E X, J £, K £, J Z09 G X*7 G Z- L £+ L , H Z£*7 F Y. N - O - L ,8 H Z£, L - P
b- M £,9 G Z- N / W f. P b, H X+ L / T h. O - I Z- N b/A T i. O f0 T i. N 0 J -
Q e. Q f- N - L , O d