Wacci Public Domain Disc 16 (UK) (Face A) (1994) [Original] [COMPILATION].dsk
HexaDumpAscii only
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
Tous droits réservés. Reproduction sans autorisation interdite. © Kukulcan