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 37 30 35 31 34 00 ..SAMdisk170514.
000030: 2A 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 13 13 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 00 00 00 Track-Info......
000110: 00 00 01 00 02 09 52 E5 00 00 C1 02 00 00 00 02 ......R.........
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 52 55 4E 54 49 4D 45 20 41 53 4D 00 00 00 5D .RUNTIME ASM...]
000210: 02 03 04 05 06 07 08 09 0A 0B 0C 0D 00 00 00 00 ................
000220: 00 53 54 44 4C 49 42 20 20 41 53 4D 00 00 00 80 .STDLIB ASM....
000230: 0E 0F 10 11 12 13 14 15 16 17 18 19 1A 1B 1C 1D ................
000240: 00 53 54 44 4C 49 42 20 20 41 53 4D 01 00 00 49 .STDLIB ASM...I
000250: 1E 1F 20 21 22 23 24 25 26 27 00 00 00 00 00 00 .. !"#$%&'......
000260: 00 53 55 42 4D 49 54 20 20 43 20 20 00 00 00 34 .SUBMIT C ...4
000270: 28 29 2A 2B 2C 2D 2E 00 00 00 00 00 00 00 00 00 ()*+,-..........
000280: 00 46 55 4E 43 54 49 4F 4E 41 53 4D 00 00 00 18 .FUNCTIONASM....
000290: 2F 30 31 00 00 00 00 00 00 00 00 00 00 00 00 00 /01.............
0002A0: 00 46 55 4E 43 54 49 4F 4E 43 52 4C 00 00 00 06 .FUNCTIONCRL....
0002B0: 32 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 2...............
0002C0: 00 43 20 20 20 20 20 20 20 44 45 46 00 00 00 2F .C DEF.../
0002D0: 33 34 35 36 37 38 00 00 00 00 00 00 00 00 00 00 345678..........
0002E0: 00 43 20 20 20 20 20 20 20 53 55 42 00 00 00 02 .C SUB....
0002F0: 39 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 9...............
000300: 00 43 31 20 20 20 20 20 20 43 20 20 00 00 00 51 .C1 C ...Q
000310: 3A 3B 3C 3D 3E 3F 40 41 42 43 44 00 00 00 00 00 :;<=>?@ABCD.....
000320: 00 43 32 20 20 20 20 20 20 43 20 20 00 00 00 62 .C2 C ...b
000330: 45 46 47 48 49 4A 4B 4C 4D 4E 4F 50 51 00 00 00 EFGHIJKLMNOPQ...
000340: 00 43 34 20 20 20 20 20 20 43 20 20 00 00 00 2A .C4 C ...*
000350: 52 53 54 55 56 57 00 00 00 00 00 00 00 00 00 00 RSTUVW..........
000360: 00 43 35 20 20 20 20 20 20 43 20 20 00 00 00 37 .C5 C ...7
000370: 58 59 5A 5B 5C 5D 5E 00 00 00 00 00 00 00 00 00 XYZ[\]^.........
000380: 00 43 36 20 20 20 20 20 20 43 20 20 00 00 00 1D .C6 C ....
000390: 5F 60 61 62 00 00 00 00 00 00 00 00 00 00 00 00 _`ab............
0003A0: 00 43 38 20 20 20 20 20 20 43 20 20 00 00 00 38 .C8 C ...8
0003B0: 63 64 65 66 67 68 69 00 00 00 00 00 00 00 00 00 cdefghi.........
0003C0: 00 43 37 20 20 20 20 20 20 43 20 20 00 00 00 6A .C7 C ...j
0003D0: 6A 6B 6C 6D 6E 6F 70 71 72 73 74 75 76 77 00 00 jklmnopqrstuvw..
0003E0: 00 43 39 20 20 20 20 20 20 43 20 20 00 00 00 1A .C9 C ....
0003F0: 78 79 7A 7B 00 00 00 00 00 00 00 00 00 00 00 00 xyz{............
000400: 6D 09 0D 0A 09 6A 6D 70 09 40 73 78 74 0D 0A 3B m....jmp.@sxt..;
000410: 0D 0A 3B 09 66 65 74 63 68 20 61 20 73 69 6E 67 ..;.fetch a sing
000420: 6C 65 20 62 79 74 65 20 66 72 6F 6D 20 73 74 61 le byte from sta
000430: 63 6B 20 70 6C 75 73 20 61 20 32 20 62 79 74 65 ck plus a 2 byte
000440: 20 6F 66 66 73 65 74 0D 0A 3B 09 61 6E 64 20 73 offset..;.and s
000450: 69 67 6E 20 65 78 74 65 6E 64 20 62 79 74 65 20 ign extend byte
000460: 69 6E 74 6F 20 68 6C 0D 0A 3B 0D 0A 40 67 63 68 into hl..;..@gch
000470: 61 72 73 6C 3A 63 73 65 63 74 0D 0A 09 70 6F 70 arsl:csect...pop
000480: 09 62 0D 0A 09 6C 64 61 78 09 62 0D 0A 09 6D 6F .b...ldax.b...mo
000490: 76 09 6C 2C 61 09 0D 0A 09 69 6E 78 09 62 09 0D v.l,a....inx.b..
0004A0: 0A 09 6C 64 61 78 09 62 09 0D 0A 09 6D 6F 76 09 ..ldax.b....mov.
0004B0: 68 2C 61 09 0D 0A 09 69 6E 78 09 68 09 0D 0A 09 h,a....inx.h....
0004C0: 64 61 64 09 73 70 09 0D 0A 09 70 75 73 68 09 62 dad.sp....push.b
0004D0: 09 0D 0A 09 6D 6F 76 09 61 2C 6D 09 0D 0A 09 6A ....mov.a,m....j
0004E0: 6D 70 09 40 73 78 74 09 0D 0A 3B 0D 0A 3B 09 66 mp.@sxt...;..;.f
0004F0: 65 74 63 68 20 61 20 73 69 6E 67 6C 65 20 62 79 etch a single by
000500: 74 65 20 66 72 6F 6D 20 61 64 64 72 65 73 73 20 te from address
000510: 69 6E 20 68 6C 20 61 6E 64 0D 0A 3B 09 73 69 67 in hl and..;.sig
000520: 6E 20 65 78 74 65 6E 64 20 69 6E 74 6F 20 68 6C n extend into hl
000530: 0D 0A 3B 0D 0A 40 67 63 68 61 72 3A 20 63 73 65 ..;..@gchar: cse
000540: 63 74 0D 0A 09 6D 6F 76 09 61 2C 6D 0D 0A 09 6A ct...mov.a,m...j
000550: 6D 70 09 40 73 78 74 0D 0A 3B 0D 0A 3B 09 70 75 mp.@sxt..;..;.pu
000560: 74 20 74 68 65 20 61 63 63 75 6D 20 69 6E 74 6F t the accum into
000570: 20 68 6C 20 61 6E 64 20 73 69 67 6E 20 65 78 74 hl and sign ext
000580: 65 6E 64 20 74 68 72 6F 75 67 68 20 68 0D 0A 3B end through h..;
000590: 0D 0A 40 73 78 74 3A 09 63 73 65 63 74 0D 0A 09 ..@sxt:.csect...
0005A0: 6D 6F 76 09 6C 2C 61 0D 0A 09 72 6C 63 0D 0A 09 mov.l,a...rlc...
0005B0: 73 62 62 09 61 0D 0A 09 6D 6F 76 09 68 2C 61 0D sbb.a...mov.h,a.
0005C0: 0A 09 72 65 74 0D 0A 3B 0D 0A 3B 09 66 65 74 63 ..ret..;..;.fetc
0005D0: 68 20 61 20 66 75 6C 6C 20 31 36 2D 62 69 74 20 h a full 16-bit
0005E0: 69 6E 74 65 67 65 72 20 66 72 6F 6D 20 6F 66 66 integer from off
0005F0: 73 65 74 20 70 6C 75 73 20 73 74 61 63 6B 20 70 set plus stack p
000600: 00 43 4C 20 20 20 20 20 20 53 55 42 00 00 00 01 .CL SUB....
000610: 7C 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |...............
000620: 00 43 33 20 20 20 20 20 20 43 20 20 00 00 00 25 .C3 C ...%
000630: 7D 7E 7F 80 81 00 00 00 00 00 00 00 00 00 00 00 }~..............
000640: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000650: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000660: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000670: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000680: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000690: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0006A0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0006B0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0006C0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0006D0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0006E0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0006F0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000700: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000710: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000720: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000730: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000740: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000750: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000760: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000770: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000780: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000790: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
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: 6F 69 6E 74 65 72 0D 0A 3B 09 69 6E 74 6F 20 68 ointer..;.into h
000810: 6C 0D 0A 3B 0D 0A 40 67 69 6E 74 73 73 3A 63 73 l..;..@gintss:cs
000820: 65 63 74 0D 0A 09 70 6F 70 09 62 09 0D 0A 09 6C ect...pop.b....l
000830: 64 61 78 09 62 09 0D 0A 09 6D 6F 76 09 6C 2C 61 dax.b....mov.l,a
000840: 09 0D 0A 09 6D 76 69 09 68 2C 30 09 0D 0A 09 69 ....mvi.h,0....i
000850: 6E 78 09 62 09 0D 0A 09 64 61 64 09 73 70 09 0D nx.b....dad.sp..
000860: 0A 09 70 75 73 68 09 62 09 0D 0A 09 6D 6F 76 09 ..push.b....mov.
000870: 61 2C 6D 09 0D 0A 09 69 6E 78 09 68 09 0D 0A 09 a,m....inx.h....
000880: 6D 6F 76 09 68 2C 6D 09 0D 0A 09 6D 6F 76 09 6C mov.h,m....mov.l
000890: 2C 61 09 0D 0A 09 72 65 74 09 09 0D 0A 3B 0D 0A ,a....ret....;..
0008A0: 3B 09 66 65 74 63 68 20 61 20 31 36 2D 62 69 74 ;.fetch a 16-bit
0008B0: 20 69 6E 74 65 67 65 72 20 66 72 6F 6D 20 73 74 integer from st
0008C0: 61 63 6B 20 70 6F 69 6E 74 65 72 20 70 6C 75 73 ack pointer plus
0008D0: 0D 0A 3B 09 61 20 31 36 20 62 69 74 20 6F 66 66 ..;.a 16 bit off
0008E0: 73 65 74 20 61 6E 64 20 70 75 74 20 76 61 6C 75 set and put valu
0008F0: 65 20 69 6E 20 68 6C 0D 0A 3B 0D 0A 40 67 69 6E e in hl..;..@gin
000900: 74 73 6C 3A 63 73 65 63 74 0D 0A 09 70 6F 70 09 tsl:csect...pop.
000910: 62 0D 0A 09 6C 64 61 78 09 62 0D 0A 09 6D 6F 76 b...ldax.b...mov
000920: 09 6C 2C 61 0D 0A 09 69 6E 78 09 62 0D 0A 09 6C .l,a...inx.b...l
000930: 64 61 78 09 62 0D 0A 09 6D 6F 76 09 68 2C 61 0D dax.b...mov.h,a.
000940: 0A 09 69 6E 78 09 62 0D 0A 09 64 61 64 09 73 70 ..inx.b...dad.sp
000950: 0D 0A 09 70 75 73 68 09 62 0D 0A 09 6D 6F 76 09 ...push.b...mov.
000960: 61 2C 6D 0D 0A 09 69 6E 78 09 68 0D 0A 09 6D 6F a,m...inx.h...mo
000970: 76 09 68 2C 6D 0D 0A 09 6D 6F 76 09 6C 2C 61 0D v.h,m...mov.l,a.
000980: 0A 09 72 65 74 09 09 0D 0A 3B 0D 0A 3B 09 66 65 ..ret....;..;.fe
000990: 74 63 68 20 61 20 66 75 6C 6C 20 31 36 2D 62 69 tch a full 16-bi
0009A0: 74 20 69 6E 74 65 67 65 72 20 66 72 6F 6D 20 74 t integer from t
0009B0: 68 65 20 61 64 64 72 65 73 73 20 69 6E 20 68 6C he address in hl
0009C0: 0D 0A 3B 09 69 6E 74 6F 20 68 6C 0D 0A 3B 0D 0A ..;.into hl..;..
0009D0: 40 67 69 6E 74 3A 09 63 73 65 63 74 0D 0A 09 6D @gint:.csect...m
0009E0: 6F 76 09 61 2C 6D 0D 0A 09 69 6E 78 09 68 0D 0A ov.a,m...inx.h..
0009F0: 09 6D 6F 76 09 68 2C 6D 0D 0A 09 6D 6F 76 09 6C .mov.h,m...mov.l
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: 2C 61 0D 0A 09 72 65 74 0D 0A 3B 0D 0A 3B 09 73 ,a...ret..;..;.s
000C10: 74 6F 72 65 20 61 20 62 79 74 65 20 73 74 61 63 tore a byte stac
000C20: 6B 20 70 6C 75 73 20 38 20 62 79 74 65 20 6F 66 k plus 8 byte of
000C30: 66 73 65 74 0D 0A 3B 0D 0A 40 70 63 68 61 72 73 fset..;..@pchars
000C40: 73 3A 63 73 65 63 74 0D 0A 09 78 63 68 67 09 0D s:csect...xchg..
000C50: 0A 09 70 6F 70 09 62 0D 0A 09 6C 64 61 78 09 62 ..pop.b...ldax.b
000C60: 0D 0A 09 6D 6F 76 09 6C 2C 61 0D 0A 09 6D 76 69 ...mov.l,a...mvi
000C70: 09 68 2C 30 0D 0A 09 69 6E 78 09 62 0D 0A 09 64 .h,0...inx.b...d
000C80: 61 64 09 73 70 0D 0A 09 6D 6F 76 09 6D 2C 65 0D ad.sp...mov.m,e.
000C90: 0A 09 78 63 68 67 0D 0A 09 70 75 73 68 09 62 0D ..xchg...push.b.
000CA0: 0A 09 72 65 74 0D 0A 3B 0D 0A 3B 09 73 74 6F 72 ..ret..;..;.stor
000CB0: 65 20 61 20 62 79 74 65 20 61 74 20 73 74 61 63 e a byte at stac
000CC0: 6B 20 70 6C 75 73 20 6F 66 66 73 65 74 0D 0A 3B k plus offset..;
000CD0: 0D 0A 40 70 63 68 61 72 73 6C 3A 63 73 65 63 74 ..@pcharsl:csect
000CE0: 0D 0A 09 78 63 68 67 0D 0A 09 70 6F 70 09 62 0D ...xchg...pop.b.
000CF0: 0A 09 6C 64 61 78 09 62 0D 0A 09 6D 6F 76 09 6C ..ldax.b...mov.l
000D00: 2C 61 0D 0A 09 69 6E 78 09 62 0D 0A 09 6C 64 61 ,a...inx.b...lda
000D10: 78 09 62 0D 0A 09 6D 6F 76 09 68 2C 61 0D 0A 09 x.b...mov.h,a...
000D20: 69 6E 78 09 62 0D 0A 09 64 61 64 09 73 70 0D 0A inx.b...dad.sp..
000D30: 09 6D 6F 76 09 6D 2C 65 09 09 0D 0A 09 78 63 68 .mov.m,e.....xch
000D40: 67 0D 0A 09 70 75 73 68 09 62 0D 0A 09 72 65 74 g...push.b...ret
000D50: 0D 0A 3B 0D 0A 3B 09 73 74 6F 72 65 20 31 36 2D ..;..;.store 16-
000D60: 62 69 74 20 69 6E 74 65 67 65 72 20 61 74 20 6F bit integer at o
000D70: 66 66 73 65 74 20 70 6C 75 73 20 73 74 61 63 6B ffset plus stack
000D80: 20 0D 0A 3B 0D 0A 40 70 69 6E 74 73 73 3A 63 73 ..;..@pintss:cs
000D90: 65 63 74 0D 0A 09 78 63 68 67 0D 0A 09 70 6F 70 ect...xchg...pop
000DA0: 09 62 0D 0A 09 6C 64 61 78 09 62 0D 0A 09 6D 6F .b...ldax.b...mo
000DB0: 76 09 6C 2C 61 0D 0A 09 6D 76 69 09 68 2C 30 0D v.l,a...mvi.h,0.
000DC0: 0A 09 69 6E 78 09 62 0D 0A 09 64 61 64 09 73 70 ..inx.b...dad.sp
000DD0: 0D 0A 09 6D 6F 76 09 6D 2C 65 0D 0A 09 69 6E 78 ...mov.m,e...inx
000DE0: 09 68 0D 0A 09 6D 6F 76 09 6D 2C 64 0D 0A 09 78 .h...mov.m,d...x
000DF0: 63 68 67 0D 0A 09 70 75 73 68 09 62 0D 0A 09 72 chg...push.b...r
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: 65 74 0D 0A 3B 0D 0A 3B 09 73 74 6F 72 65 20 61 et..;..;.store a
001010: 20 31 36 20 62 69 74 20 69 6E 74 65 67 65 72 20 16 bit integer
001020: 69 6E 20 68 6C 20 61 74 20 73 74 61 63 6B 20 70 in hl at stack p
001030: 6C 75 73 20 6F 66 66 73 65 74 0D 0A 3B 0D 0A 40 lus offset..;..@
001040: 70 69 6E 74 73 6C 3A 63 73 65 63 74 0D 0A 09 78 pintsl:csect...x
001050: 63 68 67 0D 0A 09 70 6F 70 09 62 0D 0A 09 6C 64 chg...pop.b...ld
001060: 61 78 09 62 0D 0A 09 6D 6F 76 09 6C 2C 61 0D 0A ax.b...mov.l,a..
001070: 09 69 6E 78 09 62 0D 0A 09 6C 64 61 78 09 62 0D .inx.b...ldax.b.
001080: 0A 09 6D 6F 76 09 68 2C 61 0D 0A 09 69 6E 78 09 ..mov.h,a...inx.
001090: 62 0D 0A 09 64 61 64 09 73 70 0D 0A 09 6D 6F 76 b...dad.sp...mov
0010A0: 09 6D 2C 65 0D 0A 09 69 6E 78 09 68 0D 0A 09 6D .m,e...inx.h...m
0010B0: 6F 76 09 6D 2C 64 0D 0A 09 70 75 73 68 09 62 0D ov.m,d...push.b.
0010C0: 0A 09 78 63 68 67 0D 0A 09 72 65 74 0D 0A 3B 0D ..xchg...ret..;.
0010D0: 0A 3B 09 73 74 6F 72 65 20 61 20 31 36 2D 62 69 .;.store a 16-bi
0010E0: 74 20 69 6E 74 65 67 65 72 20 69 6E 20 68 6C 20 t integer in hl
0010F0: 61 74 20 74 68 65 20 61 64 64 72 65 73 73 20 69 at the address i
001100: 6E 20 64 65 0D 0A 3B 0D 0A 40 70 69 6E 74 3A 09 n de..;..@pint:.
001110: 63 73 65 63 74 0D 0A 09 6D 6F 76 09 61 2C 6C 0D csect...mov.a,l.
001120: 0A 09 73 74 61 78 09 64 0D 0A 09 69 6E 78 09 64 ..stax.d...inx.d
001130: 0D 0A 09 6D 6F 76 09 61 2C 68 0D 0A 09 73 74 61 ...mov.a,h...sta
001140: 78 09 64 0D 0A 09 72 65 74 0D 0A 09 70 61 67 65 x.d...ret...page
001150: 0D 0A 40 69 6E 63 64 65 63 3A 63 73 65 63 74 0D ..@incdec:csect.
001160: 0A 3B 0D 0A 3B 09 74 61 6B 65 20 74 68 65 20 61 .;..;.take the a
001170: 64 64 72 65 73 73 20 69 6E 20 68 6C 20 61 6E 64 ddress in hl and
001180: 20 61 64 64 20 76 61 6C 75 65 20 74 68 61 74 20 add value that
001190: 66 6F 6C 6C 6F 77 20 61 6E 64 20 73 61 76 65 20 follow and save
0011A0: 62 61 63 6B 0D 0A 3B 09 61 64 64 72 65 73 73 20 back..;.address
0011B0: 69 6E 20 68 6C 0D 0A 3B 0D 0A 40 70 72 65 69 6E in hl..;..@prein
0011C0: 63 3A 0D 0A 09 63 61 6C 6C 09 40 69 6E 63 64 65 c:...call.@incde
0011D0: 63 6C 0D 0A 09 63 61 6C 6C 09 40 69 6E 63 0D 0A cl...call.@inc..
0011E0: 09 6E 6F 70 0D 0A 09 72 65 74 09 0D 0A 3B 0D 0A .nop...ret...;..
0011F0: 3B 09 74 61 6B 65 20 74 68 65 20 61 64 64 72 65 ;.take the addre
001200: 09 74 69 74 6C 65 09 72 75 6E 74 69 6D 65 20 70 .title.runtime p
001210: 61 63 6B 61 67 65 20 66 6F 72 20 73 6D 61 6C 6C ackage for small
001220: 20 22 43 22 0D 0A 0D 0A 72 61 6D 09 65 71 75 09 "C"....ram.equ.
001230: 30 09 09 3B 73 74 61 72 74 20 6F 66 20 72 61 6D 0..;start of ram
001240: 20 69 6E 20 73 79 73 74 65 6D 0D 0A 09 65 78 74 in system...ext
001250: 72 6E 09 6D 61 69 6E 0D 0A 0D 0A 3B 2A 2A 2A 2A rn.main....;****
001260: 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A ****************
001270: 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A ****************
001280: 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A ****************
001290: 2A 2A 2A 2A 0D 0A 3B 09 09 09 09 09 09 09 2A 0D ****..;.......*.
0012A0: 0A 3B 09 72 75 6E 20 74 69 6D 65 20 6C 69 62 72 .;.run time libr
0012B0: 61 79 20 66 6F 72 20 73 6D 61 6C 6C 20 63 20 63 ay for small c c
0012C0: 6F 6D 70 69 6C 65 72 09 09 2A 0D 0A 3B 09 09 09 ompiler..*..;...
0012D0: 09 09 09 09 2A 0D 0A 3B 09 09 62 79 20 52 6F 6E ....*..;..by Ron
0012E0: 20 43 61 69 6E 09 09 09 09 2A 0D 0A 3B 09 09 09 Cain....*..;...
0012F0: 09 09 09 09 2A 0D 0A 3B 2A 2A 2A 2A 2A 2A 2A 2A ....*..;********
001300: 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A ****************
001310: 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A ****************
001320: 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A ****************
001330: 0D 0A 3B 0D 0A 3B 09 66 65 74 63 68 20 61 20 73 ..;..;.fetch a s
001340: 69 6E 67 6C 65 20 62 79 74 65 20 66 72 6F 6D 20 ingle byte from
001350: 73 74 61 63 6B 20 70 6F 69 6E 74 65 72 20 70 6C stack pointer pl
001360: 75 73 0D 0A 3B 09 6F 66 66 73 65 74 20 6F 66 20 us..;.offset of
001370: 62 79 74 65 20 66 6F 6C 6C 6F 77 69 6E 67 20 63 byte following c
001380: 61 6C 6C 20 61 6E 64 20 73 69 67 6E 20 65 78 74 all and sign ext
001390: 65 6E 64 0D 0A 3B 09 69 6E 74 6F 20 68 6C 0D 0A end..;.into hl..
0013A0: 3B 0D 0A 40 67 63 68 61 72 73 73 3A 63 73 65 63 ;..@gcharss:csec
0013B0: 74 0D 0A 09 70 6F 70 09 62 09 0D 0A 09 6C 64 61 t...pop.b....lda
0013C0: 78 09 62 09 0D 0A 09 6D 6F 76 09 6C 2C 61 09 0D x.b....mov.l,a..
0013D0: 0A 09 69 6E 78 09 62 09 0D 0A 09 6D 76 69 09 68 ..inx.b....mvi.h
0013E0: 2C 30 09 0D 0A 09 64 61 64 09 73 70 09 0D 0A 09 ,0....dad.sp....
0013F0: 70 75 73 68 09 62 09 0D 0A 09 6D 6F 76 09 61 2C push.b....mov.a,
001400: 54 72 61 63 6B 2D 49 6E 66 6F 0D 0A 00 00 00 00 Track-Info......
001410: 01 00 01 00 02 09 52 E5 01 00 C1 02 00 00 00 02 ......R.........
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: 73 73 20 69 6E 20 68 6C 20 61 6E 64 20 73 75 62 ss in hl and sub
001510: 20 76 61 6C 75 65 20 74 68 61 74 20 66 6F 6C 6C value that foll
001520: 6F 77 20 61 6E 64 0D 0A 3B 09 73 61 76 65 20 69 ow and..;.save i
001530: 74 20 62 61 63 6B 20 69 6E 20 70 6C 61 63 65 0D t back in place.
001540: 0A 3B 0D 0A 40 70 72 65 64 65 63 3A 0D 0A 09 63 .;..@predec:...c
001550: 61 6C 6C 09 40 69 6E 63 64 65 63 6C 0D 0A 09 63 all.@incdecl...c
001560: 61 6C 6C 09 40 64 65 63 0D 0A 09 6E 6F 70 0D 0A all.@dec...nop..
001570: 09 72 65 74 0D 0A 3B 0D 0A 3B 09 74 61 6B 65 20 .ret..;..;.take
001580: 74 68 65 20 61 64 64 72 65 73 73 20 69 6E 20 68 the address in h
001590: 6C 20 61 6E 64 20 73 75 62 20 76 61 6C 75 65 20 l and sub value
0015A0: 74 68 61 74 20 66 6F 6C 6C 6F 77 20 61 6E 64 20 that follow and
0015B0: 73 61 76 65 0D 0A 3B 09 62 61 63 6B 20 69 6E 20 save..;.back in
0015C0: 61 64 64 72 65 73 73 20 69 6E 20 68 6C 20 61 6E address in hl an
0015D0: 64 20 72 65 73 74 6F 72 65 20 76 61 6C 75 65 20 d restore value
0015E0: 74 6F 20 70 72 65 20 69 6E 63 0D 0A 3B 0D 0A 40 to pre inc..;..@
0015F0: 70 6F 73 74 69 6E 63 3A 0D 0A 09 63 61 6C 6C 09 postinc:...call.
001600: 40 69 6E 63 64 65 63 6C 0D 0A 09 70 75 73 68 09 @incdecl...push.
001610: 64 0D 0A 09 63 61 6C 6C 09 40 69 6E 63 0D 0A 09 d...call.@inc...
001620: 70 6F 70 09 68 0D 0A 09 6E 6F 70 0D 0A 09 72 65 pop.h...nop...re
001630: 74 0D 0A 3B 0D 0A 3B 09 74 61 6B 65 20 74 68 65 t..;..;.take the
001640: 20 61 64 64 72 65 73 73 20 69 6E 20 68 6C 20 61 address in hl a
001650: 6E 64 20 61 64 64 20 76 61 6C 75 65 20 74 68 61 nd add value tha
001660: 74 20 66 6F 6C 6C 6F 77 20 61 6E 64 0D 0A 3B 09 t follow and..;.
001670: 73 61 76 65 20 62 61 63 6B 20 69 6E 20 61 64 64 save back in add
001680: 72 65 73 73 20 69 6E 20 68 6C 20 72 65 73 74 6F ress in hl resto
001690: 72 65 20 76 61 6C 75 65 20 70 72 65 20 64 65 63 re value pre dec
0016A0: 0D 0A 3B 0D 0A 40 70 6F 73 74 64 65 63 3A 0D 0A ..;..@postdec:..
0016B0: 09 63 61 6C 6C 09 40 69 6E 63 64 65 63 6C 0D 0A .call.@incdecl..
0016C0: 09 70 75 73 68 09 64 0D 0A 09 63 61 6C 6C 09 40 .push.d...call.@
0016D0: 64 65 63 0D 0A 09 70 6F 70 09 68 0D 0A 09 6E 6F dec...pop.h...no
0016E0: 70 0D 0A 09 72 65 74 09 0D 0A 3B 0D 0A 3B 09 6C p...ret...;..;.l
0016F0: 6F 61 64 20 6E 65 65 64 65 64 20 76 61 6C 75 74 oad needed valut
001700: 69 09 62 2C 40 63 6F 6D 70 72 65 74 0D 0A 09 70 i.b,@compret...p
001710: 75 73 68 09 62 0D 0A 09 63 61 6C 6C 09 40 63 6D ush.b...call.@cm
001720: 70 0D 0A 09 72 7A 0D 0A 09 72 6E 63 0D 0A 09 64 p...rz...rnc...d
001730: 63 78 09 68 0D 0A 09 72 65 74 0D 0A 3B 0D 0A 3B cx.h...ret..;..;
001740: 09 74 65 73 74 20 69 66 20 64 65 20 6C 65 73 73 .test if de less
001750: 20 74 68 61 6E 20 6F 72 20 65 71 75 61 6C 20 74 than or equal t
001760: 6F 20 68 6C 20 28 73 69 67 6E 65 64 29 0D 0A 3B o hl (signed)..;
001770: 0D 0A 40 6C 65 3A 0D 0A 09 70 6F 70 09 62 0D 0A ..@le:...pop.b..
001780: 09 70 6F 70 09 64 0D 0A 09 70 75 73 68 09 62 0D .pop.d...push.b.
001790: 0A 09 6C 78 69 09 62 2C 40 63 6F 6D 70 72 65 74 ..lxi.b,@compret
0017A0: 0D 0A 09 70 75 73 68 09 62 0D 0A 09 63 61 6C 6C ...push.b...call
0017B0: 09 40 63 6D 70 0D 0A 09 72 7A 0D 0A 09 72 63 0D .@cmp...rz...rc.
0017C0: 0A 09 64 63 78 09 68 0D 0A 09 72 65 74 0D 0A 09 ..dcx.h...ret...
0017D0: 70 61 67 65 0D 0A 3B 0D 0A 3B 09 74 65 73 74 20 page..;..;.test
0017E0: 69 66 20 64 65 20 67 72 65 61 74 65 72 20 74 68 if de greater th
0017F0: 61 6E 20 68 6C 20 28 75 6E 73 69 67 6E 65 64 29 an hl (unsigned)
001800: 0D 0A 3B 0D 0A 40 75 67 74 3A 0D 0A 09 70 6F 70 ..;..@ugt:...pop
001810: 09 62 0D 0A 09 70 6F 70 09 64 0D 0A 09 70 75 73 .b...pop.d...pus
001820: 68 09 62 0D 0A 09 6C 78 69 09 62 2C 40 63 6F 6D h.b...lxi.b,@com
001830: 70 72 65 74 0D 0A 09 70 75 73 68 09 62 0D 0A 09 pret...push.b...
001840: 78 63 68 67 0D 0A 09 63 61 6C 6C 09 40 75 63 6D xchg...call.@ucm
001850: 70 0D 0A 09 72 63 0D 0A 09 64 63 78 09 68 0D 0A p...rc...dcx.h..
001860: 09 72 65 74 0D 0A 3B 0D 0A 3B 09 74 65 73 74 20 .ret..;..;.test
001870: 69 66 20 64 65 20 6C 65 73 73 20 74 68 61 6E 20 if de less than
001880: 68 6C 28 75 6E 73 69 67 6E 65 64 29 0D 0A 3B 0D hl(unsigned)..;.
001890: 0A 40 75 6C 74 3A 0D 0A 09 70 6F 70 09 62 0D 0A .@ult:...pop.b..
0018A0: 09 70 6F 70 09 64 0D 0A 09 70 75 73 68 09 62 0D .pop.d...push.b.
0018B0: 0A 09 6C 78 69 09 62 2C 40 63 6F 6D 70 72 65 74 ..lxi.b,@compret
0018C0: 0D 0A 09 70 75 73 68 09 62 0D 0A 09 63 61 6C 6C ...push.b...call
0018D0: 09 40 75 63 6D 70 0D 0A 09 72 63 0D 0A 09 64 63 .@ucmp...rc...dc
0018E0: 78 09 68 0D 0A 09 72 65 74 0D 0A 3B 0D 0A 3B 09 x.h...ret..;..;.
0018F0: 74 65 73 74 20 69 66 20 64 65 20 67 72 65 61 74 test if de great
001900: 20 66 6F 72 20 69 6E 63 20 61 6E 64 20 64 65 63 for inc and dec
001910: 20 0D 0A 3B 0D 0A 40 69 6E 63 64 65 63 6C 3A 0D ..;..@incdecl:.
001920: 0A 09 70 6F 70 09 64 0D 0A 09 70 6F 70 09 62 0D ..pop.d...pop.b.
001930: 0A 09 6C 64 61 78 09 62 0D 0A 09 69 6E 78 09 62 ..ldax.b...inx.b
001940: 0D 0A 09 70 75 73 68 09 62 0D 0A 09 70 75 73 68 ...push.b...push
001950: 09 64 0D 0A 09 64 63 78 09 62 0D 0A 09 6F 72 61 .d...dcx.b...ora
001960: 09 61 0D 0A 09 6A 70 09 40 69 6E 63 64 65 63 31 .a...jp.@incdec1
001970: 0D 0A 09 6D 6F 76 09 65 2C 6D 0D 0A 09 69 6E 78 ...mov.e,m...inx
001980: 09 68 0D 0A 09 6D 6F 76 09 64 2C 6D 0D 0A 09 72 .h...mov.d,m...r
001990: 65 74 0D 0A 40 69 6E 63 64 65 63 31 3A 0D 0A 09 et..@incdec1:...
0019A0: 6D 6F 76 09 65 2C 6D 0D 0A 09 6D 6F 76 09 61 2C mov.e,m...mov.a,
0019B0: 65 0D 0A 09 72 6C 63 0D 0A 09 73 62 62 09 61 0D e...rlc...sbb.a.
0019C0: 0A 09 6D 6F 76 09 64 2C 61 0D 0A 09 72 65 74 0D ..mov.d,a...ret.
0019D0: 0A 3B 0D 0A 3B 09 61 64 64 20 76 61 6C 75 65 20 .;..;.add value
0019E0: 69 6E 20 61 20 74 6F 20 64 65 20 61 6E 64 20 73 in a to de and s
0019F0: 61 76 65 20 61 74 20 61 64 64 72 65 73 73 20 69 ave at address i
001A00: 6E 20 68 6C 0D 0A 3B 0D 0A 40 69 6E 63 3A 0D 0A n hl..;..@inc:..
001A10: 09 61 6E 69 09 30 37 66 68 0D 0A 09 61 64 64 09 .ani.07fh...add.
001A20: 65 0D 0A 09 6D 6F 76 09 65 2C 61 0D 0A 09 6D 6F e...mov.e,a...mo
001A30: 76 09 61 2C 64 0D 0A 09 61 63 69 09 30 0D 0A 09 v.a,d...aci.0...
001A40: 6D 6F 76 09 64 2C 61 0D 0A 09 6A 6D 70 09 40 69 mov.d,a...jmp.@i
001A50: 6E 63 64 65 63 73 0D 0A 3B 0D 0A 3B 09 73 75 62 ncdecs..;..;.sub
001A60: 74 72 61 63 74 20 76 61 6C 75 65 20 69 6E 20 61 tract value in a
001A70: 20 74 6F 20 64 65 20 61 6E 64 20 73 61 76 65 20 to de and save
001A80: 61 74 20 61 64 64 72 65 73 73 20 69 6E 20 68 6C at address in hl
001A90: 0D 0A 3B 0D 0A 40 64 65 63 3A 0D 0A 09 61 6E 69 ..;..@dec:...ani
001AA0: 09 30 37 66 68 0D 0A 09 63 6D 61 0D 0A 09 69 6E .07fh...cma...in
001AB0: 72 09 61 0D 0A 09 61 64 64 09 65 0D 0A 09 6D 6F r.a...add.e...mo
001AC0: 76 09 65 2C 61 0D 0A 09 6D 6F 76 09 61 2C 64 0D v.e,a...mov.a,d.
001AD0: 0A 09 61 63 69 09 30 66 66 68 0D 0A 09 6D 6F 76 ..aci.0ffh...mov
001AE0: 09 64 2C 61 0D 0A 09 6A 6D 70 09 40 69 6E 63 64 .d,a...jmp.@incd
001AF0: 65 63 73 20 0D 0A 3B 0D 0A 3B 09 73 74 6F 72 65 ecs ..;..;.store
001B00: 65 72 20 74 68 61 6E 20 6F 72 20 65 71 75 61 6C er than or equal
001B10: 20 74 6F 20 68 6C 20 28 75 6E 73 69 67 6E 65 64 to hl (unsigned
001B20: 29 0D 0A 3B 0D 0A 40 75 67 65 3A 0D 0A 09 70 6F )..;..@uge:...po
001B30: 70 09 62 0D 0A 09 70 6F 70 09 64 0D 0A 09 70 75 p.b...pop.d...pu
001B40: 73 68 09 62 0D 0A 09 6C 78 69 09 62 2C 40 63 6F sh.b...lxi.b,@co
001B50: 6D 70 72 65 74 0D 0A 09 70 75 73 68 09 62 0D 0A mpret...push.b..
001B60: 09 63 61 6C 6C 09 40 75 63 6D 70 0D 0A 09 72 6E .call.@ucmp...rn
001B70: 63 0D 0A 09 64 63 78 09 68 0D 0A 09 72 65 74 0D c...dcx.h...ret.
001B80: 0A 3B 0D 0A 3B 09 74 65 73 74 20 69 66 20 64 65 .;..;.test if de
001B90: 20 6C 65 73 73 20 74 68 61 6E 20 6F 72 20 65 71 less than or eq
001BA0: 75 61 6C 20 74 6F 20 68 6C 20 28 75 6E 73 69 67 ual to hl (unsig
001BB0: 6E 65 64 29 0D 0A 3B 0D 0A 40 75 6C 65 3A 0D 0A ned)..;..@ule:..
001BC0: 09 70 6F 70 09 62 0D 0A 09 70 6F 70 09 64 0D 0A .pop.b...pop.d..
001BD0: 09 70 75 73 68 09 62 0D 0A 09 6C 78 69 09 62 2C .push.b...lxi.b,
001BE0: 40 63 6F 6D 70 72 65 74 0D 0A 09 70 75 73 68 09 @compret...push.
001BF0: 62 0D 0A 09 63 61 6C 6C 09 40 75 63 6D 70 0D 0A b...call.@ucmp..
001C00: 09 72 7A 0D 0A 09 72 63 0D 0A 09 64 63 78 09 68 .rz...rc...dcx.h
001C10: 0D 0A 09 72 65 74 0D 0A 3B 0D 0A 3B 09 63 6F 6D ...ret..;..;.com
001C20: 6D 6F 6E 20 72 6F 75 74 69 6E 65 20 74 6F 20 70 mon routine to p
001C30: 72 65 66 6F 72 6D 20 61 20 73 69 67 6E 65 64 20 reform a signed
001C40: 63 6F 6D 70 61 72 65 20 6F 66 0D 0A 3B 09 64 65 compare of..;.de
001C50: 20 61 6E 64 20 68 6C 20 0D 0A 3B 0D 0A 3B 09 64 and hl ..;..;.d
001C60: 65 2D 68 6C 20 61 6E 64 20 73 65 74 73 20 74 68 e-hl and sets th
001C70: 65 20 63 6F 6E 64 69 74 69 6F 6E 73 3A 0D 0A 3B e conditions:..;
001C80: 09 09 63 61 72 72 79 20 73 65 74 20 6D 65 61 6E ..carry set mean
001C90: 73 20 64 65 20 3C 20 68 6C 0D 0A 3B 09 09 7A 65 s de < hl..;..ze
001CA0: 72 6F 2F 6E 6F 6E 2D 7A 65 72 6F 20 73 65 74 20 ro/non-zero set
001CB0: 61 63 63 6F 72 64 69 6E 67 20 74 6F 20 65 71 75 according to equ
001CC0: 61 6C 69 74 79 0D 0A 3B 0D 0A 40 63 6D 70 3A 0D ality..;..@cmp:.
001CD0: 0A 09 6D 6F 76 09 61 2C 65 0D 0A 09 73 75 62 09 ..mov.a,e...sub.
001CE0: 6C 0D 0A 09 6D 6F 76 09 65 2C 61 0D 0A 09 6D 6F l...mov.e,a...mo
001CF0: 76 09 61 2C 64 0D 0A 09 73 62 62 09 68 0D 0A 09 v.a,d...sbb.h...
001D00: 20 76 61 6C 75 65 20 69 6E 20 64 65 20 61 74 20 value in de at
001D10: 61 64 64 72 65 73 73 20 69 6E 20 68 6C 0D 0A 3B address in hl..;
001D20: 0D 0A 40 69 6E 63 64 65 63 73 3A 0D 0A 09 6C 64 ..@incdecs:...ld
001D30: 61 78 09 62 0D 0A 09 6F 72 61 09 61 0D 0A 09 6A ax.b...ora.a...j
001D40: 70 09 40 69 6E 63 64 65 63 32 0D 0A 09 6D 6F 76 p.@incdec2...mov
001D50: 09 6D 2C 64 0D 0A 09 64 63 78 09 68 0D 0A 09 6D .m,d...dcx.h...m
001D60: 6F 76 09 6D 2C 65 0D 0A 09 78 63 68 67 0D 0A 09 ov.m,e...xchg...
001D70: 6D 6F 76 09 61 2C 68 0D 0A 09 6F 72 61 09 6C 0D mov.a,h...ora.l.
001D80: 0A 09 72 65 74 0D 0A 40 69 6E 63 64 65 63 32 3A ..ret..@incdec2:
001D90: 0D 0A 09 6D 6F 76 09 6D 2C 65 0D 0A 09 78 63 68 ...mov.m,e...xch
001DA0: 67 0D 0A 09 6D 6F 76 09 61 2C 68 0D 0A 09 6F 72 g...mov.a,h...or
001DB0: 61 09 6C 0D 0A 09 72 65 74 09 0D 0A 09 70 61 67 a.l...ret....pag
001DC0: 65 0D 0A 3B 0D 0A 3B 09 69 6E 63 6C 75 73 69 76 e..;..;.inclusiv
001DD0: 65 20 22 6F 72 22 20 68 6C 20 61 6E 64 20 64 65 e "or" hl and de
001DE0: 20 69 6E 74 6F 20 68 6C 0D 0A 3B 0D 0A 40 6F 72 into hl..;..@or
001DF0: 3A 09 63 73 65 63 74 0D 0A 09 70 6F 70 09 62 0D :.csect...pop.b.
001E00: 0A 09 70 6F 70 09 64 0D 0A 09 70 75 73 68 09 62 ..pop.d...push.b
001E10: 0D 0A 09 6D 6F 76 09 61 2C 6C 0D 0A 09 6F 72 61 ...mov.a,l...ora
001E20: 09 65 0D 0A 09 6D 6F 76 09 6C 2C 61 0D 0A 09 6D .e...mov.l,a...m
001E30: 6F 76 09 61 2C 68 0D 0A 09 6F 72 61 09 64 0D 0A ov.a,h...ora.d..
001E40: 09 6D 6F 76 09 68 2C 61 0D 0A 09 6F 72 61 09 6C .mov.h,a...ora.l
001E50: 0D 0A 09 72 65 74 0D 0A 3B 0D 0A 3B 09 65 78 63 ...ret..;..;.exc
001E60: 6C 75 73 65 69 76 65 20 22 6F 72 22 20 68 6C 20 luseive "or" hl
001E70: 61 6E 64 20 64 65 20 69 6E 74 6F 20 68 6C 0D 0A and de into hl..
001E80: 3B 0D 0A 40 78 6F 72 3A 09 63 73 65 63 74 0D 0A ;..@xor:.csect..
001E90: 09 70 6F 70 09 62 0D 0A 09 70 6F 70 09 64 0D 0A .pop.b...pop.d..
001EA0: 09 70 75 73 68 09 62 0D 0A 09 6D 6F 76 09 61 2C .push.b...mov.a,
001EB0: 6C 0D 0A 09 78 72 61 09 65 0D 0A 09 6D 6F 76 09 l...xra.e...mov.
001EC0: 6C 2C 61 0D 0A 09 6D 6F 76 09 61 2C 68 0D 0A 09 l,a...mov.a,h...
001ED0: 78 72 61 09 64 0D 0A 09 6D 6F 76 09 68 2C 61 0D xra.d...mov.h,a.
001EE0: 0A 09 6F 72 61 09 6C 0D 0A 09 72 65 74 0D 0A 3B ..ora.l...ret..;
001EF0: 0D 0A 3B 09 22 61 6E 64 22 20 68 6C 20 61 6E 64 ..;."and" hl and
001F00: 6C 78 69 09 68 2C 31 0D 0A 09 6A 6D 09 40 63 6D lxi.h,1...jm.@cm
001F10: 70 31 0D 0A 09 6F 72 61 09 65 0D 0A 09 72 65 74 p1...ora.e...ret
001F20: 0D 0A 40 63 6D 70 31 3A 0D 0A 09 6F 72 61 09 65 ..@cmp1:...ora.e
001F30: 0D 0A 09 73 74 63 0D 0A 09 72 65 74 0D 0A 3B 0D ...stc...ret..;.
001F40: 0A 3B 09 63 6F 6D 6D 6F 6E 20 72 6F 75 74 69 6E .;.common routin
001F50: 65 20 74 6F 20 70 65 72 66 6F 72 6D 20 75 6E 73 e to perform uns
001F60: 69 6E 67 65 64 20 63 6F 6D 70 61 72 65 0D 0A 3B inged compare..;
001F70: 0D 0A 3B 09 63 61 72 72 79 20 73 65 74 20 69 66 ..;.carry set if
001F80: 20 64 65 20 6C 65 73 73 20 74 68 61 6E 20 68 6C de less than hl
001F90: 0D 0A 3B 09 7A 65 72 6F 2F 6E 6F 6E 2D 7A 65 72 ..;.zero/non-zer
001FA0: 6F 20 73 65 74 20 61 63 63 6F 72 64 69 6E 67 6C o set accordingl
001FB0: 79 20 68 6C 3D 64 65 0D 0A 3B 0D 0A 40 75 63 6D y hl=de..;..@ucm
001FC0: 70 3A 0D 0A 09 6D 6F 76 09 61 2C 64 0D 0A 09 63 p:...mov.a,d...c
001FD0: 6D 70 09 68 0D 0A 09 6A 6E 7A 09 40 75 63 6D 70 mp.h...jnz.@ucmp
001FE0: 31 0D 0A 09 6D 6F 76 09 61 2C 65 0D 0A 09 63 6D 1...mov.a,e...cm
001FF0: 70 09 6C 0D 0A 40 75 63 6D 70 31 3A 0D 0A 09 6C p.l..@ucmp1:...l
002000: 78 69 09 68 2C 31 0D 0A 09 72 65 74 0D 0A 3B 0D xi.h,1...ret..;.
002010: 0A 3B 09 73 65 74 20 6D 61 63 68 69 6E 65 20 73 .;.set machine s
002020: 74 61 74 75 73 20 66 6F 72 20 61 6C 6C 20 63 6F tatus for all co
002030: 6D 64 69 74 69 6F 6E 61 6C 20 6F 70 65 72 61 74 mditional operat
002040: 6F 72 73 0D 0A 3B 0D 0A 40 63 6F 6D 70 72 65 74 ors..;..@compret
002050: 3A 0D 0A 09 6D 6F 76 09 61 2C 68 0D 0A 09 6F 72 :...mov.a,h...or
002060: 61 09 6C 0D 0A 09 72 65 74 0D 0A 09 70 61 67 65 a.l...ret...page
002070: 0D 0A 3B 0D 0A 3B 09 73 68 69 66 74 20 64 65 20 ..;..;.shift de
002080: 61 72 69 74 68 6D 65 74 69 63 61 6C 6C 79 20 72 arithmetically r
002090: 69 67 68 74 20 62 79 20 68 6C 20 72 65 74 75 72 ight by hl retur
0020A0: 6E 20 69 6E 20 68 6C 0D 0A 3B 0D 0A 40 61 73 72 n in hl..;..@asr
0020B0: 3A 09 63 73 65 63 74 0D 0A 09 70 6F 70 09 62 0D :.csect...pop.b.
0020C0: 0A 09 70 6F 70 09 64 0D 0A 09 70 75 73 68 09 62 ..pop.d...push.b
0020D0: 0D 0A 40 61 73 72 31 3A 0D 0A 09 78 63 68 67 0D ..@asr1:...xchg.
0020E0: 0A 09 6D 6F 76 09 61 2C 68 0D 0A 09 72 61 6C 0D ..mov.a,h...ral.
0020F0: 0A 09 6D 6F 76 09 61 2C 68 0D 0A 09 72 61 72 0D ..mov.a,h...rar.
002100: 20 64 65 20 69 6E 74 6F 20 68 6C 0D 0A 3B 0D 0A de into hl..;..
002110: 40 61 6E 64 3A 09 63 73 65 63 74 0D 0A 09 70 6F @and:.csect...po
002120: 70 09 62 0D 0A 09 70 6F 70 09 64 0D 0A 09 70 75 p.b...pop.d...pu
002130: 73 68 09 62 0D 0A 09 6D 6F 76 09 61 2C 6C 0D 0A sh.b...mov.a,l..
002140: 09 61 6E 61 09 65 0D 0A 09 6D 6F 76 09 6C 2C 61 .ana.e...mov.l,a
002150: 0D 0A 09 6D 6F 76 09 61 2C 68 0D 0A 09 61 6E 61 ...mov.a,h...ana
002160: 09 64 0D 0A 09 6D 6F 76 09 68 2C 61 0D 0A 09 6F .d...mov.h,a...o
002170: 72 61 09 6C 0D 0A 09 72 65 74 0D 0A 3B 0D 0A 3B ra.l...ret..;..;
002180: 09 69 6E 20 61 6C 6C 20 74 68 65 20 66 6F 6C 6C .in all the foll
002190: 6F 77 69 6E 67 20 63 6F 6D 70 61 72 65 20 72 6F owing compare ro
0021A0: 75 74 69 6E 65 73 20 68 6C 20 69 73 20 73 65 74 utines hl is set
0021B0: 20 74 6F 20 31 20 0D 0A 3B 09 69 66 20 74 68 65 to 1 ..;.if the
0021C0: 20 63 6F 6E 64 69 74 69 6F 6E 20 69 73 20 74 72 condition is tr
0021D0: 75 65 2C 20 6F 74 68 65 72 77 69 73 65 20 69 74 ue, otherwise it
0021E0: 20 69 73 20 73 65 74 20 74 6F 20 30 20 0D 0A 3B is set to 0 ..;
0021F0: 0D 0A 3B 09 6E 6F 74 20 63 75 72 72 65 6E 74 20 ..;.not current
002200: 63 6F 6E 64 69 74 69 6F 6E 0D 0A 3B 0D 0A 40 6E condition..;..@n
002210: 6C 6F 67 3A 09 63 73 65 63 74 0D 0A 09 6D 6F 76 log:.csect...mov
002220: 09 61 2C 68 0D 0A 09 6F 72 61 09 6C 0D 0A 09 6A .a,h...ora.l...j
002230: 6E 7A 09 40 6E 6C 6F 67 31 0D 0A 09 6C 78 69 09 nz.@nlog1...lxi.
002240: 68 2C 31 0D 0A 09 6D 6F 76 09 61 2C 68 0D 0A 09 h,1...mov.a,h...
002250: 6F 72 61 09 6C 0D 0A 09 72 65 74 0D 0A 40 6E 6C ora.l...ret..@nl
002260: 6F 67 31 3A 0D 0A 09 6C 78 69 09 68 2C 30 0D 0A og1:...lxi.h,0..
002270: 09 6D 6F 76 09 61 2C 68 0D 0A 09 6F 72 61 09 6C .mov.a,h...ora.l
002280: 0D 0A 09 72 65 74 0D 0A 09 70 61 67 65 0D 0A 40 ...ret...page..@
002290: 63 6F 6D 70 3A 09 63 73 65 63 74 0D 0A 3B 0D 0A comp:.csect..;..
0022A0: 3B 09 74 65 73 74 20 69 66 20 68 6C 20 65 71 75 ;.test if hl equ
0022B0: 61 6C 20 74 6F 20 64 65 0D 0A 3B 0D 0A 40 65 71 al to de..;..@eq
0022C0: 3A 0D 0A 09 70 6F 70 09 62 0D 0A 09 70 6F 70 09 :...pop.b...pop.
0022D0: 64 0D 0A 09 70 75 73 68 09 62 0D 0A 09 6C 78 69 d...push.b...lxi
0022E0: 09 62 2C 40 63 6F 6D 70 72 65 74 0D 0A 09 70 75 .b,@compret...pu
0022F0: 73 68 09 62 0D 0A 09 63 61 6C 6C 09 40 63 6D 70 sh.b...call.@cmp
002300: 0A 09 6D 6F 76 09 68 2C 61 0D 0A 09 6D 6F 76 09 ..mov.h,a...mov.
002310: 61 2C 6C 0D 0A 09 72 61 72 0D 0A 09 6D 6F 76 09 a,l...rar...mov.
002320: 6C 2C 61 0D 0A 09 64 63 72 09 65 0D 0A 09 6A 6E l,a...dcr.e...jn
002330: 7A 09 20 40 61 73 72 31 0D 0A 09 72 65 74 0D 0A z. @asr1...ret..
002340: 3B 0D 0A 3B 09 73 68 69 66 74 20 64 65 20 61 72 ;..;.shift de ar
002350: 69 74 68 6D 65 74 69 63 61 6C 6C 79 20 6C 65 66 ithmetically lef
002360: 74 20 62 79 20 68 6C 20 61 6E 64 20 72 65 74 75 t by hl and retu
002370: 72 6E 20 69 6E 20 68 6C 0D 0A 3B 0D 0A 40 61 73 rn in hl..;..@as
002380: 6C 3A 09 63 73 65 63 74 0D 0A 09 70 6F 70 09 62 l:.csect...pop.b
002390: 0D 0A 09 70 6F 70 09 64 0D 0A 09 70 75 73 68 09 ...pop.d...push.
0023A0: 62 0D 0A 40 61 73 6C 31 3A 0D 0A 09 78 63 68 67 b..@asl1:...xchg
0023B0: 0D 0A 09 64 61 64 09 68 0D 0A 09 64 63 72 09 65 ...dad.h...dcr.e
0023C0: 0D 0A 09 6A 6E 7A 09 40 61 73 6C 31 0D 0A 09 72 ...jnz.@asl1...r
0023D0: 65 74 0D 0A 3B 0D 0A 3B 09 73 75 62 74 72 61 63 et..;..;.subtrac
0023E0: 74 20 68 6C 20 66 72 6F 6D 20 64 65 20 61 6E 64 t hl from de and
0023F0: 20 72 65 74 75 72 6E 20 69 6E 20 68 6C 0D 0A 3B return in hl..;
002400: 0D 0A 40 73 75 62 3A 09 63 73 65 63 74 0D 0A 09 ..@sub:.csect...
002410: 70 6F 70 09 62 0D 0A 09 70 6F 70 09 64 0D 0A 09 pop.b...pop.d...
002420: 70 75 73 68 09 62 0D 0A 09 6D 6F 76 09 61 2C 65 push.b...mov.a,e
002430: 0D 0A 09 73 75 62 09 6C 0D 0A 09 6D 6F 76 09 6C ...sub.l...mov.l
002440: 2C 61 0D 0A 09 6D 6F 76 09 61 2C 64 0D 0A 09 73 ,a...mov.a,d...s
002450: 62 62 09 68 0D 0A 09 6D 6F 76 09 68 2C 61 0D 0A bb.h...mov.h,a..
002460: 09 72 65 74 0D 0A 3B 0D 0A 3B 09 66 72 6F 6D 20 .ret..;..;.from
002470: 74 68 65 20 74 77 6F 27 73 20 63 6F 6D 70 6C 65 the two's comple
002480: 6D 65 6E 74 20 6F 66 20 68 6C 0D 0A 3B 09 0D 0A ment of hl..;...
002490: 40 6E 65 67 3A 09 63 73 65 63 74 0D 0A 09 63 61 @neg:.csect...ca
0024A0: 6C 6C 09 40 63 6F 6D 0D 0A 09 69 6E 78 09 68 0D ll.@com...inx.h.
0024B0: 0A 09 72 65 74 0D 0A 3B 0D 0A 3B 09 66 72 6F 6D ..ret..;..;.from
0024C0: 20 74 68 65 20 6F 6E 65 27 73 20 63 6F 6D 70 6C the one's compl
0024D0: 65 6D 65 6E 74 20 6F 66 20 68 6C 0D 0A 3B 0D 0A ement of hl..;..
0024E0: 40 63 6F 6D 3A 09 63 73 65 63 74 0D 0A 09 6D 6F @com:.csect...mo
0024F0: 76 09 61 2C 68 0D 0A 09 63 6D 61 0D 0A 09 6D 6F v.a,h...cma...mo
002500: 0D 0A 09 72 7A 09 0D 0A 09 64 63 78 09 68 0D 0A ...rz....dcx.h..
002510: 09 72 65 74 0D 0A 3B 0D 0A 3B 09 74 65 73 74 20 .ret..;..;.test
002520: 69 66 20 64 65 20 74 6F 20 68 6C 20 66 6F 72 20 if de to hl for
002530: 6E 6F 74 20 65 71 75 61 6C 0D 0A 3B 0D 0A 40 6E not equal..;..@n
002540: 65 3A 0D 0A 09 70 6F 70 09 62 0D 0A 09 70 6F 70 e:...pop.b...pop
002550: 09 64 0D 0A 09 70 75 73 68 09 62 0D 0A 09 6C 78 .d...push.b...lx
002560: 69 09 62 2C 40 63 6F 6D 70 72 65 74 0D 0A 09 70 i.b,@compret...p
002570: 75 73 68 09 62 0D 0A 09 63 61 6C 6C 09 40 63 6D ush.b...call.@cm
002580: 70 0D 0A 09 72 6E 7A 0D 0A 09 64 63 78 09 68 0D p...rnz...dcx.h.
002590: 0A 09 72 65 74 0D 0A 3B 0D 0A 3B 09 74 65 73 74 ..ret..;..;.test
0025A0: 20 69 66 20 64 65 20 67 72 65 61 74 65 72 20 74 if de greater t
0025B0: 68 65 6E 20 68 6C 20 28 73 69 67 6E 65 64 29 0D hen hl (signed).
0025C0: 0A 3B 0D 0A 40 67 74 3A 0D 0A 09 70 6F 70 09 62 .;..@gt:...pop.b
0025D0: 0D 0A 09 70 6F 70 09 64 0D 0A 09 70 75 73 68 09 ...pop.d...push.
0025E0: 62 0D 0A 09 6C 78 69 09 62 2C 40 63 6F 6D 70 72 b...lxi.b,@compr
0025F0: 65 74 0D 0A 09 70 75 73 68 09 62 0D 0A 09 78 63 et...push.b...xc
002600: 68 67 0D 0A 09 63 61 6C 6C 09 40 63 6D 70 0D 0A hg...call.@cmp..
002610: 09 72 63 0D 0A 09 64 63 78 09 68 0D 0A 09 72 65 .rc...dcx.h...re
002620: 74 0D 0A 3B 0D 0A 3B 09 74 65 73 74 20 69 66 20 t..;..;.test if
002630: 64 65 20 6C 65 73 73 20 74 68 65 6E 20 68 6C 20 de less then hl
002640: 28 73 69 67 6E 65 64 29 0D 0A 3B 0D 0A 40 6C 74 (signed)..;..@lt
002650: 3A 0D 0A 09 70 6F 70 09 62 0D 0A 09 70 6F 70 09 :...pop.b...pop.
002660: 64 0D 0A 09 70 75 73 68 09 62 0D 0A 09 6C 78 69 d...push.b...lxi
002670: 09 62 2C 40 63 6F 6D 70 72 65 74 0D 0A 09 70 75 .b,@compret...pu
002680: 73 68 09 62 0D 0A 09 63 61 6C 6C 09 40 63 6D 70 sh.b...call.@cmp
002690: 0D 0A 09 72 63 0D 0A 09 64 63 78 09 68 0D 0A 09 ...rc...dcx.h...
0026A0: 72 65 74 0D 0A 3B 0D 0A 3B 09 74 65 73 74 20 69 ret..;..;.test i
0026B0: 66 20 64 65 20 67 72 65 61 74 65 72 20 74 68 65 f de greater the
0026C0: 6E 20 6F 72 20 65 71 75 61 6C 20 74 6F 20 68 6C n or equal to hl
0026D0: 20 28 73 69 67 6E 65 64 29 0D 0A 3B 0D 0A 40 67 (signed)..;..@g
0026E0: 65 3A 0D 0A 09 70 6F 70 09 62 0D 0A 09 70 6F 70 e:...pop.b...pop
0026F0: 09 64 0D 0A 09 70 75 73 68 09 62 0D 0A 09 6C 78 .d...push.b...lx
002700: 54 72 61 63 6B 2D 49 6E 66 6F 0D 0A 00 00 00 00 Track-Info......
002710: 02 00 01 00 02 09 52 E5 02 00 C1 02 00 00 00 02 ......R.........
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: 76 09 68 2C 61 0D 0A 09 6D 6F 76 09 61 2C 6C 0D v.h,a...mov.a,l.
002810: 0A 09 63 6D 61 0D 0A 09 6D 6F 76 09 6C 2C 61 0D ..cma...mov.l,a.
002820: 0A 09 72 65 74 0D 0A 3B 0D 0A 3B 09 6D 75 74 69 ..ret..;..;.muti
002830: 70 6C 79 20 64 65 20 62 79 20 68 6C 20 61 6E 64 ply de by hl and
002840: 20 72 65 74 75 72 6E 20 69 6E 20 68 6C 20 28 73 return in hl (s
002850: 69 67 6E 65 64 29 0D 0A 3B 0D 0A 40 6D 75 6C 74 igned)..;..@mult
002860: 3A 20 20 63 73 65 63 74 0D 0A 09 70 6F 70 09 62 : csect...pop.b
002870: 0D 0A 09 70 6F 70 09 64 0D 0A 09 70 75 73 68 09 ...pop.d...push.
002880: 62 0D 0A 09 6D 6F 76 09 62 2C 68 0D 0A 09 6D 6F b...mov.b,h...mo
002890: 76 09 63 2C 6C 0D 0A 09 6C 78 69 09 68 2C 30 0D v.c,l...lxi.h,0.
0028A0: 0A 40 6D 75 6C 74 31 3A 0D 0A 09 6D 6F 76 09 61 .@mult1:...mov.a
0028B0: 2C 63 0D 0A 09 72 72 63 0D 0A 09 6A 6E 63 09 40 ,c...rrc...jnc.@
0028C0: 6D 75 6C 74 32 0D 0A 09 64 61 64 09 64 0D 0A 40 mult2...dad.d..@
0028D0: 6D 75 6C 74 32 3A 0D 0A 09 78 72 61 09 61 0D 0A mult2:...xra.a..
0028E0: 09 6D 6F 76 09 61 2C 62 0D 0A 09 72 61 72 0D 0A .mov.a,b...rar..
0028F0: 20 09 6D 6F 76 09 62 2C 61 0D 0A 09 6D 6F 76 09 .mov.b,a...mov.
002900: 61 2C 63 0D 0A 09 72 61 72 0D 0A 09 6D 6F 76 09 a,c...rar...mov.
002910: 63 2C 61 0D 0A 09 6F 72 61 09 62 0D 0A 09 72 7A c,a...ora.b...rz
002920: 0D 0A 09 78 72 61 09 61 0D 0A 09 6D 6F 76 09 61 ...xra.a...mov.a
002930: 2C 65 0D 0A 09 72 61 6C 0D 0A 09 6D 6F 76 09 65 ,e...ral...mov.e
002940: 2C 61 0D 0A 09 6D 6F 76 09 61 2C 64 0D 0A 09 72 ,a...mov.a,d...r
002950: 61 6C 0D 0A 09 6D 6F 76 09 64 2C 61 0D 0A 09 6F al...mov.d,a...o
002960: 72 61 09 65 0D 0A 09 72 7A 0D 0A 09 6A 6D 70 09 ra.e...rz...jmp.
002970: 40 6D 75 6C 74 31 0D 0A 3B 0D 0A 3B 09 64 69 76 @mult1..;..;.div
002980: 69 64 65 20 64 65 20 62 79 20 68 6C 20 61 6E 64 ide de by hl and
002990: 20 72 65 74 75 72 6E 20 71 75 6F 74 69 65 6E 74 return quotient
0029A0: 20 69 6E 20 68 6C 0D 0A 3B 09 20 72 65 74 75 72 in hl..;. retur
0029B0: 6E 20 72 65 6D 61 69 6E 64 65 72 20 69 6E 20 64 n remainder in d
0029C0: 65 20 28 73 69 67 6E 65 64 29 0D 0A 3B 0D 0A 40 e (signed)..;..@
0029D0: 64 69 76 3A 09 63 73 65 63 74 0D 0A 09 70 6F 70 div:.csect...pop
0029E0: 09 62 0D 0A 09 70 6F 70 09 64 0D 0A 09 70 75 73 .b...pop.d...pus
0029F0: 68 09 62 0D 0A 09 6D 6F 76 09 62 2C 68 0D 0A 09 h.b...mov.b,h...
002A00: 0A 3B 09 63 61 6C 6C 20 62 6F 64 73 20 74 6F 20 .;.call bods to
002A10: 64 6F 20 61 20 63 70 6D 20 66 75 6E 63 74 69 6F do a cpm functio
002A20: 6E 20 62 6F 64 73 28 63 2C 64 65 29 0D 0A 3B 0D n bods(c,de)..;.
002A30: 0A 62 64 6F 73 3A 09 63 73 65 63 74 0D 0A 09 70 .bdos:.csect...p
002A40: 6F 70 09 68 0D 0A 09 70 6F 70 09 64 0D 0A 09 70 op.h...pop.d...p
002A50: 6F 70 09 62 0D 0A 09 70 75 73 68 09 62 0D 0A 09 op.b...push.b...
002A60: 70 75 73 68 09 64 0D 0A 09 70 75 73 68 09 68 0D push.d...push.h.
002A70: 0A 09 6A 6D 70 09 35 0D 0A 3B 0D 0A 3B 09 65 78 ..jmp.5..;..;.ex
002A80: 69 74 20 62 61 63 6B 20 74 6F 20 73 79 73 74 65 it back to syste
002A90: 6D 0D 0A 3B 0D 0A 65 78 69 74 3A 09 63 73 65 63 m..;..exit:.csec
002AA0: 74 0D 0A 09 6D 76 69 09 63 2C 30 0D 0A 09 63 61 t...mvi.c,0...ca
002AB0: 6C 6C 09 35 0D 0A 3B 0D 0A 3B 09 74 61 6B 65 20 ll.5..;..;.take
002AC0: 63 6F 6D 6D 61 6E 64 20 62 75 66 66 65 72 20 61 command buffer a
002AD0: 6E 64 20 62 75 69 6C 64 20 70 6F 69 6E 74 65 72 nd build pointer
002AE0: 20 6C 69 73 74 0D 0A 0D 0A 40 69 6E 69 74 3A 09 list....@init:.
002AF0: 63 73 65 63 74 0D 0A 09 6C 68 6C 64 09 36 2B 72 csect...lhld.6+r
002B00: 61 6D 09 09 09 3B 67 65 74 20 70 6F 69 6E 74 65 am...;get pointe
002B10: 72 20 74 6F 20 68 69 67 68 20 6D 65 6D 6F 72 79 r to high memory
002B20: 0D 0A 09 64 63 78 09 68 09 09 09 3B 6D 6F 76 65 ...dcx.h...;move
002B30: 20 74 6F 20 6A 75 73 74 20 62 65 6C 6F 77 20 62 to just below b
002B40: 64 6F 73 0D 0A 09 73 70 68 6C 09 09 09 09 3B 6D dos...sphl....;m
002B50: 61 6B 65 20 69 74 20 63 75 72 72 65 6E 74 20 73 ake it current s
002B60: 74 61 63 6B 0D 0A 09 6C 78 69 09 68 2C 38 30 68 tack...lxi.h,80h
002B70: 2B 72 61 6D 09 09 3B 70 6F 69 6E 74 65 72 20 74 +ram..;pointer t
002B80: 6F 20 73 74 61 72 74 20 6F 66 20 63 6F 6D 6D 61 o start of comma
002B90: 6E 64 20 62 75 66 66 65 72 0D 0A 09 6D 6F 76 09 nd buffer...mov.
002BA0: 65 2C 6D 09 09 09 3B 6E 75 6D 62 65 72 20 6F 66 e,m...;number of
002BB0: 20 62 79 74 65 73 20 69 6E 20 63 6F 6D 6D 61 6E bytes in comman
002BC0: 64 20 6C 69 6E 65 0D 0A 09 6D 76 69 09 64 2C 30 d line...mvi.d,0
002BD0: 09 09 09 3B 6D 61 6B 65 20 69 74 20 31 36 20 62 ...;make it 16 b
002BE0: 69 74 20 76 61 6C 75 65 0D 0A 09 64 61 64 09 64 it value...dad.d
002BF0: 09 09 09 3B 70 6F 69 6E 74 20 74 6F 20 65 6E 64 ...;point to end
002C00: 6D 6F 76 09 63 2C 6C 0D 0A 09 6D 6F 76 09 61 2C mov.c,l...mov.a,
002C10: 64 0D 0A 09 78 72 61 09 62 0D 0A 09 70 75 73 68 d...xra.b...push
002C20: 09 70 73 77 0D 0A 09 6D 6F 76 09 61 2C 64 0D 0A .psw...mov.a,d..
002C30: 09 6F 72 61 09 61 0D 0A 09 63 6D 09 40 64 65 6E .ora.a...cm.@den
002C40: 65 67 0D 0A 09 6D 6F 76 09 61 2C 62 0D 0A 09 6F eg...mov.a,b...o
002C50: 72 61 09 61 0D 0A 09 63 6D 09 40 62 63 6E 65 67 ra.a...cm.@bcneg
002C60: 0D 0A 09 6D 76 69 09 61 2C 31 36 0D 0A 09 70 75 ...mvi.a,16...pu
002C70: 73 68 09 70 73 77 0D 0A 09 78 63 68 67 0D 0A 09 sh.psw...xchg...
002C80: 6C 78 69 09 64 2C 30 0D 0A 40 64 69 76 31 3A 0D lxi.d,0..@div1:.
002C90: 0A 09 64 61 64 09 68 0D 0A 09 63 61 6C 6C 09 40 ..dad.h...call.@
002CA0: 72 64 65 6C 0D 0A 09 6A 7A 09 40 64 69 76 32 0D rdel...jz.@div2.
002CB0: 0A 09 63 61 6C 6C 09 40 63 6D 70 62 63 64 65 0D ..call.@cmpbcde.
002CC0: 0A 09 6A 6D 09 40 64 69 76 32 0D 0A 09 6D 6F 76 ..jm.@div2...mov
002CD0: 09 61 2C 6C 0D 0A 09 6F 72 69 09 31 0D 0A 09 6D .a,l...ori.1...m
002CE0: 6F 76 09 6C 2C 61 0D 0A 09 6D 6F 76 09 61 2C 65 ov.l,a...mov.a,e
002CF0: 0D 0A 09 73 75 62 09 63 0D 0A 09 6D 6F 76 09 65 ...sub.c...mov.e
002D00: 2C 61 0D 0A 09 6D 6F 76 09 61 2C 64 0D 0A 09 73 ,a...mov.a,d...s
002D10: 62 62 09 62 0D 0A 09 6D 6F 76 09 64 2C 61 0D 0A bb.b...mov.d,a..
002D20: 40 64 69 76 32 3A 0D 0A 09 70 6F 70 09 70 73 77 @div2:...pop.psw
002D30: 0D 0A 09 64 63 72 09 61 0D 0A 09 6A 7A 09 40 64 ...dcr.a...jz.@d
002D40: 69 76 33 0D 0A 09 70 75 73 68 09 70 73 77 0D 0A iv3...push.psw..
002D50: 09 6A 6D 70 09 40 64 69 76 31 0D 0A 40 64 69 76 .jmp.@div1..@div
002D60: 33 3A 0D 0A 09 70 6F 70 09 70 73 77 0D 0A 09 72 3:...pop.psw...r
002D70: 70 0D 0A 09 63 61 6C 6C 09 40 64 65 6E 65 67 0D p...call.@deneg.
002D80: 0A 09 78 63 68 67 0D 0A 09 63 61 6C 6C 09 40 64 ..xchg...call.@d
002D90: 65 6E 65 67 0D 0A 09 78 63 68 67 0D 0A 09 72 65 eneg...xchg...re
002DA0: 74 0D 0A 3B 0D 0A 3B 09 6E 65 67 61 74 65 20 74 t..;..;.negate t
002DB0: 68 65 20 69 6E 74 65 67 65 72 20 69 6E 20 62 63 he integer in bc
002DC0: 20 28 75 73 65 64 20 62 79 20 64 69 76 69 64 65 (used by divide
002DD0: 20 6F 6E 6C 79 29 0D 0A 3B 0D 0A 40 64 65 6E 65 only)..;..@dene
002DE0: 67 3A 0D 0A 09 6D 6F 76 09 61 2C 64 0D 0A 09 63 g:...mov.a,d...c
002DF0: 6D 61 0D 0A 09 6D 6F 76 09 64 2C 61 0D 0A 09 6D ma...mov.d,a...m
002E00: 20 6F 66 20 74 65 78 74 0D 0A 09 69 6E 78 09 68 of text...inx.h
002E10: 09 09 09 3B 6D 6F 76 65 20 70 61 73 74 20 65 6E ...;move past en
002E20: 64 20 6F 66 20 62 75 66 66 65 72 0D 0A 09 6D 76 d of buffer...mv
002E30: 69 09 6D 2C 30 09 09 09 3B 6D 61 6B 65 20 65 6E i.m,0...;make en
002E40: 64 20 6F 66 20 74 65 78 74 0D 0A 09 6C 78 69 09 d of text...lxi.
002E50: 64 2C 63 70 6F 69 6E 74 65 72 09 09 3B 70 6C 61 d,cpointer..;pla
002E60: 63 65 20 77 68 65 72 65 20 70 6F 69 6E 74 65 72 ce where pointer
002E70: 20 73 68 6F 75 6C 64 20 70 6C 61 63 65 0D 0A 09 should place...
002E80: 6C 78 69 09 68 2C 38 30 68 2B 72 61 6D 09 09 3B lxi.h,80h+ram..;
002E90: 61 64 64 72 65 73 73 20 6F 66 20 74 65 78 74 20 address of text
002EA0: 73 74 72 69 6E 67 0D 0A 09 6C 78 69 09 62 2C 31 string...lxi.b,1
002EB0: 09 09 09 3B 6E 75 6D 62 65 72 20 6F 66 20 61 72 ...;number of ar
002EC0: 67 0D 0A 40 69 6E 69 74 32 3A 0D 0A 09 69 6E 78 g..@init2:...inx
002ED0: 09 68 09 09 09 3B 6D 6F 76 65 20 70 6F 69 6E 74 .h...;move point
002EE0: 65 72 20 74 6F 20 6E 65 78 74 20 62 79 74 65 0D er to next byte.
002EF0: 0A 09 6D 6F 76 09 61 2C 6D 09 09 09 3B 63 68 65 ..mov.a,m...;che
002F00: 63 6B 20 66 6F 72 20 65 6E 64 20 6F 66 20 62 75 ck for end of bu
002F10: 66 66 65 72 0D 0A 09 6F 72 61 09 61 09 09 09 3B ffer...ora.a...;
002F20: 73 65 74 20 6D 61 63 68 69 6E 65 20 73 74 61 74 set machine stat
002F30: 75 73 0D 0A 09 6A 7A 09 40 69 6E 69 74 31 30 09 us...jz.@init10.
002F40: 09 09 3B 79 65 73 20 63 61 6C 6C 20 6D 61 69 6E ..;yes call main
002F50: 20 6C 69 6E 65 0D 0A 09 63 70 69 09 27 20 27 09 line...cpi.' '.
002F60: 09 09 3B 69 73 20 74 68 65 72 65 20 61 20 6C 65 ..;is there a le
002F70: 61 64 69 6E 67 20 73 70 61 63 65 0D 0A 09 6A 7A ading space...jz
002F80: 09 40 69 6E 69 74 32 09 09 09 3B 79 65 73 0D 0A .@init2...;yes..
002F90: 09 6D 6F 76 09 61 2C 6C 09 09 09 3B 73 61 76 65 .mov.a,l...;save
002FA0: 20 70 6F 69 6E 74 65 72 20 76 61 6C 75 65 0D 0A pointer value..
002FB0: 09 73 74 61 78 09 64 0D 0A 09 6D 6F 76 09 61 2C .stax.d...mov.a,
002FC0: 68 0D 0A 09 69 6E 78 09 64 0D 0A 09 73 74 61 78 h...inx.d...stax
002FD0: 09 64 0D 0A 09 69 6E 78 09 64 09 09 09 0D 0A 09 .d...inx.d......
002FE0: 69 6E 72 09 63 09 09 09 3B 61 64 64 20 31 20 74 inr.c...;add 1 t
002FF0: 6F 20 61 72 67 20 63 6F 75 6E 74 0D 0A 40 69 6E o arg count..@in
003000: 6F 76 09 61 2C 65 0D 0A 09 63 6D 61 0D 0A 09 6D ov.a,e...cma...m
003010: 6F 76 09 65 2C 61 0D 0A 09 69 6E 78 09 64 0D 0A ov.e,a...inx.d..
003020: 09 72 65 74 0D 0A 3B 0D 0A 3B 09 6E 65 67 61 74 .ret..;..;.negat
003030: 65 20 74 68 65 6E 20 69 6E 74 65 67 65 72 20 69 e then integer i
003040: 6E 20 62 63 20 28 75 73 65 64 20 62 79 20 64 69 n bc (used by di
003050: 76 69 64 65 20 6F 6E 6C 79 29 0D 0A 3B 0D 0A 40 vide only)..;..@
003060: 62 63 6E 65 67 3A 0D 0A 09 6D 6F 76 09 61 2C 62 bcneg:...mov.a,b
003070: 0D 0A 09 63 6D 61 0D 0A 09 6D 6F 76 09 62 2C 61 ...cma...mov.b,a
003080: 0D 0A 09 6D 6F 76 09 61 2C 63 0D 0A 09 63 6D 61 ...mov.a,c...cma
003090: 0D 0A 09 6D 6F 76 09 63 2C 61 0D 0A 09 69 6E 78 ...mov.c,a...inx
0030A0: 09 62 0D 0A 09 72 65 74 0D 0A 3B 0D 0A 3B 09 72 .b...ret..;..;.r
0030B0: 6F 61 74 65 20 64 65 20 6C 65 66 74 20 6F 6E 65 oate de left one
0030C0: 20 62 69 74 20 28 75 73 65 64 20 62 79 20 64 69 bit (used by di
0030D0: 76 69 64 65 20 6F 6E 6C 79 29 0D 0A 3B 0D 0A 40 vide only)..;..@
0030E0: 72 64 65 6C 3A 0D 0A 09 6D 6F 76 09 61 2C 65 0D rdel:...mov.a,e.
0030F0: 0A 09 72 61 6C 0D 0A 09 6D 6F 76 09 65 2C 61 0D ..ral...mov.e,a.
003100: 0A 09 6D 6F 76 09 61 2C 64 0D 0A 09 72 61 6C 0D ..mov.a,d...ral.
003110: 0A 09 6D 6F 76 09 64 2C 61 0D 0A 09 6F 72 61 09 ..mov.d,a...ora.
003120: 65 0D 0A 09 72 65 74 0D 0A 3B 0D 0A 3B 09 63 6F e...ret..;..;.co
003130: 6D 70 61 72 65 20 62 63 20 74 6F 20 64 65 20 28 mpare bc to de (
003140: 75 73 65 64 20 62 79 20 64 69 76 69 64 65 20 6F used by divide o
003150: 6E 6C 79 29 0D 0A 3B 0D 0A 40 63 6D 70 62 63 64 nly)..;..@cmpbcd
003160: 65 3A 20 0D 0A 09 6D 6F 76 09 61 2C 65 0D 0A 09 e: ...mov.a,e...
003170: 73 75 62 09 63 0D 0A 09 6D 6F 76 09 61 2C 64 0D sub.c...mov.a,d.
003180: 0A 09 73 62 62 09 62 0D 0A 09 72 65 74 0D 0A 3B ..sbb.b...ret..;
003190: 0D 0A 3B 09 75 73 65 64 20 62 79 20 73 77 69 74 ..;.used by swit
0031A0: 63 68 20 74 6F 20 73 65 61 72 63 68 20 74 61 62 ch to search tab
0031B0: 6C 65 0D 0A 3B 09 63 61 6C 6C 69 6E 67 20 66 6F le..;.calling fo
0031C0: 72 6D 61 74 20 66 6F 72 6D 20 63 6F 6D 70 69 6C rmat form compil
0031D0: 65 72 0D 0A 3B 09 64 2D 70 6F 69 6E 74 65 72 20 er..;.d-pointer
0031E0: 74 6F 20 74 61 62 6C 65 0D 0A 3B 09 68 2D 77 68 to table..;.h-wh
0031F0: 65 72 65 20 74 6F 20 67 6F 20 69 66 20 76 61 6C ere to go if val
003200: 69 74 33 3A 0D 0A 09 69 6E 78 09 68 09 09 09 3B it3:...inx.h...;
003210: 6D 6F 76 65 20 74 6F 20 6E 65 78 74 20 62 79 74 move to next byt
003220: 65 0D 0A 09 6D 6F 76 09 61 2C 6D 09 09 09 3B 67 e...mov.a,m...;g
003230: 65 74 20 62 79 74 65 20 69 6E 74 6F 20 61 0D 0A et byte into a..
003240: 09 6F 72 61 09 61 09 09 09 3B 73 65 65 20 69 66 .ora.a...;see if
003250: 20 65 6E 64 20 6F 66 20 62 75 66 66 65 72 0D 0A end of buffer..
003260: 09 6A 7A 09 40 69 6E 69 74 31 30 09 09 09 3B 79 .jz.@init10...;y
003270: 65 73 2E 2E 2E 0D 0A 09 63 70 69 09 27 20 27 09 es......cpi.' '.
003280: 09 09 3B 63 68 65 63 6B 20 66 6F 72 20 73 70 61 ..;check for spa
003290: 63 65 0D 0A 09 6A 6E 7A 09 40 69 6E 69 74 33 09 ce...jnz.@init3.
0032A0: 09 09 3B 6E 6F 20 6B 65 65 70 20 6C 6F 6F 6B 69 ..;no keep looki
0032B0: 6E 67 0D 0A 09 6D 76 69 09 6D 2C 30 09 09 09 3B ng...mvi.m,0...;
0032C0: 6D 61 72 6B 20 61 73 20 65 6E 64 20 6F 66 20 70 mark as end of p
0032D0: 61 72 6D 0D 0A 09 6A 6D 70 09 40 69 6E 69 74 32 arm...jmp.@init2
0032E0: 09 09 09 3B 6C 6F 6F 70 20 66 6F 72 20 6E 65 78 ...;loop for nex
0032F0: 74 20 63 6F 6D 6D 61 6E 64 0D 0A 40 69 6E 69 74 t command..@init
003300: 31 30 3A 0D 0A 09 6C 78 69 09 68 2C 63 70 6F 69 10:...lxi.h,cpoi
003310: 6E 74 65 72 2D 32 09 09 3B 67 65 74 20 61 64 64 nter-2..;get add
003320: 72 65 73 73 20 6F 66 20 70 6F 69 6E 74 65 72 73 ress of pointers
003330: 0D 0A 09 70 75 73 68 09 62 09 09 09 3B 70 75 73 ...push.b...;pus
003340: 68 20 61 72 67 63 20 6F 6E 20 73 74 61 63 6B 0D h argc on stack.
003350: 0A 09 70 75 73 68 09 68 09 09 09 3B 70 75 73 68 ..push.h...;push
003360: 20 61 72 67 76 20 6F 6E 20 73 74 61 63 6B 0D 0A argv on stack..
003370: 09 63 61 6C 6C 09 6D 61 69 6E 09 09 09 3B 65 78 .call.main...;ex
003380: 65 63 75 74 65 20 6D 61 69 6E 20 6C 69 6E 65 0D ecute main line.
003390: 0A 09 6A 6D 70 20 09 30 09 09 09 3B 69 74 20 6A ..jmp .0...;it j
0033A0: 75 73 74 20 72 65 74 75 72 6E 20 66 72 6F 6D 20 ust return from
0033B0: 6D 61 69 6E 20 65 78 69 74 20 74 6F 20 63 70 6D main exit to cpm
0033C0: 0D 0A 09 64 77 09 40 63 63 6E 75 6C 6C 0D 0A 63 ...dw.@ccnull..c
0033D0: 70 6F 69 6E 74 65 72 3A 0D 0A 09 64 77 09 40 63 pointer:...dw.@c
0033E0: 63 6E 75 6C 6C 2C 40 63 63 6E 75 6C 6C 2C 40 63 cnull,@ccnull,@c
0033F0: 63 6E 75 6C 6C 2C 40 63 63 6E 75 6C 6C 2C 40 63 cnull,@ccnull,@c
003400: 75 65 20 6E 6F 74 20 69 6E 20 74 61 62 6C 65 0D ue not in table.
003410: 0A 3B 09 62 2D 20 6E 75 6D 62 65 72 20 6F 66 20 .;.b- number of
003420: 20 65 6E 74 72 79 20 69 6E 20 74 61 62 6C 65 0D entry in table.
003430: 0A 3B 0D 0A 40 73 77 69 74 63 68 3A 63 73 65 63 .;..@switch:csec
003440: 74 0D 0A 09 78 74 68 6C 09 09 09 3B 67 65 74 20 t...xthl...;get
003450: 76 61 6C 75 65 20 6F 66 20 65 78 70 72 65 73 73 value of express
003460: 74 69 6F 6E 20 74 6F 20 63 68 65 63 6B 0D 0A 09 tion to check...
003470: 78 63 68 67 09 09 09 3B 70 75 74 20 76 61 6C 75 xchg...;put valu
003480: 65 20 69 6E 20 64 65 0D 0A 40 73 77 69 74 63 68 e in de..@switch
003490: 31 3A 0D 0A 09 6D 6F 76 09 61 2C 65 0D 0A 09 63 1:...mov.a,e...c
0034A0: 6D 70 09 6D 09 09 3B 63 68 65 63 6B 20 74 6F 20 mp.m..;check to
0034B0: 73 65 65 20 69 66 20 6C 6F 77 20 62 79 74 65 20 see if low byte
0034C0: 6D 61 74 63 68 0D 0A 09 69 6E 78 09 68 09 09 3B match...inx.h..;
0034D0: 6D 6F 76 65 20 70 6F 69 6E 74 65 72 20 74 6F 20 move pointer to
0034E0: 6E 65 78 74 20 62 79 74 65 20 6F 66 20 64 61 74 next byte of dat
0034F0: 61 0D 0A 09 6A 6E 7A 09 40 73 77 69 74 63 68 32 a...jnz.@switch2
003500: 09 3B 6E 6F 20 6E 6F 76 20 74 6F 20 6E 65 78 74 .;no nov to next
003510: 20 65 6E 74 72 79 0D 0A 09 6D 6F 76 09 61 2C 64 entry...mov.a,d
003520: 09 09 3B 6D 6F 76 65 20 68 69 67 68 20 62 79 74 ..;move high byt
003530: 65 20 6F 66 20 64 61 74 61 0D 0A 09 63 6D 70 09 e of data...cmp.
003540: 6D 09 09 3B 63 68 65 63 6B 20 74 6F 20 73 65 65 m..;check to see
003550: 20 69 66 20 6D 61 74 63 68 0D 0A 09 6A 6E 7A 09 if match...jnz.
003560: 40 73 77 69 74 63 68 32 09 3B 79 65 73 20 6A 75 @switch2.;yes ju
003570: 6D 70 20 74 6F 20 61 64 64 72 65 73 73 0D 0A 09 mp to address...
003580: 69 6E 78 09 68 0D 0A 09 6D 6F 76 09 65 2C 6D 09 inx.h...mov.e,m.
003590: 09 3B 67 65 74 20 6C 6F 77 20 62 79 74 65 20 6F .;get low byte o
0035A0: 66 20 61 64 64 72 65 73 73 0D 0A 09 69 6E 78 09 f address...inx.
0035B0: 68 0D 0A 09 6D 6F 76 09 64 2C 6D 09 09 3B 67 65 h...mov.d,m..;ge
0035C0: 74 20 68 69 67 68 20 62 79 74 65 20 6F 66 20 61 t high byte of a
0035D0: 64 64 72 65 73 73 0D 0A 09 78 63 68 67 09 09 09 ddress...xchg...
0035E0: 3B 70 75 74 20 61 64 64 72 65 73 73 20 69 6E 20 ;put address in
0035F0: 68 6C 0D 0A 09 70 6F 70 09 62 09 09 3B 72 65 6D hl...pop.b..;rem
003600: 63 6E 75 6C 6C 0D 0A 09 64 77 09 40 63 63 6E 75 cnull...dw.@ccnu
003610: 6C 6C 2C 40 63 63 6E 75 6C 6C 2C 40 63 63 6E 75 ll,@ccnull,@ccnu
003620: 6C 6C 2C 40 63 63 6E 75 6C 6C 2C 40 63 63 6E 75 ll,@ccnull,@ccnu
003630: 6C 6C 0D 0A 09 64 77 09 40 63 63 6E 75 6C 6C 2C ll...dw.@ccnull,
003640: 40 63 63 6E 75 6C 6C 2C 40 63 63 6E 75 6C 6C 2C @ccnull,@ccnull,
003650: 40 63 63 6E 75 6C 6C 2C 40 63 63 6E 75 6C 6C 0D @ccnull,@ccnull.
003660: 0A 09 64 77 09 40 63 63 6E 75 6C 6C 2C 40 63 63 ..dw.@ccnull,@cc
003670: 6E 75 6C 6C 2C 40 63 63 6E 75 6C 6C 2C 40 63 63 null,@ccnull,@cc
003680: 6E 75 6C 6C 2C 40 63 63 6E 75 6C 6C 0D 0A 09 64 null,@ccnull...d
003690: 77 09 40 63 63 6E 75 6C 6C 2C 40 63 63 6E 75 6C w.@ccnull,@ccnul
0036A0: 6C 2C 40 63 63 6E 75 6C 6C 2C 40 63 63 6E 75 6C l,@ccnull,@ccnul
0036B0: 6C 2C 40 63 63 6E 75 6C 6C 0D 0A 40 63 63 6E 75 l,@ccnull..@ccnu
0036C0: 6C 6C 3A 0D 0A 09 64 62 09 27 6E 6F 6E 61 6D 65 ll:...db.'noname
0036D0: 27 2C 30 09 0D 0A 09 70 61 67 65 0D 0A 40 6F 65 ',0....page..@oe
0036E0: 71 09 65 71 75 09 40 65 71 2D 40 63 6F 6D 70 0D q.equ.@eq-@comp.
0036F0: 0A 40 6F 6E 65 09 65 71 75 09 40 6E 65 2D 40 63 .@one.equ.@ne-@c
003700: 6F 6D 70 0D 0A 40 6F 67 74 09 65 71 75 09 40 67 omp..@ogt.equ.@g
003710: 74 2D 40 63 6F 6D 70 0D 0A 40 6F 6C 74 09 65 71 t-@comp..@olt.eq
003720: 75 09 40 6C 74 2D 40 63 6F 6D 70 0D 0A 40 6F 67 u.@lt-@comp..@og
003730: 65 09 65 71 75 09 40 67 65 2D 40 63 6F 6D 70 0D e.equ.@ge-@comp.
003740: 0A 40 6F 6C 65 09 65 71 75 09 40 6C 65 2D 40 63 .@ole.equ.@le-@c
003750: 6F 6D 70 0D 0A 0D 0A 40 6F 75 67 74 09 65 71 75 omp....@ougt.equ
003760: 09 40 75 67 74 2D 40 63 6F 6D 70 0D 0A 40 6F 75 .@ugt-@comp..@ou
003770: 6C 74 09 65 71 75 09 40 75 6C 74 2D 40 63 6F 6D lt.equ.@ult-@com
003780: 70 0D 0A 40 6F 75 67 65 09 65 71 75 09 40 75 67 p..@ouge.equ.@ug
003790: 65 2D 40 63 6F 6D 70 0D 0A 40 6F 75 6C 65 09 65 e-@comp..@oule.e
0037A0: 71 75 09 40 75 6C 65 2D 40 63 6F 6D 70 0D 0A 0D qu.@ule-@comp...
0037B0: 0A 40 6F 70 72 65 69 09 65 71 75 09 40 70 72 65 .@oprei.equ.@pre
0037C0: 69 6E 63 2D 40 69 6E 63 64 65 63 0D 0A 40 6F 70 inc-@incdec..@op
0037D0: 72 65 64 09 65 71 75 09 40 70 72 65 64 65 63 2D red.equ.@predec-
0037E0: 40 69 6E 63 64 65 63 0D 0A 40 6F 70 6F 73 69 09 @incdec..@oposi.
0037F0: 65 71 75 09 40 70 6F 73 74 69 6E 63 2D 40 69 6E equ.@postinc-@in
003800: 6F 76 65 20 65 6E 74 72 79 20 66 72 6F 6D 20 73 ove entry from s
003810: 74 61 63 6B 0D 0A 09 70 63 68 6C 09 09 09 3B 6A tack...pchl...;j
003820: 75 6D 70 20 74 6F 20 6E 65 65 64 65 64 20 63 61 ump to needed ca
003830: 73 65 20 73 74 61 74 65 6D 65 6E 74 0D 0A 40 73 se statement..@s
003840: 77 69 74 63 68 32 3A 0D 0A 09 69 6E 78 09 68 09 witch2:...inx.h.
003850: 09 3B 6D 6F 76 65 20 70 6F 69 6E 74 65 72 20 74 .;move pointer t
003860: 6F 20 6E 65 78 74 20 65 6E 74 72 79 0D 0A 09 69 o next entry...i
003870: 6E 78 09 68 0D 0A 09 69 6E 78 09 68 0D 0A 09 64 nx.h...inx.h...d
003880: 63 72 09 62 09 09 3B 63 68 65 63 6B 20 74 6F 20 cr.b..;check to
003890: 73 65 65 20 69 66 20 64 6F 6E 65 20 77 69 74 68 see if done with
0038A0: 20 73 63 61 6E 0D 0A 09 6A 6E 7A 09 40 73 77 69 scan...jnz.@swi
0038B0: 74 63 68 31 0D 0A 09 78 74 68 6C 09 09 09 3B 67 tch1...xthl...;g
0038C0: 65 74 20 61 64 64 72 65 73 73 20 6F 66 20 77 68 et address of wh
0038D0: 65 72 65 20 74 6F 20 67 6F 20 77 68 65 6E 20 64 ere to go when d
0038E0: 6F 6E 65 0D 0A 09 70 6F 70 09 62 09 09 3B 72 65 one...pop.b..;re
0038F0: 6D 6F 76 65 20 65 6E 74 72 79 20 66 72 6F 6D 20 move entry from
003900: 73 74 61 63 6B 0D 0A 09 70 63 68 6C 09 09 09 3B stack...pchl...;
003910: 67 6F 20 74 68 65 72 65 0D 0A 3B 0D 0A 3B 09 63 go there..;..;.c
003920: 61 6C 6C 20 61 20 62 69 6F 73 20 72 6F 75 74 69 all a bios routi
003930: 6E 65 20 77 69 74 68 20 62 65 20 6C 6F 61 64 65 ne with be loade
003940: 64 0D 0A 3B 0D 0A 62 69 6F 73 3A 09 63 73 65 63 d..;..bios:.csec
003950: 74 0D 0A 09 70 6F 70 09 68 0D 0A 09 70 6F 70 09 t...pop.h...pop.
003960: 62 0D 0A 09 70 6F 70 09 64 0D 0A 09 70 75 73 68 b...pop.d...push
003970: 09 64 0D 0A 09 70 75 73 68 09 62 0D 0A 09 70 75 .d...push.b...pu
003980: 73 68 09 68 0D 0A 09 6C 68 6C 64 09 31 0D 0A 09 sh.h...lhld.1...
003990: 64 63 78 09 68 0D 0A 20 09 64 63 78 09 68 0D 0A dcx.h.. .dcx.h..
0039A0: 09 64 63 78 09 68 0D 0A 09 6D 76 69 09 64 2C 30 .dcx.h...mvi.d,0
0039B0: 0D 0A 09 64 61 64 09 64 0D 0A 09 64 61 64 09 64 ...dad.d...dad.d
0039C0: 0D 0A 09 64 61 64 09 64 0D 0A 09 63 61 6C 6C 09 ...dad.d...call.
0039D0: 62 69 6F 73 31 0D 0A 09 6D 6F 76 09 6C 2C 61 0D bios1...mov.l,a.
0039E0: 0A 09 6D 76 69 09 68 2C 30 0D 0A 09 72 65 74 0D ..mvi.h,0...ret.
0039F0: 0A 62 69 6F 73 31 3A 09 70 63 68 6C 0D 0A 3B 0D .bios1:.pchl..;.
003A00: 54 72 61 63 6B 2D 49 6E 66 6F 0D 0A 00 00 00 00 Track-Info......
003A10: 03 00 01 00 02 09 52 E5 03 00 C1 02 00 00 00 02 ......R.........
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: 63 64 65 63 0D 0A 40 6F 70 6F 73 64 09 65 71 75 cdec..@oposd.equ
003B10: 09 40 70 6F 73 74 64 65 63 2D 40 69 6E 63 64 65 .@postdec-@incde
003B20: 63 0D 0A 0D 0A 09 65 6E 64 0D 0A 1A 1A 1A 1A 1A c.....end.......
003B30: 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A ................
003B40: 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A ................
003B50: 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A ................
003B60: 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A ................
003B70: 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A ................
003B80: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
003B90: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
003BA0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
003BB0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
003BC0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
003BD0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
003BE0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
003BF0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
003C00: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
003C10: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
003C20: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
003C30: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
003C40: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
003C50: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
003C60: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
003C70: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
003C80: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
003C90: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
003CA0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
003CB0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
003CC0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
003CD0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
003CE0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
003CF0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
003D00: 63 70 69 09 27 7A 27 2B 31 09 09 3B 69 73 20 69 cpi.'z'+1..;is i
003D10: 74 20 67 72 65 61 74 65 72 20 74 68 65 6E 20 27 t greater then '
003D20: 7A 27 0D 0A 09 6A 6E 63 09 69 73 6C 6F 77 77 65 z'...jnc.islowwe
003D30: 72 31 09 3B 79 65 73 2E 2E 2E 6E 6F 74 20 6C 6F r1.;yes...not lo
003D40: 77 65 72 20 63 61 73 65 0D 0A 09 6C 78 69 09 68 wer case...lxi.h
003D50: 2C 74 72 75 65 09 09 3B 72 65 74 75 72 6E 20 74 ,true..;return t
003D60: 72 75 65 20 66 6F 72 20 6C 6F 77 77 65 72 20 63 rue for lowwer c
003D70: 61 73 65 0D 0A 09 72 65 74 0D 0A 69 73 6C 6F 77 ase...ret..islow
003D80: 77 65 72 31 3A 0D 0A 09 6C 78 69 09 68 2C 66 61 wer1:...lxi.h,fa
003D90: 6C 73 65 09 09 3B 72 65 74 75 72 6E 20 66 61 6C lse..;return fal
003DA0: 73 65 20 66 6F 72 20 61 6E 79 74 68 69 6E 67 20 se for anything
003DB0: 62 75 74 20 6C 6F 77 77 65 72 20 63 61 73 65 0D but lowwer case.
003DC0: 0A 09 72 65 74 0D 0A 3B 0D 0A 3B 09 69 73 64 69 ..ret..;..;.isdi
003DD0: 67 69 74 0D 0A 3B 0D 0A 3B 09 66 75 6E 63 74 69 git..;..;.functi
003DE0: 6F 6E 3A 20 74 6F 20 63 68 65 63 6B 20 74 6F 20 on: to check to
003DF0: 73 65 65 20 69 66 20 63 68 61 72 61 63 74 65 72 see if character
003E00: 20 69 73 20 64 69 67 69 74 20 30 2D 39 20 6F 6E is digit 0-9 on
003E10: 6C 79 0D 0A 3B 0D 0A 3B 09 63 61 6C 6C 69 6E 67 ly..;..;.calling
003E20: 20 66 6F 72 6D 61 74 20 66 72 6F 6D 20 22 63 22 format from "c"
003E30: 0D 0A 3B 09 69 73 64 69 67 69 74 28 63 68 61 72 ..;.isdigit(char
003E40: 29 0D 0A 3B 0D 0A 69 73 64 69 67 69 74 3A 63 73 )..;..isdigit:cs
003E50: 65 63 74 0D 0A 09 6D 6F 76 09 61 2C 6C 09 09 3B ect...mov.a,l..;
003E60: 67 65 74 20 63 68 61 72 61 63 74 65 72 20 74 6F get character to
003E70: 20 74 65 73 74 0D 0A 09 63 70 69 09 27 30 27 09 test...cpi.'0'.
003E80: 09 3B 73 65 65 20 69 66 20 6C 65 73 73 20 74 68 .;see if less th
003E90: 65 6E 20 61 20 7A 65 72 6F 0D 0A 09 6A 63 09 69 en a zero...jc.i
003EA0: 73 64 69 67 69 74 31 09 3B 79 65 73 2E 2E 2E 6E sdigit1.;yes...n
003EB0: 6F 74 20 61 20 76 61 69 6C 64 20 64 69 67 69 74 ot a vaild digit
003EC0: 0D 0A 09 63 70 69 09 27 39 27 2B 31 09 09 3B 69 ...cpi.'9'+1..;i
003ED0: 73 20 69 74 20 67 72 65 61 74 65 72 20 74 68 61 s it greater tha
003EE0: 6E 20 6E 69 6E 65 0D 0A 09 6A 6E 63 09 69 73 64 n nine...jnc.isd
003EF0: 69 67 69 74 31 09 3B 79 65 73 2E 2E 2E 6E 6F 74 igit1.;yes...not
003F00: 09 74 69 74 6C 65 09 73 6D 61 6C 6C 20 63 20 69 .title.small c i
003F10: 2F 6F 20 70 61 63 6B 61 67 65 0D 0A 09 65 78 74 /o package...ext
003F20: 72 6E 09 62 69 6F 73 0D 0A 62 64 6F 73 09 65 71 rn.bios..bdos.eq
003F30: 75 09 35 09 09 3B 61 64 64 72 65 73 73 20 6F 6E u.5..;address on
003F40: 20 65 6E 74 72 79 20 61 64 64 72 65 73 73 20 66 entry address f
003F50: 6F 72 20 62 64 6F 73 0D 0A 63 70 6D 63 6D 64 20 or bdos..cpmcmd
003F60: 20 65 71 75 09 38 30 68 09 09 3B 61 64 64 72 65 equ.80h..;addre
003F70: 73 73 20 6F 66 20 63 70 6D 20 63 6F 6D 6D 61 6E ss of cpm comman
003F80: 64 20 6C 69 6E 65 0D 0A 74 72 75 65 09 65 71 75 d line..true.equ
003F90: 09 31 09 09 3B 76 61 6C 75 65 20 66 6F 72 20 74 .1..;value for t
003FA0: 72 75 65 0D 0A 66 61 6C 73 65 09 65 71 75 09 30 rue..false.equ.0
003FB0: 09 09 3B 76 61 6C 75 65 20 66 6F 72 20 66 61 6C ..;value for fal
003FC0: 73 65 09 09 0D 0A 3B 0D 0A 3B 09 74 6F 75 70 70 se....;..;.toupp
003FD0: 65 72 0D 0A 3B 0D 0A 3B 09 66 75 6E 63 74 69 6F er..;..;.functio
003FE0: 6E 3A 20 74 6F 20 73 68 69 66 74 20 6C 6F 77 65 n: to shift lowe
003FF0: 72 20 63 61 73 65 20 63 68 61 72 61 63 74 65 72 r case character
004000: 20 74 6F 20 75 70 70 65 72 0D 0A 3B 0D 0A 3B 09 to upper..;..;.
004010: 63 61 6C 6C 69 6E 67 20 66 6F 72 6D 61 74 20 66 calling format f
004020: 72 6F 6D 20 22 63 22 0D 0A 3B 09 74 6F 75 70 70 rom "c"..;.toupp
004030: 65 72 28 63 68 61 72 29 3B 0D 0A 3B 0D 0A 74 6F er(char);..;..to
004040: 75 70 70 65 72 3A 63 73 65 63 74 0D 0A 09 6D 6F upper:csect...mo
004050: 76 09 61 2C 6C 09 09 3B 67 65 74 20 63 68 61 72 v.a,l..;get char
004060: 61 63 74 65 72 20 74 6F 20 74 65 73 74 0D 0A 09 acter to test...
004070: 63 70 69 09 36 31 68 09 09 3B 63 68 65 63 6B 20 cpi.61h..;check
004080: 74 6F 20 73 65 65 20 69 66 20 6C 65 73 73 20 74 to see if less t
004090: 68 65 6E 20 27 61 27 0D 0A 09 72 63 09 09 09 3B hen 'a'...rc...;
0040A0: 79 65 73 20 72 65 74 75 72 6E 20 74 6F 20 63 61 yes return to ca
0040B0: 6C 6C 65 72 0D 0A 09 63 70 69 09 37 62 68 09 09 ller...cpi.7bh..
0040C0: 3B 63 68 65 63 6B 20 74 6F 20 73 65 65 20 69 66 ;check to see if
0040D0: 20 67 72 65 61 74 65 72 20 74 68 65 6E 20 27 7A greater then 'z
0040E0: 27 0D 0A 09 72 6E 63 09 09 09 3B 79 65 73 2E 2E '...rnc...;yes..
0040F0: 72 65 74 75 72 6E 20 74 6F 20 63 61 6C 6C 65 72 return to caller
004100: 20 61 20 76 61 69 6C 64 20 64 69 67 69 74 0D 0A a vaild digit..
004110: 09 6C 78 69 09 68 2C 74 72 75 65 09 09 3B 69 73 .lxi.h,true..;is
004120: 20 61 20 76 61 69 6C 64 20 64 69 67 69 74 0D 0A a vaild digit..
004130: 09 72 65 74 0D 0A 69 73 64 69 67 69 74 31 3A 0D .ret..isdigit1:.
004140: 0A 09 6C 78 69 09 68 2C 66 61 6C 73 65 09 09 3B ..lxi.h,false..;
004150: 6E 6F 74 20 61 20 76 61 69 6C 64 20 64 69 67 69 not a vaild digi
004160: 74 0D 0A 09 72 65 74 0D 0A 3B 0D 0A 3B 09 69 73 t...ret..;..;.is
004170: 73 70 61 63 65 0D 0A 3B 0D 0A 3B 09 66 75 6E 63 space..;..;.func
004180: 74 69 6F 6E 3A 20 74 6F 20 63 68 65 63 6B 20 74 tion: to check t
004190: 6F 20 73 65 65 20 69 66 20 77 68 69 74 65 20 73 o see if white s
0041A0: 70 61 63 65 20 74 61 62 20 6F 72 20 62 6C 61 6E pace tab or blan
0041B0: 6B 0D 0A 3B 0D 0A 3B 09 63 61 6C 6C 69 6E 67 20 k..;..;.calling
0041C0: 66 6F 72 6D 61 74 20 66 72 6F 6D 20 22 63 22 0D format from "c".
0041D0: 0A 3B 09 69 73 73 70 61 63 65 28 63 68 61 72 29 .;.isspace(char)
0041E0: 0D 0A 3B 0D 0A 69 73 73 70 61 63 65 3A 63 73 65 ..;..isspace:cse
0041F0: 63 74 0D 0A 09 6D 6F 76 09 61 2C 6C 09 09 3B 67 ct...mov.a,l..;g
004200: 65 74 20 63 68 61 72 61 63 74 65 72 20 74 6F 20 et character to
004210: 63 68 65 63 6B 0D 0A 09 6C 78 69 09 68 2C 74 72 check...lxi.h,tr
004220: 75 65 09 09 3B 61 73 73 75 6D 65 20 74 72 75 65 ue..;assume true
004230: 0D 0A 09 63 70 69 09 27 20 27 09 09 3B 63 68 65 ...cpi.' '..;che
004240: 63 6B 20 66 6F 72 20 61 20 73 70 61 63 65 0D 0A ck for a space..
004250: 09 72 7A 0D 0A 09 63 70 69 09 39 09 09 3B 63 68 .rz...cpi.9..;ch
004260: 65 63 6B 20 66 6F 72 20 61 20 74 61 62 0D 0A 09 eck for a tab...
004270: 72 7A 0D 0A 09 6C 78 69 09 68 2C 66 61 6C 73 65 rz...lxi.h,false
004280: 0D 0A 09 72 65 74 0D 0A 3B 0D 0A 3B 09 73 74 72 ...ret..;..;.str
004290: 6C 65 6E 0D 0A 3B 0D 0A 3B 09 66 75 6E 63 74 69 len..;..;.functi
0042A0: 6F 6E 3A 20 74 6F 20 67 65 74 20 74 68 65 20 6C on: to get the l
0042B0: 65 6E 67 68 74 20 6F 66 20 61 20 73 74 72 69 6E enght of a strin
0042C0: 67 0D 0A 3B 0D 0A 3B 09 63 61 6C 6C 69 6E 67 20 g..;..;.calling
0042D0: 66 6F 72 6D 61 74 20 69 6E 20 22 63 22 0D 0A 3B format in "c"..;
0042E0: 09 6C 65 6E 3D 73 74 72 6C 65 6E 28 73 74 72 69 .len=strlen(stri
0042F0: 6E 67 29 3B 0D 0A 3B 0D 0A 73 74 72 6C 65 6E 3A ng);..;..strlen:
004300: 0D 0A 09 61 6E 69 09 35 66 68 09 09 3B 6D 61 73 ...ani.5fh..;mas
004310: 6B 20 6F 66 66 20 6C 6F 77 77 65 72 20 63 61 73 k off lowwer cas
004320: 65 20 62 69 74 0D 0A 09 6D 6F 76 09 6C 2C 61 09 e bit...mov.l,a.
004330: 09 3B 70 75 74 20 69 74 20 69 6E 20 72 65 67 20 .;put it in reg
004340: 66 6F 72 20 72 65 74 75 72 6E 0D 0A 09 72 65 74 for return...ret
004350: 09 09 09 3B 72 65 74 75 72 6E 20 74 6F 20 63 61 ...;return to ca
004360: 6C 6C 65 72 0D 0A 3B 0D 0A 3B 09 74 6F 6C 6F 77 ller..;..;.tolow
004370: 77 65 72 0D 0A 3B 0D 0A 3B 09 66 75 6E 63 74 69 wer..;..;.functi
004380: 6F 6E 3A 20 74 6F 20 63 6F 6E 76 65 72 74 20 63 on: to convert c
004390: 68 61 72 61 63 74 65 72 20 74 6F 20 6C 6F 77 77 haracter to loww
0043A0: 65 72 20 63 61 73 65 0D 0A 3B 0D 0A 3B 09 63 61 er case..;..;.ca
0043B0: 6C 6C 69 6E 67 20 66 6F 72 6D 61 74 20 66 72 6F lling format fro
0043C0: 6D 20 22 63 22 0D 0A 3B 09 74 6F 6C 6F 77 77 65 m "c"..;.tolowwe
0043D0: 72 28 63 68 61 72 29 0D 0A 3B 0D 0A 74 6F 6C 6F r(char)..;..tolo
0043E0: 77 77 65 72 3A 63 73 65 63 74 0D 0A 09 6D 6F 76 wwer:csect...mov
0043F0: 09 61 2C 6C 09 09 3B 67 65 74 20 63 68 61 72 61 .a,l..;get chara
004400: 63 74 65 72 20 74 6F 20 73 68 69 66 74 20 74 6F cter to shift to
004410: 20 6C 6F 77 77 65 72 20 63 61 73 65 0D 0A 09 63 lowwer case...c
004420: 70 69 09 27 41 27 09 09 3B 73 65 65 20 69 66 20 pi.'A'..;see if
004430: 6C 65 73 73 20 74 68 65 6E 20 27 41 27 0D 0A 09 less then 'A'...
004440: 72 63 09 09 09 3B 79 65 73 2E 2E 2E 72 65 74 75 rc...;yes...retu
004450: 72 6E 20 74 6F 20 63 61 6C 6C 65 72 0D 0A 09 63 rn to caller...c
004460: 70 69 09 27 5A 27 2B 31 09 09 3B 73 65 65 20 69 pi.'Z'+1..;see i
004470: 66 20 67 72 65 61 74 65 72 20 74 68 65 6E 20 27 f greater then '
004480: 5A 27 0D 0A 09 72 6E 63 09 09 09 3B 79 65 73 2E Z'...rnc...;yes.
004490: 2E 2E 72 65 74 75 72 6E 20 74 6F 20 63 61 6C 6C ..return to call
0044A0: 65 72 0D 0A 09 61 6E 69 09 30 62 66 68 09 09 3B er...ani.0bfh..;
0044B0: 72 65 6D 6F 76 65 20 75 70 70 65 72 20 63 61 73 remove upper cas
0044C0: 65 20 62 69 74 0D 0A 09 6D 6F 76 09 6C 2C 61 09 e bit...mov.l,a.
0044D0: 09 3B 70 75 74 20 63 68 72 61 63 74 65 72 20 62 .;put chracter b
0044E0: 61 63 6B 20 69 6E 20 70 6C 61 63 65 0D 0A 09 72 ack in place...r
0044F0: 65 74 0D 0A 3B 0D 0A 3B 09 69 73 61 6C 70 68 61 et..;..;.isalpha
004500: 09 63 73 65 63 74 0D 0A 09 78 63 68 67 09 09 09 .csect...xchg...
004510: 3B 70 75 74 20 61 64 64 72 65 73 73 20 6F 66 20 ;put address of
004520: 73 74 72 69 6E 67 20 69 6E 20 64 65 0D 0A 09 6C string in de...l
004530: 78 69 09 68 2C 30 09 09 3B 6D 61 6B 65 20 73 74 xi.h,0..;make st
004540: 72 69 6E 67 20 6F 66 20 7A 65 72 6F 20 6C 65 6E ring of zero len
004550: 67 68 74 0D 0A 73 74 72 6C 65 6E 31 3A 0D 0A 09 ght..strlen1:...
004560: 6C 64 61 78 09 64 09 09 3B 67 65 74 20 63 68 61 ldax.d..;get cha
004570: 72 61 63 74 65 72 20 66 72 6F 6D 20 73 74 72 69 racter from stri
004580: 6E 67 0D 0A 09 6F 72 61 09 61 09 09 3B 63 68 65 ng...ora.a..;che
004590: 63 6B 20 74 6F 20 73 65 65 20 69 66 20 65 6E 64 ck to see if end
0045A0: 20 6F 66 20 73 74 72 69 6E 67 0D 0A 09 72 7A 09 of string...rz.
0045B0: 09 09 3B 79 65 73 20 72 65 74 75 72 6E 20 74 6F ..;yes return to
0045C0: 20 63 61 6C 6C 65 72 0D 0A 09 69 6E 78 09 68 09 caller...inx.h.
0045D0: 09 3B 61 64 64 20 31 20 74 6F 20 73 74 72 69 6E .;add 1 to strin
0045E0: 67 20 6C 65 6E 67 68 74 0D 0A 09 69 6E 78 09 64 g lenght...inx.d
0045F0: 09 09 3B 6D 6F 76 65 20 74 6F 20 6E 65 78 74 20 ..;move to next
004600: 63 68 61 72 61 63 74 65 72 0D 0A 09 6A 6D 70 09 character...jmp.
004610: 73 74 72 6C 65 6E 31 09 09 3B 6C 6F 6F 70 20 74 strlen1..;loop t
004620: 69 6C 6C 20 65 6E 64 20 6F 66 20 73 74 72 69 6E ill end of strin
004630: 67 20 66 6F 75 6E 64 0D 0A 3B 0D 0A 3B 09 73 74 g found..;..;.st
004640: 72 63 70 79 0D 0A 3B 0D 0A 3B 09 66 75 6E 63 74 rcpy..;..;.funct
004650: 69 6F 6E 3A 20 74 6F 20 63 6F 70 79 20 66 69 72 ion: to copy fir
004660: 73 74 20 73 65 63 6F 6E 64 20 73 74 72 69 6E 67 st second string
004670: 20 74 6F 20 66 69 72 73 74 20 73 74 72 69 6E 67 to first string
004680: 0D 0A 3B 0D 0A 3B 09 63 61 6C 6C 69 6E 67 20 66 ..;..;.calling f
004690: 6F 72 6D 61 74 20 66 72 6F 6D 20 22 63 22 0D 0A ormat from "c"..
0046A0: 3B 09 73 74 72 63 70 79 28 6F 62 6A 65 63 74 2C ;.strcpy(object,
0046B0: 73 6F 75 72 63 65 29 3B 0D 0A 3B 0D 0A 73 74 72 source);..;..str
0046C0: 63 70 79 3A 09 63 73 65 63 74 0D 0A 09 70 6F 70 cpy:.csect...pop
0046D0: 09 62 09 09 3B 67 65 74 20 72 65 74 75 72 6E 20 .b..;get return
0046E0: 61 64 64 72 65 73 73 20 66 72 6F 6D 20 73 74 61 address from sta
0046F0: 63 6B 0D 0A 09 70 6F 70 09 64 09 09 3B 67 65 74 ck...pop.d..;get
004700: 0D 0A 3B 0D 0A 3B 09 66 75 6E 63 74 69 6F 6E 20 ..;..;.function
004710: 63 68 65 63 6B 20 74 6F 20 73 65 65 20 69 66 20 check to see if
004720: 61 6C 70 68 61 20 63 68 61 72 61 63 74 65 72 20 alpha character
004730: 61 2D 7A 20 6F 72 20 41 2D 5A 20 6F 6E 6C 79 0D a-z or A-Z only.
004740: 0A 3B 0D 0A 3B 09 63 61 6C 6C 69 6E 67 20 66 6F .;..;.calling fo
004750: 72 6D 61 74 20 66 72 6F 6D 20 22 63 22 0D 0A 3B rmat from "c"..;
004760: 09 69 73 61 6C 70 68 61 28 63 68 61 72 29 0D 0A .isalpha(char)..
004770: 3B 0D 0A 69 73 61 6C 70 68 61 3A 63 73 65 63 74 ;..isalpha:csect
004780: 0D 0A 09 70 75 73 68 09 68 09 09 3B 73 61 76 65 ...push.h..;save
004790: 20 63 61 6C 6C 69 6E 67 20 61 72 67 20 66 6F 72 calling arg for
0047A0: 20 6C 61 74 65 72 0D 0A 09 63 61 6C 6C 09 69 73 later...call.is
0047B0: 75 70 70 65 72 09 09 3B 63 68 65 63 6B 20 74 6F upper..;check to
0047C0: 20 73 65 65 20 69 66 20 75 70 70 65 72 20 63 61 see if upper ca
0047D0: 73 65 0D 0A 09 78 63 68 67 09 09 09 3B 70 75 74 se...xchg...;put
0047E0: 20 61 6E 73 77 65 72 20 69 6E 20 64 65 0D 0A 09 answer in de...
0047F0: 70 6F 70 09 68 09 09 3B 67 65 74 20 63 68 61 72 pop.h..;get char
004800: 61 63 74 65 72 20 74 6F 20 74 65 73 74 20 62 61 acter to test ba
004810: 63 6B 0D 0A 09 63 61 6C 6C 09 69 73 6C 6F 77 77 ck...call.isloww
004820: 65 72 09 3B 63 68 65 63 6B 20 74 6F 20 73 65 65 er.;check to see
004830: 20 69 66 20 6C 6F 77 77 65 72 20 63 61 73 65 0D if lowwer case.
004840: 0A 09 64 61 64 09 64 09 09 3B 61 64 64 20 69 73 ..dad.d..;add is
004850: 75 70 70 65 72 20 74 6F 20 69 73 20 6C 6F 77 77 upper to is loww
004860: 65 72 20 61 6E 73 77 65 72 0D 0A 09 72 65 74 0D er answer...ret.
004870: 0A 0D 0A 3B 0D 0A 3B 09 69 73 75 70 70 65 72 0D ...;..;.isupper.
004880: 0A 3B 0D 0A 3B 09 66 75 6E 63 74 69 6F 6E 3A 20 .;..;.function:
004890: 74 6F 20 63 68 65 63 6B 20 74 6F 20 73 65 65 20 to check to see
0048A0: 69 66 20 63 68 61 72 61 63 74 65 72 20 69 73 20 if character is
0048B0: 75 70 70 65 72 20 63 61 73 65 0D 0A 3B 0D 0A 3B upper case..;..;
0048C0: 09 63 61 6C 6C 69 6E 67 20 66 6F 72 6D 61 74 20 .calling format
0048D0: 69 6E 20 22 63 22 0D 0A 3B 09 69 73 75 70 70 65 in "c"..;.isuppe
0048E0: 72 28 63 68 61 72 29 20 0D 0A 3B 0D 0A 69 73 75 r(char) ..;..isu
0048F0: 70 70 65 72 3A 63 73 65 63 74 0D 0A 09 6D 6F 76 pper:csect...mov
004900: 20 73 6F 75 72 63 65 20 61 64 64 72 65 73 73 0D source address.
004910: 0A 09 70 6F 70 09 68 09 09 3B 67 65 74 20 6F 62 ..pop.h..;get ob
004920: 6A 65 63 74 20 61 64 64 72 65 73 73 0D 0A 09 70 ject address...p
004930: 75 73 68 09 68 09 09 3B 72 65 73 74 6F 72 65 20 ush.h..;restore
004940: 6D 61 63 68 69 6E 65 20 73 74 61 63 6B 0D 0A 09 machine stack...
004950: 70 75 73 68 09 64 0D 0A 09 70 75 73 68 09 62 0D push.d...push.b.
004960: 0A 09 70 75 73 68 09 68 0D 0A 73 74 72 63 70 79 ..push.h..strcpy
004970: 31 3A 0D 0A 09 6C 64 61 78 09 64 09 09 3B 67 65 1:...ldax.d..;ge
004980: 74 20 61 64 64 72 65 73 73 20 6F 66 20 73 6F 75 t address of sou
004990: 72 63 65 20 20 63 68 61 72 61 63 74 65 72 0D 0A rce character..
0049A0: 09 6D 6F 76 09 6D 2C 61 09 09 3B 73 74 6F 72 65 .mov.m,a..;store
0049B0: 20 63 68 61 72 61 63 74 65 72 20 69 6E 20 6F 62 character in ob
0049C0: 6A 65 63 74 20 73 74 72 69 6E 67 0D 0A 09 6F 72 ject string...or
0049D0: 61 09 61 09 09 3B 63 68 65 63 6B 20 74 6F 20 73 a.a..;check to s
0049E0: 65 65 20 69 66 20 65 6E 64 20 6F 66 20 73 74 72 ee if end of str
0049F0: 69 6E 67 0D 0A 09 6A 7A 09 73 74 72 63 70 79 32 ing...jz.strcpy2
004A00: 09 09 3B 65 6E 64 20 6F 66 20 73 74 72 69 6E 67 ..;end of string
004A10: 20 72 65 74 75 72 6E 20 74 6F 20 63 61 6C 6C 65 return to calle
004A20: 72 0D 0A 09 69 6E 78 09 68 0D 0A 09 69 6E 78 09 r...inx.h...inx.
004A30: 64 09 09 3B 6D 6F 76 65 20 70 6F 69 6E 74 65 72 d..;move pointer
004A40: 20 74 6F 20 6E 65 78 74 20 62 79 74 65 0D 0A 09 to next byte...
004A50: 6A 6D 70 09 73 74 72 63 70 79 31 09 09 3B 6C 6F jmp.strcpy1..;lo
004A60: 6F 70 20 74 69 6C 6C 20 64 6F 6E 65 20 77 69 74 op till done wit
004A70: 68 20 63 6F 70 79 0D 0A 73 74 72 63 70 79 32 3A h copy..strcpy2:
004A80: 0D 0A 09 70 6F 70 09 68 09 09 3B 72 65 74 75 72 ...pop.h..;retur
004A90: 6E 20 61 64 64 72 65 73 73 20 6F 66 20 6F 62 6A n address of obj
004AA0: 65 63 74 20 73 74 72 69 6E 67 0D 0A 09 72 65 74 ect string...ret
004AB0: 0D 0A 3B 0D 0A 3B 09 73 74 72 63 61 74 0D 0A 3B ..;..;.strcat..;
004AC0: 0D 0A 3B 09 66 75 6E 63 74 69 6F 6E 3A 20 74 6F ..;.function: to
004AD0: 20 70 75 74 20 73 74 72 69 6E 67 32 20 61 74 20 put string2 at
004AE0: 74 68 65 6E 20 65 6E 64 20 6F 66 20 73 74 72 69 then end of stri
004AF0: 6E 67 31 20 61 6E 64 20 72 65 74 75 72 6E 20 61 ng1 and return a
004B00: 09 61 2C 6C 09 09 3B 67 65 74 20 63 68 61 72 61 .a,l..;get chara
004B10: 63 74 65 72 20 74 6F 20 63 68 65 63 6B 0D 0A 09 cter to check...
004B20: 63 70 69 09 27 41 27 09 09 3B 73 65 65 20 69 66 cpi.'A'..;see if
004B30: 20 6C 65 73 73 20 74 68 65 6E 20 75 70 70 65 72 less then upper
004B40: 20 63 61 73 65 20 61 0D 0A 09 6A 63 09 69 73 75 case a...jc.isu
004B50: 70 70 65 72 31 09 3B 6E 6F 74 20 75 70 70 65 72 pper1.;not upper
004B60: 20 63 61 73 65 0D 0A 09 63 70 69 09 27 5A 27 2B case...cpi.'Z'+
004B70: 31 09 09 3B 63 68 65 63 6B 20 74 6F 20 73 65 65 1..;check to see
004B80: 20 69 66 20 6C 65 73 73 20 74 68 65 6E 20 0D 0A if less then ..
004B90: 09 6A 6E 63 09 69 73 75 70 70 65 72 31 09 3B 6E .jnc.isupper1.;n
004BA0: 6F 20 75 70 70 65 72 20 63 61 73 65 0D 0A 09 6C o upper case...l
004BB0: 78 69 09 68 2C 74 72 75 65 09 09 3B 79 65 73 20 xi.h,true..;yes
004BC0: 69 74 20 69 73 20 75 70 70 65 72 20 63 61 73 65 it is upper case
004BD0: 0D 0A 09 72 65 74 0D 0A 69 73 75 70 70 65 72 31 ...ret..isupper1
004BE0: 3A 0D 0A 09 6C 78 69 09 68 2C 66 61 6C 73 65 09 :...lxi.h,false.
004BF0: 09 3B 6E 6F 74 20 75 70 70 65 72 20 63 61 73 65 .;not upper case
004C00: 0D 0A 09 72 65 74 0D 0A 3B 0D 0A 3B 09 69 73 6C ...ret..;..;.isl
004C10: 6F 77 77 65 72 0D 0A 3B 0D 0A 3B 09 66 75 6E 63 owwer..;..;.func
004C20: 74 69 6F 6E 3A 20 74 6F 20 63 68 65 63 6B 20 74 tion: to check t
004C30: 6F 20 73 65 65 20 69 66 20 63 68 61 72 61 63 74 o see if charact
004C40: 65 72 20 69 73 20 6C 6F 77 77 65 72 20 63 61 73 er is lowwer cas
004C50: 65 0D 0A 3B 0D 0A 3B 09 63 61 6C 6C 69 6E 67 20 e..;..;.calling
004C60: 66 6F 72 6D 61 74 20 66 72 6F 6D 20 22 63 22 0D format from "c".
004C70: 0A 3B 09 69 73 6C 6F 77 77 65 72 28 63 68 61 72 .;.islowwer(char
004C80: 29 0D 0A 3B 0D 0A 69 73 6C 6F 77 77 65 72 3A 63 )..;..islowwer:c
004C90: 73 65 63 74 0D 0A 09 6D 6F 76 09 61 2C 6C 09 09 sect...mov.a,l..
004CA0: 3B 67 65 74 20 63 68 61 72 61 63 74 65 72 20 74 ;get character t
004CB0: 6F 20 63 68 65 63 6B 0D 0A 09 63 70 69 09 27 61 o check...cpi.'a
004CC0: 27 09 09 3B 73 65 65 20 69 66 20 6C 65 73 73 20 '..;see if less
004CD0: 74 68 65 6E 20 27 61 27 0D 0A 09 6A 63 09 69 73 then 'a'...jc.is
004CE0: 6C 6F 77 77 65 72 31 09 3B 79 65 73 2E 2E 2E 6E lowwer1.;yes...n
004CF0: 6F 74 20 75 70 70 65 72 20 63 61 73 65 0D 0A 09 ot upper case...
004D00: 54 72 61 63 6B 2D 49 6E 66 6F 0D 0A 00 00 00 00 Track-Info......
004D10: 04 00 01 00 02 09 52 E5 04 00 C1 02 00 00 00 02 ......R.........
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: 64 64 72 65 73 73 20 6F 66 20 0D 0A 3B 09 20 20 ddress of ..;.
004E10: 20 20 20 20 09 20 20 73 74 72 69 6E 67 20 31 0D . string 1.
004E20: 0A 3B 0D 0A 3B 09 63 61 6C 6C 69 6E 67 20 66 6F .;..;.calling fo
004E30: 72 6D 61 74 20 69 6E 20 22 63 22 0D 0A 3B 09 73 rmat in "c"..;.s
004E40: 74 72 63 61 74 28 73 74 72 69 6E 67 31 2C 73 74 trcat(string1,st
004E50: 72 69 6E 67 32 29 3B 0D 0A 3B 0D 0A 73 74 72 63 ring2);..;..strc
004E60: 61 74 3A 09 63 73 65 63 74 0D 0A 09 70 6F 70 09 at:.csect...pop.
004E70: 62 09 09 3B 67 65 74 20 72 65 74 75 72 6E 20 61 b..;get return a
004E80: 64 64 72 65 73 73 0D 0A 09 70 6F 70 09 64 09 09 ddress...pop.d..
004E90: 3B 67 65 74 20 61 64 64 72 65 73 73 20 6F 66 20 ;get address of
004EA0: 73 74 72 69 6E 67 20 32 0D 0A 09 70 6F 70 09 68 string 2...pop.h
004EB0: 09 09 3B 67 65 74 20 61 64 64 72 65 73 73 20 6F ..;get address o
004EC0: 66 20 73 74 72 69 6E 67 20 31 0D 0A 09 70 75 73 f string 1...pus
004ED0: 68 09 68 09 09 3B 72 65 74 6F 72 65 20 6D 61 63 h.h..;retore mac
004EE0: 68 69 6E 65 20 73 74 61 63 6B 0D 0A 09 70 75 73 hine stack...pus
004EF0: 68 09 64 0D 0A 09 70 75 73 68 09 62 0D 0A 09 70 h.d...push.b...p
004F00: 75 73 68 09 68 09 09 3B 73 61 76 65 20 61 64 64 ush.h..;save add
004F10: 72 65 73 73 20 6F 66 20 73 6F 75 72 63 65 20 73 ress of source s
004F20: 74 72 69 6E 67 0D 0A 73 74 72 63 61 74 31 3A 0D tring..strcat1:.
004F30: 0A 09 6D 6F 76 09 61 2C 6D 09 09 3B 67 65 74 20 ..mov.a,m..;get
004F40: 63 68 61 72 61 63 74 65 72 20 66 72 6F 6D 20 73 character from s
004F50: 6F 75 72 63 65 20 62 75 66 66 65 72 0D 0A 09 6F ource buffer...o
004F60: 72 61 09 61 09 09 3B 63 68 65 63 6B 20 74 6F 20 ra.a..;check to
004F70: 73 65 65 20 69 66 20 7A 65 72 6F 0D 0A 09 6A 7A see if zero...jz
004F80: 09 73 74 72 63 61 74 32 09 09 3B 79 65 73 20 65 .strcat2..;yes e
004F90: 6E 64 20 6F 66 20 73 74 72 69 6E 67 20 66 6F 75 nd of string fou
004FA0: 6E 64 0D 0A 09 69 6E 78 09 68 09 09 3B 6D 6F 76 nd...inx.h..;mov
004FB0: 65 20 70 6F 69 6E 74 65 72 20 74 6F 20 6E 65 78 e pointer to nex
004FC0: 74 20 62 79 74 65 0D 0A 09 6A 6D 70 09 73 74 72 t byte...jmp.str
004FD0: 63 61 74 31 09 09 3B 6C 6F 6F 70 20 74 69 6C 6C cat1..;loop till
004FE0: 20 65 6E 64 20 6F 66 20 73 74 72 69 6E 67 20 66 end of string f
004FF0: 6F 75 6E 64 0D 0A 73 74 72 63 61 74 32 3A 0D 0A ound..strcat2:..
005000: 61 63 74 69 6F 6E 0D 0A 09 69 6E 78 09 64 09 09 action...inx.d..
005010: 3B 6D 6F 76 65 20 70 6F 69 6E 74 65 72 20 74 6F ;move pointer to
005020: 20 6E 65 78 74 20 70 6F 69 6E 74 65 72 0D 0A 09 next pointer...
005030: 64 63 78 09 62 09 09 3B 73 75 62 74 72 61 63 74 dcx.b..;subtract
005040: 20 31 20 66 72 6F 6D 20 63 6F 75 6E 74 0D 0A 09 1 from count...
005050: 6A 6D 70 09 73 65 74 6D 65 6D 31 09 09 3B 6C 6F jmp.setmem1..;lo
005060: 6F 70 20 74 69 6C 6C 20 61 6C 6C 20 62 79 74 65 op till all byte
005070: 73 20 73 65 74 0D 0A 3B 0D 0A 3B 09 6D 6F 76 6D s set..;..;.movm
005080: 65 6D 0D 0A 3B 0D 0A 3B 09 66 75 6E 63 74 69 6F em..;..;.functio
005090: 6E 3A 20 74 6F 20 6D 6F 76 65 20 73 6F 75 72 63 n: to move sourc
0050A0: 65 20 61 64 64 72 65 73 73 20 74 6F 20 6F 62 6A e address to obj
0050B0: 65 63 74 20 61 64 64 72 65 73 73 20 66 6F 72 20 ect address for
0050C0: 63 6F 75 6E 74 20 62 79 74 65 73 0D 0A 3B 0D 0A count bytes..;..
0050D0: 3B 09 63 61 6C 6C 69 6E 67 20 66 6F 72 6D 61 74 ;.calling format
0050E0: 20 66 72 6F 6D 20 20 22 43 22 0D 0A 3B 09 6D 6F from "C"..;.mo
0050F0: 76 6D 65 6D 28 73 6F 75 72 63 65 2C 6F 62 6A 65 vmem(source,obje
005100: 63 74 2C 63 6F 75 6E 74 29 3B 0D 0A 3B 0D 0A 6D ct,count);..;..m
005110: 6F 76 6D 65 6D 3A 09 63 73 65 63 74 0D 0A 09 63 ovmem:.csect...c
005120: 61 6C 6C 09 61 72 67 6C 6F 61 64 09 09 3B 67 65 all.argload..;ge
005130: 74 20 61 72 67 73 20 62 63 3D 31 2C 20 64 65 3D t args bc=1, de=
005140: 32 2C 20 68 6C 3D 33 0D 0A 09 70 75 73 68 09 62 2, hl=3...push.b
005150: 09 09 3B 73 77 69 74 63 68 20 61 72 67 73 20 73 ..;switch args s
005160: 6F 20 74 68 61 74 20 0D 0A 09 70 75 73 68 09 64 o that ...push.d
005170: 09 09 3B 62 63 3D 63 6F 75 6E 74 0D 0A 09 70 75 ..;bc=count...pu
005180: 73 68 09 68 09 09 3B 64 65 3D 6F 62 6A 65 63 74 sh.h..;de=object
005190: 0D 0A 09 70 6F 70 09 62 09 09 3B 68 6C 3D 73 6F ...pop.b..;hl=so
0051A0: 75 72 63 65 0D 0A 09 70 6F 70 09 68 0D 0A 09 70 urce...pop.h...p
0051B0: 6F 70 09 64 0D 0A 09 6D 6F 76 09 61 2C 62 09 09 op.d...mov.a,b..
0051C0: 3B 63 68 65 63 6B 20 74 6F 20 73 65 65 20 69 66 ;check to see if
0051D0: 20 63 6F 75 6E 74 20 3D 20 30 0D 0A 09 6F 72 61 count = 0...ora
0051E0: 09 63 0D 0A 09 72 7A 09 09 09 3B 7A 65 72 6F 20 .c...rz...;zero
0051F0: 72 65 74 75 72 6E 20 74 6F 20 63 61 6C 6C 65 72 return to caller
005200: 09 6C 64 61 78 09 64 09 09 3B 67 65 74 20 63 68 .ldax.d..;get ch
005210: 61 72 61 63 74 65 72 20 66 72 6F 6D 20 73 74 72 aracter from str
005220: 69 6E 67 20 32 0D 0A 09 6D 6F 76 09 6D 2C 61 09 ing 2...mov.m,a.
005230: 09 3B 73 61 76 65 20 63 68 61 72 61 63 74 65 72 .;save character
005240: 20 69 6E 20 73 74 72 69 6E 67 31 0D 0A 09 6F 72 in string1...or
005250: 61 09 61 09 09 3B 63 68 65 63 6B 20 74 6F 20 73 a.a..;check to s
005260: 65 65 20 69 66 20 65 6E 64 20 6F 66 20 62 75 66 ee if end of buf
005270: 66 65 72 0D 0A 09 6A 7A 09 73 74 72 63 61 74 33 fer...jz.strcat3
005280: 09 09 3B 79 65 73 20 72 65 74 75 72 6E 20 74 6F ..;yes return to
005290: 20 63 61 6C 6C 65 72 0D 0A 09 69 6E 78 09 68 09 caller...inx.h.
0052A0: 09 3B 6D 6F 76 65 20 6F 62 6A 65 63 74 20 70 6F .;move object po
0052B0: 69 6E 74 65 72 20 75 70 20 31 0D 0A 09 69 6E 78 inter up 1...inx
0052C0: 09 64 09 09 3B 6D 6F 76 65 20 73 6F 75 72 63 65 .d..;move source
0052D0: 20 70 6F 69 6E 74 65 72 20 75 70 20 31 0D 0A 09 pointer up 1...
0052E0: 6A 6D 70 09 73 74 72 63 61 74 32 0D 0A 73 74 72 jmp.strcat2..str
0052F0: 63 61 74 33 3A 0D 0A 09 70 6F 70 09 68 09 09 3B cat3:...pop.h..;
005300: 67 65 74 20 61 64 64 72 65 73 73 20 6F 66 20 73 get address of s
005310: 74 72 69 6E 67 31 0D 0A 09 72 65 74 0D 0A 3B 09 tring1...ret..;.
005320: 73 74 72 70 6F 73 0D 0A 3B 0D 0A 3B 09 66 75 6E strpos..;..;.fun
005330: 63 74 69 6F 6E 3A 20 74 6F 20 6C 6F 6F 6B 20 66 ction: to look f
005340: 6F 72 20 73 74 72 69 6E 67 20 32 20 69 6E 20 73 or string 2 in s
005350: 74 72 69 6E 67 20 31 0D 0A 3B 0D 0A 3B 09 63 61 tring 1..;..;.ca
005360: 6C 6C 69 6E 67 20 66 6F 72 6D 61 74 20 69 6E 20 lling format in
005370: 22 63 22 0D 0A 3B 09 73 74 72 70 6F 73 28 73 74 "c"..;.strpos(st
005380: 72 69 6E 67 31 2C 73 74 72 69 6E 67 32 29 3B 0D ring1,string2);.
005390: 0A 3B 0D 0A 73 74 72 70 6F 73 3A 09 63 73 65 63 .;..strpos:.csec
0053A0: 74 0D 0A 09 63 61 6C 6C 09 61 72 67 6C 6F 61 64 t...call.argload
0053B0: 09 09 3B 67 65 74 20 61 72 67 73 20 6C 6F 61 64 ..;get args load
0053C0: 20 69 6E 74 6F 20 72 65 61 64 20 62 65 3D 31 20 into read be=1
0053D0: 64 65 3D 32 20 68 6C 3D 33 0D 0A 09 70 75 73 68 de=2 hl=3...push
0053E0: 09 62 0D 0A 09 70 6F 70 09 68 0D 0A 09 6C 78 69 .b...pop.h...lxi
0053F0: 09 62 2C 31 09 09 3B 64 65 3D 73 74 72 69 6E 67 .b,1..;de=string
005400: 0D 0A 09 63 61 6C 6C 09 6D 6F 76 6D 65 6D 68 74 ...call.movmemht
005410: 09 3B 63 68 65 63 6B 20 74 6F 20 73 65 65 20 69 .;check to see i
005420: 66 20 73 6F 75 72 63 65 3C 64 65 73 74 0D 0A 09 f source<dest...
005430: 6A 63 09 6D 6F 76 6D 65 6D 74 09 09 3B 6D 6F 76 jc.movmemt..;mov
005440: 65 20 74 69 61 6C 20 66 69 72 73 74 0D 0A 09 6D e tial first...m
005450: 76 69 09 61 2C 32 09 09 3B 63 68 65 63 6B 20 74 vi.a,2..;check t
005460: 6F 20 73 65 65 20 69 66 20 7A 38 30 0D 0A 09 69 o see if z80...i
005470: 6E 72 09 61 0D 0A 09 6A 70 65 09 6D 6F 76 6D 65 nr.a...jpe.movme
005480: 6D 66 38 09 3B 38 30 38 30 20 64 6F 20 61 20 62 mf8.;8080 do a b
005490: 79 74 65 20 62 79 20 62 79 74 65 20 6D 6F 76 65 yte by byte move
0054A0: 0D 0A 09 64 77 09 30 62 30 65 64 68 0D 0A 09 72 ...dw.0b0edh...r
0054B0: 65 74 0D 0A 6D 6F 76 6D 65 6D 66 38 3A 0D 0A 09 et..movmemf8:...
0054C0: 6D 6F 76 09 61 2C 6D 09 09 3B 67 65 74 20 73 6F mov.a,m..;get so
0054D0: 75 72 63 65 20 62 79 74 65 0D 0A 09 73 74 61 78 urce byte...stax
0054E0: 09 64 09 09 3B 73 61 76 65 20 62 79 74 65 20 69 .d..;save byte i
0054F0: 6E 20 6F 62 6A 65 63 74 20 62 75 66 66 65 72 0D n object buffer.
005500: 0A 09 69 6E 78 09 68 09 09 3B 6D 6F 76 65 20 6F ..inx.h..;move o
005510: 62 6A 65 63 74 20 70 6F 69 6E 74 65 72 20 75 70 bject pointer up
005520: 20 31 0D 0A 09 69 6E 78 09 64 09 09 3B 6D 6F 76 1...inx.d..;mov
005530: 65 20 73 6F 75 72 63 65 20 70 6F 69 6E 74 65 72 e source pointer
005540: 20 75 70 20 31 20 62 79 74 65 0D 0A 09 64 63 78 up 1 byte...dcx
005550: 09 62 09 09 3B 73 75 62 74 72 61 63 74 20 31 20 .b..;subtract 1
005560: 66 72 6F 6D 20 63 6F 75 6E 74 0D 0A 09 6D 6F 76 from count...mov
005570: 09 61 2C 62 09 09 3B 73 65 65 20 69 66 20 64 6F .a,b..;see if do
005580: 6E 65 0D 0A 09 6F 72 61 09 63 0D 0A 09 6A 6E 7A ne...ora.c...jnz
005590: 09 6D 6F 76 6D 65 6D 66 38 09 3B 6E 6F 20 6B 65 .movmemf8.;no ke
0055A0: 65 70 20 6F 6E 20 6C 6F 6F 70 69 6E 67 0D 0A 09 ep on looping...
0055B0: 72 65 74 0D 0A 6D 6F 76 6D 65 6D 74 3A 0D 0A 09 ret..movmemt:...
0055C0: 64 63 78 09 62 09 09 3B 74 61 69 6C 20 66 69 72 dcx.b..;tail fir
0055D0: 73 74 2E 20 63 6F 6D 70 75 74 65 20 6E 65 77 20 st. compute new
0055E0: 73 6F 75 72 63 65 0D 0A 09 64 61 64 09 62 09 09 source...dad.b..
0055F0: 3B 61 6E 64 20 64 65 73 74 69 6E 61 74 69 6F 6E ;and destination
005600: 32 2C 20 68 6C 3D 73 74 72 69 6E 67 31 20 62 63 2, hl=string1 bc
005610: 3D 30 0D 0A 09 78 63 68 67 0D 0A 73 74 72 70 6F =0...xchg..strpo
005620: 73 31 3A 0D 0A 09 6C 64 61 78 09 64 09 09 3B 67 s1:...ldax.d..;g
005630: 65 74 20 63 68 61 72 61 63 74 65 72 20 74 6F 20 et character to
005640: 63 68 65 63 6B 0D 0A 09 6F 72 61 09 61 09 09 3B check...ora.a..;
005650: 63 68 65 63 6B 20 74 6F 20 73 65 65 20 69 66 20 check to see if
005660: 65 6E 64 20 6F 66 20 73 74 72 69 6E 67 0D 0A 09 end of string...
005670: 6A 7A 09 73 74 72 70 6F 73 35 09 09 3B 65 6E 64 jz.strpos5..;end
005680: 20 6F 66 20 73 74 72 69 6E 67 31 20 73 74 72 69 of string1 stri
005690: 6E 67 20 32 20 6E 6F 74 20 66 6F 75 6E 64 20 69 ng 2 not found i
0056A0: 6E 20 73 74 72 69 6E 67 31 0D 0A 09 63 6D 70 09 n string1...cmp.
0056B0: 6D 09 09 3B 69 73 20 69 74 20 65 71 75 61 6C 20 m..;is it equal
0056C0: 74 6F 20 73 74 72 69 6E 67 32 20 63 68 61 72 61 to string2 chara
0056D0: 63 74 65 72 20 31 0D 0A 09 6A 7A 09 73 74 72 70 cter 1...jz.strp
0056E0: 6F 73 32 09 09 3B 79 65 73 2E 2E 2E 0D 0A 09 69 os2..;yes......i
0056F0: 6E 78 09 64 09 09 3B 6E 6F 20 61 64 64 20 31 20 nx.d..;no add 1
005700: 74 6F 20 73 74 72 69 6E 67 20 31 20 70 6F 69 6E to string 1 poin
005710: 74 65 72 0D 0A 09 69 6E 78 09 62 09 09 3B 61 64 ter...inx.b..;ad
005720: 64 20 31 20 74 6F 20 6F 66 66 73 65 74 20 70 6F d 1 to offset po
005730: 69 6E 74 65 72 0D 0A 09 6A 6D 70 09 73 74 72 70 inter...jmp.strp
005740: 6F 73 31 09 09 3B 6C 6F 6F 70 20 74 69 6C 6C 20 os1..;loop till
005750: 65 6E 64 20 6F 66 20 73 74 72 69 6E 67 31 20 6F end of string1 o
005760: 72 20 73 74 72 69 6E 67 32 20 66 6F 75 6E 64 0D r string2 found.
005770: 0A 73 74 72 70 6F 73 32 3A 0D 0A 09 70 75 73 68 .strpos2:...push
005780: 09 68 09 09 3B 73 61 76 65 20 73 74 72 61 74 69 .h..;save strati
005790: 6E 67 20 61 64 64 72 65 73 73 20 6F 66 20 73 74 ng address of st
0057A0: 72 69 6E 67 20 32 31 0D 0A 09 70 75 73 68 09 64 ring 21...push.d
0057B0: 09 09 3B 73 61 76 65 20 63 75 72 72 65 6E 74 20 ..;save current
0057C0: 61 64 64 72 65 73 73 20 6F 66 20 73 74 72 69 6E address of strin
0057D0: 67 20 31 0D 0A 73 74 72 70 6F 73 33 3A 0D 0A 09 g 1..strpos3:...
0057E0: 69 6E 78 09 64 0D 0A 09 69 6E 78 09 68 0D 0A 09 inx.d...inx.h...
0057F0: 6D 6F 76 09 61 2C 6D 09 09 3B 67 65 74 20 63 68 mov.a,m..;get ch
005800: 20 61 64 64 72 65 73 73 0D 0A 09 78 63 68 67 0D address...xchg.
005810: 0A 09 64 61 64 09 62 0D 0A 09 78 63 68 67 0D 0A ..dad.b...xchg..
005820: 09 6D 76 69 09 61 2C 32 09 09 3B 63 68 65 63 6B .mvi.a,2..;check
005830: 20 74 6F 20 73 65 65 20 69 66 20 7A 38 30 0D 0A to see if z80..
005840: 09 69 6E 72 09 61 0D 0A 09 6A 70 65 09 6D 6F 76 .inr.a...jpe.mov
005850: 6D 65 6D 74 38 09 3B 38 30 38 30 20 64 6F 20 61 memt8.;8080 do a
005860: 20 62 79 74 65 20 62 79 20 62 79 74 65 20 6D 6F byte by byte mo
005870: 76 65 0D 0A 09 64 77 09 30 62 38 65 64 68 0D 0A ve...dw.0b8edh..
005880: 09 72 65 74 0D 0A 6D 6F 76 6D 65 6D 74 38 3A 0D .ret..movmemt8:.
005890: 0A 09 6D 6F 76 09 61 2C 6D 09 09 3B 67 65 74 20 ..mov.a,m..;get
0058A0: 73 6F 75 72 63 65 20 62 79 74 65 0D 0A 09 73 74 source byte...st
0058B0: 61 78 09 64 09 09 3B 73 61 76 65 20 6F 62 6A 65 ax.d..;save obje
0058C0: 63 74 20 62 79 74 65 0D 0A 09 64 63 78 09 68 09 ct byte...dcx.h.
0058D0: 09 3B 6D 6F 76 65 20 74 6F 20 6E 65 78 74 20 62 .;move to next b
0058E0: 79 74 65 20 6F 66 20 73 6F 75 72 63 65 20 62 75 yte of source bu
0058F0: 66 66 65 72 0D 0A 09 64 63 78 09 64 09 09 3B 6D ffer...dcx.d..;m
005900: 6F 76 65 20 74 6F 20 6E 65 78 74 20 62 79 74 65 ove to next byte
005910: 20 6F 66 20 6F 62 6A 65 63 74 20 62 75 66 66 65 of object buffe
005920: 72 0D 0A 09 64 63 78 09 62 09 09 3B 73 75 62 74 r...dcx.b..;subt
005930: 72 61 63 74 20 31 20 66 72 6F 6D 20 63 6F 75 6E ract 1 from coun
005940: 74 0D 0A 09 6D 6F 76 09 61 2C 62 09 09 3B 63 65 t...mov.a,b..;ce
005950: 68 63 6B 20 74 6F 20 73 65 65 20 69 66 20 61 6C hck to see if al
005960: 6C 20 64 6F 6E 65 0D 0A 09 6F 72 61 09 63 0D 0A l done...ora.c..
005970: 09 6A 6E 7A 09 6D 6F 76 6D 65 6D 74 38 09 3B 6E .jnz.movmemt8.;n
005980: 6F 20 6B 65 65 70 20 6F 6E 20 6C 6F 6F 70 69 6E o keep on loopin
005990: 67 0D 0A 09 72 65 74 0D 0A 6D 6F 76 6D 65 6D 68 g...ret..movmemh
0059A0: 74 3A 0D 0A 09 6D 6F 76 09 61 2C 68 0D 0A 09 63 t:...mov.a,h...c
0059B0: 6D 70 09 64 0D 0A 09 72 6E 7A 0D 0A 09 6D 6F 76 mp.d...rnz...mov
0059C0: 09 61 2C 6C 0D 0A 09 63 6D 70 09 65 0D 0A 09 72 .a,l...cmp.e...r
0059D0: 65 74 0D 0A 3B 0D 0A 3B 09 6F 75 74 70 0D 0A 3B et..;..;.outp..;
0059E0: 0D 0A 3B 09 66 75 6E 63 74 69 6F 6E 3A 20 74 6F ..;.function: to
0059F0: 20 6F 75 74 70 75 74 20 31 20 62 79 74 65 20 74 output 1 byte t
005A00: 61 72 61 63 74 65 72 20 66 72 6F 6D 20 73 74 72 aracter from str
005A10: 69 6E 67 20 32 0D 0A 09 6F 72 61 09 61 09 09 3B ing 2...ora.a..;
005A20: 73 65 74 20 6D 61 63 68 69 6E 65 20 66 6C 61 67 set machine flag
005A30: 73 0D 0A 09 6A 7A 09 73 74 72 70 6F 73 34 09 09 s...jz.strpos4..
005A40: 3B 65 6E 64 20 6F 66 20 73 74 72 69 6E 67 32 20 ;end of string2
005A50: 66 6F 75 6E 64 20 6D 75 73 74 20 62 65 20 61 20 found must be a
005A60: 6D 61 74 68 63 0D 0A 09 6C 64 61 78 09 64 09 09 mathc...ldax.d..
005A70: 3B 67 65 74 20 61 72 67 31 0D 0A 09 63 6D 70 09 ;get arg1...cmp.
005A80: 6D 09 09 3B 69 73 20 74 68 69 73 20 63 68 61 72 m..;is this char
005A90: 61 63 74 65 72 20 61 20 6D 61 74 63 68 0D 0A 09 acter a match...
005AA0: 6A 7A 09 73 74 72 70 6F 73 33 20 0D 0A 09 70 6F jz.strpos3 ...po
005AB0: 70 09 64 09 09 3B 72 65 73 74 6F 72 65 20 70 6F p.d..;restore po
005AC0: 69 6E 74 65 72 20 66 6F 72 20 73 74 72 69 6E 67 inter for string
005AD0: 31 20 61 6E 64 20 73 74 72 69 6E 67 20 32 0D 0A 1 and string 2..
005AE0: 09 70 6F 70 09 68 0D 0A 09 69 6E 78 09 64 09 09 .pop.h...inx.d..
005AF0: 3B 61 64 64 20 31 20 74 6F 20 73 74 72 69 6E 67 ;add 1 to string
005B00: 20 70 6F 69 6E 74 65 72 0D 0A 09 69 6E 78 09 62 pointer...inx.b
005B10: 09 09 3B 61 64 64 20 31 20 74 6F 20 6F 66 66 73 ..;add 1 to offs
005B20: 65 74 20 69 6E 20 73 74 72 69 6E 67 31 0D 0A 09 et in string1...
005B30: 6A 6D 70 09 73 74 72 70 6F 73 31 09 09 3B 6C 6F jmp.strpos1..;lo
005B40: 6F 70 20 74 69 6C 6C 20 65 6E 64 20 6F 66 20 73 op till end of s
005B50: 74 72 69 6E 67 20 31 0D 0A 73 74 72 70 6F 73 34 tring 1..strpos4
005B60: 3A 0D 0A 09 6D 6F 76 09 6C 2C 63 09 09 3B 73 74 :...mov.l,c..;st
005B70: 72 69 6E 67 20 66 6F 75 6E 64 20 72 65 74 75 72 ring found retur
005B80: 6E 20 6F 66 66 73 65 74 20 66 6F 72 20 63 61 6C n offset for cal
005B90: 6C 65 72 0D 0A 09 6D 6F 76 09 68 2C 62 0D 0A 09 ler...mov.h,b...
005BA0: 70 6F 70 09 62 0D 0A 09 70 6F 70 09 62 0D 0A 09 pop.b...pop.b...
005BB0: 72 65 74 0D 0A 73 74 72 70 6F 73 35 3A 0D 0A 09 ret..strpos5:...
005BC0: 6C 78 69 09 68 2C 30 09 09 3B 73 74 72 69 6E 67 lxi.h,0..;string
005BD0: 20 6E 6F 74 20 66 6F 75 6E 64 0D 0A 09 72 65 74 not found...ret
005BE0: 0D 0A 3B 0D 0A 3B 09 73 65 74 6D 65 6D 0D 0A 3B ..;..;.setmem..;
005BF0: 0D 0A 3B 09 66 75 6E 63 74 69 6F 6E 3A 20 74 6F ..;.function: to
005C00: 6F 20 61 20 64 61 74 61 20 70 6F 72 74 0D 0A 3B o a data port..;
005C10: 0D 0A 3B 09 63 61 6C 6C 69 6E 67 20 66 6F 72 6D ..;.calling form
005C20: 61 74 20 66 72 6F 6D 20 22 43 22 0D 0A 3B 09 6F at from "C"..;.o
005C30: 75 74 70 28 70 6F 72 74 2C 64 61 74 61 29 0D 0A utp(port,data)..
005C40: 3B 0D 0A 6F 75 74 70 3A 09 63 73 65 63 74 0D 0A ;..outp:.csect..
005C50: 09 70 6F 70 09 62 09 09 3B 67 65 74 20 72 65 74 .pop.b..;get ret
005C60: 75 72 6E 20 61 64 64 72 65 73 73 0D 0A 09 70 6F urn address...po
005C70: 70 09 68 09 09 3B 67 65 74 20 64 61 74 61 20 66 p.h..;get data f
005C80: 6F 72 20 70 6F 72 74 0D 0A 09 70 6F 70 09 64 09 or port...pop.d.
005C90: 09 3B 67 65 74 20 70 6F 72 74 20 6E 75 6D 62 65 .;get port numbe
005CA0: 72 0D 0A 09 70 75 73 68 09 64 09 09 3B 72 65 73 r...push.d..;res
005CB0: 74 6F 72 65 20 6D 61 63 68 69 6E 65 20 73 74 61 tore machine sta
005CC0: 63 6B 0D 0A 09 70 75 73 68 09 68 0D 0A 09 70 75 ck...push.h...pu
005CD0: 73 68 09 62 0D 0A 09 6D 6F 76 09 61 2C 65 09 09 sh.b...mov.a,e..
005CE0: 3B 67 65 74 20 70 6F 72 74 20 6E 75 6D 62 65 72 ;get port number
005CF0: 0D 0A 09 73 74 61 09 6F 75 74 70 31 2B 31 09 09 ...sta.outp1+1..
005D00: 3B 73 61 76 65 20 70 6F 72 74 20 6E 75 6D 62 65 ;save port numbe
005D10: 72 0D 0A 09 6D 6F 76 09 61 2C 6C 09 09 3B 67 65 r...mov.a,l..;ge
005D20: 74 20 64 61 74 61 20 74 6F 20 73 65 6E 64 0D 0A t data to send..
005D30: 6F 75 74 70 31 3A 0D 0A 09 6F 75 74 09 30 09 09 outp1:...out.0..
005D40: 3B 73 65 6E 64 20 64 61 74 61 20 74 6F 20 70 6F ;send data to po
005D50: 72 74 0D 0A 09 72 65 74 0D 0A 3B 0D 0A 3B 09 69 rt...ret..;..;.i
005D60: 6E 70 0D 0A 3B 0D 0A 3B 09 66 75 6E 63 74 69 6F np..;..;.functio
005D70: 6E 3A 20 74 6F 20 69 6E 70 75 74 20 31 20 62 79 n: to input 1 by
005D80: 74 65 20 66 72 6F 6D 20 64 61 74 61 20 70 6F 72 te from data por
005D90: 74 20 61 6E 64 20 72 65 74 75 72 6E 20 74 6F 20 t and return to
005DA0: 63 61 6C 6C 65 72 0D 0A 3B 0D 0A 3B 09 63 61 6C caller..;..;.cal
005DB0: 6C 69 6E 67 20 66 6F 72 6D 61 74 20 69 6E 20 22 ling format in "
005DC0: 63 22 0D 0A 3B 09 64 61 74 61 3D 69 6E 70 28 70 c"..;.data=inp(p
005DD0: 6F 72 74 29 3B 0D 0A 3B 0D 0A 69 6E 70 3A 09 63 ort);..;..inp:.c
005DE0: 73 65 63 74 0D 0A 09 6D 6F 76 09 61 2C 6C 09 09 sect...mov.a,l..
005DF0: 3B 67 65 74 20 70 6F 72 74 20 6E 75 6D 62 65 72 ;get port number
005E00: 20 66 69 6C 6C 20 61 20 62 6C 6F 63 6B 20 6F 66 fill a block of
005E10: 20 6D 65 6D 6F 72 79 20 77 69 74 68 20 61 20 67 memory with a g
005E20: 69 76 65 6E 20 63 6F 6E 73 74 61 6E 74 0D 0A 3B iven constant..;
005E30: 0D 0A 3B 09 63 61 6C 6C 69 6E 67 20 66 6F 72 6D ..;.calling form
005E40: 61 74 20 69 6E 20 22 63 22 0D 0A 3B 09 73 65 74 at in "c"..;.set
005E50: 6D 65 6D 28 61 64 64 72 65 73 73 2C 63 6F 75 6E mem(address,coun
005E60: 74 2C 63 6F 6E 73 74 61 6E 74 29 3B 0D 0A 3B 0D t,constant);..;.
005E70: 0A 73 65 74 6D 65 6D 3A 09 63 73 65 63 74 0D 0A .setmem:.csect..
005E80: 09 70 6F 70 09 62 09 09 3B 67 65 74 20 72 65 74 .pop.b..;get ret
005E90: 75 72 6E 20 61 64 64 72 65 73 73 0D 0A 09 70 6F urn address...po
005EA0: 70 09 68 09 09 3B 67 65 74 20 63 6F 6E 73 74 61 p.h..;get consta
005EB0: 6E 74 0D 0A 09 6D 6F 76 09 61 2C 6C 09 09 3B 70 nt...mov.a,l..;p
005EC0: 75 74 20 63 6F 6E 73 74 61 6E 74 20 69 6E 20 61 ut constant in a
005ED0: 0D 0A 09 70 6F 70 09 62 09 09 3B 67 65 74 20 63 ...pop.b..;get c
005EE0: 6F 75 6E 74 0D 0A 09 70 6F 70 09 64 09 09 3B 67 ount...pop.d..;g
005EF0: 65 74 20 61 64 64 72 65 73 73 0D 0A 09 6C 78 69 et address...lxi
005F00: 09 68 2C 38 09 09 3B 6F 66 66 73 65 74 20 69 6E .h,8..;offset in
005F10: 20 74 6F 20 70 75 74 20 73 74 61 63 6B 20 62 61 to put stack ba
005F20: 63 6B 0D 0A 09 64 61 64 09 73 70 0D 0A 09 73 70 ck...dad.sp...sp
005F30: 68 6C 09 09 09 3B 72 65 73 74 6F 72 65 20 73 74 hl...;restore st
005F40: 61 63 6B 20 70 6F 69 6E 74 65 72 0D 0A 09 6D 6F ack pointer...mo
005F50: 76 09 6C 2C 61 09 09 3B 70 6C 61 63 65 20 74 6F v.l,a..;place to
005F60: 20 73 61 76 65 20 63 6F 6E 73 74 61 6E 74 0D 0A save constant..
005F70: 73 65 74 6D 65 6D 31 3A 0D 0A 09 6D 6F 76 09 61 setmem1:...mov.a
005F80: 2C 62 09 09 3B 63 68 65 63 6B 20 74 6F 20 73 65 ,b..;check to se
005F90: 65 20 69 66 20 63 6F 75 6E 74 20 69 73 20 7A 65 e if count is ze
005FA0: 72 6F 0D 0A 09 6F 72 61 09 63 0D 0A 09 72 7A 09 ro...ora.c...rz.
005FB0: 09 09 3B 61 6C 6C 20 64 6F 6E 65 20 77 69 74 68 ..;all done with
005FC0: 20 6D 6F 76 65 0D 0A 09 6D 6F 76 09 61 2C 6C 09 move...mov.a,l.
005FD0: 09 3B 67 65 74 20 63 6F 6E 73 74 61 6E 74 20 74 .;get constant t
005FE0: 6F 20 73 74 6F 72 65 0D 0A 09 73 74 61 78 09 64 o store...stax.d
005FF0: 09 09 3B 73 65 74 20 6D 65 6D 6F 72 79 20 6C 6F ..;set memory lo
006000: 54 72 61 63 6B 2D 49 6E 66 6F 0D 0A 00 00 00 00 Track-Info......
006010: 05 00 01 00 02 09 52 E5 05 00 C1 02 00 00 00 02 ......R.........
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: 0D 0A 09 73 74 61 09 69 6E 70 31 2B 31 09 09 3B ...sta.inp1+1..;
006110: 73 61 76 65 20 70 6F 72 74 20 6E 75 6D 62 65 72 save port number
006120: 20 66 6F 72 20 69 6E 70 75 74 0D 0A 69 6E 70 31 for input..inp1
006130: 3A 0D 0A 09 69 6E 09 30 09 09 3B 69 6E 70 75 74 :...in.0..;input
006140: 20 64 61 74 61 20 66 72 6F 6D 20 70 6F 72 74 0D data from port.
006150: 0A 09 6D 76 69 09 68 2C 30 09 09 3B 7A 65 72 6F ..mvi.h,0..;zero
006160: 20 68 69 67 68 20 62 79 74 65 20 6F 66 20 6E 75 high byte of nu
006170: 6D 62 65 72 0D 0A 09 6D 6F 76 09 6C 2C 61 09 09 mber...mov.l,a..
006180: 3B 70 75 74 20 64 61 74 61 20 69 6E 20 72 65 67 ;put data in reg
006190: 20 66 6F 72 20 22 63 22 0D 0A 09 72 65 74 0D 0A for "c"...ret..
0061A0: 3B 09 0D 0A 3B 09 70 75 74 73 0D 0A 3B 0D 0A 3B ;...;.puts..;..;
0061B0: 09 66 75 6E 63 74 69 6F 6E 3A 20 74 6F 20 70 72 .function: to pr
0061C0: 69 6E 74 20 61 20 73 74 72 69 6E 67 20 74 6F 20 int a string to
0061D0: 63 6F 6E 73 6F 6C 65 20 65 6E 64 69 6E 67 20 77 console ending w
0061E0: 69 74 68 20 61 20 6E 75 6C 6C 0D 0A 3B 0D 0A 3B ith a null..;..;
0061F0: 09 63 61 6C 6C 20 66 6F 72 6D 61 74 20 66 72 6F .call format fro
006200: 6D 20 22 43 22 0D 0A 3B 0D 0A 3B 09 70 75 74 73 m "C"..;..;.puts
006210: 28 73 74 72 69 6E 67 29 3B 0D 0A 3B 0D 0A 70 75 (string);..;..pu
006220: 74 73 3A 09 63 73 65 63 74 0D 0A 09 70 75 73 68 ts:.csect...push
006230: 09 68 09 09 3B 73 61 76 65 20 63 61 6C 6C 69 6E .h..;save callin
006240: 67 20 61 64 64 72 65 73 73 20 69 6E 20 73 74 61 g address in sta
006250: 63 6B 0D 0A 70 75 74 73 31 3A 20 20 6D 6F 76 09 ck..puts1: mov.
006260: 61 2C 6D 09 09 3B 67 65 74 20 63 68 61 72 61 63 a,m..;get charac
006270: 74 65 72 20 74 6F 20 70 72 69 6E 74 0D 0A 09 6F ter to print...o
006280: 72 61 09 61 09 09 3B 63 68 65 63 6B 20 66 6F 72 ra.a..;check for
006290: 20 7A 65 72 6F 0D 0A 09 6A 7A 09 70 75 74 73 32 zero...jz.puts2
0062A0: 09 09 3B 69 66 20 64 6F 6E 65 20 72 65 74 75 72 ..;if done retur
0062B0: 6E 0D 0A 09 70 75 73 68 09 68 09 09 3B 73 61 76 n...push.h..;sav
0062C0: 65 20 70 6F 69 6E 74 65 72 20 66 6F 72 20 6C 61 e pointer for la
0062D0: 74 65 72 20 75 73 65 72 0D 0A 09 6D 6F 76 09 6C ter user...mov.l
0062E0: 2C 61 09 09 3B 70 75 74 20 63 68 61 72 61 63 74 ,a..;put charact
0062F0: 65 72 20 69 6E 20 72 65 67 20 66 6F 72 20 70 75 er in reg for pu
006300: 6D 62 65 72 20 6F 66 20 63 68 61 72 61 63 74 65 mber of characte
006310: 72 20 69 6E 20 73 74 72 69 6E 67 0D 0A 09 69 6E r in string...in
006320: 78 09 64 0D 0A 67 65 74 73 31 3A 0D 0A 09 6C 64 x.d..gets1:...ld
006330: 61 78 09 64 09 09 3B 67 65 74 20 63 68 61 72 61 ax.d..;get chara
006340: 63 74 65 72 20 66 72 6F 6D 20 69 6E 70 75 74 20 cter from input
006350: 62 75 66 66 65 72 0D 0A 09 6D 6F 76 09 6D 2C 61 buffer...mov.m,a
006360: 09 09 3B 73 61 76 65 20 63 68 61 72 61 63 74 65 ..;save characte
006370: 72 20 69 6E 20 62 75 66 66 65 72 0D 0A 09 69 6E r in buffer...in
006380: 78 09 68 09 09 3B 6D 6F 76 65 20 70 6F 69 6E 74 x.h..;move point
006390: 65 72 20 74 6F 20 6E 65 78 74 20 62 79 74 65 0D er to next byte.
0063A0: 0A 09 69 6E 78 09 64 09 0D 0A 09 64 63 72 09 62 ..inx.d....dcr.b
0063B0: 09 09 3B 73 65 65 20 69 66 20 61 6C 6C 20 64 6F ..;see if all do
0063C0: 6E 65 20 77 69 74 68 20 6D 6F 76 65 0D 0A 09 6A ne with move...j
0063D0: 6E 7A 09 67 65 74 73 31 20 20 20 20 20 09 3B 6E nz.gets1 .;n
0063E0: 6F 20 6B 65 65 70 20 6F 6E 20 6C 6F 6F 70 69 6E o keep on loopin
0063F0: 67 0D 0A 67 65 74 73 32 3A 0D 0A 09 6D 76 69 09 g..gets2:...mvi.
006400: 6D 2C 30 09 09 3B 70 75 74 20 65 6E 64 69 6E 67 m,0..;put ending
006410: 20 7A 65 72 6F 20 69 6E 20 73 74 72 69 6E 67 6F zero in stringo
006420: 0D 0A 09 6D 76 69 09 63 2C 32 09 09 3B 63 70 6D ...mvi.c,2..;cpm
006430: 20 6F 75 74 70 75 74 20 63 68 61 72 61 63 74 65 output characte
006440: 72 20 66 75 6E 63 74 69 6F 6E 0D 0A 09 6D 76 69 r function...mvi
006450: 09 65 2C 30 61 68 09 09 3B 63 68 61 72 61 63 74 .e,0ah..;charact
006460: 65 72 20 74 6F 20 6F 75 74 70 75 74 0D 0A 09 63 er to output...c
006470: 61 6C 6C 09 62 64 6F 73 09 09 3B 6F 75 74 70 75 all.bdos..;outpu
006480: 74 20 61 20 6C 69 6E 65 66 65 65 64 0D 0A 09 70 t a linefeed...p
006490: 6F 70 09 68 09 09 3B 67 65 74 20 61 64 64 72 65 op.h..;get addre
0064A0: 73 73 20 6F 66 20 69 70 75 74 20 73 74 72 69 6E ss of iput strin
0064B0: 67 0D 0A 09 72 65 74 09 09 09 3B 61 6C 6C 20 64 g...ret...;all d
0064C0: 6F 6E 65 20 72 65 74 75 72 6E 20 74 6F 20 63 61 one return to ca
0064D0: 6C 6C 65 72 75 0D 0A 3B 0D 0A 3B 09 6B 62 73 74 lleru..;..;.kbst
0064E0: 61 74 0D 0A 3B 0D 0A 3B 09 66 75 6E 74 69 6F 6E at..;..;.funtion
0064F0: 3A 20 74 6F 20 67 65 74 20 73 74 61 74 75 73 20 : to get status
006500: 73 68 0D 0A 09 63 61 6C 6C 09 70 75 74 63 68 09 sh...call.putch.
006510: 09 3B 70 72 69 6E 74 20 63 68 61 72 61 63 74 65 .;print characte
006520: 72 20 6F 6E 20 63 6F 6E 73 6F 6C 65 0D 0A 09 70 r on console...p
006530: 6F 70 09 68 09 09 3B 67 65 74 20 61 64 64 72 65 op.h..;get addre
006540: 73 73 20 6F 66 20 63 68 61 72 61 63 74 65 72 20 ss of character
006550: 62 61 63 6B 0D 0A 09 69 6E 78 09 68 09 09 3B 6D back...inx.h..;m
006560: 6F 76 65 20 74 6F 20 6E 65 78 74 20 63 68 61 72 ove to next char
006570: 61 63 74 65 72 0D 0A 09 6A 6D 70 09 70 75 74 73 acter...jmp.puts
006580: 31 09 09 3B 6C 6F 6F 70 20 74 69 6C 6C 20 64 6F 1..;loop till do
006590: 6E 65 20 77 69 74 68 20 73 74 72 69 6E 67 0D 0A ne with string..
0065A0: 70 75 74 73 32 3A 0D 0A 09 70 6F 70 09 68 09 09 puts2:...pop.h..
0065B0: 3B 67 65 74 20 61 64 64 72 65 73 73 20 6F 66 20 ;get address of
0065C0: 73 74 61 72 74 20 6F 66 20 73 74 72 69 6E 67 0D start of string.
0065D0: 0A 09 72 65 74 09 09 09 3B 72 65 74 75 72 6E 20 ..ret...;return
0065E0: 74 6F 20 63 61 6C 6C 65 72 0D 0A 3B 0D 0A 3B 09 to caller..;..;.
0065F0: 63 6F 6E 73 6F 6C 65 20 69 2F 6F 20 66 75 6E 63 console i/o func
006600: 74 69 6F 6E 73 0D 0A 3B 0D 0A 3B 09 70 75 74 63 tions..;..;.putc
006610: 68 0D 0A 3B 0D 0A 3B 09 6F 75 74 70 75 74 20 31 h..;..;.output 1
006620: 20 63 68 61 72 61 63 74 65 72 20 74 6F 20 63 6F character to co
006630: 6E 73 6F 6C 65 20 61 6E 64 20 64 6F 20 6E 6F 74 nsole and do not
006640: 20 63 68 65 63 6B 20 0D 0A 3B 09 74 6F 20 73 65 check ..;.to se
006650: 65 20 69 66 20 63 68 61 72 61 63 74 65 72 20 69 e if character i
006660: 73 20 72 65 61 64 79 20 61 74 20 63 6F 6E 73 6F s ready at conso
006670: 6C 65 20 69 6E 70 75 74 0D 0A 3B 0D 0A 3B 09 63 le input..;..;.c
006680: 61 6C 6C 69 6E 67 20 66 6F 72 6D 61 74 20 66 72 alling format fr
006690: 6F 6D 20 22 43 22 0D 0A 3B 09 70 75 74 63 68 28 om "C"..;.putch(
0066A0: 63 29 0D 0A 3B 0D 0A 70 75 74 63 68 3A 09 63 73 c)..;..putch:.cs
0066B0: 65 63 74 0D 0A 09 6D 6F 76 09 61 2C 6C 09 09 3B ect...mov.a,l..;
0066C0: 67 65 74 20 63 68 61 72 61 63 74 65 72 20 74 6F get character to
0066D0: 20 70 72 69 6E 74 0D 0A 09 63 70 69 09 30 61 68 print...cpi.0ah
0066E0: 09 09 3B 63 68 65 63 6B 20 66 6F 72 20 6C 69 6E ..;check for lin
0066F0: 65 20 66 65 65 64 0D 0A 09 6A 6E 7A 09 70 75 74 e feed...jnz.put
006700: 6F 66 20 63 70 6D 20 63 6F 6E 73 6F 6C 65 20 72 of cpm console r
006710: 65 74 75 72 6E 73 0D 0A 3B 09 74 72 75 65 20 6F eturns..;.true o
006720: 72 20 31 20 69 66 20 63 6F 6E 73 6F 6C 65 20 63 r 1 if console c
006730: 68 61 72 61 63 74 65 72 20 69 73 20 72 65 61 64 haracter is read
006740: 79 20 6F 72 0D 0A 3B 09 30 20 69 66 20 63 68 61 y or..;.0 if cha
006750: 72 61 63 74 65 72 20 69 73 20 6E 6F 74 20 72 65 racter is not re
006760: 61 64 79 0D 0A 3B 0D 0A 3B 09 63 61 6C 6C 20 66 ady..;..;.call f
006770: 6F 72 6D 61 74 20 66 6F 72 20 63 0D 0A 3B 09 6B ormat for c..;.k
006780: 62 73 74 61 74 28 29 0D 0A 3B 0D 0A 6B 62 73 74 bstat()..;..kbst
006790: 61 74 3A 20 63 73 65 63 74 0D 0A 09 6D 76 69 09 at: csect...mvi.
0067A0: 63 2C 32 09 09 3B 63 70 6D 20 66 75 6E 63 74 69 c,2..;cpm functi
0067B0: 6F 6E 20 6E 75 6D 62 65 72 20 66 6F 72 20 73 74 on number for st
0067C0: 61 74 75 73 20 63 68 65 63 6B 0D 0A 09 70 75 73 atus check...pus
0067D0: 68 09 62 09 09 3B 73 65 6E 64 20 6A 75 6D 70 20 h.b..;send jump
0067E0: 6E 75 6D 62 65 72 20 6F 75 74 0D 0A 09 70 75 73 number out...pus
0067F0: 68 09 62 09 09 3B 61 72 67 0D 0A 09 63 61 6C 6C h.b..;arg...call
006800: 09 62 69 6F 73 09 09 3B 63 61 6C 6C 20 62 69 6F .bios..;call bio
006810: 73 20 63 6F 6E 73 2D 73 74 61 74 0D 0A 09 70 6F s cons-stat...po
006820: 70 09 62 09 09 3B 72 65 6D 6F 76 65 20 61 72 67 p.b..;remove arg
006830: 73 20 66 72 6F 6D 20 73 74 61 63 6B 0D 0A 09 70 s from stack...p
006840: 6F 70 09 62 0D 0A 09 6D 6F 76 09 61 2C 6C 09 09 op.b...mov.a,l..
006850: 3B 67 65 74 20 72 65 74 75 72 6E 20 73 74 61 74 ;get return stat
006860: 75 73 20 66 72 6F 6D 20 62 69 6F 73 0D 0A 09 6F us from bios...o
006870: 72 61 09 61 09 09 3B 73 65 74 20 6D 61 63 68 69 ra.a..;set machi
006880: 6E 65 20 73 74 61 74 75 73 20 72 65 67 2E 0D 0A ne status reg...
006890: 09 6C 78 69 09 68 2C 30 09 09 3B 6D 61 6B 65 20 .lxi.h,0..;make
0068A0: 69 74 20 66 61 6C 73 65 20 28 6B 65 79 62 6F 61 it false (keyboa
0068B0: 72 64 20 6E 6F 74 20 72 65 61 64 79 29 0D 0A 09 rd not ready)...
0068C0: 72 7A 09 09 09 3B 72 65 74 75 72 6E 20 74 6F 20 rz...;return to
0068D0: 63 61 6C 6C 65 72 20 6B 65 79 62 6F 61 72 64 20 caller keyboard
0068E0: 6E 6F 74 20 72 65 61 64 79 0D 0A 09 6C 78 69 09 not ready...lxi.
0068F0: 68 2C 31 09 09 3B 6B 65 79 62 6F 61 72 64 20 72 h,1..;keyboard r
006900: 63 68 31 09 09 3B 6E 6F 2E 2E 2E 2E 2E 0D 0A 09 ch1..;no........
006910: 6D 76 69 09 65 2C 30 64 68 09 09 3B 70 72 69 6E mvi.e,0dh..;prin
006920: 74 20 72 65 74 75 72 6E 20 0D 0A 09 6D 76 69 09 t return ...mvi.
006930: 63 2C 32 09 09 3B 63 70 6D 20 70 72 69 6E 74 20 c,2..;cpm print
006940: 6E 75 6D 62 65 72 20 66 75 6E 63 74 69 6F 6E 0D number function.
006950: 0A 09 63 61 6C 6C 09 62 64 6F 73 09 09 3B 70 72 ..call.bdos..;pr
006960: 69 6E 74 20 63 68 61 72 61 72 63 65 72 20 74 6F int chararcer to
006970: 20 63 6F 6E 73 6F 6C 65 0D 0A 09 6D 76 69 09 6C console...mvi.l
006980: 2C 30 61 68 09 09 3B 70 72 69 6E 74 20 6C 69 6E ,0ah..;print lin
006990: 65 20 66 65 65 64 0D 0A 70 75 74 63 68 31 3A 0D e feed..putch1:.
0069A0: 0A 09 6D 6F 76 09 65 2C 6C 09 09 3B 70 75 74 20 ..mov.e,l..;put
0069B0: 63 68 61 72 61 63 74 65 72 20 69 6E 20 63 6F 72 character in cor
0069C0: 72 65 63 74 20 72 65 67 20 66 6F 72 20 63 61 6C rect reg for cal
0069D0: 6C 0D 0A 09 6D 76 69 09 63 2C 32 09 09 3B 63 70 l...mvi.c,2..;cp
0069E0: 6D 20 6F 75 74 70 75 74 20 66 75 6E 63 74 69 6F m output functio
0069F0: 6E 0D 0A 09 63 61 6C 6C 09 62 64 6F 73 09 09 3B n...call.bdos..;
006A00: 70 72 69 6E 74 20 63 68 61 72 61 63 74 65 72 20 print character
006A10: 74 6F 20 63 6F 6E 73 6F 6C 65 0D 0A 09 72 65 74 to console...ret
006A20: 0D 0A 3B 0D 0A 3B 09 66 75 6E 63 74 69 6F 6E 3A ..;..;.function:
006A30: 20 74 6F 20 67 65 74 20 31 20 63 68 61 72 61 63 to get 1 charac
006A40: 74 65 72 20 66 72 6F 6D 20 63 70 6D 20 63 6F 6E ter from cpm con
006A50: 73 6F 6C 65 20 61 6E 64 20 72 65 74 75 72 6E 0D sole and return.
006A60: 0A 3B 09 09 20 20 63 68 61 72 61 63 74 65 72 20 .;.. character
006A70: 74 6F 20 63 61 6C 6C 65 72 0D 0A 3B 0D 0A 3B 09 to caller..;..;.
006A80: 63 61 6C 6C 69 6E 67 20 66 6F 72 6D 61 74 20 69 calling format i
006A90: 6E 20 22 43 22 0D 0A 3B 09 63 68 3D 67 65 74 63 n "C"..;.ch=getc
006AA0: 68 28 29 3B 0D 0A 3B 0D 0A 67 65 74 63 68 3A 20 h();..;..getch:
006AB0: 20 63 73 65 63 74 0D 0A 09 6D 76 69 09 63 2C 31 csect...mvi.c,1
006AC0: 09 09 09 3B 63 70 6D 20 66 75 6E 63 74 69 6F 6E ...;cpm function
006AD0: 20 6E 75 6D 62 65 72 20 66 6F 72 20 67 65 74 63 number for getc
006AE0: 68 0D 0A 09 63 61 6C 6C 09 62 64 6F 73 09 09 09 h...call.bdos...
006AF0: 3B 67 65 74 20 63 68 61 72 61 63 74 65 72 20 66 ;get character f
006B00: 65 61 64 79 0D 0A 09 72 65 74 09 09 09 3B 61 6C eady...ret...;al
006B10: 6C 20 64 6F 6E 65 20 72 65 74 75 72 6E 20 74 6F l done return to
006B20: 20 63 61 6C 6C 65 72 0D 0A 3B 0D 0A 3B 0D 0A 3B caller..;..;..;
006B30: 09 6F 70 65 6E 0D 0A 3B 0D 0A 3B 09 66 75 6E 63 .open..;..;.func
006B40: 74 69 6F 6E 20 74 6F 20 62 75 69 6C 64 20 66 63 tion to build fc
006B50: 62 20 61 6E 64 20 74 72 79 20 74 6F 20 6F 70 65 b and try to ope
006B60: 6E 20 66 69 6C 65 0D 0A 3B 09 61 64 64 72 65 73 n file..;.addres
006B70: 73 20 6F 66 20 66 63 62 20 69 6E 20 64 65 20 77 s of fcb in de w
006B80: 68 69 6C 65 20 6E 61 6D 65 20 69 6E 20 68 6C 2E hile name in hl.
006B90: 20 69 66 20 66 69 6C 65 0D 0A 3B 09 69 73 20 6F if file..;.is o
006BA0: 70 65 6E 20 6F 6B 20 74 68 65 6E 20 30 20 69 73 pen ok then 0 is
006BB0: 20 72 65 74 75 72 6E 20 65 6C 73 65 20 2D 31 20 return else -1
006BC0: 69 73 20 72 65 74 75 72 6E 0D 0A 3B 0D 0A 3B 09 is return..;..;.
006BD0: 63 61 6C 6C 69 6E 67 20 66 6F 72 6D 61 74 20 66 calling format f
006BE0: 72 6F 6D 20 22 43 22 0D 0A 3B 09 6F 70 65 6E 28 rom "C"..;.open(
006BF0: 66 63 62 2C 66 69 6C 65 6E 61 6D 65 29 0D 0A 3B fcb,filename)..;
006C00: 0D 0A 6F 70 65 6E 3A 09 63 73 65 63 74 0D 0A 09 ..open:.csect...
006C10: 70 6F 70 09 62 09 09 3B 67 65 74 20 72 65 74 75 pop.b..;get retu
006C20: 72 6E 20 61 64 64 65 73 73 0D 0A 09 70 6F 70 09 rn addess...pop.
006C30: 68 09 09 3B 67 65 74 20 61 64 64 72 65 73 73 20 h..;get address
006C40: 6F 66 20 66 69 6C 65 20 6E 61 6D 65 0D 0A 09 70 of file name...p
006C50: 6F 70 09 64 09 09 3B 61 64 64 72 65 73 73 20 6F op.d..;address o
006C60: 66 20 66 63 62 0D 0A 09 70 75 73 68 09 64 09 09 f fcb...push.d..
006C70: 3B 70 75 74 20 64 61 74 61 20 62 61 63 6B 20 6F ;put data back o
006C80: 6E 20 73 74 61 63 6B 0D 0A 09 70 75 73 68 09 68 n stack...push.h
006C90: 0D 0A 09 70 75 73 68 09 62 0D 0A 09 70 75 73 68 ...push.b...push
006CA0: 09 64 09 09 3B 70 75 74 20 61 64 64 72 65 73 73 .d..;put address
006CB0: 20 6F 66 20 66 63 62 20 69 6E 20 73 74 61 63 6B of fcb in stack
006CC0: 0D 0A 09 70 75 73 68 09 68 09 09 3B 70 75 74 20 ...push.h..;put
006CD0: 61 64 64 72 65 73 73 20 6F 66 20 66 69 6C 65 20 address of file
006CE0: 6E 61 6D 65 20 69 6E 20 73 74 61 63 6B 0D 0A 09 name in stack...
006CF0: 63 61 6C 6C 09 73 65 74 66 63 62 09 09 3B 74 72 call.setfcb..;tr
006D00: 72 6F 6D 20 63 6F 6E 73 6F 6C 65 0D 0A 09 63 70 rom console...cp
006D10: 69 09 30 64 68 09 09 09 3B 63 68 65 63 6B 20 74 i.0dh...;check t
006D20: 6F 20 73 65 65 20 69 66 20 61 20 72 65 74 75 72 o see if a retur
006D30: 6E 0D 0A 09 6A 6E 7A 09 67 65 74 63 68 31 20 20 n...jnz.getch1
006D40: 09 09 3B 6E 6F 20 63 68 65 63 6B 20 66 6F 72 20 ..;no check for
006D50: 61 20 5E 7A 20 65 6E 64 20 6F 66 20 66 69 6C 65 a ^z end of file
006D60: 0D 0A 09 6D 76 69 09 64 2C 30 61 68 09 09 09 3B ...mvi.d,0ah...;
006D70: 73 65 6E 64 20 61 20 6C 66 20 74 6F 20 63 6F 6E send a lf to con
006D80: 73 6F 6C 65 0D 0A 09 70 75 73 68 09 63 09 09 09 sole...push.c...
006D90: 3B 70 75 74 20 69 74 20 73 74 61 63 6B 20 66 6F ;put it stack fo
006DA0: 72 20 70 75 74 63 68 0D 0A 09 63 61 6C 6C 09 70 r putch...call.p
006DB0: 75 74 63 68 09 09 09 3B 70 72 69 6E 74 20 63 68 utch...;print ch
006DC0: 61 72 61 63 74 65 72 20 6F 6E 20 63 6F 6E 73 6F aracter on conso
006DD0: 6C 65 0D 0A 09 6C 78 69 09 68 2C 31 30 09 09 09 le...lxi.h,10...
006DE0: 3B 61 6E 64 20 72 65 74 75 72 6E 20 6C 66 20 28 ;and return lf (
006DF0: 6E 65 77 20 6C 69 6E 65 29 0D 0A 09 72 65 74 0D new line)...ret.
006E00: 0A 67 65 74 63 68 31 3A 0D 0A 09 63 70 69 09 32 .getch1:...cpi.2
006E10: 36 09 09 09 3B 63 68 65 63 6B 20 74 6F 20 73 65 6...;check to se
006E20: 65 20 69 66 20 65 6E 64 20 6F 66 20 66 69 6C 65 e if end of file
006E30: 0D 0A 09 6A 6E 7A 09 67 65 74 63 68 32 20 20 09 ...jnz.getch2 .
006E40: 09 3B 6E 6F 74 20 61 20 65 6E 64 20 6F 66 20 66 .;not a end of f
006E50: 69 6C 65 20 72 65 74 75 72 6E 20 63 68 61 72 2E ile return char.
006E60: 0D 0A 09 6C 78 69 09 68 2C 2D 31 09 09 09 3B 72 ...lxi.h,-1...;r
006E70: 65 74 75 72 6E 20 65 6E 64 20 6F 66 20 66 69 6C eturn end of fil
006E80: 65 20 6D 61 6B 65 72 0D 0A 09 72 65 74 09 09 09 e maker...ret...
006E90: 09 3B 61 6C 6C 20 64 6F 6E 65 20 72 65 74 75 72 .;all done retur
006EA0: 6E 20 74 6F 20 63 61 6C 6C 65 72 0D 0A 67 65 74 n to caller..get
006EB0: 63 68 32 3A 0D 0A 09 6D 6F 76 09 6C 2C 61 09 09 ch2:...mov.l,a..
006EC0: 09 3B 6D 6F 76 65 20 63 68 61 72 61 63 74 65 72 .;move character
006ED0: 20 74 6F 20 72 65 74 75 72 6E 20 72 65 67 2E 0D to return reg..
006EE0: 0A 09 6D 76 69 09 68 2C 30 09 09 09 3B 7A 65 72 ..mvi.h,0...;zer
006EF0: 6F 20 68 69 67 68 20 62 79 74 65 20 6F 66 20 72 o high byte of r
006F00: 79 20 74 6F 20 73 63 61 6E 20 66 6F 72 20 61 20 y to scan for a
006F10: 66 63 62 0D 0A 09 70 6F 70 09 64 09 09 3B 72 65 fcb...pop.d..;re
006F20: 6D 6F 76 65 20 61 64 64 72 65 73 73 20 6F 66 20 move address of
006F30: 66 69 6C 65 20 6E 61 6D 65 20 66 72 6F 6D 20 73 file name from s
006F40: 74 61 63 6B 0D 0A 09 70 6F 70 09 64 09 09 3B 72 tack...pop.d..;r
006F50: 65 6D 6F 76 65 20 61 64 64 72 65 73 73 20 6F 66 emove address of
006F60: 20 66 63 62 20 66 72 6F 6D 20 73 74 61 63 6B 0D fcb from stack.
006F70: 0A 09 69 6E 72 09 6C 09 09 3B 63 68 65 63 6B 20 ..inr.l..;check
006F80: 74 6F 20 73 65 65 20 69 66 20 76 61 69 6C 64 20 to see if vaild
006F90: 72 65 74 75 72 6E 20 63 6F 64 65 0D 0A 09 6A 7A return code...jz
006FA0: 09 6F 70 65 6E 31 30 09 09 3B 65 72 72 6F 72 20 .open10..;error
006FB0: 69 6E 76 61 69 6C 64 20 66 69 6C 65 20 6E 61 6D invaild file nam
006FC0: 65 0D 0A 09 6D 76 69 09 63 2C 31 35 09 09 3B 63 e...mvi.c,15..;c
006FD0: 70 6D 20 66 75 6E 63 74 69 6F 6E 20 74 6F 20 6F pm function to o
006FE0: 70 65 6E 20 61 20 66 69 6C 65 0D 0A 09 63 61 6C pen a file...cal
006FF0: 6C 09 62 64 6F 73 09 09 3B 65 78 65 63 75 74 65 l.bdos..;execute
007000: 20 63 70 6D 20 6F 70 65 6E 20 66 75 6E 63 74 69 cpm open functi
007010: 6F 6E 0D 0A 09 69 6E 72 09 61 09 09 3B 73 65 65 on...inr.a..;see
007020: 20 69 66 20 65 72 72 6F 72 20 6F 70 65 6E 69 6E if error openin
007030: 67 20 66 69 6C 65 0D 0A 09 6A 7A 09 6F 70 65 6E g file...jz.open
007040: 31 30 09 09 3B 65 72 72 6F 72 20 66 69 6C 65 20 10..;error file
007050: 6E 6F 74 20 66 6F 75 6E 64 0D 0A 09 6C 78 69 09 not found...lxi.
007060: 68 2C 30 09 09 3B 73 65 74 20 72 65 74 75 72 6E h,0..;set return
007070: 20 63 6F 64 65 20 74 6F 20 7A 65 72 6F 0D 0A 09 code to zero...
007080: 72 65 74 09 09 09 3B 72 65 74 75 72 6E 20 74 6F ret...;return to
007090: 20 63 61 6C 6C 65 72 0D 0A 6F 70 65 6E 31 30 3A caller..open10:
0070A0: 0D 0A 09 6C 78 69 09 68 2C 2D 31 09 09 3B 65 72 ...lxi.h,-1..;er
0070B0: 72 6F 72 20 72 65 74 75 72 6E 20 63 6F 64 65 0D ror return code.
0070C0: 0A 09 72 65 74 09 09 09 3B 72 65 74 75 72 6E 20 ..ret...;return
0070D0: 74 6F 20 63 61 6C 6C 65 72 0D 0A 3B 0D 0A 3B 09 to caller..;..;.
0070E0: 63 72 65 61 74 65 0D 0A 3B 0D 0A 3B 09 66 75 6E create..;..;.fun
0070F0: 63 74 69 6F 6E 20 74 6F 20 62 75 69 6C 64 20 66 ction to build f
007100: 65 75 74 72 6E 0D 0A 09 72 65 74 0D 0A 3B 0D 0A eutrn...ret..;..
007110: 3B 09 67 65 74 73 0D 0A 3B 0D 0A 3B 09 66 75 6E ;.gets..;..;.fun
007120: 63 74 69 6F 6E 3A 20 74 6F 20 67 65 74 20 61 20 ction: to get a
007130: 73 74 72 69 6E 67 20 66 72 6F 6D 20 63 6F 6E 73 string from cons
007140: 6F 6C 65 20 61 6E 64 20 72 65 74 75 72 6E 20 61 ole and return a
007150: 64 64 72 65 73 73 0D 0A 3B 09 20 20 20 20 20 20 ddress..;.
007160: 20 20 20 20 6F 66 20 69 6E 70 75 74 20 73 74 72 of input str
007170: 69 6E 67 0D 0A 3B 0D 0A 3B 09 63 61 6C 6C 69 6E ing..;..;.callin
007180: 67 20 66 6F 72 6D 61 74 20 66 72 6F 6D 20 22 43 g format from "C
007190: 22 0D 0A 3B 09 67 65 74 73 28 73 74 72 69 6E 67 "..;.gets(string
0071A0: 29 3B 0D 0A 3B 0D 0A 67 65 74 73 3A 09 63 73 65 );..;..gets:.cse
0071B0: 63 74 0D 0A 09 70 75 73 68 09 68 09 09 3B 73 61 ct...push.h..;sa
0071C0: 76 65 20 61 64 64 72 65 73 73 20 6F 66 20 73 74 ve address of st
0071D0: 72 69 6E 67 0D 0A 09 70 75 73 68 09 68 0D 0A 09 ring...push.h...
0071E0: 6D 76 69 09 6D 2C 32 35 30 09 09 3B 73 61 76 65 mvi.m,250..;save
0071F0: 20 66 6F 72 20 62 64 6F 73 20 63 61 6C 6C 0D 0A for bdos call..
007200: 09 6D 76 69 09 63 2C 31 30 09 09 3B 63 70 6D 20 .mvi.c,10..;cpm
007210: 72 65 61 64 20 73 74 72 69 6E 67 20 66 75 6E 63 read string func
007220: 74 69 6F 6E 0D 0A 09 78 63 68 67 09 09 09 3B 70 tion...xchg...;p
007230: 75 74 20 61 64 64 72 65 73 73 20 6F 66 20 73 74 ut address of st
007240: 72 69 6E 67 20 69 6E 20 64 65 20 66 6F 72 20 63 ring in de for c
007250: 70 6D 0D 0A 09 63 61 6C 6C 09 62 64 6F 73 09 09 pm...call.bdos..
007260: 3B 63 61 6C 6C 20 63 70 6D 20 74 6F 20 72 65 61 ;call cpm to rea
007270: 64 20 73 74 72 69 6E 67 20 69 6E 0D 0A 09 70 6F d string in...po
007280: 70 09 64 09 09 3B 67 65 74 20 61 64 64 72 65 73 p.d..;get addres
007290: 73 20 6F 66 20 69 6E 70 75 74 20 73 74 72 69 6E s of input strin
0072A0: 67 20 62 61 63 6B 0D 0A 09 6D 6F 76 09 68 2C 64 g back...mov.h,d
0072B0: 09 09 3B 70 75 74 20 61 64 64 72 65 73 73 20 69 ..;put address i
0072C0: 6E 20 68 6C 0D 0A 09 6D 6F 76 09 6C 2C 65 0D 0A n hl...mov.l,e..
0072D0: 09 69 6E 78 09 64 09 09 3B 6D 6F 76 65 20 74 6F .inx.d..;move to
0072E0: 20 6C 65 6E 67 68 74 20 63 6F 75 6E 74 0D 0A 09 lenght count...
0072F0: 6D 6F 76 09 62 2C 6D 09 09 3B 67 65 74 20 6E 75 mov.b,m..;get nu
007300: 54 72 61 63 6B 2D 49 6E 66 6F 0D 0A 00 00 00 00 Track-Info......
007310: 06 00 01 00 02 09 52 E5 06 00 C1 02 00 00 00 02 ......R.........
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: 63 62 20 61 6E 64 20 64 65 6C 65 74 65 20 66 69 cb and delete fi
007410: 6C 65 20 74 68 65 6E 0D 0A 3B 09 74 72 79 20 74 le then..;.try t
007420: 6F 20 63 72 65 61 74 65 20 66 69 6C 65 20 61 64 o create file ad
007430: 64 72 65 73 73 20 6F 66 20 66 63 62 20 69 6E 20 dress of fcb in
007440: 64 65 20 0D 0A 3B 09 77 68 69 6C 65 20 6E 61 6D de ..;.while nam
007450: 65 20 69 6E 20 68 6C 2E 20 69 66 20 66 69 6C 65 e in hl. if file
007460: 20 69 73 20 63 72 65 61 74 65 64 20 6F 6B 0D 0A is created ok..
007470: 3B 09 30 20 69 73 20 72 65 74 75 72 6E 20 65 6C ;.0 is return el
007480: 73 65 20 2D 31 20 69 73 20 72 65 74 75 72 6E 0D se -1 is return.
007490: 0A 3B 0D 0A 3B 09 63 61 6C 6C 69 6E 67 20 66 6F .;..;.calling fo
0074A0: 72 6D 61 74 20 66 72 6F 6D 20 22 43 22 0D 0A 3B rmat from "C"..;
0074B0: 09 63 72 65 61 74 65 28 66 63 62 2C 66 69 6C 65 .create(fcb,file
0074C0: 6E 61 6D 65 29 0D 0A 3B 0D 0A 63 72 65 61 74 65 name)..;..create
0074D0: 3A 09 63 73 65 63 74 0D 0A 09 70 6F 70 09 62 09 :.csect...pop.b.
0074E0: 09 3B 67 65 74 20 72 65 74 75 72 6E 20 61 64 64 .;get return add
0074F0: 72 65 73 73 0D 0A 09 70 6F 70 09 68 09 09 3B 67 ress...pop.h..;g
007500: 65 74 20 61 64 64 72 65 73 73 20 6F 66 20 66 69 et address of fi
007510: 6C 65 20 6E 61 6D 65 0D 0A 09 70 6F 70 09 64 09 le name...pop.d.
007520: 09 3B 67 65 74 20 61 64 64 72 65 73 73 20 6F 66 .;get address of
007530: 20 66 63 62 0D 0A 20 09 70 75 73 68 09 64 09 09 fcb.. .push.d..
007540: 3B 70 75 74 20 64 61 74 61 20 62 61 63 6B 20 6F ;put data back o
007550: 6E 20 73 74 61 63 6B 0D 0A 09 70 75 73 68 09 68 n stack...push.h
007560: 0D 0A 09 70 75 73 68 09 62 0D 0A 09 70 75 73 68 ...push.b...push
007570: 09 64 09 09 3B 73 65 74 20 75 70 20 61 72 67 20 .d..;set up arg
007580: 6C 69 73 74 20 66 6F 72 20 73 65 74 66 63 62 0D list for setfcb.
007590: 0A 09 70 75 73 68 09 68 0D 0A 09 63 61 6C 6C 09 ..push.h...call.
0075A0: 73 65 74 66 63 62 09 09 3B 74 72 79 20 74 6F 73 setfcb..;try tos
0075B0: 63 61 6E 20 61 6E 64 20 62 75 69 6C 64 20 66 63 can and build fc
0075C0: 62 0D 0A 09 70 6F 70 09 64 09 09 3B 72 65 6D 6F b...pop.d..;remo
0075D0: 76 65 20 61 72 67 20 66 6F 72 20 73 65 74 66 63 ve arg for setfc
0075E0: 62 20 66 72 6F 6D 20 73 74 61 63 6B 0D 0A 09 70 b from stack...p
0075F0: 6F 70 09 64 0D 0A 09 69 6E 72 09 6C 09 09 3B 73 op.d...inr.l..;s
007600: 31 31 3A 0D 0A 09 6C 78 69 09 68 2C 33 36 09 09 11:...lxi.h,36..
007610: 3B 6E 75 6D 62 65 72 20 6F 66 20 62 79 74 65 20 ;number of byte
007620: 74 6F 20 6D 6F 76 65 20 62 61 63 6B 0D 0A 09 64 to move back...d
007630: 61 64 09 73 70 09 09 3B 61 64 64 20 74 6F 20 63 ad.sp..;add to c
007640: 75 72 72 65 6E 74 20 73 74 61 63 6B 20 70 6F 69 urrent stack poi
007650: 6E 74 65 72 0D 0A 09 73 70 68 6C 09 09 09 3B 70 nter...sphl...;p
007660: 75 74 20 6E 65 77 20 76 61 6C 75 65 20 69 6E 20 ut new value in
007670: 73 74 61 63 6B 20 70 6F 69 6E 74 65 72 0D 0A 09 stack pointer...
007680: 78 63 68 67 09 09 09 3B 70 75 74 20 72 65 74 75 xchg...;put retu
007690: 72 6E 20 63 6F 64 65 20 69 6E 20 68 6C 0D 0A 09 rn code in hl...
0076A0: 72 65 74 09 09 09 3B 61 6C 6C 20 64 6F 6E 65 20 ret...;all done
0076B0: 72 65 74 75 72 6E 20 74 6F 20 63 61 6C 6C 65 72 return to caller
0076C0: 0D 0A 3B 0D 0A 3B 09 72 65 61 64 0D 0A 3B 0D 0A ..;..;.read..;..
0076D0: 3B 09 66 75 6E 63 74 69 6F 6E 20 74 6F 20 72 65 ;.function to re
0076E0: 61 64 20 78 20 72 65 63 6F 72 64 20 66 72 6F 6D ad x record from
0076F0: 20 64 69 73 6B 20 61 6E 64 20 72 65 74 75 72 6E disk and return
007700: 0D 0A 3B 09 6E 75 6D 62 65 72 20 6F 66 20 72 65 ..;.number of re
007710: 63 6F 72 64 20 72 65 61 64 20 6F 72 20 2D 31 0D cord read or -1.
007720: 0A 3B 0D 0A 3B 09 63 61 6C 6C 69 6E 67 20 66 6F .;..;.calling fo
007730: 72 6D 61 74 20 66 72 6F 6D 20 22 43 22 0D 0A 3B rmat from "C"..;
007740: 09 72 65 61 64 28 66 63 62 2C 62 75 66 66 65 72 .read(fcb,buffer
007750: 2C 63 6F 75 6E 74 29 3B 0D 0A 3B 0D 0A 72 65 61 ,count);..;..rea
007760: 64 3A 09 63 73 65 63 74 0D 0A 09 6C 78 69 09 68 d:.csect...lxi.h
007770: 2C 32 09 09 3B 6F 66 66 73 65 74 20 69 6E 20 73 ,2..;offset in s
007780: 74 61 63 6B 20 74 69 6C 6C 20 63 6F 75 6E 74 0D tack till count.
007790: 0A 09 64 61 64 09 73 70 09 09 3B 67 65 74 20 61 ..dad.sp..;get a
0077A0: 64 64 72 65 73 73 20 6F 66 20 6E 75 6D 62 65 72 ddress of number
0077B0: 20 6F 66 20 72 65 63 6F 72 64 20 74 6F 20 72 65 of record to re
0077C0: 61 64 0D 0A 09 6D 6F 76 09 61 2C 6D 09 09 3B 67 ad...mov.a,m..;g
0077D0: 65 74 20 6C 6F 77 20 62 79 74 65 20 6F 66 20 63 et low byte of c
0077E0: 6F 75 6E 74 0D 0A 09 6D 6F 76 09 65 2C 6D 09 09 ount...mov.e,m..
0077F0: 3B 73 61 76 65 20 66 6F 72 20 6C 61 74 65 72 20 ;save for later
007800: 65 65 20 69 66 20 65 72 72 6F 72 20 69 6E 20 66 ee if error in f
007810: 69 6C 65 20 6E 61 6D 65 0D 0A 09 6A 7A 09 63 72 ile name...jz.cr
007820: 65 61 74 65 31 30 09 3B 65 72 72 6F 72 20 69 6E eate10.;error in
007830: 20 66 69 6C 65 20 6E 61 6D 65 0D 0A 09 70 75 73 file name...pus
007840: 68 09 64 09 09 3B 73 61 76 65 20 61 64 64 72 65 h.d..;save addre
007850: 73 73 20 6F 66 20 66 63 62 0D 0A 09 6D 76 69 09 ss of fcb...mvi.
007860: 63 2C 31 39 09 09 3B 63 70 6D 20 66 75 6E 63 74 c,19..;cpm funct
007870: 69 6F 6E 20 74 6F 20 64 65 6C 65 74 65 20 61 20 ion to delete a
007880: 66 69 6C 65 0D 0A 09 63 61 6C 6C 09 62 64 6F 73 file...call.bdos
007890: 09 09 3B 63 61 6C 6C 20 62 64 6F 73 20 74 6F 20 ..;call bdos to
0078A0: 64 6F 20 6E 65 65 64 65 64 20 66 75 6E 63 74 69 do needed functi
0078B0: 6F 6E 0D 0A 09 70 6F 70 09 64 09 09 3B 72 65 73 on...pop.d..;res
0078C0: 74 6F 72 65 20 61 64 64 72 65 73 73 20 6F 66 20 tore address of
0078D0: 66 63 62 20 74 6F 20 63 72 65 61 74 65 0D 0A 09 fcb to create...
0078E0: 6D 76 69 09 63 2C 32 32 09 09 3B 63 70 6D 20 66 mvi.c,22..;cpm f
0078F0: 75 6E 63 74 69 6F 6E 20 74 6F 20 6D 61 6B 65 20 unction to make
007900: 66 69 6C 65 0D 0A 09 63 61 6C 6C 09 62 64 6F 73 file...call.bdos
007910: 09 09 3B 63 61 6C 6C 20 62 6F 64 73 20 74 6F 20 ..;call bods to
007920: 64 6F 20 6E 65 65 64 65 64 20 66 75 6E 63 74 69 do needed functi
007930: 6F 6E 0D 0A 09 69 6E 72 09 61 09 09 3B 63 68 65 on...inr.a..;che
007940: 63 6B 20 74 6F 20 73 65 65 20 69 66 20 65 72 72 ck to see if err
007950: 6F 72 0D 0A 09 6A 7A 09 63 72 65 61 74 65 31 30 or...jz.create10
007960: 09 3B 65 72 72 6F 72 20 75 6E 61 62 6C 65 20 74 .;error unable t
007970: 6F 20 63 72 65 61 74 20 66 69 6C 65 0D 0A 09 6C o creat file...l
007980: 78 69 09 68 2C 30 09 09 3B 65 76 65 72 79 20 74 xi.h,0..;every t
007990: 68 69 6E 67 20 6F 6B 20 73 65 74 20 72 65 74 75 hing ok set retu
0079A0: 72 6E 20 63 6F 64 65 20 74 6F 20 7A 65 72 6F 0D rn code to zero.
0079B0: 0A 09 72 65 74 09 09 09 3B 72 65 74 75 72 6E 20 ..ret...;return
0079C0: 74 6F 20 63 61 6C 6C 65 72 0D 0A 63 72 65 61 74 to caller..creat
0079D0: 65 31 30 3A 0D 0A 09 6C 78 69 09 68 2C 2D 31 09 e10:...lxi.h,-1.
0079E0: 09 3B 65 72 72 6F 72 20 73 65 74 20 72 65 74 75 .;error set retu
0079F0: 72 6E 20 63 6F 64 65 20 74 6F 20 2D 31 0D 0A 09 rn code to -1...
007A00: 75 73 65 0D 0A 09 69 6E 78 09 68 09 09 3B 6D 6F use...inx.h..;mo
007A10: 76 65 20 74 6F 20 68 69 67 68 20 62 79 74 65 20 ve to high byte
007A20: 6F 66 20 63 6F 75 6E 74 0D 0A 09 6F 72 61 09 6D of count...ora.m
007A30: 09 09 3B 73 65 65 20 69 66 20 31 36 20 62 69 74 ..;see if 16 bit
007A40: 20 63 6F 75 6E 74 20 69 73 20 7A 65 72 6F 0D 0A count is zero..
007A50: 09 6D 6F 76 09 64 2C 6D 09 09 3B 67 65 74 20 68 .mov.d,m..;get h
007A60: 69 67 68 20 62 79 74 65 20 6F 66 20 63 6F 75 6E igh byte of coun
007A70: 74 20 0D 0A 09 6A 7A 09 72 65 61 64 31 09 09 3B t ...jz.read1..;
007A80: 79 65 73 20 64 6F 20 6E 6F 74 20 72 65 61 64 20 yes do not read
007A90: 61 6E 79 20 6D 6F 72 65 20 72 65 63 6F 72 64 73 any more records
007AA0: 0D 0A 09 64 63 78 09 64 09 09 3B 73 75 62 74 72 ...dcx.d..;subtr
007AB0: 61 63 74 20 31 20 66 72 6F 6D 20 63 6F 75 6E 74 act 1 from count
007AC0: 0D 0A 09 6D 6F 76 09 6D 2C 64 09 09 3B 70 75 74 ...mov.m,d..;put
007AD0: 20 68 69 67 68 20 62 79 74 65 20 62 61 63 6B 0D high byte back.
007AE0: 0A 09 64 63 78 09 68 09 09 3B 70 6F 69 6E 74 20 ..dcx.h..;point
007AF0: 74 6F 20 68 69 67 68 20 62 79 74 65 0D 0A 09 6D to high byte...m
007B00: 6F 76 09 6D 2C 65 09 09 3B 73 61 76 65 20 6C 6F ov.m,e..;save lo
007B10: 77 20 62 79 74 65 0D 0A 09 69 6E 78 09 68 09 09 w byte...inx.h..
007B20: 3B 6D 6F 76 65 20 74 6F 20 62 75 66 66 65 72 20 ;move to buffer
007B30: 61 64 64 72 65 73 73 0D 0A 09 69 6E 78 09 68 0D address...inx.h.
007B40: 0A 09 6D 6F 76 09 65 2C 6D 09 09 3B 67 65 74 20 ..mov.e,m..;get
007B50: 61 64 64 72 65 73 73 20 6F 66 20 62 75 66 66 65 address of buffe
007B60: 72 0D 0A 09 69 6E 78 09 68 09 09 3B 6D 6F 76 65 r...inx.h..;move
007B70: 20 74 6F 20 68 69 67 68 20 62 79 74 65 20 6F 66 to high byte of
007B80: 20 61 64 64 72 65 73 73 0D 0A 09 70 75 73 68 09 address...push.
007B90: 68 09 09 3B 73 61 76 65 20 63 75 72 72 65 6E 74 h..;save current
007BA0: 20 70 6F 69 6E 74 65 72 20 6F 6E 20 73 74 61 63 pointer on stac
007BB0: 6B 0D 0A 09 6D 6F 76 09 64 2C 6D 09 09 3B 67 65 k...mov.d,m..;ge
007BC0: 74 20 68 69 67 68 20 62 79 74 65 20 6F 66 20 61 t high byte of a
007BD0: 64 64 72 65 73 73 0D 0A 09 6D 76 69 09 63 2C 32 ddress...mvi.c,2
007BE0: 36 09 09 3B 73 65 74 20 64 6D 61 20 61 64 64 72 6..;set dma addr
007BF0: 65 73 73 0D 0A 09 63 61 6C 6C 09 62 64 6F 73 09 ess...call.bdos.
007C00: 72 65 74 0D 0A 3B 0D 0A 3B 09 63 6C 6F 73 65 0D ret..;..;.close.
007C10: 0A 3B 0D 0A 3B 09 66 75 6E 63 74 69 6F 6E 20 74 .;..;.function t
007C20: 6F 20 63 6C 6F 73 65 20 61 20 66 69 6C 65 20 74 o close a file t
007C30: 68 61 74 20 69 73 20 63 75 72 72 65 6E 74 20 6F hat is current o
007C40: 70 65 6E 2E 0D 0A 3B 09 61 64 64 72 65 73 73 20 pen...;.address
007C50: 6F 66 20 66 63 62 20 69 6E 20 64 65 2E 20 69 66 of fcb in de. if
007C60: 20 61 62 6C 65 20 74 6F 20 63 6C 6F 73 65 20 66 able to close f
007C70: 69 6C 65 20 6F 20 69 73 0D 0A 3B 09 69 73 20 72 ile o is..;.is r
007C80: 65 74 75 72 6E 20 6F 72 20 2D 31 20 69 66 20 75 eturn or -1 if u
007C90: 6E 61 62 6C 65 20 74 6F 20 63 6C 6F 73 65 0D 0A nable to close..
007CA0: 3B 0D 0A 3B 09 63 61 6C 6C 69 6E 67 20 66 6F 72 ;..;.calling for
007CB0: 6D 61 74 20 66 72 6F 6D 20 22 43 22 0D 0A 3B 09 mat from "C"..;.
007CC0: 63 6C 6F 73 65 28 66 63 62 29 0D 0A 3B 0D 0A 63 close(fcb)..;..c
007CD0: 6C 6F 73 65 3A 09 63 73 65 63 74 0D 0A 09 70 6F lose:.csect...po
007CE0: 70 09 62 09 09 3B 72 65 74 75 72 6E 20 61 64 64 p.b..;return add
007CF0: 72 65 73 73 0D 0A 09 70 6F 70 09 64 09 09 3B 61 ress...pop.d..;a
007D00: 64 64 72 65 73 73 20 6F 66 20 66 63 62 0D 0A 09 ddress of fcb...
007D10: 70 75 73 68 09 64 09 09 3B 70 75 74 20 64 61 74 push.d..;put dat
007D20: 61 20 62 61 63 6B 20 69 6E 20 73 74 61 63 6B 0D a back in stack.
007D30: 0A 09 70 75 73 68 09 62 0D 0A 09 6D 76 69 09 63 ..push.b...mvi.c
007D40: 2C 31 36 09 09 3B 63 70 6D 20 66 75 6E 63 74 69 ,16..;cpm functi
007D50: 6F 6E 20 74 6F 20 63 6C 6F 73 65 20 61 20 66 69 on to close a fi
007D60: 6C 65 0D 0A 09 63 61 6C 6C 09 62 64 6F 73 09 09 le...call.bdos..
007D70: 3B 63 61 6C 6C 20 63 70 6D 20 74 6F 20 64 6F 20 ;call cpm to do
007D80: 6E 65 65 64 65 64 20 66 75 6E 63 74 69 6F 6E 0D needed function.
007D90: 0A 09 69 6E 72 09 61 09 09 3B 63 68 65 63 6B 20 ..inr.a..;check
007DA0: 66 6F 72 20 65 72 72 6F 72 73 0D 0A 09 6A 7A 09 for errors...jz.
007DB0: 63 6C 6F 73 65 31 30 09 09 3B 65 72 72 6F 72 20 close10..;error
007DC0: 75 6E 61 62 6C 65 20 74 6F 20 63 6C 6F 73 65 20 unable to close
007DD0: 66 69 6C 65 0D 0A 09 6C 78 69 09 68 2C 30 09 09 file...lxi.h,0..
007DE0: 3B 65 76 65 72 79 20 74 68 69 6E 67 20 69 73 20 ;every thing is
007DF0: 6F 6B 20 73 65 74 20 72 65 74 75 72 6E 20 63 6F ok set return co
007E00: 09 3B 63 61 6C 6C 20 63 70 6D 20 74 6F 20 73 65 .;call cpm to se
007E10: 74 20 62 75 66 66 65 72 20 61 64 64 72 65 73 73 t buffer address
007E20: 0D 0A 09 70 6F 70 09 68 09 09 3B 72 65 6D 6F 76 ...pop.h..;remov
007E30: 65 20 63 75 72 72 65 6E 74 20 70 6F 69 6E 74 65 e current pointe
007E40: 72 20 66 72 6F 6D 20 73 74 61 63 6B 0D 0A 09 69 r from stack...i
007E50: 6E 78 09 68 09 09 3B 6D 6F 76 65 20 74 6F 20 61 nx.h..;move to a
007E60: 64 64 72 65 73 73 20 6F 66 20 66 63 62 0D 0A 09 ddress of fcb...
007E70: 70 75 73 68 09 68 09 09 3B 70 75 74 20 63 75 72 push.h..;put cur
007E80: 72 65 6E 74 20 70 6F 69 6E 74 65 72 20 62 61 63 rent pointer bac
007E90: 6B 20 6F 6E 20 73 74 61 63 6B 0D 0A 09 6D 6F 76 k on stack...mov
007EA0: 09 65 2C 6D 09 09 3B 67 65 74 20 6C 6F 77 20 62 .e,m..;get low b
007EB0: 79 74 65 20 6F 66 20 66 63 62 20 61 64 64 72 65 yte of fcb addre
007EC0: 73 73 0D 0A 09 69 6E 78 09 68 09 09 3B 6D 6F 76 ss...inx.h..;mov
007ED0: 65 20 74 6F 20 68 69 67 68 20 62 79 74 65 20 6F e to high byte o
007EE0: 66 20 61 64 64 72 65 73 73 0D 0A 09 6D 6F 76 09 f address...mov.
007EF0: 64 2C 6D 09 09 3B 67 65 74 20 68 69 67 68 20 61 d,m..;get high a
007F00: 64 64 72 65 73 73 20 6F 66 20 66 63 62 0D 0A 09 ddress of fcb...
007F10: 6D 76 69 09 63 2C 32 30 09 09 3B 72 65 61 64 20 mvi.c,20..;read
007F20: 72 65 63 6F 72 64 20 66 72 6F 6D 20 64 73 69 6B record from dsik
007F30: 0D 0A 09 63 61 6C 6C 09 62 64 6F 73 09 09 3B 63 ...call.bdos..;c
007F40: 61 6C 6C 20 63 70 6D 20 74 6F 20 64 6F 20 69 74 all cpm to do it
007F50: 0D 0A 09 70 6F 70 09 68 09 09 3B 67 65 74 20 63 ...pop.h..;get c
007F60: 75 72 72 65 6E 74 20 70 6F 69 6E 74 65 72 20 62 urrent pointer b
007F70: 61 63 6B 0D 0A 09 6F 72 61 09 61 09 09 3B 63 68 ack...ora.a..;ch
007F80: 65 63 6B 20 66 6F 72 20 65 72 72 6F 72 73 0D 0A eck for errors..
007F90: 09 6A 6E 7A 09 72 65 61 64 32 09 09 3B 65 72 72 .jnz.read2..;err
007FA0: 6F 72 20 72 65 61 64 69 6E 67 20 66 69 6C 65 20 or reading file
007FB0: 66 72 6F 6D 20 64 69 73 6B 0D 0A 09 64 63 78 09 from disk...dcx.
007FC0: 68 09 09 3B 6D 6F 76 65 20 74 6F 20 61 64 64 72 h..;move to addr
007FD0: 65 73 73 20 6F 66 20 62 75 66 66 65 72 0D 0A 09 ess of buffer...
007FE0: 6D 6F 76 09 64 2C 6D 09 09 3B 67 65 74 20 68 69 mov.d,m..;get hi
007FF0: 67 68 20 62 79 74 65 20 6F 66 20 61 64 64 72 65 gh byte of addre
008000: 64 65 20 74 6F 20 7A 65 72 6F 0D 0A 09 72 65 74 de to zero...ret
008010: 09 09 09 3B 72 65 74 75 72 6E 20 74 6F 20 63 61 ...;return to ca
008020: 6C 6C 65 72 0D 0A 63 6C 6F 73 65 31 30 3A 0D 0A ller..close10:..
008030: 09 6C 78 69 09 68 2C 2D 31 09 09 3B 65 72 72 6F .lxi.h,-1..;erro
008040: 72 20 73 65 74 20 72 65 74 75 72 6E 20 63 6F 64 r set return cod
008050: 65 20 74 6F 20 65 72 72 6F 72 0D 0A 09 72 65 74 e to error...ret
008060: 0D 0A 3B 0D 0A 3B 09 75 6E 6C 69 6E 6B 0D 0A 3B ..;..;.unlink..;
008070: 0D 0A 3B 09 66 75 6E 63 74 69 6F 6E 20 74 6F 20 ..;.function to
008080: 62 75 69 6C 64 20 66 63 62 20 61 6E 64 20 74 72 build fcb and tr
008090: 79 20 74 6F 20 64 65 6C 65 74 65 0D 0A 3B 09 64 y to delete..;.d
0080A0: 65 6C 65 74 65 20 66 69 6C 65 2E 20 69 66 20 6F elete file. if o
0080B0: 6B 20 72 65 74 75 72 6E 20 30 20 65 6C 73 65 20 k return 0 else
0080C0: 2D 31 0D 0A 3B 0D 0A 3B 09 63 61 6C 6C 69 6E 67 -1..;..;.calling
0080D0: 20 66 6F 72 6D 61 74 20 66 72 6F 6D 20 22 43 22 format from "C"
0080E0: 0D 0A 3B 09 75 6E 6C 69 6E 6B 28 66 69 6C 65 6E ..;.unlink(filen
0080F0: 61 6D 65 29 0D 0A 3B 0D 0A 75 6E 6C 69 6E 6B 3A ame)..;..unlink:
008100: 09 63 73 65 63 74 0D 0A 09 70 6F 70 09 62 09 09 .csect...pop.b..
008110: 3B 67 65 74 20 72 65 74 75 72 6E 20 61 64 64 72 ;get return addr
008120: 65 73 73 0D 0A 09 70 6F 70 09 64 09 09 3B 67 65 ess...pop.d..;ge
008130: 74 20 61 64 64 72 65 73 73 20 6F 66 20 66 69 6C t address of fil
008140: 65 20 6E 61 6D 65 0D 0A 09 70 75 73 68 09 64 09 e name...push.d.
008150: 09 3B 70 75 74 20 64 61 74 61 20 62 61 63 6B 20 .;put data back
008160: 69 6E 20 73 74 61 63 6B 0D 0A 09 70 75 73 68 09 in stack...push.
008170: 62 0D 0A 09 6C 78 69 09 68 2C 2D 33 36 09 09 3B b...lxi.h,-36..;
008180: 70 75 74 20 73 74 61 63 6B 20 70 6F 69 6E 74 65 put stack pointe
008190: 72 20 69 6E 20 68 6C 0D 0A 09 64 61 64 09 73 70 r in hl...dad.sp
0081A0: 09 09 3B 61 64 64 72 65 73 73 20 6F 66 20 73 74 ..;address of st
0081B0: 61 63 6B 20 69 6E 20 68 6C 0D 0A 09 73 70 68 6C ack in hl...sphl
0081C0: 09 09 09 3B 73 65 74 20 6E 65 77 20 61 64 64 72 ...;set new addr
0081D0: 65 73 73 20 6F 66 20 73 74 61 63 6B 20 70 6F 69 ess of stack poi
0081E0: 6E 74 65 72 0D 0A 09 6C 78 69 09 62 2C 33 36 09 nter...lxi.b,36.
0081F0: 09 3B 67 65 74 20 61 64 64 72 65 73 73 20 6F 66 .;get address of
008200: 73 73 0D 0A 09 64 63 78 09 68 09 09 3B 6D 6F 76 ss...dcx.h..;mov
008210: 65 20 74 6F 20 6C 6F 77 20 20 62 79 74 65 20 6F e to low byte o
008220: 66 20 61 64 64 72 65 73 73 0D 0A 09 6D 6F 76 09 f address...mov.
008230: 65 2C 6D 09 09 3B 67 65 74 20 6C 6F 77 20 62 79 e,m..;get low by
008240: 74 65 20 6F 66 20 61 64 64 72 65 73 73 0D 0A 09 te of address...
008250: 78 63 68 67 09 09 09 3B 70 75 74 20 61 64 64 72 xchg...;put addr
008260: 65 73 73 20 69 6E 20 68 6C 20 61 6E 64 20 76 61 ess in hl and va
008270: 72 62 6C 65 20 61 64 64 72 65 73 73 20 69 6E 20 rble address in
008280: 68 6C 0D 0A 09 6C 78 69 09 62 2C 38 30 68 09 09 hl...lxi.b,80h..
008290: 3B 6C 65 6E 67 68 74 20 6F 66 20 31 20 72 65 63 ;lenght of 1 rec
0082A0: 6F 72 64 20 6F 6E 20 64 69 73 6B 0D 0A 09 64 61 ord on disk...da
0082B0: 64 09 62 09 09 3B 61 64 64 20 73 65 63 74 6F 72 d.b..;add sector
0082C0: 20 6C 65 6E 67 68 74 20 74 6F 20 62 75 66 66 65 lenght to buffe
0082D0: 72 20 61 64 64 72 65 73 73 0D 0A 09 78 63 68 67 r address...xchg
0082E0: 09 09 09 3B 70 75 74 20 62 75 66 66 65 72 20 61 ...;put buffer a
0082F0: 64 64 72 65 73 73 20 62 61 63 6B 20 69 6E 20 64 ddress back in d
008300: 65 0D 0A 09 6D 6F 76 09 6D 2C 65 09 09 3B 73 61 e...mov.m,e..;sa
008310: 76 65 20 6E 65 77 20 6C 6F 77 20 62 79 74 65 20 ve new low byte
008320: 6F 66 20 61 64 64 72 65 73 73 0D 0A 09 69 6E 78 of address...inx
008330: 09 68 09 09 3B 6D 6F 76 65 20 74 6F 20 68 69 67 .h..;move to hig
008340: 68 20 62 79 74 65 20 6F 66 20 61 64 64 72 65 73 h byte of addres
008350: 73 0D 0A 09 6D 6F 76 09 6D 2C 64 09 09 3B 73 61 s...mov.m,d..;sa
008360: 76 65 20 68 69 67 68 20 62 79 74 65 20 6F 66 20 ve high byte of
008370: 61 64 64 72 65 73 73 0D 0A 09 6A 6D 70 09 72 65 address...jmp.re
008380: 61 64 09 09 3B 73 65 65 20 69 74 20 74 69 6D 65 ad..;see it time
008390: 20 74 6F 20 72 65 61 64 20 6E 65 78 74 20 72 65 to read next re
0083A0: 63 6F 72 64 0D 0A 72 65 61 64 31 3A 0D 0A 09 6C cord..read1:...l
0083B0: 78 69 09 68 2C 30 09 09 3B 65 76 65 72 79 20 74 xi.h,0..;every t
0083C0: 68 69 6E 67 20 69 73 20 6F 6B 20 72 65 74 75 72 hing is ok retur
0083D0: 6E 20 74 6F 20 63 61 6C 6C 65 72 0D 0A 09 6A 6D n to caller...jm
0083E0: 70 09 72 65 61 64 33 09 09 3B 73 65 74 20 64 6D p.read3..;set dm
0083F0: 61 20 61 64 64 72 65 73 73 20 74 6F 20 74 62 75 a address to tbu
008400: 20 66 63 62 20 66 6F 72 20 64 65 6C 65 74 65 0D fcb for delete.
008410: 0A 09 64 61 64 09 62 09 09 3B 61 64 64 20 74 6F ..dad.b..;add to
008420: 20 67 65 74 20 62 61 73 65 20 66 6F 72 20 66 63 get base for fc
008430: 62 0D 0A 09 70 75 73 68 09 68 09 09 3B 73 65 74 b...push.h..;set
008440: 20 75 70 20 61 72 67 20 66 6F 72 20 73 65 74 66 up arg for setf
008450: 63 62 0D 0A 09 70 75 73 68 09 64 0D 0A 09 63 61 cb...push.d...ca
008460: 6C 6C 09 73 65 74 66 63 62 09 09 3B 74 72 79 20 ll.setfcb..;try
008470: 74 6F 20 62 75 69 6C 64 20 66 63 62 0D 0A 09 70 to build fcb...p
008480: 6F 70 09 64 09 09 3B 72 65 6D 6F 76 65 20 61 72 op.d..;remove ar
008490: 67 20 66 6F 72 20 73 65 74 66 63 62 0D 0A 09 70 g for setfcb...p
0084A0: 6F 70 09 64 0D 0A 09 69 6E 72 09 6C 09 09 3B 73 op.d...inr.l..;s
0084B0: 65 65 20 69 66 20 65 72 72 6F 72 0D 0A 09 6A 7A ee if error...jz
0084C0: 09 75 6E 6C 69 6E 6B 31 30 09 3B 65 72 72 6F 72 .unlink10.;error
0084D0: 20 6E 6F 74 20 61 20 76 61 69 6C 64 20 66 69 6C not a vaild fil
0084E0: 65 20 6E 61 6D 65 0D 0A 09 6D 76 69 09 63 2C 31 e name...mvi.c,1
0084F0: 39 09 09 3B 66 75 6E 63 74 69 6F 6E 20 6E 75 6D 9..;function num
008500: 62 65 72 20 74 6F 20 64 65 6C 65 74 65 20 61 20 ber to delete a
008510: 66 69 6C 65 0D 0A 09 63 61 6C 6C 09 62 64 6F 73 file...call.bdos
008520: 09 09 3B 63 61 6C 6C 20 63 70 6D 20 74 6F 20 64 ..;call cpm to d
008530: 65 6C 65 74 65 20 66 69 6C 65 20 66 72 6F 6D 20 elete file from
008540: 73 79 73 74 65 6D 0D 0A 09 69 6E 72 09 61 09 09 system...inr.a..
008550: 3B 63 68 65 63 6B 20 74 6F 20 73 65 65 20 69 66 ;check to see if
008560: 20 69 6E 20 65 72 72 6F 72 0D 0A 09 6A 7A 09 75 in error...jz.u
008570: 6E 6C 69 6E 6B 31 30 09 3B 65 72 72 6F 72 20 75 nlink10.;error u
008580: 6E 61 62 6C 65 20 74 6F 20 64 65 6C 65 74 65 20 nable to delete
008590: 66 69 6C 65 0D 0A 09 6C 78 69 09 64 2C 30 09 09 file...lxi.d,0..
0085A0: 3B 72 65 74 75 72 6E 20 63 6F 64 65 0D 0A 09 6A ;return code...j
0085B0: 6D 70 09 75 6E 6C 69 6E 6B 31 31 09 3B 72 65 73 mp.unlink11.;res
0085C0: 65 74 20 73 74 61 63 6B 20 70 6F 69 6E 74 65 72 et stack pointer
0085D0: 0D 0A 75 6E 6C 69 6E 6B 31 30 3A 0D 0A 09 6C 78 ..unlink10:...lx
0085E0: 69 09 64 2C 2D 31 09 09 3B 73 65 74 20 65 72 72 i.d,-1..;set err
0085F0: 6F 72 20 63 6F 64 65 20 0D 0A 75 6E 6C 69 6E 6B or code ..unlink
008600: 54 72 61 63 6B 2D 49 6E 66 6F 0D 0A 00 00 00 00 Track-Info......
008610: 07 00 01 00 02 09 52 E5 07 00 C1 02 00 00 00 02 ......R.........
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: 66 20 61 6E 64 20 72 65 74 75 72 6E 0D 0A 72 65 f and return..re
008710: 61 64 32 3A 0D 0A 09 6C 78 69 09 68 2C 2D 31 09 ad2:...lxi.h,-1.
008720: 09 3B 65 72 72 6F 72 20 72 65 61 64 69 6E 67 20 .;error reading
008730: 66 69 6C 65 0D 0A 72 65 61 64 33 3A 0D 0A 09 70 file..read3:...p
008740: 75 73 68 09 68 09 09 3B 73 61 76 65 20 72 65 74 ush.h..;save ret
008750: 75 72 6E 20 63 6F 64 65 0D 0A 09 6C 78 69 09 64 urn code...lxi.d
008760: 2C 63 70 6D 63 6D 64 09 3B 61 64 64 72 65 73 73 ,cpmcmd.;address
008770: 20 6F 66 20 74 65 6D 70 20 62 75 66 66 0D 0A 09 of temp buff...
008780: 6D 76 69 09 63 2C 32 36 09 09 3B 73 65 74 20 64 mvi.c,26..;set d
008790: 6D 61 20 61 64 64 72 65 73 73 20 66 75 6E 63 74 ma address funct
0087A0: 69 6F 6E 0D 0A 09 63 61 6C 6C 09 62 64 6F 73 09 ion...call.bdos.
0087B0: 09 3B 63 61 6C 6C 20 63 70 6D 20 74 6F 20 64 6F .;call cpm to do
0087C0: 20 6E 65 65 64 65 64 20 66 75 6E 74 69 6F 6E 0D needed funtion.
0087D0: 0A 09 70 6F 70 09 68 09 09 3B 67 65 74 20 72 65 ..pop.h..;get re
0087E0: 74 75 72 6E 20 63 6F 64 65 20 66 72 6F 6D 20 73 turn code from s
0087F0: 74 61 63 6B 0D 0A 09 72 65 74 09 09 09 3B 61 6C tack...ret...;al
008800: 6C 20 64 6F 6E 65 20 72 65 74 75 72 6E 20 74 6F l done return to
008810: 20 63 61 6C 6C 65 72 0D 0A 3B 0D 0A 3B 09 66 75 caller..;..;.fu
008820: 6E 63 74 69 6F 6E 20 74 6F 20 77 72 69 74 65 20 nction to write
008830: 78 20 72 65 63 6F 72 64 20 66 72 6F 6D 09 64 69 x record from.di
008840: 73 6B 20 61 6E 64 20 72 65 74 75 72 6E 0D 0A 3B sk and return..;
008850: 09 66 61 6C 73 65 20 69 66 20 6E 6F 20 65 72 72 .false if no err
008860: 6F 72 73 20 6F 72 20 74 72 75 65 20 69 66 20 65 ors or true if e
008870: 72 72 6F 72 0D 0A 3B 0D 0A 3B 09 63 61 6C 6C 69 rror..;..;.calli
008880: 6E 67 20 66 6F 72 6D 61 74 20 66 72 6F 6D 20 22 ng format from "
008890: 43 22 0D 0A 3B 09 77 72 69 74 65 28 66 63 62 2C C"..;.write(fcb,
0088A0: 62 75 66 66 65 72 2C 63 6F 75 6E 74 29 3B 0D 0A buffer,count);..
0088B0: 3B 0D 0A 77 72 69 74 65 3A 09 63 73 65 63 74 0D ;..write:.csect.
0088C0: 0A 09 6C 78 69 09 68 2C 32 09 09 3B 6F 66 66 73 ..lxi.h,2..;offs
0088D0: 65 74 20 69 6E 20 73 74 61 63 6B 20 74 69 6C 6C et in stack till
0088E0: 20 63 6F 75 6E 74 0D 0A 09 64 61 64 09 73 70 09 count...dad.sp.
0088F0: 09 3B 67 65 74 20 61 64 64 72 65 73 73 20 6F 66 .;get address of
008900: 66 63 62 28 66 63 62 2C 66 69 6C 65 6E 61 6D 65 fcb(fcb,filename
008910: 29 3B 0D 0A 3B 0D 0A 73 65 74 66 63 62 3A 09 63 );..;..setfcb:.c
008920: 73 65 63 74 0D 0A 09 70 6F 70 09 62 09 09 3B 67 sect...pop.b..;g
008930: 65 74 20 72 65 74 75 72 6E 20 61 64 64 72 65 73 et return addres
008940: 73 0D 0A 09 70 6F 70 09 68 09 09 3B 61 64 64 72 s...pop.h..;addr
008950: 65 73 73 20 6F 66 20 66 69 6C 65 20 6E 61 6D 65 ess of file name
008960: 0D 0A 09 70 6F 70 09 64 09 09 3B 61 64 64 72 65 ...pop.d..;addre
008970: 73 73 20 6F 66 20 66 63 62 0D 0A 09 70 75 73 68 ss of fcb...push
008980: 09 64 09 09 3B 70 75 74 20 64 61 74 61 20 62 61 .d..;put data ba
008990: 63 6B 20 6F 6E 20 73 74 61 63 6B 0D 0A 09 70 75 ck on stack...pu
0089A0: 73 68 09 68 0D 0A 09 70 75 73 68 09 62 0D 0A 09 sh.h...push.b...
0089B0: 64 63 78 09 68 09 09 3B 73 65 74 20 70 6F 69 6E dcx.h..;set poin
0089C0: 74 65 72 20 62 61 63 6B 20 31 20 62 65 66 6F 72 ter back 1 befor
0089D0: 65 20 66 69 6C 65 20 6E 61 6D 65 0D 0A 73 65 74 e file name..set
0089E0: 66 63 62 31 3A 0D 0A 09 69 6E 78 09 68 09 09 3B fcb1:...inx.h..;
0089F0: 6D 6F 76 65 20 70 6F 69 6E 74 65 72 20 74 6F 20 move pointer to
008A00: 6E 65 78 74 20 63 68 72 61 63 74 65 72 0D 0A 09 next chracter...
008A10: 6D 6F 76 09 61 2C 6D 09 09 3B 67 65 74 20 63 68 mov.a,m..;get ch
008A20: 61 72 61 63 74 65 72 20 66 72 6F 6D 20 62 75 66 aracter from buf
008A30: 66 65 72 0D 0A 09 6F 72 61 09 61 09 09 3B 63 68 fer...ora.a..;ch
008A40: 65 63 6B 20 66 6F 72 20 65 6E 64 20 6F 66 20 62 eck for end of b
008A50: 75 66 66 65 72 0D 0A 09 6A 7A 09 73 65 74 66 63 uffer...jz.setfc
008A60: 62 36 09 09 3B 65 72 72 6F 72 20 6E 75 6C 6C 20 b6..;error null
008A70: 66 69 6C 65 20 6E 61 6D 65 0D 0A 09 63 70 69 09 file name...cpi.
008A80: 27 20 27 09 09 3B 73 65 65 20 69 66 20 6C 65 61 ' '..;see if lea
008A90: 64 69 6E 67 20 73 70 61 63 65 20 0D 0A 09 6A 7A ding space ...jz
008AA0: 09 73 65 74 66 63 62 31 09 09 3B 79 65 73 20 6D .setfcb1..;yes m
008AB0: 6F 76 65 20 74 6F 20 6E 65 78 74 20 63 68 61 72 ove to next char
008AC0: 61 63 74 65 72 0D 0A 09 70 75 73 68 09 68 09 09 acter...push.h..
008AD0: 3B 73 61 76 65 20 73 74 61 72 74 69 6E 67 20 61 ;save starting a
008AE0: 64 64 72 65 73 73 20 6F 66 20 66 69 6C 65 20 6E ddress of file n
008AF0: 61 6D 65 0D 0A 73 65 74 66 63 62 31 61 3A 0D 0A ame..setfcb1a:..
008B00: 20 6E 75 6D 62 65 72 20 6F 66 20 72 65 63 6F 72 number of recor
008B10: 64 20 74 6F 20 72 65 61 64 0D 0A 09 6D 6F 76 09 d to read...mov.
008B20: 61 2C 6D 09 09 3B 67 65 74 20 6C 6F 77 20 62 79 a,m..;get low by
008B30: 74 65 20 6F 66 20 63 6F 75 6E 74 0D 0A 09 6D 6F te of count...mo
008B40: 76 09 65 2C 6D 09 09 3B 73 61 76 65 20 66 6F 72 v.e,m..;save for
008B50: 20 6C 61 74 65 72 20 75 73 65 0D 0A 09 69 6E 78 later use...inx
008B60: 09 68 09 09 3B 6D 6F 76 65 20 74 6F 20 68 69 67 .h..;move to hig
008B70: 68 20 62 79 74 65 20 6F 66 20 63 6F 75 6E 74 0D h byte of count.
008B80: 0A 09 6F 72 61 09 6D 09 09 3B 73 65 65 20 69 66 ..ora.m..;see if
008B90: 20 31 36 20 62 69 74 20 63 6F 75 6E 74 20 69 73 16 bit count is
008BA0: 20 7A 65 72 6F 0D 0A 09 6D 6F 76 09 64 2C 6D 09 zero...mov.d,m.
008BB0: 09 3B 67 65 74 20 68 69 67 68 20 62 79 74 65 20 .;get high byte
008BC0: 6F 66 20 63 6F 75 6E 74 20 0D 0A 09 6A 7A 09 77 of count ...jz.w
008BD0: 72 69 74 65 31 09 09 3B 79 65 73 20 64 6F 09 6E rite1..;yes do.n
008BE0: 6F 74 20 77 72 69 74 65 20 61 6E 79 20 6D 6F 72 ot write any mor
008BF0: 65 20 72 65 63 6F 72 64 73 0D 0A 09 64 63 78 09 e records...dcx.
008C00: 64 09 09 3B 73 75 62 74 72 61 63 74 20 31 20 66 d..;subtract 1 f
008C10: 72 6F 6D 20 63 6F 75 6E 74 0D 0A 09 6D 6F 76 09 rom count...mov.
008C20: 6D 2C 64 09 09 3B 70 75 74 20 68 69 67 68 20 62 m,d..;put high b
008C30: 79 74 65 20 62 61 63 6B 0D 0A 09 64 63 78 09 68 yte back...dcx.h
008C40: 09 09 3B 70 6F 69 6E 74 20 74 6F 20 68 69 67 68 ..;point to high
008C50: 20 62 79 74 65 0D 0A 09 6D 6F 76 09 6D 2C 65 09 byte...mov.m,e.
008C60: 09 3B 73 61 76 65 20 6C 6F 77 20 62 79 74 65 0D .;save low byte.
008C70: 0A 09 69 6E 78 09 68 09 09 3B 6D 6F 76 65 20 74 ..inx.h..;move t
008C80: 6F 20 62 75 66 66 65 72 20 61 64 64 72 65 73 73 o buffer address
008C90: 0D 0A 09 69 6E 78 09 68 0D 0A 09 6D 6F 76 09 65 ...inx.h...mov.e
008CA0: 2C 6D 09 09 3B 67 65 74 20 61 64 64 72 65 73 73 ,m..;get address
008CB0: 20 6F 66 20 62 75 66 66 65 72 0D 0A 09 69 6E 78 of buffer...inx
008CC0: 09 68 09 09 3B 6D 6F 76 65 20 74 6F 20 68 69 67 .h..;move to hig
008CD0: 68 20 62 79 74 65 20 6F 66 20 61 64 64 72 65 73 h byte of addres
008CE0: 73 0D 0A 09 70 75 73 68 09 68 09 09 3B 73 61 76 s...push.h..;sav
008CF0: 65 20 63 75 72 72 65 6E 74 20 70 6F 69 6E 74 65 e current pointe
008D00: 09 6D 6F 76 09 61 2C 6D 09 09 3B 67 65 74 20 63 .mov.a,m..;get c
008D10: 68 61 72 61 63 74 65 72 20 66 72 6F 6D 20 66 69 haracter from fi
008D20: 6C 65 20 6E 61 6D 65 0D 0A 09 6F 72 61 09 61 09 le name...ora.a.
008D30: 09 3B 73 65 65 20 69 66 20 65 6E 64 20 6F 66 20 .;see if end of
008D40: 73 74 72 69 6E 67 0D 0A 09 6A 7A 09 73 65 74 66 string...jz.setf
008D50: 63 62 31 62 09 3B 79 65 73 2E 2E 2E 20 6C 6F 6F cb1b.;yes... loo
008D60: 70 20 62 61 63 6B 20 74 69 6C 6C 20 6E 6F 74 20 p back till not
008D70: 73 70 61 63 65 0D 0A 09 69 6E 78 09 68 09 09 3B space...inx.h..;
008D80: 6D 6F 76 65 20 74 6F 20 6E 65 78 74 20 62 79 74 move to next byt
008D90: 65 0D 0A 09 6A 6D 70 09 73 65 74 66 63 62 31 61 e...jmp.setfcb1a
008DA0: 0D 0A 73 65 74 66 63 62 31 62 3A 0D 0A 09 64 63 ..setfcb1b:...dc
008DB0: 78 09 68 09 09 3B 6D 6F 76 65 20 62 61 63 6B 20 x.h..;move back
008DC0: 31 20 63 68 61 72 61 63 74 65 72 0D 0A 09 6D 6F 1 character...mo
008DD0: 76 09 61 2C 6D 09 09 3B 67 65 74 20 74 68 69 73 v.a,m..;get this
008DE0: 20 63 68 72 61 63 74 65 72 20 66 72 6F 6D 20 62 chracter from b
008DF0: 75 66 66 65 72 0D 0A 09 63 70 69 09 27 20 27 09 uffer...cpi.' '.
008E00: 09 3B 69 73 20 74 68 69 73 20 63 68 61 72 61 63 .;is this charac
008E10: 74 65 72 20 61 20 73 70 61 63 65 0D 0A 09 6A 7A ter a space...jz
008E20: 09 73 65 74 66 63 62 31 62 09 3B 6C 6F 6F 70 20 .setfcb1b.;loop
008E30: 74 69 6C 6C 20 6E 6F 6E 65 20 73 70 61 63 65 20 till none space
008E40: 63 68 61 72 61 63 74 65 72 20 69 73 20 66 6F 75 character is fou
008E50: 6E 64 0D 0A 09 69 6E 78 09 68 09 09 3B 6D 6F 76 nd...inx.h..;mov
008E60: 65 20 74 6F 20 65 6E 64 20 6F 66 20 73 74 72 69 e to end of stri
008E70: 6E 67 0D 0A 09 6D 76 69 09 6D 2C 30 09 09 3B 6D ng...mvi.m,0..;m
008E80: 6F 76 65 20 65 6E 64 20 6F 66 20 73 74 72 69 6E ove end of strin
008E90: 67 20 6D 61 72 6B 65 72 0D 0A 09 70 6F 70 09 68 g marker...pop.h
008EA0: 09 09 3B 67 65 74 20 73 74 61 72 74 69 6E 67 20 ..;get starting
008EB0: 61 64 64 72 65 73 73 20 62 61 63 6B 0D 0A 09 69 address back...i
008EC0: 6E 78 09 68 09 09 3B 6D 6F 76 65 20 74 6F 20 22 nx.h..;move to "
008ED0: 3A 22 20 69 66 20 64 69 73 6B 20 73 70 65 63 0D :" if disk spec.
008EE0: 0A 09 6D 6F 76 09 61 2C 6D 09 09 3B 67 65 74 20 ..mov.a,m..;get
008EF0: 74 68 69 73 20 63 68 61 72 61 63 74 65 72 20 66 this character f
008F00: 72 20 6F 6E 20 73 74 61 63 6B 0D 0A 09 6D 6F 76 r on stack...mov
008F10: 09 64 2C 6D 09 09 3B 67 65 74 20 68 69 67 68 20 .d,m..;get high
008F20: 62 79 74 65 20 6F 66 20 61 64 64 72 65 73 73 0D byte of address.
008F30: 0A 09 6D 76 69 09 63 2C 32 36 09 09 3B 73 65 74 ..mvi.c,26..;set
008F40: 20 64 6D 61 20 61 64 64 72 65 73 73 0D 0A 09 63 dma address...c
008F50: 61 6C 6C 09 62 64 6F 73 09 09 3B 63 61 6C 6C 20 all.bdos..;call
008F60: 63 70 6D 20 74 6F 20 73 65 74 20 62 75 66 66 65 cpm to set buffe
008F70: 72 20 61 64 64 72 65 73 73 0D 0A 09 70 6F 70 09 r address...pop.
008F80: 68 09 09 3B 72 65 6D 6F 76 65 20 63 75 72 72 65 h..;remove curre
008F90: 6E 74 20 70 6F 69 6E 74 65 72 20 66 72 6F 6D 20 nt pointer from
008FA0: 73 74 61 63 6B 0D 0A 09 69 6E 78 09 68 09 09 3B stack...inx.h..;
008FB0: 6D 6F 76 65 20 74 6F 20 61 64 64 72 65 73 73 20 move to address
008FC0: 6F 66 20 66 63 62 0D 0A 09 70 75 73 68 09 68 09 of fcb...push.h.
008FD0: 09 3B 70 75 74 20 63 75 72 72 65 6E 74 20 70 6F .;put current po
008FE0: 69 6E 74 65 72 20 62 61 63 6B 20 6F 6E 20 73 74 inter back on st
008FF0: 61 63 6B 0D 0A 09 6D 6F 76 09 65 2C 6D 09 09 3B ack...mov.e,m..;
009000: 67 65 74 20 6C 6F 77 20 62 79 74 65 20 6F 66 20 get low byte of
009010: 66 63 62 20 61 64 64 72 65 73 73 0D 0A 09 69 6E fcb address...in
009020: 78 09 68 09 09 3B 6D 6F 76 65 20 74 6F 20 68 69 x.h..;move to hi
009030: 67 68 20 62 79 74 65 20 6F 66 20 61 64 64 72 65 gh byte of addre
009040: 73 73 0D 0A 09 6D 6F 76 09 64 2C 6D 09 09 3B 67 ss...mov.d,m..;g
009050: 65 74 20 68 69 67 68 20 61 64 64 72 65 73 73 20 et high address
009060: 6F 66 20 66 63 62 0D 0A 09 6D 76 69 09 63 2C 32 of fcb...mvi.c,2
009070: 31 09 09 3B 77 72 69 74 65 20 72 65 63 6F 72 64 1..;write record
009080: 20 74 6F 20 64 69 73 6B 0D 0A 09 63 61 6C 6C 09 to disk...call.
009090: 62 64 6F 73 09 09 3B 63 61 6C 6C 20 63 70 6D 20 bdos..;call cpm
0090A0: 74 6F 20 64 6F 20 69 74 0D 0A 09 70 6F 70 09 68 to do it...pop.h
0090B0: 09 09 3B 67 65 74 20 63 75 72 72 65 6E 74 20 70 ..;get current p
0090C0: 6F 69 6E 74 65 72 20 62 61 63 6B 0D 0A 09 6F 72 ointer back...or
0090D0: 61 09 61 09 09 3B 63 68 65 63 6B 20 66 6F 72 20 a.a..;check for
0090E0: 65 72 72 6F 72 73 0D 0A 09 6A 6E 7A 09 77 72 69 errors...jnz.wri
0090F0: 74 65 32 09 09 3B 65 72 72 6F 72 20 77 72 69 74 te2..;error writ
009100: 6F 72 6D 20 66 69 6C 65 20 6E 61 6D 65 0D 0A 09 orm file name...
009110: 64 63 78 09 68 09 09 3B 70 75 74 20 70 6F 69 6E dcx.h..;put poin
009120: 74 65 72 20 62 61 63 6B 0D 0A 09 63 70 69 09 27 ter back...cpi.'
009130: 3A 27 09 09 3B 73 65 65 20 69 66 20 64 69 73 6B :'..;see if disk
009140: 20 73 70 65 63 20 69 6E 20 66 69 6C 65 20 6E 61 spec in file na
009150: 6D 65 20 0D 0A 09 6A 6E 7A 09 73 65 74 66 63 62 me ...jnz.setfcb
009160: 32 09 09 3B 6E 6F 20 67 74 20 72 65 61 64 79 20 2..;no gt ready
009170: 66 6F 72 20 66 69 6C 65 20 6E 61 6D 65 0D 0A 09 for file name...
009180: 6D 6F 76 09 61 2C 6D 09 09 3B 67 65 74 20 64 69 mov.a,m..;get di
009190: 73 6B 20 6E 61 6D 65 0D 0A 09 63 61 6C 6C 09 73 sk name...call.s
0091A0: 65 74 66 63 62 31 30 09 09 3B 6D 61 6B 65 20 69 etfcb10..;make i
0091B0: 66 20 75 70 70 65 72 20 63 61 73 65 0D 0A 09 73 f upper case...s
0091C0: 75 69 09 27 40 27 09 09 3B 6D 61 6B 65 20 69 74 ui.'@'..;make it
0091D0: 20 30 31 2D 31 36 20 66 6F 72 20 64 69 73 6B 20 01-16 for disk
0091E0: 61 2D 70 0D 0A 09 69 6E 78 09 68 09 09 3B 6D 6F a-p...inx.h..;mo
0091F0: 76 65 20 74 6F 20 73 74 61 72 74 20 6F 66 20 66 ve to start of f
009200: 69 6C 65 20 6E 61 6D 65 0D 0A 09 69 6E 78 09 68 ile name...inx.h
009210: 0D 0A 09 6A 6D 70 09 73 65 74 66 63 62 33 09 09 ...jmp.setfcb3..
009220: 3B 6D 6F 76 65 20 64 69 73 6B 20 76 61 6C 75 65 ;move disk value
009230: 20 69 6E 74 6F 20 66 63 62 0D 0A 73 65 74 66 63 into fcb..setfc
009240: 62 32 3A 0D 0A 09 78 72 61 09 61 09 09 3B 6D 61 b2:...xra.a..;ma
009250: 6B 65 20 64 65 66 75 61 6C 74 20 64 69 73 6B 0D ke defualt disk.
009260: 0A 73 65 74 66 63 62 33 3A 0D 0A 09 73 74 61 78 .setfcb3:...stax
009270: 09 64 09 09 3B 73 61 76 65 20 76 61 6C 75 65 20 .d..;save value
009280: 66 6F 72 20 64 69 73 6B 20 64 72 69 76 65 09 0D for disk drive..
009290: 0A 09 69 6E 78 09 64 09 09 3B 6D 6F 76 65 20 66 ..inx.d..;move f
0092A0: 63 62 20 74 6F 20 66 69 6C 65 20 6E 61 6D 65 0D cb to file name.
0092B0: 0A 09 6D 76 69 09 62 2C 38 09 09 3B 6E 75 6D 62 ..mvi.b,8..;numb
0092C0: 65 72 20 6F 66 20 62 79 74 65 20 69 6E 20 66 69 er of byte in fi
0092D0: 6C 65 20 6E 61 6D 65 0D 0A 09 63 61 6C 6C 09 73 le name...call.s
0092E0: 65 74 66 63 62 31 31 09 3B 6D 6F 76 65 20 66 69 etfcb11.;move fi
0092F0: 6C 65 20 6E 61 6D 65 20 69 6E 74 6F 20 70 6C 61 le name into pla
009300: 69 6E 67 20 66 69 6C 65 20 66 72 6F 6D 20 64 69 ing file from di
009310: 73 6B 0D 0A 09 64 63 78 09 68 09 09 3B 6D 6F 76 sk...dcx.h..;mov
009320: 65 20 74 6F 20 61 64 64 72 65 73 73 20 6F 66 20 e to address of
009330: 62 75 66 66 65 72 0D 0A 09 6D 6F 76 09 64 2C 6D buffer...mov.d,m
009340: 09 09 3B 67 65 74 20 68 69 67 68 20 62 79 74 65 ..;get high byte
009350: 20 6F 66 20 61 64 64 72 65 73 73 0D 0A 09 64 63 of address...dc
009360: 78 09 68 09 09 3B 6D 6F 76 65 20 74 6F 20 6C 6F x.h..;move to lo
009370: 77 20 20 62 79 74 65 20 6F 66 20 61 64 64 72 65 w byte of addre
009380: 73 73 0D 0A 09 6D 6F 76 09 65 2C 6D 09 09 3B 67 ss...mov.e,m..;g
009390: 65 74 20 6C 6F 77 20 62 79 74 65 20 6F 66 20 61 et low byte of a
0093A0: 64 64 72 65 73 73 0D 0A 09 78 63 68 67 09 09 09 ddress...xchg...
0093B0: 3B 70 75 74 20 61 64 64 72 65 73 73 20 69 6E 20 ;put address in
0093C0: 68 6C 20 61 6E 64 20 76 61 72 62 6C 65 20 61 64 hl and varble ad
0093D0: 64 72 65 73 73 20 69 6E 20 68 6C 0D 0A 09 6C 78 dress in hl...lx
0093E0: 69 09 62 2C 38 30 68 09 09 3B 6C 65 6E 67 68 74 i.b,80h..;lenght
0093F0: 20 6F 66 20 31 20 72 65 63 6F 72 64 20 6F 6E 20 of 1 record on
009400: 64 69 73 6B 0D 0A 09 64 61 64 09 62 09 09 3B 61 disk...dad.b..;a
009410: 64 64 20 73 65 63 74 6F 72 20 6C 65 6E 67 68 74 dd sector lenght
009420: 20 74 6F 20 62 75 66 66 65 72 20 61 64 64 72 65 to buffer addre
009430: 73 73 0D 0A 09 78 63 68 67 09 09 09 3B 70 75 74 ss...xchg...;put
009440: 20 62 75 66 66 65 72 20 61 64 64 72 65 73 73 20 buffer address
009450: 62 61 63 6B 20 69 6E 20 64 65 0D 0A 09 6D 6F 76 back in de...mov
009460: 09 6D 2C 65 09 09 3B 73 61 76 65 20 6E 65 77 20 .m,e..;save new
009470: 6C 6F 77 20 62 79 74 65 20 6F 66 20 61 64 64 72 low byte of addr
009480: 65 73 73 0D 0A 09 69 6E 78 09 68 09 09 3B 6D 6F ess...inx.h..;mo
009490: 76 65 20 74 6F 20 68 69 67 68 20 62 79 74 65 20 ve to high byte
0094A0: 6F 66 20 61 64 64 72 65 73 73 0D 0A 09 6D 6F 76 of address...mov
0094B0: 09 6D 2C 64 09 09 3B 73 61 76 65 20 68 69 67 68 .m,d..;save high
0094C0: 20 62 79 74 65 20 6F 66 20 61 64 64 72 65 73 73 byte of address
0094D0: 0D 0A 09 6A 6D 70 09 77 72 69 74 65 09 09 3B 73 ...jmp.write..;s
0094E0: 65 65 20 69 74 09 74 69 6D 65 20 74 6F 09 77 72 ee it.time to.wr
0094F0: 69 74 65 20 6E 65 78 74 20 72 65 63 6F 72 64 0D ite next record.
009500: 63 65 0D 0A 09 6A 6E 7A 09 73 65 74 66 63 62 36 ce...jnz.setfcb6
009510: 09 09 3B 73 65 65 20 69 66 20 62 61 64 20 63 68 ..;see if bad ch
009520: 61 72 61 63 74 65 72 20 69 6E 20 66 69 6C 65 20 aracter in file
009530: 6E 61 6D 65 0D 0A 09 63 70 69 09 27 2E 27 09 09 name...cpi.'.'..
009540: 3B 63 68 65 6B 20 74 6F 20 73 65 65 20 69 66 20 ;chek to see if
009550: 66 69 6C 65 20 74 79 70 65 0D 0A 09 6A 6E 7A 09 file type...jnz.
009560: 73 65 74 66 63 62 34 09 09 3B 6E 6F 20 64 6F 20 setfcb4..;no do
009570: 6E 6F 74 20 6D 6F 76 65 20 70 6F 69 6E 74 65 72 not move pointer
009580: 20 70 61 73 74 20 27 2E 27 0D 0A 09 69 6E 78 09 past '.'...inx.
009590: 68 09 09 3B 6D 6F 76 65 20 74 6F 20 66 69 6C 65 h..;move to file
0095A0: 20 74 79 70 65 20 62 79 74 65 0D 0A 73 65 74 66 type byte..setf
0095B0: 63 62 34 3A 0D 0A 09 6D 76 69 09 62 2C 33 09 09 cb4:...mvi.b,3..
0095C0: 3B 6E 75 6D 62 65 72 20 6F 66 20 62 79 74 65 73 ;number of bytes
0095D0: 20 69 6E 20 66 69 6C 65 20 74 79 70 65 0D 0A 09 in file type...
0095E0: 63 61 6C 6C 09 73 65 74 66 63 62 31 31 09 3B 6D call.setfcb11.;m
0095F0: 6F 76 65 20 66 69 6C 65 20 74 79 70 65 20 69 6E ove file type in
009600: 74 6F 20 66 63 62 0D 0A 09 6A 6E 7A 09 73 65 74 to fcb...jnz.set
009610: 66 63 62 36 09 09 3B 73 65 65 20 69 66 20 62 61 fcb6..;see if ba
009620: 64 20 63 68 61 72 61 63 74 65 72 20 69 6E 20 66 d character in f
009630: 69 6C 65 20 74 79 70 65 0D 0A 09 6D 76 69 09 62 ile type...mvi.b
009640: 2C 32 34 09 09 3B 6E 75 6D 62 65 72 20 6F 66 20 ,24..;number of
009650: 62 79 74 65 73 20 6C 65 66 74 20 69 6E 20 66 63 bytes left in fc
009660: 62 0D 0A 09 6D 76 69 09 61 2C 30 09 09 3B 76 61 b...mvi.a,0..;va
009670: 6C 75 65 20 74 6F 20 66 69 6C 65 20 66 63 62 20 lue to file fcb
009680: 77 69 74 68 0D 0A 73 65 74 66 63 62 35 3A 0D 0A with..setfcb5:..
009690: 09 73 74 61 78 09 64 09 09 3B 70 75 74 20 30 20 .stax.d..;put 0
0096A0: 69 6E 20 66 63 62 20 65 78 2D 72 32 0D 0A 09 69 in fcb ex-r2...i
0096B0: 6E 78 09 64 09 09 3B 6D 6F 76 65 20 74 6F 20 6E nx.d..;move to n
0096C0: 65 78 74 20 62 79 74 65 0D 0A 09 64 63 72 09 62 ext byte...dcr.b
0096D0: 09 09 3B 73 65 65 20 69 66 20 64 6F 6E 65 20 77 ..;see if done w
0096E0: 69 74 68 20 6D 6F 76 65 0D 0A 09 6A 6E 7A 09 73 ith move...jnz.s
0096F0: 65 74 66 63 62 35 09 09 3B 6E 6F 20 6B 65 65 70 etfcb5..;no keep
009700: 0A 77 72 69 74 65 31 3A 0D 0A 09 6C 78 69 09 68 .write1:...lxi.h
009710: 2C 30 09 09 3B 65 76 65 72 79 20 74 68 69 6E 67 ,0..;every thing
009720: 20 69 73 20 6F 6B 20 72 65 74 75 72 6E 20 74 6F is ok return to
009730: 20 63 61 6C 6C 65 72 0D 0A 09 6A 6D 70 09 77 72 caller...jmp.wr
009740: 69 74 65 33 09 09 3B 73 65 74 20 64 6D 61 20 61 ite3..;set dma a
009750: 64 64 72 65 73 73 20 74 6F 20 74 62 75 66 20 61 ddress to tbuf a
009760: 6E 64 20 72 65 74 75 72 6E 0D 0A 77 72 69 74 65 nd return..write
009770: 32 3A 0D 0A 09 6C 78 69 09 68 2C 2D 31 09 09 3B 2:...lxi.h,-1..;
009780: 65 72 72 6F 72 20 77 72 69 74 69 6E 67 20 66 69 error writing fi
009790: 6C 65 0D 0A 77 72 69 74 65 33 3A 0D 0A 09 70 75 le..write3:...pu
0097A0: 73 68 09 68 09 09 3B 73 61 76 65 20 72 65 74 75 sh.h..;save retu
0097B0: 72 6E 20 63 6F 64 65 0D 0A 09 6C 78 69 09 64 2C rn code...lxi.d,
0097C0: 63 70 6D 63 6D 64 09 3B 61 64 64 72 65 73 73 20 cpmcmd.;address
0097D0: 6F 66 20 74 65 6D 70 20 62 75 66 66 0D 0A 09 6D of temp buff...m
0097E0: 76 69 09 63 2C 32 36 09 09 3B 73 65 74 20 64 6D vi.c,26..;set dm
0097F0: 61 20 61 64 64 72 65 73 73 20 66 75 6E 63 74 69 a address functi
009800: 6F 6E 0D 0A 09 63 61 6C 6C 09 62 64 6F 73 09 09 on...call.bdos..
009810: 3B 63 61 6C 6C 20 63 70 6D 20 74 6F 20 64 6F 20 ;call cpm to do
009820: 6E 65 65 64 65 64 20 66 75 6E 74 69 6F 6E 0D 0A needed funtion..
009830: 09 70 6F 70 09 68 09 09 3B 67 65 74 20 72 65 74 .pop.h..;get ret
009840: 75 72 6E 20 63 6F 64 65 20 66 72 6F 6D 20 73 74 urn code from st
009850: 61 63 6B 0D 0A 09 72 65 74 09 09 09 3B 61 6C 6C ack...ret...;all
009860: 20 64 6F 6E 65 20 72 65 74 75 72 6E 20 74 6F 20 done return to
009870: 63 61 6C 6C 65 72 0D 0A 3B 0D 0A 3B 09 73 65 74 caller..;..;.set
009880: 66 63 62 0D 0A 3B 0D 0A 3B 09 66 75 6E 63 74 69 fcb..;..;.functi
009890: 6F 6E 20 74 6F 20 62 75 69 6C 64 20 66 63 62 20 on to build fcb
0098A0: 66 6F 72 20 66 69 6C 65 20 6E 61 6D 65 20 70 6F for file name po
0098B0: 69 6E 74 65 64 20 74 6F 20 69 6E 20 68 6C 20 61 inted to in hl a
0098C0: 6E 64 0D 0A 3B 09 61 64 64 72 65 73 73 20 6F 66 nd..;.address of
0098D0: 20 66 63 62 20 69 6E 20 64 65 20 0D 0A 3B 0D 0A fcb in de ..;..
0098E0: 3B 09 63 61 6C 6C 69 6E 67 20 66 6F 72 6D 61 74 ;.calling format
0098F0: 20 66 72 6F 6D 20 22 43 22 0D 0A 3B 09 73 65 74 from "C"..;.set
009900: 54 72 61 63 6B 2D 49 6E 66 6F 0D 0A 00 00 00 00 Track-Info......
009910: 08 00 01 00 02 09 52 E5 08 00 C1 02 00 00 00 02 ......R.........
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: 20 6F 6E 20 6D 6F 76 65 69 6E 67 0D 0A 09 6C 78 on moveing...lx
009A10: 69 09 68 2C 30 09 09 3B 72 65 74 75 72 6E 20 66 i.h,0..;return f
009A20: 61 6C 73 65 20 69 66 20 6E 6F 20 65 72 72 6F 72 alse if no error
009A30: 73 0D 0A 09 72 65 74 0D 0A 73 65 74 66 63 62 36 s...ret..setfcb6
009A40: 3A 0D 0A 09 6C 78 69 09 68 2C 2D 31 09 09 3B 72 :...lxi.h,-1..;r
009A50: 65 74 75 72 6E 20 2D 31 20 69 66 20 62 61 64 20 eturn -1 if bad
009A60: 63 68 61 72 61 63 74 65 72 20 69 6E 20 66 69 6C character in fil
009A70: 65 20 6E 61 6D 65 0D 0A 09 72 65 74 0D 0A 3B 0D e name...ret..;.
009A80: 0A 3B 09 73 68 69 66 74 20 63 68 61 72 61 63 74 .;.shift charact
009A90: 65 72 20 74 6F 20 75 70 70 65 72 20 63 61 73 65 er to upper case
009AA0: 0D 0A 3B 0D 0A 73 65 74 66 63 62 31 30 3A 0D 0A ..;..setfcb10:..
009AB0: 09 63 70 69 09 30 36 31 68 09 09 3B 69 73 20 69 .cpi.061h..;is i
009AC0: 74 20 6C 65 73 73 20 74 68 65 6E 20 6C 6F 77 77 t less then loww
009AD0: 65 72 20 63 61 73 65 20 61 0D 0A 09 72 63 09 09 er case a...rc..
009AE0: 09 3B 79 65 73 2E 2E 2E 0D 0A 09 63 70 69 09 30 .;yes......cpi.0
009AF0: 37 61 68 09 09 3B 69 73 20 69 74 20 67 72 65 61 7ah..;is it grea
009B00: 74 65 72 20 74 68 65 6E 20 6C 6F 77 77 65 72 20 ter then lowwer
009B10: 63 61 73 65 20 7A 0D 0A 09 72 6E 63 09 09 09 3B case z...rnc...;
009B20: 79 65 73 0D 0A 09 61 6E 69 09 30 35 66 68 09 09 yes...ani.05fh..
009B30: 3B 6D 61 6B 65 20 69 74 20 6C 6F 6F 77 65 72 20 ;make it loower
009B40: 63 61 73 65 0D 0A 09 72 65 74 0D 0A 3B 0D 0A 3B case...ret..;..;
009B50: 09 73 63 61 6E 20 62 20 63 68 61 72 61 63 74 65 .scan b characte
009B60: 72 73 20 61 6E 64 20 6D 6F 76 65 20 69 6E 74 6F rs and move into
009B70: 20 66 63 62 20 63 68 65 63 6B 69 6E 67 20 66 6F fcb checking fo
009B80: 72 20 22 3F 22 20 61 6E 64 0D 0A 3B 09 62 61 64 r "?" and..;.bad
009B90: 20 63 68 61 72 61 63 74 65 72 20 69 6E 20 66 69 character in fi
009BA0: 6C 65 20 6E 61 6D 65 0D 0A 3B 0D 0A 73 65 74 66 le name..;..setf
009BB0: 63 62 31 31 3A 0D 0A 09 6D 6F 76 09 61 2C 6D 09 cb11:...mov.a,m.
009BC0: 09 3B 67 65 74 20 63 68 61 72 61 63 74 65 72 20 .;get character
009BD0: 66 6F 72 6D 20 66 69 6C 65 20 6E 61 6D 65 0D 0A form file name..
009BE0: 09 63 70 69 09 27 2A 27 09 09 3B 69 73 20 69 74 .cpi.'*'..;is it
009BF0: 20 61 20 77 69 6C 64 20 63 61 72 64 0D 0A 09 6D a wild card...m
009C00: 69 09 68 2C 30 09 09 3B 67 65 74 20 73 69 7A 65 i.h,0..;get size
009C10: 20 6F 66 20 66 72 65 65 20 6C 69 73 74 20 61 72 of free list ar
009C20: 65 61 0D 0A 09 73 74 61 09 40 62 61 73 65 5F 66 ea...sta.@base_f
009C30: 72 65 65 2B 32 09 3B 73 61 76 65 20 61 73 20 63 ree+2.;save as c
009C40: 75 72 72 65 6E 74 20 73 69 7A 65 20 6F 66 20 66 urrent size of f
009C50: 72 65 65 20 61 72 65 61 0D 0A 09 6C 78 69 09 68 ree area...lxi.h
009C60: 2C 33 30 30 30 09 09 3B 73 69 7A 65 20 6F 66 20 ,3000..;size of
009C70: 6D 65 6D 6F 72 79 20 6E 6F 74 20 74 6F 20 75 73 memory not to us
009C80: 65 0D 0A 09 73 68 6C 64 09 40 61 6C 6F 63 6D 78 e...shld.@alocmx
009C90: 09 09 3B 73 61 76 65 20 69 74 20 66 6F 72 20 6C ..;save it for l
009CA0: 61 74 65 72 20 75 73 65 0D 0A 09 72 65 74 0D 0A ater use...ret..
009CB0: 3B 0D 0A 3B 09 64 61 74 61 20 61 72 65 61 20 75 ;..;.data area u
009CC0: 73 65 64 20 66 6F 72 20 66 72 65 65 20 73 74 6F sed for free sto
009CD0: 72 61 67 65 20 6D 61 6E 67 6D 65 6E 74 0D 0A 3B rage mangment..;
009CE0: 0D 0A 40 66 72 65 65 5F 6C 69 73 74 3A 64 73 65 ..@free_list:dse
009CF0: 63 74 0D 0A 40 42 61 73 65 5F 66 72 65 65 3A 09 ct..@Base_free:.
009D00: 64 73 09 34 0D 0A 40 61 6C 6C 6F 63 70 3A 09 64 ds.4..@allocp:.d
009D10: 73 09 32 0D 0A 40 61 6C 6F 63 6D 78 09 09 64 73 s.2..@alocmx..ds
009D20: 09 32 0D 0A 3B 0D 0A 3B 09 61 72 67 6C 6F 61 64 .2..;..;.argload
009D30: 0D 0A 3B 0D 0A 3B 09 66 75 6E 63 74 69 6F 6E 20 ..;..;.function
009D40: 74 6F 20 6C 6F 61 64 20 62 63 20 77 69 74 68 20 to load bc with
009D50: 61 72 67 20 62 61 63 6B 20 33 20 64 65 20 77 69 arg back 3 de wi
009D60: 74 68 20 61 72 67 20 62 61 63 6B 20 32 20 68 6C th arg back 2 hl
009D70: 20 77 69 74 68 0D 0A 3B 09 09 20 31 20 62 61 63 with..;.. 1 bac
009D80: 6B 0D 0A 61 72 67 6C 6F 61 64 3A 63 73 65 63 74 k..argload:csect
009D90: 0D 0A 09 6C 78 69 09 68 2C 38 09 09 3B 6F 66 66 ...lxi.h,8..;off
009DA0: 73 65 74 20 69 6E 20 73 74 61 63 6B 20 66 6F 72 set in stack for
009DB0: 20 61 72 67 20 66 6F 72 20 62 63 0D 0A 09 64 61 arg for bc...da
009DC0: 64 09 73 70 09 09 3B 61 64 64 20 74 6F 20 73 74 d.sp..;add to st
009DD0: 61 63 6B 20 70 6F 69 6E 74 65 72 0D 0A 09 6D 6F ack pointer...mo
009DE0: 76 09 63 2C 6D 0D 0A 09 69 6E 78 09 68 0D 0A 09 v.c,m...inx.h...
009DF0: 6D 6F 76 09 62 2C 6D 0D 0A 09 69 6E 78 09 68 0D mov.b,m...inx.h.
009E00: 76 69 09 61 2C 27 3F 27 09 09 3B 79 65 73 20 6D vi.a,'?'..;yes m
009E10: 61 6B 65 20 69 74 20 61 6C 6C 20 3F 3F 3F 0D 0A ake it all ???..
009E20: 09 6A 7A 09 73 65 74 66 63 62 31 31 34 09 3B 6D .jz.setfcb114.;m
009E30: 61 6B 65 20 61 6C 6C 20 3F 3F 3F 0D 0A 73 65 74 ake all ???..set
009E40: 66 63 62 31 31 32 3A 0D 0A 09 6D 6F 76 09 61 2C fcb112:...mov.a,
009E50: 6D 09 09 3B 67 65 74 20 63 68 61 72 61 63 74 65 m..;get characte
009E60: 72 20 74 6F 20 63 68 65 63 6B 0D 0A 09 63 61 6C r to check...cal
009E70: 6C 09 73 65 74 66 63 62 31 32 09 3B 67 65 74 20 l.setfcb12.;get
009E80: 61 6E 64 20 63 68 65 63 6B 20 74 6F 20 73 65 65 and check to see
009E90: 20 69 66 20 76 61 69 6C 64 09 09 0D 0A 09 6A 63 if vaild.....jc
009EA0: 09 73 65 74 66 63 62 31 31 33 09 3B 6E 6F 2E 2E .setfcb113.;no..
009EB0: 2E 2E 0D 0A 09 73 74 61 78 09 64 09 09 3B 73 61 .....stax.d..;sa
009EC0: 76 65 20 63 68 61 72 61 63 74 65 72 20 69 6E 20 ve character in
009ED0: 66 63 62 0D 0A 09 69 6E 78 09 68 09 09 3B 6D 6F fcb...inx.h..;mo
009EE0: 76 65 20 62 6F 74 68 20 70 6F 69 6E 74 65 72 73 ve both pointers
009EF0: 20 75 70 20 62 79 20 31 20 62 79 65 0D 0A 09 69 up by 1 bye...i
009F00: 6E 78 09 64 0D 0A 09 64 63 72 09 62 09 09 3B 73 nx.d...dcr.b..;s
009F10: 65 65 20 69 66 20 20 64 6F 6E 65 20 77 69 74 68 ee if done with
009F20: 20 66 69 6C 65 20 6E 61 6D 65 0D 0A 09 6A 6E 7A file name...jnz
009F30: 09 73 65 74 66 63 62 31 31 09 3B 6E 6F 20 6B 65 .setfcb11.;no ke
009F40: 65 70 20 6F 6E 20 6D 6F 76 65 69 6E 67 0D 0A 09 ep on moveing...
009F50: 6A 6D 70 09 73 65 74 66 63 62 31 31 35 09 3B 64 jmp.setfcb115.;d
009F60: 6F 6E 65 20 77 69 74 68 20 66 69 6C 65 20 6C 6F one with file lo
009F70: 6F 6B 20 66 6F 72 20 65 6E 64 69 6E 67 20 63 68 ok for ending ch
009F80: 61 72 0D 0A 73 65 74 66 63 62 31 31 33 3A 0D 0A ar..setfcb113:..
009F90: 09 6F 72 61 09 61 09 09 3B 63 68 65 63 6B 20 74 .ora.a..;check t
009FA0: 6F 20 73 65 65 20 69 66 20 65 6E 64 20 6F 66 20 o see if end of
009FB0: 66 69 6C 65 20 6E 61 6D 65 0D 0A 09 6A 7A 09 73 file name...jz.s
009FC0: 65 74 66 63 62 31 31 33 61 09 3B 79 65 73 2E 2E etfcb113a.;yes..
009FD0: 2E 0D 0A 09 63 70 69 09 27 2E 27 09 09 3B 63 68 ....cpi.'.'..;ch
009FE0: 65 63 6B 20 66 6F 72 20 64 65 6C 69 6D 74 65 72 eck for delimter
009FF0: 0D 0A 09 72 6E 7A 09 09 09 3B 6E 6F 20 72 65 74 ...rnz...;no ret
00A000: 0A 09 6D 6F 76 09 65 2C 6D 0D 0A 09 69 6E 78 09 ..mov.e,m...inx.
00A010: 68 0D 0A 09 6D 6F 76 09 64 2C 6D 0D 0A 09 69 6E h...mov.d,m...in
00A020: 78 09 68 0D 0A 09 6D 6F 76 09 61 2C 6D 0D 0A 09 x.h...mov.a,m...
00A030: 69 6E 78 09 68 0D 0A 09 6D 6F 76 09 68 2C 6D 0D inx.h...mov.h,m.
00A040: 0A 09 6D 6F 76 09 6C 2C 61 0D 0A 09 72 65 74 0D ..mov.l,a...ret.
00A050: 0A 0D 0A 0D 0A 1A 1A 69 6E 78 09 68 0D 0A 09 6D .......inx.h...m
00A060: 6F 76 09 68 2C 6D 0D 0A 09 6D 6F 76 09 6C 2C 61 ov.h,m...mov.l,a
00A070: 0D 0A 09 72 65 74 0D 0A 0D 0A 0D 0A 1A 09 73 74 ...ret........st
00A080: 2A 73 05 EB 0E 15 CD 05 00 B7 2A 75 05 C2 9E 31 *s........*u...1
00A090: 23 22 75 05 2A A3 05 2B 22 A3 05 C3 62 31 C1 C9 #"u.*£.+"£..b1..
00A0A0: 3A 77 05 B7 6F CA AF 31 AF 32 77 05 26 00 C9 C5 :w..o..1.2w.&...
00A0B0: 0E 01 CD 05 00 C1 FE 03 CA 00 00 FE 1A 21 FF FF .............!..
00A0C0: C8 6F FE 0D C2 D2 31 C5 0E 02 1E 0A CD 05 00 C1 .o....1.........
00A0D0: 2E 0A 26 00 C9 CD 37 03 C5 3A 9F 05 4F 2A A1 05 ..&...7..:..O*..
00A0E0: EB CD 05 00 6F 60 C1 C9 1A 1A 1A 1A 1A 1A 1A 1A ....o`..........
00A0F0: 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 05 ................
00A100: 00 FF FF FF FF 00 00 00 00 FF FF FF FF 00 00 00 ................
00A110: 00 FF FF FF FF 00 00 00 00 00 00 00 00 FF FF FF ................
00A120: FF 00 00 00 00 FF FF FF FF 00 00 00 00 FF FF FF ................
00A130: FF 00 00 00 00 FF FF FF FF 00 00 00 00 FF FF FF ................
00A140: FF 00 00 00 00 FF FF FF FF 00 00 00 00 FF FF FF ................
00A150: FF 00 00 00 00 FF FF FF FF 00 00 00 00 FF FF FF ................
00A160: FF 00 00 00 00 FF FF FF FF 00 00 00 00 FF FF FF ................
00A170: FF 00 00 00 00 FF FF FF FF 00 00 00 00 FF FF FF ................
00A180: FF 00 00 00 00 FF FF FF FF 00 00 00 00 FF FF FF ................
00A190: FF 00 00 00 00 FF FF FF FF FF FF FF FF 00 00 00 ................
00A1A0: 00 FF FF FF FF 00 00 00 00 FF FF FF FF 00 00 00 ................
00A1B0: 00 FF FF FF FF 00 00 00 00 FF FF FF FF 00 00 00 ................
00A1C0: 00 FF FF FF FF 00 00 00 00 FF FF FF FF 00 00 00 ................
00A1D0: 00 FF FF FF FF 00 00 00 00 FF FF FF FF 00 00 00 ................
00A1E0: 00 FF FF FF FF 00 00 00 00 FF FF FF FF 00 00 00 ................
00A1F0: 00 FF FF FF FF 00 00 00 00 FF FF FF FF 00 00 00 ................
00A200: 75 72 6E 20 61 6E 64 20 73 68 6F 77 20 65 72 72 urn and show err
00A210: 6F 72 0D 0A 73 65 74 66 63 62 31 31 33 61 3A 0D or..setfcb113a:.
00A220: 0A 09 6D 76 69 09 61 2C 27 20 27 09 09 3B 64 6F ..mvi.a,' '..;do
00A230: 6E 65 20 77 69 74 68 20 66 69 65 6C 64 20 20 70 ne with field p
00A240: 61 64 20 77 69 74 68 20 62 6C 61 6E 6B 73 0D 0A ad with blanks..
00A250: 73 65 74 66 63 62 31 31 34 3A 0D 0A 09 73 74 61 setfcb114:...sta
00A260: 78 09 64 09 09 3B 66 69 6C 6C 20 66 63 62 20 77 x.d..;fill fcb w
00A270: 69 74 68 20 76 61 6C 75 65 0D 0A 09 69 6E 78 09 ith value...inx.
00A280: 64 09 09 3B 6D 6F 76 65 20 74 6F 20 6E 65 78 74 d..;move to next
00A290: 20 62 79 74 65 20 6F 66 20 66 63 62 0D 0A 09 64 byte of fcb...d
00A2A0: 63 72 09 62 09 09 3B 73 65 65 20 69 66 20 64 6F cr.b..;see if do
00A2B0: 6E 65 20 77 69 74 68 20 6D 6F 76 65 0D 0A 09 6A ne with move...j
00A2C0: 6E 7A 09 73 65 74 66 63 62 31 31 34 09 3B 6E 6F nz.setfcb114.;no
00A2D0: 20 6B 65 65 70 20 6F 6E 20 66 69 6C 6C 69 6E 67 keep on filling
00A2E0: 0D 0A 73 65 74 66 63 62 31 31 35 3A 0D 0A 09 6D ..setfcb115:...m
00A2F0: 6F 76 09 61 2C 6D 09 09 3B 67 65 74 20 63 68 61 ov.a,m..;get cha
00A300: 72 61 63 74 65 72 20 66 72 6F 6D 20 66 69 6C 65 racter from file
00A310: 20 6E 61 6D 65 0D 0A 09 6F 72 61 09 61 0D 0A 09 name...ora.a...
00A320: 72 7A 0D 0A 09 63 70 69 09 27 2E 27 09 09 3B 63 rz...cpi.'.'..;c
00A330: 68 65 63 6B 20 66 6F 72 20 27 2E 27 0D 0A 09 72 heck for '.'...r
00A340: 7A 0D 0A 09 69 6E 78 09 68 0D 0A 09 6A 6D 70 09 z...inx.h...jmp.
00A350: 73 65 74 66 63 62 31 31 35 09 3B 6E 6F 74 20 65 setfcb115.;not e
00A360: 6E 64 69 6E 67 20 63 68 61 72 61 63 74 65 72 20 nding character
00A370: 6B 65 65 70 20 6F 6E 20 6C 6F 6F 6B 69 6E 67 0D keep on looking.
00A380: 0A 3B 0D 0A 3B 09 63 68 65 63 6B 20 74 6F 20 73 .;..;.check to s
00A390: 65 65 20 69 66 20 76 61 69 6C 64 20 63 68 61 72 ee if vaild char
00A3A0: 61 63 74 65 72 20 66 6F 72 20 66 63 62 20 61 2D acter for fcb a-
00A3B0: 7A 20 61 6E 64 20 30 2D 39 20 6F 6E 6C 79 0D 0A z and 0-9 only..
00A3C0: 3B 09 73 65 74 20 63 61 72 72 79 20 69 66 20 6E ;.set carry if n
00A3D0: 6F 74 20 61 20 76 61 69 6C 64 20 63 68 61 72 61 ot a vaild chara
00A3E0: 63 74 65 72 20 6F 74 68 65 72 77 69 73 65 20 72 cter otherwise r
00A3F0: 65 73 65 74 20 63 61 72 72 79 0D 0A 3B 0D 0A 73 eset carry..;..s
00A400: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
00A410: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
00A420: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
00A430: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
00A440: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
00A450: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
00A460: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
00A470: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
00A480: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
00A490: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
00A4A0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
00A4B0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
00A4C0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
00A4D0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
00A4E0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
00A4F0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
00A500: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
00A510: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
00A520: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
00A530: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
00A540: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
00A550: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
00A560: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
00A570: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
00A580: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
00A590: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
00A5A0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
00A5B0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
00A5C0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
00A5D0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
00A5E0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
00A5F0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
00A600: 65 74 66 63 62 31 32 3A 0D 0A 09 63 61 6C 6C 09 etfcb12:...call.
00A610: 73 65 74 66 63 62 31 30 09 3B 75 70 70 65 72 20 setfcb10.;upper
00A620: 63 61 73 65 20 63 68 61 72 61 63 74 65 72 0D 0A case character..
00A630: 09 63 70 69 09 27 3F 27 09 09 3B 77 69 6C 64 20 .cpi.'?'..;wild
00A640: 63 61 72 64 20 63 68 61 72 61 63 74 65 72 0D 0A card character..
00A650: 09 6A 7A 09 73 65 74 66 63 62 31 32 31 09 3B 79 .jz.setfcb121.;y
00A660: 65 73 20 76 61 69 6C 64 20 63 68 61 72 61 63 74 es vaild charact
00A670: 65 72 0D 0A 09 63 70 69 09 27 24 27 09 09 3B 6E er...cpi.'$'..;n
00A680: 65 65 64 65 64 20 66 6F 72 20 73 75 62 6D 69 74 eeded for submit
00A690: 20 66 69 6C 65 73 0D 0A 09 6A 7A 09 73 65 74 66 files...jz.setf
00A6A0: 63 62 31 32 31 09 3B 79 65 73 20 76 61 6C 69 64 cb121.;yes valid
00A6B0: 20 63 68 61 72 61 63 74 65 72 0D 0A 09 63 70 69 character...cpi
00A6C0: 09 27 30 27 09 09 3B 69 73 20 69 74 20 6C 65 73 .'0'..;is it les
00A6D0: 73 20 74 68 65 6E 20 27 30 27 0D 0A 09 72 63 09 s then '0'...rc.
00A6E0: 09 09 3B 79 65 73 20 65 72 72 6F 72 20 69 6E 76 ..;yes error inv
00A6F0: 61 69 6C 64 20 63 68 61 72 61 63 74 65 72 0D 0A aild character..
00A700: 09 63 70 69 09 27 39 27 2B 31 09 09 3B 69 73 20 .cpi.'9'+1..;is
00A710: 69 74 20 67 72 65 61 74 65 72 20 74 68 65 6E 20 it greater then
00A720: 30 20 61 6E 64 20 6C 65 73 73 20 74 68 65 6E 20 0 and less then
00A730: 65 71 20 39 0D 0A 09 6A 63 09 73 65 74 66 63 62 eq 9...jc.setfcb
00A740: 31 32 31 09 3B 79 65 73 20 76 61 69 6C 64 20 63 121.;yes vaild c
00A750: 68 61 72 61 63 74 65 72 0D 0A 09 63 70 69 09 27 haracter...cpi.'
00A760: 41 27 09 09 3B 69 73 20 69 74 20 6C 65 73 73 20 A'..;is it less
00A770: 74 68 65 6E 20 27 41 27 0D 0A 09 72 63 09 09 09 then 'A'...rc...
00A780: 3B 79 65 73 20 65 72 72 6F 72 20 62 65 74 77 65 ;yes error betwe
00A790: 65 6E 20 27 39 27 20 61 6E 64 20 27 41 27 0D 0A en '9' and 'A'..
00A7A0: 09 63 70 69 09 27 5A 27 2B 31 09 09 3B 69 73 20 .cpi.'Z'+1..;is
00A7B0: 69 74 20 62 65 74 77 65 65 6E 20 27 41 27 20 61 it between 'A' a
00A7C0: 6E 64 20 27 5A 27 20 0D 0A 09 63 6D 63 09 09 09 nd 'Z' ...cmc...
00A7D0: 3B 66 6C 6F 70 20 63 61 72 72 79 20 62 69 74 0D ;flop carry bit.
00A7E0: 0A 09 72 65 74 0D 0A 73 65 74 66 63 62 31 32 31 ..ret..setfcb121
00A7F0: 3A 0D 0A 09 73 74 63 09 09 09 3B 73 65 74 20 63 :...stc...;set c
00A800: 2F 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A /***************
00A810: 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A ****************
00A820: 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A ****************
00A830: 2A 2A 2A 2A 2A 2A 2A 2A 2A 2F 0D 0A 2F 2A 09 09 *********/../*..
00A840: 09 09 09 09 09 2A 2F 0D 0A 2F 2A 09 63 6F 70 79 .....*/../*.copy
00A850: 72 69 67 68 74 28 63 29 20 31 39 38 31 20 42 79 right(c) 1981 By
00A860: 20 4D 69 6B 65 20 42 65 72 6E 73 6F 6E 09 09 2A Mike Bernson..*
00A870: 2F 0D 0A 2F 2A 09 09 09 09 09 09 09 2A 2F 0D 0A /../*.......*/..
00A880: 2F 2A 09 73 75 62 6D 69 74 20 63 6F 6D 6D 61 6E /*.submit comman
00A890: 64 20 66 6F 72 20 63 70 6D 20 32 2E 78 09 09 09 d for cpm 2.x...
00A8A0: 2A 2F 0D 0A 2F 2A 09 72 65 61 64 20 69 6E 70 75 */../*.read inpu
00A8B0: 74 20 66 69 6C 65 20 61 6E 64 20 63 6F 6E 76 65 t file and conve
00A8C0: 72 74 20 74 6F 20 24 24 24 2E 73 75 62 20 77 69 rt to $$$.sub wi
00A8D0: 74 68 09 2A 2F 0D 0A 2F 2A 09 24 31 2D 24 39 20 th.*/../*.$1-$9
00A8E0: 74 6F 20 70 72 61 6D 20 66 72 6F 6D 20 63 6F 6D to pram from com
00A8F0: 61 6E 64 20 6C 69 6E 65 20 61 6E 64 20 63 6F 6E and line and con
00A900: 76 65 72 74 09 2A 2F 0D 0A 2F 2A 09 5E 61 20 74 vert.*/../*.^a t
00A910: 6F 20 63 6F 6E 74 72 6F 6C 20 63 68 61 72 61 63 o control charac
00A920: 74 65 72 09 09 09 09 2A 2F 0D 0A 2F 2A 09 09 09 ter....*/../*...
00A930: 09 09 09 09 2A 2F 0D 0A 2F 2A 2A 2A 2A 2A 2A 2A ....*/../*******
00A940: 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A ****************
00A950: 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A ****************
00A960: 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A ****************
00A970: 2A 2F 0D 0A 0D 0A 23 64 65 66 69 6E 65 20 45 52 */....#define ER
00A980: 52 4F 52 09 2D 31 09 09 2F 2A 20 65 72 72 6F 72 ROR.-1../* error
00A990: 20 72 65 74 75 72 6E 20 76 61 6C 75 65 20 2A 2F return value */
00A9A0: 0D 0A 23 64 65 66 69 6E 65 20 4C 46 09 30 78 30 ..#define LF.0x0
00A9B0: 61 09 09 2F 2A 20 76 61 6C 75 65 20 75 73 65 64 a../* value used
00A9C0: 20 66 6F 72 20 6C 69 6E 65 20 66 65 65 64 20 2A for line feed *
00A9D0: 2F 0D 0A 23 64 65 66 69 6E 65 20 43 52 09 30 78 /..#define CR.0x
00A9E0: 30 64 09 09 2F 2A 20 76 61 6C 75 65 20 75 73 65 0d../* value use
00A9F0: 64 20 66 6F 72 20 72 65 74 75 72 6E 20 2A 2F 0D d for return */.
00AA00: 61 72 72 79 20 66 6C 61 67 0D 0A 09 63 6D 63 09 arry flag...cmc.
00AA10: 09 09 3B 73 65 74 20 63 61 72 72 79 20 6F 66 66 ..;set carry off
00AA20: 0D 0A 09 72 65 74 0D 0A 3B 0D 0A 3B 09 72 73 76 ...ret..;..;.rsv
00AA30: 73 74 6B 0D 0A 3B 0D 0A 3B 09 66 75 6E 63 74 69 stk..;..;.functi
00AA40: 6F 6E 3A 20 74 6F 20 73 65 74 20 68 6F 77 20 63 on: to set how c
00AA50: 6C 6F 73 65 20 74 6F 20 67 6F 20 74 6F 20 6D 61 lose to go to ma
00AA60: 63 68 69 6E 65 20 73 74 61 63 6B 20 70 6F 69 6E chine stack poin
00AA70: 74 65 72 0D 0A 3B 0D 0A 3B 09 63 61 6C 6C 69 6E ter..;..;.callin
00AA80: 67 20 66 6F 72 6D 61 74 20 69 6E 20 22 43 22 0D g format in "C".
00AA90: 0A 3B 09 72 73 76 73 74 6B 28 61 6D 6F 75 6E 74 .;.rsvstk(amount
00AAA0: 29 3B 0D 0A 3B 0D 0A 72 73 76 73 74 6B 3A 09 63 );..;..rsvstk:.c
00AAB0: 73 65 63 74 0D 0A 09 73 68 6C 64 09 40 61 6C 6F sect...shld.@alo
00AAC0: 63 6D 78 09 09 3B 73 61 76 65 20 6E 75 6D 62 65 cmx..;save numbe
00AAD0: 72 20 6F 66 20 62 79 74 65 73 20 6E 6F 74 20 74 r of bytes not t
00AAE0: 6F 20 75 73 65 64 0D 0A 09 72 65 74 0D 0A 3B 0D o used...ret..;.
00AAF0: 0A 3B 09 73 74 6F 72 69 6E 69 74 0D 0A 3B 0D 0A .;.storinit..;..
00AB00: 3B 09 66 75 6E 63 74 69 6F 6E 3A 20 74 6F 20 69 ;.function: to i
00AB10: 6E 69 74 20 73 74 72 6F 61 67 65 20 61 6C 6C 6F nit stroage allo
00AB20: 63 61 74 69 6F 6E 20 73 79 73 74 65 6D 0D 0A 3B cation system..;
00AB30: 0D 0A 3B 09 63 61 6C 6C 69 6E 67 20 66 6F 72 6D ..;.calling form
00AB40: 61 74 20 66 72 6F 6D 20 22 63 22 0D 0A 3B 09 73 at from "c"..;.s
00AB50: 74 6F 72 69 6E 69 74 28 29 3B 0D 0A 3B 0D 0A 73 torinit();..;..s
00AB60: 74 6F 72 69 6E 69 74 3A 63 73 65 63 74 0D 0A 09 torinit:csect...
00AB70: 6C 78 69 09 68 2C 40 62 61 73 65 5F 66 72 65 65 lxi.h,@base_free
00AB80: 09 3B 67 65 74 20 61 64 64 72 65 73 73 20 6F 66 .;get address of
00AB90: 20 73 74 61 72 74 20 6F 66 20 66 72 65 65 20 6C start of free l
00ABA0: 69 73 74 0D 0A 09 73 68 6C 64 09 40 62 61 73 65 ist...shld.@base
00ABB0: 5F 66 72 65 65 09 3B 73 61 76 65 20 61 73 20 66 _free.;save as f
00ABC0: 69 72 73 74 20 65 6C 65 6D 65 6E 74 0D 0A 09 73 irst element...s
00ABD0: 68 6C 64 09 40 61 6C 6C 6F 63 70 09 09 3B 73 61 hld.@allocp..;sa
00ABE0: 76 65 20 61 73 20 70 6F 69 6E 74 65 72 20 74 6F ve as pointer to
00ABF0: 20 6C 61 73 74 20 62 6C 6F 63 6B 0D 0A 09 6C 78 last block...lx
00AC00: 54 72 61 63 6B 2D 49 6E 66 6F 0D 0A 00 00 00 00 Track-Info......
00AC10: 09 00 01 00 02 09 52 E5 09 00 C1 02 00 00 00 02 ......R.........
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: 0A 23 64 65 66 69 6E 65 20 45 4E 44 46 49 4C 45 .#define ENDFILE
00AD10: 09 30 78 31 61 09 09 2F 2A 20 76 61 6C 75 65 20 .0x1a../* value
00AD20: 75 73 65 64 20 66 6F 72 20 65 6E 64 20 6F 66 20 used for end of
00AD30: 66 69 6C 65 20 2A 2F 0D 0A 0D 0A 63 68 61 72 20 file */....char
00AD40: 69 6E 66 63 62 5B 33 36 5D 3B 09 09 09 2F 2A 20 infcb[36];.../*
00AD50: 70 6F 69 6E 74 65 72 20 74 6F 20 69 6E 70 75 74 pointer to input
00AD60: 20 66 63 62 20 2A 2F 0D 0A 63 68 61 72 20 6F 75 fcb */..char ou
00AD70: 74 66 63 62 5B 33 36 5D 3B 09 09 2F 2A 20 6F 75 tfcb[36];../* ou
00AD80: 74 70 75 74 20 66 63 62 20 2A 2F 0D 0A 0D 0A 63 tput fcb */....c
00AD90: 68 61 72 20 2A 70 72 74 3B 09 09 09 2F 2A 20 6A har *prt;.../* j
00ADA0: 75 73 74 20 61 20 73 70 61 72 65 20 70 6F 69 6E ust a spare poin
00ADB0: 74 65 72 20 2A 2F 0D 0A 69 6E 74 20 20 69 6E 70 ter */..int inp
00ADC0: 6F 66 66 3B 09 09 09 2F 2A 20 69 6E 70 75 74 20 off;.../* input
00ADD0: 62 75 66 66 65 72 20 6F 66 66 73 65 74 20 2A 2F buffer offset */
00ADE0: 0D 0A 69 6E 74 20 20 6F 75 74 6F 66 66 3B 09 09 ..int outoff;..
00ADF0: 09 2F 2A 20 6F 75 74 70 75 74 20 62 75 66 66 65 ./* output buffe
00AE00: 72 20 6F 66 66 73 65 74 20 2A 2F 0D 0A 0D 0A 69 r offset */....i
00AE10: 6E 74 20 20 6C 69 6E 65 3B 09 09 09 2F 2A 20 63 nt line;.../* c
00AE20: 75 72 72 65 6E 74 20 6C 69 6E 65 20 6E 75 6D 62 urrent line numb
00AE30: 65 72 20 2A 2F 0D 0A 0D 0A 63 68 61 72 20 69 6E er */....char in
00AE40: 62 75 66 66 5B 31 32 38 5D 3B 09 09 2F 2A 20 69 buff[128];../* i
00AE50: 6E 70 75 74 20 62 75 66 66 65 72 20 2A 2F 0D 0A nput buffer */..
00AE60: 63 68 61 72 20 6F 75 74 62 75 66 66 5B 31 37 30 char outbuff[170
00AE70: 30 30 5D 3B 09 09 2F 2A 20 6F 75 74 70 75 74 20 00];../* output
00AE80: 62 75 66 66 65 72 20 2A 2F 0D 0A 0D 0A 2F 2A 2A buffer */..../**
00AE90: 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A ****************
00AEA0: 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A ****************
00AEB0: 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A ****************
00AEC0: 2A 2A 2A 2A 2A 2A 2F 0D 0A 2F 2A 09 09 09 09 09 ******/../*.....
00AED0: 09 09 2A 2F 0D 0A 2F 2A 09 6D 61 69 6E 09 09 09 ..*/../*.main...
00AEE0: 09 09 09 2A 2F 0D 0A 2F 2A 09 09 09 09 09 09 09 ...*/../*.......
00AEF0: 2A 2F 0D 0A 2F 2A 09 66 75 6E 63 74 69 6F 6E 3A */../*.function:
00AF00: 0A 09 09 09 72 65 74 75 72 6E 3B 0D 0A 09 0D 0A ....return;.....
00AF10: 09 09 2F 2A 20 6C 69 6E 65 09 66 65 65 64 20 69 ../* line.feed i
00AF20: 6E 67 6F 72 65 20 2A 2F 0D 0A 09 09 63 61 73 65 ngore */....case
00AF30: 20 4C 46 20 3A 0D 0A 09 09 09 62 72 65 61 6B 3B LF :.....break;
00AF40: 0D 0A 09 09 0D 0A 09 09 2F 2A 20 6D 75 73 74 20 ......../* must
00AF50: 62 65 20 61 20 76 69 61 6C 64 20 63 6A 61 72 61 be a viald cjara
00AF60: 63 74 65 72 20 70 75 74 20 69 6E 20 6F 75 74 70 cter put in outp
00AF70: 75 74 20 62 75 66 66 65 72 20 2A 2F 0D 0A 09 09 ut buffer */....
00AF80: 64 65 66 61 75 6C 74 3A 0D 0A 09 09 09 70 75 74 default:.....put
00AF90: 62 75 66 66 28 63 75 72 72 65 6E 74 29 3B 0D 0A buff(current);..
00AFA0: 09 09 7D 7D 0D 0A 09 7D 0D 0A 0D 0A 2F 2A 2A 2A ..}}...}..../***
00AFB0: 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A ****************
00AFC0: 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A ****************
00AFD0: 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A ****************
00AFE0: 2A 2A 2A 2A 2A 2F 0D 0A 2F 2A 09 09 09 09 09 09 *****/../*......
00AFF0: 09 2A 2F 0D 0A 2F 2A 09 64 6F 6F 75 74 70 75 74 .*/../*.dooutput
00B000: 09 09 09 09 09 2A 2F 0D 0A 2F 2A 09 09 09 09 09 .....*/../*.....
00B010: 09 09 2A 2F 0D 0A 2F 2A 09 66 75 6E 63 74 69 6F ..*/../*.functio
00B020: 6E 3A 09 74 6F 20 77 72 69 74 65 20 6F 75 74 70 n:.to write outp
00B030: 75 74 20 72 65 63 6F 72 64 20 74 6F 20 64 69 73 ut record to dis
00B040: 6B 09 2A 2F 0D 0A 2F 2A 09 09 09 70 75 74 20 63 k.*/../*...put c
00B050: 68 61 72 61 63 74 65 72 20 63 6F 75 6E 74 20 61 haracter count a
00B060: 74 20 6F 66 66 73 65 74 20 30 20 2A 2F 0D 0A 2F t offset 0 */../
00B070: 2A 09 09 09 09 09 09 09 2A 2F 0D 0A 2F 2A 09 64 *.......*/../*.d
00B080: 61 74 65 20 77 72 69 74 74 65 6E 3A 09 64 65 63 ate written:.dec
00B090: 20 31 36 2C 20 31 39 38 30 20 42 79 20 4D 69 6B 16, 1980 By Mik
00B0A0: 65 20 42 65 72 6E 73 6F 6E 09 2A 2F 0D 0A 2F 2A e Bernson.*/../*
00B0B0: 09 09 09 09 09 09 09 2A 2F 0D 0A 2F 2A 2A 2A 2A .......*/../****
00B0C0: 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A ****************
00B0D0: 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A ****************
00B0E0: 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A ****************
00B0F0: 2A 2A 2A 2A 2F 0D 0A 64 6F 6F 75 74 70 75 74 28 ****/..dooutput(
00B100: 09 6F 70 65 6E 20 69 6E 70 75 74 20 61 6E 64 20 .open input and
00B110: 6F 75 74 70 75 74 20 64 61 74 61 20 66 69 6C 65 output data file
00B120: 20 2A 2F 0D 0A 2F 2A 09 09 09 61 6C 73 6F 20 70 */../*...also p
00B130: 72 6F 63 65 73 73 20 64 61 74 61 20 61 6E 64 20 rocess data and
00B140: 6F 75 74 70 75 74 09 2A 2F 0D 0A 2F 2A 09 09 09 output.*/../*...
00B150: 64 61 74 61 20 74 6F 20 24 24 24 2E 73 75 62 20 data to $$$.sub
00B160: 61 6E 64 20 73 65 74 20 6C 6F 63 20 38 20 66 66 and set loc 8 ff
00B170: 2A 2F 0D 0A 2F 2A 09 09 09 09 09 09 09 2A 2F 0D */../*.......*/.
00B180: 0A 2F 2A 09 44 61 74 65 20 77 72 69 74 74 65 6E ./*.Date written
00B190: 3A 09 4A 61 6E 20 32 38 2C 20 31 39 38 31 20 62 :.Jan 28, 1981 b
00B1A0: 79 20 4D 69 6B 65 20 42 65 72 6E 73 6F 6E 09 2A y Mike Bernson.*
00B1B0: 2F 0D 0A 2F 2A 09 09 09 09 09 09 09 2A 2F 0D 0A /../*.......*/..
00B1C0: 2F 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A /***************
00B1D0: 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A ****************
00B1E0: 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A ****************
00B1F0: 2A 2A 2A 2A 2A 2A 2A 2A 2A 2F 0D 0A 6D 61 69 6E *********/..main
00B200: 28 61 72 67 63 2C 61 72 67 76 29 0D 0A 69 6E 74 (argc,argv)..int
00B210: 20 61 72 67 63 3B 09 09 2F 2A 20 6E 75 6D 62 65 argc;../* numbe
00B220: 72 20 6F 66 20 61 72 67 20 6F 6E 20 63 6F 6D 6D r of arg on comm
00B230: 61 6E 64 20 6C 69 6E 65 20 2B 31 20 2A 2F 0D 0A and line +1 */..
00B240: 69 6E 74 20 61 72 67 76 5B 5D 3B 09 09 2F 2A 20 int argv[];../*
00B250: 70 6F 69 6E 74 65 72 20 74 6F 20 65 61 63 68 20 pointer to each
00B260: 61 72 67 20 6F 6E 20 63 6F 6D 6D 61 6E 64 20 6C arg on command l
00B270: 69 6E 65 20 2A 2F 0D 0A 7B 0D 0A 09 63 68 61 72 ine */..{...char
00B280: 20 66 69 6C 65 6E 61 6D 65 5B 31 33 32 5D 3B 09 filename[132];.
00B290: 2F 2A 20 68 6F 6C 64 20 69 6E 70 75 74 20 66 69 /* hold input fi
00B2A0: 6C 65 20 6E 61 6D 65 20 2A 2F 0D 0A 09 0D 0A 09 le name */......
00B2B0: 73 74 72 63 70 79 28 66 69 6C 65 6E 61 6D 65 2C strcpy(filename,
00B2C0: 61 72 67 76 5B 31 5D 29 3B 0D 0A 09 73 74 72 63 argv[1]);...strc
00B2D0: 61 74 28 66 69 6C 65 6E 61 6D 65 2C 22 2E 73 75 at(filename,".su
00B2E0: 62 22 29 3B 0D 0A 0D 0A 09 69 66 20 28 6F 70 65 b");.....if (ope
00B2F0: 6E 28 69 6E 66 63 62 2C 66 69 6C 65 6E 61 6D 65 n(infcb,filename
00B300: 29 0D 0A 7B 0D 0A 09 6F 75 74 62 75 66 66 5B 28 )..{...outbuff[(
00B310: 6C 69 6E 65 2D 31 29 2A 31 32 38 5D 3D 6F 75 74 line-1)*128]=out
00B320: 6F 66 66 2D 31 3B 20 2F 2A 20 63 68 61 72 61 63 off-1; /* charac
00B330: 74 65 72 20 63 6F 75 6E 74 20 2A 2F 0D 0A 0D 0A ter count */....
00B340: 09 2F 2A 20 7A 65 72 6F 20 62 75 66 66 65 72 20 ./* zero buffer
00B350: 74 69 6C 6C 20 65 6E 64 20 2A 2F 0D 0A 09 77 68 till end */...wh
00B360: 69 6C 65 28 6F 75 74 6F 66 66 3C 31 32 38 29 20 ile(outoff<128)
00B370: 70 75 74 62 75 66 66 28 30 29 3B 0D 0A 09 69 66 putbuff(0);...if
00B380: 20 28 2B 2B 6C 69 6E 65 3E 31 34 38 29 09 65 72 (++line>148).er
00B390: 72 6F 72 28 22 54 6F 6F 20 6D 61 6E 79 09 6C 69 ror("Too many.li
00B3A0: 6E 65 73 22 29 3B 0D 0A 09 7D 0D 0A 0D 0A 2F 2A nes");...}..../*
00B3B0: 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A ****************
00B3C0: 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A ****************
00B3D0: 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A ****************
00B3E0: 2A 2A 2A 2A 2A 2A 2A 2F 0D 0A 2F 2A 09 09 09 09 *******/../*....
00B3F0: 09 09 09 2A 2F 0D 0A 2F 2A 09 64 6F 6E 65 09 09 ...*/../*.done..
00B400: 09 09 09 09 2A 2F 0D 0A 2F 2A 09 09 09 09 09 09 ....*/../*......
00B410: 09 2A 2F 0D 0A 2F 2A 09 66 75 6E 63 74 69 6F 6E .*/../*.function
00B420: 3A 09 74 6F 20 77 72 69 74 65 20 6F 75 74 70 75 :.to write outpu
00B430: 74 20 62 75 66 66 65 72 20 6F 75 74 09 2A 2F 0D t buffer out.*/.
00B440: 0A 2F 2A 09 09 09 69 6E 20 62 61 63 6B 77 61 72 ./*...in backwar
00B450: 64 20 72 65 63 6F 72 64 20 66 6F 72 6D 61 74 09 d record format.
00B460: 2A 2F 0D 0A 2F 2A 09 09 09 09 09 09 09 2A 2F 0D */../*.......*/.
00B470: 0A 2F 2A 09 44 61 74 65 20 77 72 69 74 74 65 6E ./*.Date written
00B480: 3A 09 44 65 63 20 31 36 2C 20 31 39 38 30 20 42 :.Dec 16, 1980 B
00B490: 79 20 4D 69 6B 65 20 42 65 72 6E 73 6F 6E 09 2A y Mike Bernson.*
00B4A0: 2F 0D 0A 2F 2A 09 09 09 09 09 09 09 2A 2F 0D 0A /../*.......*/..
00B4B0: 2F 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A /***************
00B4C0: 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A ****************
00B4D0: 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A ****************
00B4E0: 2A 2A 2A 2A 2A 2A 2A 2A 2A 2F 0D 0A 64 6F 6E 65 *********/..done
00B4F0: 28 29 0D 0A 7B 0D 0A 09 63 68 61 72 20 74 65 6D ()..{...char tem
00B500: 29 20 3D 3D 20 45 52 52 4F 52 29 20 7B 0D 0A 09 ) == ERROR) {...
00B510: 09 69 6E 66 63 62 5B 30 5D 3D 31 3B 09 09 2F 2A .infcb[0]=1;../*
00B520: 20 74 72 79 20 64 72 69 76 65 20 61 20 2A 2F 0D try drive a */.
00B530: 0A 09 09 69 66 20 28 62 64 6F 73 28 31 35 2C 69 ...if (bdos(15,i
00B540: 6E 66 63 62 29 20 3D 3D 20 30 78 66 66 29 20 7B nfcb) == 0xff) {
00B550: 0D 0A 09 09 09 70 75 74 73 28 22 49 6E 70 75 74 .....puts("Input
00B560: 20 66 69 6C 65 20 6E 6F 74 20 66 6F 75 6E 64 22 file not found"
00B570: 29 3B 0D 0A 09 09 09 65 78 69 74 28 29 3B 0D 0A );.....exit();..
00B580: 09 09 09 7D 0D 0A 09 09 7D 0D 0A 09 66 6F 72 28 ...}....}...for(
00B590: 6C 69 6E 65 3D 61 72 67 63 3B 20 6C 69 6E 65 3C line=argc; line<
00B5A0: 31 32 3B 20 61 72 67 76 5B 6C 69 6E 65 2B 2B 5D 12; argv[line++]
00B5B0: 3D 22 22 29 3B 0D 0A 09 69 6E 70 6F 66 66 3D 31 ="");...inpoff=1
00B5C0: 32 38 3B 0D 0A 09 6C 69 6E 65 3D 31 3B 0D 0A 0D 28;...line=1;...
00B5D0: 0A 09 2F 2A 20 70 72 6F 63 65 73 73 20 69 6E 70 ../* process inp
00B5E0: 75 74 20 66 69 6C 65 20 61 6E 64 20 77 72 69 74 ut file and writ
00B5F0: 65 20 6F 75 74 70 75 74 20 2A 2F 0D 0A 09 77 68 e output */...wh
00B600: 69 6C 65 28 31 29 20 7B 0D 0A 09 09 64 6F 69 6E ile(1) {....doin
00B610: 70 75 74 28 61 72 67 76 2B 31 29 3B 0D 0A 09 09 put(argv+1);....
00B620: 64 6F 6F 75 74 70 75 74 28 29 3B 0D 0A 09 09 7D dooutput();....}
00B630: 0D 0A 09 7D 0D 0A 0D 0A 0D 0A 2F 2A 2A 2A 2A 2A ...}....../*****
00B640: 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A ****************
00B650: 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A ****************
00B660: 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A ****************
00B670: 2A 2A 2A 2F 0D 0A 2F 2A 09 09 09 09 09 09 09 2A ***/../*.......*
00B680: 2F 0D 0A 2F 2A 09 64 6F 69 6E 70 75 74 09 09 09 /../*.doinput...
00B690: 09 09 09 2A 2F 0D 0A 2F 2A 09 09 09 09 09 09 09 ...*/../*.......
00B6A0: 2A 2F 0D 0A 2F 2A 09 66 75 6E 63 74 69 6F 6E 3A */../*.function:
00B6B0: 09 74 6F 20 70 72 6F 63 63 65 73 73 20 69 6E 70 .to proccess inp
00B6C0: 75 74 20 62 75 66 66 65 72 20 61 6E 64 09 2A 2F ut buffer and.*/
00B6D0: 0D 0A 2F 2A 09 09 09 63 68 61 6E 67 65 20 24 31 ../*...change $1
00B6E0: 2D 24 39 20 74 6F 20 74 65 78 74 20 6E 65 65 64 -$9 to text need
00B6F0: 65 64 20 61 6E 64 09 2A 2F 0D 0A 2F 2A 09 09 09 ed and.*/../*...
00B700: 70 3B 0D 0A 0D 0A 09 2F 2A 20 63 72 65 61 74 65 p;...../* create
00B710: 20 6F 75 74 70 75 74 20 66 69 6C 65 20 6F 6E 20 output file on
00B720: 64 69 73 6B 20 61 09 2A 2F 0D 0A 09 69 66 20 28 disk a.*/...if (
00B730: 6F 70 65 6E 28 6F 75 74 66 63 62 2C 22 41 3A 24 open(outfcb,"A:$
00B740: 24 24 2E 53 55 42 22 29 20 21 3D 20 45 52 52 4F $$.SUB") != ERRO
00B750: 52 29 20 0D 0A 09 09 6F 75 74 66 63 62 5B 33 32 R) ....outfcb[32
00B760: 5D 3D 6F 75 74 66 63 62 5B 31 35 5D 3B 0D 0A 09 ]=outfcb[15];...
00B770: 65 6C 73 65 20 69 66 20 28 63 72 65 61 74 65 28 else if (create(
00B780: 6F 75 74 66 63 62 2C 22 41 3A 24 24 24 2E 53 55 outfcb,"A:$$$.SU
00B790: 42 22 29 20 3D 3D 20 45 52 52 4F 52 29 20 7B 0D B") == ERROR) {.
00B7A0: 0A 09 09 70 75 74 73 28 22 4F 75 74 70 75 74 20 ...puts("Output
00B7B0: 46 69 6C 65 20 6E 6F 74 20 63 72 65 61 74 65 64 File not created
00B7C0: 22 29 3B 0D 0A 09 09 65 78 69 74 28 29 3B 0D 0A ");....exit();..
00B7D0: 09 09 7D 0D 0A 09 77 68 69 6C 65 28 2D 2D 6C 69 ..}...while(--li
00B7E0: 6E 65 29 20 7B 0D 0A 09 09 69 66 20 28 77 72 69 ne) {....if (wri
00B7F0: 74 65 28 6F 75 74 66 63 62 2C 6F 75 74 62 75 66 te(outfcb,outbuf
00B800: 66 2B 31 32 38 2A 28 6C 69 6E 65 2D 31 29 2C 31 f+128*(line-1),1
00B810: 29 20 3D 3D 20 45 52 52 4F 52 29 20 7B 0D 0A 09 ) == ERROR) {...
00B820: 09 09 65 72 72 6F 72 28 22 44 69 73 6B 20 69 73 ..error("Disk is
00B830: 20 46 75 6C 6C 22 29 3B 0D 0A 09 09 09 65 78 69 Full");.....exi
00B840: 74 28 29 3B 0D 0A 09 09 09 7D 0D 0A 09 09 7D 0D t();.....}....}.
00B850: 0A 09 63 6C 6F 73 65 28 6F 75 74 66 63 62 29 3B ..close(outfcb);
00B860: 0D 0A 09 70 72 74 3D 38 3B 0D 0A 09 2A 70 72 74 ...prt=8;...*prt
00B870: 3D 32 35 35 3B 0D 0A 09 65 78 69 74 28 29 3B 0D =255;...exit();.
00B880: 0A 09 7D 0D 0A 0D 0A 0D 0A 2F 2A 2A 2A 2A 2A 2A ..}....../******
00B890: 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A ****************
00B8A0: 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A ****************
00B8B0: 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A ****************
00B8C0: 2A 2A 2F 0D 0A 2F 2A 09 09 09 09 09 09 09 2A 2F **/../*.......*/
00B8D0: 0D 0A 2F 2A 09 67 65 74 62 75 66 66 09 09 09 09 ../*.getbuff....
00B8E0: 09 09 2A 2F 0D 0A 2F 2A 09 09 09 09 09 09 09 2A ..*/../*.......*
00B8F0: 2F 0D 0A 2F 2A 09 66 75 6E 63 74 69 6F 6E 3A 09 /../*.function:.
00B900: 63 6F 6E 76 65 72 74 20 27 5E 27 61 20 74 6F 20 convert '^'a to
00B910: 63 6F 6E 74 72 6F 6C 20 63 68 61 72 09 2A 2F 0D control char.*/.
00B920: 0A 2F 2A 09 09 09 09 09 09 09 2A 2F 0D 0A 2F 2A ./*.......*/../*
00B930: 09 64 61 74 65 20 77 72 69 74 74 65 6E 09 4A 61 .date written.Ja
00B940: 6E 20 32 38 2C 20 31 39 38 31 20 42 79 20 4D 69 n 28, 1981 By Mi
00B950: 6B 65 20 42 65 72 6E 73 6F 6E 09 2A 2F 0D 0A 2F ke Bernson.*/../
00B960: 2A 09 09 09 09 09 09 09 2A 2F 0D 0A 2F 2A 2A 2A *.......*/../***
00B970: 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A ****************
00B980: 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A ****************
00B990: 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A ****************
00B9A0: 2A 2A 2A 2A 2A 2F 0D 0A 64 6F 69 6E 70 75 74 28 *****/..doinput(
00B9B0: 70 61 72 6D 29 0D 0A 69 6E 74 20 70 61 72 6D 5B parm)..int parm[
00B9C0: 5D 3B 0D 0A 7B 0D 0A 09 69 6E 74 20 63 75 72 72 ];..{...int curr
00B9D0: 65 6E 74 3B 20 20 20 2F 2A 20 63 75 72 72 65 6E ent; /* curren
00B9E0: 74 20 63 68 61 72 61 63 74 65 72 20 77 6F 72 6B t character work
00B9F0: 69 6E 67 20 6F 6E 20 2A 2F 0D 0A 0D 0A 09 6F 75 ing on */.....ou
00BA00: 74 6F 66 66 3D 31 3B 09 2F 2A 20 73 65 74 20 6F toff=1;./* set o
00BA10: 75 74 70 75 74 20 6F 66 66 73 65 74 20 74 6F 20 utput offset to
00BA20: 7A 65 72 6F 20 2A 2F 0D 0A 0D 0A 09 2F 2A 20 70 zero */...../* p
00BA30: 69 63 6B 20 75 70 20 31 20 6C 69 6E 65 20 6F 66 ick up 1 line of
00BA40: 20 69 6E 70 75 74 20 2A 2F 0D 0A 09 77 68 69 6C input */...whil
00BA50: 65 28 6F 75 74 6F 66 66 3C 31 32 30 29 20 7B 0D e(outoff<120) {.
00BA60: 0A 0D 0A 09 09 2F 2A 20 67 65 74 20 63 68 61 72 ...../* get char
00BA70: 63 74 65 72 20 61 6E 64 20 73 65 65 20 77 68 61 cter and see wha
00BA80: 74 20 6E 65 65 64 20 74 6F 20 62 65 20 64 6F 6E t need to be don
00BA90: 65 20 2A 2F 0D 0A 09 09 73 77 69 74 63 68 28 63 e */....switch(c
00BAA0: 75 72 72 65 6E 74 3D 67 65 74 62 75 66 66 28 29 urrent=getbuff()
00BAB0: 29 20 7B 0D 0A 0D 0A 09 09 2F 2A 20 65 6E 64 20 ) {....../* end
00BAC0: 6F 66 20 66 69 6C 65 20 20 2A 2F 0D 0A 09 09 63 of file */....c
00BAD0: 61 73 65 20 45 4E 44 46 49 4C 45 20 3A 0D 0A 09 ase ENDFILE :...
00BAE0: 09 09 64 6F 6E 65 28 29 3B 0D 0A 09 0D 0A 09 09 ..done();.......
00BAF0: 2F 2A 20 27 24 27 20 63 61 6E 20 62 65 20 24 31 /* '$' can be $1
00BB00: 74 6F 20 67 65 74 6E 20 6E 65 78 74 20 63 68 61 to getn next cha
00BB10: 72 61 63 74 65 72 20 66 72 6F 6D 20 09 2A 2F 0D racter from .*/.
00BB20: 0A 2F 2A 09 09 09 66 72 6F 6D 20 69 6E 70 75 74 ./*...from input
00BB30: 20 62 75 66 66 65 72 20 61 6E 64 20 63 6F 6E 76 buffer and conv
00BB40: 65 72 74 09 2A 2F 0D 0A 2F 2A 09 09 09 74 6F 20 ert.*/../*...to
00BB50: 75 70 70 65 72 20 63 61 73 65 09 09 09 2A 2F 0D upper case...*/.
00BB60: 0A 2F 2A 09 09 09 09 09 09 09 2A 2F 0D 0A 2F 2A ./*.......*/../*
00BB70: 09 64 61 74 65 20 77 72 69 74 74 65 6E 3A 09 44 .date written:.D
00BB80: 65 63 20 31 36 2C 20 31 39 38 30 20 62 79 20 4D ec 16, 1980 by M
00BB90: 69 6B 65 20 42 65 72 6E 73 6F 6E 09 2A 2F 0D 0A ike Bernson.*/..
00BBA0: 2F 2A 09 09 09 09 09 09 09 2A 2F 0D 0A 2F 2A 2A /*.......*/../**
00BBB0: 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A ****************
00BBC0: 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A ****************
00BBD0: 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A ****************
00BBE0: 2A 2A 2A 2A 2A 2A 2F 0D 0A 67 65 74 62 75 66 66 ******/..getbuff
00BBF0: 28 29 0D 0A 7B 0D 0A 09 69 66 20 28 69 6E 70 6F ()..{...if (inpo
00BC00: 66 66 20 3D 3D 20 31 32 38 29 20 7B 0D 0A 09 09 ff == 128) {....
00BC10: 69 66 20 28 72 65 61 64 28 69 6E 66 63 62 2C 69 if (read(infcb,i
00BC20: 6E 62 75 66 66 2C 31 29 20 3D 3D 20 45 52 52 4F nbuff,1) == ERRO
00BC30: 52 29 20 72 65 74 75 72 6E 20 45 4E 44 46 49 4C R) return ENDFIL
00BC40: 45 3B 0D 0A 09 09 69 6E 70 6F 66 66 3D 30 3B 0D E;....inpoff=0;.
00BC50: 0A 09 09 7D 0D 0A 09 72 65 74 75 72 6E 20 74 6F ...}...return to
00BC60: 75 70 70 65 72 28 69 6E 62 75 66 66 5B 69 6E 70 upper(inbuff[inp
00BC70: 6F 66 66 2B 2B 5D 29 3B 0D 0A 09 7D 0D 0A 0D 0A off++]);...}....
00BC80: 2F 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A /***************
00BC90: 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A ****************
00BCA0: 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A ****************
00BCB0: 2A 2A 2A 2A 2A 2A 2A 2A 2A 2F 0D 0A 2F 2A 09 09 *********/../*..
00BCC0: 09 09 09 09 09 2A 2F 0D 0A 2F 2A 09 70 75 74 62 .....*/../*.putb
00BCD0: 75 66 66 09 09 09 09 09 09 2A 2F 0D 0A 2F 2A 09 uff......*/../*.
00BCE0: 09 09 09 09 09 09 2A 2F 0D 0A 2F 2A 09 66 75 6E ......*/../*.fun
00BCF0: 63 74 69 6F 6E 3A 09 74 6F 20 77 72 69 74 65 20 ction:.to write
00BD00: 2D 24 39 20 6F 72 20 24 24 20 2A 2F 0D 0A 09 09 -$9 or $$ */....
00BD10: 63 61 73 65 20 27 24 27 20 3A 0D 0A 09 09 09 69 case '$' :.....i
00BD20: 66 20 28 28 63 75 72 72 65 6E 74 3D 67 65 74 62 f ((current=getb
00BD30: 75 66 66 28 29 29 3D 3D 27 24 27 29 20 7B 0D 0A uff())=='$') {..
00BD40: 09 09 09 09 70 75 74 62 75 66 66 28 27 24 27 29 ....putbuff('$')
00BD50: 3B 0D 0A 09 09 09 09 62 72 65 61 6B 3B 0D 0A 09 ;......break;...
00BD60: 09 09 09 7D 0D 0A 09 09 09 69 66 20 28 63 75 72 ...}.....if (cur
00BD70: 72 65 6E 74 3E 3D 27 30 27 20 26 26 20 63 75 72 rent>='0' && cur
00BD80: 72 65 6E 74 3C 3D 27 39 27 29 20 7B 0D 0A 09 09 rent<='9') {....
00BD90: 09 09 70 72 74 3D 70 61 72 6D 5B 63 75 72 72 65 ..prt=parm[curre
00BDA0: 6E 74 2D 27 30 27 5D 3B 0D 0A 09 09 09 09 77 68 nt-'0'];......wh
00BDB0: 69 6C 65 28 2A 70 72 74 29 20 70 75 74 62 75 66 ile(*prt) putbuf
00BDC0: 66 28 2A 70 72 74 2B 2B 29 3B 0D 0A 09 09 09 09 f(*prt++);......
00BDD0: 62 72 65 61 6B 3B 0D 0A 09 09 09 09 7D 0D 0A 09 break;......}...
00BDE0: 09 09 65 72 72 6F 72 28 22 49 6E 76 61 6C 69 64 ..error("Invalid
00BDF0: 20 70 61 72 6D 65 74 65 72 22 29 3B 0D 0A 09 09 parmeter");....
00BE00: 09 62 72 65 61 6B 3B 0D 0A 0D 0A 09 09 2F 2A 20 .break;....../*
00BE10: 63 68 65 63 6B 20 66 6F 72 20 63 6F 6E 74 72 6F check for contro
00BE20: 6C 20 63 68 72 61 72 61 63 74 65 72 20 2A 2F 0D l chraracter */.
00BE30: 0A 09 09 63 61 73 65 20 27 5E 27 20 3A 0D 0A 09 ...case '^' :...
00BE40: 09 09 63 75 72 72 65 6E 74 3D 67 65 74 62 75 66 ..current=getbuf
00BE50: 66 28 29 3B 0D 0A 09 09 09 69 66 20 28 63 75 72 f();.....if (cur
00BE60: 72 65 6E 74 3E 3D 27 41 27 20 26 26 20 63 75 72 rent>='A' && cur
00BE70: 72 65 6E 74 3C 3D 27 5A 27 29 0D 0A 09 09 09 09 rent<='Z')......
00BE80: 70 75 74 62 75 66 66 28 63 75 72 72 65 6E 74 2D putbuff(current-
00BE90: 27 40 27 29 3B 0D 0A 09 09 09 09 65 6C 73 65 20 '@');......else
00BEA0: 65 72 72 6F 72 28 22 49 6E 76 61 6C 69 64 20 63 error("Invalid c
00BEB0: 6F 6E 74 72 6F 6C 20 63 68 61 72 61 63 74 65 72 ontrol character
00BEC0: 20 22 29 3B 0D 0A 09 09 09 62 72 65 61 6B 3B 0D ");.....break;.
00BED0: 0A 09 09 0D 0A 09 09 2F 2A 20 63 68 65 63 6B 20 ......./* check
00BEE0: 66 6F 72 20 65 6E 64 20 6F 66 20 6C 69 6E 65 20 for end of line
00BEF0: 2A 2F 0D 0A 09 09 63 61 73 65 20 43 52 20 3A 0D */....case CR :.
00BF00: 54 72 61 63 6B 2D 49 6E 66 6F 0D 0A 00 00 00 00 Track-Info......
00BF10: 0A 00 01 00 02 09 52 E5 0A 00 C1 02 00 00 00 02 ......R.........
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: 63 68 72 61 63 74 65 72 20 74 6F 20 6F 75 74 70 chracter to outp
00C010: 75 74 20 09 2A 2F 0D 0A 2F 2A 09 09 09 62 75 66 ut .*/../*...buf
00C020: 66 20 61 6E 64 20 69 6E 63 20 6F 66 66 73 65 74 f and inc offset
00C030: 09 09 2A 2F 0D 0A 2F 2A 09 09 09 09 09 09 09 2A ..*/../*.......*
00C040: 2F 0D 0A 2F 2A 09 69 6E 70 75 74 3A 09 09 63 68 /../*.input:..ch
00C050: 61 72 61 63 74 65 72 20 74 6F 20 77 72 69 74 65 aracter to write
00C060: 09 09 2A 2F 0D 0A 2F 2A 09 09 09 09 09 09 09 2A ..*/../*.......*
00C070: 2F 0D 0A 2F 2A 09 64 61 74 65 20 77 72 69 74 74 /../*.date writt
00C080: 65 6E 3A 09 44 65 63 20 31 36 2C 20 31 39 38 30 en:.Dec 16, 1980
00C090: 20 42 79 20 4D 69 6B 65 20 42 65 72 6E 73 6F 6E By Mike Bernson
00C0A0: 09 2A 2F 0D 0A 2F 2A 09 09 09 09 09 09 09 2A 2F .*/../*.......*/
00C0B0: 0D 0A 2F 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A ../*************
00C0C0: 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A ****************
00C0D0: 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A ****************
00C0E0: 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2F 0D 0A 70 75 ***********/..pu
00C0F0: 74 62 75 66 66 28 64 61 74 61 29 0D 0A 63 68 61 tbuff(data)..cha
00C100: 72 20 64 61 74 61 3B 0D 0A 7B 0D 0A 09 6F 75 74 r data;..{...out
00C110: 62 75 66 66 5B 28 6C 69 6E 65 2D 31 29 2A 31 32 buff[(line-1)*12
00C120: 38 2B 6F 75 74 6F 66 66 2B 2B 5D 3D 64 61 74 61 8+outoff++]=data
00C130: 3B 0D 0A 09 7D 0D 0A 0D 0A 0D 0A 2F 2A 2A 2A 2A ;...}....../****
00C140: 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A ****************
00C150: 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A ****************
00C160: 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A ****************
00C170: 2A 2A 2A 2A 2F 0D 0A 2F 2A 09 09 09 09 09 09 09 ****/../*.......
00C180: 2A 2F 0D 0A 2F 2A 09 65 72 72 6F 72 09 09 09 09 */../*.error....
00C190: 09 09 2A 2F 0D 0A 2F 2A 09 09 09 09 09 09 09 2A ..*/../*.......*
00C1A0: 2F 0D 0A 2F 2A 09 66 75 6E 63 74 69 6F 6E 3A 09 /../*.function:.
00C1B0: 74 6F 20 70 72 69 6E 74 20 65 72 72 6F 72 20 6D to print error m
00C1C0: 65 73 73 61 67 65 20 66 6F 6C 6C 6F 77 09 2A 2F essage follow.*/
00C1D0: 0D 0A 2F 2A 09 09 09 62 79 20 61 74 20 6C 69 6E ../*...by at lin
00C1E0: 65 20 28 6C 69 6E 65 20 6E 75 6D 62 65 72 29 09 e (line number).
00C1F0: 2A 2F 0D 0A 2F 2A 09 09 09 09 09 09 09 2A 2F 0D */../*.......*/.
00C200: 09 68 09 09 3B 61 64 64 20 31 20 74 6F 20 73 74 .h..;add 1 to st
00C210: 72 69 6E 67 20 6C 65 6E 67 68 74 0D 0A 09 69 6E ring lenght...in
00C220: 78 09 64 09 09 3B 61 64 64 20 31 20 74 6F 20 70 x.d..;add 1 to p
00C230: 6F 69 6E 74 65 72 20 74 6F 20 73 74 72 69 6E 67 ointer to string
00C240: 0D 0A 09 72 65 6C 6F 63 09 6A 6D 70 2C 73 74 72 ...reloc.jmp,str
00C250: 6C 65 6E 31 09 3B 63 68 65 63 6B 20 6E 65 78 74 len1.;check next
00C260: 20 63 68 61 72 61 63 74 65 72 0D 0A 3B 0D 0A 09 character..;...
00C270: 70 6F 73 74 6C 75 64 65 20 73 74 72 6C 65 6E 0D postlude strlen.
00C280: 0A 3B 0D 0A 3B 0D 0A 3B 0D 0A 09 70 72 65 6C 75 .;..;..;...prelu
00C290: 64 65 09 73 74 72 63 70 79 0D 0A 3B 0D 0A 73 74 de.strcpy..;..st
00C2A0: 72 63 70 79 3A 0D 0A 09 63 61 6C 6C 09 61 72 67 rcpy:...call.arg
00C2B0: 68 61 6B 09 09 3B 67 65 74 20 61 72 67 20 6C 69 hak..;get arg li
00C2C0: 73 74 0D 0A 09 6C 68 6C 64 09 61 72 67 31 09 09 st...lhld.arg1..
00C2D0: 3B 67 65 74 20 61 64 64 72 65 73 73 20 6F 66 20 ;get address of
00C2E0: 77 68 65 72 65 20 74 6F 20 73 61 76 65 20 73 74 where to save st
00C2F0: 72 69 6E 67 0D 0A 09 78 63 68 67 09 09 09 3B 70 ring...xchg...;p
00C300: 75 74 20 61 64 64 72 65 73 73 20 69 6E 20 64 65 ut address in de
00C310: 0D 0A 09 6C 68 6C 64 09 61 72 67 32 09 09 3B 67 ...lhld.arg2..;g
00C320: 65 74 20 61 64 64 72 65 73 73 20 6F 66 20 73 74 et address of st
00C330: 72 69 6E 67 20 74 6F 20 63 6F 70 79 0D 0A 73 74 ring to copy..st
00C340: 72 63 70 79 31 3A 0D 0A 09 6D 6F 76 09 61 2C 6D rcpy1:...mov.a,m
00C350: 09 09 3B 67 65 74 20 76 61 6C 75 65 20 66 72 6F ..;get value fro
00C360: 6D 20 73 6F 75 72 63 65 20 73 74 72 69 6E 67 0D m source string.
00C370: 0A 09 73 74 61 78 09 64 09 09 3B 73 61 76 65 20 ..stax.d..;save
00C380: 63 68 61 72 61 63 74 65 72 20 61 20 6F 62 6A 65 character a obje
00C390: 63 74 20 73 74 72 69 6E 67 0D 0A 09 6F 72 61 09 ct string...ora.
00C3A0: 61 09 09 3B 63 68 65 63 6B 20 74 6F 20 73 65 65 a..;check to see
00C3B0: 20 69 66 20 64 6F 6E 65 0D 0A 09 72 7A 09 09 09 if done...rz...
00C3C0: 3B 69 66 20 7A 65 72 6F 20 64 6F 6E 65 20 72 65 ;if zero done re
00C3D0: 74 75 72 6E 20 74 6F 20 63 61 6C 6C 65 72 0D 0A turn to caller..
00C3E0: 09 69 6E 78 09 68 09 09 3B 61 64 64 20 31 20 74 .inx.h..;add 1 t
00C3F0: 6F 20 73 6F 75 72 63 65 20 70 6F 69 6E 74 65 72 o source pointer
00C400: 0A 2F 2A 09 64 61 74 65 20 77 72 69 74 74 65 6E ./*.date written
00C410: 3A 09 64 65 63 20 31 36 2C 20 31 39 38 30 20 42 :.dec 16, 1980 B
00C420: 79 20 4D 69 6B 65 20 42 65 72 6E 73 6F 6E 09 2A y Mike Bernson.*
00C430: 2F 0D 0A 2F 2A 09 09 09 09 09 09 09 2A 2F 0D 0A /../*.......*/..
00C440: 2F 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A /***************
00C450: 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A ****************
00C460: 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A ****************
00C470: 2A 2A 2A 2A 2A 2A 2A 2A 2A 2F 0D 0A 65 72 72 6F *********/..erro
00C480: 72 28 6D 73 67 29 0D 0A 63 68 61 72 20 2A 6D 73 r(msg)..char *ms
00C490: 67 3B 0D 0A 7B 0D 0A 09 70 75 74 73 28 6D 73 67 g;..{...puts(msg
00C4A0: 29 3B 09 09 2F 2A 20 70 72 69 6E 74 20 65 72 72 );../* print err
00C4B0: 6F 72 20 6D 65 73 73 61 67 65 20 2A 2F 0D 0A 09 or message */...
00C4C0: 70 75 74 73 28 22 20 61 74 20 6C 69 6E 65 20 22 puts(" at line "
00C4D0: 29 3B 09 2F 2A 20 70 72 69 6E 74 20 22 61 74 20 );./* print "at
00C4E0: 6C 69 6E 65 22 20 2A 2F 0D 0A 09 6F 75 74 64 65 line" */...outde
00C4F0: 63 28 6C 69 6E 65 29 3B 09 09 2F 2A 20 70 72 69 c(line);../* pri
00C500: 6E 74 20 6C 69 6E 65 20 6E 75 6D 62 65 72 20 2A nt line number *
00C510: 2F 0D 0A 09 65 78 69 74 28 29 20 3B 09 09 2F 2A /...exit() ;../*
00C520: 20 65 6E 64 20 62 61 63 6B 20 74 6F 20 63 70 6D end back to cpm
00C530: 20 2A 2F 0D 0A 09 7D 0D 0A 0D 0A 2F 2A 2A 2A 2A */...}..../****
00C540: 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A ****************
00C550: 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A ****************
00C560: 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A ****************
00C570: 2A 2A 2A 2A 2F 0D 0A 2F 2A 09 09 09 09 09 09 09 ****/../*.......
00C580: 2A 2F 0D 0A 2F 2A 09 6F 75 74 64 65 63 09 09 09 */../*.outdec...
00C590: 09 09 09 2A 2F 0D 0A 2F 2A 09 09 09 09 09 09 09 ...*/../*.......
00C5A0: 2A 2F 0D 0A 2F 2A 09 66 75 6E 63 74 69 6F 6E 3A */../*.function:
00C5B0: 09 74 6F 20 6F 75 74 70 75 74 20 6E 75 6D 62 65 .to output numbe
00C5C0: 72 20 69 6E 20 64 65 63 20 66 72 6F 6D 09 2A 2F r in dec from.*/
00C5D0: 0D 0A 2F 2A 09 09 09 74 6F 20 63 6F 6E 73 6F 6C ../*...to consol
00C5E0: 65 09 09 09 2A 2F 0D 0A 2F 2A 09 09 09 09 09 09 e...*/../*......
00C5F0: 09 2A 2F 0D 0A 2F 2A 09 64 61 74 65 20 77 72 69 .*/../*.date wri
00C600: 0D 0A 09 69 6E 78 09 64 09 09 3B 61 64 64 20 31 ...inx.d..;add 1
00C610: 20 74 6F 20 6F 62 6A 65 63 74 20 70 6F 69 6E 74 to object point
00C620: 65 72 0D 0A 09 72 65 6C 6F 63 09 6A 6D 70 2C 73 er...reloc.jmp,s
00C630: 74 72 63 70 79 31 09 3B 64 6F 77 6E 20 74 69 6C trcpy1.;down til
00C640: 6C 20 65 6E 64 20 6F 66 20 73 74 72 69 6E 67 0D l end of string.
00C650: 0A 3B 0D 0A 09 70 6F 73 74 6C 75 64 65 20 73 74 .;...postlude st
00C660: 72 63 70 79 0D 0A 3B 0D 0A 3B 0D 0A 3B 0D 0A 09 rcpy..;..;..;...
00C670: 70 72 65 6C 75 64 65 09 73 74 72 63 61 74 0D 0A prelude.strcat..
00C680: 73 74 72 63 61 74 3A 0D 0A 09 63 61 6C 6C 09 61 strcat:...call.a
00C690: 72 67 68 61 6B 09 3B 67 65 74 20 70 61 72 6D 20 rghak.;get parm
00C6A0: 6C 69 73 74 0D 0A 09 6C 68 6C 64 09 61 72 67 31 list...lhld.arg1
00C6B0: 09 3B 67 65 74 20 61 64 64 72 65 73 73 20 6F 66 .;get address of
00C6C0: 20 66 72 69 73 74 20 70 61 72 6D 0D 0A 09 78 63 frist parm...xc
00C6D0: 68 67 09 09 3B 70 75 74 20 69 74 20 69 6E 20 68 hg..;put it in h
00C6E0: 6C 0D 0A 09 6C 68 6C 64 09 61 72 67 32 09 3B 67 l...lhld.arg2.;g
00C6F0: 65 74 20 73 65 63 6F 6E 64 20 70 61 72 6D 0D 0A et second parm..
00C700: 73 74 72 63 61 74 31 3A 0D 0A 09 6C 64 61 78 09 strcat1:...ldax.
00C710: 64 09 09 3B 67 65 74 20 62 79 74 65 20 74 6F 20 d..;get byte to
00C720: 73 65 65 20 69 66 20 7A 65 72 6F 0D 0A 09 6F 72 see if zero...or
00C730: 61 09 61 09 09 3B 73 65 74 20 73 74 61 74 75 73 a.a..;set status
00C740: 20 66 6C 61 67 73 0D 0A 09 72 65 6C 6F 63 09 6A flags...reloc.j
00C750: 7A 2C 73 74 72 63 61 74 32 09 3B 65 6E 64 20 6F z,strcat2.;end o
00C760: 66 20 73 74 72 69 6E 67 20 31 20 0D 0A 09 69 6E f string 1 ...in
00C770: 78 09 64 09 09 3B 61 64 64 20 31 20 74 6F 20 70 x.d..;add 1 to p
00C780: 6F 69 6E 74 65 72 0D 0A 09 72 65 6C 6F 63 09 6A ointer...reloc.j
00C790: 6D 70 2C 73 74 72 63 61 74 31 09 3B 6C 6F 6F 70 mp,strcat1.;loop
00C7A0: 20 74 69 6C 6C 20 65 6E 64 20 6F 66 20 73 74 72 till end of str
00C7B0: 69 6E 67 20 31 0D 0A 73 74 72 63 61 74 32 3A 0D ing 1..strcat2:.
00C7C0: 0A 09 6D 6F 76 09 61 2C 6D 09 09 3B 67 65 74 20 ..mov.a,m..;get
00C7D0: 63 68 61 72 20 66 6F 72 20 73 6F 75 72 63 65 20 char for source
00C7E0: 73 74 72 69 6E 67 0D 0A 09 73 74 61 78 09 64 09 string...stax.d.
00C7F0: 09 3B 73 61 76 65 20 61 74 20 65 6E 64 20 6F 66 .;save at end of
00C800: 74 74 65 6E 3A 09 44 65 63 20 31 36 2C 20 31 39 tten:.Dec 16, 19
00C810: 38 30 20 42 79 20 4D 69 6B 65 20 42 65 72 6E 73 80 By Mike Berns
00C820: 6F 6E 09 2A 2F 0D 0A 2F 2A 09 09 09 09 09 09 09 on.*/../*.......
00C830: 2A 2F 0D 0A 2F 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A */../***********
00C840: 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A ****************
00C850: 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A ****************
00C860: 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2F 0D 0A *************/..
00C870: 6F 75 74 64 65 63 28 6E 75 6D 62 65 72 29 0D 0A outdec(number)..
00C880: 69 6E 74 20 6E 75 6D 62 65 72 3B 0D 0A 7B 0D 0A int number;..{..
00C890: 09 63 68 61 72 20 7A 65 72 6F 2C 6E 75 6D 3B 0D .char zero,num;.
00C8A0: 0A 09 69 6E 74 20 20 70 6C 61 63 65 3B 0D 0A 0D ..int place;...
00C8B0: 0A 09 70 6C 61 63 65 3D 31 30 30 30 30 3B 0D 0A ..place=10000;..
00C8C0: 09 7A 65 72 6F 3D 30 3B 0D 0A 0D 0A 09 77 68 69 .zero=0;.....whi
00C8D0: 6C 65 28 70 6C 61 63 65 3E 30 29 20 7B 0D 0A 09 le(place>0) {...
00C8E0: 09 6E 75 6D 3D 6E 75 6D 62 65 72 2F 70 6C 61 63 .num=number/plac
00C8F0: 65 2B 27 30 27 3B 20 2F 2A 20 67 65 74 20 63 75 e+'0'; /* get cu
00C900: 72 72 65 6E 74 20 64 69 67 69 74 20 2A 2F 0D 0A rrent digit */..
00C910: 09 09 69 66 20 28 6E 75 6D 20 21 3D 20 27 30 27 ..if (num != '0'
00C920: 20 7C 7C 20 70 6C 61 63 65 20 3D 3D 31 20 7C 7C || place ==1 ||
00C930: 20 7A 65 72 6F 29 20 7B 0D 0A 09 09 09 7A 65 72 zero) {.....zer
00C940: 6F 3D 31 3B 20 2F 2A 20 73 65 74 20 7A 65 72 6F o=1; /* set zero
00C950: 20 73 75 70 70 72 65 73 73 20 2A 2F 0D 0A 09 09 suppress */....
00C960: 09 70 75 74 63 68 28 6E 75 6D 29 3B 20 2F 2A 20 .putch(num); /*
00C970: 70 72 69 6E 74 20 63 68 61 72 61 63 74 65 72 20 print character
00C980: 2A 2F 0D 0A 09 09 09 7D 0D 0A 09 09 6E 75 6D 62 */.....}....numb
00C990: 65 72 3D 6E 75 6D 62 65 72 20 25 20 70 6C 61 63 er=number % plac
00C9A0: 65 3B 0D 0A 09 09 70 6C 61 63 65 3D 70 6C 61 63 e;....place=plac
00C9B0: 65 2F 31 30 3B 0D 0A 09 09 7D 0D 0A 09 7D 0D 0A e/10;....}...}..
00C9C0: 1A 70 6C 61 63 65 3D 70 6C 61 63 65 2F 31 30 3B .place=place/10;
00C9D0: 0D 0A 09 09 7D 0D 0A 09 7D 0D 0A 1A 31 30 3B 0D ....}...}...10;.
00C9E0: 0A 09 09 7D 0D 0A 09 7D 0D 0A 1A 3B 0D 0A 09 09 ...}...}...;....
00C9F0: 70 6C 61 63 65 3D 70 6C 61 63 65 2F 31 30 3B 0D place=place/10;.
00CA00: 20 73 65 63 6F 6E 64 20 73 74 72 69 6E 67 0D 0A second string..
00CA10: 09 6F 72 61 09 61 09 09 3B 63 68 65 63 6B 20 74 .ora.a..;check t
00CA20: 6F 20 73 65 65 20 69 66 20 7A 65 72 6F 0D 0A 09 o see if zero...
00CA30: 72 7A 09 09 09 3B 72 65 74 75 72 6E 20 69 66 20 rz...;return if
00CA40: 65 6E 64 20 6F 66 20 73 74 72 69 6E 67 20 32 0D end of string 2.
00CA50: 0A 09 69 6E 78 09 68 09 09 3B 61 64 64 20 31 20 ..inx.h..;add 1
00CA60: 74 6F 20 73 6F 75 72 63 65 20 70 6F 69 6E 74 65 to source pointe
00CA70: 72 0D 0A 09 69 6E 78 09 64 09 09 3B 61 64 64 20 r...inx.d..;add
00CA80: 31 20 74 6F 20 6F 62 6A 65 63 74 20 70 6F 69 6E 1 to object poin
00CA90: 74 65 72 0D 0A 09 72 65 6C 6F 63 09 6A 6D 70 2C ter...reloc.jmp,
00CAA0: 73 74 72 63 61 74 32 09 3B 6C 6F 6F 70 20 74 69 strcat2.;loop ti
00CAB0: 6C 6C 20 65 6E 64 20 6F 66 20 73 6F 75 72 63 65 ll end of source
00CAC0: 20 73 74 72 69 6E 67 0D 0A 09 70 6F 73 74 6C 75 string...postlu
00CAD0: 64 65 20 73 74 72 63 61 74 0D 0A 3B 0D 0A 3B 0D de strcat..;..;.
00CAE0: 0A 3B 0D 0A 09 70 72 65 6C 75 64 65 09 73 74 72 .;...prelude.str
00CAF0: 70 6F 73 0D 0A 3B 0D 0A 73 74 72 70 6F 73 3A 0D pos..;..strpos:.
00CB00: 0A 09 63 61 6C 6C 09 61 72 67 68 61 6B 09 09 3B ..call.arghak..;
00CB10: 67 65 74 20 70 61 72 6D 20 6C 69 73 74 0D 0A 09 get parm list...
00CB20: 70 75 73 68 09 62 09 09 3B 73 61 76 65 20 63 20 push.b..;save c
00CB30: 73 74 61 63 6B 20 6F 6E 20 6D 61 63 68 69 6E 65 stack on machine
00CB40: 20 73 74 61 63 6B 0D 0A 09 6C 68 6C 64 09 61 72 stack...lhld.ar
00CB50: 67 31 09 09 3B 67 65 74 20 73 74 72 69 6E 67 20 g1..;get string
00CB60: 74 68 61 74 20 77 65 20 61 72 65 20 73 65 61 72 that we are sear
00CB70: 63 68 69 6E 67 20 69 6E 0D 0A 09 78 63 68 67 09 ching in...xchg.
00CB80: 09 09 3B 70 75 74 20 61 64 64 72 65 73 73 20 69 ..;put address i
00CB90: 6E 20 64 65 0D 0A 09 6C 78 69 09 62 2C 30 09 09 n de...lxi.b,0..
00CBA0: 3B 7A 65 72 6F 20 70 6F 73 74 69 6F 6E 20 0D 0A ;zero postion ..
00CBB0: 73 74 72 70 6F 73 31 3A 0D 0A 09 6C 68 6C 64 09 strpos1:...lhld.
00CBC0: 61 72 67 32 09 09 3B 67 65 74 20 61 64 64 72 65 arg2..;get addre
00CBD0: 73 73 20 6F 66 20 73 65 61 72 63 68 20 66 6F 72 ss of search for
00CBE0: 20 73 74 72 69 6E 67 0D 0A 73 74 72 70 6F 73 32 string..strpos2
00CBF0: 3A 0D 0A 09 6C 64 61 78 09 64 09 09 3B 67 65 74 :...ldax.d..;get
00CC00: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
00CC10: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
00CC20: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
00CC30: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
00CC40: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
00CC50: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
00CC60: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
00CC70: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
00CC80: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
00CC90: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
00CCA0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
00CCB0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
00CCC0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
00CCD0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
00CCE0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
00CCF0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
00CD00: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
00CD10: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
00CD20: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
00CD30: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
00CD40: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
00CD50: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
00CD60: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
00CD70: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
00CD80: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
00CD90: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
00CDA0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
00CDB0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
00CDC0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
00CDD0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
00CDE0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
00CDF0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
00CE00: 20 63 68 61 72 61 63 74 65 72 20 74 6F 20 63 68 character to ch
00CE10: 65 63 6B 20 0D 0A 09 6F 72 61 09 61 09 09 3B 63 eck ...ora.a..;c
00CE20: 68 65 63 6B 20 74 6F 20 73 65 65 20 69 66 20 65 heck to see if e
00CE30: 6E 64 20 6F 66 20 73 74 72 69 6E 67 20 31 0D 0A nd of string 1..
00CE40: 09 72 65 6C 6F 63 09 6A 7A 2C 73 74 72 70 6F 73 .reloc.jz,strpos
00CE50: 34 09 3B 65 6E 64 20 6F 66 20 73 74 72 69 6E 67 4.;end of string
00CE60: 20 61 72 67 32 20 69 73 20 6E 6F 74 20 69 6E 73 arg2 is not ins
00CE70: 69 64 65 20 6F 66 20 61 72 67 31 0D 0A 09 69 6E ide of arg1...in
00CE80: 78 09 62 09 09 3B 61 64 64 20 31 20 74 6F 20 70 x.b..;add 1 to p
00CE90: 6F 73 74 69 6F 6E 0D 0A 09 69 6E 78 09 64 09 09 ostion...inx.d..
00CEA0: 3B 61 64 64 20 31 20 74 6F 70 20 70 6F 69 6E 74 ;add 1 top point
00CEB0: 65 72 20 6F 66 20 61 72 67 31 0D 0A 09 63 6D 70 er of arg1...cmp
00CEC0: 09 6D 09 09 3B 63 68 65 63 6B 20 74 6F 20 73 65 .m..;check to se
00CED0: 65 20 69 66 20 61 20 6D 61 74 63 68 20 6F 6E 20 e if a match on
00CEE0: 66 69 72 73 74 20 63 68 61 72 0D 0A 09 72 65 6C first char...rel
00CEF0: 6F 63 09 6A 6E 7A 2C 73 74 72 70 6F 73 32 09 3B oc.jnz,strpos2.;
00CF00: 6C 6F 6F 70 20 74 69 6C 6C 20 66 69 73 72 74 20 loop till fisrt
00CF10: 63 68 61 72 61 63 74 65 72 20 6D 61 74 63 68 0D character match.
00CF20: 0A 09 70 75 73 68 09 64 09 09 3B 73 61 76 65 20 ..push.d..;save
00CF30: 63 75 72 72 65 6E 74 20 70 6F 73 74 69 6F 6E 20 current postion
00CF40: 6F 6E 20 73 74 61 63 6B 0D 0A 09 64 63 78 09 64 on stack...dcx.d
00CF50: 09 09 3B 6D 6F 76 65 20 70 6F 69 6E 74 65 72 20 ..;move pointer
00CF60: 62 61 63 6B 20 6F 6E 65 0D 0A 73 74 72 70 6F 73 back one..strpos
00CF70: 33 3A 0D 0A 09 69 6E 78 09 68 09 09 3B 61 64 64 3:...inx.h..;add
00CF80: 20 31 20 74 6F 20 61 72 67 31 0D 0A 09 69 6E 78 1 to arg1...inx
00CF90: 09 64 09 09 3B 61 64 64 20 31 20 74 6F 20 61 72 .d..;add 1 to ar
00CFA0: 67 32 0D 0A 09 6D 6F 76 09 61 2C 6D 09 09 3B 63 g2...mov.a,m..;c
00CFB0: 68 65 63 6B 20 74 6F 20 73 65 65 20 69 66 20 65 heck to see if e
00CFC0: 6E 64 20 6F 66 20 61 72 67 32 0D 0A 09 6F 72 61 nd of arg2...ora
00CFD0: 09 61 09 09 3B 73 65 65 20 69 66 20 7A 65 72 6F .a..;see if zero
00CFE0: 20 0D 0A 09 72 65 6C 6F 63 09 6A 7A 2C 73 74 72 ...reloc.jz,str
00CFF0: 70 6F 73 35 09 3B 65 6E 64 20 6F 66 20 61 72 67 pos5.;end of arg
00D000: 09 74 69 74 6C 65 09 27 73 74 72 69 6E 67 20 61 .title.'string a
00D010: 73 73 65 62 6D 6C 65 20 66 75 6E 63 74 69 6F 6E ssebmle function
00D020: 20 66 6F 72 20 42 44 53 20 43 27 0D 0A 09 70 61 for BDS C'...pa
00D030: 67 65 09 36 30 0D 0A 3B 0D 0A 0D 0A 09 6D 61 63 ge.60..;.....mac
00D040: 6C 69 62 09 62 64 73 0D 0A 09 6D 61 63 6C 69 62 lib.bds...maclib
00D050: 09 63 6D 61 63 0D 0A 3B 0D 0A 3B 0D 0A 09 64 69 .cmac..;..;...di
00D060: 72 65 63 74 0D 0A 09 64 65 66 69 6E 65 09 53 54 rect...define.ST
00D070: 52 4C 45 4E 0D 0A 09 64 65 66 69 6E 65 09 53 54 RLEN...define.ST
00D080: 52 43 50 59 0D 0A 09 64 65 66 69 6E 65 09 53 54 RCPY...define.ST
00D090: 52 43 41 54 0D 0A 09 64 65 66 69 6E 65 09 53 54 RCAT...define.ST
00D0A0: 52 50 4F 53 0D 0A 09 65 6E 64 64 69 72 0D 0A 3B RPOS...enddir..;
00D0B0: 0D 0A 09 70 61 67 65 0D 0A 3B 0D 0A 3B 09 73 74 ...page..;..;.st
00D0C0: 72 6C 65 6E 0D 0A 3B 0D 0A 3B 09 72 65 74 75 72 rlen..;..;.retur
00D0D0: 6E 20 6C 65 6E 67 68 74 20 6F 66 20 73 74 72 69 n lenght of stri
00D0E0: 6E 67 0D 0A 3B 0D 0A 09 70 72 65 6C 75 64 65 09 ng..;...prelude.
00D0F0: 73 74 72 6C 65 6E 0D 0A 3B 0D 0A 0D 0A 73 74 72 strlen..;....str
00D100: 6C 65 6E 3A 0D 0A 09 63 61 6C 6C 09 61 72 67 68 len:...call.argh
00D110: 61 6B 09 09 3B 67 65 74 20 61 72 67 20 6C 69 73 ak..;get arg lis
00D120: 74 0D 0A 09 6C 68 6C 64 09 61 72 67 31 09 09 3B t...lhld.arg1..;
00D130: 67 65 74 20 70 6F 69 6E 74 20 74 6F 20 73 74 72 get point to str
00D140: 69 6E 67 0D 0A 09 78 63 68 67 09 09 09 3B 70 75 ing...xchg...;pu
00D150: 74 20 61 64 64 72 65 73 73 20 69 6E 20 64 65 0D t address in de.
00D160: 0A 09 6C 78 69 09 68 2C 30 09 09 3B 70 75 74 20 ..lxi.h,0..;put
00D170: 61 20 7A 65 72 6F 20 69 6E 20 68 6C 20 28 6C 65 a zero in hl (le
00D180: 6E 67 74 68 29 0D 0A 73 74 72 6C 65 6E 31 3A 0D ngth)..strlen1:.
00D190: 0A 09 6C 64 61 78 09 64 09 09 3B 67 65 74 20 76 ..ldax.d..;get v
00D1A0: 61 6C 75 65 20 6F 66 20 74 68 69 73 20 63 68 61 alue of this cha
00D1B0: 72 61 63 74 65 72 0D 0A 09 6F 72 61 09 61 09 09 racter...ora.a..
00D1C0: 3B 63 68 65 63 6B 20 74 6F 20 73 65 65 20 69 66 ;check to see if
00D1D0: 20 7A 65 72 6F 0D 0A 09 72 7A 09 09 09 3B 69 66 zero...rz...;if
00D1E0: 20 7A 65 72 6F 20 65 6E 64 20 6F 66 20 73 74 72 zero end of str
00D1F0: 69 6E 67 20 72 65 74 75 72 6E 0D 0A 09 69 6E 78 ing return...inx
00D200: 54 72 61 63 6B 2D 49 6E 66 6F 0D 0A 00 00 00 00 Track-Info......
00D210: 0B 00 01 00 02 09 52 E5 0B 00 C1 02 00 00 00 02 ......R.........
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: 32 20 6D 61 74 63 68 20 66 6F 75 6E 64 20 0D 0A 2 match found ..
00D310: 09 6C 64 61 78 09 64 09 09 3B 67 65 74 20 61 72 .ldax.d..;get ar
00D320: 67 31 0D 0A 09 63 6D 70 09 6D 09 09 3B 63 68 65 g1...cmp.m..;che
00D330: 63 6B 20 74 6F 20 73 65 65 20 69 66 20 6D 61 74 ck to see if mat
00D340: 63 68 0D 0A 09 72 65 6C 6F 63 09 6A 7A 2C 73 74 ch...reloc.jz,st
00D350: 72 70 6F 73 33 09 3B 6C 6F 6F 70 20 74 6F 20 65 rpos3.;loop to e
00D360: 6E 64 20 6F 66 20 73 74 72 69 6E 67 20 6F 72 20 nd of string or
00D370: 6E 6F 6D 61 74 63 68 0D 0A 09 70 6F 70 09 64 09 nomatch...pop.d.
00D380: 09 3B 72 65 6D 6F 76 65 20 73 65 61 72 63 68 20 .;remove search
00D390: 61 64 64 72 65 73 73 20 66 72 6F 6D 20 73 74 61 address from sta
00D3A0: 63 6B 0D 0A 09 72 65 6C 6F 63 09 6A 6D 70 2C 73 ck...reloc.jmp,s
00D3B0: 74 72 70 6F 73 31 09 3B 6C 6F 6F 70 20 74 69 6C trpos1.;loop til
00D3C0: 6C 20 65 6E 64 20 6F 66 20 61 72 67 31 0D 0A 73 l end of arg1..s
00D3D0: 74 72 70 6F 73 34 3A 0D 0A 09 70 6F 70 09 62 09 trpos4:...pop.b.
00D3E0: 09 3B 72 65 73 74 6F 72 65 20 63 20 73 74 61 63 .;restore c stac
00D3F0: 6B 20 70 6F 69 6E 74 65 72 0D 0A 09 6C 78 69 09 k pointer...lxi.
00D400: 68 2C 30 09 09 3B 61 72 67 32 20 6E 6F 74 20 66 h,0..;arg2 not f
00D410: 6F 75 6E 64 20 69 6E 20 61 72 67 31 0D 0A 09 72 ound in arg1...r
00D420: 65 74 0D 0A 73 74 72 70 6F 73 35 3A 0D 0A 09 6D et..strpos5:...m
00D430: 6F 76 09 68 2C 62 09 09 3B 61 72 67 32 20 66 6F ov.h,b..;arg2 fo
00D440: 75 6E 64 20 69 6E 20 61 72 67 31 0D 0A 09 6D 6F und in arg1...mo
00D450: 76 09 6C 2C 63 0D 0A 09 70 6F 70 09 64 09 09 3B v.l,c...pop.d..;
00D460: 72 65 6D 6F 76 65 20 6A 75 6E 6B 20 66 72 6F 6D remove junk from
00D470: 20 73 74 61 63 6B 0D 0A 09 70 6F 70 09 62 09 09 stack...pop.b..
00D480: 3B 72 65 73 74 6F 72 65 20 62 20 73 74 61 63 6B ;restore b stack
00D490: 20 70 6F 69 6E 74 65 72 0D 0A 09 72 65 74 0D 0A pointer...ret..
00D4A0: 3B 0D 0A 3B 0D 0A 09 70 6F 73 74 6C 75 64 65 20 ;..;...postlude
00D4B0: 73 74 72 70 6F 73 0D 0A 09 65 6E 64 0D 0A 1A 1A strpos...end....
00D4C0: 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A ................
00D4D0: 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A ................
00D4E0: 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A ................
00D4F0: 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A ................
00D500: 0A 2F 2A 20 20 20 20 20 20 44 65 66 69 6E 65 20 ./* Define
00D510: 73 79 73 74 65 6D 20 64 65 70 65 6E 64 65 6E 74 system dependent
00D520: 20 70 61 72 61 6D 65 74 65 72 73 20 20 20 20 20 parameters
00D530: 20 2A 2F 0D 0A 0D 0A 2F 2A 20 20 20 20 20 20 53 */..../* S
00D540: 74 61 6E 64 2D 61 6C 6F 6E 65 20 64 65 66 69 6E tand-alone defin
00D550: 69 74 69 6F 6E 73 20 20 20 20 20 20 20 20 20 20 itions
00D560: 20 20 20 20 20 20 20 2A 2F 0D 0A 0D 0A 23 64 65 */....#de
00D570: 66 69 6E 65 20 42 55 46 53 49 5A 09 31 30 33 30 fine BUFSIZ.1030
00D580: 0D 0A 23 64 65 66 69 6E 65 20 45 52 52 4F 52 09 ..#define ERROR.
00D590: 2D 31 0D 0A 23 64 65 66 69 6E 65 20 46 41 4C 53 -1..#define FALS
00D5A0: 45 09 30 0D 0A 23 64 65 66 69 6E 65 20 54 52 55 E.0..#define TRU
00D5B0: 45 09 31 0D 0A 23 64 65 66 69 6E 65 20 65 6F 6C E.1..#define eol
00D5C0: 20 09 31 33 09 0D 0A 23 64 65 66 69 6E 65 20 43 .13...#define C
00D5D0: 52 09 31 33 09 0D 0A 23 64 65 66 69 6E 65 20 4C R.13...#define L
00D5E0: 46 09 31 30 0D 0A 23 64 65 66 69 6E 65 20 42 53 F.10..#define BS
00D5F0: 09 38 0D 0A 23 64 65 66 69 6E 65 20 54 42 09 39 .8..#define TB.9
00D600: 0D 0A 23 64 65 66 69 6E 65 20 46 46 09 31 32 0D ..#define FF.12.
00D610: 0A 0D 0A 2F 2A 20 20 20 20 20 20 44 65 66 69 6E .../* Defin
00D620: 65 20 73 79 6D 62 6F 6C 20 74 61 62 6C 65 20 70 e symbol table p
00D630: 61 72 61 6D 65 74 65 72 73 20 20 20 20 20 20 20 arameters
00D640: 20 20 20 2A 2F 0D 0A 23 64 65 66 69 6E 65 20 6C */..#define l
00D650: 76 61 6C 73 69 7A 65 20 33 0D 0A 23 64 65 66 69 valsize 3..#defi
00D660: 6E 65 20 53 57 49 54 43 48 5F 4D 41 58 20 32 35 ne SWITCH_MAX 25
00D670: 34 0D 0A 23 64 65 66 69 6E 65 20 73 79 6D 73 69 4..#define symsi
00D680: 7A 20 20 31 35 0D 0A 23 64 65 66 69 6E 65 20 73 z 15..#define s
00D690: 79 6D 74 62 73 7A 20 36 30 30 30 0D 0A 23 64 65 ymtbsz 6000..#de
00D6A0: 66 69 6E 65 20 6E 75 6D 67 6C 62 73 20 33 30 30 fine numglbs 300
00D6B0: 0D 0A 23 64 65 66 69 6E 65 20 73 74 61 72 74 67 ..#define startg
00D6C0: 6C 62 20 73 79 6D 74 61 62 0D 0A 23 64 65 66 69 lb symtab..#defi
00D6D0: 6E 65 20 65 6E 64 67 6C 62 20 20 73 74 61 72 74 ne endglb start
00D6E0: 67 6C 62 2B 6E 75 6D 67 6C 62 73 2A 73 79 6D 73 glb+numglbs*syms
00D6F0: 69 7A 0D 0A 23 64 65 66 69 6E 65 20 73 74 61 72 iz..#define star
00D700: 53 54 52 4C 45 CE 05 02 53 54 52 43 50 D9 1E 02 STRLE...STRCP...
00D710: 53 54 52 43 41 D4 38 02 53 54 52 50 4F D3 5F 02 STRCA.8.STRPO._.
00D720: 80 A3 02 CD BB 0D CD B5 0D C3 FB 0C CD A0 0D C3 .£..............
00D730: FB 0C CD 96 0D FE 38 CA 7B 0C E6 08 C4 82 11 79 ......8.{......y
00D740: E6 30 B0 C3 F8 0C CD 32 0F CD B5 0D C3 FB 0C CD .0.....2........
00D750: 96 0D B0 47 CD BB 0D CD 8B 0D B0 C3 F8 0C CD 96 ...G............
00D760: 0D B0 CD 31 0F CD BB 0D CD AF 0D C3 FB 0C CD 32 ...1...........2
00D770: 0F CD AF 0D C3 FB 0C CD 96 0D E6 28 C4 82 11 79 ...........(...y
00D780: E6 10 B0 C3 F8 0C CD 32 0F CD B5 0D C3 FB 0C CD .......2........
00D790: 8B 0D B0 C3 F8 0C CD 96 0D B0 C3 F8 0C CD 96 0D ................
00D7A0: E6 08 C4 82 11 79 E6 30 B0 C3 F8 0C CD 96 0D B0 .....y.0........
00D7B0: C3 F8 0C CD 32 0F CD AF 0D C3 FB 0C CD 31 0F CD ....2........1..
00D7C0: F4 0E CD E3 0E C3 D5 0D 10 27 E8 03 64 00 0A 00 .........'..d...
00D7D0: 01 00 06 05 21 04 0D 5E 23 56 23 E5 2A DC 11 0E ....!..^#V#.*...
00D7E0: 30 7D 93 6F 7C 9A 67 DA 2A 0D 0C C3 1D 0D 19 22 0}.o|.g.*......"
00D7F0: DC 11 3A DB 11 B7 CA 44 0D 78 3D CA 44 0D 79 FE ..:....D.x=.D.y.
00D800: 53 54 52 4C 45 CE 05 02 53 54 52 43 50 D9 1E 02 STRLE...STRCP...
00D810: 53 54 52 43 41 D4 38 02 53 54 52 50 4F D3 5F 02 STRCA.8.STRPO._.
00D820: 80 A3 02 CD BB 0D CD B5 0D C3 FB 0C CD A0 0D C3 .£..............
00D830: FB 0C CD 96 0D FE 38 CA 7B 0C E6 08 C4 82 11 79 ......8.{......y
00D840: E6 30 B0 C3 F8 0C CD 32 0F CD B5 0D C3 FB 0C CD .0.....2........
00D850: 96 0D B0 47 CD BB 0D CD 8B 0D B0 C3 F8 0C CD 96 ...G............
00D860: 0D B0 CD 31 0F CD BB 0D CD AF 0D C3 FB 0C CD 32 ...1...........2
00D870: 0F CD AF 0D C3 FB 0C CD 96 0D E6 28 C4 82 11 79 ...........(...y
00D880: E6 10 B0 C3 F8 0C CD 32 0F CD B5 0D C3 FB 0C CD .......2........
00D890: 8B 0D B0 C3 F8 0C CD 96 0D B0 C3 F8 0C CD 96 0D ................
00D8A0: E6 08 C4 82 11 79 E6 30 B0 C3 F8 0C CD 96 0D B0 .....y.0........
00D8B0: C3 F8 0C CD 32 0F CD AF 0D C3 FB 0C CD 31 0F CD ....2........1..
00D8C0: F4 0E CD E3 0E C3 D5 0D 10 27 E8 03 64 00 0A 00 .........'..d...
00D8D0: 01 00 06 05 21 04 0D 5E 23 56 23 E5 2A DC 11 0E ....!..^#V#.*...
00D8E0: 30 7D 93 6F 7C 9A 67 DA 2A 0D 0C C3 1D 0D 19 22 0}.o|.g.*......"
00D8F0: DC 11 3A DB 11 B7 CA 44 0D 78 3D CA 44 0D 79 FE ..:....D.x=.D.y.
00D900: 74 6C 6F 63 20 65 6E 64 67 6C 62 2B 73 79 6D 73 tloc endglb+syms
00D910: 69 7A 0D 0A 23 64 65 66 69 6E 65 20 65 6E 64 6C iz..#define endl
00D920: 6F 63 20 20 73 79 6D 74 61 62 2B 73 79 6D 74 62 oc symtab+symtb
00D930: 73 7A 2D 73 79 6D 73 69 7A 0D 0A 0D 0A 2F 2A 20 sz-symsiz..../*
00D940: 20 20 20 20 20 44 65 66 69 6E 65 20 73 79 6D 62 Define symb
00D950: 6F 6C 20 74 61 62 6C 65 20 65 6E 74 72 79 20 66 ol table entry f
00D960: 6F 72 6D 61 74 20 20 20 20 20 20 20 20 2A 2F 0D ormat */.
00D970: 0A 0D 0A 23 64 65 66 69 6E 65 20 6E 61 6D 65 20 ...#define name
00D980: 20 20 20 30 0D 0A 23 64 65 66 69 6E 65 20 69 64 0..#define id
00D990: 65 6E 74 20 20 20 39 0D 0A 23 64 65 66 69 6E 65 ent 9..#define
00D9A0: 20 74 79 70 65 20 20 20 20 31 30 0D 0A 23 64 65 type 10..#de
00D9B0: 66 69 6E 65 20 69 6E 64 63 6E 74 09 31 31 0D 0A fine indcnt.11..
00D9C0: 23 64 65 66 69 6E 65 20 73 74 6F 72 61 67 65 20 #define storage
00D9D0: 31 32 0D 0A 23 64 65 66 69 6E 65 20 6F 66 66 73 12..#define offs
00D9E0: 65 74 20 20 31 33 0D 0A 23 64 65 66 69 6E 65 20 et 13..#define
00D9F0: 6F 66 66 73 65 74 31 09 31 34 0D 0A 2F 2A 20 20 offset1.14../*
00DA00: 20 20 20 20 53 79 73 74 65 6D 20 77 69 64 65 20 System wide
00DA10: 6E 61 6D 65 20 73 69 7A 65 20 28 66 6F 72 20 73 name size (for s
00DA20: 79 6D 62 6F 6C 73 29 20 20 20 20 20 2A 2F 0D 0A ymbols) */..
00DA30: 0D 0A 23 64 65 66 69 6E 65 20 6E 61 6D 65 73 69 ..#define namesi
00DA40: 7A 65 20 39 0D 0A 23 64 65 66 69 6E 65 20 6E 61 ze 9..#define na
00DA50: 6D 65 6D 61 78 20 20 38 0D 0A 0D 0A 2F 2A 20 20 memax 8..../*
00DA60: 20 20 20 20 44 65 66 69 6E 65 20 70 6F 73 73 69 Define possi
00DA70: 62 6C 65 20 65 6E 74 72 69 65 73 20 66 6F 72 20 ble entries for
00DA80: 22 69 64 65 6E 74 22 20 20 20 20 20 2A 2F 0D 0A "ident" */..
00DA90: 0D 0A 23 64 65 66 69 6E 65 20 76 61 72 69 61 62 ..#define variab
00DAA0: 6C 65 09 31 09 09 2F 2A 20 61 20 6E 6F 72 6D 61 le.1../* a norma
00DAB0: 6C 20 76 61 72 62 6C 65 20 2A 2F 0D 0A 23 64 65 l varble */..#de
00DAC0: 66 69 6E 65 20 61 72 72 61 79 09 09 32 09 09 2F fine array..2../
00DAD0: 2A 20 61 72 72 61 79 20 6F 66 20 76 61 72 62 6C * array of varbl
00DAE0: 65 73 20 2A 2F 0D 0A 23 64 65 66 69 6E 65 20 70 es */..#define p
00DAF0: 6F 69 6E 74 65 72 09 09 33 09 09 2F 2A 20 70 6F ointer..3../* po
00DB00: 53 54 52 4C 45 00 12 00 CD 37 03 2A 9F 05 EB 21 STRLE....7.*...!
00DB10: 00 00 1A B7 C8 23 13 C3 0A 00 01 00 10 00 00 13 .....#..........
00DB20: 00 CD 37 03 2A 9F 05 EB 2A A1 05 7E 12 B7 C8 23 ..7.*...*..~...#
00DB30: 13 C3 0A 00 01 00 11 00 00 1C 00 CD 37 03 2A 9F ............7.*.
00DB40: 05 EB 2A A1 05 1A B7 CA 13 00 13 C3 0A 00 7E 12 ..*...........~.
00DB50: B7 C8 23 13 C3 13 00 03 00 0D 00 11 00 1A 00 00 ..#.............
00DB60: 35 00 CD 37 03 C5 2A 9F 05 EB 01 00 00 2A A1 05 5..7..*......*..
00DB70: 1A B7 CA 2B 00 03 13 BE C2 0E 00 D5 1B 23 13 7E ...+.........#.~
00DB80: B7 CA 30 00 1A BE CA 1B 00 D1 C3 0B 00 C1 21 00 ..0...........!.
00DB90: 00 C9 60 69 D1 C1 C9 05 00 11 00 17 00 20 00 25 ..`i......... .%
00DBA0: 00 29 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .)..............
00DBB0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
00DBC0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
00DBD0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
00DBE0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
00DBF0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
00DC00: 2B 20 3C 52 45 54 55 52 4E 3E 0D 0A 38 20 4E 20 + <RETURN>..8 N
00DC10: 53 20 22 5E 41 22 20 20 20 20 20 20 20 20 20 43 S "^A" C
00DC20: 55 52 53 4F 52 20 4C 45 46 54 0D 0A 38 20 43 20 URSOR LEFT..8 C
00DC30: 22 5E 27 23 39 45 27 22 0D 0A 39 20 4E 20 53 20 "^'#9E'"..9 N S
00DC40: 22 5E 57 22 20 20 20 20 20 20 20 20 20 43 4F 50 "^W" COP
00DC50: 59 3A 20 72 65 70 65 61 74 20 6C 61 73 74 20 6C Y: repeat last l
00DC60: 69 6E 65 0D 0A 39 20 43 20 22 5E 52 22 20 20 20 ine..9 C "^R"
00DC70: 20 20 20 20 20 20 20 3C 43 54 52 4C 3E 20 43 4F <CTRL> CO
00DC80: 50 59 3A 20 69 67 6E 6F 72 65 20 63 75 72 72 65 PY: ignore curre
00DC90: 6E 74 20 6C 69 6E 65 20 61 6E 64 20 72 65 70 65 nt line and repe
00DCA0: 61 74 0D 0A 31 35 20 43 20 22 5E 27 23 38 45 27 at..15 C "^'#8E'
00DCB0: 22 20 20 20 20 20 3C 43 54 52 4C 3E 20 30 3A 20 " <CTRL> 0:
00DCC0: 27 42 3A 3D 2A 2E 2A 27 20 28 66 6F 72 20 50 49 'B:=*.*' (for PI
00DCD0: 50 29 0D 0A 31 36 20 4E 20 53 20 22 5E 47 22 20 P)..16 N S "^G"
00DCE0: 20 20 20 20 20 20 20 43 4C 52 0D 0A 31 36 20 43 CLR..16 C
00DCF0: 20 22 5E 4B 22 20 20 20 20 20 20 20 20 20 3C 43 "^K" <C
00DD00: 69 6E 74 65 72 20 74 6F 20 61 20 76 61 72 62 6C inter to a varbl
00DD10: 65 20 2A 2F 0D 0A 23 64 65 66 69 6E 65 20 66 75 e */..#define fu
00DD20: 6E 63 74 69 6F 6E 09 34 09 09 2F 2A 20 65 6E 74 nction.4../* ent
00DD30: 72 79 20 69 73 20 61 20 66 75 6E 63 74 69 6F 6E ry is a function
00DD40: 20 2A 2F 0D 0A 2F 2A 20 20 20 20 20 20 44 65 66 */../* Def
00DD50: 69 6E 65 20 70 6F 73 73 69 62 6C 65 20 65 6E 74 ine possible ent
00DD60: 72 69 65 73 20 66 6F 72 20 22 74 79 70 65 22 20 ries for "type"
00DD70: 20 20 20 20 20 2A 2F 0D 0A 0D 0A 23 64 65 66 69 */....#defi
00DD80: 6E 65 20 63 63 68 61 72 20 20 20 31 0D 0A 23 64 ne cchar 1..#d
00DD90: 65 66 69 6E 65 20 63 69 6E 74 20 20 20 20 32 0D efine cint 2.
00DDA0: 0A 0D 0A 2F 2A 09 4C 65 6E 67 68 74 20 6F 66 20 .../*.Lenght of
00DDB0: 70 6F 73 73 69 62 6C 65 20 65 6E 74 72 69 65 73 possible entries
00DDC0: 20 66 6F 72 20 22 74 79 70 65 22 09 2A 2F 0D 0A for "type".*/..
00DDD0: 0D 0A 23 64 65 66 69 6E 65 20 6C 63 68 61 72 09 ..#define lchar.
00DDE0: 31 0D 0A 23 64 65 66 69 6E 65 20 6C 69 6E 74 09 1..#define lint.
00DDF0: 32 0D 0A 23 64 65 66 69 6E 65 20 6C 70 6F 69 6E 2..#define lpoin
00DE00: 74 09 32 0D 0A 0D 0A 2F 2A 20 20 20 20 20 20 44 t.2..../* D
00DE10: 65 66 69 6E 65 20 70 6F 73 73 69 62 6C 65 20 65 efine possible e
00DE20: 6E 74 72 69 65 73 20 66 6F 72 20 22 73 74 6F 72 ntries for "stor
00DE30: 61 67 65 22 20 20 20 2A 2F 0D 0A 0D 0A 23 64 65 age" */....#de
00DE40: 66 69 6E 65 20 73 74 61 74 69 6B 20 20 31 0D 0A fine statik 1..
00DE50: 23 64 65 66 69 6E 65 20 73 74 6B 6C 6F 63 20 20 #define stkloc
00DE60: 32 0D 0A 23 64 65 66 69 6E 65 20 73 74 6B 61 72 2..#define stkar
00DE70: 67 20 20 33 0D 0A 0D 0A 2F 2A 09 76 61 6C 75 65 g 3..../*.value
00DE80: 73 20 72 65 74 75 72 6E 65 64 20 62 79 20 68 65 s returned by he
00DE90: 69 72 78 78 20 09 09 2A 2F 0D 0A 0D 0A 23 64 65 irxx ..*/....#de
00DEA0: 66 69 6E 65 09 4C 4F 41 44 45 44 09 09 30 09 2F fine.LOADED..0./
00DEB0: 2A 20 76 61 6C 75 65 20 6F 6E 20 74 6F 70 20 6F * value on top o
00DEC0: 66 20 73 74 61 63 6B 20 2A 2F 0D 0A 23 64 65 66 f stack */..#def
00DED0: 69 6E 65 20 41 44 44 52 45 53 53 09 09 31 09 2F ine ADDRESS..1./
00DEE0: 2A 20 61 64 64 72 65 73 73 20 6F 66 20 6C 76 61 * address of lva
00DEF0: 6C 75 65 20 6F 6E 20 73 74 61 63 6B 20 2A 2F 0D lue on stack */.
00DF00: 2F 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A /***************
00DF10: 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A ****************
00DF20: 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A ****************
00DF30: 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A ****************
00DF40: 2A 2A 2A 2A 2A 2A 2F 0D 0A 2F 2A 20 20 20 20 20 ******/../*
00DF50: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
00DF60: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
00DF70: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
00DF80: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2A 2F */
00DF90: 0D 0A 2F 2A 20 20 20 54 68 69 73 20 43 20 63 6F ../* This C co
00DFA0: 6D 70 69 6C 65 72 20 69 73 20 63 6F 70 69 65 64 mpiler is copied
00DFB0: 20 66 72 6F 6D 20 44 72 2E 20 44 6F 62 62 27 73 from Dr. Dobb's
00DFC0: 20 4A 6F 75 72 6E 61 6C 20 6F 66 20 43 6F 6D 70 Journal of Comp
00DFD0: 75 74 65 72 20 20 20 2A 2F 0D 0A 2F 2A 20 20 20 uter */../*
00DFE0: 20 20 20 20 20 43 61 6C 69 73 74 68 65 6E 69 63 Calisthenic
00DFF0: 73 20 26 20 4F 72 74 68 6F 64 6F 6E 74 69 61 20 s & Orthodontia
00E000: 28 69 73 73 75 65 20 6E 75 6D 62 65 72 20 34 35 (issue number 45
00E010: 29 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 )
00E020: 2A 2F 0D 0A 2F 2A 20 20 20 2D 2D 20 44 69 73 74 */../* -- Dist
00E030: 72 69 62 75 74 69 6F 6E 20 61 6E 64 20 75 73 65 ribution and use
00E040: 20 69 73 20 75 6E 72 65 73 74 72 69 63 74 65 64 is unrestricted
00E050: 20 66 6F 72 20 6E 6F 6E 2D 63 6F 6D 6D 65 72 63 for non-commerc
00E060: 69 61 6C 20 75 73 65 2E 20 2A 2F 0D 0A 2F 2A 20 ial use. */../*
00E070: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
00E080: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
00E090: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
00E0A0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
00E0B0: 20 20 2A 2F 0D 0A 2F 2A 20 20 20 20 20 20 20 20 */../*
00E0C0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
00E0D0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
00E0E0: 20 20 20 20 20 20 20 20 20 52 41 46 20 38 2D 38 RAF 8-8
00E0F0: 2D 38 30 20 20 20 20 20 20 20 20 2A 2F 0D 0A 2F -80 */../
00E100: 0A 23 64 65 66 69 6E 65 20 4E 4F 54 4C 4F 41 44 .#define NOTLOAD
00E110: 45 44 09 32 09 2F 2A 20 61 64 64 72 65 73 73 20 ED.2./* address
00E120: 69 6E 20 6C 76 61 6C 75 65 20 69 6E 20 61 72 72 in lvalue in arr
00E130: 61 79 20 6E 6F 74 20 6C 6F 61 64 65 64 20 2A 2F ay not loaded */
00E140: 0D 0A 23 64 65 66 69 6E 65 20 43 4F 4E 53 54 41 ..#define CONSTA
00E150: 4E 54 09 33 09 2F 2A 20 63 6F 6E 73 74 61 6E 74 NT.3./* constant
00E160: 20 69 6E 20 6C 76 61 6C 20 2A 2F 0D 0A 2F 2A 20 in lval */../*
00E170: 20 20 20 20 20 44 65 66 69 6E 65 20 74 68 65 20 Define the
00E180: 22 77 68 69 6C 65 22 20 73 74 61 74 65 6D 65 6E "while" statemen
00E190: 74 20 71 75 65 75 65 20 20 20 20 20 20 2A 2F 0D t queue */.
00E1A0: 0A 0D 0A 23 64 65 66 69 6E 65 20 77 71 74 61 62 ...#define wqtab
00E1B0: 73 7A 20 31 30 30 0D 0A 23 64 65 66 69 6E 65 20 sz 100..#define
00E1C0: 77 71 73 69 7A 20 20 20 36 0D 0A 23 64 65 66 69 wqsiz 6..#defi
00E1D0: 6E 65 20 77 71 6D 61 78 20 20 20 77 71 2B 77 71 ne wqmax wq+wq
00E1E0: 74 61 62 73 7A 2D 77 71 73 69 7A 0D 0A 0D 0A 2F tabsz-wqsiz..../
00E1F0: 2A 20 20 20 20 20 20 44 65 66 69 6E 65 20 65 6E * Define en
00E200: 74 72 79 20 6F 66 66 73 65 74 73 20 69 6E 20 77 try offsets in w
00E210: 68 69 6C 65 20 71 75 65 75 65 20 20 20 20 20 2A hile queue *
00E220: 2F 0D 0A 0D 0A 23 64 65 66 69 6E 65 20 77 71 73 /....#define wqs
00E230: 79 6D 20 20 20 30 0D 0A 23 64 65 66 69 6E 65 20 ym 0..#define
00E240: 77 71 73 70 20 20 20 20 31 0D 0A 23 64 65 66 69 wqsp 1..#defi
00E250: 6E 65 20 77 71 6C 6F 6F 70 20 20 32 0D 0A 23 64 ne wqloop 2..#d
00E260: 65 66 69 6E 65 20 77 71 6C 61 62 20 20 20 33 0D efine wqlab 3.
00E270: 0A 23 64 65 66 69 6E 65 20 77 71 65 6E 64 09 34 .#define wqend.4
00E280: 0D 0A 23 64 65 66 69 6E 65 20 77 71 62 6F 64 79 ..#define wqbody
00E290: 09 35 0D 0A 2F 2A 20 20 20 20 20 20 44 65 66 69 .5../* Defi
00E2A0: 6E 65 20 74 68 65 20 6C 69 74 65 72 61 6C 20 70 ne the literal p
00E2B0: 6F 6F 6C 20 20 20 20 20 20 20 20 20 20 20 20 20 ool
00E2C0: 20 20 20 20 2A 2F 0D 0A 0D 0A 23 64 65 66 69 6E */....#defin
00E2D0: 65 20 6C 69 74 61 62 73 7A 20 32 30 30 30 0D 0A e litabsz 2000..
00E2E0: 23 64 65 66 69 6E 65 20 6C 69 74 6D 61 78 20 20 #define litmax
00E2F0: 6C 69 74 61 62 73 7A 2D 31 0D 0A 0D 0A 2F 2A 20 litabsz-1..../*
00E300: 2A 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 *
00E310: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
00E320: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
00E330: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
00E340: 20 20 20 20 2A 2F 0D 0A 2F 2A 2A 2A 2A 2A 2A 2A */../*******
00E350: 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A ****************
00E360: 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A ****************
00E370: 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A ****************
00E380: 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2F 0D **************/.
00E390: 0A 0D 0A 2F 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A .../************
00E3A0: 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A ****************
00E3B0: 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A ****************
00E3C0: 2A 2A 2A 2A 2F 0D 0A 2F 2A 20 20 20 20 20 20 20 ****/../*
00E3D0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
00E3E0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
00E3F0: 20 20 20 20 20 20 20 2A 2F 0D 0A 2F 2A 20 20 20 */../*
00E400: 20 20 20 20 20 20 20 20 20 20 73 6D 61 6C 6C 2D small-
00E410: 63 20 63 6F 6D 70 69 6C 65 72 20 20 20 20 20 20 c compiler
00E420: 20 20 20 20 20 20 20 20 20 20 20 2A 2F 0D 0A 2F */../
00E430: 2A 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 *
00E440: 20 20 72 65 76 2E 20 31 2E 31 20 20 20 20 20 20 rev. 1.1
00E450: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2A *
00E460: 2F 0D 0A 2F 2A 20 20 20 20 20 20 20 20 20 20 20 /../*
00E470: 20 20 20 20 62 79 20 52 6F 6E 20 43 61 69 6E 20 by Ron Cain
00E480: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
00E490: 20 20 20 2A 2F 0D 0A 2F 2A 20 20 20 20 20 20 20 */../*
00E4A0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
00E4B0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
00E4C0: 20 20 20 20 20 20 20 2A 2F 0D 0A 2F 2A 2A 2A 2A */../****
00E4D0: 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A ****************
00E4E0: 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A ****************
00E4F0: 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2F 0D 0A 0D ************/...
00E500: 54 72 61 63 6B 2D 49 6E 66 6F 0D 0A 00 00 00 00 Track-Info......
00E510: 0C 00 01 00 02 09 52 E5 0C 00 C1 02 00 00 00 02 ......R.........
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: 20 20 20 20 20 44 65 66 69 6E 65 20 74 68 65 20 Define the
00E610: 69 6E 70 75 74 20 6C 69 6E 65 20 20 20 20 20 20 input line
00E620: 20 20 20 20 20 20 20 20 20 20 20 20 20 2A 2F 0D */.
00E630: 0A 0D 0A 23 64 65 66 69 6E 65 20 6C 69 6E 65 73 ...#define lines
00E640: 69 7A 65 20 38 30 0D 0A 23 64 65 66 69 6E 65 20 ize 80..#define
00E650: 6C 69 6E 65 6D 61 78 20 6C 69 6E 65 73 69 7A 65 linemax linesize
00E660: 2D 31 0D 0A 23 64 65 66 69 6E 65 20 6D 70 6D 61 -1..#define mpma
00E670: 78 20 20 20 6C 69 6E 65 6D 61 78 0D 0A 0D 0A 2F x linemax..../
00E680: 2A 20 20 20 20 20 20 44 65 66 69 6E 65 20 74 68 * Define th
00E690: 65 20 6D 61 63 72 6F 20 28 64 65 66 69 6E 65 29 e macro (define)
00E6A0: 20 70 6F 6F 6C 20 20 20 20 20 20 20 20 20 20 2A pool *
00E6B0: 2F 0D 0A 0D 0A 23 64 65 66 69 6E 65 20 6D 61 63 /....#define mac
00E6C0: 71 73 69 7A 65 20 31 30 30 30 0D 0A 23 64 65 66 qsize 1000..#def
00E6D0: 69 6E 65 20 6D 61 63 6D 61 78 20 20 6D 61 63 71 ine macmax macq
00E6E0: 73 69 7A 65 2D 31 0D 0A 0D 0A 2F 2A 20 20 20 20 size-1..../*
00E6F0: 20 20 44 65 66 69 6E 65 20 73 74 61 74 65 6D 65 Define stateme
00E700: 6E 74 20 74 79 70 65 73 20 28 74 6F 6B 65 6E 73 nt types (tokens
00E710: 29 20 20 20 20 20 20 20 20 20 2A 2F 0D 0A 0D 0A ) */....
00E720: 23 64 65 66 69 6E 65 20 73 74 69 66 20 20 20 20 #define stif
00E730: 31 0D 0A 23 64 65 66 69 6E 65 20 73 74 77 68 69 1..#define stwhi
00E740: 6C 65 20 32 0D 0A 23 64 65 66 69 6E 65 20 73 74 le 2..#define st
00E750: 66 6F 72 09 33 0D 0A 23 64 65 66 69 6E 65 20 73 for.3..#define s
00E760: 74 73 77 69 74 63 68 20 34 0D 0A 23 64 65 66 69 tswitch 4..#defi
00E770: 6E 65 20 73 74 72 65 74 75 72 6E 20 35 0D 0A 23 ne streturn 5..#
00E780: 64 65 66 69 6E 65 20 73 74 62 72 65 61 6B 20 36 define stbreak 6
00E790: 0D 0A 23 64 65 66 69 6E 65 20 73 74 63 6F 6E 74 ..#define stcont
00E7A0: 20 20 37 0D 0A 23 64 65 66 69 6E 65 20 73 74 61 7..#define sta
00E7B0: 73 6D 20 20 20 38 0D 0A 23 64 65 66 69 6E 65 20 sm 8..#define
00E7C0: 73 74 65 78 70 20 20 20 39 0D 0A 0D 0A 2F 2A 09 stexp 9..../*.
00E7D0: 6E 61 6D 65 20 6F 66 20 73 6F 6D 65 20 66 75 6E name of some fun
00E7E0: 63 74 69 6F 6E 20 63 61 6C 6C 65 64 20 62 79 20 ction called by
00E7F0: 63 6F 64 65 20 67 65 6E 20 73 74 65 70 20 2A 2F code gen step */
00E800: 20 20 20 20 20 2F 2A 20 77 6F 72 6B 20 70 74 72 /* work ptr
00E810: 20 74 6F 20 61 6E 79 20 63 68 61 72 20 62 75 66 to any char buf
00E820: 66 65 72 20 2A 2F 0D 0A 69 6E 74 20 20 20 20 20 fer */..int
00E830: 2A 69 70 74 72 3B 20 20 20 20 20 20 20 20 20 20 *iptr;
00E840: 2F 2A 20 77 6F 72 6B 20 70 74 72 20 74 6F 20 61 /* work ptr to a
00E850: 6E 79 20 69 6E 74 20 62 75 66 66 65 72 20 2A 2F ny int buffer */
00E860: 0D 0A 2F 2A 09 66 69 6C 65 20 69 6F 20 62 75 66 ../*.file io buf
00E870: 66 65 72 73 09 09 2A 2F 0D 0A 63 68 61 72 20 66 fers..*/..char f
00E880: 69 6E 70 5B 42 55 46 53 49 5A 5D 3B 09 09 2F 2A inp[BUFSIZ];../*
00E890: 20 69 6E 70 75 74 20 66 69 6C 65 20 62 75 66 66 input file buff
00E8A0: 65 72 20 2A 2F 0D 0A 63 68 61 72 20 66 69 6E 70 er */..char finp
00E8B0: 32 5B 42 55 46 53 49 5A 5D 3B 09 09 2F 2A 20 69 2[BUFSIZ];../* i
00E8C0: 6E 70 75 74 20 32 20 66 69 6C 65 20 62 75 66 66 nput 2 file buff
00E8D0: 65 72 20 2A 2F 0D 0A 63 68 61 72 20 66 6F 75 74 er */..char fout
00E8E0: 5B 42 55 46 53 49 5A 5D 3B 09 09 2F 2A 20 6F 75 [BUFSIZ];../* ou
00E8F0: 70 75 74 20 66 69 6C 65 20 62 75 66 66 65 72 20 put file buffer
00E900: 2A 2F 0D 0A 1A 6E 26 00 E5 CD 09 33 D1 21 00 01 */...n&....3.!..
00E910: 09 5E 23 56 13 72 2B 73 C3 5E 33 2A 11 9E 11 08 .^#V.r+s.^3*....
00E920: 00 CD F9 01 CD A9 01 D2 C4 33 2A 11 9E 11 02 00 .........3*.....
00E930: CD 3F 02 11 19 00 CD FA 02 19 11 08 00 EB CD CB .?..............
00E940: 02 C3 C7 33 21 01 00 EB 21 00 01 09 73 23 72 21 ...3!...!...s#r!
00E950: 00 01 09 5E 23 56 1B 72 2B 73 13 7A B3 CA F0 33 ...^#V.r+s.z...3
00E960: 21 E6 33 C3 E8 33 09 00 E5 CD 06 33 D1 C3 CF 33 !.3..3.....3...3
00E970: C3 02 34 21 F9 33 C3 FD 33 09 09 09 00 E5 CD 06 ..4!.3..3.......
00E980: ED 5B 43 6D 19 CD 04 56 CD DF 57 C3 AE 5A CD E5 .[Cm...V..W..Z..
00E990: 57 CD F3 55 CD 3C 5C 2A 39 6D 19 ED 5B 41 6D 19 W..U.<\*9m..[Am.
00E9A0: CD 04 56 2A 73 6D C3 DD 5A CD 83 58 3F D4 AF 58 ..V*sm..Z..X?..X
00E9B0: DC B7 58 9F E6 80 32 6D 6D C9 CD 7D 58 30 01 29 ..X...2mm..}X0.)
00E9C0: EB C9 CD 83 58 3F D8 CD 97 58 D8 CD AF 58 D8 C3 ....X?...X...X..
00E9D0: 5A 58 7C B5 C8 E5 CD FC 5C 44 4D 11 9C 00 AF ED ZX|.....\DM.....
00E9E0: 52 23 EB 67 6F 22 39 6D E1 D2 C6 5A 79 04 D6 0C R#.go"9m...Zy...
00E9F0: 20 FB 78 C3 D3 5A 2A 51 6D 3A 73 6D B7 28 05 CB .x..Z*Qm:sm.(..
00EA00: 0D 0A 0D 0A 23 64 65 66 69 6E 65 20 45 51 09 22 ....#define EQ."
00EA10: 40 63 6F 6D 70 22 09 09 0D 0A 23 64 65 66 69 6E @comp"....#defin
00EA20: 65 09 47 45 09 22 40 63 6F 6D 70 2B 32 35 68 22 e.GE."@comp+25h"
00EA30: 09 0D 0A 23 64 65 66 69 6E 65 20 47 54 09 22 40 ...#define GT."@
00EA40: 63 6F 6D 70 2B 31 32 68 22 09 0D 0A 23 64 65 66 comp+12h"...#def
00EA50: 69 6E 65 20 4C 45 09 22 40 63 6F 6D 70 2B 32 66 ine LE."@comp+2f
00EA60: 68 22 0D 0A 23 64 65 66 69 6E 65 20 4C 54 09 22 h"..#define LT."
00EA70: 40 63 6F 6D 70 2B 31 63 68 22 0D 0A 23 64 65 66 @comp+1ch"..#def
00EA80: 69 6E 65 20 4E 45 09 22 40 63 6F 6D 70 2B 31 39 ine NE."@comp+19
00EA90: 68 22 0D 0A 0D 0A 23 64 65 66 69 6E 65 20 55 47 h"....#define UG
00EAA0: 45 09 22 40 75 63 6F 6D 70 2B 31 33 68 22 0D 0A E."@ucomp+13h"..
00EAB0: 23 64 65 66 69 6E 65 20 55 47 54 09 22 40 75 63 #define UGT."@uc
00EAC0: 6F 6D 70 22 0D 0A 23 64 65 66 69 6E 65 09 55 4C omp"..#define.UL
00EAD0: 45 09 22 40 75 63 6F 6D 70 2B 31 63 68 22 0D 0A E."@ucomp+1ch"..
00EAE0: 23 64 65 66 69 6E 65 09 55 4C 54 09 22 40 75 63 #define.ULT."@uc
00EAF0: 6F 6D 70 2B 30 61 68 22 0D 0A 0D 0A 23 64 65 66 omp+0ah"....#def
00EB00: 69 6E 65 20 50 52 45 49 4E 43 09 22 40 69 6E 63 ine PREINC."@inc
00EB10: 64 65 63 22 0D 0A 23 64 65 66 69 6E 65 20 50 52 dec"..#define PR
00EB20: 45 44 45 43 09 22 40 69 6E 63 64 65 63 2B 30 38 EDEC."@incdec+08
00EB30: 68 22 0D 0A 23 64 65 66 69 6E 65 20 50 4F 53 54 h"..#define POST
00EB40: 49 4E 43 09 22 40 69 6E 63 64 65 63 2B 31 30 68 INC."@incdec+10h
00EB50: 22 0D 0A 23 64 65 66 69 6E 65 20 50 4F 53 54 44 "..#define POSTD
00EB60: 45 43 09 22 40 69 6E 64 65 63 2B 31 61 68 22 0D EC."@indec+1ah".
00EB70: 0A 0D 0A 2F 2A 20 20 20 20 20 20 4E 6F 77 20 72 .../* Now r
00EB80: 65 73 65 72 76 65 20 73 6F 6D 65 20 73 74 6F 72 eserve some stor
00EB90: 61 67 65 20 77 6F 72 64 73 20 20 20 20 20 20 20 age words
00EBA0: 20 20 20 2A 2F 0D 0A 0D 0A 63 68 61 72 20 20 20 */....char
00EBB0: 20 73 79 6D 74 61 62 5B 73 79 6D 74 62 73 7A 5D symtab[symtbsz]
00EBC0: 3B 20 20 20 20 20 20 20 20 2F 2A 20 73 79 6D 62 ; /* symb
00EBD0: 6F 6C 20 74 61 62 6C 65 20 2A 2F 0D 0A 63 68 61 ol table */..cha
00EBE0: 72 20 20 20 20 2A 67 6C 62 70 74 72 2C 2A 6C 6F r *glbptr,*lo
00EBF0: 63 70 74 72 3B 20 20 20 20 20 20 20 20 20 20 20 cptr;
00EC00: 63 63 31 20 63 31 2E 63 20 2D 65 20 38 30 30 30 cc1 c1.c -e 8000
00EC10: 0D 0A 63 63 31 20 63 32 2E 63 20 2D 65 20 38 30 ..cc1 c2.c -e 80
00EC20: 30 30 0D 0A 63 63 31 20 63 33 2E 63 20 2D 65 20 00..cc1 c3.c -e
00EC30: 38 30 30 30 0D 0A 63 63 31 20 63 34 2E 63 20 2D 8000..cc1 c4.c -
00EC40: 65 20 38 30 30 30 0D 0A 63 63 31 20 63 35 2E 63 e 8000..cc1 c5.c
00EC50: 20 2D 65 20 38 30 30 30 0D 0A 63 63 31 20 63 36 -e 8000..cc1 c6
00EC60: 2E 63 20 2D 65 20 38 30 30 30 0D 0A 63 63 31 20 .c -e 8000..cc1
00EC70: 63 37 2E 63 20 2D 65 20 38 30 30 30 0D 0A 63 63 c7.c -e 8000..cc
00EC80: 31 20 63 38 2E 63 20 2D 65 20 38 30 30 30 0D 0A 1 c8.c -e 8000..
00EC90: 63 63 31 20 63 39 2E 63 20 2D 65 20 38 30 30 30 cc1 c9.c -e 8000
00ECA0: 0D 0A 63 6C 69 6E 6B 20 63 31 20 63 32 20 63 33 ..clink c1 c2 c3
00ECB0: 20 63 34 20 63 35 20 63 36 20 63 37 20 63 38 20 c4 c5 c6 c7 c8
00ECC0: 63 39 20 63 31 20 63 32 20 63 33 20 63 34 20 63 c9 c1 c2 c3 c4 c
00ECD0: 35 20 63 36 20 63 37 20 63 38 20 63 39 20 20 2D 5 c6 c7 c8 c9 -
00ECE0: 72 20 65 30 30 20 2D 73 0D 0A 1A 20 20 2A 30 30 r e00 -s... *00
00ECF0: 30 35 2A 63 63 31 20 63 36 2E 63 20 20 20 20 20 05*cc1 c6.c
00ED00: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
00ED10: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
00ED20: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
00ED30: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
00ED40: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
00ED50: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
00ED60: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
00ED70: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
00ED80: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
00ED90: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
00EDA0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
00EDB0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
00EDC0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
00EDD0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
00EDE0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
00EDF0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
00EE00: 20 20 20 20 20 2F 2A 20 70 74 72 73 20 74 6F 20 /* ptrs to
00EE10: 6E 65 78 74 20 65 6E 74 72 69 65 73 20 2A 2F 0D next entries */.
00EE20: 0A 69 6E 74 20 20 20 20 20 77 71 5B 77 71 74 61 .int wq[wqta
00EE30: 62 73 7A 5D 3B 20 20 20 20 20 20 20 20 20 20 20 bsz];
00EE40: 20 2F 2A 20 77 68 69 6C 65 20 71 75 65 75 65 20 /* while queue
00EE50: 2A 2F 0D 0A 69 6E 74 20 20 20 20 20 2A 77 71 70 */..int *wqp
00EE60: 74 72 3B 20 20 20 20 20 20 20 20 20 20 20 20 20 tr;
00EE70: 20 20 20 20 2F 2A 20 70 74 72 20 74 6F 20 6E 65 /* ptr to ne
00EE80: 78 74 20 65 6E 74 72 79 20 2A 2F 0D 0A 0D 0A 63 xt entry */....c
00EE90: 68 61 72 20 20 20 20 6C 69 74 71 5B 6C 69 74 61 har litq[lita
00EEA0: 62 73 7A 5D 3B 20 20 20 20 20 20 20 20 20 20 2F bsz]; /
00EEB0: 2A 20 6C 69 74 65 72 61 6C 20 70 6F 6F 6C 20 2A * literal pool *
00EEC0: 2F 0D 0A 69 6E 74 20 20 20 20 20 6C 69 74 70 74 /..int litpt
00EED0: 72 3B 20 20 20 20 20 20 20 20 20 20 20 20 20 20 r;
00EEE0: 20 20 20 2F 2A 20 70 74 72 20 74 6F 20 6E 65 78 /* ptr to nex
00EEF0: 74 20 65 6E 74 72 79 20 2A 2F 0D 0A 0D 0A 63 68 t entry */....ch
00EF00: 61 72 20 20 20 20 6D 61 63 71 5B 6D 61 63 71 73 ar macq[macqs
00EF10: 69 7A 65 5D 3B 20 20 20 20 20 20 20 20 20 2F 2A ize]; /*
00EF20: 20 6D 61 63 72 6F 20 73 74 72 69 6E 67 20 62 75 macro string bu
00EF30: 66 66 65 72 20 2A 2F 0D 0A 69 6E 74 20 20 20 20 ffer */..int
00EF40: 20 6D 61 63 70 74 72 3B 20 20 20 20 20 20 20 20 macptr;
00EF50: 20 20 20 20 20 20 20 20 20 2F 2A 20 61 6E 64 20 /* and
00EF60: 69 74 73 20 69 6E 64 65 78 20 2A 2F 0D 0A 0D 0A its index */....
00EF70: 63 68 61 72 20 20 20 20 6C 69 6E 65 5B 6C 69 6E char line[lin
00EF80: 65 73 69 7A 65 5D 3B 20 20 20 20 20 20 20 20 20 esize];
00EF90: 2F 2A 20 70 61 72 73 69 6E 67 20 62 75 66 66 65 /* parsing buffe
00EFA0: 72 20 2A 2F 0D 0A 63 68 61 72 20 20 20 20 6D 6C r */..char ml
00EFB0: 69 6E 65 5B 6C 69 6E 65 73 69 7A 65 5D 3B 20 20 ine[linesize];
00EFC0: 20 20 20 20 20 20 2F 2A 20 74 65 6D 70 20 6D 61 /* temp ma
00EFD0: 63 72 6F 20 62 75 66 66 65 72 20 2A 2F 0D 0A 69 cro buffer */..i
00EFE0: 6E 74 20 20 20 20 20 6C 70 74 72 2C 6D 70 74 72 nt lptr,mptr
00EFF0: 3B 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2F ; /
00F000: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
00F010: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
00F020: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
00F030: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
00F040: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
00F050: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
00F060: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
00F070: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
00F080: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
00F090: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
00F0A0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
00F0B0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
00F0C0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
00F0D0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
00F0E0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
00F0F0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
00F100: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
00F110: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
00F120: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
00F130: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
00F140: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
00F150: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
00F160: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
00F170: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
00F180: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
00F190: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
00F1A0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
00F1B0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
00F1C0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
00F1D0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
00F1E0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
00F1F0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
00F200: 2A 20 70 74 72 73 20 69 6E 74 6F 20 65 61 63 68 * ptrs into each
00F210: 20 2A 2F 0D 0A 0D 0A 2F 2A 20 20 20 20 20 20 4D */..../* M
00F220: 69 73 63 20 73 74 6F 72 61 67 65 20 20 20 20 2A isc storage *
00F230: 2F 0D 0A 0D 0A 69 6E 74 20 20 20 20 20 6E 78 74 /....int nxt
00F240: 6C 61 62 2C 20 20 20 20 20 20 20 20 20 2F 2A 20 lab, /*
00F250: 6E 65 78 74 20 61 76 61 69 6C 20 6C 61 62 65 6C next avail label
00F260: 20 23 20 2A 2F 0D 0A 20 20 20 20 20 20 20 20 6C # */.. l
00F270: 69 74 6C 61 62 2C 20 20 20 20 20 20 20 20 20 2F itlab, /
00F280: 2A 20 6C 61 62 65 6C 20 23 20 61 73 73 69 67 6E * label # assign
00F290: 65 64 20 74 6F 20 6C 69 74 65 72 61 6C 20 70 6F ed to literal po
00F2A0: 6F 6C 20 2A 2F 0D 0A 20 20 20 20 20 20 20 20 73 ol */.. s
00F2B0: 70 2C 20 20 20 20 20 20 20 20 20 20 20 20 20 2F p, /
00F2C0: 2A 20 63 6F 6D 70 69 6C 65 72 20 72 65 6C 61 74 * compiler relat
00F2D0: 69 76 65 20 73 74 6B 20 70 74 72 20 2A 2F 0D 0A ive stk ptr */..
00F2E0: 20 20 20 20 20 20 20 20 61 72 67 73 74 6B 2C 20 argstk,
00F2F0: 20 20 20 20 20 20 20 20 2F 2A 20 66 75 6E 63 74 /* funct
00F300: 69 6F 6E 20 61 72 67 20 73 70 20 2A 2F 0D 0A 20 ion arg sp */..
00F310: 20 20 20 20 20 20 20 6E 63 6D 70 2C 20 20 20 20 ncmp,
00F320: 20 20 20 20 20 20 20 2F 2A 20 23 20 6F 70 65 6E /* # open
00F330: 20 63 6F 6D 70 6F 75 6E 64 20 73 74 61 74 65 6D compound statem
00F340: 65 6E 74 73 20 2A 2F 0D 0A 20 20 20 20 20 20 20 ents */..
00F350: 20 65 72 72 63 6E 74 2C 20 20 20 20 20 20 20 20 errcnt,
00F360: 20 2F 2A 20 23 20 65 72 72 6F 72 73 20 69 6E 20 /* # errors in
00F370: 63 6F 6D 70 69 6C 61 74 69 6F 6E 20 2A 2F 0D 0A compilation */..
00F380: 20 20 20 20 20 20 20 20 65 6F 66 2C 20 20 20 20 eof,
00F390: 20 20 20 20 20 20 20 20 2F 2A 20 73 65 74 20 6E /* set n
00F3A0: 6F 6E 2D 7A 65 72 6F 20 6F 6E 20 66 69 6E 61 6C on-zero on final
00F3B0: 20 69 6E 70 75 74 20 65 6F 66 20 2A 2F 0D 0A 20 input eof */..
00F3C0: 20 20 20 20 20 20 20 69 6E 70 75 74 2C 20 20 20 input,
00F3D0: 20 20 20 20 20 20 20 2F 2A 20 69 6F 62 20 23 20 /* iob #
00F3E0: 66 6F 72 20 69 6E 70 75 74 20 66 69 6C 65 20 2A for input file *
00F3F0: 2F 0D 0A 20 20 20 20 20 20 20 20 6F 75 74 70 75 /.. outpu
00F400: 2F 2A 09 3E 3E 3E 3E 3E 20 73 74 61 72 74 20 63 /*.>>>>> start c
00F410: 63 6C 20 3C 3C 3C 3C 3C 3C 09 09 2A 2F 0D 0A 2F cl <<<<<<..*/../
00F420: 2A 09 09 09 09 09 2A 2F 0D 0A 2F 2A 09 43 6F 6D *.....*/../*.Com
00F430: 70 69 6C 65 72 20 62 65 67 69 6E 73 20 65 78 65 piler begins exe
00F440: 63 75 74 69 6F 6E 20 68 65 72 65 20 20 2A 2F 0D cution here */.
00F450: 0A 2F 2A 09 09 09 09 09 2A 2F 0D 0A 23 69 66 6E ./*.....*/..#ifn
00F460: 64 65 66 20 54 52 55 45 09 2F 2A 73 65 65 20 69 def TRUE./*see i
00F470: 66 20 6E 65 65 64 20 74 6F 20 75 73 65 20 69 6E f need to use in
00F480: 63 6C 75 64 65 20 66 69 6C 65 20 2A 2F 0D 0A 23 clude file */..#
00F490: 69 6E 63 6C 75 64 65 20 3C 63 2E 64 65 66 3E 0D include <c.def>.
00F4A0: 0A 23 65 6E 64 69 66 0D 0A 6D 61 69 6E 28 29 0D .#endif..main().
00F4B0: 0A 09 7B 0D 0A 09 67 6C 62 70 74 72 3D 73 74 61 ..{...glbptr=sta
00F4C0: 72 74 67 6C 62 3B 09 2F 2A 20 63 6C 65 61 72 20 rtglb;./* clear
00F4D0: 67 6C 6F 62 61 6C 20 73 79 6D 62 6F 6C 73 20 2A global symbols *
00F4E0: 2F 0D 0A 09 6C 6F 63 70 74 72 3D 73 74 61 72 74 /...locptr=start
00F4F0: 6C 6F 63 3B 09 2F 2A 20 63 6C 65 61 72 20 6C 6F loc;./* clear lo
00F500: 63 61 6C 20 73 79 6D 62 6F 6C 73 20 2A 2F 0D 0A cal symbols */..
00F510: 09 77 71 70 74 72 3D 77 71 3B 09 09 2F 2A 20 63 .wqptr=wq;../* c
00F520: 6C 65 61 72 20 77 68 69 6C 65 20 71 75 65 75 65 lear while queue
00F530: 20 2A 2F 0D 0A 09 6D 61 63 70 74 72 3D 09 09 09 */...macptr=...
00F540: 2F 2A 20 63 6C 65 61 72 20 74 68 65 20 6D 61 63 /* clear the mac
00F550: 72 6F 20 70 6F 6F 6C 20 2A 2F 0D 0A 09 6C 69 74 ro pool */...lit
00F560: 70 74 72 3D 09 09 09 2F 2A 20 63 6C 65 61 72 20 ptr=.../* clear
00F570: 6C 69 74 65 72 61 6C 20 70 6F 6F 6C 20 2A 2F 0D literal pool */.
00F580: 0A 09 6E 78 74 6C 61 62 3D 20 09 09 2F 2A 20 6E ..nxtlab= ../* n
00F590: 65 78 74 20 6C 61 62 65 6C 20 74 6F 20 61 73 73 ext label to ass
00F5A0: 69 67 6E 20 2A 2F 0D 0A 09 73 70 20 3D 09 09 09 ign */...sp =...
00F5B0: 2F 2A 20 73 74 61 63 6B 70 74 72 20 28 72 65 6C /* stackptr (rel
00F5C0: 61 74 69 76 65 29 20 2A 2F 0D 0A 09 65 72 72 63 ative) */...errc
00F5D0: 6E 74 3D 09 09 09 2F 2A 20 6E 6F 20 65 72 72 6F nt=.../* no erro
00F5E0: 72 73 20 2A 2F 0D 0A 09 65 6F 66 3D 09 09 09 2F rs */...eof=.../
00F5F0: 2A 20 6E 6F 74 20 65 6F 66 20 79 65 74 20 2A 2F * not eof yet */
00F600: 74 2C 20 20 20 20 20 20 20 20 20 2F 2A 20 69 6F t, /* io
00F610: 62 20 23 20 66 6F 72 20 6F 75 74 70 75 74 20 66 b # for output f
00F620: 69 6C 65 20 28 69 66 20 61 6E 79 29 20 2A 2F 0D ile (if any) */.
00F630: 0A 20 20 20 20 20 20 20 20 69 6E 70 75 74 32 2C . input2,
00F640: 20 20 20 20 20 20 20 20 20 2F 2A 20 69 6F 62 20 /* iob
00F650: 23 20 66 6F 72 20 22 69 6E 63 6C 75 64 65 22 20 # for "include"
00F660: 74 69 74 6C 65 20 2A 2F 0D 0A 09 6C 69 6E 65 31 title */...line1
00F670: 2C 09 09 2F 2A 20 63 75 72 72 65 6E 74 20 6C 69 ,../* current li
00F680: 6E 65 20 6E 75 6D 62 65 72 20 69 6E 20 6D 61 69 ne number in mai
00F690: 6E 20 66 69 6C 65 20 2A 2F 0D 0A 09 6C 69 6E 65 n file */...line
00F6A0: 32 2C 09 09 2F 2A 20 63 75 72 72 65 6E 74 20 6C 2,../* current l
00F6B0: 69 6E 65 20 69 6E 20 69 6E 63 6C 75 64 65 20 66 ine in include f
00F6C0: 69 6C 65 20 2A 2F 0D 0A 20 20 20 20 20 20 20 20 ile */..
00F6D0: 63 74 65 78 74 2C 20 20 20 20 20 20 20 20 20 20 ctext,
00F6E0: 2F 2A 20 6E 6F 6E 2D 7A 65 72 6F 20 74 6F 20 69 /* non-zero to i
00F6F0: 6E 74 65 72 6D 69 78 20 63 2D 73 6F 75 72 63 65 ntermix c-source
00F700: 20 2A 2F 0D 0A 20 20 20 20 20 20 20 20 63 6D 6F */.. cmo
00F710: 64 65 2C 20 20 20 20 20 20 20 20 20 20 2F 2A 20 de, /*
00F720: 6E 6F 6E 2D 7A 65 72 6F 20 77 68 69 6C 65 20 70 non-zero while p
00F730: 61 72 73 69 6E 67 20 63 2D 63 6F 64 65 20 2A 2F arsing c-code */
00F740: 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ..
00F750: 20 20 20 20 20 20 20 20 20 20 2F 2A 20 7A 65 72 /* zer
00F760: 6F 20 77 68 65 6E 20 70 61 73 73 69 6E 67 20 61 o when passing a
00F770: 73 73 65 6D 62 6C 79 20 63 6F 64 65 20 2A 2F 0D ssembly code */.
00F780: 0A 09 63 69 66 2C 09 09 2F 2A 20 73 74 61 74 65 ..cif,../* state
00F790: 20 6F 66 20 70 72 65 70 72 6F 63 65 73 73 20 69 of preprocess i
00F7A0: 66 20 73 74 61 74 65 6D 65 6E 74 20 2A 2F 0D 0A f statement */..
00F7B0: 20 20 20 20 20 20 20 20 6C 61 73 74 73 74 3B 20 lastst;
00F7C0: 20 20 20 20 20 20 20 20 2F 2A 20 6C 61 73 74 20 /* last
00F7D0: 65 78 65 63 75 74 65 64 20 73 74 61 74 6D 65 6E executed statmen
00F7E0: 74 20 74 79 70 65 20 2A 2F 0D 0A 0D 0A 63 68 61 t type */....cha
00F7F0: 72 20 20 20 20 2A 63 70 74 72 3B 20 20 20 20 20 r *cptr;
00F800: 54 72 61 63 6B 2D 49 6E 66 6F 0D 0A 00 00 00 00 Track-Info......
00F810: 0D 00 01 00 02 09 52 E5 0D 00 C1 02 00 00 00 02 ......R.........
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: 0D 0A 09 69 6E 70 75 74 3D 09 09 09 2F 2A 20 6E ...input=.../* n
00F910: 6F 20 69 6E 70 75 74 20 66 69 6C 65 20 2A 2F 0D o input file */.
00F920: 0A 09 69 6E 70 75 74 32 3D 09 09 09 2F 2A 20 6F ..input2=.../* o
00F930: 72 20 69 6E 63 6C 75 64 65 20 66 69 6C 65 20 2A r include file *
00F940: 2F 0D 0A 09 6F 75 74 70 75 74 3D 09 09 09 2F 2A /...output=.../*
00F950: 20 6E 6F 20 6F 70 65 6E 20 75 6E 69 74 73 20 2A no open units *
00F960: 2F 0D 0A 09 6E 63 6D 70 3D 09 09 09 2F 2A 20 6E /...ncmp=.../* n
00F970: 6F 20 6F 70 65 6E 20 63 6F 6D 70 6F 75 6E 64 20 o open compound
00F980: 73 74 61 74 65 73 20 2A 2F 0D 0A 09 63 74 65 78 states */...ctex
00F990: 74 3D 09 09 09 2F 2A 20 64 6F 20 6E 6F 74 20 70 t=.../* do not p
00F9A0: 72 69 6E 74 20 74 65 78 74 20 2A 2F 0D 0A 09 6C rint text */...l
00F9B0: 61 73 74 73 74 3D 30 3B 09 09 2F 2A 20 6E 6F 20 astst=0;../* no
00F9C0: 6C 61 73 74 20 73 74 61 74 65 6D 65 6E 74 20 79 last statement y
00F9D0: 65 74 20 2A 2F 0D 0A 09 63 69 66 3D 09 09 09 2F et */...cif=.../
00F9E0: 2A 20 73 74 61 74 65 20 6F 66 20 23 69 66 78 78 * state of #ifxx
00F9F0: 78 78 20 2A 2F 0D 0A 09 63 6D 6F 64 65 3D 31 3B xx */...cmode=1;
00FA00: 09 09 2F 2A 20 65 6E 61 62 6C 65 20 70 72 65 70 ../* enable prep
00FA10: 72 6F 63 65 73 73 69 6E 67 20 2A 2F 0D 0A 09 6C rocessing */...l
00FA20: 69 74 6C 61 62 3D 67 65 74 6C 61 62 65 6C 28 29 itlab=getlabel()
00FA30: 3B 09 2F 2A 20 6C 61 62 65 6C 20 6E 75 6D 62 65 ;./* label numbe
00FA40: 72 20 66 6F 72 20 6C 69 74 65 72 61 6C 20 70 6F r for literal po
00FA50: 6C 6C 20 2A 2F 0D 0A 09 2F 2A 09 09 09 09 2A 2F ll */.../*....*/
00FA60: 0D 0A 09 2F 2A 09 63 6F 6D 70 69 6C 65 72 20 62 .../*.compiler b
00FA70: 6F 64 79 09 09 2A 2F 0D 0A 09 2F 2A 09 09 09 09 ody..*/.../*....
00FA80: 2A 2F 0D 0A 09 61 73 6B 28 29 3B 09 09 09 2F 2A */...ask();.../*
00FA90: 20 67 65 74 20 75 73 65 72 20 6F 70 74 69 6F 6E get user option
00FAA0: 73 20 2A 2F 0D 0A 09 6F 70 65 6E 6F 75 74 28 29 s */...openout()
00FAB0: 3B 09 09 2F 2A 20 67 65 74 20 61 6E 20 6F 75 74 ;../* get an out
00FAC0: 70 75 74 20 66 69 6C 65 20 2A 2F 0D 0A 09 6F 70 put file */...op
00FAD0: 65 6E 69 6E 28 29 3B 09 09 2F 2A 20 61 6E 64 20 enin();../* and
00FAE0: 69 6E 69 74 69 61 6C 20 69 6E 70 75 74 20 66 69 initial input fi
00FAF0: 6C 65 20 2A 2F 0D 0A 09 68 65 61 64 65 72 28 29 le */...header()
00FB00: 70 74 72 3D 63 70 74 72 2B 73 79 6D 73 69 7A 3B ptr=cptr+symsiz;
00FB10: 0D 0A 09 09 7D 0D 0A 09 7D 0D 0A 2F 2A 09 09 09 ....}...}../*...
00FB20: 09 09 2A 2F 0D 0A 2F 2A 09 64 75 6D 70 20 65 78 ..*/../*.dump ex
00FB30: 74 72 6E 20 66 75 6E 63 74 69 6F 6E 09 09 2A 2F trn function..*/
00FB40: 0D 0A 2F 2A 09 09 09 09 09 2A 2F 0D 0A 64 75 6D ../*.....*/..dum
00FB50: 70 65 78 74 72 6E 28 29 0D 0A 7B 0D 0A 09 63 68 pextrn()..{...ch
00FB60: 61 72 20 2A 70 74 72 3B 0D 0A 0D 0A 09 70 74 72 ar *ptr;.....ptr
00FB70: 3D 73 74 61 72 74 67 6C 62 3B 0D 0A 09 77 68 69 =startglb;...whi
00FB80: 6C 65 28 70 74 72 21 3D 67 6C 62 70 74 72 29 20 le(ptr!=glbptr)
00FB90: 7B 0D 0A 09 09 69 66 20 28 21 70 74 72 5B 6F 66 {....if (!ptr[of
00FBA0: 66 73 65 74 5D 29 20 65 78 74 72 6E 28 70 74 72 fset]) extrn(ptr
00FBB0: 29 3B 0D 0A 09 09 70 74 72 3D 70 74 72 2B 73 79 );....ptr=ptr+sy
00FBC0: 6D 73 69 7A 3B 0D 0A 09 09 7D 0D 0A 09 7D 0D 0A msiz;....}...}..
00FBD0: 2F 2A 09 09 09 09 09 2A 2F 0D 0A 2F 2A 09 52 65 /*.....*/../*.Re
00FBE0: 70 6F 72 74 20 65 72 72 6F 72 73 20 66 6F 72 20 port errors for
00FBF0: 75 73 65 72 09 09 2A 2F 0D 0A 2F 2A 09 09 09 09 user..*/../*....
00FC00: 09 2A 2F 0D 0A 65 72 72 6F 72 73 75 6D 6D 61 72 .*/..errorsummar
00FC10: 79 28 29 0D 0A 7B 0D 0A 09 2F 2A 20 73 65 65 20 y()..{.../* see
00FC20: 69 66 20 61 6E 79 74 68 69 6E 67 20 6C 65 66 74 if anything left
00FC30: 20 68 61 6E 67 69 6E 67 2E 2E 2E 20 2A 2F 0D 0A hanging... */..
00FC40: 09 69 66 20 28 6E 63 6D 70 29 20 65 72 72 6F 72 .if (ncmp) error
00FC50: 28 22 6D 69 73 73 69 6E 67 20 63 6C 6F 73 69 6E ("missing closin
00FC60: 67 20 62 72 61 63 6B 65 74 22 29 3B 0D 0A 09 09 g bracket");....
00FC70: 2F 2A 20 6F 70 65 6E 20 63 6F 6D 70 75 6E 64 20 /* open compund
00FC80: 73 74 61 74 6D 65 6E 74 20 2E 2E 2E 20 2A 2F 0D statment ... */.
00FC90: 0A 09 69 66 20 28 21 63 69 66 29 20 65 72 72 6F ..if (!cif) erro
00FCA0: 72 28 22 6D 69 73 73 69 6E 67 20 63 6C 6F 73 69 r("missing closi
00FCB0: 6E 67 20 23 65 6E 64 69 66 22 29 3B 0D 0A 09 6E ng #endif");...n
00FCC0: 6C 28 29 3B 0D 0A 09 63 6F 6D 6D 65 6E 74 28 29 l();...comment()
00FCD0: 3B 0D 0A 09 6F 75 74 64 65 63 28 65 72 72 63 6E ;...outdec(errcn
00FCE0: 74 29 3B 20 2F 2A 20 74 6F 74 61 6C 20 23 20 65 t); /* total # e
00FCF0: 72 72 6F 72 73 20 2A 2F 0D 0A 09 6F 75 74 73 74 rrors */...outst
00FD00: 3B 09 09 2F 2A 20 69 6E 74 72 6F 20 63 6F 64 65 ;../* intro code
00FD10: 20 2A 2F 0D 0A 09 70 61 72 73 65 28 29 3B 09 09 */...parse();..
00FD20: 2F 2A 20 70 72 6F 63 65 73 73 20 41 4C 4C 20 69 /* process ALL i
00FD30: 6E 70 75 74 20 2A 2F 0D 0A 09 64 75 6D 70 6C 69 nput */...dumpli
00FD40: 74 73 28 29 3B 09 09 2F 2A 20 74 68 65 6E 20 64 ts();../* then d
00FD50: 75 6D 70 20 6C 69 74 65 72 61 6C 20 70 6F 6F 6C ump literal pool
00FD60: 20 2A 2F 0D 0A 09 64 75 6D 70 67 6C 62 73 28 29 */...dumpglbs()
00FD70: 3B 09 09 2F 2A 20 61 6E 64 20 61 6C 6C 20 73 74 ;../* and all st
00FD80: 61 74 69 63 20 6D 65 6D 6F 72 79 20 2A 2F 0D 0A atic memory */..
00FD90: 09 64 75 6D 70 65 78 74 72 6E 28 29 3B 09 09 2F .dumpextrn();../
00FDA0: 2A 20 6D 61 6B 65 20 61 6C 6C 20 66 75 6E 63 74 * make all funct
00FDB0: 69 6F 6E 20 64 65 66 69 6E 65 64 20 65 78 74 72 ion defined extr
00FDC0: 6E 20 2A 2F 0D 0A 09 65 72 72 6F 72 73 75 6D 6D n */...errorsumm
00FDD0: 61 72 79 28 29 3B 09 09 2F 2A 20 73 75 6D 6D 61 ary();../* summa
00FDE0: 72 69 7A 65 20 65 72 72 6F 72 73 20 2A 2F 0D 0A rize errors */..
00FDF0: 09 74 72 61 69 6C 65 72 28 29 3B 09 09 2F 2A 20 .trailer();../*
00FE00: 66 6F 6C 6C 6F 77 2D 75 70 20 63 6F 64 65 20 2A follow-up code *
00FE10: 2F 0D 0A 09 63 6C 6F 73 65 6F 75 74 28 29 3B 09 /...closeout();.
00FE20: 09 2F 2A 20 63 6C 6F 73 65 20 74 68 65 20 6F 75 ./* close the ou
00FE30: 74 70 75 74 20 2A 2F 0D 0A 09 69 66 20 28 65 72 tput */...if (er
00FE40: 72 63 6E 74 29 20 75 6E 6C 69 6E 6B 28 22 61 3A rcnt) unlink("a:
00FE50: 24 24 24 2E 73 75 62 22 29 3B 20 2F 2A 20 69 66 $$$.sub"); /* if
00FE60: 20 65 72 72 6F 72 73 20 65 72 61 73 65 20 73 75 errors erase su
00FE70: 62 6D 69 74 20 66 69 6C 65 20 2A 2F 0D 0A 09 72 bmit file */...r
00FE80: 65 74 75 72 6E 3B 09 09 09 2F 2A 20 74 68 65 6E eturn;.../* then
00FE90: 20 65 78 69 74 20 74 6F 20 73 79 73 74 65 6D 20 exit to system
00FEA0: 2A 2F 0D 0A 09 7D 0D 0A 2F 2A 09 09 09 09 09 2A */...}../*.....*
00FEB0: 2F 0D 0A 2F 2A 09 50 72 6F 63 65 73 73 20 61 6C /../*.Process al
00FEC0: 6C 20 69 6E 70 75 74 20 74 65 78 74 09 09 2A 2F l input text..*/
00FED0: 0D 0A 2F 2A 09 09 09 09 09 2A 2F 0D 0A 2F 2A 20 ../*.....*/../*
00FEE0: 41 74 20 74 68 69 73 20 6C 65 76 65 6C 2C 20 6F At this level, o
00FEF0: 6E 6C 79 20 73 74 61 74 69 63 20 64 65 63 6C 61 nly static decla
00FF00: 72 28 22 20 65 72 72 6F 72 73 20 69 6E 20 63 6F r(" errors in co
00FF10: 6D 70 69 6C 61 74 69 6F 6E 2E 22 29 3B 0D 0A 09 mpilation.");...
00FF20: 6E 6C 28 29 3B 0D 0A 09 7D 0D 0A 2F 2A 09 09 09 nl();...}../*...
00FF30: 09 09 2A 2F 0D 0A 2F 2A 09 47 65 74 20 6F 70 74 ..*/../*.Get opt
00FF40: 69 6F 6E 73 20 66 72 6F 6D 20 75 73 65 72 09 09 ions from user..
00FF50: 2A 2F 0D 0A 2F 2A 09 09 09 09 09 2A 2F 0D 0A 61 */../*.....*/..a
00FF60: 73 6B 28 29 0D 0A 7B 0D 0A 09 69 6E 74 20 6B 3B sk()..{...int k;
00FF70: 0D 0A 09 6B 69 6C 6C 28 29 3B 09 20 2F 2A 20 63 ...kill();. /* c
00FF80: 6C 65 61 72 20 69 6E 70 75 74 20 6C 69 6E 65 20 lear input line
00FF90: 2A 2F 0D 0A 09 70 6C 28 22 20 20 2A 20 2A 20 2A */...pl(" * * *
00FFA0: 20 20 73 6D 61 6C 6C 2D 63 20 20 76 65 72 73 69 small-c versi
00FFB0: 6F 6E 20 31 2E 31 20 63 6F 6D 70 69 6C 65 72 20 on 1.1 compiler
00FFC0: 20 2A 20 2A 20 2A 5C 6E 22 29 3B 0D 0A 09 2F 2A * * *\n");.../*
00FFD0: 20 73 65 65 20 69 66 20 75 73 65 72 20 77 61 6E see if user wan
00FFE0: 74 73 20 74 6F 20 69 6E 74 65 72 6C 65 61 73 76 ts to interleasv
00FFF0: 65 20 74 68 65 20 63 2D 74 65 78 74 09 2A 2F 0D e the c-text.*/.
010000: 0A 09 2F 2A 20 20 20 20 20 20 69 6E 66 6F 72 6D ../* inform
010010: 20 6F 66 20 63 6F 6D 6D 65 6E 74 73 20 28 66 6F of comments (fo
010020: 72 20 63 6C 61 72 69 74 79 29 20 09 2A 2F 0D 0A r clarity) .*/..
010030: 09 70 6C 28 22 44 6F 20 79 6F 75 20 77 69 73 68 .pl("Do you wish
010040: 20 74 6F 20 63 2D 74 65 78 74 20 74 6F 20 61 70 to c-text to ap
010050: 70 65 61 72 3F 20 22 29 3B 0D 0A 09 67 65 74 73 pear? ");...gets
010060: 28 6C 69 6E 65 29 3B 09 09 09 2F 2A 20 67 65 74 (line);.../* get
010070: 20 61 6E 73 77 65 72 20 2A 2F 0D 0A 09 69 66 28 answer */...if(
010080: 74 6F 75 70 70 65 72 28 63 68 28 29 29 3D 3D 27 toupper(ch())=='
010090: 59 27 29 20 63 74 65 78 74 3D 31 3B 09 2F 2A 20 Y') ctext=1;./*
0100A0: 75 73 65 72 20 73 61 69 64 20 79 65 73 20 2A 2F user said yes */
0100B0: 0D 0A 09 7D 0D 0A 2F 2A 09 09 09 09 09 2A 2F 0D ...}../*.....*/.
0100C0: 0A 2F 2A 09 47 65 74 20 6F 75 74 70 75 74 20 66 ./*.Get output f
0100D0: 69 6C 65 6E 61 6D 65 09 09 2A 2F 0D 0A 2F 2A 09 ilename..*/../*.
0100E0: 09 09 09 09 2A 2F 0D 0A 6F 70 65 6E 6F 75 74 28 ....*/..openout(
0100F0: 29 0D 0A 7B 0D 0A 09 6B 69 6C 6C 28 29 3B 09 20 )..{...kill();.
010100: 72 61 74 69 6F 6E 73 2C 09 2A 2F 0D 0A 2F 2A 09 rations,.*/../*.
010110: 64 65 66 69 6E 65 73 2C 20 69 6E 63 6C 75 64 65 defines, include
010120: 73 2C 20 61 6E 64 20 66 75 6E 63 74 69 6F 6E 09 s, and function.
010130: 09 2A 2F 0D 0A 2F 2A 09 64 65 66 69 6E 69 74 69 .*/../*.definiti
010140: 6F 6E 73 20 61 72 65 20 6C 65 67 61 6C 2E 2E 2E ons are legal...
010150: 09 09 2A 2F 0D 0A 70 61 72 73 65 28 29 0D 0A 7B ..*/..parse()..{
010160: 0D 0A 09 77 68 69 6C 65 20 28 21 65 6F 66 29 20 ...while (!eof)
010170: 7B 09 2F 2A 20 64 6F 20 75 6E 74 69 6C 20 6E 6F {./* do until no
010180: 20 6D 6F 72 65 20 69 6E 70 75 74 20 2A 2F 0D 0A more input */..
010190: 09 09 69 66 28 61 6D 61 74 63 68 28 22 63 68 61 ..if(amatch("cha
0101A0: 72 22 2C 34 29 29 20 7B 0D 0A 09 09 09 64 65 63 r",4)) {.....dec
0101B0: 6C 67 6C 62 28 63 63 68 61 72 29 3B 0D 0A 09 09 lglb(cchar);....
0101C0: 09 6E 73 28 29 3B 0D 0A 09 09 09 7D 0D 0A 09 09 .ns();.....}....
0101D0: 65 6C 73 65 20 69 66 28 61 6D 61 74 63 68 28 22 else if(amatch("
0101E0: 69 6E 74 22 2C 33 29 29 20 7B 0D 0A 09 09 09 64 int",3)) {.....d
0101F0: 65 63 6C 67 6C 62 28 63 69 6E 74 29 3B 0D 0A 09 eclglb(cint);...
010200: 09 09 6E 73 28 29 3B 0D 0A 09 09 09 7D 0D 0A 09 ..ns();.....}...
010210: 09 65 6C 73 65 20 69 66 28 6D 61 74 63 68 28 22 .else if(match("
010220: 23 61 73 6D 22 29 29 20 64 6F 61 73 6D 28 29 3B #asm")) doasm();
010230: 0D 0A 09 09 65 6C 73 65 20 69 66 28 6D 61 74 63 ....else if(matc
010240: 68 28 22 23 69 6E 63 6C 75 64 65 22 29 29 20 64 h("#include")) d
010250: 6F 69 6E 63 6C 75 64 65 28 29 3B 0D 0A 09 09 65 oinclude();....e
010260: 6C 73 65 20 69 66 28 6D 61 74 63 68 28 22 23 64 lse if(match("#d
010270: 65 66 69 6E 65 22 29 29 20 61 64 64 6D 61 63 28 efine")) addmac(
010280: 29 3B 20 0D 0A 09 09 65 6C 73 65 20 69 66 28 6D ); ....else if(m
010290: 61 74 63 68 28 22 23 69 66 6E 64 65 66 22 29 29 atch("#ifndef"))
0102A0: 20 64 6F 69 66 6E 64 65 66 28 29 3B 0D 0A 09 09 doifndef();....
0102B0: 65 6C 73 65 20 69 66 28 6D 61 74 63 68 28 22 23 else if(match("#
0102C0: 69 66 64 65 66 22 29 29 20 64 6F 69 66 64 65 66 ifdef")) doifdef
0102D0: 28 29 3B 20 0D 0A 09 09 65 6C 73 65 20 6E 65 77 (); ....else new
0102E0: 66 75 6E 63 28 29 3B 0D 0A 09 09 62 6C 61 6E 6B func();....blank
0102F0: 73 28 29 3B 09 2F 2A 20 66 6F 72 63 65 20 65 6F s();./* force eo
010300: 2F 2A 20 65 72 61 73 65 20 6C 69 6E 65 20 2A 2F /* erase line */
010310: 0D 0A 09 6F 75 74 70 75 74 3D 30 3B 09 20 20 20 ...output=0;.
010320: 20 20 20 20 2F 2A 20 73 74 61 72 74 20 77 69 74 /* start wit
010330: 68 20 6E 6F 6E 65 20 2A 2F 0D 0A 09 70 6C 28 22 h none */...pl("
010340: 4F 75 74 70 75 74 20 66 69 6C 65 6E 61 6D 65 3F Output filename?
010350: 20 22 29 3B 20 2F 2A 20 61 73 6B 2E 2E 2E 2A 2F "); /* ask...*/
010360: 0D 0A 09 67 65 74 73 28 6C 69 6E 65 29 3B 20 20 ...gets(line);
010370: 20 20 20 2F 2A 20 67 65 74 20 61 20 66 69 6C 65 /* get a file
010380: 6E 61 6D 65 20 2A 2F 0D 0A 09 69 66 28 63 68 28 name */...if(ch(
010390: 29 3D 3D 30 29 72 65 74 75 72 6E 3B 20 20 20 20 )==0)return;
0103A0: 20 20 2F 2A 20 6E 6F 6E 65 20 67 69 76 65 6E 2E /* none given.
0103B0: 2E 2E 20 2A 2F 0D 0A 09 69 66 20 28 28 6F 75 74 .. */...if ((out
0103C0: 70 75 74 3D 66 63 72 65 61 74 28 6C 69 6E 65 2C put=fcreat(line,
0103D0: 66 6F 75 74 29 29 20 3D 3D 20 45 52 52 4F 52 29 fout)) == ERROR)
0103E0: 20 7B 20 20 0D 0A 09 09 6F 75 74 70 75 74 3D 30 { ....output=0
0103F0: 3B 20 20 20 20 20 20 2F 2A 20 63 61 6E 27 74 20 ; /* can't
010400: 6F 70 65 6E 20 2A 2F 0D 0A 09 09 65 72 72 6F 72 open */....error
010410: 28 22 4F 70 65 6E 20 66 61 69 6C 75 72 65 22 29 ("Open failure")
010420: 3B 0D 0A 09 09 7D 0D 0A 09 6B 69 6C 6C 28 29 3B ;....}...kill();
010430: 09 09 20 2F 2A 20 65 72 61 73 65 20 6C 69 6E 65 .. /* erase line
010440: 20 2A 2F 0D 0A 7D 0D 0A 2F 2A 09 09 09 09 09 2A */..}../*.....*
010450: 2F 0D 0A 2F 2A 09 47 65 74 20 28 6E 65 78 74 29 /../*.Get (next)
010460: 20 69 6E 70 75 74 20 66 69 6C 65 09 09 2A 2F 0D input file..*/.
010470: 0A 2F 2A 09 09 09 09 09 2A 2F 0D 0A 6F 70 65 6E ./*.....*/..open
010480: 69 6E 28 29 0D 0A 7B 0D 0A 09 69 6E 70 75 74 3D in()..{...input=
010490: 30 3B 09 09 2F 2A 20 6E 6F 6E 65 20 74 6F 20 73 0;../* none to s
0104A0: 74 61 72 74 20 77 69 74 68 20 2A 2F 0D 0A 09 77 tart with */...w
0104B0: 68 69 6C 65 20 28 21 69 6E 70 75 74 29 09 09 2F hile (!input)../
0104C0: 2A 20 61 6E 79 20 61 62 6F 76 65 20 31 20 61 6C * any above 1 al
0104D0: 6C 6F 77 65 64 20 2A 2F 0D 0A 09 09 7B 6B 69 6C lowed */....{kil
0104E0: 6C 28 29 3B 09 2F 2A 20 63 6C 65 61 72 20 6C 69 l();./* clear li
0104F0: 6E 65 20 2A 2F 0D 0A 09 09 69 66 28 65 6F 66 29 ne */....if(eof)
010500: 66 20 69 66 20 70 65 6E 64 69 6E 67 20 2A 2F 0D f if pending */.
010510: 0A 09 09 7D 0D 0A 09 7D 0D 0A 2F 2A 09 09 09 09 ...}...}../*....
010520: 09 2A 2F 0D 0A 2F 2A 09 44 75 6D 70 20 74 68 65 .*/../*.Dump the
010530: 20 6C 69 74 65 72 61 6C 20 70 6F 6F 6C 09 09 2A literal pool..*
010540: 2F 0D 0A 2F 2A 09 09 09 09 09 2A 2F 0D 0A 64 75 /../*.....*/..du
010550: 6D 70 6C 69 74 73 28 29 0D 0A 7B 0D 0A 09 69 6E mplits()..{...in
010560: 74 20 6A 2C 6B 3B 0D 0A 0D 0A 09 69 66 20 28 6C t j,k;.....if (l
010570: 69 74 70 74 72 3D 3D 30 29 20 72 65 74 75 72 6E itptr==0) return
010580: 3B 20 20 2F 2A 20 69 66 20 6E 6F 74 68 69 6E 67 ; /* if nothing
010590: 20 74 68 65 72 65 2C 20 65 78 69 74 2E 2E 2E 2A there, exit...*
0105A0: 2F 0D 0A 09 70 72 69 6E 74 6C 61 62 65 6C 28 6C /...printlabel(l
0105B0: 69 74 6C 61 62 29 3B 0D 0A 09 63 6F 6C 28 29 3B itlab);...col();
0105C0: 09 09 09 2F 2A 20 70 72 69 6E 74 20 6C 69 74 65 .../* print lite
0105D0: 72 61 6C 20 6C 61 62 65 6C 20 2A 2F 0D 0A 09 6B ral label */...k
0105E0: 3D 30 3B 09 09 09 20 2F 2A 20 69 6E 69 74 20 61 =0;... /* init a
0105F0: 6E 20 69 6E 64 65 78 2E 2E 2E 20 2A 2F 0D 0A 09 n index... */...
010600: 77 68 69 6C 65 20 28 6B 3C 6C 69 74 70 74 72 29 while (k<litptr)
010610: 20 7B 09 20 2F 2A 20 20 20 20 20 20 74 6F 20 6C {. /* to l
010620: 6F 6F 70 20 77 69 74 68 20 2A 2F 0D 0A 09 09 64 oop with */....d
010630: 65 66 62 79 74 65 28 29 3B 09 20 2F 2A 20 70 73 efbyte();. /* ps
010640: 65 75 64 6F 2D 6F 70 20 74 6F 20 64 65 66 69 6E eudo-op to defin
010650: 65 20 62 79 74 65 20 2A 2F 0D 0A 09 09 6A 3D 31 e byte */....j=1
010660: 30 3B 09 20 20 20 2F 2A 20 6D 61 78 20 62 79 74 0;. /* max byt
010670: 65 73 20 70 65 72 20 6C 69 6E 65 20 2A 2F 0D 0A es per line */..
010680: 09 09 77 68 69 6C 65 28 6A 2D 2D 29 20 7B 0D 0A ..while(j--) {..
010690: 09 09 09 6F 75 74 64 65 63 28 6C 69 74 71 5B 6B ...outdec(litq[k
0106A0: 2B 2B 5D 29 3B 0D 0A 09 09 09 69 66 20 28 6A 3D ++]);.....if (j=
0106B0: 3D 30 20 7C 7C 20 6B 3E 3D 6C 69 74 70 74 72 29 =0 || k>=litptr)
0106C0: 20 7B 0D 0A 09 09 09 09 6E 6C 28 29 3B 09 20 20 {......nl();.
0106D0: 2F 2A 20 6E 65 65 64 20 3C 63 72 3E 20 2A 2F 0D /* need <cr> */.
0106E0: 0A 09 09 09 09 62 72 65 61 6B 3B 0D 0A 09 09 09 .....break;.....
0106F0: 09 7D 0D 0A 09 09 09 6F 75 74 62 79 74 65 28 27 .}.....outbyte('
010700: 62 72 65 61 6B 3B 09 2F 2A 20 69 66 20 75 73 65 break;./* if use
010710: 72 20 73 61 69 64 20 6E 6F 6E 65 20 2A 2F 0D 0A r said none */..
010720: 09 09 70 6C 28 22 49 6E 70 75 74 20 66 69 6C 65 ..pl("Input file
010730: 6E 61 6D 65 3F 20 22 29 3B 0D 0A 09 09 67 65 74 name? ");....get
010740: 73 28 6C 69 6E 65 29 3B 09 2F 2A 20 67 65 74 20 s(line);./* get
010750: 61 20 6E 61 6D 65 20 2A 2F 0D 0A 09 09 69 66 28 a name */....if(
010760: 63 68 28 29 3D 3D 30 29 20 7B 0D 0A 09 09 09 65 ch()==0) {.....e
010770: 6F 66 3D 31 3B 0D 0A 09 09 09 62 72 65 61 6B 3B of=1;.....break;
010780: 09 2F 2A 20 6E 6F 6E 65 20 67 69 76 65 6E 2E 2E ./* none given..
010790: 2E 20 2A 2F 0D 0A 09 09 09 7D 0D 0A 09 09 6C 69 . */.....}....li
0107A0: 6E 65 31 3D 30 3B 0D 0A 09 09 69 66 20 28 28 69 ne1=0;....if ((i
0107B0: 6E 70 75 74 3D 66 6F 70 65 6E 28 6C 69 6E 65 2C nput=fopen(line,
0107C0: 66 69 6E 70 29 29 20 3D 3D 20 45 52 52 4F 52 29 finp)) == ERROR)
0107D0: 20 7B 0D 0A 09 09 09 69 6E 70 75 74 3D 30 3B 09 {.....input=0;.
0107E0: 2F 2A 20 63 61 6E 27 74 20 6F 70 65 6E 20 69 74 /* can't open it
0107F0: 20 2A 2F 0D 0A 09 09 09 70 6C 28 22 4F 70 65 6E */.....pl("Open
010800: 20 66 61 69 6C 75 72 65 22 29 3B 0D 0A 09 09 09 failure");.....
010810: 7D 0D 0A 09 09 7D 0D 0A 09 6B 69 6C 6C 28 29 3B }....}...kill();
010820: 09 20 2F 2A 20 65 72 61 73 65 20 6C 69 6E 65 20 . /* erase line
010830: 2A 2F 0D 0A 09 7D 0D 0A 2F 2A 09 09 09 09 09 2A */...}../*.....*
010840: 2F 0D 0A 2F 2A 09 4F 70 65 6E 20 61 6E 20 69 6E /../*.Open an in
010850: 63 6C 75 64 65 20 66 69 6C 65 09 09 2A 2F 0D 0A clude file..*/..
010860: 2F 2A 09 09 09 09 09 2A 2F 0D 0A 64 6F 69 6E 63 /*.....*/..doinc
010870: 6C 75 64 65 28 29 0D 0A 7B 0D 0A 09 63 68 61 72 lude()..{...char
010880: 20 66 6E 61 6D 65 5B 33 31 5D 3B 09 2F 2A 20 70 fname[31];./* p
010890: 6C 61 63 65 20 74 6F 20 6F 70 65 6E 20 66 69 6C lace to open fil
0108A0: 65 20 6E 61 6D 65 20 2A 2F 0D 0A 09 63 68 61 72 e name */...char
0108B0: 20 66 65 6E 64 3B 09 2F 2A 20 65 6E 64 69 6E 67 fend;./* ending
0108C0: 20 63 68 61 72 61 63 74 65 72 20 66 6F 72 20 66 character for f
0108D0: 69 6C 65 20 6E 61 6D 65 20 2A 2F 0D 0A 09 69 6E ile name */...in
0108E0: 74 20 20 6C 65 6E 67 68 74 3B 09 2F 2A 20 73 69 t lenght;./* si
0108F0: 7A 65 20 6F 66 20 66 69 6C 65 20 6E 61 6D 65 20 ze of file name
010900: 2C 27 29 3B 20 20 20 2F 2A 20 73 65 70 61 72 61 ,'); /* separa
010910: 74 65 20 62 79 74 65 73 20 2A 2F 0D 0A 09 09 09 te bytes */.....
010920: 7D 0D 0A 09 09 7D 0D 0A 09 6C 69 74 70 74 72 3D }....}...litptr=
010930: 30 3B 0D 0A 09 7D 0D 0A 2F 2A 09 09 09 09 09 2A 0;...}../*.....*
010940: 2F 0D 0A 2F 2A 09 44 75 6D 70 20 61 6C 6C 20 73 /../*.Dump all s
010950: 74 61 74 69 63 20 76 61 72 69 61 62 6C 65 73 09 tatic variables.
010960: 2A 2F 0D 0A 2F 2A 09 09 09 09 09 2A 2F 0D 0A 64 */../*.....*/..d
010970: 75 6D 70 67 6C 62 73 28 29 0D 0A 7B 0D 0A 09 69 umpglbs()..{...i
010980: 6E 74 20 6A 3B 0D 0A 09 64 73 65 63 74 28 22 40 nt j;...dsect("@
010990: 67 6C 6F 62 61 6C 73 22 29 3B 0D 0A 09 63 70 74 globals");...cpt
0109A0: 72 3D 73 74 61 72 74 67 6C 62 3B 0D 0A 09 77 68 r=startglb;...wh
0109B0: 69 6C 65 28 63 70 74 72 3C 67 6C 62 70 74 72 29 ile(cptr<glbptr)
0109C0: 20 7B 0D 0A 09 09 69 66 20 28 63 70 74 72 5B 69 {....if (cptr[i
0109D0: 64 65 6E 74 5D 20 21 3D 20 66 75 6E 63 74 69 6F dent] != functio
0109E0: 6E 29 20 7B 0D 0A 09 09 09 2F 2A 20 64 6F 20 69 n) {...../* do i
0109F0: 66 20 61 6E 79 74 68 69 6E 67 20 62 75 74 20 66 f anything but f
010A00: 75 6E 63 74 69 6F 6E 20 2A 2F 0D 0A 09 09 09 6F unction */.....o
010A10: 75 74 73 74 72 28 63 70 74 72 29 3B 63 6F 6C 28 utstr(cptr);col(
010A20: 29 3B 0D 0A 09 09 09 09 2F 2A 20 6F 75 74 70 75 );....../* outpu
010A30: 74 20 6E 61 6D 65 20 61 73 20 6C 61 62 65 6C 2E t name as label.
010A40: 2E 2E 20 2A 2F 0D 0A 09 09 09 64 65 66 73 74 6F .. */.....defsto
010A50: 72 61 67 65 28 29 3B 20 20 20 2F 2A 64 65 66 69 rage(); /*defi
010A60: 6E 65 20 73 74 6F 72 61 67 65 20 2A 2F 0D 0A 09 ne storage */...
010A70: 09 09 6A 3D 28 28 63 70 74 72 5B 6F 66 66 73 65 ..j=((cptr[offse
010A80: 74 5D 26 32 35 35 29 2B 0D 0A 09 09 09 09 28 28 t]&255)+......((
010A90: 63 70 74 72 5B 6F 66 66 73 65 74 2B 31 5D 26 32 cptr[offset+1]&2
010AA0: 35 35 29 3C 3C 38 29 29 3B 0D 0A 09 09 09 09 09 55)<<8));.......
010AB0: 2F 2A 20 63 61 6C 63 20 23 20 62 79 74 65 73 20 /* calc # bytes
010AC0: 2A 2F 0D 0A 09 09 09 6F 75 74 64 65 63 28 6A 29 */.....outdec(j)
010AD0: 3B 20 20 20 20 20 20 2F 2A 20 6E 65 65 64 20 74 ; /* need t
010AE0: 68 61 74 20 6D 61 6E 79 20 2A 2F 0D 0A 09 09 09 hat many */.....
010AF0: 6E 6C 28 29 3B 0D 0A 09 09 09 7D 0D 0A 09 09 63 nl();.....}....c
010B00: 54 72 61 63 6B 2D 49 6E 66 6F 0D 0A 00 00 00 00 Track-Info......
010B10: 0E 00 01 00 02 09 52 E5 0E 00 C1 02 00 00 00 02 ......R.........
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: 2A 2F 0D 0A 09 77 68 69 6C 65 28 69 73 73 70 61 */...while(isspa
010C10: 63 65 28 63 68 28 29 29 29 20 67 63 68 28 29 3B ce(ch())) gch();
010C20: 20 09 2F 2A 20 73 6B 69 70 20 6F 76 65 72 20 74 ./* skip over t
010C30: 6F 20 6E 61 6D 65 20 2A 2F 0D 0A 09 66 65 6E 64 o name */...fend
010C40: 3D 27 20 27 3B 0D 0A 09 69 66 20 28 63 68 28 29 =' ';...if (ch()
010C50: 3D 3D 27 3C 27 29 20 7B 0D 0A 09 09 66 65 6E 64 =='<') {....fend
010C60: 3D 27 3E 27 3B 0D 0A 09 09 67 63 68 28 29 3B 0D ='>';....gch();.
010C70: 0A 09 09 7D 0D 0A 09 69 66 20 28 63 68 28 29 3D ...}...if (ch()=
010C80: 3D 27 5C 22 27 29 20 7B 0D 0A 09 09 66 65 6E 64 ='\"') {....fend
010C90: 3D 27 5C 22 27 3B 0D 0A 09 09 67 63 68 28 29 3B ='\"';....gch();
010CA0: 0D 0A 09 09 7D 0D 0A 09 6C 65 6E 67 68 74 3D 30 ....}...lenght=0
010CB0: 3B 0D 0A 09 77 68 69 6C 65 28 6C 65 6E 67 68 74 ;...while(lenght
010CC0: 3C 33 30 20 26 26 20 63 68 28 29 20 26 26 20 63 <30 && ch() && c
010CD0: 68 28 29 21 3D 66 65 6E 64 29 20 7B 0D 0A 09 09 h()!=fend) {....
010CE0: 66 6E 61 6D 65 5B 6C 65 6E 67 68 74 2B 2B 5D 3D fname[lenght++]=
010CF0: 63 68 28 29 3B 0D 0A 09 09 67 63 68 28 29 3B 0D ch();....gch();.
010D00: 0A 09 09 7D 0D 0A 09 66 6E 61 6D 65 5B 6C 65 6E ...}...fname[len
010D10: 67 68 74 5D 3D 30 3B 0D 0A 09 69 66 20 28 21 28 ght]=0;...if (!(
010D20: 66 65 6E 64 20 3D 3D 20 63 68 28 29 20 7C 7C 20 fend == ch() ||
010D30: 28 66 65 6E 64 20 3D 3D 27 20 27 20 26 26 20 20 (fend ==' ' &&
010D40: 21 63 68 28 29 29 29 29 20 7B 0D 0A 09 09 65 72 !ch()))) {....er
010D50: 72 6F 72 28 22 69 6E 76 61 69 6C 64 20 66 69 6C ror("invaild fil
010D60: 65 20 6E 61 6D 65 20 66 6F 72 20 69 6E 63 6C 75 e name for inclu
010D70: 64 65 22 29 3B 0D 0A 09 09 6B 69 6C 6C 28 29 3B de");....kill();
010D80: 0D 0A 09 09 72 65 74 75 72 6E 3B 0D 0A 09 09 7D ....return;....}
010D90: 0D 0A 09 69 66 20 28 21 6C 65 6E 67 68 74 29 20 ...if (!lenght)
010DA0: 7B 0D 0A 09 09 65 72 72 6F 72 28 22 6D 69 73 73 {....error("miss
010DB0: 69 6E 67 20 66 69 6C 65 20 6E 61 6D 65 20 66 6F ing file name fo
010DC0: 72 20 69 6E 63 6C 75 64 65 22 29 3B 0D 0A 09 09 r include");....
010DD0: 6B 69 6C 6C 28 29 3B 0D 0A 09 09 72 65 74 75 72 kill();....retur
010DE0: 6E 3B 0D 0A 09 09 7D 0D 0A 09 6C 69 6E 65 32 3D n;....}...line2=
010DF0: 30 3B 0D 0A 09 69 66 20 28 69 6E 70 75 74 32 29 0;...if (input2)
010E00: 69 6E 65 20 73 74 61 63 6B 20 2A 2F 0D 0A 2F 2A ine stack */../*
010E10: 09 61 6E 64 20 61 64 64 73 20 73 79 6D 62 6F 6C .and adds symbol
010E20: 20 74 61 62 6C 65 20 65 6E 74 72 79 20 77 69 74 table entry wit
010E30: 68 20 61 70 70 72 6F 70 72 69 61 74 65 09 2A 2F h appropriate.*/
010E40: 0D 0A 2F 2A 09 73 74 61 63 6B 20 6F 66 66 73 65 ../*.stack offse
010E50: 74 20 74 6F 20 66 69 6E 64 20 69 74 20 61 67 61 t to find it aga
010E60: 69 6E 09 09 09 2A 2F 0D 0A 64 65 63 6C 6C 6F 63 in...*/..declloc
010E70: 28 74 79 70 29 09 20 20 20 20 2F 2A 20 74 79 70 (typ). /* typ
010E80: 20 69 73 20 63 63 68 61 72 20 6F 72 20 63 69 6E is cchar or cin
010E90: 74 20 2A 2F 0D 0A 69 6E 74 20 74 79 70 3B 0D 0A t */..int typ;..
010EA0: 7B 0D 0A 09 69 6E 74 20 6A 3B 0D 0A 09 69 6E 74 {...int j;...int
010EB0: 20 63 6F 75 6E 74 3B 0D 0A 09 63 68 61 72 20 73 count;...char s
010EC0: 6E 61 6D 65 5B 6E 61 6D 65 73 69 7A 65 5D 3B 0D name[namesize];.
010ED0: 0A 09 77 68 69 6C 65 28 31 29 20 7B 0D 0A 09 09 ..while(1) {....
010EE0: 63 6F 75 6E 74 3D 30 3B 0D 0A 09 09 69 66 20 28 count=0;....if (
010EF0: 65 6E 64 73 74 28 29 29 20 72 65 74 75 72 6E 3B endst()) return;
010F00: 0D 0A 09 09 69 66 20 28 6D 61 74 63 68 28 22 2A ....if (match("*
010F10: 22 29 29 20 7B 20 0D 0A 09 09 09 6A 3D 70 6F 69 ")) { .....j=poi
010F20: 6E 74 65 72 3B 0D 0A 09 09 09 2B 2B 63 6F 75 6E nter;.....++coun
010F30: 74 3B 0D 0A 09 09 09 77 68 69 6C 65 28 63 68 28 t;.....while(ch(
010F40: 29 3D 3D 27 2A 27 29 20 7B 0D 0A 09 09 09 09 2B )=='*') {......+
010F50: 2B 63 6F 75 6E 74 3B 0D 0A 09 09 09 09 67 63 68 +count;......gch
010F60: 28 29 3B 0D 0A 09 09 09 09 7D 0D 0A 09 09 09 7D ();......}.....}
010F70: 0D 0A 09 09 65 6C 73 65 20 6A 3D 76 61 72 69 61 ....else j=varia
010F80: 62 6C 65 3B 0D 0A 09 09 69 66 20 28 21 73 79 6D ble;....if (!sym
010F90: 6E 61 6D 65 28 73 6E 61 6D 65 29 29 20 69 6C 6C name(sname)) ill
010FA0: 6E 61 6D 65 28 29 3B 0D 0A 09 09 69 66 20 28 66 name();....if (f
010FB0: 69 6E 64 6C 6F 63 28 73 6E 61 6D 65 29 29 20 6D indloc(sname)) m
010FC0: 75 6C 74 69 64 65 66 28 73 6E 61 6D 65 29 3B 0D ultidef(sname);.
010FD0: 0A 09 09 64 61 74 61 5F 70 61 72 73 65 28 73 6E ...data_parse(sn
010FE0: 61 6D 65 2C 74 79 70 2C 73 74 6B 6C 6F 63 2C 6A ame,typ,stkloc,j
010FF0: 2C 63 6F 75 6E 74 29 3B 0D 0A 09 09 69 66 20 28 ,count);....if (
011000: 20 7B 0D 0A 09 09 65 72 72 6F 72 28 22 6E 65 73 {....error("nes
011010: 74 65 64 20 69 6E 63 6C 75 64 65 20 6E 6F 74 20 ted include not
011020: 61 6C 6F 75 64 22 29 3B 0D 0A 09 09 6B 69 6C 6C aloud");....kill
011030: 28 29 3B 0D 0A 09 09 72 65 74 75 72 6E 3B 0D 0A ();....return;..
011040: 09 09 7D 0D 0A 09 69 66 20 28 28 69 6E 70 75 74 ..}...if ((input
011050: 32 3D 66 6F 70 65 6E 28 66 6E 61 6D 65 2C 66 69 2=fopen(fname,fi
011060: 6E 70 32 29 29 20 3D 3D 20 45 52 52 4F 52 29 20 np2)) == ERROR)
011070: 7B 20 0D 0A 09 09 65 72 72 6F 72 28 22 4F 70 65 { ....error("Ope
011080: 6E 20 66 61 69 6C 75 72 65 20 6F 6E 20 69 6E 63 n failure on inc
011090: 6C 75 64 65 20 66 69 6C 65 22 29 3B 0D 0A 09 09 lude file");....
0110A0: 69 6E 70 75 74 32 3D 30 3B 0D 0A 09 09 7D 0D 0A input2=0;....}..
0110B0: 09 6B 69 6C 6C 28 29 3B 0D 0A 09 7D 0D 0A 2F 2A .kill();...}../*
0110C0: 09 09 09 09 09 2A 2F 0D 0A 2F 2A 09 23 69 66 6E .....*/../*.#ifn
0110D0: 64 65 66 20 09 09 09 2A 2F 0D 0A 2F 2A 09 09 09 def ...*/../*...
0110E0: 09 09 2A 2F 0D 0A 64 6F 69 66 6E 64 65 66 28 29 ..*/..doifndef()
0110F0: 0D 0A 7B 0D 0A 09 63 68 61 72 20 73 6E 61 6D 65 ..{...char sname
011100: 5B 6E 61 6D 65 73 69 7A 65 5D 3B 0D 0A 09 69 6E [namesize];...in
011110: 74 20 6C 76 61 6C 5B 32 5D 3B 0D 0A 0D 0A 09 2F t lval[2];...../
011120: 2A 20 63 68 65 63 6B 20 74 6F 20 69 66 20 64 65 * check to if de
011130: 66 69 6E 65 20 61 73 20 63 6F 6E 73 74 61 6E 74 fine as constant
011140: 20 2A 2F 0D 0A 09 62 6C 61 6E 6B 73 28 29 3B 0D */...blanks();.
011150: 0A 09 69 66 20 28 63 6F 6E 73 74 61 6E 74 28 6C ..if (constant(l
011160: 76 61 6C 29 29 20 7B 0D 0A 09 09 63 69 66 3D 46 val)) {....cif=F
011170: 41 4C 53 45 3B 0D 0A 09 09 72 65 74 75 72 6E 3B ALSE;....return;
011180: 0D 0A 09 09 7D 0D 0A 0D 0A 09 2F 2A 20 63 68 65 ....}...../* che
011190: 63 6B 20 74 6F 20 73 65 65 20 69 66 20 76 61 69 ck to see if vai
0111A0: 6C 64 20 73 79 73 6D 62 6F 6C 20 2A 2F 0D 0A 09 ld sysmbol */...
0111B0: 69 66 20 28 21 73 79 6D 6E 61 6D 65 28 73 6E 61 if (!symname(sna
0111C0: 6D 65 29 29 20 7B 0D 0A 09 09 65 72 72 6F 72 28 me)) {....error(
0111D0: 22 69 6E 76 61 69 6C 64 20 69 64 65 6E 74 69 66 "invaild identif
0111E0: 69 65 72 22 29 3B 0D 0A 09 09 6B 69 6C 6C 28 29 ier");....kill()
0111F0: 3B 0D 0A 09 09 72 65 74 75 72 6E 3B 0D 0A 09 09 ;....return;....
011200: 21 6D 61 74 63 68 28 22 2C 22 29 29 20 72 65 74 !match(",")) ret
011210: 75 72 6E 3B 0D 0A 09 09 7D 0D 0A 09 7D 0D 0A 2F urn;....}...}../
011220: 2A 09 09 09 09 09 09 2A 2F 0D 0A 2F 2A 09 70 61 *......*/../*.pa
011230: 72 73 65 20 6F 75 74 20 64 61 74 61 20 69 74 65 rse out data ite
011240: 6D 20 61 6E 64 20 61 64 64 20 74 6F 20 73 79 6D m and add to sym
011250: 62 6F 6C 09 2A 2F 0D 0A 2F 2A 09 73 79 6D 62 6F bol.*/../*.symbo
011260: 6C 20 74 61 62 6C 65 2E 09 09 09 09 2A 2F 0D 0A l table.....*/..
011270: 2F 2A 09 09 09 09 09 09 2A 2F 0D 0A 2F 2A 09 77 /*......*/../*.w
011280: 72 69 74 74 65 6E 20 41 70 72 69 6C 20 38 2C 20 ritten April 8,
011290: 31 39 38 31 20 42 79 20 4D 69 6B 65 20 42 65 72 1981 By Mike Ber
0112A0: 6E 73 6F 6E 09 2A 2F 0D 0A 2F 2A 09 09 09 09 09 nson.*/../*.....
0112B0: 09 2A 2F 0D 0A 64 61 74 61 5F 70 61 72 73 65 28 .*/..data_parse(
0112C0: 73 6E 61 6D 65 2C 74 79 70 2C 63 6C 61 73 73 5F sname,typ,class_
0112D0: 69 64 2C 69 64 65 6E 74 5F 74 79 70 2C 63 6F 75 id,ident_typ,cou
0112E0: 6E 74 29 0D 0A 63 68 61 72 20 2A 73 6E 61 6D 65 nt)..char *sname
0112F0: 3B 09 09 2F 2A 20 70 6F 69 6E 74 65 72 20 74 6F ;../* pointer to
011300: 20 6E 61 6D 65 20 6F 66 20 73 79 6D 62 6F 6C 20 name of symbol
011310: 2A 2F 0D 0A 63 68 61 72 20 74 79 70 3B 09 09 2F */..char typ;../
011320: 2A 20 74 79 70 65 20 6F 66 20 64 61 74 61 20 63 * type of data c
011330: 68 61 72 20 6F 72 20 69 6E 74 20 2A 2F 0D 0A 63 har or int */..c
011340: 68 61 72 20 63 6C 61 73 73 5F 69 64 3B 09 09 2F har class_id;../
011350: 2A 20 74 79 70 20 6F 66 20 73 74 6F 72 61 67 65 * typ of storage
011360: 20 73 74 61 74 69 63 20 61 75 74 6F 6D 69 63 20 static automic
011370: 2A 2F 0D 0A 63 68 61 72 20 69 64 65 6E 74 5F 74 */..char ident_t
011380: 79 70 3B 09 09 2F 2A 20 74 79 70 65 20 6F 66 20 yp;../* type of
011390: 76 61 72 62 6C 65 20 70 6F 69 6E 74 65 72 20 6F varble pointer o
0113A0: 72 20 76 61 72 62 6C 65 20 2A 2F 0D 0A 69 6E 74 r varble */..int
0113B0: 20 20 63 6F 75 6E 74 3B 09 09 2F 2A 20 6E 75 6D count;../* num
0113C0: 62 65 72 20 6F 66 20 6C 65 76 65 6C 20 6F 66 20 ber of level of
0113D0: 70 6F 69 6E 74 65 72 73 20 2A 2F 0D 0A 7B 0D 0A pointers */..{..
0113E0: 09 69 6E 74 20 73 69 7A 65 3B 09 2F 2A 20 61 6D .int size;./* am
0113F0: 6F 75 6E 74 20 6F 66 20 6D 65 6D 6F 72 79 20 6E ount of memory n
011400: 7D 0D 0A 0D 0A 09 2F 2A 20 63 68 65 63 6B 20 74 }...../* check t
011410: 6F 20 73 65 65 20 69 66 20 73 79 6D 62 6F 6C 20 o see if symbol
011420: 69 73 20 64 65 66 69 6E 65 20 2A 2F 0D 0A 09 69 is define */...i
011430: 66 20 28 66 69 6E 64 6C 6F 63 28 73 6E 61 6D 65 f (findloc(sname
011440: 29 20 7C 7C 20 66 69 6E 64 67 6C 62 28 73 6E 61 ) || findglb(sna
011450: 6D 65 29 29 0D 0A 09 09 63 69 66 3D 46 41 4C 53 me))....cif=FALS
011460: 45 3B 20 65 6C 73 65 20 63 69 66 3D 54 52 55 45 E; else cif=TRUE
011470: 3B 0D 0A 09 7D 0D 0A 2F 2A 09 09 09 2A 2F 0D 0A ;...}../*...*/..
011480: 2F 2A 09 23 69 66 64 65 66 09 09 2A 2F 0D 0A 2F /*.#ifdef..*/../
011490: 2A 09 09 09 2A 2F 0D 0A 64 6F 69 66 64 65 66 28 *...*/..doifdef(
0114A0: 29 0D 0A 7B 0D 0A 09 63 68 61 72 20 73 6E 61 6D )..{...char snam
0114B0: 65 5B 6E 61 6D 65 73 69 7A 65 5D 3B 0D 0A 09 69 e[namesize];...i
0114C0: 6E 74 20 20 6C 76 61 6C 5B 32 5D 3B 0D 0A 0D 0A nt lval[2];....
0114D0: 09 2F 2A 20 63 68 65 63 6B 20 74 6F 20 73 65 65 ./* check to see
0114E0: 20 69 66 20 63 6F 6E 73 74 61 6E 74 20 2A 2F 0D if constant */.
0114F0: 0A 09 62 6C 61 6E 6B 73 28 29 3B 0D 0A 09 69 66 ..blanks();...if
011500: 20 28 21 63 6F 6E 73 74 61 6E 74 28 6C 76 61 6C (!constant(lval
011510: 29 29 20 7B 0D 0A 09 09 63 69 66 3D 46 41 4C 53 )) {....cif=FALS
011520: 45 3B 0D 0A 09 09 72 65 74 75 72 6E 3B 0D 0A 09 E;....return;...
011530: 09 7D 0D 0A 0D 0A 09 2F 2A 20 63 68 65 63 6B 20 .}...../* check
011540: 74 6F 20 73 65 65 20 69 66 20 76 61 69 6C 64 20 to see if vaild
011550: 73 79 6D 62 6F 6C 09 2A 2F 0D 0A 09 69 66 20 28 symbol.*/...if (
011560: 21 73 79 6D 6E 61 6D 65 28 73 6E 61 6D 65 29 29 !symname(sname))
011570: 20 7B 0D 0A 09 09 65 72 72 6F 72 28 22 69 6E 76 {....error("inv
011580: 61 69 6C 64 20 69 64 65 6E 74 69 66 69 65 72 22 aild identifier"
011590: 29 3B 0D 0A 09 09 6B 69 6C 6C 28 29 3B 0D 0A 09 );....kill();...
0115A0: 09 7D 0D 0A 0D 0A 09 2F 2A 20 63 68 65 63 6B 20 .}...../* check
0115B0: 74 6F 20 73 65 65 20 69 66 20 73 79 6D 62 6F 6C to see if symbol
0115C0: 20 69 73 20 64 65 66 69 6E 65 20 2A 2F 0D 0A 09 is define */...
0115D0: 69 66 20 28 66 69 6E 64 6C 6F 63 28 73 6E 61 6D if (findloc(snam
0115E0: 65 29 20 7C 7C 20 66 69 6E 64 67 6C 62 28 73 6E e) || findglb(sn
0115F0: 61 6D 65 29 29 20 0D 0A 09 09 63 69 66 3D 54 52 ame)) ....cif=TR
011600: 65 65 64 65 64 20 66 6F 72 20 76 61 72 62 6C 65 eeded for varble
011610: 20 2A 2F 0D 0A 09 69 6E 74 20 76 61 6C 75 65 3B */...int value;
011620: 09 2F 2A 20 75 73 65 64 20 74 6F 20 68 6F 6C 64 ./* used to hold
011630: 20 76 61 6C 75 65 20 66 6F 72 20 6F 66 66 73 65 value for offse
011640: 74 20 2A 2F 0D 0A 09 63 68 61 72 20 2A 70 74 72 t */...char *ptr
011650: 3B 09 2F 2A 20 70 6F 69 6E 74 65 72 20 74 6F 20 ;./* pointer to
011660: 66 72 65 65 20 73 6C 6F 74 20 69 6E 20 73 79 6D free slot in sym
011670: 62 6F 6C 20 74 61 62 6C 65 20 2A 2F 0D 0A 0D 0A bol table */....
011680: 09 2F 2A 20 63 68 65 63 6B 20 74 6F 20 73 65 65 ./* check to see
011690: 20 69 66 20 73 75 62 73 63 72 69 70 74 20 2A 2F if subscript */
0116A0: 0D 0A 09 69 66 20 28 6D 61 74 63 68 28 22 5B 22 ...if (match("["
0116B0: 29 29 20 7B 0D 0A 0D 0A 09 09 2F 2A 20 61 64 64 )) {....../* add
0116C0: 20 31 20 74 6F 20 69 6E 64 65 72 69 63 74 20 63 1 to inderict c
0116D0: 6F 75 6E 74 20 2A 2F 0D 0A 09 09 2B 2B 63 6F 75 ount */....++cou
0116E0: 6E 74 3B 0D 0A 0D 0A 09 09 2F 2A 20 63 68 65 63 nt;....../* chec
0116F0: 6B 20 74 6F 20 73 65 65 20 6E 75 6C 6C 20 73 75 k to see null su
011700: 62 73 63 72 69 70 74 20 2A 2F 0D 0A 09 09 69 66 bscript */....if
011710: 20 28 73 69 7A 65 3D 6E 65 65 64 73 75 62 28 29 (size=needsub()
011720: 29 20 7B 0D 0A 0D 0A 09 09 09 2F 2A 20 73 75 62 ) {......./* sub
011730: 73 63 72 69 70 74 20 73 69 7A 65 20 6E 6F 74 20 script size not
011740: 6E 75 6C 6C 20 2A 2F 0D 0A 09 09 09 69 66 20 28 null */.....if (
011750: 69 64 65 6E 74 5F 74 79 70 3D 3D 70 6F 69 6E 74 ident_typ==point
011760: 65 72 29 20 7B 0D 0A 0D 0A 09 09 09 09 2F 2A 20 er) {......../*
011770: 61 72 72 61 79 20 6F 66 20 70 6F 69 6E 74 65 72 array of pointer
011780: 20 2A 74 65 6D 70 5B 73 69 7A 65 5D 20 2A 2F 0D *temp[size] */.
011790: 0A 09 09 09 09 73 69 7A 65 3D 73 69 7A 65 2B 73 .....size=size+s
0117A0: 69 7A 65 3B 0D 0A 09 09 09 09 7D 0D 0A 09 09 09 ize;......}.....
0117B0: 65 6C 73 65 20 7B 0D 0A 0D 0A 09 09 09 09 2F 2A else {......../*
0117C0: 20 61 72 72 61 79 20 74 65 6D 70 5B 73 69 7A 65 array temp[size
0117D0: 5D 20 2A 2F 0D 0A 09 09 09 09 69 64 65 6E 74 5F ] */......ident_
0117E0: 74 79 70 3D 61 72 72 61 79 3B 0D 0A 09 09 09 09 typ=array;......
0117F0: 69 66 20 28 74 79 70 3D 3D 63 69 6E 74 29 20 73 if (typ==cint) s
011800: 55 45 3B 20 65 6C 73 65 20 63 69 66 3D 46 41 4C UE; else cif=FAL
011810: 53 45 3B 0D 0A 09 7D 0D 0A 2F 2A 09 09 09 09 09 SE;...}../*.....
011820: 2A 2F 0D 0A 2F 2A 09 43 6C 6F 73 65 20 74 68 65 */../*.Close the
011830: 20 6F 75 74 70 75 74 20 66 69 6C 65 09 09 2A 2F output file..*/
011840: 0D 0A 2F 2A 09 09 09 09 09 2A 2F 0D 0A 63 6C 6F ../*.....*/..clo
011850: 73 65 6F 75 74 28 29 0D 0A 7B 0D 0A 09 69 66 20 seout()..{...if
011860: 28 6F 75 74 70 75 74 29 20 7B 09 2F 2A 20 69 66 (output) {./* if
011870: 20 6F 70 65 6E 20 6D 61 72 6B 20 65 6E 64 2C 20 open mark end,
011880: 63 6C 6F 73 65 20 69 74 20 2A 2F 0D 0A 09 09 70 close it */....p
011890: 75 74 63 28 32 36 2C 66 6F 75 74 29 3B 0D 0A 09 utc(26,fout);...
0118A0: 09 66 66 6C 75 73 68 28 66 6F 75 74 29 3B 0D 0A .fflush(fout);..
0118B0: 09 09 66 63 6C 6F 73 65 28 6F 75 74 70 75 74 29 ..fclose(output)
0118C0: 3B 0D 0A 09 09 7D 0D 0A 09 6F 75 74 70 75 74 3D ;....}...output=
0118D0: 30 3B 09 20 20 20 20 20 20 2F 2A 20 6D 61 72 6B 0;. /* mark
0118E0: 20 61 73 20 63 6C 6F 73 65 64 20 2A 2F 0D 0A 09 as closed */...
0118F0: 7D 0D 0A 2F 2A 09 09 09 09 09 2A 2F 0D 0A 2F 2A }../*.....*/../*
011900: 09 44 65 63 6C 61 72 65 20 61 20 73 74 61 74 69 .Declare a stati
011910: 63 20 76 61 72 69 61 62 6C 65 09 2A 2F 0D 0A 2F c variable.*/../
011920: 2A 09 28 69 2E 65 2E 20 64 65 66 69 6E 65 20 66 *.(i.e. define f
011930: 6F 72 20 75 73 65 29 09 09 2A 2F 0D 0A 2F 2A 09 or use)..*/../*.
011940: 09 09 09 09 2A 2F 0D 0A 2F 2A 20 6D 61 6B 65 73 ....*/../* makes
011950: 20 61 6E 20 65 6E 74 72 79 20 69 6E 20 74 68 65 an entry in the
011960: 20 73 79 6D 62 6F 6C 20 74 61 62 6C 65 20 73 6F symbol table so
011970: 20 73 75 62 73 65 71 75 65 6E 74 20 2A 2F 0D 0A subsequent */..
011980: 2F 2A 20 20 72 65 66 65 72 65 6E 63 65 73 20 63 /* references c
011990: 61 6E 20 63 61 6C 6C 20 73 79 6D 62 6F 6C 20 62 an call symbol b
0119A0: 79 20 6E 61 6D 65 20 20 2A 2F 0D 0A 64 65 63 6C y name */..decl
0119B0: 67 6C 62 28 74 79 70 29 09 20 20 20 20 2F 2A 20 glb(typ). /*
0119C0: 74 79 70 20 69 73 20 63 63 68 61 72 20 6F 72 20 typ is cchar or
0119D0: 63 69 6E 74 20 2A 2F 0D 0A 09 69 6E 74 20 74 79 cint */...int ty
0119E0: 70 3B 0D 0A 7B 0D 0A 09 69 6E 74 20 6A 3B 0D 0A p;..{...int j;..
0119F0: 09 69 6E 74 20 63 6F 75 6E 74 3B 0D 0A 09 63 68 .int count;...ch
011A00: 69 7A 65 3D 73 69 7A 65 2B 73 69 7A 65 3B 0D 0A ize=size+size;..
011A10: 09 09 09 09 7D 0D 0A 09 09 09 7D 0D 0A 09 09 65 ....}.....}....e
011A20: 6C 73 65 20 7B 0D 0A 0D 0A 09 09 09 2F 2A 20 6E lse {......./* n
011A30: 75 6C 6C 20 73 69 7A 65 20 73 75 62 73 63 72 69 ull size subscri
011A40: 70 74 20 2A 2F 0D 0A 09 09 09 69 64 65 6E 74 5F pt */.....ident_
011A50: 74 79 70 3D 70 6F 69 6E 74 65 72 3B 0D 0A 09 09 typ=pointer;....
011A60: 09 73 69 7A 65 3D 32 3B 0D 0A 09 09 09 7D 0D 0A .size=2;.....}..
011A70: 09 09 7D 0D 0A 09 65 6C 73 65 20 7B 0D 0A 09 09 ..}...else {....
011A80: 2F 2A 20 6E 6F 20 73 75 62 73 63 72 69 70 74 20 /* no subscript
011A90: 2A 2F 0D 0A 09 09 69 66 20 28 69 64 65 6E 74 5F */....if (ident_
011AA0: 74 79 70 3D 3D 70 6F 69 6E 74 65 72 29 20 73 69 typ==pointer) si
011AB0: 7A 65 3D 32 3B 0D 0A 09 09 65 6C 73 65 20 69 66 ze=2;....else if
011AC0: 20 28 74 79 70 20 3D 3D 20 63 69 6E 74 29 20 73 (typ == cint) s
011AD0: 69 7A 65 3D 32 3B 20 65 6C 73 65 20 73 69 7A 65 ize=2; else size
011AE0: 3D 31 3B 0D 0A 09 09 7D 0D 0A 09 2F 2A 20 61 64 =1;....}.../* ad
011AF0: 64 20 64 61 74 61 20 65 6C 65 6D 65 6E 74 20 74 d data element t
011B00: 6F 20 73 79 6D 62 6F 6C 20 74 61 62 6C 65 20 2A o symbol table *
011B10: 2F 0D 0A 09 73 77 69 74 63 68 28 63 6C 61 73 73 /...switch(class
011B20: 5F 69 64 29 20 7B 0D 0A 0D 0A 09 09 2F 2A 20 67 _id) {....../* g
011B30: 6C 6F 62 61 6C 20 73 79 6D 62 6F 6C 20 2A 2F 0D lobal symbol */.
011B40: 0A 09 09 63 61 73 65 20 73 74 61 74 69 6B 20 3A ...case statik :
011B50: 0D 0A 09 09 09 69 66 20 28 67 6C 62 70 74 72 3E .....if (glbptr>
011B60: 3D 65 6E 64 67 6C 62 29 20 7B 0D 0A 09 09 09 09 =endglb) {......
011B70: 65 72 72 6F 72 28 22 67 6C 6F 62 61 6C 20 73 79 error("global sy
011B80: 6D 6E 6F 6C 20 74 61 62 6C 65 20 6F 76 65 72 66 mnol table overf
011B90: 6C 6F 77 22 29 3B 0D 0A 09 09 09 09 72 65 74 75 low");......retu
011BA0: 72 6E 20 30 3B 0D 0A 09 09 09 09 7D 0D 0A 09 09 rn 0;......}....
011BB0: 09 70 74 72 3D 67 6C 62 70 74 72 3B 0D 0A 09 09 .ptr=glbptr;....
011BC0: 09 67 6C 62 70 74 72 2B 3D 73 79 6D 73 69 7A 3B .glbptr+=symsiz;
011BD0: 0D 0A 09 09 09 76 61 6C 75 65 3D 73 69 7A 65 3B .....value=size;
011BE0: 0D 0A 09 09 09 62 72 65 61 6B 3B 0D 0A 09 0D 0A .....break;.....
011BF0: 09 09 2F 2A 20 73 74 61 63 6B 20 6C 6F 63 61 6C ../* stack local
011C00: 61 72 20 73 6E 61 6D 65 5B 6E 61 6D 65 73 69 7A ar sname[namesiz
011C10: 65 5D 3B 0D 0A 0D 0A 09 77 68 69 6C 65 28 31 29 e];.....while(1)
011C20: 20 7B 0D 0A 09 09 63 6F 75 6E 74 3D 30 3B 09 0D {....count=0;..
011C30: 0A 09 09 69 66 20 28 65 6E 64 73 74 28 29 29 20 ...if (endst())
011C40: 72 65 74 75 72 6E 3B 0D 0A 09 09 69 66 28 6D 61 return;....if(ma
011C50: 74 63 68 28 22 2A 22 29 29 20 7B 0D 0A 09 09 09 tch("*")) {.....
011C60: 6A 3D 70 6F 69 6E 74 65 72 3B 0D 0A 09 09 09 2B j=pointer;.....+
011C70: 2B 63 6F 75 6E 74 3B 20 0D 0A 09 09 09 77 68 69 +count; .....whi
011C80: 6C 65 28 63 68 28 29 3D 3D 27 2A 27 29 20 7B 0D le(ch()=='*') {.
011C90: 0A 09 09 09 09 2B 2B 63 6F 75 6E 74 3B 0D 0A 09 .....++count;...
011CA0: 09 09 09 67 63 68 28 29 3B 0D 0A 09 09 09 09 7D ...gch();......}
011CB0: 0D 0A 09 09 09 7D 09 09 0D 0A 09 09 65 6C 73 65 .....}......else
011CC0: 20 6A 3D 76 61 72 69 61 62 6C 65 3B 0D 0A 09 09 j=variable;....
011CD0: 69 66 20 28 21 73 79 6D 6E 61 6D 65 28 73 6E 61 if (!symname(sna
011CE0: 6D 65 29 29 20 69 6C 6C 6E 61 6D 65 28 29 3B 0D me)) illname();.
011CF0: 0A 09 09 69 66 28 66 69 6E 64 67 6C 62 28 73 6E ...if(findglb(sn
011D00: 61 6D 65 29 29 20 6D 75 6C 74 69 64 65 66 28 73 ame)) multidef(s
011D10: 6E 61 6D 65 29 3B 0D 0A 09 09 64 61 74 61 5F 70 name);....data_p
011D20: 61 72 73 65 28 73 6E 61 6D 65 2C 74 79 70 2C 73 arse(sname,typ,s
011D30: 74 61 74 69 6B 2C 6A 2C 63 6F 75 6E 74 29 3B 0D tatik,j,count);.
011D40: 0A 09 09 69 66 20 28 6D 61 74 63 68 28 22 2C 22 ...if (match(","
011D50: 29 3D 3D 30 29 20 72 65 74 75 72 6E 3B 20 2F 2A )==0) return; /*
011D60: 20 6D 6F 72 65 3F 20 2A 2F 0D 0A 09 09 7D 0D 0A more? */....}..
011D70: 09 7D 0D 0A 2F 2A 09 09 09 09 09 2A 2F 0D 0A 2F .}../*.....*/../
011D80: 2A 20 20 20 20 20 20 44 65 63 6C 61 72 65 20 6C * Declare l
011D90: 6F 63 61 6C 20 76 61 72 69 61 62 6C 65 73 09 09 ocal variables..
011DA0: 2A 2F 0D 0A 2F 2A 20 20 20 20 20 20 28 69 2E 65 */../* (i.e
011DB0: 2E 20 64 65 66 69 6E 65 20 66 6F 72 20 75 73 65 . define for use
011DC0: 29 09 09 2A 2F 0D 0A 2F 2A 09 09 09 09 09 2A 2F )..*/../*.....*/
011DD0: 0D 0A 2F 2A 20 77 6F 72 6B 73 20 6A 75 73 74 20 ../* works just
011DE0: 6C 69 6B 65 20 22 64 65 63 6C 67 6C 62 22 20 62 like "declglb" b
011DF0: 75 74 20 6D 6F 64 69 66 69 65 73 20 6D 61 63 68 ut modifies mach
011E00: 54 72 61 63 6B 2D 49 6E 66 6F 0D 0A 00 00 00 00 Track-Info......
011E10: 0F 00 01 00 02 09 52 E5 0F 00 C1 02 00 00 00 02 ......R.........
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: 20 76 61 72 62 6C 65 20 2A 2F 20 0D 0A 09 09 63 varble */ ....c
011F10: 61 73 65 20 73 74 6B 6C 6F 63 20 3A 0D 0A 09 09 ase stkloc :....
011F20: 09 73 70 3D 6D 6F 64 73 74 6B 28 73 70 2D 73 69 .sp=modstk(sp-si
011F30: 7A 65 29 3B 0D 0A 09 09 09 76 61 6C 75 65 3D 73 ze);.....value=s
011F40: 70 3B 0D 0A 09 09 09 69 66 20 28 6C 6F 63 70 74 p;.....if (locpt
011F50: 72 3E 3D 65 6E 64 6C 6F 63 29 20 7B 0D 0A 09 09 r>=endloc) {....
011F60: 09 09 65 72 72 6F 72 28 22 6C 6F 63 61 6C 20 73 ..error("local s
011F70: 79 6D 62 6F 6C 20 74 61 62 6C 65 20 6F 76 65 72 ymbol table over
011F80: 66 6C 6F 77 22 29 3B 0D 0A 09 09 09 09 72 65 74 flow");......ret
011F90: 75 72 6E 20 30 3B 0D 0A 09 09 09 09 7D 0D 0A 09 urn 0;......}...
011FA0: 09 09 70 74 72 3D 6C 6F 63 70 74 72 3B 0D 0A 09 ..ptr=locptr;...
011FB0: 09 09 6C 6F 63 70 74 72 2B 3D 73 79 6D 73 69 7A ..locptr+=symsiz
011FC0: 3B 0D 0A 09 09 09 62 72 65 61 6B 3B 0D 0A 0D 0A ;.....break;....
011FD0: 09 09 2F 2A 20 61 72 67 20 73 74 61 63 6B 20 2A ../* arg stack *
011FE0: 2F 0D 0A 09 09 63 61 73 65 20 73 74 6B 61 72 67 /....case stkarg
011FF0: 20 3A 0D 0A 09 09 09 76 61 6C 75 65 3D 61 72 67 :.....value=arg
012000: 73 74 6B 3B 0D 0A 09 09 09 61 72 67 73 74 6B 2D stk;.....argstk-
012010: 3D 32 3B 0D 0A 09 09 09 69 66 20 28 6C 6F 63 70 =2;.....if (locp
012020: 74 72 3E 3D 65 6E 64 6C 6F 63 29 20 7B 0D 0A 09 tr>=endloc) {...
012030: 09 09 09 65 72 72 6F 72 28 22 6C 6F 63 61 6C 20 ...error("local
012040: 73 79 6D 62 6F 6C 20 74 61 62 6C 65 20 6F 76 65 symbol table ove
012050: 72 66 6C 6F 77 22 29 3B 0D 0A 09 09 09 09 72 65 rflow");......re
012060: 74 75 72 6E 20 30 3B 0D 0A 09 09 09 09 7D 0D 0A turn 0;......}..
012070: 09 09 09 70 74 72 3D 6C 6F 63 70 74 72 3B 0D 0A ...ptr=locptr;..
012080: 09 09 09 6C 6F 63 70 74 72 2B 3D 73 79 6D 73 69 ...locptr+=symsi
012090: 7A 3B 0D 0A 09 09 09 62 72 65 61 6B 3B 0D 0A 09 z;.....break;...
0120A0: 09 7D 0D 0A 09 2F 2A 20 66 69 6C 65 20 69 6E 20 .}.../* file in
0120B0: 73 79 6D 62 6F 6C 20 74 61 62 6C 65 20 65 6E 74 symbol table ent
0120C0: 72 79 20 2A 2F 0D 0A 09 73 74 72 63 70 79 28 70 ry */...strcpy(p
0120D0: 74 72 2B 6E 61 6D 65 2C 73 6E 61 6D 65 29 3B 0D tr+name,sname);.
0120E0: 0A 09 70 74 72 5B 69 64 65 6E 74 5D 3D 69 64 65 ..ptr[ident]=ide
0120F0: 6E 74 5F 74 79 70 3B 0D 0A 09 70 74 72 5B 74 79 nt_typ;...ptr[ty
012100: 61 72 61 74 69 6F 6E 22 29 3B 0D 0A 09 09 6B 69 aration");....ki
012110: 6C 6C 28 29 3B 0D 0A 09 09 72 65 74 75 72 6E 3B ll();....return;
012120: 0D 0A 09 09 7D 0D 0A 09 69 66 28 70 74 72 3D 66 ....}...if(ptr=f
012130: 69 6E 64 67 6C 62 28 6E 29 29 20 7B 20 20 20 20 indglb(n)) {
012140: 20 20 2F 2A 20 61 6C 72 65 61 64 79 20 69 6E 20 /* already in
012150: 73 79 6D 62 6F 6C 20 74 61 62 6C 65 20 3F 20 2A symbol table ? *
012160: 2F 0D 0A 09 09 69 66 20 28 70 74 72 5B 69 64 65 /....if (ptr[ide
012170: 6E 74 5D 20 21 3D 20 66 75 6E 63 74 69 6F 6E 29 nt] != function)
012180: 20 6D 75 6C 74 69 64 65 66 28 6E 29 3B 0D 0A 09 multidef(n);...
012190: 09 09 2F 2A 20 61 6C 72 65 61 64 79 20 76 61 72 ../* already var
0121A0: 69 61 62 6C 65 20 62 79 20 74 68 61 74 20 6E 61 iable by that na
0121B0: 6D 65 20 2A 2F 0D 0A 09 09 65 6C 73 65 20 69 66 me */....else if
0121C0: 28 70 74 72 5B 6F 66 66 73 65 74 5D 20 3D 3D 20 (ptr[offset] ==
0121D0: 66 75 6E 63 74 69 6F 6E 29 20 6D 75 6C 74 69 64 function) multid
0121E0: 65 66 28 6E 29 3B 0D 0A 09 09 09 2F 2A 20 61 6C ef(n);...../* al
0121F0: 72 65 61 64 79 20 66 75 6E 63 74 69 6F 6E 20 62 ready function b
012200: 79 20 74 68 61 74 20 6E 61 6D 65 20 2A 2F 0D 0A y that name */..
012210: 09 09 65 6C 73 65 20 7B 0D 0A 09 09 09 70 74 72 ..else {.....ptr
012220: 5B 6F 66 66 73 65 74 5D 3D 66 75 6E 63 74 69 6F [offset]=functio
012230: 6E 3B 0D 0A 09 09 09 63 73 65 63 74 28 6E 29 3B n;.....csect(n);
012240: 0D 0A 09 09 09 7D 0D 0A 09 09 09 2F 2A 20 6F 74 .....}...../* ot
012250: 68 65 72 77 69 73 65 20 77 65 20 68 61 76 65 20 herwise we have
012260: 77 68 61 74 20 77 61 73 20 65 61 72 6C 69 65 72 what was earlier
012270: 2A 2F 0D 0A 09 09 09 2F 2A 20 20 61 73 73 75 6D */...../* assum
012280: 65 64 20 74 6F 20 62 65 20 61 20 66 75 6E 63 74 ed to be a funct
012290: 69 6F 6E 20 2A 2F 0D 0A 09 09 7D 0D 0A 09 2F 2A ion */....}.../*
0122A0: 20 69 66 20 6E 6F 74 20 69 6E 20 74 61 62 6C 65 if not in table
0122B0: 2C 20 64 65 66 69 6E 65 20 61 73 20 61 20 66 75 , define as a fu
0122C0: 6E 63 74 69 6F 6E 20 6E 6F 77 20 2A 2F 0D 0A 09 nction now */...
0122D0: 65 6C 73 65 20 7B 0D 0A 09 09 2F 2A 20 66 69 6C else {..../* fil
0122E0: 6C 20 69 6E 20 67 6F 62 61 6C 20 73 79 6D 62 6F l in gobal symbo
0122F0: 6C 20 74 61 62 6C 65 20 2A 2F 0D 0A 09 09 69 66 l table */....if
012300: 70 65 5D 3D 74 79 70 3B 0D 0A 09 70 74 72 5B 73 pe]=typ;...ptr[s
012310: 74 6F 72 61 67 65 5D 3D 63 6C 61 73 73 5F 69 64 torage]=class_id
012320: 3B 0D 0A 09 70 74 72 5B 6F 66 66 73 65 74 5D 3D ;...ptr[offset]=
012330: 76 61 6C 75 65 3B 0D 0A 09 70 74 72 5B 6F 66 66 value;...ptr[off
012340: 73 65 74 2B 31 5D 3D 76 61 6C 75 65 3E 3E 38 3B set+1]=value>>8;
012350: 0D 0A 09 70 74 72 5B 69 6E 64 63 6E 74 5D 3D 63 ...ptr[indcnt]=c
012360: 6F 75 6E 74 3B 0D 0A 09 72 65 74 75 72 6E 20 54 ount;...return T
012370: 52 55 45 3B 0D 0A 09 7D 0D 0A 1A 09 2F 2A 20 61 RUE;...}..../* a
012380: 09 22 5E 5B 52 4F 22 09 20 20 2E 2E 2E 45 53 43 ."^[RO". ...ESC
012390: 41 50 45 2C 52 2C 4F 0D 0A 38 20 20 4E 20 53 09 APE,R,O..8 N S.
0123A0: 20 22 5E 48 22 09 20 20 20 43 55 52 53 4F 52 20 "^H". CURSOR
0123B0: 4C 45 46 54 0D 0A 38 20 20 20 20 20 43 20 20 22 LEFT..8 C "
0123C0: 5E 55 22 09 20 20 20 43 55 52 53 4F 52 20 43 4F ^U". CURSOR CO
0123D0: 4C 55 4D 4E 20 30 0D 0A 31 33 20 20 20 20 43 20 LUMN 0..13 C
0123E0: 22 5E 27 23 39 44 27 22 20 20 48 4F 4D 45 2E 2E "^'#9D'" HOME..
0123F0: 2E 0D 0A 45 20 20 23 39 44 09 22 5E 5B 48 22 09 ...E #9D."^[H".
012400: 20 20 2E 2E 2E 45 53 43 41 50 45 2C 48 0D 0A 36 ...ESCAPE,H..6
012410: 36 20 4E 20 53 20 43 20 22 5E 27 23 39 45 27 22 6 N S C "^'#9E'"
012420: 20 45 58 50 41 4E 44 20 45 53 43 20 4B 45 59 2E EXPAND ESC KEY.
012430: 2E 2E 0D 0A 45 20 20 23 39 45 09 20 22 5E 5B 5E ....E #9E. "^[^
012440: 5B 22 20 20 20 2E 2E 2E 45 53 43 41 50 45 2C 45 [" ...ESCAPE,E
012450: 53 43 41 50 45 0D 0A 1A 1A 1A 1A 1A 1A 1A 1A 1A SCAPE...........
012460: 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A ................
012470: 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A ................
012480: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
012490: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0124A0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0124B0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0124C0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0124D0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0124E0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0124F0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
012500: 20 28 67 6C 62 70 74 72 3E 3D 65 6E 64 67 6C 62 (glbptr>=endglb
012510: 29 20 0D 0A 09 09 09 65 72 72 6F 72 28 22 67 6F ) .....error("go
012520: 62 61 6C 20 73 79 6D 62 6F 6C 20 74 61 62 6C 65 bal symbol table
012530: 20 6F 76 65 72 66 6C 6F 77 22 29 3B 0D 0A 09 09 overflow");....
012540: 65 6C 73 65 20 7B 0D 0A 09 09 09 70 74 72 3D 67 else {.....ptr=g
012550: 6C 62 70 74 72 3B 0D 0A 09 09 09 67 6C 62 70 74 lbptr;.....glbpt
012560: 72 2B 3D 73 79 6D 73 69 7A 3B 0D 0A 09 09 09 73 r+=symsiz;.....s
012570: 74 72 63 70 79 28 70 74 72 2B 6E 61 6D 65 2C 6E trcpy(ptr+name,n
012580: 29 3B 0D 0A 09 09 09 70 74 72 5B 69 64 65 6E 74 );.....ptr[ident
012590: 5D 3D 66 75 6E 63 74 69 6F 6E 3B 0D 0A 09 09 09 ]=function;.....
0125A0: 70 74 72 5B 74 79 70 65 5D 3D 69 6E 74 3B 0D 0A ptr[type]=int;..
0125B0: 09 09 09 70 74 72 5B 6F 66 66 73 65 74 5D 3D 66 ...ptr[offset]=f
0125C0: 75 6E 63 74 69 6F 6E 3B 0D 0A 09 09 09 70 74 72 unction;.....ptr
0125D0: 5B 6F 66 66 73 65 74 31 5D 3D 0D 0A 09 09 09 70 [offset1]=.....p
0125E0: 74 72 5B 69 6E 64 63 6E 74 5D 3D 0D 0A 09 09 09 tr[indcnt]=.....
0125F0: 70 74 72 5B 73 74 6F 72 61 67 65 5D 3D 30 3B 0D ptr[storage]=0;.
012600: 0A 09 09 09 7D 0D 0A 09 09 63 73 65 63 74 28 6E ....}....csect(n
012610: 29 3B 0D 0A 09 09 7D 0D 0A 0D 0A 09 61 72 67 73 );....}.....args
012620: 74 6B 3D 30 3B 09 20 20 20 20 20 20 20 2F 2A 20 tk=0;. /*
012630: 69 6E 69 74 20 61 72 67 20 63 6F 75 6E 74 20 2A init arg count *
012640: 2F 0D 0A 09 77 68 69 6C 65 28 6D 61 74 63 68 28 /...while(match(
012650: 22 29 22 29 20 3D 3D 20 30 29 20 7B 20 20 20 20 ")") == 0) {
012660: 2F 2A 20 74 68 65 6E 20 63 6F 75 6E 74 20 61 72 /* then count ar
012670: 67 73 20 2A 2F 0D 0A 09 09 2F 2A 20 61 6E 79 20 gs */..../* any
012680: 6C 65 67 61 6C 20 6E 61 6D 65 20 62 75 6D 70 73 legal name bumps
012690: 20 61 72 67 20 63 6F 75 6E 74 20 2A 2F 0D 0A 09 arg count */...
0126A0: 09 69 66 20 28 73 79 6D 6E 61 6D 65 28 6E 29 29 .if (symname(n))
0126B0: 20 61 72 67 73 74 6B 3D 61 72 67 73 74 6B 2B 32 argstk=argstk+2
0126C0: 3B 0D 0A 09 09 65 6C 73 65 7B 0D 0A 09 09 09 65 ;....else{.....e
0126D0: 72 72 6F 72 28 22 69 6C 6C 65 67 61 6C 20 61 72 rror("illegal ar
0126E0: 67 75 6D 65 6E 74 20 6E 61 6D 65 22 29 3B 0D 0A gument name");..
0126F0: 09 09 09 6A 75 6E 6B 28 29 3B 0D 0A 09 09 09 7D ...junk();.....}
012700: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
012710: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
012720: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
012730: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
012740: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
012750: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
012760: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
012770: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
012780: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
012790: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0127A0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0127B0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0127C0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0127D0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0127E0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0127F0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
012800: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
012810: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
012820: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
012830: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
012840: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
012850: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
012860: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
012870: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
012880: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
012890: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0128A0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0128B0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0128C0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0128D0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0128E0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0128F0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
012900: 0D 0A 09 09 62 6C 61 6E 6B 73 28 29 3B 0D 0A 09 ....blanks();...
012910: 09 2F 2A 20 69 66 20 6E 6F 74 20 63 6C 6F 73 69 ./* if not closi
012920: 6E 67 20 70 61 72 65 6E 2C 20 73 68 6F 75 6C 64 ng paren, should
012930: 20 62 65 20 61 20 63 6F 6D 6D 61 20 2A 2F 0D 0A be a comma */..
012940: 09 09 69 66 28 20 73 74 72 65 71 28 6C 69 6E 65 ..if( streq(line
012950: 2B 6C 70 74 72 2C 22 29 22 29 20 3D 3D 20 30 29 +lptr,")") == 0)
012960: 20 7B 0D 0A 09 09 09 69 66 28 6D 61 74 63 68 28 {.....if(match(
012970: 22 2C 22 29 3D 3D 30 29 0D 0A 09 09 09 65 72 72 ",")==0).....err
012980: 6F 72 28 22 65 78 70 65 63 74 65 64 20 63 6F 6D or("expected com
012990: 6D 61 22 29 3B 0D 0A 09 09 09 7D 0D 0A 09 09 69 ma");.....}....i
0129A0: 66 28 65 6E 64 73 74 28 29 29 62 72 65 61 6B 3B f(endst())break;
0129B0: 0D 0A 09 09 7D 0D 0A 09 6C 6F 63 70 74 72 3D 73 ....}...locptr=s
0129C0: 74 61 72 74 6C 6F 63 3B 09 2F 2A 20 22 63 6C 65 tartloc;./* "cle
0129D0: 61 72 22 20 6C 6F 63 61 6C 20 73 79 6D 62 6F 6C ar" local symbol
0129E0: 20 74 61 62 6C 65 2A 2F 0D 0A 09 73 70 3D 30 3B table*/...sp=0;
0129F0: 09 09 20 20 20 2F 2A 20 70 72 65 73 65 74 20 73 .. /* preset s
012A00: 74 61 63 6B 20 70 74 72 20 2A 2F 0D 0A 09 77 68 tack ptr */...wh
012A10: 69 6C 65 28 61 72 67 73 74 6B 29 20 7B 0D 0A 09 ile(argstk) {...
012A20: 09 2F 2A 20 6E 6F 77 20 6C 65 74 20 75 73 65 72 ./* now let user
012A30: 20 64 65 63 6C 61 72 65 20 77 68 61 74 20 74 79 declare what ty
012A40: 70 65 73 20 6F 66 20 74 68 69 6E 67 73 20 2A 2F pes of things */
012A50: 0D 0A 09 09 2F 2A 20 20 20 20 20 20 74 68 6F 73 ..../* thos
012A60: 65 20 61 72 67 75 6D 65 6E 74 73 20 77 65 72 65 e arguments were
012A70: 20 2A 2F 0D 0A 09 09 69 66 20 28 61 6D 61 74 63 */....if (amatc
012A80: 68 28 22 63 68 61 72 22 2C 34 29 29 20 7B 0D 0A h("char",4)) {..
012A90: 09 09 09 67 65 74 61 72 67 28 63 63 68 61 72 29 ...getarg(cchar)
012AA0: 3B 0D 0A 09 09 09 6E 73 28 29 3B 0D 0A 09 09 09 ;.....ns();.....
012AB0: 7D 0D 0A 09 09 65 6C 73 65 20 69 66 20 28 61 6D }....else if (am
012AC0: 61 74 63 68 28 22 69 6E 74 22 2C 33 29 29 20 7B atch("int",3)) {
012AD0: 0D 0A 09 09 09 67 65 74 61 72 67 28 63 69 6E 74 .....getarg(cint
012AE0: 29 3B 0D 0A 09 09 09 6E 73 28 29 3B 0D 0A 09 09 );.....ns();....
012AF0: 09 7D 0D 0A 09 09 65 6C 73 65 20 7B 0D 0A 09 09 .}....else {....
012B00: 0D 0A 0D 0A 23 69 66 6E 64 65 66 20 54 52 55 45 ....#ifndef TRUE
012B10: 09 2F 2A 20 73 65 65 20 69 66 20 6E 65 65 64 20 ./* see if need
012B20: 69 6E 63 6C 75 64 65 20 66 69 6C 65 20 2A 2F 0D include file */.
012B30: 0A 23 69 6E 63 6C 75 64 65 20 3C 63 2E 64 65 66 .#include <c.def
012B40: 3E 0D 0A 23 65 6E 64 69 66 0D 0A 0D 0A 2F 2A 09 >..#endif..../*.
012B50: 09 09 09 09 2A 2F 0D 0A 2F 2A 09 47 65 74 20 72 ....*/../*.Get r
012B60: 65 71 75 69 72 65 64 20 61 72 72 61 79 20 73 69 equired array si
012B70: 7A 65 09 09 2A 2F 0D 0A 2F 2A 09 09 09 09 09 2A ze..*/../*.....*
012B80: 2F 0D 0A 2F 2A 20 69 6E 76 6F 6B 65 64 20 77 68 /../* invoked wh
012B90: 65 6E 20 64 65 63 6C 61 72 65 64 20 76 61 72 69 en declared vari
012BA0: 61 62 6C 65 20 69 73 20 66 6F 6C 6C 77 65 64 20 able is follwed
012BB0: 62 79 20 22 5B 22 20 2A 2F 0D 0A 2F 2A 20 20 20 by "[" */../*
012BC0: 20 20 20 74 68 69 73 20 72 6F 75 74 69 6E 65 20 this routine
012BD0: 6D 61 6B 65 73 20 73 75 62 73 63 72 69 70 74 20 makes subscript
012BE0: 74 68 65 20 61 62 73 6F 6C 75 74 65 20 2A 2F 0D the absolute */.
012BF0: 0A 2F 2A 20 20 20 20 20 20 73 69 7A 65 20 6F 66 ./* size of
012C00: 20 74 68 65 20 61 72 72 61 79 2E 20 2A 2F 0D 0A the array. */..
012C10: 6E 65 65 64 73 75 62 28 29 0D 0A 7B 0D 0A 09 69 needsub()..{...i
012C20: 6E 74 20 6E 75 6D 5B 31 5D 3B 0D 0A 09 69 66 20 nt num[1];...if
012C30: 28 6D 61 74 63 68 28 22 5D 22 29 29 20 72 65 74 (match("]")) ret
012C40: 75 72 6E 20 30 3B 09 2F 2A 20 6E 75 6C 6C 20 73 urn 0;./* null s
012C50: 69 7A 65 20 2A 2F 0D 0A 09 69 66 20 28 6E 75 6D ize */...if (num
012C60: 62 65 72 28 6E 75 6D 29 3D 3D 30 29 20 7B 09 09 ber(num)==0) {..
012C70: 2F 2A 20 67 6F 20 61 66 74 65 72 20 61 20 6E 75 /* go after a nu
012C80: 6D 62 65 72 20 2A 2F 0D 0A 09 09 65 72 72 6F 72 mber */....error
012C90: 28 22 6D 75 73 74 20 62 65 20 63 6F 6E 73 74 61 ("must be consta
012CA0: 6E 74 22 29 3B 20 20 20 20 20 2F 2A 20 69 74 20 nt"); /* it
012CB0: 69 73 6E 27 74 20 2A 2F 0D 0A 09 09 77 68 69 6C isn't */....whil
012CC0: 65 28 63 68 28 29 20 21 3D 20 27 2C 27 20 26 26 e(ch() != ',' &&
012CD0: 20 63 68 28 29 20 21 3D 20 27 3B 27 20 26 26 20 ch() != ';' &&
012CE0: 63 68 28 29 29 20 67 63 68 28 29 3B 0D 0A 09 09 ch()) gch();....
012CF0: 72 65 74 75 72 6E 20 31 3B 20 0D 0A 09 09 7D 0D return 1; ....}.
012D00: 09 65 72 72 6F 72 28 22 77 72 6F 6E 67 20 6E 75 .error("wrong nu
012D10: 6D 62 65 72 20 61 72 67 73 22 29 3B 0D 0A 09 09 mber args");....
012D20: 09 62 72 65 61 6B 3B 0D 0A 09 09 09 7D 0D 0A 09 .break;.....}...
012D30: 09 7D 0D 0A 09 69 66 28 73 74 61 74 65 6D 65 6E .}...if(statemen
012D40: 74 28 29 21 3D 73 74 72 65 74 75 72 6E 29 20 20 t()!=streturn)
012D50: 7B 0D 0A 09 09 09 2F 2A 20 64 6F 20 61 20 73 74 {...../* do a st
012D60: 61 74 65 6D 65 6E 74 2C 20 62 75 74 20 69 66 20 atement, but if
012D70: 2A 2F 0D 0A 09 09 09 2F 2A 20 69 74 27 73 20 61 */...../* it's a
012D80: 20 72 65 74 75 72 6E 2C 20 73 6B 69 70 20 2A 2F return, skip */
012D90: 0D 0A 09 09 09 2F 2A 20 63 6C 65 61 6E 69 6E 67 ...../* cleaning
012DA0: 20 75 70 20 74 68 65 20 73 74 61 63 6B 20 2A 2F up the stack */
012DB0: 0D 0A 09 09 6D 6F 64 73 74 6B 28 30 29 3B 0D 0A ....modstk(0);..
012DC0: 09 09 72 65 74 28 29 3B 0D 0A 09 09 7D 0D 0A 09 ..ret();....}...
012DD0: 73 70 3D 30 3B 0D 0A 09 6C 6F 63 70 74 72 3D 73 sp=0;...locptr=s
012DE0: 74 61 72 74 6C 6F 63 3B 0D 0A 09 64 75 6D 70 6C tartloc;...dumpl
012DF0: 69 74 73 28 29 3B 0D 0A 09 6C 69 74 6C 61 62 3D its();...litlab=
012E00: 67 65 74 6C 61 62 65 6C 28 29 3B 0D 0A 09 7D 0D getlabel();...}.
012E10: 0A 2F 2A 09 09 09 09 20 20 20 20 20 20 2A 2F 0D ./*.... */.
012E20: 0A 2F 2A 20 20 20 20 20 20 44 65 63 6C 61 72 65 ./* Declare
012E30: 20 61 72 67 75 6D 65 6E 74 20 74 79 70 65 73 09 argument types.
012E40: 20 20 2A 2F 0D 0A 2F 2A 09 09 09 09 20 20 20 20 */../*....
012E50: 20 20 2A 2F 0D 0A 2F 2A 20 63 61 6C 6C 65 64 20 */../* called
012E60: 66 72 6F 6D 20 22 6E 65 77 66 75 6E 63 22 20 74 from "newfunc" t
012E70: 68 69 73 20 72 6F 75 74 69 6E 65 20 61 64 64 73 his routine adds
012E80: 20 61 20 65 6E 74 72 79 20 69 6E 20 74 68 65 20 a entry in the
012E90: 2A 2F 0D 0A 2F 2A 20 20 20 20 20 20 6C 6F 63 61 */../* loca
012EA0: 6C 20 73 79 6D 62 6F 6C 20 74 61 62 6C 65 20 66 l symbol table f
012EB0: 6F 72 20 65 61 63 68 20 6E 61 6D 65 64 20 61 72 or each named ar
012EC0: 67 75 6D 65 6E 74 20 2A 2F 0D 0A 67 65 74 61 72 gument */..getar
012ED0: 67 28 74 29 09 20 20 20 20 20 20 20 2F 2A 20 74 g(t). /* t
012EE0: 20 3D 20 63 63 68 61 72 20 6F 72 20 63 69 6E 74 = cchar or cint
012EF0: 20 2A 2F 0D 0A 69 6E 74 20 74 3B 0D 0A 7B 0D 0A */..int t;..{..
012F00: 0A 09 69 66 20 28 6E 75 6D 5B 30 5D 3C 30 29 20 ..if (num[0]<0)
012F10: 7B 0D 0A 09 09 65 72 72 6F 72 28 22 6E 65 67 61 {....error("nega
012F20: 74 69 76 65 20 73 69 7A 65 20 69 6C 6C 65 67 61 tive size illega
012F30: 6C 22 29 3B 0D 0A 09 09 6E 75 6D 5B 30 5D 3D 28 l");....num[0]=(
012F40: 2D 6E 75 6D 5B 30 5D 29 3B 0D 0A 09 09 7D 0D 0A -num[0]);....}..
012F50: 09 6E 65 65 64 62 72 61 63 6B 28 22 5D 22 29 3B .needbrack("]");
012F60: 09 09 2F 2A 20 66 6F 72 63 65 20 73 69 6E 67 6C ../* force singl
012F70: 65 20 64 69 6D 65 6E 73 69 6F 6E 20 2A 2F 0D 0A e dimension */..
012F80: 09 72 65 74 75 72 6E 20 6E 75 6D 5B 30 5D 3B 09 .return num[0];.
012F90: 09 2F 2A 20 61 6E 64 20 72 65 74 75 72 6E 20 73 ./* and return s
012FA0: 69 7A 65 20 2A 2F 0D 0A 09 7D 0D 0A 2F 2A 09 09 ize */...}../*..
012FB0: 09 09 2A 2F 0D 0A 2F 2A 20 20 20 20 20 20 42 65 ..*/../* Be
012FC0: 67 69 6E 20 61 20 66 75 6E 63 74 69 6F 6E 09 2A gin a function.*
012FD0: 2F 0D 0A 2F 2A 09 09 09 09 2A 2F 0D 0A 2F 2A 20 /../*....*/../*
012FE0: 43 61 6C 6C 65 64 20 66 72 6F 6D 20 22 70 61 72 Called from "par
012FF0: 73 65 22 20 74 68 69 73 20 72 6F 75 74 69 6E 65 se" this routine
013000: 20 74 72 69 65 73 20 74 6F 20 6D 61 6B 65 20 61 tries to make a
013010: 20 66 75 6E 63 74 69 6F 6E 20 2A 2F 0D 0A 2F 2A function */../*
013020: 20 20 20 20 20 20 6F 75 74 20 6F 66 20 77 68 61 out of wha
013030: 74 20 66 6F 6C 6C 6F 77 73 2E 20 20 20 20 2A 2F t follows. */
013040: 0D 0A 6E 65 77 66 75 6E 63 28 29 0D 0A 7B 0D 0A ..newfunc()..{..
013050: 09 63 68 61 72 20 6E 5B 6E 61 6D 65 73 69 7A 65 .char n[namesize
013060: 5D 2C 2A 70 74 72 3B 0D 0A 09 69 66 20 28 73 79 ],*ptr;...if (sy
013070: 6D 6E 61 6D 65 28 6E 29 20 3D 3D 20 30 29 20 7B mname(n) == 0) {
013080: 0D 0A 09 09 65 72 72 6F 72 28 22 69 6C 6C 65 67 ....error("illeg
013090: 61 6C 20 66 75 6E 63 74 69 6F 6E 20 6F 72 20 64 al function or d
0130A0: 65 63 6C 61 72 61 74 69 6F 6E 22 29 3B 0D 0A 09 eclaration");...
0130B0: 09 6B 69 6C 6C 28 29 3B 0D 0A 09 09 72 65 74 75 .kill();....retu
0130C0: 72 6E 3B 0D 0A 09 09 7D 0D 0A 09 69 66 20 28 21 rn;....}...if (!
0130D0: 6D 61 74 63 68 28 22 28 22 29 29 20 7B 0D 0A 09 match("(")) {...
0130E0: 09 65 72 72 6F 72 28 22 69 6C 6C 65 67 61 6C 20 .error("illegal
0130F0: 66 75 6E 63 74 69 6F 6E 20 6F 72 20 64 65 63 6C function or decl
013100: 54 72 61 63 6B 2D 49 6E 66 6F 0D 0A 00 00 00 00 Track-Info......
013110: 10 00 01 00 02 09 52 E5 10 00 C1 02 00 00 00 02 ......R.........
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: 09 63 68 61 72 20 6E 5B 6E 61 6D 65 73 69 7A 65 .char n[namesize
013210: 5D 2C 63 3B 69 6E 74 20 6A 2C 63 6F 75 6E 74 3B ],c;int j,count;
013220: 0D 0A 09 77 68 69 6C 65 28 31 29 20 7B 0D 0A 09 ...while(1) {...
013230: 09 63 6F 75 6E 74 3D 30 3B 0D 0A 09 09 69 66 20 .count=0;....if
013240: 28 61 72 67 73 74 6B 20 3D 3D 20 30 29 20 72 65 (argstk == 0) re
013250: 74 75 72 6E 3B 20 20 20 2F 2A 20 6E 6F 20 6D 6F turn; /* no mo
013260: 72 65 20 61 72 67 73 20 2A 2F 0D 0A 09 09 69 66 re args */....if
013270: 20 28 6D 61 74 63 68 28 22 2A 22 29 29 20 7B 0D (match("*")) {.
013280: 0A 09 09 09 6A 3D 70 6F 69 6E 74 65 72 3B 0D 0A ....j=pointer;..
013290: 09 09 09 2B 2B 63 6F 75 6E 74 3B 0D 0A 09 09 09 ...++count;.....
0132A0: 77 68 69 6C 65 28 63 68 28 29 3D 3D 27 2A 27 29 while(ch()=='*')
0132B0: 20 7B 0D 0A 09 09 09 09 2B 2B 63 6F 75 6E 74 3B {......++count;
0132C0: 0D 0A 09 09 09 09 67 63 68 28 29 3B 0D 0A 09 09 ......gch();....
0132D0: 09 09 7D 0D 0A 09 09 09 7D 0D 0A 09 09 65 6C 73 ..}.....}....els
0132E0: 65 20 6A 3D 76 61 72 69 61 62 6C 65 3B 0D 0A 09 e j=variable;...
0132F0: 09 69 66 20 28 73 79 6D 6E 61 6D 65 28 6E 29 20 .if (symname(n)
013300: 3D 3D 20 30 29 20 69 6C 6C 6E 61 6D 65 28 29 3B == 0) illname();
013310: 0D 0A 09 09 69 66 20 28 66 69 6E 64 6C 6F 63 28 ....if (findloc(
013320: 6E 29 29 20 6D 75 6C 74 69 64 65 66 28 6E 29 3B n)) multidef(n);
013330: 0D 0A 09 09 64 61 74 61 5F 70 61 72 73 65 28 6E ....data_parse(n
013340: 2C 74 2C 73 74 6B 61 72 67 2C 6A 2C 63 6F 75 6E ,t,stkarg,j,coun
013350: 74 29 3B 0D 0A 09 09 69 66 28 65 6E 64 73 74 28 t);....if(endst(
013360: 29 29 72 65 74 75 72 6E 3B 0D 0A 09 09 69 66 28 ))return;....if(
013370: 6D 61 74 63 68 28 22 2C 22 29 3D 3D 30 29 65 72 match(",")==0)er
013380: 72 6F 72 28 22 65 78 70 65 63 74 65 64 20 63 6F ror("expected co
013390: 6D 6D 61 22 29 3B 0D 0A 09 09 7D 0D 0A 09 7D 0D mma");....}...}.
0133A0: 0A 2F 2A 09 09 09 09 20 20 20 20 20 20 2A 2F 0D ./*.... */.
0133B0: 0A 2F 2A 20 20 20 20 20 20 53 74 61 74 65 6D 65 ./* Stateme
0133C0: 6E 74 20 70 61 72 73 65 72 09 09 2A 2F 0D 0A 2F nt parser..*/../
0133D0: 2A 09 09 09 09 20 20 20 20 20 20 2A 2F 0D 0A 2F *.... */../
0133E0: 2A 20 63 61 6C 6C 65 64 20 77 68 65 6E 65 76 65 * called wheneve
0133F0: 72 20 73 79 6E 74 61 78 20 72 65 71 75 69 72 65 r syntax require
013400: 2F 38 31 09 2A 2F 0D 0A 6E 65 65 64 63 62 72 61 /81.*/..needcbra
013410: 63 65 28 29 0D 0A 7B 0D 0A 09 69 66 20 28 6D 61 ce()..{...if (ma
013420: 74 63 68 28 22 7D 22 29 29 09 72 65 74 75 72 6E tch("}")).return
013430: 20 46 41 4C 53 45 3B 0D 0A 09 65 72 72 6F 72 28 FALSE;...error(
013440: 22 4D 69 73 73 69 6E 67 20 72 69 67 68 74 20 62 "Missing right b
013450: 72 61 63 65 22 29 3B 0D 0A 09 6A 75 6E 6B 28 29 race");...junk()
013460: 3B 0D 0A 09 72 65 74 75 72 6E 20 54 52 55 45 3B ;...return TRUE;
013470: 0D 0A 09 7D 0D 0A 2F 2A 09 09 09 09 20 20 20 20 ...}../*....
013480: 20 20 2A 2F 0D 0A 2F 2A 20 20 20 20 20 20 43 6F */../* Co
013490: 6D 70 6F 75 6E 64 20 73 74 61 74 65 6D 65 6E 74 mpound statement
0134A0: 09 20 20 20 20 20 20 2A 2F 0D 0A 2F 2A 09 09 09 . */../*...
0134B0: 09 20 20 20 20 20 20 2A 2F 0D 0A 2F 2A 20 61 6C . */../* al
0134C0: 6C 6F 77 20 61 6E 79 20 6E 75 6D 62 65 72 20 6F low any number o
0134D0: 66 20 73 74 61 74 65 6D 65 6E 74 73 20 74 6F 20 f statements to
0134E0: 66 61 6C 6C 20 62 65 74 77 65 65 6E 20 22 7B 7D fall between "{}
0134F0: 22 20 2A 2F 0D 0A 63 6F 6D 70 6F 75 6E 64 28 29 " */..compound()
013500: 0D 0A 09 7B 0D 0A 09 2B 2B 6E 63 6D 70 3B 09 20 ...{...++ncmp;.
013510: 2F 2A 20 6E 65 77 20 6C 65 76 65 6C 20 6F 70 65 /* new level ope
013520: 6E 20 2A 2F 0D 0A 09 77 68 69 6C 65 28 6D 61 74 n */...while(mat
013530: 63 68 28 22 7D 22 29 3D 3D 30 29 0D 0A 09 09 69 ch("}")==0)....i
013540: 66 28 65 6F 66 29 20 72 65 74 75 72 6E 3B 0D 0A f(eof) return;..
013550: 09 09 65 6C 73 65 20 73 74 61 74 65 6D 65 6E 74 ..else statement
013560: 28 29 3B 0D 0A 09 2D 2D 6E 63 6D 70 3B 09 20 2F ();...--ncmp;. /
013570: 2A 20 63 6C 6F 73 65 20 63 75 72 72 65 6E 74 20 * close current
013580: 6C 65 76 65 6C 20 2A 2F 0D 0A 09 7D 0D 0A 2F 2A level */...}../*
013590: 09 09 09 09 20 20 20 20 20 20 2A 2F 0D 0A 2F 2A .... */../*
0135A0: 09 20 20 20 20 20 20 22 69 66 22 20 73 74 61 74 . "if" stat
0135B0: 65 6D 65 6E 74 09 20 20 2A 2F 0D 0A 2F 2A 09 09 ement. */../*..
0135C0: 09 09 20 20 20 20 20 20 2A 2F 0D 0A 64 6F 69 66 .. */..doif
0135D0: 28 29 0D 0A 09 7B 0D 0A 09 69 6E 74 20 66 6C 65 ()...{...int fle
0135E0: 76 2C 66 73 70 2C 66 6C 61 62 31 2C 66 6C 61 62 v,fsp,flab1,flab
0135F0: 32 3B 0D 0A 09 66 6C 65 76 3D 6C 6F 63 70 74 72 2;...flev=locptr
013600: 73 20 20 20 20 20 20 2A 2F 0D 0A 2F 2A 20 20 20 s */../*
013610: 20 20 20 61 20 73 74 61 74 65 6D 65 6E 74 2E 09 a statement..
013620: 09 20 20 20 20 20 2A 2F 0D 0A 2F 2A 20 20 74 68 . */../* th
013630: 69 73 20 72 6F 75 74 69 6E 65 20 70 65 72 66 6F is routine perfo
013640: 72 6D 73 20 74 68 61 74 20 73 74 61 74 65 6D 65 rms that stateme
013650: 6E 74 20 2A 2F 0D 0A 2F 2A 20 20 61 6E 64 20 72 nt */../* and r
013660: 65 74 75 72 6E 73 20 61 20 6E 75 6D 62 65 72 20 eturns a number
013670: 74 65 6C 6C 69 6E 67 20 77 68 69 63 68 20 6F 6E telling which on
013680: 65 20 2A 2F 0D 0A 73 74 61 74 65 6D 65 6E 74 28 e */..statement(
013690: 29 0D 0A 20 7B 20 20 20 20 20 20 69 66 20 28 21 ).. { if (!
0136A0: 63 68 28 29 20 26 26 20 65 6F 66 29 20 72 65 74 ch() && eof) ret
0136B0: 75 72 6E 3B 0D 0A 09 65 6C 73 65 20 69 66 28 61 urn;...else if(a
0136C0: 6D 61 74 63 68 28 22 63 68 61 72 22 2C 34 29 29 match("char",4))
0136D0: 20 7B 0D 0A 09 09 64 65 63 6C 6C 6F 63 28 63 63 {....declloc(cc
0136E0: 68 61 72 29 3B 0D 0A 09 09 6E 73 28 29 3B 0D 0A har);....ns();..
0136F0: 09 09 7D 0D 0A 09 65 6C 73 65 20 69 66 28 61 6D ..}...else if(am
013700: 61 74 63 68 28 22 69 6E 74 22 2C 33 29 29 20 7B atch("int",3)) {
013710: 0D 0A 09 09 64 65 63 6C 6C 6F 63 28 63 69 6E 74 ....declloc(cint
013720: 29 3B 0D 0A 09 09 6E 73 28 29 3B 0D 0A 09 09 7D );....ns();....}
013730: 0D 0A 09 65 6C 73 65 20 69 66 28 6D 61 74 63 68 ...else if(match
013740: 28 22 7B 22 29 29 20 63 6F 6D 70 6F 75 6E 64 28 ("{")) compound(
013750: 29 3B 0D 0A 09 65 6C 73 65 20 69 66 28 61 6D 61 );...else if(ama
013760: 74 63 68 28 22 69 66 22 2C 32 29 29 20 7B 0D 0A tch("if",2)) {..
013770: 09 09 64 6F 69 66 28 29 3B 0D 0A 09 09 6C 61 73 ..doif();....las
013780: 74 73 74 3D 73 74 69 66 3B 0D 0A 09 09 7D 0D 0A tst=stif;....}..
013790: 09 65 6C 73 65 20 69 66 28 61 6D 61 74 63 68 28 .else if(amatch(
0137A0: 22 77 68 69 6C 65 22 2C 35 29 29 20 7B 0D 0A 09 "while",5)) {...
0137B0: 09 64 6F 77 68 69 6C 65 28 29 3B 0D 0A 09 09 6C .dowhile();....l
0137C0: 61 73 74 73 74 3D 73 74 77 68 69 6C 65 3B 09 0D astst=stwhile;..
0137D0: 0A 09 09 7D 0D 0A 09 65 6C 73 65 20 69 66 20 28 ...}...else if (
0137E0: 61 6D 61 74 63 68 28 22 66 6F 72 22 2C 33 29 29 amatch("for",3))
0137F0: 20 7B 0D 0A 09 09 64 6F 66 6F 72 28 29 3B 0D 0A {....dofor();..
013800: 3B 20 20 20 20 2F 2A 20 72 65 63 6F 72 64 20 63 ; /* record c
013810: 75 72 72 65 6E 74 20 6C 6F 63 61 6C 20 6C 65 76 urrent local lev
013820: 65 6C 20 2A 2F 0D 0A 09 66 73 70 3D 73 70 3B 09 el */...fsp=sp;.
013830: 20 2F 2A 20 72 65 63 6F 72 64 20 63 75 72 72 65 /* record curre
013840: 6E 74 20 73 74 6B 20 70 74 72 20 2A 2F 0D 0A 09 nt stk ptr */...
013850: 66 6C 61 62 31 3D 20 67 65 74 6C 61 62 65 6C 28 flab1= getlabel(
013860: 29 3B 20 2F 2A 20 67 65 74 20 6C 61 62 65 6C 20 ); /* get label
013870: 66 6F 72 20 66 61 6C 73 65 20 62 72 61 6E 63 68 for false branch
013880: 20 2A 2F 0D 0A 09 74 65 73 74 28 66 6C 61 62 31 */...test(flab1
013890: 29 3B 20 20 20 20 2F 2A 67 65 74 20 65 78 70 72 ); /*get expr
0138A0: 65 73 73 69 6F 6E 2C 20 61 6E 64 20 62 72 61 6E ession, and bran
0138B0: 63 68 20 66 61 6C 73 65 20 2A 2F 0D 0A 09 73 74 ch false */...st
0138C0: 61 74 65 6D 65 6E 74 28 29 3B 20 20 20 20 2F 2A atement(); /*
0138D0: 20 69 66 20 74 72 75 65 2C 20 64 6F 20 61 20 73 if true, do a s
0138E0: 74 61 74 65 6D 65 6E 74 20 2A 2F 0D 0A 09 73 70 tatement */...sp
0138F0: 3D 6D 6F 64 73 74 6B 28 66 73 70 29 3B 20 2F 2A =modstk(fsp); /*
013900: 20 74 68 65 6E 20 63 6C 65 61 6E 20 75 70 20 74 then clean up t
013910: 68 65 20 73 74 61 63 6B 20 2A 2F 0D 0A 09 6C 6F he stack */...lo
013920: 63 70 74 72 3D 66 6C 65 76 3B 20 20 20 20 2F 2A cptr=flev; /*
013930: 20 61 6E 64 20 64 65 61 6C 6C 6F 63 61 74 65 20 and deallocate
013940: 61 6E 79 20 6C 6F 63 61 6C 73 20 2A 2F 0D 0A 09 any locals */...
013950: 69 66 20 28 61 6D 61 74 63 68 28 22 65 6C 73 65 if (amatch("else
013960: 22 2C 34 29 3D 3D 30 29 09 2F 2A 20 69 66 2E 2E ",4)==0)./* if..
013970: 2E 65 6C 73 65 20 3F 20 2A 2F 0D 0A 09 09 2F 2A .else ? */..../*
013980: 20 73 69 6D 70 6C 65 20 22 69 66 22 2E 2E 2E 70 simple "if"...p
013990: 72 69 6E 74 20 66 61 6C 73 65 20 6C 61 62 65 6C rint false label
0139A0: 20 2A 2F 0D 0A 09 09 7B 73 70 72 69 6E 74 6C 61 */....{sprintla
0139B0: 62 65 6C 28 66 6C 61 62 31 29 3B 0D 0A 09 09 72 bel(flab1);....r
0139C0: 65 74 75 72 6E 3B 20 2F 2A 20 61 6E 64 20 65 78 eturn; /* and ex
0139D0: 69 74 20 2A 2F 0D 0A 09 09 7D 0D 0A 09 2F 2A 20 it */....}.../*
0139E0: 61 6E 20 22 69 66 2E 2E 2E 65 6C 73 65 22 20 73 an "if...else" s
0139F0: 74 61 74 65 6D 65 6E 74 2E 20 2A 2F 0D 0A 09 6A tatement. */...j
013A00: 09 09 6C 61 73 74 73 74 3D 73 74 66 6F 72 3B 0D ..lastst=stfor;.
013A10: 0A 09 09 7D 0D 0A 09 65 6C 73 65 20 69 66 20 28 ...}...else if (
013A20: 61 6D 61 74 63 68 28 22 73 77 69 74 63 68 22 2C amatch("switch",
013A30: 36 29 29 20 7B 0D 0A 09 09 64 6F 73 77 69 74 63 6)) {....doswitc
013A40: 68 28 29 3B 0D 0A 09 09 6C 61 73 74 73 74 3D 73 h();....lastst=s
013A50: 74 73 77 69 74 63 68 3B 0D 0A 09 09 7D 0D 0A 09 tswitch;....}...
013A60: 65 6C 73 65 20 69 66 28 61 6D 61 74 63 68 28 22 else if(amatch("
013A70: 72 65 74 75 72 6E 22 2C 36 29 29 20 7B 0D 0A 09 return",6)) {...
013A80: 09 64 6F 72 65 74 75 72 6E 28 29 3B 0D 0A 09 09 .doreturn();....
013A90: 6E 73 28 29 3B 0D 0A 09 09 6C 61 73 74 73 74 3D ns();....lastst=
013AA0: 73 74 72 65 74 75 72 6E 3B 0D 0A 09 09 7D 0D 0A streturn;....}..
013AB0: 09 65 6C 73 65 20 69 66 28 61 6D 61 74 63 68 28 .else if(amatch(
013AC0: 22 62 72 65 61 6B 22 2C 35 29 29 20 7B 0D 0A 09 "break",5)) {...
013AD0: 09 64 6F 62 72 65 61 6B 28 29 3B 0D 0A 09 09 6E .dobreak();....n
013AE0: 73 28 29 3B 0D 0A 09 09 6C 61 73 74 73 74 3D 73 s();....lastst=s
013AF0: 74 62 72 65 61 6B 3B 0D 0A 09 09 7D 0D 0A 09 65 tbreak;....}...e
013B00: 6C 73 65 20 69 66 28 61 6D 61 74 63 68 28 22 63 lse if(amatch("c
013B10: 6F 6E 74 69 6E 75 65 22 2C 38 29 29 20 7B 0D 0A ontinue",8)) {..
013B20: 09 09 64 6F 63 6F 6E 74 28 29 3B 0D 0A 09 09 6E ..docont();....n
013B30: 73 28 29 3B 0D 0A 09 09 6C 61 73 74 73 74 3D 73 s();....lastst=s
013B40: 74 63 6F 6E 74 3B 0D 0A 09 09 7D 0D 0A 09 65 6C tcont;....}...el
013B50: 73 65 20 69 66 28 6D 61 74 63 68 28 22 3B 22 29 se if(match(";")
013B60: 29 3B 0D 0A 09 65 6C 73 65 20 69 66 28 6D 61 74 );...else if(mat
013B70: 63 68 28 22 23 61 73 6D 22 29 29 20 7B 0D 0A 09 ch("#asm")) {...
013B80: 09 64 6F 61 73 6D 28 29 3B 0D 0A 09 09 6E 73 28 .doasm();....ns(
013B90: 29 3B 0D 0A 09 09 6C 61 73 74 73 74 3D 73 74 61 );....lastst=sta
013BA0: 73 6D 3B 0D 0A 09 09 7D 0D 0A 09 2F 2A 20 69 66 sm;....}.../* if
013BB0: 20 6E 6F 74 68 69 6E 67 20 65 6C 73 65 2C 20 61 nothing else, a
013BC0: 73 73 75 6D 65 20 69 74 27 73 20 61 6E 20 65 78 ssume it's an ex
013BD0: 70 72 65 73 73 69 6F 6E 20 2A 2F 0D 0A 09 65 6C pression */...el
013BE0: 73 65 20 7B 0D 0A 09 09 65 78 70 72 65 73 73 69 se {....expressi
013BF0: 6F 6E 28 29 3B 0D 0A 09 09 6E 73 28 29 3B 0D 0A on();....ns();..
013C00: 75 6D 70 28 66 6C 61 62 32 3D 67 65 74 6C 61 62 ump(flab2=getlab
013C10: 65 6C 28 29 29 3B 20 2F 2A 20 6A 75 6D 70 20 61 el()); /* jump a
013C20: 72 6F 75 6E 64 20 74 68 65 20 66 61 6C 73 65 20 round the false
013C30: 63 6F 64 65 20 2A 2F 0D 0A 09 73 70 72 69 6E 74 code */...sprint
013C40: 6C 61 62 65 6C 28 66 6C 61 62 31 29 3B 20 20 20 label(flab1);
013C50: 20 2F 2A 20 70 72 69 6E 74 20 74 72 75 65 20 6C /* print true l
013C60: 61 62 65 6C 20 2A 2F 0D 0A 09 73 74 61 74 65 6D abel */...statem
013C70: 65 6E 74 28 29 3B 09 09 2F 2A 20 61 6E 64 20 64 ent();../* and d
013C80: 6F 20 65 6C 73 65 20 63 6C 61 75 73 65 20 2A 2F o else clause */
013C90: 0D 0A 09 73 70 3D 6D 6F 64 73 74 6B 28 66 73 70 ...sp=modstk(fsp
013CA0: 29 3B 09 09 2F 2A 20 74 68 65 6E 20 63 6C 65 61 );../* then clea
013CB0: 6E 20 75 70 20 73 74 61 63 6B 20 70 74 72 20 2A n up stack ptr *
013CC0: 2F 0D 0A 09 6C 6F 63 70 74 72 3D 66 6C 65 76 3B /...locptr=flev;
013CD0: 09 09 2F 2A 20 64 65 6C 6C 6F 63 61 74 65 20 6C ../* dellocate l
013CE0: 6F 63 61 6C 73 20 2A 2F 0D 0A 09 73 70 72 69 6E ocals */...sprin
013CF0: 74 6C 61 62 65 6C 28 66 6C 61 62 32 29 3B 09 2F tlabel(flab2);./
013D00: 2A 20 70 72 69 6E 74 20 74 72 75 65 20 6C 61 62 * print true lab
013D10: 65 6C 20 2A 2F 0D 0A 09 7D 0D 0A 2F 2A 09 09 09 el */...}../*...
013D20: 09 20 20 20 20 20 20 2A 2F 0D 0A 2F 2A 20 20 20 . */../*
013D30: 20 20 20 22 77 68 69 6C 65 22 20 73 74 61 74 65 "while" state
013D40: 6D 65 6E 74 09 20 20 20 20 20 20 20 2A 2F 0D 0A ment. */..
013D50: 2F 2A 09 09 09 09 20 20 20 20 20 20 2A 2F 0D 0A /*.... */..
013D60: 64 6F 77 68 69 6C 65 28 29 0D 0A 09 7B 0D 0A 09 dowhile()...{...
013D70: 69 6E 74 20 71 75 65 5B 77 71 73 69 7A 5D 3B 09 int que[wqsiz];.
013D80: 20 20 20 20 09 09 2F 2A 20 61 6C 6C 6F 63 61 74 ../* allocat
013D90: 65 20 6C 6F 63 61 6C 20 71 75 65 75 65 20 2A 2F e local queue */
013DA0: 0D 0A 0D 0A 09 71 75 65 5B 77 71 73 79 6D 5D 3D .....que[wqsym]=
013DB0: 6C 6F 63 70 74 72 3B 20 20 20 20 20 20 09 2F 2A locptr; ./*
013DC0: 20 72 65 63 6F 72 64 20 6C 6F 63 61 6C 20 6C 65 record local le
013DD0: 76 65 6C 20 2A 2F 0D 0A 09 71 75 65 5B 77 71 73 vel */...que[wqs
013DE0: 70 5D 3D 73 70 3B 09 20 20 20 09 09 2F 2A 20 61 p]=sp;. ../* a
013DF0: 6E 64 20 73 74 6B 20 70 74 72 20 2A 2F 0D 0A 09 nd stk ptr */...
013E00: 09 09 6C 61 73 74 73 74 3D 73 74 65 78 70 3B 0D ..lastst=stexp;.
013E10: 0A 09 09 7D 0D 0A 09 72 65 74 75 72 6E 20 6C 61 ...}...return la
013E20: 73 74 73 74 3B 0D 0A 09 7D 0D 0A 2F 2A 09 09 09 stst;...}../*...
013E30: 09 20 20 20 20 20 20 2A 2F 0D 0A 2F 2A 20 20 20 . */../*
013E40: 20 20 20 53 65 6D 69 63 6F 6C 6F 6E 20 65 6E 66 Semicolon enf
013E50: 6F 72 63 65 72 09 20 20 20 20 20 20 2A 2F 0D 0A orcer. */..
013E60: 2F 2A 09 09 09 09 20 20 20 20 20 20 2A 2F 0D 0A /*.... */..
013E70: 2F 2A 20 63 61 6C 6C 65 64 20 77 68 65 6E 65 76 /* called whenev
013E80: 65 72 20 73 79 6E 74 61 78 20 72 65 71 75 69 72 er syntax requir
013E90: 65 73 20 61 20 73 65 6D 69 63 6F 6C 6F 6E 20 2A es a semicolon *
013EA0: 2F 0D 0A 6E 73 28 29 20 20 20 20 7B 69 66 28 6D /..ns() {if(m
013EB0: 61 74 63 68 28 22 3B 22 29 3D 3D 30 29 65 72 72 atch(";")==0)err
013EC0: 6F 72 28 22 6D 69 73 73 69 6E 67 20 73 65 6D 69 or("missing semi
013ED0: 63 6F 6C 6F 6E 22 29 3B 7D 0D 0A 2F 2A 09 09 09 colon");}../*...
013EE0: 09 09 2A 2F 0D 0A 2F 2A 09 6E 65 65 64 20 73 65 ..*/../*.need se
013EF0: 6D 69 63 6F 6C 6F 6E 09 09 09 2A 2F 0D 0A 2F 2A micolon...*/../*
013F00: 09 77 72 69 74 74 65 6E 09 62 79 20 4D 69 6B 65 .written.by Mike
013F10: 09 42 65 72 6E 73 6F 6E 09 31 2F 38 31 09 2A 2F .Bernson.1/81.*/
013F20: 0D 0A 2F 2A 09 09 09 09 09 2A 2F 0D 0A 6E 65 65 ../*.....*/..nee
013F30: 64 73 65 6D 28 29 0D 0A 7B 0D 0A 09 69 66 20 28 dsem()..{...if (
013F40: 6D 61 74 63 68 28 22 3B 22 29 29 09 72 65 74 75 match(";")).retu
013F50: 72 6E 20 46 41 4C 53 45 3B 0D 0A 09 65 72 72 6F rn FALSE;...erro
013F60: 72 28 22 4D 69 73 73 69 6E 67 20 73 65 6D 69 63 r("Missing semic
013F70: 6F 6C 6F 6E 22 29 3B 0D 0A 09 6A 75 6E 6B 28 29 olon");...junk()
013F80: 3B 0D 0A 09 72 65 74 75 72 6E 20 54 52 55 45 3B ;...return TRUE;
013F90: 0D 0A 09 7D 0D 0A 2F 2A 09 09 09 09 09 2A 2F 0D ...}../*.....*/.
013FA0: 0A 2F 2A 09 6E 65 65 64 20 6F 70 65 6E 69 6E 67 ./*.need opening
013FB0: 20 70 61 72 6E 09 09 2A 2F 0D 0A 2F 2A 09 77 72 parn..*/../*.wr
013FC0: 69 74 74 65 6E 09 62 79 20 4D 69 6B 65 09 42 65 itten.by Mike.Be
013FD0: 72 6E 73 6F 6E 09 31 2F 38 31 09 2A 2F 0D 0A 6E rnson.1/81.*/..n
013FE0: 65 65 64 6F 70 61 72 6E 28 29 0D 0A 7B 0D 0A 09 eedoparn()..{...
013FF0: 69 66 20 28 6D 61 74 63 68 28 22 28 22 29 29 09 if (match("(")).
014000: 71 75 65 5B 77 71 6C 6F 6F 70 5D 3D 09 09 09 2F que[wqloop]=.../
014010: 2A 20 61 6E 64 20 6C 6F 6F 70 69 6E 67 20 6C 61 * and looping la
014020: 62 65 6C 20 2A 2F 0D 0A 09 71 75 65 5B 77 71 65 bel */...que[wqe
014030: 6E 64 5D 3D 67 65 74 6C 61 62 65 6C 28 29 3B 09 nd]=getlabel();.
014040: 09 2F 2A 20 63 6F 6E 74 69 6E 75 65 20 6C 61 62 ./* continue lab
014050: 65 6C 20 2A 2F 0D 0A 09 71 75 65 5B 77 71 6C 61 el */...que[wqla
014060: 62 5D 3D 67 65 74 6C 61 62 65 6C 28 29 3B 09 09 b]=getlabel();..
014070: 2F 2A 20 61 6E 64 20 65 78 69 74 20 6C 61 62 65 /* and exit labe
014080: 6C 20 2A 2F 0D 0A 09 61 64 64 77 68 69 6C 65 28 l */...addwhile(
014090: 71 75 65 29 3B 09 09 09 2F 2A 20 61 64 64 20 74 que);.../* add t
0140A0: 6F 20 6C 6F 6F 70 69 6E 67 20 73 74 61 63 6B 09 o looping stack.
0140B0: 2A 2F 0D 0A 09 73 70 72 69 6E 74 6C 61 62 65 6C */...sprintlabel
0140C0: 28 71 75 65 5B 77 71 6C 6F 6F 70 5D 29 3B 09 2F (que[wqloop]);./
0140D0: 2A 20 6C 6F 6F 70 20 6C 61 62 65 6C 20 2A 2F 0D * loop label */.
0140E0: 0A 09 74 65 73 74 28 71 75 65 5B 77 71 6C 61 62 ..test(que[wqlab
0140F0: 5D 29 3B 09 09 2F 2A 20 73 65 65 20 69 66 20 74 ]);../* see if t
014100: 72 75 65 20 2A 2F 0D 0A 09 73 74 61 74 65 6D 65 rue */...stateme
014110: 6E 74 28 29 3B 09 09 09 2F 2A 20 69 66 20 73 6F nt();.../* if so
014120: 2C 20 64 6F 20 61 20 73 74 61 74 65 6D 65 6E 74 , do a statement
014130: 20 2A 2F 0D 0A 09 6A 75 6D 70 28 71 75 65 5B 77 */...jump(que[w
014140: 71 6C 6F 6F 70 5D 29 3B 09 09 2F 2A 20 6C 6F 6F qloop]);../* loo
014150: 70 09 74 6F 20 6C 61 62 65 6C 20 2A 2F 0D 0A 09 p.to label */...
014160: 73 70 72 69 6E 74 6C 61 62 65 6C 28 71 75 65 5B sprintlabel(que[
014170: 77 71 6C 61 62 5D 29 3B 09 2F 2A 20 65 78 69 74 wqlab]);./* exit
014180: 20 6C 61 62 65 6C 20 2A 2F 0D 0A 09 6C 6F 63 70 label */...locp
014190: 74 72 3D 71 75 65 5B 77 71 73 79 6D 5D 3B 09 09 tr=que[wqsym];..
0141A0: 2F 2A 20 64 65 61 6C 6C 6F 63 61 74 65 20 6C 6F /* deallocate lo
0141B0: 63 61 6C 73 20 2A 2F 0D 0A 09 73 70 3D 6D 6F 64 cals */...sp=mod
0141C0: 73 74 6B 28 71 75 65 5B 77 71 73 70 5D 29 3B 09 stk(que[wqsp]);.
0141D0: 09 2F 2A 20 63 6C 65 61 6E 20 75 70 20 73 74 6B ./* clean up stk
0141E0: 09 70 74 72 20 2A 2F 0D 0A 09 64 65 6C 77 68 69 .ptr */...delwhi
0141F0: 6C 65 28 29 3B 09 09 09 2F 2A 20 64 65 6C 65 74 le();.../* delet
014200: 72 65 74 75 72 6E 20 46 41 4C 53 45 3B 0D 0A 09 return FALSE;...
014210: 65 72 72 6F 72 28 22 4D 69 73 73 69 6E 67 20 6C error("Missing l
014220: 65 66 74 20 70 61 72 6E 74 68 69 73 22 29 3B 0D eft parnthis");.
014230: 0A 09 6A 75 6E 6B 28 29 3B 0D 0A 09 72 65 74 75 ..junk();...retu
014240: 72 6E 20 54 52 55 45 3B 0D 0A 09 7D 0D 0A 2F 2A rn TRUE;...}../*
014250: 09 09 09 09 09 2A 2F 0D 0A 2F 2A 09 6E 65 65 64 .....*/../*.need
014260: 20 63 6C 6F 73 69 6E 67 20 70 61 72 6E 09 09 2A closing parn..*
014270: 2F 0D 0A 2F 2A 09 77 72 69 74 74 65 6E 09 62 79 /../*.written.by
014280: 20 4D 69 6B 65 09 42 65 72 6E 73 6F 6E 09 31 2F Mike.Bernson.1/
014290: 38 31 09 2A 2F 0D 0A 6E 65 65 64 63 70 61 72 6E 81.*/..needcparn
0142A0: 28 29 0D 0A 7B 0D 0A 09 69 66 20 28 6D 61 74 63 ()..{...if (matc
0142B0: 68 28 22 29 22 29 29 09 72 65 74 75 72 6E 20 46 h(")")).return F
0142C0: 41 4C 53 45 3B 0D 0A 09 65 72 72 6F 72 28 22 4D ALSE;...error("M
0142D0: 69 73 73 69 6E 67 20 72 69 67 68 74 20 70 61 72 issing right par
0142E0: 6E 74 68 69 73 22 29 3B 0D 0A 09 6A 75 6E 6B 28 nthis");...junk(
0142F0: 29 3B 0D 0A 09 72 65 74 75 72 6E 20 54 52 55 45 );...return TRUE
014300: 3B 0D 0A 09 7D 0D 0A 2F 2A 09 09 09 09 09 2A 2F ;...}../*.....*/
014310: 0D 0A 2F 2A 09 6E 65 65 64 20 6F 70 65 6E 69 6E ../*.need openin
014320: 67 20 62 72 61 63 65 09 09 2A 2F 0D 0A 2F 2A 09 g brace..*/../*.
014330: 77 72 69 74 74 65 6E 09 62 79 20 4D 69 6B 65 09 written.by Mike.
014340: 42 65 72 6E 73 6F 6E 09 31 2F 38 31 09 2A 2F 0D Bernson.1/81.*/.
014350: 0A 6E 65 65 64 6F 62 72 61 63 65 28 29 0D 0A 7B .needobrace()..{
014360: 0D 0A 09 69 66 20 28 6D 61 74 63 68 28 22 7B 22 ...if (match("{"
014370: 29 29 09 72 65 74 75 72 6E 20 46 41 4C 53 45 3B )).return FALSE;
014380: 0D 0A 09 65 72 72 6F 72 28 22 4D 69 73 73 69 6E ...error("Missin
014390: 67 20 6C 65 66 74 20 62 72 61 63 65 22 29 3B 0D g left brace");.
0143A0: 0A 09 6A 75 6E 6B 28 29 3B 0D 0A 09 72 65 74 75 ..junk();...retu
0143B0: 72 6E 20 54 52 55 45 3B 0D 0A 09 7D 0D 0A 2F 2A rn TRUE;...}../*
0143C0: 09 09 09 09 09 2A 2F 0D 0A 2F 2A 09 6E 65 65 64 .....*/../*.need
0143D0: 20 63 6C 6F 73 69 6E 67 20 62 72 61 63 65 09 09 closing brace..
0143E0: 2A 2F 0D 0A 2F 2A 09 77 72 69 74 74 65 6E 09 62 */../*.written.b
0143F0: 79 20 4D 69 6B 65 09 42 65 72 6E 73 6F 6E 09 31 y Mike.Bernson.1
014400: 54 72 61 63 6B 2D 49 6E 66 6F 0D 0A 00 00 00 00 Track-Info......
014410: 11 00 01 00 02 09 52 E5 11 00 C1 02 00 00 00 02 ......R.........
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: 65 20 71 75 65 75 65 09 65 6E 74 72 79 20 2A 2F e queue.entry */
014510: 0D 0A 09 7D 0D 0A 2F 2A 09 09 09 09 09 2A 2F 0D ...}../*.....*/.
014520: 0A 2F 2A 09 22 53 77 69 74 63 68 22 20 73 74 61 ./*."Switch" sta
014530: 74 65 6D 65 6E 74 09 09 2A 2F 0D 0A 2F 2A 09 09 tement..*/../*..
014540: 09 09 09 2A 2F 0D 0A 2F 2A 09 77 72 69 74 74 65 ...*/../*.writte
014550: 6E 20 62 79 20 4D 69 6B 65 20 42 65 72 6E 73 6F n by Mike Bernso
014560: 6E 20 31 2F 38 31 09 2A 2F 0D 0A 2F 2A 09 09 09 n 1/81.*/../*...
014570: 09 09 2A 2F 0D 0A 64 6F 73 77 69 74 63 68 28 29 ..*/..doswitch()
014580: 0D 0A 7B 0D 0A 09 69 6E 74 20 76 61 6C 75 65 5B ..{...int value[
014590: 53 57 49 54 43 48 5F 4D 41 58 5D 3B 20 20 2F 2A SWITCH_MAX]; /*
0145A0: 20 76 61 6C 75 65 20 66 6F 72 20 63 61 73 65 20 value for case
0145B0: 73 74 61 74 65 6D 61 6E 74 20 2A 2F 0D 0A 09 69 statemant */...i
0145C0: 6E 74 20 6C 61 62 65 6C 5B 53 57 49 54 43 48 5F nt label[SWITCH_
0145D0: 4D 41 58 5D 3B 20 20 2F 2A 20 76 61 6C 75 65 20 MAX]; /* value
0145E0: 66 6F 72 20 65 61 63 68 20 6C 61 62 65 6C 20 2A for each label *
0145F0: 2F 0D 0A 09 69 6E 74 20 63 6F 75 6E 74 2C 74 65 /...int count,te
014600: 6E 70 3B 20 09 2F 2A 20 6E 75 6D 62 65 72 20 6F np; ./* number o
014610: 66 20 73 77 69 74 63 68 65 73 20 2A 2F 0D 0A 09 f switches */...
014620: 69 6E 74 20 65 6E 64 5F 6C 61 62 65 6C 3B 20 20 int end_label;
014630: 09 2F 2A 20 6C 61 62 65 6C 20 66 6F 72 20 64 65 ./* label for de
014640: 66 61 75 6C 74 20 2A 2F 0D 0A 09 69 6E 74 20 6C fault */...int l
014650: 61 62 65 6C 5F 73 77 69 74 63 68 3B 09 2F 2A 20 abel_switch;./*
014660: 75 73 65 64 20 66 6F 72 20 73 77 69 74 63 68 20 used for switch
014670: 6C 61 62 65 6C 20 2A 2F 0D 0A 09 69 6E 74 20 74 label */...int t
014680: 65 6D 70 2C 76 61 6C 5B 32 5D 3B 0D 0A 09 69 6E emp,val[2];...in
014690: 74 20 71 75 65 5B 77 71 73 69 7A 5D 3B 09 09 2F t que[wqsiz];../
0146A0: 2A 20 6C 6F 63 61 6C 20 71 75 65 20 61 72 65 61 * local que area
0146B0: 20 2A 2F 0D 0A 09 63 6F 75 6E 74 3D 30 3B 09 09 */...count=0;..
0146C0: 2F 2A 20 6E 75 6D 62 65 72 20 6F 66 20 63 61 73 /* number of cas
0146D0: 65 20 73 74 61 74 65 6D 65 6E 74 73 20 2A 2F 0D e statements */.
0146E0: 0A 09 71 75 65 5B 77 71 73 79 6D 5D 3D 6C 6F 63 ..que[wqsym]=loc
0146F0: 70 74 72 3B 09 2F 2A 20 6C 6F 63 61 6C 20 76 61 ptr;./* local va
014700: 2F 0D 0A 09 71 75 65 5B 77 71 62 6F 64 79 5D 3D /...que[wqbody]=
014710: 67 65 74 6C 61 62 65 6C 28 29 3B 09 2F 2A 20 62 getlabel();./* b
014720: 6F 64 79 20 66 6F 72 20 63 6F 64 79 20 2A 2F 0D ody for cody */.
014730: 0A 09 61 64 64 77 68 69 6C 65 28 71 75 65 29 3B ..addwhile(que);
014740: 09 09 2F 2A 20 61 64 64 20 77 68 69 6C 65 20 74 ../* add while t
014750: 6F 20 6C 6F 6F 70 20 71 75 65 20 2A 2F 0D 0A 09 o loop que */...
014760: 69 66 20 28 6E 65 65 64 6F 70 61 72 6E 28 29 29 if (needoparn())
014770: 20 7B 09 2F 2A 20 63 68 65 63 6B 20 66 6F 72 20 {./* check for
014780: 6F 70 65 6E 20 70 61 72 6E 20 2A 2F 0D 0A 09 09 open parn */....
014790: 64 65 6C 77 68 69 6C 65 28 29 3B 09 2F 2A 20 64 delwhile();./* d
0147A0: 65 6C 65 74 65 20 66 6F 72 20 65 6E 74 72 79 20 elete for entry
0147B0: 66 72 6F 6D 20 71 75 65 20 2A 2F 0D 0A 09 09 72 from que */....r
0147C0: 65 74 75 72 6E 3B 0D 0A 09 09 7D 0D 0A 09 65 78 eturn;....}...ex
0147D0: 70 72 65 73 73 69 6F 6E 28 29 3B 09 09 2F 2A 20 pression();../*
0147E0: 69 6E 69 74 09 65 78 70 72 65 73 73 09 2A 2F 0D init.express.*/.
0147F0: 0A 09 69 66 20 28 6E 65 65 64 73 65 6D 28 29 29 ..if (needsem())
014800: 20 7B 09 2F 2A 20 63 68 65 63 6B 20 66 6F 72 20 {./* check for
014810: 73 65 6D 63 6F 6C 20 2A 2F 0D 0A 09 09 64 65 6C semcol */....del
014820: 77 68 69 6C 65 28 29 3B 09 2F 2A 20 64 65 6C 65 while();./* dele
014830: 74 65 20 71 75 65 20 65 6E 74 72 79 20 2A 2F 0D te que entry */.
014840: 0A 09 09 72 65 74 75 72 6E 3B 0D 0A 09 09 7D 0D ...return;....}.
014850: 0A 09 73 70 72 69 6E 74 6C 61 62 65 6C 28 71 75 ..sprintlabel(qu
014860: 65 5B 77 71 6C 6F 6F 70 5D 29 3B 09 2F 2A 20 63 e[wqloop]);./* c
014870: 6F 6E 74 72 6F 6C 20 6C 6F 6F 70 09 6C 61 62 65 ontrol loop.labe
014880: 6C 20 2A 2F 0D 0A 09 73 74 61 74 75 73 3D 65 78 l */...status=ex
014890: 70 72 65 73 73 69 6F 6E 28 29 3B 09 09 2F 2A 20 pression();../*
0148A0: 6C 6F 6F 70 20 63 6F 6E 74 72 6F 6C 20 65 78 70 loop control exp
0148B0: 72 65 73 73 20 2A 2F 0D 0A 09 74 65 73 74 6A 75 ress */...testju
0148C0: 6D 70 28 71 75 65 5B 77 71 6C 61 62 5D 2C 73 74 mp(que[wqlab],st
0148D0: 61 74 75 73 29 3B 09 2F 2A 20 73 65 65 20 69 66 atus);./* see if
0148E0: 20 65 78 69 74 20 74 69 6D 65 20 2A 2F 0D 0A 09 exit time */...
0148F0: 6A 75 6D 70 28 71 75 65 5B 77 71 62 6F 64 79 5D jump(que[wqbody]
014900: 62 6C 65 20 70 6F 69 6E 74 65 72 20 2A 2F 0D 0A ble pointer */..
014910: 09 71 75 65 5B 77 71 73 70 5D 3D 73 70 3B 09 09 .que[wqsp]=sp;..
014920: 2F 2A 20 73 61 76 65 20 63 75 72 72 65 6E 74 20 /* save current
014930: 73 74 61 63 6B 20 70 6F 69 6E 74 65 72 20 2A 2F stack pointer */
014940: 0D 0A 09 65 6E 64 5F 6C 61 62 65 6C 3D 09 09 2F ...end_label=../
014950: 2A 20 64 65 66 61 75 6C 74 20 65 78 69 74 20 6C * default exit l
014960: 61 62 65 6C 20 2A 2F 0D 0A 09 71 75 65 5B 77 71 abel */...que[wq
014970: 6C 6F 6F 70 5D 3D 09 09 2F 2A 20 6C 6F 6F 70 69 loop]=../* loopi
014980: 6E 67 20 6C 61 62 65 6C 20 2A 2F 0D 0A 09 71 75 ng label */...qu
014990: 65 5B 77 71 6C 61 62 5D 3D 09 09 2F 2A 20 6C 6F e[wqlab]=../* lo
0149A0: 6F 70 20 65 78 69 74 20 76 61 72 62 6C 65 20 2A op exit varble *
0149B0: 2F 0D 0A 09 71 75 65 5B 77 71 65 6E 64 5D 3D 67 /...que[wqend]=g
0149C0: 65 74 6C 61 62 65 6C 28 29 3B 09 2F 2A 20 63 6F etlabel();./* co
0149D0: 6E 74 69 6E 75 65 20 6C 61 62 65 6C 20 2A 2F 0D ntinue label */.
0149E0: 0A 09 61 64 64 77 68 69 6C 65 28 71 75 65 29 3B ..addwhile(que);
0149F0: 09 09 2F 2A 20 61 64 64 20 74 6F 20 77 68 69 6C ../* add to whil
014A00: 65 20 73 74 61 63 6B 20 2A 2F 0D 0A 09 69 66 20 e stack */...if
014A10: 28 6E 65 65 64 6F 70 61 72 6E 28 29 29 20 7B 09 (needoparn()) {.
014A20: 2F 2A 20 63 68 65 63 6B 20 74 6F 20 73 65 65 09 /* check to see.
014A30: 69 66 22 28 22 20 65 78 69 74 73 20 2A 2F 0D 0A if"(" exits */..
014A40: 09 09 64 65 6C 77 68 69 6C 65 28 29 3B 09 2F 2A ..delwhile();./*
014A50: 20 6E 6F 20 64 65 6C 65 74 65 20 73 77 69 74 63 no delete switc
014A60: 68 20 65 6E 74 72 79 20 61 6E 64 20 2A 2F 0D 0A h entry and */..
014A70: 09 09 72 65 74 75 72 6E 3B 09 09 2F 2A 20 72 65 ..return;../* re
014A80: 74 75 72 6E 20 6F 75 74 20 6F 66 20 73 77 69 74 turn out of swit
014A90: 63 68 09 2A 2F 0D 0A 09 09 7D 0D 0A 09 65 78 70 ch.*/....}...exp
014AA0: 72 65 73 73 69 6F 6E 28 29 3B 09 09 2F 2A 20 65 ression();../* e
014AB0: 78 70 72 65 73 73 69 6F 6E 20 66 6F 72 20 73 77 xpression for sw
014AC0: 69 74 63 68 20 2A 2F 0D 0A 09 70 75 73 68 28 29 itch */...push()
014AD0: 3B 0D 0A 09 69 66 20 28 6E 65 65 64 63 70 61 72 ;...if (needcpar
014AE0: 6E 28 29 29 20 7B 09 2F 2A 20 63 68 65 63 6B 20 n()) {./* check
014AF0: 66 6F 72 20 22 29 22 20 2A 2F 0D 0A 09 09 64 65 for ")" */....de
014B00: 29 3B 09 2F 2A 20 6E 6F 74 20 74 69 6D 65 20 74 );./* not time t
014B10: 6F 20 65 78 69 74 20 64 6F 20 62 6F 64 79 20 2A o exit do body *
014B20: 2F 0D 0A 09 69 66 20 28 6E 65 65 64 73 65 6D 28 /...if (needsem(
014B30: 29 29 20 7B 09 2F 2A 20 63 68 65 63 6B 20 66 6F )) {./* check fo
014B40: 72 20 73 65 6D 63 6F 6C 20 2A 2F 0D 0A 09 09 64 r semcol */....d
014B50: 65 6C 77 68 69 6C 65 28 29 3B 09 2F 2A 20 64 65 elwhile();./* de
014B60: 6C 65 74 65 20 31 20 71 75 65 09 65 6E 74 72 79 lete 1 que.entry
014B70: 20 2A 2F 0D 0A 09 09 72 65 74 75 72 6E 3B 0D 0A */....return;..
014B80: 09 09 7D 0D 0A 09 73 70 72 69 6E 74 6C 61 62 65 ..}...sprintlabe
014B90: 6C 28 71 75 65 5B 77 71 65 6E 64 5D 29 3B 09 2F l(que[wqend]);./
014BA0: 2A 20 70 72 69 6E 74 20 65 6E 64 20 6F 66 20 6C * print end of l
014BB0: 6F 6F 70 20 2A 2F 0D 0A 09 65 78 70 72 65 73 73 oop */...express
014BC0: 69 6F 6E 28 29 3B 09 09 2F 2A 20 65 6E 64 20 6C ion();../* end l
014BD0: 6F 6F 70 20 65 78 70 72 65 73 73 69 6F 6E 20 2A oop expression *
014BE0: 2F 0D 0A 09 6A 75 6D 70 28 71 75 65 5B 77 71 6C /...jump(que[wql
014BF0: 6F 6F 70 5D 29 3B 09 2F 2A 20 64 6F 20 6C 6F 6F oop]);./* do loo
014C00: 70 20 63 6F 6E 74 72 6F 6C 20 65 78 70 72 65 73 p control expres
014C10: 73 69 6F 6E 20 2A 2F 0D 0A 09 69 66 20 28 6E 65 sion */...if (ne
014C20: 65 64 63 70 61 72 6E 28 29 29 20 7B 0D 0A 09 09 edcparn()) {....
014C30: 64 65 6C 77 68 69 6C 65 28 29 3B 0D 0A 09 09 72 delwhile();....r
014C40: 65 74 75 72 6E 3B 0D 0A 09 09 7D 0D 0A 09 73 70 eturn;....}...sp
014C50: 72 69 6E 74 6C 61 62 65 6C 28 71 75 65 5B 77 71 rintlabel(que[wq
014C60: 62 6F 64 79 5D 29 3B 0D 0A 09 73 74 61 74 65 6D body]);...statem
014C70: 65 6E 74 28 29 3B 0D 0A 09 6A 75 6D 70 28 71 75 ent();...jump(qu
014C80: 65 5B 77 71 65 6E 64 5D 29 3B 0D 0A 09 73 70 72 e[wqend]);...spr
014C90: 69 6E 74 6C 61 62 65 6C 28 71 75 65 5B 77 71 6C intlabel(que[wql
014CA0: 61 62 5D 29 3B 0D 0A 09 6C 6F 63 70 74 72 3D 71 ab]);...locptr=q
014CB0: 75 65 5B 77 71 73 79 6D 5D 3B 0D 0A 09 73 70 3D ue[wqsym];...sp=
014CC0: 6D 6F 64 73 74 6B 28 71 75 65 5B 77 71 73 70 5D modstk(que[wqsp]
014CD0: 29 3B 0D 0A 09 64 65 6C 77 68 69 6C 65 28 29 3B );...delwhile();
014CE0: 0D 0A 09 7D 0D 0A 2F 2A 09 09 09 09 20 20 20 20 ...}../*....
014CF0: 20 20 20 2A 2F 0D 0A 2F 2A 20 20 20 20 20 20 22 */../* "
014D00: 6C 77 68 69 6C 65 28 29 3B 09 2F 2A 20 6E 6F 74 lwhile();./* not
014D10: 20 66 6F 75 6C 64 20 64 65 74 65 6C 65 20 71 75 fould detele qu
014D20: 65 09 65 6E 74 72 79 20 2A 2F 0D 0A 09 09 72 65 e.entry */....re
014D30: 74 75 72 6E 3B 09 09 2F 2A 20 61 6E 64 20 65 78 turn;../* and ex
014D40: 69 74 20 73 77 69 74 63 68 20 73 74 61 74 65 6D it switch statem
014D50: 61 6E 74 20 2A 2F 0D 0A 09 09 7D 0D 0A 09 69 66 ant */....}...if
014D60: 20 28 6E 65 65 64 6F 62 72 61 63 65 28 29 29 20 (needobrace())
014D70: 7B 0D 0A 09 09 64 65 6C 77 68 69 6C 65 28 29 3B {....delwhile();
014D80: 0D 0A 09 09 72 65 74 75 72 6E 3B 0D 0A 09 09 7D ....return;....}
014D90: 0D 0A 09 6A 75 6D 70 28 6C 61 62 65 6C 5F 73 77 ...jump(label_sw
014DA0: 69 74 63 68 3D 67 65 74 6C 61 62 65 6C 28 29 29 itch=getlabel())
014DB0: 3B 0D 0A 09 73 70 3D 73 70 2B 32 3B 0D 0A 0D 0A ;...sp=sp+2;....
014DC0: 09 77 68 69 6C 65 28 31 29 20 7B 0D 0A 20 09 69 .while(1) {.. .i
014DD0: 66 20 28 61 6D 61 74 63 68 28 22 63 61 73 65 22 f (amatch("case"
014DE0: 2C 34 29 29 20 7B 0D 0A 09 09 09 69 66 20 28 63 ,4)) {.....if (c
014DF0: 6F 6E 73 74 5F 65 78 70 28 76 61 6C 29 20 3D 3D onst_exp(val) ==
014E00: 20 30 20 29 20 7B 0D 0A 09 09 09 09 65 72 72 6F 0 ) {......erro
014E10: 72 28 22 42 61 64 20 63 6F 6E 73 74 61 6E 74 22 r("Bad constant"
014E20: 29 3B 0D 0A 09 09 09 09 63 6F 6E 74 69 6E 75 65 );......continue
014E30: 3B 0D 0A 09 09 09 09 7D 0D 0A 09 09 09 69 66 20 ;......}.....if
014E40: 28 63 6F 75 6E 74 3C 53 57 49 54 43 48 5F 4D 41 (count<SWITCH_MA
014E50: 58 2D 32 29 20 7B 0D 0A 09 09 09 09 76 61 6C 75 X-2) {......valu
014E60: 65 5B 63 6F 75 6E 74 5D 3D 76 61 6C 5B 30 5D 3B e[count]=val[0];
014E70: 0D 0A 09 09 09 09 73 70 72 69 6E 74 6C 61 62 65 ......sprintlabe
014E80: 6C 28 6C 61 62 65 6C 5B 63 6F 75 6E 74 2B 2B 5D l(label[count++]
014E90: 3D 67 65 74 6C 61 62 65 6C 28 29 29 3B 0D 0A 09 =getlabel());...
014EA0: 09 09 09 7D 0D 0A 09 09 09 65 6C 73 65 20 65 72 ...}.....else er
014EB0: 72 6F 72 28 22 54 6F 6F 20 6D 61 6E 79 20 63 61 ror("Too many ca
014EC0: 73 65 20 73 74 61 74 6D 65 6E 74 73 22 29 3B 0D se statments");.
014ED0: 0A 09 09 09 69 66 20 28 21 6D 61 74 63 68 28 22 ....if (!match("
014EE0: 3A 22 29 29 20 65 72 72 6F 72 28 22 4D 69 73 73 :")) error("Miss
014EF0: 69 6E 67 20 63 6F 6C 6F 6E 22 29 3B 0D 0A 09 09 ing colon");....
014F00: 72 65 74 75 72 6E 22 20 73 74 61 74 65 6D 65 6E return" statemen
014F10: 74 09 20 20 20 20 20 20 2A 2F 0D 0A 2F 2A 09 09 t. */../*..
014F20: 09 09 20 20 20 20 20 20 2A 2F 0D 0A 64 6F 72 65 .. */..dore
014F30: 74 75 72 6E 28 29 0D 0A 09 7B 0D 0A 09 2F 2A 20 turn()...{.../*
014F40: 69 66 20 6E 6F 74 20 65 6E 64 20 6F 66 20 73 74 if not end of st
014F50: 61 74 65 6D 65 6E 74 2C 20 67 65 74 20 61 6E 20 atement, get an
014F60: 65 78 70 72 65 73 73 69 6F 6E 20 2A 2F 0D 0A 09 expression */...
014F70: 69 66 28 65 6E 64 73 74 28 29 3D 3D 30 29 65 78 if(endst()==0)ex
014F80: 70 72 65 73 73 69 6F 6E 28 29 3B 0D 0A 09 6D 6F pression();...mo
014F90: 64 73 74 6B 28 30 29 3B 20 20 20 20 20 20 2F 2A dstk(0); /*
014FA0: 20 63 6C 65 61 6E 20 75 70 20 73 74 6B 20 2A 2F clean up stk */
014FB0: 0D 0A 09 72 65 74 28 29 3B 09 20 20 2F 2A 20 61 ...ret();. /* a
014FC0: 6E 64 20 65 78 69 74 20 66 75 6E 63 74 69 6F 6E nd exit function
014FD0: 20 2A 2F 0D 0A 09 7D 0D 0A 2F 2A 09 09 09 09 20 */...}../*....
014FE0: 20 20 20 20 20 2A 2F 0D 0A 2F 2A 20 20 20 20 20 */../*
014FF0: 20 22 62 72 65 61 6B 22 20 73 74 61 74 65 6D 65 "break" stateme
015000: 6E 74 09 20 20 20 20 20 20 20 2A 2F 0D 0A 2F 2A nt. */../*
015010: 09 09 09 09 20 20 20 20 20 20 2A 2F 0D 0A 64 6F .... */..do
015020: 62 72 65 61 6B 28 29 0D 0A 09 7B 0D 0A 09 69 6E break()...{...in
015030: 74 20 2A 70 74 72 3B 0D 0A 09 2F 2A 20 73 65 65 t *ptr;.../* see
015040: 20 69 66 20 61 6E 79 20 22 77 68 69 6C 65 73 22 if any "whiles"
015050: 20 61 72 65 20 6F 70 65 6E 20 2A 2F 0D 0A 09 69 are open */...i
015060: 66 20 28 28 70 74 72 3D 72 65 61 64 77 68 69 6C f ((ptr=readwhil
015070: 65 28 29 29 3D 3D 30 29 20 72 65 74 75 72 6E 3B e())==0) return;
015080: 20 20 20 20 20 20 20 2F 2A 20 6E 6F 20 2A 2F 0D /* no */.
015090: 0A 09 6D 6F 64 73 74 6B 28 70 74 72 5B 77 71 73 ..modstk(ptr[wqs
0150A0: 70 5D 29 3B 20 20 20 20 2F 2A 20 65 6C 73 65 20 p]); /* else
0150B0: 63 6C 65 61 6E 20 75 70 20 73 74 6B 20 70 74 72 clean up stk ptr
0150C0: 20 2A 2F 0D 0A 09 6A 75 6D 70 28 70 74 72 5B 77 */...jump(ptr[w
0150D0: 71 6C 61 62 5D 29 3B 20 20 20 20 20 20 20 2F 2A qlab]); /*
0150E0: 20 6A 75 6D 70 20 74 6F 20 65 78 69 74 20 6C 61 jump to exit la
0150F0: 62 65 6C 20 2A 2F 0D 0A 09 7D 0D 0A 2F 2A 09 09 bel */...}../*..
015100: 09 7D 0D 0A 09 65 6C 73 65 20 69 66 20 28 61 6D .}...else if (am
015110: 61 74 63 68 28 22 64 65 66 61 75 6C 74 22 2C 37 atch("default",7
015120: 29 29 20 7B 0D 0A 09 09 65 6E 64 5F 6C 61 62 65 )) {....end_labe
015130: 6C 3D 67 65 74 6C 61 62 65 6C 28 29 3B 0D 0A 09 l=getlabel();...
015140: 09 73 70 72 69 6E 74 6C 61 62 65 6C 28 65 6E 64 .sprintlabel(end
015150: 5F 6C 61 62 65 6C 29 3B 0D 0A 09 09 69 66 20 28 _label);....if (
015160: 21 6D 61 74 63 68 28 22 3A 22 29 29 20 65 72 72 !match(":")) err
015170: 6F 72 28 22 4D 69 73 73 69 6E 67 20 63 6F 6C 6F or("Missing colo
015180: 6E 22 29 3B 0D 0A 09 09 7D 0D 0A 09 65 6C 73 65 n");....}...else
015190: 20 69 66 20 28 6D 61 74 63 68 28 22 7D 22 29 29 if (match("}"))
0151A0: 20 7B 0D 0A 09 09 6A 75 6D 70 28 71 75 65 5B 77 {....jump(que[w
0151B0: 71 6C 61 62 5D 29 3B 09 2F 2A 20 6A 75 6D 70 20 qlab]);./* jump
0151C0: 70 61 73 74 20 73 77 69 74 63 68 20 64 61 74 61 past switch data
0151D0: 20 2A 2F 0D 0A 09 09 74 65 6D 70 3D 30 3B 0D 0A */....temp=0;..
0151E0: 09 09 73 70 72 69 6E 74 6C 61 62 65 6C 28 6C 61 ..sprintlabel(la
0151F0: 62 65 6C 5F 73 77 69 74 63 68 29 3B 0D 0A 09 09 bel_switch);....
015200: 65 78 65 63 5F 73 77 69 74 63 68 28 63 6F 75 6E exec_switch(coun
015210: 74 2C 6C 61 62 65 6C 5F 73 77 69 74 63 68 3D 67 t,label_switch=g
015220: 65 74 6C 61 62 65 6C 28 29 2C 65 6E 64 5F 6C 61 etlabel(),end_la
015230: 62 65 6C 29 3B 0D 0A 09 09 73 70 72 69 6E 74 6C bel);....sprintl
015240: 61 62 65 6C 28 6C 61 62 65 6C 5F 73 77 69 74 63 abel(label_switc
015250: 68 29 3B 0D 0A 09 09 77 68 69 6C 65 28 74 65 6D h);....while(tem
015260: 70 3C 63 6F 75 6E 74 29 20 7B 0D 0A 09 09 09 64 p<count) {.....d
015270: 65 66 77 6F 72 64 28 29 3B 0D 0A 09 09 09 6F 75 efword();.....ou
015280: 74 64 65 63 28 76 61 6C 75 65 5B 74 65 6D 70 5D tdec(value[temp]
015290: 29 3B 0D 0A 09 09 09 6F 75 74 73 74 72 28 22 2C );.....outstr(",
0152A0: 22 29 3B 0D 0A 09 09 09 70 72 69 6E 74 6C 61 62 ");.....printlab
0152B0: 65 6C 28 6C 61 62 65 6C 5B 74 65 6D 70 2B 2B 5D el(label[temp++]
0152C0: 29 3B 0D 0A 09 09 09 6E 6C 28 29 3B 0D 0A 09 09 );.....nl();....
0152D0: 09 7D 0D 0A 09 09 64 65 6C 77 68 69 6C 65 28 29 .}....delwhile()
0152E0: 3B 0D 0A 09 09 73 70 72 69 6E 74 6C 61 62 65 6C ;....sprintlabel
0152F0: 28 71 75 65 5B 77 71 6C 61 62 5D 29 3B 0D 0A 09 (que[wqlab]);...
015300: 09 09 20 20 20 20 20 20 2A 2F 0D 0A 2F 2A 20 20 .. */../*
015310: 20 20 20 20 22 63 6F 6E 74 69 6E 75 65 22 20 73 "continue" s
015320: 74 61 74 65 6D 65 6E 74 09 20 20 20 20 2A 2F 0D tatement. */.
015330: 0A 2F 2A 09 09 09 09 20 20 20 20 20 20 2A 2F 0D ./*.... */.
015340: 0A 64 6F 63 6F 6E 74 28 29 0D 0A 09 7B 0D 0A 09 .docont()...{...
015350: 69 6E 74 20 2A 70 74 72 3B 0D 0A 09 2F 2A 20 73 int *ptr;.../* s
015360: 65 65 20 69 66 20 61 6E 79 20 22 77 68 69 6C 65 ee if any "while
015370: 73 22 20 61 72 65 20 6F 70 65 6E 20 2A 2F 0D 0A s" are open */..
015380: 09 69 66 20 28 28 70 74 72 3D 72 65 61 64 77 68 .if ((ptr=readwh
015390: 69 6C 65 28 29 29 3D 3D 30 29 20 72 65 74 75 72 ile())==0) retur
0153A0: 6E 3B 20 20 20 20 20 20 20 2F 2A 20 6E 6F 20 2A n; /* no *
0153B0: 2F 0D 0A 09 6D 6F 64 73 74 6B 28 28 70 74 72 5B /...modstk((ptr[
0153C0: 77 71 73 70 5D 29 29 3B 20 20 20 20 2F 2A 20 65 wqsp])); /* e
0153D0: 6C 73 65 20 63 6C 65 61 6E 20 75 70 20 73 74 6B lse clean up stk
0153E0: 20 70 74 72 20 2A 2F 0D 0A 09 6A 75 6D 70 28 70 ptr */...jump(p
0153F0: 74 72 5B 77 71 65 6E 64 5D 29 3B 20 20 20 20 20 tr[wqend]);
015400: 20 2F 2A 20 6A 75 6D 70 20 74 6F 20 65 6E 64 20 /* jump to end
015410: 6C 61 62 65 6C 20 2A 2F 0D 0A 09 7D 0D 0A 2F 2A label */...}../*
015420: 09 09 09 09 20 20 20 20 20 20 2A 2F 0D 0A 2F 2A .... */../*
015430: 20 20 20 20 20 20 22 61 73 6D 22 20 70 73 65 75 "asm" pseu
015440: 64 6F 2D 73 74 61 74 65 6D 65 6E 74 09 20 20 2A do-statement. *
015450: 2F 0D 0A 2F 2A 09 09 09 09 20 20 20 20 20 20 2A /../*.... *
015460: 2F 0D 0A 2F 2A 20 65 6E 74 65 72 73 20 6D 6F 64 /../* enters mod
015470: 65 20 77 68 65 72 65 20 61 73 73 65 6D 62 6C 79 e where assembly
015480: 20 6C 61 6E 67 75 61 67 65 20 73 74 61 74 65 6D language statem
015490: 65 6E 74 73 20 61 72 65 20 2A 2F 0D 0A 2F 2A 20 ents are */../*
0154A0: 20 20 20 20 20 70 61 73 73 65 64 20 69 6E 74 61 passed inta
0154B0: 63 74 20 74 68 72 6F 75 67 68 20 70 61 72 73 65 ct through parse
0154C0: 72 20 20 20 20 2A 2F 0D 0A 64 6F 61 73 6D 28 29 r */..doasm()
0154D0: 0D 0A 09 7B 0D 0A 09 63 6D 6F 64 65 3D 30 3B 09 ...{...cmode=0;.
0154E0: 2F 2A 20 6D 61 72 6B 20 6D 6F 64 65 20 61 73 20 /* mark mode as
0154F0: 22 61 73 6D 22 20 2A 2F 0D 0A 09 77 68 69 6C 65 "asm" */...while
015500: 09 6C 6F 63 70 74 72 3D 71 75 65 5B 77 71 73 79 .locptr=que[wqsy
015510: 6D 5D 3B 0D 0A 09 09 73 70 3D 6D 6F 64 73 74 6B m];....sp=modstk
015520: 28 71 75 65 5B 77 71 73 70 5D 29 3B 0D 0A 09 09 (que[wqsp]);....
015530: 72 65 74 75 72 6E 3B 0D 0A 09 09 7D 0D 0A 09 65 return;....}...e
015540: 6C 73 65 20 73 74 61 74 65 6D 65 6E 74 28 29 3B lse statement();
015550: 0D 0A 09 7D 7D 0D 0A 2F 2A 09 09 09 09 09 2A 2F ...}}../*.....*/
015560: 0D 0A 2F 2A 09 22 66 6F 72 22 20 73 74 61 74 65 ../*."for" state
015570: 6D 65 6E 74 09 09 09 2A 2F 0D 0A 2F 2A 09 09 09 ment...*/../*...
015580: 09 09 2A 2F 0D 0A 2F 2A 09 77 72 69 74 74 65 6E ..*/../*.written
015590: 20 62 79 20 4D 69 6B 65 20 42 65 72 6E 73 6F 6E by Mike Bernson
0155A0: 20 31 2F 38 31 09 2A 2F 0D 0A 2F 2A 09 09 09 09 1/81.*/../*....
0155B0: 09 2A 2F 0D 0A 64 6F 66 6F 72 28 29 0D 0A 7B 0D .*/..dofor()..{.
0155C0: 0A 09 69 6E 74 20 71 75 65 5B 77 71 73 69 7A 5D ..int que[wqsiz]
0155D0: 3B 09 09 2F 2A 20 6C 6F 63 61 6C 20 71 75 65 20 ;../* local que
0155E0: 61 72 65 61 20 2A 2F 0D 0A 09 69 6E 74 20 73 74 area */...int st
0155F0: 61 74 75 73 3B 09 09 2F 2A 20 6D 61 63 68 69 6E atus;../* machin
015600: 65 20 73 74 61 74 75 73 20 61 66 74 65 72 20 65 e status after e
015610: 78 70 65 73 73 69 6F 6E 20 2A 2F 0D 0A 0D 0A 09 xpession */.....
015620: 71 75 65 5B 77 71 73 79 6D 5D 3D 6C 6F 63 70 74 que[wqsym]=locpt
015630: 72 3B 20 20 20 20 2F 2A 20 73 61 76 65 20 6C 6F r; /* save lo
015640: 63 61 4C 20 4C 45 56 45 4C 20 2A 2F 0D 0A 09 71 caL LEVEL */...q
015650: 75 65 5B 77 71 73 70 5D 3D 73 70 3B 09 09 2F 2A ue[wqsp]=sp;../*
015660: 20 61 6E 64 20 73 74 61 63 6B 20 70 6F 69 6E 74 and stack point
015670: 65 72 20 2A 2F 0D 0A 09 71 75 65 5B 77 71 6C 6F er */...que[wqlo
015680: 6F 70 5D 3D 67 65 74 6C 61 62 65 6C 28 29 3B 09 op]=getlabel();.
015690: 2F 2A 20 6C 6F 6F 70 69 6E 67 20 6C 61 62 65 6C /* looping label
0156A0: 20 2A 2F 0D 0A 09 71 75 65 5B 77 71 6C 61 62 5D */...que[wqlab]
0156B0: 3D 67 65 74 6C 61 62 65 6C 28 29 3B 09 2F 2A 20 =getlabel();./*
0156C0: 6C 6F 6F 70 20 65 78 69 74 20 76 61 72 62 6C 65 loop exit varble
0156D0: 20 2A 2F 0D 0A 09 71 75 65 5B 77 71 65 6E 64 5D */...que[wqend]
0156E0: 3D 67 65 74 6C 61 62 65 6C 28 29 3B 09 2F 2A 20 =getlabel();./*
0156F0: 6C 6F 6F 70 20 65 6E 64 20 6C 61 62 65 6C 20 2A loop end label *
015700: 54 72 61 63 6B 2D 49 6E 66 6F 0D 0A 00 00 00 00 Track-Info......
015710: 12 00 01 00 02 09 52 E5 12 00 C1 02 00 00 00 02 ......R.........
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: 28 31 29 0D 0A 09 09 7B 69 6E 6C 69 6E 65 28 29 (1)....{inline()
015810: 3B 20 20 20 20 20 20 2F 2A 20 67 65 74 20 61 6E ; /* get an
015820: 64 20 70 72 69 6E 74 20 6C 69 6E 65 73 20 2A 2F d print lines */
015830: 0D 0A 09 09 69 66 20 28 6D 61 74 63 68 28 22 23 ....if (match("#
015840: 65 6E 64 61 73 6D 22 29 29 20 62 72 65 61 6B 3B endasm")) break;
015850: 20 20 20 20 2F 2A 20 75 6E 74 69 6C 2E 2E 2E 20 /* until...
015860: 2A 2F 0D 0A 09 09 69 66 28 65 6F 66 29 62 72 65 */....if(eof)bre
015870: 61 6B 3B 0D 0A 09 09 6F 75 74 73 74 72 28 6C 69 ak;....outstr(li
015880: 6E 65 29 3B 0D 0A 09 09 6E 6C 28 29 3B 0D 0A 09 ne);....nl();...
015890: 09 7D 0D 0A 09 6B 69 6C 6C 28 29 3B 09 20 2F 2A .}...kill();. /*
0158A0: 20 69 6E 76 61 6C 69 64 61 74 65 20 6C 69 6E 65 invalidate line
0158B0: 20 2A 2F 0D 0A 09 63 6D 6F 64 65 3D 31 3B 0D 0A */...cmode=1;..
0158C0: 09 7D 0D 0A 0D 0A 0D 0A 0D 0A 1A 6B 69 6C 6C 28 .}.........kill(
0158D0: 29 3B 09 20 2F 2A 20 69 6E 76 61 6C 69 64 61 74 );. /* invalidat
0158E0: 65 20 6C 69 6E 65 20 2A 2F 0D 0A 09 63 6D 6F 64 e line */...cmod
0158F0: 65 3D 31 3B 0D 0A 09 7D 0D 0A 0D 0A 0D 0A 0D 0A e=1;...}........
015900: 09 20 2A 2F 0D 0A 09 20 20 20 20 7D 0D 0A 09 70 . */... }...p
015910: 75 74 73 28 22 65 6E 64 20 6C 6F 6F 70 5C 6E 22 uts("end loop\n"
015920: 29 3B 09 2F 2A 20 63 6F 75 6E 74 20 69 73 20 6E );./* count is n
015930: 6F 77 20 7A 65 72 6F 2E 20 43 61 6C 6C 20 70 75 ow zero. Call pu
015940: 74 73 20 74 6F 0D 0A 09 09 09 09 20 2A 20 6F 75 ts to...... * ou
015950: 74 70 75 74 20 73 74 61 72 69 6E 67 20 74 6F 20 tput staring to
015960: 73 63 72 65 65 6E 0D 0A 09 09 09 09 20 2A 2F 0D screen...... */.
015970: 0A 09 7D 0D 0A 0D 0A 1A 1A 1A 1A 1A 1A 1A 1A 1A ..}.............
015980: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
015990: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0159A0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0159B0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0159C0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0159D0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0159E0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0159F0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
015A00: 09 09 77 68 69 6C 65 28 63 3D 6D 61 63 71 5B 6B ..while(c=macq[k
015A10: 2B 2B 5D 29 0D 0A 09 09 09 09 09 6B 65 65 70 63 ++]).......keepc
015A20: 68 28 63 29 3B 0D 0A 09 09 09 65 6C 73 65 20 7B h(c);.....else {
015A30: 0D 0A 09 09 09 09 6B 3D 30 3B 0D 0A 09 09 09 09 ......k=0;......
015A40: 77 68 69 6C 65 28 63 3D 73 6E 61 6D 65 5B 6B 2B while(c=sname[k+
015A50: 2B 5D 29 0D 0A 09 09 09 09 09 6B 65 65 70 63 68 +]).......keepch
015A60: 28 63 29 3B 0D 0A 09 09 09 09 7D 0D 0A 09 09 09 (c);......}.....
015A70: 7D 0D 0A 09 09 65 6C 73 65 20 6B 65 65 70 63 68 }....else keepch
015A80: 28 67 63 68 28 29 29 3B 0D 0A 09 09 7D 0D 0A 09 (gch());....}...
015A90: 6B 65 65 70 63 68 28 30 29 3B 0D 0A 09 69 66 28 keepch(0);...if(
015AA0: 6D 70 74 72 3E 3D 6D 70 6D 61 78 29 20 65 72 72 mptr>=mpmax) err
015AB0: 6F 72 28 22 6C 69 6E 65 20 74 6F 6F 20 6C 6F 6E or("line too lon
015AC0: 67 22 29 3B 0D 0A 09 6C 70 74 72 3D 6D 70 74 72 g");...lptr=mptr
015AD0: 3D 30 3B 0D 0A 09 77 68 69 6C 65 28 6C 69 6E 65 =0;...while(line
015AE0: 5B 6C 70 74 72 2B 2B 5D 3D 6D 6C 69 6E 65 5B 6D [lptr++]=mline[m
015AF0: 70 74 72 2B 2B 5D 29 3B 0D 0A 09 6C 70 74 72 3D ptr++]);...lptr=
015B00: 30 3B 0D 0A 09 7D 0D 0A 61 64 64 6D 61 63 28 29 0;...}..addmac()
015B10: 0D 0A 7B 0D 0A 09 63 68 61 72 20 73 6E 61 6D 65 ..{...char sname
015B20: 5B 6E 61 6D 65 73 69 7A 65 5D 3B 0D 0A 09 69 6E [namesize];...in
015B30: 74 20 6B 3B 0D 0A 09 69 66 20 28 73 79 6D 6E 61 t k;...if (symna
015B40: 6D 65 28 73 6E 61 6D 65 29 20 3D 3D 20 30 29 20 me(sname) == 0)
015B50: 7B 0D 0A 09 09 69 6C 6C 6E 61 6D 65 28 29 3B 0D {....illname();.
015B60: 0A 09 09 6B 69 6C 6C 28 29 3B 0D 0A 09 09 72 65 ...kill();....re
015B70: 74 75 72 6E 3B 0D 0A 09 09 7D 0D 0A 09 6B 3D 30 turn;....}...k=0
015B80: 3B 0D 0A 09 77 68 69 6C 65 28 70 75 74 6D 61 63 ;...while(putmac
015B90: 28 73 6E 61 6D 65 5B 6B 2B 2B 5D 29 29 3B 0D 0A (sname[k++]));..
015BA0: 09 77 68 69 6C 65 28 69 73 73 70 61 63 65 28 63 .while(isspace(c
015BB0: 68 28 29 29 29 20 67 63 68 28 29 3B 0D 0A 09 77 h())) gch();...w
015BC0: 68 69 6C 65 28 70 75 74 6D 61 63 28 67 63 68 28 hile(putmac(gch(
015BD0: 29 29 29 3B 0D 0A 09 69 66 20 28 6D 61 63 70 74 )));...if (macpt
015BE0: 72 20 3E 3D 20 6D 61 63 6D 61 78 29 20 65 72 72 r >= macmax) err
015BF0: 6F 72 28 22 6D 61 72 63 6F 20 74 61 62 6C 65 20 or("marco table
015C00: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
015C10: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
015C20: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
015C30: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
015C40: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
015C50: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
015C60: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
015C70: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
015C80: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
015C90: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
015CA0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
015CB0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
015CC0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
015CD0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
015CE0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
015CF0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
015D00: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
015D10: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
015D20: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
015D30: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
015D40: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
015D50: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
015D60: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
015D70: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
015D80: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
015D90: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
015DA0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
015DB0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
015DC0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
015DD0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
015DE0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
015DF0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
015E00: 66 75 6C 6C 22 29 3B 0D 0A 09 7D 0D 0A 70 75 74 full");...}..put
015E10: 6D 61 63 28 63 29 0D 0A 63 68 61 72 20 63 3B 0D mac(c)..char c;.
015E20: 0A 7B 0D 0A 09 6D 61 63 71 5B 6D 61 63 70 74 72 .{...macq[macptr
015E30: 5D 3D 63 3B 0D 0A 09 69 66 28 6D 61 63 70 74 72 ]=c;...if(macptr
015E40: 20 3C 20 6D 61 63 6D 61 78 29 20 6D 61 63 70 74 < macmax) macpt
015E50: 72 2B 2B 3B 0D 0A 09 72 65 74 75 72 6E 20 63 3B r++;...return c;
015E60: 0D 0A 09 7D 0D 0A 66 69 6E 64 6D 61 63 28 73 6E ...}..findmac(sn
015E70: 61 6D 65 29 0D 0A 63 68 61 72 20 2A 73 6E 61 6D ame)..char *snam
015E80: 65 3B 0D 0A 7B 0D 0A 09 69 6E 74 20 6B 3B 0D 0A e;..{...int k;..
015E90: 09 6B 3D 30 3B 0D 0A 09 77 68 69 6C 65 28 6B 3C .k=0;...while(k<
015EA0: 6D 61 63 70 74 72 29 20 7B 0D 0A 09 09 69 66 28 macptr) {....if(
015EB0: 61 73 74 72 65 71 28 73 6E 61 6D 65 2C 6D 61 63 astreq(sname,mac
015EC0: 71 2B 6B 2C 6E 61 6D 65 6D 61 78 29 29 20 7B 0D q+k,namemax)) {.
015ED0: 0A 09 09 09 77 68 69 6C 65 28 6D 61 63 71 5B 6B ....while(macq[k
015EE0: 2B 2B 5D 29 3B 0D 0A 09 09 09 72 65 74 75 72 6E ++]);.....return
015EF0: 20 6B 3B 0D 0A 09 09 09 7D 0D 0A 09 09 77 68 69 k;.....}....whi
015F00: 6C 65 28 6D 61 63 71 5B 6B 2B 2B 5D 29 3B 0D 0A le(macq[k++]);..
015F10: 09 09 77 68 69 6C 65 28 6D 61 63 71 5B 6B 2B 2B ..while(macq[k++
015F20: 5D 29 3B 0D 0A 09 09 7D 0D 0A 09 72 65 74 75 72 ]);....}...retur
015F30: 6E 20 30 3B 0D 0A 09 7D 0D 0A 6F 75 74 62 79 74 n 0;...}..outbyt
015F40: 65 28 63 29 0D 0A 63 68 61 72 20 63 3B 0D 0A 7B e(c)..char c;..{
015F50: 0D 0A 09 69 66 20 28 21 63 29 20 72 65 74 75 72 ...if (!c) retur
015F60: 6E 20 30 3B 09 2F 2A 20 69 66 20 6E 75 6C 6C 20 n 0;./* if null
015F70: 72 65 74 75 72 6E 20 2A 2F 0D 0A 09 69 66 20 28 return */...if (
015F80: 6F 75 74 70 75 74 29 20 7B 0D 0A 09 09 69 66 20 output) {....if
015F90: 28 70 75 74 63 28 63 2C 66 6F 75 74 29 20 3D 3D (putc(c,fout) ==
015FA0: 20 45 52 52 4F 52 29 20 7B 0D 0A 09 09 09 63 6C ERROR) {.....cl
015FB0: 6F 73 65 6F 75 74 28 29 3B 0D 0A 09 09 09 65 72 oseout();.....er
015FC0: 72 6F 72 28 22 4F 75 74 70 75 74 20 66 69 6C 65 ror("Output file
015FD0: 20 65 72 72 6F 72 22 29 3B 0D 0A 09 09 09 7D 0D error");.....}.
015FE0: 0A 09 09 7D 0D 0A 09 65 6C 73 65 20 70 75 74 63 ...}...else putc
015FF0: 68 28 63 29 3B 0D 0A 09 72 65 74 75 72 6E 20 63 h(c);...return c
016000: 2F 2A 09 3E 3E 3E 3E 3E 3E 20 73 74 61 72 74 20 /*.>>>>>> start
016010: 6F 66 20 63 63 34 20 3C 3C 3C 3C 3C 3C 3C 09 2A of cc4 <<<<<<<.*
016020: 2F 0D 0A 23 69 66 6E 64 65 66 20 54 52 55 45 09 /..#ifndef TRUE.
016030: 2F 2A 20 63 68 65 63 6B 20 74 6F 20 73 65 65 20 /* check to see
016040: 69 66 20 6E 65 65 64 20 69 6E 63 6C 75 64 65 20 if need include
016050: 66 69 6C 65 20 2A 2F 0D 0A 23 69 6E 63 6C 75 64 file */..#includ
016060: 65 20 3C 43 2E 44 45 46 3E 0D 0A 23 65 6E 64 69 e <C.DEF>..#endi
016070: 66 0D 0A 6B 65 65 70 63 68 28 63 29 0D 0A 63 68 f..keepch(c)..ch
016080: 61 72 20 63 3B 0D 0A 7B 0D 0A 09 6D 6C 69 6E 65 ar c;..{...mline
016090: 5B 6D 70 74 72 5D 3D 63 3B 0D 0A 09 69 66 20 28 [mptr]=c;...if (
0160A0: 6D 70 74 72 3C 6D 70 6D 61 78 29 20 6D 70 74 72 mptr<mpmax) mptr
0160B0: 2B 2B 3B 0D 0A 09 72 65 74 75 72 6E 20 63 3B 0D ++;...return c;.
0160C0: 0A 09 7D 0D 0A 70 72 65 70 72 6F 63 65 73 73 28 ..}..preprocess(
0160D0: 29 0D 0A 7B 0D 0A 09 69 6E 74 20 6B 3B 0D 0A 09 )..{...int k;...
0160E0: 63 68 61 72 20 63 2C 73 6E 61 6D 65 5B 6E 61 6D char c,sname[nam
0160F0: 65 73 69 7A 65 5D 3B 0D 0A 09 69 66 20 28 21 63 esize];...if (!c
016100: 6D 6F 64 65 29 20 72 65 74 75 72 6E 3B 0D 0A 09 mode) return;...
016110: 6D 70 74 72 3D 6C 70 74 72 3D 30 3B 0D 0A 09 77 mptr=lptr=0;...w
016120: 68 69 6C 65 28 21 63 69 66 20 26 26 20 21 65 6F hile(!cif && !eo
016130: 66 29 20 7B 0D 0A 09 09 69 66 20 28 6D 61 74 63 f) {....if (matc
016140: 68 28 22 23 65 6E 64 69 66 22 29 29 20 63 69 66 h("#endif")) cif
016150: 3D 54 52 55 45 3B 0D 0A 09 09 65 6C 73 65 20 69 =TRUE;....else i
016160: 6E 6C 69 6E 65 28 29 3B 0D 0A 09 09 7D 0D 0A 09 nline();....}...
016170: 69 66 20 28 63 68 28 29 20 3D 3D 20 27 23 27 29 if (ch() == '#')
016180: 20 6D 61 74 63 68 28 22 23 65 6E 64 69 66 22 29 match("#endif")
016190: 3B 0D 0A 09 77 68 69 6C 65 28 63 68 28 29 29 20 ;...while(ch())
0161A0: 7B 0D 0A 09 09 69 66 20 28 69 73 73 70 61 63 65 {....if (isspace
0161B0: 28 63 68 28 29 29 29 20 7B 0D 0A 09 09 09 6B 65 (ch())) {.....ke
0161C0: 65 70 63 68 28 27 20 27 29 3B 0D 0A 09 09 09 77 epch(' ');.....w
0161D0: 68 69 6C 65 28 69 73 73 70 61 63 65 28 63 68 28 hile(isspace(ch(
0161E0: 29 29 29 20 67 63 68 28 29 3B 0D 0A 09 09 09 7D ))) gch();.....}
0161F0: 0D 0A 09 09 65 6C 73 65 20 69 66 20 28 63 68 28 ....else if (ch(
016200: 3B 0D 0A 09 7D 0D 0A 6F 75 74 73 74 72 28 70 74 ;...}..outstr(pt
016210: 72 29 0D 0A 63 68 61 72 20 2A 70 74 72 3B 0D 0A r)..char *ptr;..
016220: 7B 0D 0A 09 77 68 69 6C 65 28 6F 75 74 62 79 74 {...while(outbyt
016230: 65 28 2A 70 74 72 2B 2B 29 29 3B 0D 0A 09 7D 0D e(*ptr++));...}.
016240: 0A 6E 6C 28 29 0D 0A 7B 0D 0A 09 6F 75 74 62 79 .nl()..{...outby
016250: 74 65 28 27 5C 72 27 29 3B 0D 0A 09 6F 75 74 62 te('\r');...outb
016260: 79 74 65 28 27 5C 6E 27 29 3B 0D 0A 09 7D 0D 0A yte('\n');...}..
016270: 74 61 62 28 29 0D 0A 7B 0D 0A 09 6F 75 74 62 79 tab()..{...outby
016280: 74 65 28 27 5C 74 27 29 3B 0D 0A 09 7D 0D 0A 63 te('\t');...}..c
016290: 6F 6C 28 29 0D 0A 7B 0D 0A 09 6F 75 74 62 79 74 ol()..{...outbyt
0162A0: 65 28 27 3A 27 29 3B 0D 0A 09 7D 0D 0A 65 72 72 e(':');...}..err
0162B0: 6F 72 28 70 74 72 29 0D 0A 63 68 61 72 20 2A 70 or(ptr)..char *p
0162C0: 74 72 3B 0D 0A 7B 0D 0A 09 63 68 61 72 20 62 75 tr;..{...char bu
0162D0: 66 66 5B 38 30 5D 3B 0D 0A 09 69 6E 74 20 20 6A ff[80];...int j
0162E0: 2C 6B 3B 0D 0A 09 73 74 72 63 70 79 28 62 75 66 ,k;...strcpy(buf
0162F0: 66 2C 70 74 72 29 3B 0D 0A 09 73 74 72 63 61 74 f,ptr);...strcat
016300: 28 62 75 66 66 2C 22 20 5C 22 22 29 3B 0D 0A 09 (buff," \"");...
016310: 6A 3D 6C 70 74 72 2D 31 30 3B 0D 0A 09 69 66 20 j=lptr-10;...if
016320: 28 6A 3C 30 29 20 6A 3D 30 3B 0D 0A 09 6B 3D 73 (j<0) j=0;...k=s
016330: 74 72 6C 65 6E 28 62 75 66 66 29 3B 0D 0A 09 77 trlen(buff);...w
016340: 68 69 6C 65 28 6A 2D 31 35 3C 6C 70 74 72 20 26 hile(j-15<lptr &
016350: 26 20 6C 69 6E 65 5B 6A 5D 29 20 62 75 66 66 5B & line[j]) buff[
016360: 6B 2B 2B 5D 3D 6C 69 6E 65 5B 6A 2B 2B 5D 3B 0D k++]=line[j++];.
016370: 0A 09 62 75 66 66 5B 6B 5D 3D 30 3B 0D 0A 09 73 ..buff[k]=0;...s
016380: 74 72 63 61 74 28 62 75 66 66 2C 22 5C 22 22 29 trcat(buff,"\"")
016390: 3B 0D 0A 09 65 72 72 6F 72 5F 70 72 69 6E 74 28 ;...error_print(
0163A0: 62 75 66 66 29 3B 0D 0A 09 72 65 74 75 72 6E 3B buff);...return;
0163B0: 0D 0A 09 7D 0D 0A 65 72 72 6F 72 5F 70 72 69 6E ...}..error_prin
0163C0: 74 28 70 74 72 29 0D 0A 63 68 61 72 20 70 74 72 t(ptr)..char ptr
0163D0: 5B 5D 3B 0D 0A 7B 0D 0A 09 63 68 61 72 20 62 75 [];..{...char bu
0163E0: 66 66 5B 38 30 5D 3B 0D 0A 09 69 6E 74 20 6B 2C ff[80];...int k,
0163F0: 6A 3B 0D 0A 09 63 6F 6D 6D 65 6E 74 28 29 3B 6F j;...comment();o
016400: 29 20 3D 3D 20 27 5C 5C 27 29 20 7B 0D 0A 09 09 ) == '\\') {....
016410: 09 6B 65 65 70 63 68 28 63 68 28 29 29 3B 0D 0A .keepch(ch());..
016420: 09 09 09 67 63 68 28 29 3B 0D 0A 09 09 09 69 66 ...gch();.....if
016430: 20 28 21 63 68 28 29 29 20 7B 0D 0A 09 09 09 09 (!ch()) {......
016440: 65 72 72 6F 72 28 22 6D 69 73 73 69 6E 67 20 65 error("missing e
016450: 73 63 61 70 65 20 63 68 61 72 61 63 74 65 72 22 scape character"
016460: 29 3B 0D 0A 09 09 09 09 62 72 65 61 6B 3B 0D 0A );......break;..
016470: 09 09 09 09 7D 0D 0A 09 09 09 6B 65 65 70 63 68 ....}.....keepch
016480: 28 63 68 28 29 29 3B 0D 0A 09 09 09 67 63 68 28 (ch());.....gch(
016490: 29 3B 0D 0A 09 09 09 7D 0D 0A 09 09 65 6C 73 65 );.....}....else
0164A0: 20 69 66 28 63 68 28 29 3D 3D 27 22 27 29 20 7B if(ch()=='"') {
0164B0: 0D 0A 09 09 09 6B 65 65 70 63 68 28 63 68 28 29 .....keepch(ch()
0164C0: 29 3B 0D 0A 09 09 09 67 63 68 28 29 3B 0D 0A 09 );.....gch();...
0164D0: 09 09 77 68 69 6C 65 28 63 68 28 29 21 3D 27 22 ..while(ch()!='"
0164E0: 27 29 20 7B 0D 0A 09 09 09 09 69 66 28 21 63 68 ') {......if(!ch
0164F0: 28 29 29 20 7B 0D 0A 09 09 09 09 20 20 65 72 72 ()) {...... err
016500: 6F 72 28 22 6D 69 73 73 69 6E 67 20 71 75 6F 74 or("missing quot
016510: 65 22 29 3B 0D 0A 09 09 09 09 20 20 62 72 65 61 e");...... brea
016520: 6B 3B 0D 0A 09 09 09 09 20 20 7D 0D 0A 09 09 09 k;...... }.....
016530: 09 69 66 20 28 63 68 28 29 20 3D 3D 20 27 5C 5C .if (ch() == '\\
016540: 27 29 20 6B 65 65 70 63 68 28 67 63 68 28 29 29 ') keepch(gch())
016550: 3B 0D 0A 09 09 09 09 6B 65 65 70 63 68 28 67 63 ;......keepch(gc
016560: 68 28 29 29 3B 0D 0A 09 09 09 09 7D 0D 0A 09 09 h());......}....
016570: 09 67 63 68 28 29 3B 0D 0A 09 09 09 6B 65 65 70 .gch();.....keep
016580: 63 68 28 27 22 27 29 3B 0D 0A 09 09 09 7D 0D 0A ch('"');.....}..
016590: 09 09 65 6C 73 65 20 69 66 28 63 68 28 29 3D 3D ..else if(ch()==
0165A0: 27 5C 27 27 29 20 7B 0D 0A 09 09 09 6B 65 65 70 '\'') {.....keep
0165B0: 63 68 28 27 5C 27 27 29 3B 0D 0A 09 09 09 67 63 ch('\'');.....gc
0165C0: 68 28 29 3B 0D 0A 09 09 09 77 68 69 6C 65 28 63 h();.....while(c
0165D0: 68 28 29 21 3D 27 5C 27 27 29 20 7B 0D 0A 09 09 h()!='\'') {....
0165E0: 09 09 69 66 28 21 63 68 28 29 29 20 7B 0D 0A 09 ..if(!ch()) {...
0165F0: 09 09 09 20 20 65 72 72 6F 72 28 22 6D 69 73 73 ... error("miss
016600: 75 74 73 74 72 28 6C 69 6E 65 29 3B 6E 6C 28 29 utstr(line);nl()
016610: 3B 63 6F 6D 6D 65 6E 74 28 29 3B 0D 0A 09 6B 3D ;comment();...k=
016620: 30 3B 0D 0A 09 77 68 69 6C 65 28 6B 3C 6C 70 74 0;...while(k<lpt
016630: 72 29 20 7B 0D 0A 09 09 69 66 28 6C 69 6E 65 5B r) {....if(line[
016640: 6B 5D 3D 3D 39 29 20 74 61 62 28 29 3B 0D 0A 09 k]==9) tab();...
016650: 09 09 65 6C 73 65 20 6F 75 74 62 79 74 65 28 27 ..else outbyte('
016660: 20 27 29 3B 0D 0A 09 09 2B 2B 6B 3B 0D 0A 09 09 ');....++k;....
016670: 7D 0D 0A 09 6F 75 74 62 79 74 65 28 27 5E 27 29 }...outbyte('^')
016680: 3B 0D 0A 09 6E 6C 28 29 3B 63 6F 6D 6D 65 6E 74 ;...nl();comment
016690: 28 29 3B 6F 75 74 73 74 72 28 22 2A 2A 2A 2A 2A ();outstr("*****
0166A0: 2A 20 20 22 29 3B 0D 0A 09 6F 75 74 73 74 72 28 * ");...outstr(
0166B0: 70 74 72 29 3B 0D 0A 09 6F 75 74 73 74 72 28 22 ptr);...outstr("
0166C0: 20 20 2A 2A 2A 2A 2A 2A 22 29 3B 0D 0A 09 6E 6C ******");...nl
0166D0: 28 29 3B 0D 0A 09 69 66 20 28 69 6E 70 75 74 32 ();...if (input2
0166E0: 29 20 7B 0D 0A 09 09 73 74 72 63 70 79 28 62 75 ) {....strcpy(bu
0166F0: 66 66 2C 22 45 72 72 6F 72 20 69 6E 20 69 6E 63 ff,"Error in inc
016700: 6C 75 64 65 20 66 69 6C 65 20 61 74 20 6C 69 6E lude file at lin
016710: 65 20 22 29 3B 0D 0A 09 09 73 64 65 63 28 62 75 e ");....sdec(bu
016720: 66 66 2B 73 74 72 6C 65 6E 28 62 75 66 66 29 2C ff+strlen(buff),
016730: 6C 69 6E 65 32 29 3B 0D 0A 09 09 7D 0D 0A 09 65 line2);....}...e
016740: 6C 73 65 20 7B 0D 0A 09 09 73 74 72 63 70 79 28 lse {....strcpy(
016750: 62 75 66 66 2C 22 45 72 72 6F 72 20 61 74 20 6C buff,"Error at l
016760: 69 6E 65 20 22 29 3B 0D 0A 09 09 73 64 65 63 28 ine ");....sdec(
016770: 62 75 66 66 2B 73 74 72 6C 65 6E 28 62 75 66 66 buff+strlen(buff
016780: 29 2C 6C 69 6E 65 31 29 3B 0D 0A 09 09 7D 0D 0A ),line1);....}..
016790: 09 73 74 72 63 61 74 28 62 75 66 66 2C 22 20 22 .strcat(buff," "
0167A0: 29 3B 0D 0A 09 73 74 72 63 61 74 28 62 75 66 66 );...strcat(buff
0167B0: 2C 70 74 72 29 3B 0D 0A 09 73 74 72 63 61 74 28 ,ptr);...strcat(
0167C0: 62 75 66 66 2C 22 5C 6E 22 29 3B 0D 0A 09 70 6C buff,"\n");...pl
0167D0: 28 62 75 66 66 29 3B 0D 0A 09 2B 2B 65 72 72 63 (buff);...++errc
0167E0: 6E 74 3B 0D 0A 09 20 7D 0D 0A 6F 6C 28 70 74 72 nt;... }..ol(ptr
0167F0: 29 20 20 20 20 0D 0A 63 68 61 72 20 70 74 72 5B ) ..char ptr[
016800: 69 6E 67 20 61 70 6F 73 74 72 6F 70 68 65 22 29 ing apostrophe")
016810: 3B 0D 0A 09 09 09 09 20 20 62 72 65 61 6B 3B 0D ;...... break;.
016820: 0A 09 09 09 09 20 20 7D 0D 0A 09 09 09 09 69 66 ..... }......if
016830: 20 28 63 68 28 29 3D 3D 20 27 5C 5C 27 29 20 6B (ch()== '\\') k
016840: 65 65 70 63 68 28 67 63 68 28 29 29 3B 0D 0A 09 eepch(gch());...
016850: 09 09 09 6B 65 65 70 63 68 28 67 63 68 28 29 29 ...keepch(gch())
016860: 3B 0D 0A 09 09 09 09 7D 0D 0A 09 09 09 67 63 68 ;......}.....gch
016870: 28 29 3B 0D 0A 09 09 09 6B 65 65 70 63 68 28 27 ();.....keepch('
016880: 5C 27 27 29 3B 0D 0A 09 09 09 7D 0D 0A 09 09 65 \'');.....}....e
016890: 6C 73 65 20 69 66 28 28 63 68 28 29 3D 3D 27 2F lse if((ch()=='/
0168A0: 27 29 20 26 26 20 28 6E 63 68 28 29 3D 3D 27 2A ') && (nch()=='*
0168B0: 27 29 29 20 7B 0D 0A 09 09 09 69 6E 63 68 61 72 ')) {.....inchar
0168C0: 28 29 3B 0D 0A 09 09 09 69 6E 63 68 61 72 28 29 ();.....inchar()
0168D0: 3B 0D 0A 09 09 09 77 68 69 6C 65 28 21 28 28 63 ;.....while(!((c
0168E0: 68 28 29 3D 3D 27 2A 27 29 20 26 26 20 28 6E 63 h()=='*') && (nc
0168F0: 68 28 29 3D 3D 27 2F 27 29 29 29 20 7B 0D 0A 09 h()=='/'))) {...
016900: 09 09 09 69 66 28 63 68 28 29 3D 3D 30 29 69 6E ...if(ch()==0)in
016910: 6C 69 6E 65 28 29 3B 0D 0A 09 09 09 09 65 6C 73 line();......els
016920: 65 20 69 6E 63 68 61 72 28 29 3B 0D 0A 09 09 09 e inchar();.....
016930: 09 69 66 28 65 6F 66 29 62 72 65 61 6B 3B 0D 0A .if(eof)break;..
016940: 09 09 09 09 7D 0D 0A 09 09 09 69 6E 63 68 61 72 ....}.....inchar
016950: 28 29 3B 0D 0A 09 09 09 69 6E 63 68 61 72 28 29 ();.....inchar()
016960: 3B 0D 0A 09 09 09 7D 0D 0A 09 09 65 6C 73 65 20 ;.....}....else
016970: 69 66 28 61 6E 28 63 68 28 29 29 29 20 7B 0D 0A if(an(ch())) {..
016980: 09 09 09 6B 3D 30 3B 0D 0A 09 09 09 77 68 69 6C ...k=0;.....whil
016990: 65 28 61 6E 28 63 68 28 29 29 29 20 7B 0D 0A 09 e(an(ch())) {...
0169A0: 09 09 09 69 66 28 6B 3C 6E 61 6D 65 6D 61 78 29 ...if(k<namemax)
0169B0: 73 6E 61 6D 65 5B 6B 2B 2B 5D 3D 63 68 28 29 3B sname[k++]=ch();
0169C0: 0D 0A 09 09 09 09 67 63 68 28 29 3B 0D 0A 09 09 ......gch();....
0169D0: 09 09 7D 0D 0A 09 09 09 73 6E 61 6D 65 5B 6B 5D ..}.....sname[k]
0169E0: 3D 30 3B 0D 0A 09 09 09 69 66 28 6B 3D 66 69 6E =0;.....if(k=fin
0169F0: 64 6D 61 63 28 73 6E 61 6D 65 29 29 0D 0A 09 09 dmac(sname))....
016A00: 54 72 61 63 6B 2D 49 6E 66 6F 0D 0A 00 00 00 00 Track-Info......
016A10: 13 00 01 00 02 09 52 E5 13 00 C1 02 00 00 00 02 ......R.........
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: 5D 3B 0D 0A 7B 0D 0A 09 6F 74 28 70 74 72 29 3B ];..{...ot(ptr);
016B10: 0D 0A 09 6E 6C 28 29 3B 0D 0A 7D 0D 0A 6F 74 28 ...nl();..}..ot(
016B20: 70 74 72 29 0D 0A 63 68 61 72 20 70 74 72 5B 5D ptr)..char ptr[]
016B30: 3B 0D 0A 7B 0D 0A 09 74 61 62 28 29 3B 0D 0A 09 ;..{...tab();...
016B40: 6F 75 74 73 74 72 28 70 74 72 29 3B 0D 0A 09 7D outstr(ptr);...}
016B50: 0D 0A 73 74 72 65 71 28 73 74 72 31 2C 73 74 72 ..streq(str1,str
016B60: 32 29 0D 0A 63 68 61 72 20 73 74 72 31 5B 5D 2C 2)..char str1[],
016B70: 73 74 72 32 5B 5D 3B 0D 0A 7B 0D 0A 09 69 6E 74 str2[];..{...int
016B80: 20 6B 3B 0D 0A 09 6B 3D 30 3B 0D 0A 09 77 68 69 k;...k=0;...whi
016B90: 6C 65 28 73 74 72 32 5B 6B 5D 29 20 7B 0D 0A 09 le(str2[k]) {...
016BA0: 09 69 66 20 28 73 74 72 31 5B 6B 5D 21 3D 73 74 .if (str1[k]!=st
016BB0: 72 32 5B 6B 5D 29 20 72 65 74 75 72 6E 20 30 3B r2[k]) return 0;
016BC0: 0D 0A 09 09 6B 2B 2B 3B 0D 0A 09 09 7D 0D 0A 09 ....k++;....}...
016BD0: 72 65 74 75 72 6E 20 6B 3B 0D 0A 09 7D 0D 0A 61 return k;...}..a
016BE0: 73 74 72 65 71 28 73 74 72 31 2C 73 74 72 32 2C streq(str1,str2,
016BF0: 6C 65 6E 29 0D 0A 63 68 61 72 20 73 74 72 31 5B len)..char str1[
016C00: 5D 2C 73 74 72 32 5B 5D 3B 69 6E 74 20 6C 65 6E ],str2[];int len
016C10: 3B 0D 0A 7B 0D 0A 09 69 6E 74 20 6B 3B 0D 0A 09 ;..{...int k;...
016C20: 6B 3D 30 3B 0D 0A 09 77 68 69 6C 65 20 28 6B 3C k=0;...while (k<
016C30: 6C 65 6E 29 20 7B 0D 0A 09 09 69 66 20 28 28 73 len) {....if ((s
016C40: 74 72 31 5B 6B 5D 29 21 3D 28 73 74 72 32 5B 6B tr1[k])!=(str2[k
016C50: 5D 29 29 62 72 65 61 6B 3B 0D 0A 09 09 69 66 28 ]))break;....if(
016C60: 21 73 74 72 31 5B 6B 5D 29 62 72 65 61 6B 3B 0D !str1[k])break;.
016C70: 0A 09 09 69 66 28 21 73 74 72 32 5B 6B 5D 29 62 ...if(!str2[k])b
016C80: 72 65 61 6B 3B 0D 0A 09 09 6B 2B 2B 3B 0D 0A 09 reak;....k++;...
016C90: 09 7D 0D 0A 09 69 66 20 28 61 6E 28 73 74 72 31 .}...if (an(str1
016CA0: 5B 6B 5D 29 29 72 65 74 75 72 6E 20 30 3B 0D 0A [k]))return 0;..
016CB0: 09 69 66 20 28 61 6E 28 73 74 72 32 5B 6B 5D 29 .if (an(str2[k])
016CC0: 29 72 65 74 75 72 6E 20 30 3B 0D 0A 09 72 65 74 )return 0;...ret
016CD0: 75 72 6E 20 6B 3B 0D 0A 09 7D 0D 0A 6D 61 74 63 urn k;...}..matc
016CE0: 68 28 6C 69 74 29 0D 0A 63 68 61 72 20 2A 6C 69 h(lit)..char *li
016CF0: 74 3B 0D 0A 7B 0D 0A 09 69 6E 74 20 6B 3B 0D 0A t;..{...int k;..
016D00: 0D 0A 2F 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A ../*************
016D10: 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A ****************
016D20: 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A ****************
016D30: 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2F 0D 0A 2F 2A ***********/../*
016D40: 09 09 09 09 09 09 09 2A 2F 0D 0A 2F 2A 09 65 78 .......*/../*.ex
016D50: 70 72 65 73 73 69 6F 6E 20 68 61 6E 64 6C 65 72 pression handler
016D60: 20 09 09 09 09 2A 2F 0D 0A 2F 2A 09 09 09 09 09 ....*/../*.....
016D70: 09 09 2A 2F 0D 0A 2F 2A 09 74 61 62 6C 65 20 62 ..*/../*.table b
016D80: 65 6C 6F 77 20 73 68 6F 77 20 70 72 65 63 65 64 elow show preced
016D90: 65 6E 63 65 20 6F 66 20 6F 70 65 72 61 74 6F 72 ence of operator
016DA0: 09 09 2A 2F 0D 0A 2F 2A 09 09 09 09 09 09 09 2A ..*/../*.......*
016DB0: 2F 0D 0A 2F 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A /../************
016DC0: 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A ****************
016DD0: 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A ****************
016DE0: 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2F 0D 0A 2F ************/../
016DF0: 2A 09 6F 70 65 72 61 74 6F 72 09 2A 20 72 6F 75 *.operator.* rou
016E00: 74 69 6E 65 09 2A 20 61 73 73 6F 63 69 61 74 69 tine.* associati
016E10: 76 69 74 79 09 2A 2F 0D 0A 2F 2A 2A 2A 2A 2A 2A vity.*/../******
016E20: 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A ****************
016E30: 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A ****************
016E40: 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A ****************
016E50: 2A 2A 2F 0D 0A 2F 2A 09 7C 20 2B 2B 20 2D 2D 20 **/../*.| ++ --
016E60: 2D 20 2A 20 26 09 2A 20 68 65 69 72 31 30 09 2A - * &.* heir10.*
016E70: 20 6C 65 66 74 20 74 6F 20 72 69 67 68 74 09 2A left to right.*
016E80: 2F 0D 0A 2F 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A /../************
016E90: 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A ****************
016EA0: 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A ****************
016EB0: 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2F 0D 0A 2F ************/../
016EC0: 2A 09 2A 20 2F 20 25 09 09 2A 20 68 65 69 72 39 *.* / %..* heir9
016ED0: 09 09 2A 20 72 69 67 74 68 20 74 6F 20 6C 65 66 ..* rigth to lef
016EE0: 74 09 2A 2F 0D 0A 2F 2A 2A 2A 2A 2A 2A 2A 2A 2A t.*/../*********
016EF0: 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A ****************
016F00: 09 62 6C 61 6E 6B 73 28 29 3B 0D 0A 09 69 66 20 .blanks();...if
016F10: 28 6B 3D 73 74 72 65 71 28 6C 69 6E 65 2B 6C 70 (k=streq(line+lp
016F20: 74 72 2C 6C 69 74 29 29 0D 0A 09 09 7B 6C 70 74 tr,lit))....{lpt
016F30: 72 3D 6C 70 74 72 2B 6B 3B 0D 0A 09 09 72 65 74 r=lptr+k;....ret
016F40: 75 72 6E 20 31 3B 0D 0A 09 09 7D 0D 0A 09 72 65 urn 1;....}...re
016F50: 74 75 72 6E 20 30 3B 0D 0A 09 7D 0D 0A 61 6D 61 turn 0;...}..ama
016F60: 74 63 68 28 6C 69 74 2C 6C 65 6E 29 0D 0A 63 68 tch(lit,len)..ch
016F70: 61 72 20 2A 6C 69 74 3B 69 6E 74 20 6C 65 6E 3B ar *lit;int len;
016F80: 0D 0A 20 7B 0D 0A 09 69 6E 74 20 6B 3B 0D 0A 09 .. {...int k;...
016F90: 62 6C 61 6E 6B 73 28 29 3B 0D 0A 09 69 66 20 28 blanks();...if (
016FA0: 6B 3D 61 73 74 72 65 71 28 6C 69 6E 65 2B 6C 70 k=astreq(line+lp
016FB0: 74 72 2C 6C 69 74 2C 6C 65 6E 29 29 20 7B 0D 0A tr,lit,len)) {..
016FC0: 09 09 6C 70 74 72 3D 6C 70 74 72 2B 6B 3B 0D 0A ..lptr=lptr+k;..
016FD0: 09 09 77 68 69 6C 65 28 61 6E 28 63 68 28 29 29 ..while(an(ch())
016FE0: 29 20 69 6E 62 79 74 65 28 29 3B 0D 0A 09 09 72 ) inbyte();....r
016FF0: 65 74 75 72 6E 20 31 3B 0D 0A 09 09 7D 0D 0A 09 eturn 1;....}...
017000: 72 65 74 75 72 6E 20 30 3B 0D 0A 09 7D 0D 0A 62 return 0;...}..b
017010: 6C 61 6E 6B 73 28 29 0D 0A 7B 0D 0A 09 77 68 69 lanks()..{...whi
017020: 6C 65 28 31 29 20 7B 0D 0A 09 09 77 68 69 6C 65 le(1) {....while
017030: 28 63 68 28 29 3D 3D 30 29 20 7B 0D 0A 09 09 09 (ch()==0) {.....
017040: 69 6E 6C 69 6E 65 28 29 3B 0D 0A 09 09 09 70 72 inline();.....pr
017050: 65 70 72 6F 63 65 73 73 28 29 3B 0D 0A 09 09 09 eprocess();.....
017060: 69 66 20 28 65 6F 66 29 20 62 72 65 61 6B 3B 0D if (eof) break;.
017070: 0A 09 09 09 7D 0D 0A 09 09 69 66 28 69 73 73 70 ....}....if(issp
017080: 61 63 65 28 63 68 28 29 29 29 20 67 63 68 28 29 ace(ch())) gch()
017090: 3B 0D 0A 09 09 65 6C 73 65 20 72 65 74 75 72 6E ;....else return
0170A0: 3B 0D 0A 09 09 7D 0D 0A 09 7D 0D 0A 6F 75 74 64 ;....}...}..outd
0170B0: 65 63 28 6E 75 6D 62 65 72 29 0D 0A 69 6E 74 20 ec(number)..int
0170C0: 6E 75 6D 62 65 72 3B 0D 0A 7B 0D 0A 09 63 68 61 number;..{...cha
0170D0: 72 20 62 75 66 66 5B 31 30 5D 3B 0D 0A 09 6F 75 r buff[10];...ou
0170E0: 74 73 74 72 28 73 64 65 63 28 62 75 66 66 2C 6E tstr(sdec(buff,n
0170F0: 75 6D 62 65 72 29 29 3B 0D 0A 09 7D 0D 0A 73 64 umber));...}..sd
017100: 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A ****************
017110: 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2F ***************/
017120: 0D 0A 2F 2A 09 2B 20 2D 09 09 2A 20 68 65 69 72 ../*.+ -..* heir
017130: 38 09 09 2A 20 6C 65 66 74 20 74 6F 20 72 69 67 8..* left to rig
017140: 68 74 09 2A 2F 0D 0A 2F 2A 2A 2A 2A 2A 2A 2A 2A ht.*/../********
017150: 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A ****************
017160: 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A ****************
017170: 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A ****************
017180: 2F 0D 0A 2F 2A 09 3C 3C 20 3E 3E 09 09 2A 20 68 /../*.<< >>..* h
017190: 65 69 72 37 09 09 2A 20 6C 65 66 74 20 74 6F 20 eir7..* left to
0171A0: 72 69 67 68 74 09 2A 2F 0D 0A 2F 2A 2A 2A 2A 2A right.*/../*****
0171B0: 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A ****************
0171C0: 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A ****************
0171D0: 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A ****************
0171E0: 2A 2A 2A 2F 0D 0A 2F 2A 09 3C 20 3C 3D 20 3E 20 ***/../*.< <= >
0171F0: 3E 3D 09 2A 20 68 65 69 72 36 09 09 2A 20 6C 65 >=.* heir6..* le
017200: 66 74 20 74 6F 20 72 69 67 68 74 09 2A 2F 0D 0A ft to right.*/..
017210: 2F 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A /***************
017220: 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A ****************
017230: 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A ****************
017240: 2A 2A 2A 2A 2A 2A 2A 2A 2A 2F 0D 0A 2F 2A 09 3D *********/../*.=
017250: 3D 20 21 3D 09 09 2A 20 68 65 69 72 35 09 09 2A = !=..* heir5..*
017260: 20 6C 65 66 74 20 74 6F 20 72 69 67 74 68 20 2A left to rigth *
017270: 2F 0D 0A 2F 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A /../************
017280: 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A ****************
017290: 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A ****************
0172A0: 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2F 0D 0A 2F ************/../
0172B0: 2A 09 26 09 09 2A 20 68 65 69 72 34 09 09 2A 20 *.&..* heir4..*
0172C0: 6C 65 66 74 20 74 6F 20 72 69 67 74 68 20 2A 2F left to rigth */
0172D0: 0D 0A 2F 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A ../*************
0172E0: 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A ****************
0172F0: 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A ****************
017300: 65 63 28 73 74 72 69 6E 67 2C 6E 75 6D 62 65 72 ec(string,number
017310: 29 0D 0A 63 68 61 72 20 73 74 72 69 6E 67 5B 5D )..char string[]
017320: 3B 0D 0A 69 6E 74 20 6E 75 6D 62 65 72 3B 0D 0A ;..int number;..
017330: 7B 0D 0A 09 69 6E 74 20 6B 2C 7A 73 2C 6A 3B 0D {...int k,zs,j;.
017340: 0A 09 63 68 61 72 20 63 3B 0D 0A 09 6A 3D 7A 73 ..char c;...j=zs
017350: 3D 30 3B 0D 0A 09 6B 3D 31 30 30 30 30 3B 0D 0A =0;...k=10000;..
017360: 09 69 66 20 28 6E 75 6D 62 65 72 3C 30 29 20 7B .if (number<0) {
017370: 0D 0A 09 09 6E 75 6D 62 65 72 3D 28 2D 6E 75 6D ....number=(-num
017380: 62 65 72 29 3B 0D 0A 09 09 73 74 72 69 6E 67 5B ber);....string[
017390: 6A 2B 2B 5D 3D 27 2D 27 3B 0D 0A 09 09 7D 0D 0A j++]='-';....}..
0173A0: 09 77 68 69 6C 65 20 28 6B 3E 3D 31 29 20 7B 0D .while (k>=1) {.
0173B0: 0A 09 09 63 3D 6E 75 6D 62 65 72 2F 6B 20 2B 20 ...c=number/k +
0173C0: 27 30 27 3B 0D 0A 09 09 69 66 20 28 63 20 21 3D '0';....if (c !=
0173D0: 20 27 30 27 20 7C 7C 20 6B 20 3D 3D 20 31 20 7C '0' || k == 1 |
0173E0: 7C 20 7A 73 29 20 7B 0D 0A 09 09 09 7A 73 3D 31 | zs) {.....zs=1
0173F0: 3B 0D 0A 09 09 09 73 74 72 69 6E 67 5B 6A 2B 2B ;.....string[j++
017400: 5D 3D 63 3B 20 0D 0A 09 09 09 7D 0D 0A 09 09 6E ]=c; .....}....n
017410: 75 6D 62 65 72 3D 6E 75 6D 62 65 72 25 6B 3B 0D umber=number%k;.
017420: 0A 09 09 6B 3D 6B 2F 31 30 3B 0D 0A 09 09 7D 0D ...k=k/10;....}.
017430: 0A 09 73 74 72 69 6E 67 5B 6A 5D 3D 30 3B 0D 0A ..string[j]=0;..
017440: 09 72 65 74 75 72 6E 20 73 74 72 69 6E 67 3B 0D .return string;.
017450: 0A 09 7D 0D 0A 2F 2A 09 09 09 09 09 09 2A 2F 0D ..}../*......*/.
017460: 0A 2F 2A 09 74 6F 20 6F 75 74 70 75 74 20 6E 75 ./*.to output nu
017470: 6D 62 65 72 20 61 73 20 61 20 68 65 78 20 76 61 mber as a hex va
017480: 6C 75 65 09 09 2A 2F 0D 0A 2F 2A 09 09 09 09 09 lue..*/../*.....
017490: 09 2A 2F 0D 0A 2F 2A 09 77 72 69 74 74 65 6E 20 .*/../*.written
0174A0: 6A 75 6E 65 20 32 38 2C 20 31 39 38 31 20 62 79 june 28, 1981 by
0174B0: 20 4D 69 6B 65 20 42 65 72 6E 73 6F 6E 09 2A 2F Mike Bernson.*/
0174C0: 0D 0A 2F 2A 09 09 09 09 09 09 2A 2F 0D 0A 6F 75 ../*......*/..ou
0174D0: 74 68 65 78 28 76 61 6C 75 65 29 0D 0A 69 6E 74 thex(value)..int
0174E0: 20 76 61 6C 75 65 3B 0D 0A 7B 0D 0A 09 69 6E 74 value;..{...int
0174F0: 20 20 70 6F 73 74 69 6F 6E 3B 0D 0A 09 63 68 61 postion;...cha
017500: 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2F 0D 0A 2F 2A ***********/../*
017510: 09 5E 09 09 2A 20 68 65 69 72 33 09 09 2A 20 6C .^..* heir3..* l
017520: 65 66 74 20 74 6F 20 72 69 67 68 74 20 2A 2F 0D eft to right */.
017530: 0A 2F 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A ./**************
017540: 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A ****************
017550: 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A ****************
017560: 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2F 0D 0A 2F 2A 09 **********/../*.
017570: 7C 09 09 2A 20 68 65 69 72 32 09 09 2A 20 6C 65 |..* heir2..* le
017580: 66 74 20 74 6F 20 72 69 67 68 74 20 2A 2F 0D 0A ft to right */..
017590: 2F 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A /***************
0175A0: 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A ****************
0175B0: 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A ****************
0175C0: 2A 2A 2A 2A 2A 2A 2A 2A 2A 2F 0D 0A 2F 2A 09 26 *********/../*.&
0175D0: 26 09 09 2A 20 68 65 69 72 31 65 09 2A 20 6C 65 &..* heir1e.* le
0175E0: 66 74 20 74 6F 20 72 69 67 68 74 20 2A 2F 0D 0A ft to right */..
0175F0: 2F 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A /***************
017600: 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A ****************
017610: 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A ****************
017620: 2A 2A 2A 2A 2A 2A 2A 2A 2A 2F 0D 0A 2F 2A 09 7C *********/../*.|
017630: 7C 09 09 2A 20 68 65 69 72 31 64 09 2A 20 6C 65 |..* heir1d.* le
017640: 66 74 20 74 6F 20 72 69 67 68 74 20 2A 2F 0D 0A ft to right */..
017650: 2F 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A /***************
017660: 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A ****************
017670: 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A ****************
017680: 2A 2A 2A 2A 2A 2A 2A 2A 2A 2F 0D 0A 2F 2A 09 3D *********/../*.=
017690: 20 20 2D 3D 20 2B 3D 20 2A 3D 20 25 3D 20 20 2A -= += *= %= *
0176A0: 20 68 65 69 72 31 20 09 2A 20 6C 65 66 74 20 74 heir1 .* left t
0176B0: 6F 20 72 69 67 68 74 20 2A 2F 0D 0A 2F 2A 09 2F o right */../*./
0176C0: 3D 20 26 3D 20 5E 3D 20 7C 3D 09 2A 09 09 2A 09 = &= ^= |=.*..*.
0176D0: 09 2A 2F 0D 0A 2F 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A .*/../**********
0176E0: 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A ****************
0176F0: 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A ****************
017700: 72 20 2A 68 65 78 3B 0D 0A 0D 0A 09 68 65 78 3D r *hex;.....hex=
017710: 22 30 31 32 33 34 35 36 37 38 39 61 62 63 64 65 "0123456789abcde
017720: 66 22 3B 0D 0A 09 66 6F 72 28 70 6F 73 74 69 6F f";...for(postio
017730: 6E 3D 31 36 3B 20 70 6F 73 74 69 6F 6E 20 3E 3D n=16; postion >=
017740: 20 30 3B 20 70 6F 73 74 69 6F 6E 20 2D 3D 34 29 0; postion -=4)
017750: 20 0D 0A 09 09 6F 75 74 62 79 74 65 28 68 65 78 ....outbyte(hex
017760: 5B 28 76 61 6C 75 65 3E 3E 70 6F 73 74 69 6F 6E [(value>>postion
017770: 29 20 26 20 30 78 30 66 5D 29 3B 0D 0A 09 6F 75 ) & 0x0f]);...ou
017780: 74 62 79 74 65 28 27 68 27 29 3B 0D 0A 1A 1A 1A tbyte('h');.....
017790: 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A ................
0177A0: 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A ................
0177B0: 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A ................
0177C0: 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A ................
0177D0: 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A ................
0177E0: 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A ................
0177F0: 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A ................
017800: 00 19 EB C3 D9 00 CD 0A 03 CD 2C 01 DA 1D 01 C5 ..........,.....
017810: 11 0C 00 19 46 11 14 00 19 4E AF 78 1F 67 3E 00 ....F....N.x.g>.
017820: 1F 47 81 6F 79 A0 F2 2A 3E 24 C1 C9 FF FF FF FF .G.oy..*>$......
017830: FF F7 FF F7 FF FF FF FF FF FF FF FF FF FF FF FF ................
017840: FF FF FF FF FF FF F7 FF F7 FF FF FF FF FF FF FF ................
017850: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................
017860: FF FF FF FF FF FF F7 FF F7 FF FF FF FF FF FF FF ................
017870: FF FF FF FF FF FF FF FF FF FF FF FF FF F7 FF F7 ................
017880: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
017890: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0178A0: 00 01 84 01 FF 00 00 00 00 00 00 00 00 00 00 00 ................
0178B0: 00 00 00 00 00 00 00 00 00 00 08 26 C9 FD 00 00 ...........&....
0178C0: 00 00 00 00 00 00 08 26 C9 FD 00 00 00 00 00 00 .......&........
0178D0: 00 00 08 26 C9 FD 00 00 00 00 00 00 00 00 00 00 ...&............
0178E0: 00 00 00 00 02 26 C9 FD 00 00 00 00 00 00 00 00 .....&..........
0178F0: 00 00 00 00 00 00 04 26 C9 FD 00 00 00 00 00 00 .......&........
017900: 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2F 0D **************/.
017910: 0A 23 69 66 6E 64 65 66 20 54 52 55 45 09 2F 2A .#ifndef TRUE./*
017920: 20 63 68 65 63 6B 20 74 6F 20 73 65 65 20 69 66 check to see if
017930: 20 6E 65 65 64 20 69 6E 63 6C 75 64 65 20 66 69 need include fi
017940: 6C 65 20 2A 2F 0D 0A 23 69 6E 63 6C 75 64 65 20 le */..#include
017950: 3C 43 2E 44 45 46 3E 0D 0A 23 65 6E 64 69 66 0D <C.DEF>..#endif.
017960: 0A 65 78 70 72 65 73 73 69 6F 6E 28 29 0D 0A 7B .expression()..{
017970: 0D 0A 20 20 20 20 20 20 20 20 69 6E 74 20 6C 76 .. int lv
017980: 61 6C 5B 6C 76 61 6C 73 69 7A 65 5D 2C 73 74 61 al[lvalsize],sta
017990: 74 75 73 3B 0D 0A 09 73 74 61 74 75 73 3D 46 41 tus;...status=FA
0179A0: 4C 53 45 3B 0D 0A 09 72 76 61 6C 75 65 28 6C 76 LSE;...rvalue(lv
0179B0: 61 6C 2C 68 65 69 72 31 28 6C 76 61 6C 2C 26 73 al,heir1(lval,&s
0179C0: 74 61 74 75 73 29 29 3B 0D 0A 09 72 65 74 75 72 tatus));...retur
0179D0: 6E 20 73 74 61 74 75 73 3B 0D 0A 09 7D 0D 0A 68 n status;...}..h
0179E0: 65 69 72 31 28 6C 76 61 6C 2C 73 74 61 74 75 73 eir1(lval,status
0179F0: 29 0D 0A 69 6E 74 20 6C 76 61 6C 5B 5D 3B 0D 0A )..int lval[];..
017A00: 69 6E 74 20 2A 73 74 61 74 75 73 3B 0D 0A 7B 0D int *status;..{.
017A10: 0A 20 20 20 20 20 20 20 20 69 6E 74 20 6B 3B 0D . int k;.
017A20: 0A 09 63 68 61 72 20 2A 70 74 72 3B 0D 0A 20 20 ..char *ptr;..
017A30: 20 20 20 20 20 20 6B 3D 68 65 69 72 31 64 28 6C k=heir1d(l
017A40: 76 61 6C 2C 73 74 61 74 75 73 29 3B 0D 0A 20 20 val,status);..
017A50: 20 20 20 20 20 20 69 66 20 28 63 68 28 29 20 21 if (ch() !
017A60: 3D 20 20 27 3D 27 20 26 26 20 6E 63 68 28 29 20 = '=' && nch()
017A70: 21 3D 20 27 3D 27 29 20 72 65 74 75 72 6E 20 6B != '=') return k
017A80: 3B 0D 0A 09 2A 73 74 61 74 75 73 3D 46 41 4C 53 ;...*status=FALS
017A90: 45 3B 0D 0A 09 73 77 69 74 63 68 28 63 68 28 29 E;...switch(ch()
017AA0: 29 20 7B 0D 0A 0D 0A 09 09 2F 2A 20 6A 75 73 74 ) {....../* just
017AB0: 20 61 6E 20 65 71 75 61 6C 20 2A 2F 0D 0A 09 09 an equal */....
017AC0: 63 61 73 65 20 27 3D 27 20 3A 0D 0A 09 09 09 67 case '=' :.....g
017AD0: 63 68 28 29 3B 0D 0A 09 09 09 65 71 75 61 6C 28 ch();.....equal(
017AE0: 6C 76 61 6C 2C 6B 29 3B 0D 0A 09 09 09 62 72 65 lval,k);.....bre
017AF0: 61 6B 3B 0D 0A 0D 0A 09 09 2F 2A 20 61 64 64 20 ak;....../* add
017B00: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
017B10: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
017B20: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
017B30: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
017B40: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
017B50: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
017B60: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
017B70: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
017B80: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
017B90: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
017BA0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
017BB0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
017BC0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
017BD0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
017BE0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
017BF0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
017C00: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
017C10: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
017C20: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
017C30: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
017C40: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
017C50: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
017C60: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
017C70: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
017C80: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
017C90: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
017CA0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
017CB0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
017CC0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
017CD0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
017CE0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
017CF0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
017D00: 54 72 61 63 6B 2D 49 6E 66 6F 0D 0A 00 00 00 00 Track-Info......
017D10: 14 00 01 00 02 09 52 E5 14 00 C1 02 00 00 00 02 ......R.........
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: 76 61 6C 75 65 20 74 68 65 6E 20 73 74 6F 72 65 value then store
017E10: 20 2A 2F 0D 0A 09 09 63 61 73 65 20 27 2B 27 20 */....case '+'
017E20: 3A 0D 0A 09 09 63 61 73 65 20 27 2D 27 20 3A 0D :....case '-' :.
017E30: 0A 09 09 09 67 63 68 28 29 3B 67 63 68 28 29 3B ....gch();gch();
017E40: 0D 0A 09 09 09 65 71 75 61 6C 5F 65 78 70 28 6C .....equal_exp(l
017E50: 76 61 6C 2C 6B 29 3B 0D 0A 09 09 09 73 69 7A 65 val,k);.....size
017E60: 5F 61 64 6A 75 73 74 28 6C 76 61 6C 29 3B 0D 0A _adjust(lval);..
017E70: 09 09 09 69 66 20 28 63 68 28 29 20 3D 3D 20 27 ...if (ch() == '
017E80: 2D 27 29 20 73 75 62 28 29 3B 20 65 6C 73 65 20 -') sub(); else
017E90: 61 64 64 28 29 3B 0D 0A 09 09 09 6B 3D 31 3B 0D add();.....k=1;.
017EA0: 0A 09 09 09 62 72 65 61 6B 3B 0D 0A 0D 0A 09 09 ....break;......
017EB0: 63 61 73 65 20 27 2A 27 20 3A 0D 0A 09 09 09 67 case '*' :.....g
017EC0: 63 68 28 29 3B 67 63 68 28 29 3B 0D 0A 09 09 09 ch();gch();.....
017ED0: 65 71 75 61 6C 5F 65 78 70 28 6C 76 61 6C 2C 6B equal_exp(lval,k
017EE0: 29 3B 0D 0A 09 09 09 6D 75 6C 74 28 29 3B 0D 0A );.....mult();..
017EF0: 09 09 09 6B 3D 31 3B 0D 0A 09 09 09 62 72 65 61 ...k=1;.....brea
017F00: 6B 3B 0D 0A 0D 0A 09 09 63 61 73 65 20 27 2F 27 k;......case '/'
017F10: 20 3A 0D 0A 09 09 09 67 63 68 28 29 3B 67 63 68 :.....gch();gch
017F20: 28 29 3B 0D 0A 09 09 09 65 71 75 61 6C 5F 65 78 ();.....equal_ex
017F30: 70 28 6C 76 61 6C 2C 6B 29 3B 0D 0A 09 09 09 64 p(lval,k);.....d
017F40: 69 76 28 29 3B 0D 0A 09 09 09 6B 3D 31 3B 0D 0A iv();.....k=1;..
017F50: 09 09 09 62 72 65 61 6B 3B 0D 0A 0D 0A 0D 0A 09 ...break;.......
017F60: 09 63 61 73 65 20 27 25 27 20 3A 0D 0A 09 09 09 .case '%' :.....
017F70: 67 63 68 28 29 3B 67 63 68 28 29 3B 0D 0A 09 09 gch();gch();....
017F80: 09 65 71 75 61 6C 5F 65 78 70 28 6C 76 61 6C 2C .equal_exp(lval,
017F90: 6B 29 3B 0D 0A 09 09 09 6D 6F 64 28 29 3B 0D 0A k);.....mod();..
017FA0: 09 09 09 6B 3D 31 3B 0D 0A 09 09 09 62 72 65 61 ...k=1;.....brea
017FB0: 6B 3B 0D 0A 0D 0A 0D 0A 09 09 63 61 73 65 20 27 k;........case '
017FC0: 26 27 20 3A 0D 0A 09 09 09 67 63 68 28 29 3B 67 &' :.....gch();g
017FD0: 63 68 28 29 3B 0D 0A 09 09 09 65 71 75 61 6C 5F ch();.....equal_
017FE0: 65 78 70 28 6C 76 61 6C 2C 6B 29 3B 0D 0A 09 09 exp(lval,k);....
017FF0: 09 61 6E 64 28 29 3B 0D 0A 09 09 09 6B 3D 31 3B .and();.....k=1;
018000: 26 22 29 29 20 7B 0D 0A 09 09 09 70 75 73 68 28 &")) {.....push(
018010: 29 3B 0D 0A 09 09 09 72 76 61 6C 75 65 28 6C 76 );.....rvalue(lv
018020: 61 6C 32 2C 68 65 69 72 35 28 6C 76 61 6C 32 2C al2,heir5(lval2,
018030: 73 74 61 74 75 73 29 29 3B 0D 0A 09 09 09 61 6E status));.....an
018040: 64 28 29 3B 0D 0A 09 09 09 2A 73 74 61 74 75 73 d();.....*status
018050: 3D 54 52 55 45 3B 0D 0A 09 09 09 7D 0D 0A 09 09 =TRUE;.....}....
018060: 65 6C 73 65 20 72 65 74 75 72 6E 20 30 3B 0D 0A else return 0;..
018070: 09 09 7D 0D 0A 09 7D 0D 0A 68 65 69 72 35 28 6C ..}...}..heir5(l
018080: 76 61 6C 2C 73 74 61 74 75 73 29 0D 0A 69 6E 74 val,status)..int
018090: 20 6C 76 61 6C 5B 5D 3B 0D 0A 69 6E 74 20 2A 73 lval[];..int *s
0180A0: 74 61 74 75 73 3B 0D 0A 7B 0D 0A 09 69 6E 74 20 tatus;..{...int
0180B0: 6B 2C 6C 76 61 6C 32 5B 6C 76 61 6C 73 69 7A 65 k,lval2[lvalsize
0180C0: 5D 3B 0D 0A 09 6B 3D 68 65 69 72 36 28 6C 76 61 ];...k=heir6(lva
0180D0: 6C 2C 73 74 61 74 75 73 29 3B 0D 0A 09 62 6C 61 l,status);...bla
0180E0: 6E 6B 73 28 29 3B 0D 0A 09 69 66 20 28 28 73 74 nks();...if ((st
0180F0: 72 65 71 28 6C 69 6E 65 2B 6C 70 74 72 2C 22 3D req(line+lptr,"=
018100: 3D 22 29 20 3D 3D 30 29 20 26 26 0D 0A 20 20 20 =") ==0) &&..
018110: 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 74 (st
018120: 72 65 71 28 6C 69 6E 65 2B 6C 70 74 72 2C 22 21 req(line+lptr,"!
018130: 3D 22 29 20 3D 3D 20 30 29 29 20 72 65 74 75 72 =") == 0)) retur
018140: 6E 20 6B 3B 0D 0A 20 20 20 20 20 20 20 20 72 76 n k;.. rv
018150: 61 6C 75 65 28 6C 76 61 6C 2C 6B 29 3B 0D 0A 20 alue(lval,k);..
018160: 20 20 20 20 20 20 20 77 68 69 6C 65 28 31 29 20 while(1)
018170: 7B 0D 0A 09 09 69 66 20 28 6D 61 74 63 68 28 22 {....if (match("
018180: 3D 3D 22 29 29 20 7B 0D 0A 09 09 09 70 75 73 68 ==")) {.....push
018190: 28 29 3B 0D 0A 09 09 09 72 76 61 6C 75 65 28 6C ();.....rvalue(l
0181A0: 76 61 6C 32 2C 68 65 69 72 36 28 6C 76 61 6C 32 val2,heir6(lval2
0181B0: 2C 73 74 61 74 75 73 29 29 3B 0D 0A 09 09 09 65 ,status));.....e
0181C0: 71 28 29 3B 0D 0A 09 09 09 2A 73 74 61 74 75 73 q();.....*status
0181D0: 3D 54 52 55 45 3B 0D 0A 09 09 09 7D 0D 0A 09 09 =TRUE;.....}....
0181E0: 65 6C 73 65 20 69 66 20 28 6D 61 74 63 68 28 22 else if (match("
0181F0: 21 3D 22 29 29 20 7B 0D 0A 09 09 09 70 75 73 68 !=")) {.....push
018200: 0D 0A 09 09 09 62 72 65 61 6B 3B 0D 0A 0D 0A 09 .....break;.....
018210: 0D 0A 09 09 63 61 73 65 20 27 5E 27 20 3A 0D 0A ....case '^' :..
018220: 09 09 09 67 63 68 28 29 3B 67 63 68 28 29 3B 09 ...gch();gch();.
018230: 0D 0A 09 09 09 65 71 75 61 6C 5F 65 78 70 28 6C .....equal_exp(l
018240: 76 61 6C 2C 6B 29 3B 0D 0A 09 09 09 78 6F 72 28 val,k);.....xor(
018250: 29 3B 0D 0A 09 09 09 6B 3D 31 3B 0D 0A 09 09 09 );.....k=1;.....
018260: 62 72 65 61 6B 3B 0D 0A 09 09 0D 0A 09 09 63 61 break;........ca
018270: 73 65 20 27 7C 27 20 3A 0D 0A 09 09 09 67 63 68 se '|' :.....gch
018280: 28 29 3B 67 63 68 28 29 3B 0D 0A 09 09 09 65 71 ();gch();.....eq
018290: 75 61 6C 5F 65 78 70 28 6C 76 61 6C 2C 6B 29 3B ual_exp(lval,k);
0182A0: 0D 0A 09 09 09 6F 72 28 29 3B 0D 0A 09 09 09 6B .....or();.....k
0182B0: 3D 31 3B 0D 0A 09 09 09 62 72 65 61 6B 3B 0D 0A =1;.....break;..
0182C0: 0D 0A 09 09 64 65 66 61 75 6C 74 3A 0D 0A 09 09 ....default:....
0182D0: 09 72 65 74 75 72 6E 20 6B 3B 0D 0A 09 09 7D 0D .return k;....}.
0182E0: 0A 09 73 74 6F 72 65 28 6C 76 61 6C 2C 6B 29 3B ..store(lval,k);
0182F0: 0D 0A 09 72 65 74 75 72 6E 20 30 3B 0D 0A 09 7D ...return 0;...}
018300: 0D 0A 2F 2A 09 09 09 09 09 09 09 2A 2F 0D 0A 2F ../*.......*/../
018310: 2A 09 77 72 69 74 74 65 6E 20 62 79 20 4D 69 6B *.written by Mik
018320: 65 20 42 65 72 6E 73 6F 6E 20 31 2F 38 31 09 09 e Bernson 1/81..
018330: 09 2A 2F 0D 0A 2F 2A 09 09 09 09 09 09 09 2A 2F .*/../*.......*/
018340: 0D 0A 68 65 69 72 31 64 28 6C 76 61 6C 2C 73 74 ..heir1d(lval,st
018350: 61 74 75 73 29 0D 0A 69 6E 74 20 6C 76 61 6C 5B atus)..int lval[
018360: 5D 3B 0D 0A 69 6E 74 20 2A 73 74 61 74 75 73 3B ];..int *status;
018370: 0D 0A 7B 0D 0A 09 69 6E 74 20 6B 2C 6C 76 61 6C ..{...int k,lval
018380: 32 5B 6C 76 61 6C 73 69 7A 65 5D 3B 0D 0A 09 69 2[lvalsize];...i
018390: 6E 74 20 6C 61 62 65 6C 3B 0D 0A 09 6B 3D 68 65 nt label;...k=he
0183A0: 69 72 31 65 28 6C 76 61 6C 2C 73 74 61 74 75 73 ir1e(lval,status
0183B0: 29 3B 0D 0A 09 62 6C 61 6E 6B 73 28 29 3B 0D 0A );...blanks();..
0183C0: 09 69 66 20 28 63 68 28 29 20 21 3D 20 27 7C 27 .if (ch() != '|'
0183D0: 20 7C 7C 20 6E 63 68 28 29 20 21 3D 20 27 7C 27 || nch() != '|'
0183E0: 29 20 72 65 74 75 72 6E 20 6B 3B 0D 0A 09 72 76 ) return k;...rv
0183F0: 61 6C 75 65 28 6C 76 61 6C 2C 6B 29 3B 0D 0A 09 alue(lval,k);...
018400: 28 29 3B 0D 0A 09 09 09 72 76 61 6C 75 65 28 6C ();.....rvalue(l
018410: 76 61 6C 32 2C 68 65 69 72 36 28 6C 76 61 6C 32 val2,heir6(lval2
018420: 2C 73 74 61 74 75 73 29 29 3B 0D 0A 09 09 09 6E ,status));.....n
018430: 65 28 29 3B 0D 0A 09 09 09 2A 73 74 61 74 75 73 e();.....*status
018440: 3D 54 52 55 45 3B 0D 0A 09 09 09 7D 0D 0A 09 09 =TRUE;.....}....
018450: 65 6C 73 65 20 72 65 74 75 72 6E 20 30 3B 0D 0A else return 0;..
018460: 09 09 7D 0D 0A 09 7D 0D 0A 68 65 69 72 36 28 6C ..}...}..heir6(l
018470: 76 61 6C 2C 73 74 61 74 75 73 29 0D 0A 69 6E 74 val,status)..int
018480: 20 6C 76 61 6C 5B 5D 3B 0D 0A 69 6E 74 20 2A 73 lval[];..int *s
018490: 74 61 74 75 73 3B 0D 0A 7B 0D 0A 09 69 6E 74 20 tatus;..{...int
0184A0: 6B 2C 6C 76 61 6C 32 5B 6C 76 61 6C 73 69 7A 65 k,lval2[lvalsize
0184B0: 5D 3B 0D 0A 09 6B 3D 68 65 69 72 37 28 6C 76 61 ];...k=heir7(lva
0184C0: 6C 2C 73 74 61 74 75 73 29 3B 0D 0A 09 62 6C 61 l,status);...bla
0184D0: 6E 6B 73 28 29 3B 0D 0A 09 69 66 20 28 28 73 74 nks();...if ((st
0184E0: 72 65 71 28 6C 69 6E 65 2B 6C 70 74 72 2C 22 3C req(line+lptr,"<
0184F0: 22 29 20 3D 3D 20 30 29 20 26 26 0D 0A 09 09 28 ") == 0) &&....(
018500: 73 74 72 65 71 28 6C 69 6E 65 2B 6C 70 74 72 2C streq(line+lptr,
018510: 22 3E 22 29 20 3D 3D 20 30 29 20 26 26 0D 0A 09 ">") == 0) &&...
018520: 09 28 73 74 72 65 71 28 6C 69 6E 65 2B 6C 70 74 .(streq(line+lpt
018530: 72 2C 22 3C 3D 22 29 20 3D 3D 20 30 29 20 26 26 r,"<=") == 0) &&
018540: 0D 0A 09 09 28 73 74 72 65 71 28 6C 69 6E 65 2B ....(streq(line+
018550: 6C 70 74 72 2C 22 3E 3D 22 29 20 3D 3D 20 30 29 lptr,">=") == 0)
018560: 29 20 72 65 74 75 72 6E 20 6B 3B 0D 0A 09 69 66 ) return k;...if
018570: 20 28 73 74 72 65 71 28 6C 69 6E 65 2B 6C 70 74 (streq(line+lpt
018580: 72 2C 22 3E 3E 22 29 29 20 72 65 74 75 72 6E 20 r,">>")) return
018590: 6B 3B 0D 0A 09 69 66 20 28 73 74 72 65 71 28 6C k;...if (streq(l
0185A0: 69 6E 65 2B 6C 70 74 72 2C 22 3C 3C 22 29 29 20 ine+lptr,"<<"))
0185B0: 72 65 74 75 72 6E 20 6B 3B 0D 0A 09 72 76 61 6C return k;...rval
0185C0: 75 65 28 6C 76 61 6C 2C 6B 29 3B 0D 0A 09 77 68 ue(lval,k);...wh
0185D0: 69 6C 65 28 31 29 20 7B 0D 0A 09 09 69 66 20 28 ile(1) {....if (
0185E0: 6D 61 74 63 68 28 22 3C 3D 22 29 29 20 7B 0D 0A match("<=")) {..
0185F0: 09 09 09 70 75 73 68 28 29 3B 0D 0A 09 09 09 72 ...push();.....r
018600: 6C 61 62 65 6C 3D 67 65 74 6C 61 62 65 6C 28 29 label=getlabel()
018610: 3B 0D 0A 09 77 68 69 6C 65 28 31 29 20 7B 0D 0A ;...while(1) {..
018620: 09 09 69 66 20 28 6D 61 74 63 68 28 22 7C 7C 22 ..if (match("||"
018630: 29 29 20 7B 0D 0A 09 09 09 74 72 75 65 6A 75 6D )) {.....truejum
018640: 70 28 6C 61 62 65 6C 2C 2A 73 74 61 74 75 73 29 p(label,*status)
018650: 3B 0D 0A 09 09 09 2A 73 74 61 74 75 73 3D 54 52 ;.....*status=TR
018660: 55 45 3B 0D 0A 09 09 09 72 76 61 6C 75 65 28 6C UE;.....rvalue(l
018670: 76 61 6C 32 2C 68 65 69 72 31 65 28 6C 76 61 6C val2,heir1e(lval
018680: 32 2C 73 74 61 74 75 73 29 29 3B 0D 0A 09 09 09 2,status));.....
018690: 7D 0D 0A 09 09 65 6C 73 65 20 7B 0D 0A 09 09 09 }....else {.....
0186A0: 73 70 72 69 6E 74 6C 61 62 65 6C 28 6C 61 62 65 sprintlabel(labe
0186B0: 6C 29 3B 0D 0A 09 09 09 72 65 74 75 72 6E 20 30 l);.....return 0
0186C0: 3B 0D 0A 09 09 09 7D 0D 0A 09 09 7D 0D 0A 09 7D ;.....}....}...}
0186D0: 0D 0A 2F 2A 09 09 09 09 09 2A 2F 0D 0A 2F 2A 09 ../*.....*/../*.
0186E0: 77 72 69 74 74 65 6E 20 62 79 20 4D 69 6B 65 20 written by Mike
0186F0: 42 65 72 6E 73 6F 6E 20 31 2F 38 31 09 2A 2F 0D Bernson 1/81.*/.
018700: 0A 2F 2A 09 09 09 09 09 2A 2F 0D 0A 68 65 69 72 ./*.....*/..heir
018710: 31 65 28 6C 76 61 6C 2C 73 74 61 74 75 73 29 0D 1e(lval,status).
018720: 0A 69 6E 74 20 6C 76 61 6C 5B 5D 3B 0D 0A 69 6E .int lval[];..in
018730: 74 20 2A 73 74 61 74 75 73 3B 0D 0A 7B 0D 0A 09 t *status;..{...
018740: 69 6E 74 20 6C 61 62 65 6C 3B 0D 0A 09 69 6E 74 int label;...int
018750: 20 6B 2C 6C 76 61 6C 32 5B 6C 76 61 6C 73 69 7A k,lval2[lvalsiz
018760: 65 5D 3B 0D 0A 09 6B 3D 68 65 69 72 32 28 6C 76 e];...k=heir2(lv
018770: 61 6C 2C 73 74 61 74 75 73 29 3B 0D 0A 09 62 6C al,status);...bl
018780: 61 6E 6B 73 28 29 3B 0D 0A 09 69 66 20 28 63 68 anks();...if (ch
018790: 28 29 20 21 3D 20 27 26 27 20 7C 7C 20 6E 63 68 () != '&' || nch
0187A0: 28 29 20 21 3D 20 27 26 27 29 20 72 65 74 75 72 () != '&') retur
0187B0: 6E 20 6B 3B 0D 0A 09 72 76 61 6C 75 65 28 6C 76 n k;...rvalue(lv
0187C0: 61 6C 2C 6B 29 3B 0D 0A 09 6C 61 62 65 6C 3D 67 al,k);...label=g
0187D0: 65 74 6C 61 62 65 6C 28 29 3B 0D 0A 09 77 68 69 etlabel();...whi
0187E0: 6C 65 28 31 29 20 7B 0D 0A 09 09 69 66 20 28 6D le(1) {....if (m
0187F0: 61 74 63 68 28 22 26 26 22 29 29 20 7B 0D 0A 09 atch("&&")) {...
018800: 76 61 6C 75 65 28 6C 76 61 6C 32 2C 68 65 69 72 value(lval2,heir
018810: 37 28 6C 76 61 6C 32 2C 73 74 61 74 75 73 29 29 7(lval2,status))
018820: 3B 0D 0A 09 09 09 2A 73 74 61 74 75 73 3D 54 52 ;.....*status=TR
018830: 55 45 3B 0D 0A 09 09 09 69 66 20 28 63 70 74 72 UE;.....if (cptr
018840: 3D 6C 76 61 6C 5B 30 5D 29 0D 0A 09 09 09 09 69 =lval[0])......i
018850: 66 28 63 70 74 72 5B 69 64 65 6E 74 5D 3D 3D 70 f(cptr[ident]==p
018860: 6F 69 6E 74 65 72 29 20 7B 0D 0A 09 09 09 09 09 ointer) {.......
018870: 75 6C 65 28 29 3B 0D 0A 09 09 09 09 09 63 6F 6E ule();.......con
018880: 74 69 6E 75 65 3B 0D 0A 09 09 09 09 09 7D 0D 0A tinue;.......}..
018890: 09 09 09 69 66 20 28 63 70 74 72 3D 6C 76 61 6C ...if (cptr=lval
0188A0: 32 5B 30 5D 29 0D 0A 09 09 09 09 69 66 28 63 70 2[0])......if(cp
0188B0: 74 72 5B 69 64 65 6E 74 5D 3D 3D 70 6F 69 6E 74 tr[ident]==point
0188C0: 65 72 29 20 7B 0D 0A 09 09 09 09 09 6C 65 28 29 er) {.......le()
0188D0: 3B 0D 0A 09 09 09 09 09 63 6F 6E 74 69 6E 75 65 ;.......continue
0188E0: 3B 0D 0A 09 09 09 09 09 7D 0D 0A 09 09 09 6C 65 ;.......}.....le
0188F0: 28 29 3B 0D 0A 09 09 09 7D 0D 0A 09 09 65 6C 73 ();.....}....els
018900: 65 20 69 66 20 28 6D 61 74 63 68 28 22 3E 3D 22 e if (match(">="
018910: 29 29 20 7B 0D 0A 09 09 09 70 75 73 68 28 29 3B )) {.....push();
018920: 0D 0A 09 09 09 72 76 61 6C 75 65 28 6C 76 61 6C .....rvalue(lval
018930: 32 2C 68 65 69 72 37 28 6C 76 61 6C 32 2C 73 74 2,heir7(lval2,st
018940: 61 74 75 73 29 29 3B 0D 0A 09 09 09 2A 73 74 61 atus));.....*sta
018950: 74 75 73 3D 54 52 55 45 3B 0D 0A 09 09 09 69 66 tus=TRUE;.....if
018960: 20 28 63 70 74 72 3D 6C 76 61 6C 5B 30 5D 29 0D (cptr=lval[0]).
018970: 0A 09 09 09 09 69 66 20 28 63 70 74 72 5B 69 64 .....if (cptr[id
018980: 65 6E 74 5D 3D 3D 70 6F 69 6E 74 65 72 29 20 7B ent]==pointer) {
018990: 0D 0A 09 09 09 09 09 75 67 65 28 29 3B 0D 0A 09 .......uge();...
0189A0: 09 09 09 09 63 6F 6E 74 69 6E 75 65 3B 0D 0A 09 ....continue;...
0189B0: 09 09 09 09 7D 0D 0A 09 09 09 69 66 20 28 63 70 ....}.....if (cp
0189C0: 74 72 3D 6C 76 61 6C 32 5B 30 5D 29 0D 0A 09 09 tr=lval2[0])....
0189D0: 09 09 69 66 20 28 63 70 74 72 5B 69 64 65 6E 74 ..if (cptr[ident
0189E0: 5D 3D 3D 70 6F 69 6E 74 65 72 29 20 7B 0D 0A 09 ]==pointer) {...
0189F0: 09 09 09 09 75 67 65 28 29 3B 0D 0A 09 09 09 09 ....uge();......
018A00: 09 09 74 65 73 74 6A 75 6D 70 28 6C 61 62 65 6C ..testjump(label
018A10: 2C 2A 73 74 61 74 75 73 29 3B 0D 0A 09 09 09 2A ,*status);.....*
018A20: 73 74 61 74 75 73 3D 54 52 55 45 3B 0D 0A 09 09 status=TRUE;....
018A30: 09 72 76 61 6C 75 65 28 6C 76 61 6C 32 2C 68 65 .rvalue(lval2,he
018A40: 69 72 32 28 6C 76 61 6C 32 2C 73 74 61 74 75 73 ir2(lval2,status
018A50: 29 29 3B 0D 0A 09 09 09 7D 0D 0A 09 09 65 6C 73 ));.....}....els
018A60: 65 20 7B 0D 0A 09 09 09 73 70 72 69 6E 74 6C 61 e {.....sprintla
018A70: 62 65 6C 28 6C 61 62 65 6C 29 3B 0D 0A 09 09 09 bel(label);.....
018A80: 72 65 74 75 72 6E 20 30 3B 0D 0A 09 09 09 7D 0D return 0;.....}.
018A90: 0A 09 09 7D 0D 0A 09 7D 0D 0A 68 65 69 72 32 28 ...}...}..heir2(
018AA0: 6C 76 61 6C 2C 73 74 61 74 75 73 29 0D 0A 69 6E lval,status)..in
018AB0: 74 20 6C 76 61 6C 5B 5D 3B 0D 0A 69 6E 74 20 2A t lval[];..int *
018AC0: 73 74 61 74 75 73 3B 0D 0A 7B 0D 0A 09 69 6E 74 status;..{...int
018AD0: 20 6B 2C 6C 76 61 6C 32 5B 6C 76 61 6C 73 69 7A k,lval2[lvalsiz
018AE0: 65 5D 3B 0D 0A 09 6B 3D 68 65 69 72 33 28 6C 76 e];...k=heir3(lv
018AF0: 61 6C 2C 73 74 61 74 75 73 29 3B 0D 0A 09 62 6C al,status);...bl
018B00: 61 6E 6B 73 28 29 3B 0D 0A 09 69 66 20 28 63 68 anks();...if (ch
018B10: 28 29 20 21 3D 20 27 7C 27 20 7C 7C 20 6E 63 68 () != '|' || nch
018B20: 28 29 20 3D 3D 27 7C 27 20 7C 7C 20 6E 63 68 28 () =='|' || nch(
018B30: 29 3D 3D 20 27 3D 27 29 20 72 65 74 75 72 6E 20 )== '=') return
018B40: 6B 3B 0D 0A 09 72 76 61 6C 75 65 28 6C 76 61 6C k;...rvalue(lval
018B50: 2C 6B 29 3B 0D 0A 09 77 68 69 6C 65 28 31 29 20 ,k);...while(1)
018B60: 7B 0D 0A 09 09 69 66 20 28 6D 61 74 63 68 28 22 {....if (match("
018B70: 7C 22 29 29 20 7B 0D 0A 09 09 09 70 75 73 68 28 |")) {.....push(
018B80: 29 3B 0D 0A 09 09 09 72 76 61 6C 75 65 28 6C 76 );.....rvalue(lv
018B90: 61 6C 32 2C 68 65 69 72 33 28 6C 76 61 6C 32 2C al2,heir3(lval2,
018BA0: 73 74 61 74 75 73 29 29 3B 0D 0A 09 09 09 6F 72 status));.....or
018BB0: 28 29 3B 0D 0A 09 09 09 2A 73 74 61 74 75 73 3D ();.....*status=
018BC0: 54 52 55 45 3B 0D 0A 09 09 09 7D 0D 0A 09 09 65 TRUE;.....}....e
018BD0: 6C 73 65 20 72 65 74 75 72 6E 20 30 3B 0D 0A 09 lse return 0;...
018BE0: 09 7D 0D 0A 09 7D 0D 0A 68 65 69 72 33 28 6C 76 .}...}..heir3(lv
018BF0: 61 6C 2C 73 74 61 74 75 73 29 0D 0A 69 6E 74 20 al,status)..int
018C00: 09 63 6F 6E 74 69 6E 75 65 3B 0D 0A 09 09 09 09 .continue;......
018C10: 09 7D 0D 0A 09 09 09 67 65 28 29 3B 0D 0A 09 09 .}.....ge();....
018C20: 09 7D 0D 0A 09 09 65 6C 73 65 20 69 66 20 28 28 .}....else if ((
018C30: 73 74 72 65 71 28 6C 69 6E 65 2B 6C 70 74 72 2C streq(line+lptr,
018C40: 22 3C 22 29 29 20 26 26 0D 0A 09 09 09 28 73 74 "<")) &&.....(st
018C50: 72 65 71 28 6C 69 6E 65 2B 6C 70 74 72 2C 22 3C req(line+lptr,"<
018C60: 3C 22 29 3D 3D 30 29 29 20 7B 0D 0A 09 09 09 09 <")==0)) {......
018C70: 69 6E 62 79 74 65 28 29 3B 0D 0A 09 09 09 09 70 inbyte();......p
018C80: 75 73 68 28 29 3B 0D 0A 09 09 09 09 72 76 61 6C ush();......rval
018C90: 75 65 28 6C 76 61 6C 32 2C 68 65 69 72 37 28 6C ue(lval2,heir7(l
018CA0: 76 61 6C 32 2C 73 74 61 74 75 73 29 29 3B 0D 0A val2,status));..
018CB0: 09 09 09 09 2A 73 74 61 74 75 73 3D 54 52 55 45 ....*status=TRUE
018CC0: 3B 0D 0A 09 09 09 09 69 66 20 28 63 70 74 72 3D ;......if (cptr=
018CD0: 6C 76 61 6C 5B 30 5D 29 0D 0A 09 09 09 09 09 69 lval[0]).......i
018CE0: 66 20 28 63 70 74 72 5B 69 64 65 6E 74 5D 3D 3D f (cptr[ident]==
018CF0: 70 6F 69 6E 74 65 72 29 20 7B 0D 0A 09 09 09 09 pointer) {......
018D00: 09 75 6C 74 28 29 3B 0D 0A 09 09 09 09 09 63 6F .ult();.......co
018D10: 6E 74 69 6E 75 65 3B 0D 0A 09 09 09 09 09 7D 0D ntinue;.......}.
018D20: 0A 09 09 09 09 69 66 28 63 70 74 72 3D 6C 76 61 .....if(cptr=lva
018D30: 6C 32 5B 30 5D 29 0D 0A 09 09 09 09 09 69 66 20 l2[0]).......if
018D40: 28 63 70 74 72 5B 69 64 65 6E 74 5D 3D 3D 70 6F (cptr[ident]==po
018D50: 69 6E 74 65 72 29 20 7B 0D 0A 09 09 09 09 09 09 inter) {........
018D60: 75 6C 74 28 29 3B 0D 0A 09 09 09 09 09 09 63 6F ult();........co
018D70: 6E 74 69 6E 75 65 3B 0D 0A 09 09 09 09 09 09 7D ntinue;........}
018D80: 0D 0A 09 09 09 6C 74 28 29 3B 0D 0A 09 09 09 7D .....lt();.....}
018D90: 0D 0A 09 09 65 6C 73 65 20 69 66 20 28 28 73 74 ....else if ((st
018DA0: 72 65 71 28 6C 69 6E 65 2B 6C 70 74 72 2C 22 3E req(line+lptr,">
018DB0: 22 29 29 20 26 26 0D 0A 09 09 09 28 73 74 72 65 ")) &&.....(stre
018DC0: 71 28 6C 69 6E 65 2B 6C 70 74 72 2C 22 3E 3E 22 q(line+lptr,">>"
018DD0: 29 20 3D 3D 20 30 29 29 20 7B 0D 0A 09 09 09 09 ) == 0)) {......
018DE0: 69 6E 62 79 74 65 28 29 3B 0D 0A 09 09 09 09 70 inbyte();......p
018DF0: 75 73 68 28 29 3B 0D 0A 09 09 09 09 72 76 61 6C ush();......rval
018E00: 6C 76 61 6C 5B 5D 3B 0D 0A 69 6E 74 20 2A 73 74 lval[];..int *st
018E10: 61 74 75 73 3B 0D 0A 7B 0D 0A 09 69 6E 74 20 6B atus;..{...int k
018E20: 2C 6C 76 61 6C 32 5B 6C 76 61 6C 73 69 7A 65 5D ,lval2[lvalsize]
018E30: 3B 0D 0A 20 09 6B 3D 68 65 69 72 34 28 6C 76 61 ;.. .k=heir4(lva
018E40: 6C 2C 73 74 61 74 75 73 29 3B 0D 0A 09 62 6C 61 l,status);...bla
018E50: 6E 6B 73 28 29 3B 0D 0A 09 69 66 20 28 63 68 28 nks();...if (ch(
018E60: 29 20 21 3D 20 27 5E 27 20 7C 7C 20 6E 63 68 28 ) != '^' || nch(
018E70: 29 20 3D 3D 20 27 3D 27 29 20 72 65 74 75 72 6E ) == '=') return
018E80: 20 6B 3B 0D 0A 09 72 76 61 6C 75 65 28 6C 76 61 k;...rvalue(lva
018E90: 6C 2C 6B 29 3B 0D 0A 09 77 68 69 6C 65 28 31 29 l,k);...while(1)
018EA0: 20 7B 0D 0A 09 09 69 66 20 28 6D 61 74 63 68 28 {....if (match(
018EB0: 22 5E 22 29 29 20 7B 0D 0A 09 09 09 70 75 73 68 "^")) {.....push
018EC0: 28 29 3B 0D 0A 09 09 09 72 76 61 6C 75 65 28 6C ();.....rvalue(l
018ED0: 76 61 6C 32 2C 68 65 69 72 34 28 6C 76 61 6C 32 val2,heir4(lval2
018EE0: 2C 73 74 61 74 75 73 29 29 3B 0D 0A 09 09 09 78 ,status));.....x
018EF0: 6F 72 28 29 3B 0D 0A 09 09 09 2A 73 74 61 74 75 or();.....*statu
018F00: 73 3D 54 52 55 45 3B 0D 0A 09 09 09 7D 0D 0A 09 s=TRUE;.....}...
018F10: 09 65 6C 73 65 20 72 65 74 75 72 6E 20 30 3B 0D .else return 0;.
018F20: 0A 09 09 7D 0D 0A 09 7D 0D 0A 68 65 69 72 34 28 ...}...}..heir4(
018F30: 6C 76 61 6C 2C 73 74 61 74 75 73 29 0D 0A 69 6E lval,status)..in
018F40: 74 20 6C 76 61 6C 5B 5D 3B 0D 0A 69 6E 74 20 2A t lval[];..int *
018F50: 73 74 61 74 75 73 3B 0D 0A 7B 0D 0A 09 69 6E 74 status;..{...int
018F60: 20 6B 2C 6C 76 61 6C 32 5B 6C 76 61 6C 73 69 7A k,lval2[lvalsiz
018F70: 65 5D 3B 0D 0A 09 6B 3D 68 65 69 72 35 28 6C 76 e];...k=heir5(lv
018F80: 61 6C 2C 73 74 61 74 75 73 29 3B 0D 0A 09 62 6C al,status);...bl
018F90: 61 6E 6B 73 28 29 3B 0D 0A 09 69 66 20 28 63 68 anks();...if (ch
018FA0: 28 29 20 21 3D 20 27 26 27 20 7C 7C 20 6E 63 68 () != '&' || nch
018FB0: 28 29 3D 3D 27 26 27 20 7C 7C 20 6E 63 68 28 29 ()=='&' || nch()
018FC0: 20 3D 3D 20 27 3D 27 29 20 72 65 74 75 72 6E 20 == '=') return
018FD0: 6B 3B 0D 0A 09 72 76 61 6C 75 65 28 6C 76 61 6C k;...rvalue(lval
018FE0: 2C 6B 29 3B 0D 0A 09 77 68 69 6C 65 28 31 29 20 ,k);...while(1)
018FF0: 7B 0D 0A 09 09 69 66 20 28 6D 61 74 63 68 28 22 {....if (match("
019000: 54 72 61 63 6B 2D 49 6E 66 6F 0D 0A 00 00 00 00 Track-Info......
019010: 15 00 01 00 02 09 52 E5 15 00 C1 02 00 00 00 02 ......R.........
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: 75 65 28 6C 76 61 6C 32 2C 68 65 69 72 37 28 6C ue(lval2,heir7(l
019110: 76 61 6C 32 2C 73 74 61 74 75 73 29 29 3B 0D 0A val2,status));..
019120: 09 09 09 09 2A 73 74 61 74 75 73 3D 54 52 55 45 ....*status=TRUE
019130: 3B 0D 0A 09 09 09 69 66 20 28 63 70 74 72 3D 6C ;.....if (cptr=l
019140: 76 61 6C 5B 30 5D 29 0D 0A 09 09 09 09 69 66 20 val[0])......if
019150: 28 63 70 74 72 5B 69 64 65 6E 74 5D 3D 3D 70 6F (cptr[ident]==po
019160: 69 6E 74 65 72 29 20 7B 0D 0A 09 09 09 09 09 75 inter) {.......u
019170: 67 74 28 29 3B 0D 0A 09 09 09 09 09 63 6F 6E 74 gt();.......cont
019180: 69 6E 75 65 3B 0D 0A 09 09 09 09 09 7D 0D 0A 09 inue;.......}...
019190: 09 09 69 66 20 28 63 70 74 72 3D 6C 76 61 6C 32 ..if (cptr=lval2
0191A0: 5B 30 5D 29 0D 0A 09 09 09 09 69 66 20 28 63 70 [0])......if (cp
0191B0: 74 72 5B 69 64 65 6E 74 5D 3D 3D 70 6F 69 6E 74 tr[ident]==point
0191C0: 65 72 29 20 7B 0D 0A 09 09 09 09 09 75 67 74 28 er) {.......ugt(
0191D0: 29 3B 0D 0A 09 09 09 09 09 63 6F 6E 74 69 6E 75 );.......continu
0191E0: 65 3B 0D 0A 09 09 09 09 09 7D 0D 0A 09 09 09 67 e;.......}.....g
0191F0: 74 28 29 3B 0D 0A 09 09 09 7D 0D 0A 09 09 65 6C t();.....}....el
019200: 73 65 20 72 65 74 75 72 6E 20 30 3B 0D 0A 09 09 se return 0;....
019210: 7D 0D 0A 09 7D 0D 0A 1A 1A 1A 1A 1A 1A 1A 1A 1A }...}...........
019220: 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A ................
019230: 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A ................
019240: 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A ................
019250: 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A ................
019260: 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A ................
019270: 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A ................
019280: BF 23 10 2C 22 47 72 61 62 61 6E 64 6F 20 70 69 .#.,"Grabando pi
019290: 73 74 61 73 2E 2E 2E 22 01 C9 00 93 00 88 13 8A stas..."........
0192A0: 23 10 01 BF 23 10 01 BF 23 10 2C FF 03 28 15 29 #...#...#.,..(.)
0192B0: 3B 22 45 52 52 4F 52 20 44 45 20 43 41 52 47 41 ;"ERROR DE CARGA
0192C0: 20 45 4E 20 4C 41 20 50 49 53 54 41 20 22 3B 0D EN LA PISTA ";.
0192D0: 00 00 D4 01 BF 23 10 2C 22 49 6E 74 65 6E 74 65 .....#.,"Intente
0192E0: 20 64 65 20 6E 75 65 76 6F 20 63 6F 6E 20 6F 74 de nuevo con ot
0192F0: 72 6F 20 76 6F 6C 75 6D 65 6E 2E 22 01 7C 00 53 ro volumen.".|.S
019300: 0A 09 69 66 28 6D 61 74 63 68 28 22 2B 2B 22 29 ..if(match("++")
019310: 29 20 7B 0D 0A 09 09 69 66 20 28 21 28 6B 3D 68 ) {....if (!(k=h
019320: 65 69 72 31 30 28 6C 76 61 6C 2C 63 6F 75 6E 74 eir10(lval,count
019330: 2C 73 74 61 74 75 73 29 29 29 20 7B 0D 0A 09 09 ,status))) {....
019340: 09 6E 65 65 64 6C 76 61 6C 28 29 3B 0D 0A 09 09 .needlval();....
019350: 09 72 65 74 75 72 6E 20 4C 4F 41 44 45 44 3B 0D .return LOADED;.
019360: 0A 09 09 09 7D 0D 0A 09 09 6C 76 61 6C 5B 31 5D ....}....lval[1]
019370: 20 2B 3D 20 2A 63 6F 75 6E 74 3B 0D 0A 09 09 61 += *count;....a
019380: 64 64 72 65 73 73 28 6C 76 61 6C 2C 6B 29 3B 0D ddress(lval,k);.
019390: 0A 09 09 70 72 65 5F 69 6E 63 28 6C 76 61 6C 29 ...pre_inc(lval)
0193A0: 3B 0D 0A 09 09 72 65 74 75 72 6E 20 4C 4F 41 44 ;....return LOAD
0193B0: 45 44 3B 0D 0A 09 09 7D 0D 0A 09 65 6C 73 65 20 ED;....}...else
0193C0: 69 66 20 28 6D 61 74 63 68 28 22 2D 2D 22 29 29 if (match("--"))
0193D0: 20 7B 0D 0A 09 09 69 66 20 28 21 28 6B 3D 68 65 {....if (!(k=he
0193E0: 69 72 31 30 28 6C 76 61 6C 2C 63 6F 75 6E 74 2C ir10(lval,count,
0193F0: 73 74 61 74 75 73 29 29 29 20 7B 0D 0A 09 09 09 status))) {.....
019400: 6E 65 65 64 6C 76 61 6C 28 29 3B 0D 0A 09 09 09 needlval();.....
019410: 72 65 74 75 72 6E 20 4C 4F 41 44 45 44 3B 0D 0A return LOADED;..
019420: 09 09 09 7D 0D 0A 09 09 6C 76 61 6C 5B 31 5D 20 ...}....lval[1]
019430: 2B 3D 20 2A 63 6F 75 6E 74 3B 0D 0A 09 09 61 64 += *count;....ad
019440: 64 72 65 73 73 28 6C 76 61 6C 2C 6B 29 3B 0D 0A dress(lval,k);..
019450: 09 09 70 72 65 5F 64 65 63 28 6C 76 61 6C 29 3B ..pre_dec(lval);
019460: 0D 0A 09 09 2A 73 74 61 74 75 73 3D 54 52 55 45 ....*status=TRUE
019470: 3B 0D 0A 09 09 72 65 74 75 72 6E 20 4C 4F 41 44 ;....return LOAD
019480: 45 44 3B 0D 0A 09 09 7D 0D 0A 09 65 6C 73 65 20 ED;....}...else
019490: 69 66 20 28 6D 61 74 63 68 28 22 2D 22 29 29 20 if (match("-"))
0194A0: 7B 0D 0A 09 09 69 66 20 28 69 73 64 69 67 69 74 {....if (isdigit
0194B0: 28 6E 63 68 28 29 29 29 20 63 6F 6E 73 74 61 6E (nch())) constan
0194C0: 74 28 29 3B 0D 0A 09 09 65 6C 73 65 20 7B 0D 0A t();....else {..
0194D0: 09 09 09 6B 3D 68 65 69 72 31 30 28 6C 76 61 6C ...k=heir10(lval
0194E0: 2C 63 6F 75 6E 74 2C 73 74 61 74 75 73 29 3B 0D ,count,status);.
0194F0: 0A 09 09 09 72 76 61 6C 75 65 28 6C 76 61 6C 2C ....rvalue(lval,
019500: 2F 2A 09 3E 3E 3E 3E 3E 3E 20 73 74 61 72 74 20 /*.>>>>>> start
019510: 6F 66 20 63 63 36 20 3C 3C 3C 3C 3C 3C 09 2A 2F of cc6 <<<<<<.*/
019520: 0D 0A 23 69 66 6E 64 65 66 09 54 52 55 45 09 2F ..#ifndef.TRUE./
019530: 2A 20 73 65 65 20 69 66 20 6E 65 65 64 20 69 6E * see if need in
019540: 63 6C 75 64 65 20 66 69 6C 65 20 2A 2F 0D 0A 23 clude file */..#
019550: 69 6E 63 6C 75 64 65 20 3C 43 2E 44 45 46 3E 0D include <C.DEF>.
019560: 0A 23 65 6E 64 69 66 0D 0A 0D 0A 68 65 69 72 37 .#endif....heir7
019570: 28 6C 76 61 6C 2C 73 74 61 74 75 73 29 0D 0A 69 (lval,status)..i
019580: 6E 74 20 6C 76 61 6C 5B 5D 3B 0D 0A 69 6E 74 20 nt lval[];..int
019590: 2A 73 74 61 74 75 73 3B 0D 0A 7B 0D 0A 09 69 6E *status;..{...in
0195A0: 74 20 6B 2C 6C 76 61 6C 32 5B 6C 76 61 6C 73 69 t k,lval2[lvalsi
0195B0: 7A 65 5D 3B 0D 0A 09 6B 3D 68 65 69 72 38 28 6C ze];...k=heir8(l
0195C0: 76 61 6C 2C 73 74 61 74 75 73 29 3B 0D 0A 09 62 val,status);...b
0195D0: 6C 61 6E 6B 73 28 29 3B 0D 0A 09 69 66 20 28 21 lanks();...if (!
0195E0: 73 74 72 65 71 28 6C 69 6E 65 2B 6C 70 74 72 2C streq(line+lptr,
0195F0: 22 3E 3E 22 29 20 26 26 0D 0A 09 09 21 73 74 72 ">>") &&....!str
019600: 65 71 28 6C 69 6E 65 2B 6C 70 74 72 2C 22 3C 3C eq(line+lptr,"<<
019610: 22 29 29 20 72 65 74 75 72 6E 20 6B 3B 0D 0A 09 ")) return k;...
019620: 72 76 61 6C 75 65 28 6C 76 61 6C 2C 6B 29 3B 0D rvalue(lval,k);.
019630: 0A 09 77 68 69 6C 65 28 31 29 20 7B 0D 0A 09 09 ..while(1) {....
019640: 69 66 20 28 6D 61 74 63 68 28 22 3E 3E 22 29 29 if (match(">>"))
019650: 20 7B 0D 0A 09 09 09 70 75 73 68 28 29 3B 0D 0A {.....push();..
019660: 09 09 09 6B 3D 68 65 69 72 38 28 6C 76 61 6C 32 ...k=heir8(lval2
019670: 29 3B 0D 0A 09 09 09 72 76 61 6C 75 65 28 6C 76 );.....rvalue(lv
019680: 61 6C 32 2C 6B 29 3B 0D 0A 09 09 09 61 73 72 28 al2,k);.....asr(
019690: 29 3B 0D 0A 09 09 09 2A 73 74 61 74 75 73 3D 46 );.....*status=F
0196A0: 41 4C 53 45 3B 0D 0A 09 09 09 7D 0D 0A 09 09 65 ALSE;.....}....e
0196B0: 6C 73 65 20 69 66 20 28 6D 61 74 63 68 28 22 3C lse if (match("<
0196C0: 3C 22 29 29 20 7B 0D 0A 09 09 09 70 75 73 68 28 <")) {.....push(
0196D0: 29 3B 0D 0A 09 09 09 6B 3D 68 65 69 72 38 28 6C );.....k=heir8(l
0196E0: 76 61 6C 32 29 3B 0D 0A 09 09 09 72 76 61 6C 75 val2);.....rvalu
0196F0: 65 28 6C 76 61 6C 32 2C 6B 29 3B 0D 0A 09 09 09 e(lval2,k);.....
019700: 6B 29 3B 0D 0A 09 09 09 6E 65 67 28 29 3B 0D 0A k);.....neg();..
019710: 09 09 09 2A 73 74 61 74 75 73 3D 54 52 55 45 3B ...*status=TRUE;
019720: 0D 0A 09 09 09 7D 0D 0A 09 09 72 65 74 75 72 6E .....}....return
019730: 20 4C 4F 41 44 45 44 3B 0D 0A 09 09 7D 09 0D 0A LOADED;....}...
019740: 09 65 6C 73 65 20 69 66 20 28 6D 61 74 63 68 28 .else if (match(
019750: 22 2A 22 29 29 20 7B 0D 0A 09 09 2B 2B 2A 63 6F "*")) {....++*co
019760: 75 6E 74 3B 0D 0A 09 09 6B 3D 68 65 69 72 31 30 unt;....k=heir10
019770: 28 6C 76 61 6C 2C 63 6F 75 6E 74 2C 73 74 61 74 (lval,count,stat
019780: 75 73 29 3B 0D 0A 09 09 72 76 61 6C 75 65 28 6C us);....rvalue(l
019790: 76 61 6C 2C 6B 29 3B 0D 0A 09 09 6C 76 61 6C 5B val,k);....lval[
0197A0: 31 5D 20 2B 3D 20 2A 63 6F 75 6E 74 3B 0D 0A 09 1] += *count;...
0197B0: 09 2A 63 6F 75 6E 74 3D 30 3B 0D 0A 09 09 2A 73 .*count=0;....*s
0197C0: 74 61 74 75 73 3D 46 41 4C 53 45 3B 0D 0A 09 09 tatus=FALSE;....
0197D0: 72 65 74 75 72 6E 20 41 44 44 52 45 53 53 3B 0D return ADDRESS;.
0197E0: 0A 09 09 7D 0D 0A 09 65 6C 73 65 20 69 66 20 28 ...}...else if (
0197F0: 6D 61 74 63 68 28 22 26 22 29 29 20 7B 0D 0A 09 match("&")) {...
019800: 09 6B 3D 68 65 69 72 31 30 28 6C 76 61 6C 2C 63 .k=heir10(lval,c
019810: 6F 75 6E 74 2C 73 74 61 74 75 73 29 3B 0D 0A 09 ount,status);...
019820: 09 2A 73 74 61 74 75 73 3D 46 41 4C 53 45 3B 0D .*status=FALSE;.
019830: 0A 09 09 69 66 20 28 6B 20 3D 3D 20 30 20 7C 7C ...if (k == 0 ||
019840: 20 6C 76 61 6C 5B 30 5D 29 20 7B 0D 0A 09 09 09 lval[0]) {.....
019850: 65 72 72 6F 72 28 22 69 6C 6C 65 67 61 6C 20 61 error("illegal a
019860: 64 64 72 65 73 73 22 29 3B 0D 0A 09 09 09 72 65 ddress");.....re
019870: 74 75 72 6E 20 4C 4F 41 44 45 44 3B 0D 0A 09 09 turn LOADED;....
019880: 09 7D 0D 0A 09 09 65 6C 73 65 20 69 66 20 28 6C .}....else if (l
019890: 76 61 6C 5B 31 5D 29 20 72 65 74 75 72 6E 20 4C val[1]) return L
0198A0: 4F 41 44 45 44 3B 0D 0A 09 09 09 65 6C 73 65 20 OADED;.....else
0198B0: 7B 0D 0A 09 09 09 09 69 6D 6D 65 64 28 29 3B 0D {......immed();.
0198C0: 0A 09 09 09 09 6F 75 74 73 74 72 28 70 74 72 3D .....outstr(ptr=
0198D0: 6C 76 61 6C 5B 30 5D 29 3B 0D 0A 09 09 09 09 6E lval[0]);......n
0198E0: 6C 28 29 3B 0D 0A 09 09 09 09 72 65 74 75 72 6E l();......return
0198F0: 20 4C 4F 41 44 45 44 3B 0D 0A 09 09 09 09 7D 0D LOADED;......}.
019900: 61 73 6C 28 29 3B 0D 0A 09 09 09 2A 73 74 61 74 asl();.....*stat
019910: 75 73 3D 46 41 4C 53 45 3B 0D 0A 09 09 09 7D 0D us=FALSE;.....}.
019920: 0A 09 09 65 6C 73 65 20 72 65 74 75 72 6E 20 30 ...else return 0
019930: 3B 0D 0A 09 09 7D 0D 0A 09 7D 0D 0A 68 65 69 72 ;....}...}..heir
019940: 38 28 6C 76 61 6C 2C 73 74 61 74 75 73 29 0D 0A 8(lval,status)..
019950: 69 6E 74 20 6C 76 61 6C 5B 5D 3B 0D 0A 69 6E 74 int lval[];..int
019960: 20 2A 73 74 61 74 75 73 3B 0D 0A 7B 0D 0A 09 69 *status;..{...i
019970: 6E 74 20 6B 2C 6C 76 61 6C 32 5B 6C 76 61 6C 73 nt k,lval2[lvals
019980: 69 7A 65 5D 3B 0D 0A 09 6B 3D 68 65 69 72 39 28 ize];...k=heir9(
019990: 6C 76 61 6C 2C 73 74 61 74 75 73 29 3B 0D 0A 09 lval,status);...
0199A0: 62 6C 61 6E 6B 73 28 29 3B 0D 0A 09 69 66 20 28 blanks();...if (
0199B0: 28 63 68 28 29 20 21 3D 20 27 2B 27 20 26 26 20 (ch() != '+' &&
0199C0: 63 68 28 29 20 21 3D 20 27 2D 27 29 20 7C 7C 20 ch() != '-') ||
0199D0: 6E 63 68 28 29 20 3D 3D 20 27 3D 27 29 20 72 65 nch() == '=') re
0199E0: 74 75 72 6E 20 6B 3B 0D 0A 09 72 76 61 6C 75 65 turn k;...rvalue
0199F0: 28 6C 76 61 6C 2C 6B 29 3B 0D 0A 09 77 68 69 6C (lval,k);...whil
019A00: 65 28 31 29 20 7B 20 0D 0A 09 09 73 77 69 74 63 e(1) { ....switc
019A10: 68 28 63 68 28 29 29 20 7B 0D 0A 0D 0A 09 09 09 h(ch()) {.......
019A20: 2F 2A 20 61 64 64 20 6C 61 73 74 20 69 74 65 6D /* add last item
019A30: 20 74 6F 20 6E 65 78 74 20 69 74 65 6D 20 2A 2F to next item */
019A40: 0D 0A 09 09 09 63 61 73 65 20 27 2B 27 20 3A 0D .....case '+' :.
019A50: 0A 09 09 09 09 70 75 73 68 28 29 3B 0D 0A 09 09 .....push();....
019A60: 09 09 67 63 68 28 29 3B 0D 0A 09 09 09 09 6B 3D ..gch();......k=
019A70: 68 65 69 72 39 28 6C 76 61 6C 32 2C 73 74 61 74 heir9(lval2,stat
019A80: 75 73 29 3B 0D 0A 09 09 09 09 72 76 61 6C 75 65 us);......rvalue
019A90: 28 6C 76 61 6C 32 2C 6B 29 3B 0D 0A 09 09 09 09 (lval2,k);......
019AA0: 73 69 7A 65 5F 61 64 6A 75 73 74 28 6C 76 61 6C size_adjust(lval
019AB0: 29 3B 0D 0A 09 09 09 09 61 64 64 28 29 3B 0D 0A );......add();..
019AC0: 09 09 09 09 2A 73 74 61 74 75 73 3D 46 41 4C 53 ....*status=FALS
019AD0: 45 3B 0D 0A 09 09 09 09 62 72 65 61 6B 3B 0D 0A E;......break;..
019AE0: 0D 0A 09 09 09 2F 2A 20 73 75 62 74 72 61 63 74 ...../* subtract
019AF0: 20 6E 65 78 74 20 69 74 65 6D 20 66 72 6F 6D 20 next item from
019B00: 0A 09 09 7D 0D 0A 09 65 6C 73 65 20 69 66 20 28 ...}...else if (
019B10: 6D 61 74 63 68 28 22 21 22 29 29 20 7B 0D 0A 09 match("!")) {...
019B20: 09 72 76 61 6C 75 65 28 6C 76 61 6C 2C 68 65 69 .rvalue(lval,hei
019B30: 72 31 30 28 6C 76 61 6C 2C 63 6F 75 6E 74 2C 73 r10(lval,count,s
019B40: 74 61 74 75 73 29 29 3B 0D 0A 09 09 6E 6C 6F 67 tatus));....nlog
019B50: 69 63 61 6C 28 29 3B 0D 0A 09 09 2A 73 74 61 74 ical();....*stat
019B60: 75 73 3D 54 52 55 45 3B 0D 0A 09 09 72 65 74 75 us=TRUE;....retu
019B70: 72 6E 20 4C 4F 41 44 45 44 3B 0D 0A 09 09 7D 0D rn LOADED;....}.
019B80: 0A 09 65 6C 73 65 20 7B 0D 0A 09 09 6B 3D 68 65 ..else {....k=he
019B90: 69 72 31 31 28 6C 76 61 6C 2C 73 74 61 74 75 73 ir11(lval,status
019BA0: 29 3B 0D 0A 09 09 6D 6F 76 6D 65 6D 28 6C 76 61 );....movmem(lva
019BB0: 6C 2C 6C 76 61 6C 32 2C 6C 76 61 6C 73 69 7A 65 l,lval2,lvalsize
019BC0: 2A 32 29 3B 0D 0A 09 09 6C 76 61 6C 32 5B 31 5D *2);....lval2[1]
019BD0: 20 2B 3D 20 2A 63 6F 75 6E 74 3B 0D 0A 09 09 69 += *count;....i
019BE0: 66 20 28 6D 61 74 63 68 28 22 2B 2B 22 29 29 20 f (match("++"))
019BF0: 7B 0D 0A 09 09 09 69 66 28 6B 20 3D 3D 20 4C 4F {.....if(k == LO
019C00: 41 44 45 44 29 20 7B 0D 0A 09 09 09 09 6E 65 65 ADED) {......nee
019C10: 64 6C 76 61 6C 28 29 3B 0D 0A 09 09 09 09 72 65 dlval();......re
019C20: 74 75 72 6E 20 4C 4F 41 44 45 44 3B 0D 0A 09 09 turn LOADED;....
019C30: 09 09 7D 0D 0A 09 09 09 61 64 64 72 65 73 73 28 ..}.....address(
019C40: 6C 76 61 6C 2C 6B 29 3B 0D 0A 09 09 09 70 6F 73 lval,k);.....pos
019C50: 74 5F 69 6E 63 28 6C 76 61 6C 29 3B 0D 0A 09 09 t_inc(lval);....
019C60: 09 2A 73 74 61 74 75 73 3D 54 52 55 45 3B 0D 0A .*status=TRUE;..
019C70: 09 09 09 72 65 74 75 72 6E 20 4C 4F 41 44 45 44 ...return LOADED
019C80: 3B 0D 0A 09 09 09 7D 0D 0A 09 09 65 6C 73 65 20 ;.....}....else
019C90: 69 66 20 28 6D 61 74 63 68 28 22 2D 2D 22 29 29 if (match("--"))
019CA0: 20 7B 0D 0A 09 09 09 69 66 20 28 6B 20 3D 3D 20 {.....if (k ==
019CB0: 4C 4F 41 44 45 44 29 20 7B 0D 0A 09 09 09 09 6E LOADED) {......n
019CC0: 65 65 64 6C 76 61 6C 28 29 3B 0D 0A 09 09 09 09 eedlval();......
019CD0: 72 65 74 75 72 6E 20 4C 4F 41 44 45 44 3B 0D 0A return LOADED;..
019CE0: 09 09 09 09 7D 0D 0A 09 09 09 61 64 64 72 65 73 ....}.....addres
019CF0: 73 28 6C 76 61 6C 2C 6B 29 3B 0D 0A 09 09 09 70 s(lval,k);.....p
019D00: 63 75 72 72 65 6E 74 20 69 74 65 6D 20 2A 2F 0D current item */.
019D10: 0A 09 09 09 63 61 73 65 20 27 2D 27 20 3A 0D 0A ....case '-' :..
019D20: 09 09 09 09 70 75 73 68 28 29 3B 0D 0A 09 09 09 ....push();.....
019D30: 09 67 63 68 28 29 3B 0D 0A 09 09 09 09 6B 3D 68 .gch();......k=h
019D40: 65 69 72 39 28 6C 76 61 6C 32 2C 73 74 61 74 75 eir9(lval2,statu
019D50: 73 29 3B 0D 0A 09 09 09 09 72 76 61 6C 75 65 28 s);......rvalue(
019D60: 6C 76 61 6C 32 2C 6B 29 3B 0D 0A 09 09 09 09 73 lval2,k);......s
019D70: 69 7A 65 5F 61 64 6A 75 73 74 28 6C 76 61 6C 29 ize_adjust(lval)
019D80: 3B 0D 0A 09 09 09 09 73 75 62 28 29 3B 0D 0A 09 ;......sub();...
019D90: 09 09 09 2A 73 74 61 74 75 73 3D 46 41 4C 53 45 ...*status=FALSE
019DA0: 3B 0D 0A 09 09 09 09 62 72 65 61 6B 3B 0D 0A 0D ;......break;...
019DB0: 0A 09 09 09 2F 2A 20 6F 70 65 72 61 74 6F 72 20 ..../* operator
019DC0: 6E 6F 74 20 22 2B 22 20 6F 72 20 22 2D 22 20 2A not "+" or "-" *
019DD0: 2F 0D 0A 09 09 09 64 65 66 61 75 6C 74 20 3A 0D /.....default :.
019DE0: 0A 09 09 09 09 72 65 74 75 72 6E 20 30 3B 0D 0A .....return 0;..
019DF0: 09 09 09 7D 0D 0A 09 09 7D 0D 0A 09 7D 0D 0A 68 ...}....}...}..h
019E00: 65 69 72 39 28 6C 76 61 6C 2C 73 74 61 74 75 73 eir9(lval,status
019E10: 29 0D 0A 69 6E 74 20 6C 76 61 6C 5B 5D 3B 0D 0A )..int lval[];..
019E20: 69 6E 74 20 2A 73 74 61 74 75 73 3B 0D 0A 7B 0D int *status;..{.
019E30: 0A 09 69 6E 74 20 6B 2C 6C 76 61 6C 32 5B 6C 76 ..int k,lval2[lv
019E40: 61 6C 73 69 7A 65 5D 2C 74 65 6D 70 3B 0D 0A 0D alsize],temp;...
019E50: 0A 09 74 65 6D 70 3D 30 3B 0D 0A 09 6B 3D 68 65 ..temp=0;...k=he
019E60: 69 72 31 30 28 6C 76 61 6C 2C 26 74 65 6D 70 2C ir10(lval,&temp,
019E70: 73 74 61 74 75 73 29 3B 0D 0A 09 62 6C 61 6E 6B status);...blank
019E80: 73 28 29 3B 0D 0A 09 69 66 20 28 28 63 68 28 29 s();...if ((ch()
019E90: 20 21 3D 20 27 2A 27 20 26 26 20 63 68 28 29 21 != '*' && ch()!
019EA0: 3D 27 2F 27 20 26 26 20 63 68 28 29 20 21 3D 20 ='/' && ch() !=
019EB0: 27 25 27 29 20 0D 0A 09 09 7C 7C 20 6E 63 68 28 '%') ....|| nch(
019EC0: 29 20 3D 3D 20 27 3D 27 29 20 72 65 74 75 72 6E ) == '=') return
019ED0: 20 6B 3B 0D 0A 09 72 76 61 6C 75 65 28 6C 76 61 k;...rvalue(lva
019EE0: 6C 2C 6B 29 3B 0D 0A 09 77 68 69 6C 65 28 31 29 l,k);...while(1)
019EF0: 20 7B 0D 0A 09 09 69 66 20 28 6D 61 74 63 68 28 {....if (match(
019F00: 6F 73 74 5F 64 65 63 28 6C 76 61 6C 29 3B 0D 0A ost_dec(lval);..
019F10: 09 09 09 2A 73 74 61 74 75 73 3D 54 52 55 45 3B ...*status=TRUE;
019F20: 0D 0A 09 09 09 72 65 74 75 72 6E 20 4C 4F 41 44 .....return LOAD
019F30: 45 44 3B 0D 0A 09 09 09 7D 0D 0A 09 09 65 6C 73 ED;.....}....els
019F40: 65 20 72 65 74 75 72 6E 20 6B 3B 0D 0A 09 09 7D e return k;....}
019F50: 0D 0A 09 7D 0D 0A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A ...}............
019F60: 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A ................
019F70: 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A ................
019F80: 2A 73 05 EB 0E 15 CD 05 00 B7 2A 75 05 C2 9E 31 *s........*u...1
019F90: 23 22 75 05 2A A3 05 2B 22 A3 05 C3 62 31 C1 C9 #"u.*£.+"£..b1..
019FA0: 3A 77 05 B7 6F CA AF 31 AF 32 77 05 26 00 C9 C5 :w..o..1.2w.&...
019FB0: 0E 01 CD 05 00 C1 FE 03 CA 00 00 FE 1A 21 FF FF .............!..
019FC0: C8 6F FE 0D C2 D2 31 C5 0E 02 1E 0A CD 05 00 C1 .o....1.........
019FD0: 2E 0A 26 00 C9 CD 37 03 C5 3A 9F 05 4F 2A A1 05 ..&...7..:..O*..
019FE0: EB CD 05 00 6F 60 C1 C9 1A 1A 1A 1A 1A 1A 1A 1A ....o`..........
019FF0: 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 05 ................
01A000: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
01A010: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
01A020: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
01A030: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
01A040: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
01A050: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
01A060: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
01A070: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
01A080: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
01A090: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
01A0A0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
01A0B0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
01A0C0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
01A0D0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
01A0E0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
01A0F0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
01A100: 22 2A 22 29 29 20 7B 0D 0A 09 09 09 70 75 73 68 "*")) {.....push
01A110: 28 29 3B 0D 0A 09 09 09 6B 3D 68 65 69 72 31 30 ();.....k=heir10
01A120: 28 6C 76 61 6C 32 2C 26 74 65 6D 70 2C 73 74 61 (lval2,&temp,sta
01A130: 74 75 73 29 3B 0D 0A 09 09 09 72 76 61 6C 75 65 tus);.....rvalue
01A140: 28 6C 76 61 6C 32 2C 6B 29 3B 0D 0A 09 09 09 6D (lval2,k);.....m
01A150: 75 6C 74 28 29 3B 0D 0A 09 09 09 2A 73 74 61 74 ult();.....*stat
01A160: 75 73 3D 46 41 4C 53 45 3B 0D 0A 09 09 09 7D 0D us=FALSE;.....}.
01A170: 0A 09 09 65 6C 73 65 20 69 66 20 28 6D 61 74 63 ...else if (matc
01A180: 68 28 22 2F 22 29 29 20 7B 0D 0A 09 09 09 70 75 h("/")) {.....pu
01A190: 73 68 28 29 3B 0D 0A 09 09 09 6B 3D 68 65 69 72 sh();.....k=heir
01A1A0: 31 30 28 6C 76 61 6C 32 2C 26 74 65 6D 70 2C 73 10(lval2,&temp,s
01A1B0: 74 61 74 75 73 29 3B 0D 0A 09 09 09 72 76 61 6C tatus);.....rval
01A1C0: 75 65 28 6C 76 61 6C 32 2C 6B 29 3B 0D 0A 09 09 ue(lval2,k);....
01A1D0: 09 64 69 76 28 29 3B 0D 0A 09 09 09 2A 73 74 61 .div();.....*sta
01A1E0: 74 75 73 3D 46 41 4C 53 45 3B 0D 0A 09 09 09 7D tus=FALSE;.....}
01A1F0: 0D 0A 09 09 65 6C 73 65 20 69 66 20 28 6D 61 74 ....else if (mat
01A200: 63 68 28 22 25 22 29 29 20 7B 0D 0A 09 09 09 70 ch("%")) {.....p
01A210: 75 73 68 28 29 3B 0D 0A 09 09 09 6B 3D 68 65 69 ush();.....k=hei
01A220: 72 31 30 28 6C 76 61 6C 32 2C 26 74 65 6D 70 2C r10(lval2,&temp,
01A230: 73 74 61 74 75 73 29 3B 0D 0A 09 09 09 72 76 61 status);.....rva
01A240: 6C 75 65 28 6C 76 61 6C 32 2C 6B 29 3B 0D 0A 09 lue(lval2,k);...
01A250: 09 09 6D 6F 64 28 29 3B 0D 0A 09 09 09 2A 73 74 ..mod();.....*st
01A260: 61 74 75 73 3D 46 41 4C 53 45 3B 0D 0A 09 09 09 atus=FALSE;.....
01A270: 7D 0D 0A 09 09 65 6C 73 65 20 72 65 74 75 72 6E }....else return
01A280: 20 30 3B 0D 0A 09 09 7D 0D 0A 09 7D 0D 0A 68 65 0;....}...}..he
01A290: 69 72 31 30 28 6C 76 61 6C 2C 63 6F 75 6E 74 2C ir10(lval,count,
01A2A0: 73 74 61 74 75 73 29 0D 0A 69 6E 74 20 6C 76 61 status)..int lva
01A2B0: 6C 5B 5D 3B 0D 0A 69 6E 74 20 2A 63 6F 75 6E 74 l[];..int *count
01A2C0: 3B 0D 0A 69 6E 74 20 2A 73 74 61 74 75 73 3B 0D ;..int *status;.
01A2D0: 0A 7B 0D 0A 09 69 6E 74 20 6B 2C 6C 76 61 6C 32 .{...int k,lval2
01A2E0: 5B 6C 76 61 6C 73 69 7A 65 5D 3B 0D 0A 09 63 68 [lvalsize];...ch
01A2F0: 61 72 20 2A 70 74 72 2C 66 6C 61 67 3B 0D 0A 0D ar *ptr,flag;...
01A300: 54 72 61 63 6B 2D 49 6E 66 6F 0D 0A 00 00 00 00 Track-Info......
01A310: 16 00 01 00 02 09 52 E5 16 00 C1 02 00 00 00 02 ......R.........
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: 0D 0A 23 69 66 6E 64 65 66 09 54 52 55 45 09 2F ..#ifndef.TRUE./
01A410: 2A 20 63 68 65 63 6B 20 74 6F 20 73 65 65 20 69 * check to see i
01A420: 66 20 69 6E 63 6C 75 64 65 20 66 69 6C 65 20 69 f include file i
01A430: 73 20 6E 65 65 64 65 64 20 2A 2F 0D 0A 23 69 6E s needed */..#in
01A440: 63 6C 75 64 65 20 3C 43 2E 44 45 46 3E 0D 0A 23 clude <C.DEF>..#
01A450: 65 6E 64 69 66 0D 0A 0D 0A 2F 2A 20 42 65 67 69 endif..../* Begi
01A460: 6E 20 61 20 63 6F 6D 6D 65 6E 74 20 6C 69 6E 65 n a comment line
01A470: 20 66 6F 72 20 74 68 65 20 61 73 73 65 6D 62 6C for the assembl
01A480: 65 72 20 2A 2F 0D 0A 63 6F 6D 6D 65 6E 74 28 29 er */..comment()
01A490: 0D 0A 7B 0D 0A 09 6F 75 74 62 79 74 65 28 27 3B ..{...outbyte(';
01A4A0: 27 29 3B 0D 0A 09 7D 0D 0A 2F 2A 20 50 72 69 6E ');...}../* Prin
01A4B0: 74 20 61 6C 6C 20 61 73 73 65 6D 62 6C 65 72 20 t all assembler
01A4C0: 69 6E 66 6F 20 62 65 66 6F 72 65 20 61 6E 79 20 info before any
01A4D0: 63 6F 64 65 20 69 73 20 67 65 6E 65 72 61 74 65 code is generate
01A4E0: 64 20 2A 2F 0D 0A 68 65 61 64 65 72 28 29 0D 0A d */..header()..
01A4F0: 7B 0D 0A 09 6F 75 74 73 74 72 28 22 40 73 74 61 {...outstr("@sta
01A500: 72 74 3A 5C 74 63 73 65 63 74 22 29 3B 6E 6C 28 rt:\tcsect");nl(
01A510: 29 3B 0D 0A 09 6F 6C 28 22 6A 6D 70 5C 74 40 69 );...ol("jmp\t@i
01A520: 6E 69 74 22 29 3B 0D 0A 09 6F 6C 28 22 65 78 74 nit");...ol("ext
01A530: 72 6E 5C 74 40 61 6E 64 2C 40 61 73 6C 2C 40 61 rn\t@and,@asl,@a
01A540: 73 72 2C 40 63 6F 6D 70 2C 40 63 6F 6D 2C 40 64 sr,@comp,@com,@d
01A550: 69 76 22 29 3B 0D 0A 09 6F 6C 28 22 65 78 74 72 iv");...ol("extr
01A560: 6E 5C 74 40 67 63 68 61 72 2C 40 67 69 6E 74 2C n\t@gchar,@gint,
01A570: 40 69 6E 63 64 65 63 22 29 3B 0D 0A 09 6F 6C 28 @incdec");...ol(
01A580: 22 65 78 74 72 6E 5C 74 40 6D 75 6C 74 2C 40 6E "extrn\t@mult,@n
01A590: 65 67 2C 40 6E 6C 6F 67 2C 40 6F 72 2C 40 70 69 eg,@nlog,@or,@pi
01A5A0: 6E 74 2C 40 73 75 62 22 29 3B 0D 0A 09 6F 6C 28 nt,@sub");...ol(
01A5B0: 22 65 78 74 72 6E 5C 74 40 73 78 74 2C 40 75 63 "extrn\t@sxt,@uc
01A5C0: 6F 6D 70 2C 40 78 6F 72 2C 40 69 6E 69 74 2C 40 omp,@xor,@init,@
01A5D0: 73 77 69 74 63 68 22 29 3B 0D 0A 09 6F 6C 28 22 switch");...ol("
01A5E0: 65 78 74 72 6E 5C 74 40 67 69 6E 74 73 73 2C 40 extrn\t@gintss,@
01A5F0: 67 69 6E 74 73 6C 2C 40 67 63 68 61 72 73 73 2C gintsl,@gcharss,
01A600: 65 73 73 20 6F 6E 20 74 68 65 20 74 6F 70 20 6F ess on the top o
01A610: 66 20 74 68 65 20 73 74 61 63 6B 20 2A 2F 0D 0A f the stack */..
01A620: 70 75 74 73 74 6B 28 74 79 70 65 6F 62 6A 29 0D putstk(typeobj).
01A630: 0A 63 68 61 72 20 74 79 70 65 6F 62 6A 3B 0D 0A .char typeobj;..
01A640: 7B 0D 0A 09 70 6F 70 28 29 3B 0D 0A 09 70 75 74 {...pop();...put
01A650: 73 65 63 28 74 79 70 65 6F 62 6A 29 3B 0D 0A 09 sec(typeobj);...
01A660: 7D 0D 0A 2F 2A 20 73 74 6F 72 65 20 74 68 65 20 }../* store the
01A670: 73 70 65 63 69 66 69 65 64 20 6F 62 6A 65 63 74 specified object
01A680: 20 74 79 70 65 20 69 6E 20 74 68 65 20 70 72 69 type in the pri
01A690: 6D 61 72 79 20 72 65 67 69 73 74 65 72 20 2A 2F mary register */
01A6A0: 0D 0A 2F 2A 09 61 74 20 74 68 65 20 61 64 64 72 ../*.at the addr
01A6B0: 65 73 73 20 69 6E 20 74 68 65 20 73 65 63 6F 6E ess in the secon
01A6C0: 64 61 72 79 20 72 65 67 69 73 74 65 72 09 2A 2F dary register.*/
01A6D0: 0D 0A 70 75 74 73 65 63 28 74 79 70 65 6F 62 6A ..putsec(typeobj
01A6E0: 29 0D 0A 63 68 61 72 20 74 79 70 65 6F 62 6A 3B )..char typeobj;
01A6F0: 0D 0A 7B 0D 0A 09 69 66 20 28 74 79 70 65 6F 62 ..{...if (typeob
01A700: 6A 20 3D 3D 20 63 63 68 61 72 29 20 7B 0D 0A 09 j == cchar) {...
01A710: 09 6F 6C 28 22 6D 6F 76 5C 74 61 2C 6C 22 29 3B .ol("mov\ta,l");
01A720: 0D 0A 09 09 6F 6C 28 22 73 74 61 78 5C 74 64 22 ....ol("stax\td"
01A730: 29 3B 0D 0A 09 09 7D 0D 0A 09 65 6C 73 65 20 63 );....}...else c
01A740: 61 6C 6C 28 22 40 70 69 6E 74 22 29 3B 0D 0A 09 all("@pint");...
01A750: 7D 0D 0A 2F 2A 09 09 09 09 09 2A 2F 0D 0A 2F 2A }../*.....*/../*
01A760: 09 77 72 69 74 74 65 6E 20 62 79 20 4D 69 6B 65 .written by Mike
01A770: 20 42 65 72 6E 73 6F 6E 20 36 2F 39 2F 38 31 09 Bernson 6/9/81.
01A780: 2A 2F 0D 0A 2F 2A 09 09 09 09 09 2A 2F 0D 0A 2F */../*.....*/../
01A790: 2A 09 73 74 6F 72 65 20 68 6C 20 76 61 6C 75 65 *.store hl value
01A7A0: 20 61 66 74 65 72 20 63 61 6C 6C 20 70 6C 75 73 after call plus
01A7B0: 09 2A 2F 0D 0A 2F 2A 09 63 75 72 72 65 6E 74 20 .*/../*.current
01A7C0: 73 74 61 63 6B 09 09 09 2A 2F 0D 0A 2F 2A 09 09 stack...*/../*..
01A7D0: 09 09 09 2A 2F 0D 0A 70 75 74 6D 65 6D 5F 73 74 ...*/..putmem_st
01A7E0: 61 63 6B 28 6C 76 61 6C 2C 74 79 70 29 0D 0A 69 ack(lval,typ)..i
01A7F0: 6E 74 20 20 2A 6C 76 61 6C 3B 0D 0A 63 68 61 72 nt *lval;..char
01A800: 40 67 63 68 61 72 73 6C 22 29 3B 0D 0A 09 6F 6C @gcharsl");...ol
01A810: 28 22 65 78 74 72 6E 5C 74 40 70 69 6E 74 73 73 ("extrn\t@pintss
01A820: 2C 40 70 69 6E 74 73 6C 2C 40 70 63 68 61 72 73 ,@pintsl,@pchars
01A830: 73 2C 40 70 63 68 61 72 73 6C 22 29 3B 0D 0A 0D s,@pcharsl");...
01A840: 0A 09 6F 75 74 73 74 72 28 22 40 65 71 5C 74 65 ..outstr("@eq\te
01A850: 71 75 5C 74 40 63 6F 6D 70 22 29 3B 6E 6C 28 29 qu\t@comp");nl()
01A860: 3B 0D 0A 09 6F 75 74 73 74 72 28 22 40 67 65 5C ;...outstr("@ge\
01A870: 74 65 71 75 5C 74 40 63 6F 6D 70 2B 33 35 68 22 tequ\t@comp+35h"
01A880: 29 3B 6E 6C 28 29 3B 0D 0A 09 6F 75 74 73 74 72 );nl();...outstr
01A890: 28 22 40 67 74 5C 74 65 71 75 5C 74 40 63 6F 6D ("@gt\tequ\t@com
01A8A0: 70 2B 31 61 68 22 29 3B 6E 6C 28 29 3B 0D 0A 09 p+1ah");nl();...
01A8B0: 6F 75 74 73 74 72 28 22 40 6C 65 5C 74 65 71 75 outstr("@le\tequ
01A8C0: 5C 74 40 63 6F 6D 70 2B 34 33 68 22 29 3B 6E 6C \t@comp+43h");nl
01A8D0: 28 29 3B 0D 0A 09 6F 75 74 73 74 72 28 22 40 6C ();...outstr("@l
01A8E0: 74 5C 74 65 71 75 5C 74 40 63 6F 6D 70 2B 32 38 t\tequ\t@comp+28
01A8F0: 68 22 29 3B 6E 6C 28 29 3B 0D 0A 09 6F 75 74 73 h");nl();...outs
01A900: 74 72 28 22 40 6E 65 5C 74 65 71 75 5C 74 40 63 tr("@ne\tequ\t@c
01A910: 6F 6D 70 2B 30 64 68 22 29 3B 6E 6C 28 29 3B 0D omp+0dh");nl();.
01A920: 0A 09 6F 75 74 73 74 72 28 22 40 75 67 65 5C 74 ..outstr("@uge\t
01A930: 65 71 75 5C 74 40 75 63 6F 6D 70 2B 36 63 68 22 equ\t@ucomp+6ch"
01A940: 29 3B 6E 6C 28 29 3B 0D 0A 09 6F 75 74 73 74 72 );nl();...outstr
01A950: 28 22 40 75 67 74 5C 74 65 71 75 5C 74 40 75 63 ("@ugt\tequ\t@uc
01A960: 6F 6D 70 2B 35 31 68 22 29 3B 6E 6C 28 29 3B 0D omp+51h");nl();.
01A970: 0A 09 6F 75 74 73 74 72 28 22 40 75 6C 65 5C 74 ..outstr("@ule\t
01A980: 65 71 75 5C 74 40 75 63 6F 6D 70 2B 37 39 68 22 equ\t@ucomp+79h"
01A990: 29 3B 6E 6C 28 29 3B 0D 0A 09 6F 75 74 73 74 72 );nl();...outstr
01A9A0: 28 22 40 75 6C 74 5C 74 65 71 75 5C 74 40 75 63 ("@ult\tequ\t@uc
01A9B0: 6F 6D 70 2B 35 66 68 22 29 3B 6E 6C 28 29 3B 0D omp+5fh");nl();.
01A9C0: 0A 0D 0A 09 6F 75 74 73 74 72 28 22 40 70 72 65 ....outstr("@pre
01A9D0: 69 6E 63 5C 74 65 71 75 5C 74 40 69 6E 63 64 65 inc\tequ\t@incde
01A9E0: 63 22 29 3B 6E 6C 28 29 3B 0D 0A 09 6F 75 74 73 c");nl();...outs
01A9F0: 74 72 28 22 40 70 6F 73 74 69 6E 63 5C 74 65 71 tr("@postinc\teq
01AA00: 20 74 79 70 3B 0D 0A 7B 0D 0A 09 69 6E 74 20 6F typ;..{...int o
01AA10: 66 66 3B 0D 0A 09 63 68 61 72 20 2A 70 74 72 3B ff;...char *ptr;
01AA20: 0D 0A 0D 0A 09 70 74 72 3D 6C 76 61 6C 5B 30 5D .....ptr=lval[0]
01AA30: 3B 0D 0A 09 6F 66 66 3D 70 74 72 5B 6F 66 66 73 ;...off=ptr[offs
01AA40: 65 74 5D 2B 70 74 72 5B 6F 66 66 73 65 74 2B 31 et]+ptr[offset+1
01AA50: 5D 2A 32 35 36 2B 6C 76 61 6C 5B 32 5D 2D 73 70 ]*256+lval[2]-sp
01AA60: 3B 0D 0A 0D 0A 09 69 66 20 28 74 79 70 20 3D 3D ;.....if (typ ==
01AA70: 20 63 69 6E 74 29 20 0D 0A 09 09 69 66 20 28 69 cint) ....if (i
01AA80: 73 62 79 74 65 28 6F 66 66 29 29 20 63 61 6C 6C sbyte(off)) call
01AA90: 28 22 40 70 69 6E 74 73 73 22 29 3B 20 65 6C 73 ("@pintss"); els
01AAA0: 65 20 63 61 6C 6C 28 22 40 70 69 6E 74 73 6C 22 e call("@pintsl"
01AAB0: 29 3B 0D 0A 09 65 6C 73 65 0D 0A 09 09 69 66 20 );...else....if
01AAC0: 28 69 73 62 79 74 65 28 6F 66 66 29 29 20 63 61 (isbyte(off)) ca
01AAD0: 6C 6C 28 22 40 70 63 68 61 72 73 73 22 29 3B 20 ll("@pcharss");
01AAE0: 65 6C 73 65 20 63 61 6C 6C 28 22 40 70 63 68 61 else call("@pcha
01AAF0: 72 73 6C 22 29 3B 0D 0A 09 64 65 66 76 61 6C 75 rsl");...defvalu
01AB00: 65 28 6F 66 66 29 3B 0D 0A 09 7D 0D 0A 0D 0A 2F e(off);...}..../
01AB10: 2A 20 46 65 74 63 68 20 74 68 65 20 73 70 65 63 * Fetch the spec
01AB20: 69 66 69 65 64 20 6F 62 6A 65 63 74 20 74 79 70 ified object typ
01AB30: 65 20 69 6E 64 69 72 65 63 74 20 74 68 72 6F 75 e indirect throu
01AB40: 67 68 20 74 68 65 20 2A 2F 0D 0A 2F 2A 20 20 20 gh the */../*
01AB50: 20 20 20 70 72 69 6D 61 72 79 20 72 65 67 69 73 primary regis
01AB60: 74 65 72 20 69 6E 74 6F 20 74 68 65 20 70 72 69 ter into the pri
01AB70: 6D 61 72 79 20 72 65 67 69 73 74 65 72 20 2A 2F mary register */
01AB80: 0D 0A 69 6E 64 69 72 65 63 74 28 74 79 70 65 6F ..indirect(typeo
01AB90: 62 6A 29 0D 0A 63 68 61 72 20 74 79 70 65 6F 62 bj)..char typeob
01ABA0: 6A 3B 0D 0A 7B 0D 0A 09 69 66 20 28 74 79 70 65 j;..{...if (type
01ABB0: 6F 62 6A 20 3D 3D 20 63 63 68 61 72 29 20 63 61 obj == cchar) ca
01ABC0: 6C 6C 28 22 40 67 63 68 61 72 22 29 3B 0D 0A 09 ll("@gchar");...
01ABD0: 65 6C 73 65 20 63 61 6C 6C 28 22 40 67 69 6E 74 else call("@gint
01ABE0: 22 29 3B 0D 0A 09 7D 0D 0A 2F 2A 20 61 64 64 20 ");...}../* add
01ABF0: 70 72 69 6D 61 72 79 20 61 6E 64 20 73 65 63 6F primary and seco
01AC00: 75 5C 74 40 69 6E 63 64 65 63 2B 31 30 68 22 29 u\t@incdec+10h")
01AC10: 3B 6E 6C 28 29 3B 0D 0A 09 6F 75 74 73 74 72 28 ;nl();...outstr(
01AC20: 22 40 70 72 65 64 65 63 5C 74 65 71 75 5C 74 40 "@predec\tequ\t@
01AC30: 69 6E 63 64 65 63 2B 30 38 68 22 29 3B 6E 6C 28 incdec+08h");nl(
01AC40: 29 3B 0D 0A 09 6F 75 74 73 74 72 28 22 40 70 6F );...outstr("@po
01AC50: 73 74 64 65 63 5C 74 65 71 75 5C 74 40 69 6E 63 stdec\tequ\t@inc
01AC60: 64 65 63 2B 31 61 68 22 29 3B 6E 6C 28 29 3B 0D dec+1ah");nl();.
01AC70: 0A 09 7D 0D 0A 2F 2A 20 50 72 69 6E 74 20 61 6E ..}../* Print an
01AC80: 79 20 61 73 73 65 6D 62 6C 65 72 20 73 74 75 66 y assembler stuf
01AC90: 66 20 6E 65 65 64 65 64 20 61 66 74 65 72 20 61 f needed after a
01ACA0: 6C 6C 20 63 6F 64 65 20 2A 2F 0D 0A 74 72 61 69 ll code */..trai
01ACB0: 6C 65 72 28 29 0D 0A 7B 0D 0A 09 6F 6C 28 22 65 ler()..{...ol("e
01ACC0: 6E 64 22 29 3B 0D 0A 09 7D 0D 0A 2F 2A 09 09 09 nd");...}../*...
01ACD0: 09 09 09 09 2A 2F 0D 0A 2F 2A 09 72 65 77 72 69 ....*/../*.rewri
01ACE0: 74 74 65 6E 20 20 34 2F 33 30 2F 38 31 20 62 79 tten 4/30/81 by
01ACF0: 20 4D 69 6B 65 20 42 65 72 6E 73 6F 6E 09 09 2A Mike Bernson..*
01AD00: 2F 0D 0A 2F 2A 09 09 09 09 09 09 09 2A 2F 0D 0A /../*.......*/..
01AD10: 2F 2A 20 46 65 74 63 68 20 61 20 73 74 61 74 69 /* Fetch a stati
01AD20: 63 20 6D 65 6D 6F 72 79 20 63 65 6C 6C 20 69 6E c memory cell in
01AD30: 74 6F 20 74 68 65 20 70 72 69 6D 61 72 79 20 72 to the primary r
01AD40: 65 67 69 73 74 65 72 20 2A 2F 0D 0A 67 65 74 6D egister */..getm
01AD50: 65 6D 28 73 6E 61 6D 65 2C 74 79 70 2C 6F 66 66 em(sname,typ,off
01AD60: 29 0D 0A 63 68 61 72 20 2A 73 6E 61 6D 65 3B 0D )..char *sname;.
01AD70: 0A 69 6E 74 20 20 74 79 70 3B 0D 0A 69 6E 74 20 .int typ;..int
01AD80: 20 6F 66 66 3B 0D 0A 7B 0D 0A 09 69 66 28 74 79 off;..{...if(ty
01AD90: 70 3D 3D 63 63 68 61 72 29 20 7B 0D 0A 09 09 6F p==cchar) {....o
01ADA0: 74 28 22 6C 64 61 5C 74 22 29 3B 0D 0A 09 09 6F t("lda\t");....o
01ADB0: 75 74 73 74 72 28 73 6E 61 6D 65 29 3B 0D 0A 09 utstr(sname);...
01ADC0: 09 69 66 20 28 6F 66 66 29 20 7B 0D 0A 09 09 09 .if (off) {.....
01ADD0: 6F 75 74 73 74 72 28 22 2B 22 29 3B 0D 0A 09 09 outstr("+");....
01ADE0: 09 6F 75 74 64 65 63 28 6F 66 66 29 3B 0D 0A 09 .outdec(off);...
01ADF0: 09 09 7D 0D 0A 09 09 6E 6C 28 29 3B 0D 0A 09 09 ..}....nl();....
01AE00: 6E 64 61 72 79 20 72 65 67 69 73 74 65 72 73 20 ndary registers
01AE10: 2A 2F 0D 0A 61 64 64 5F 61 64 64 72 65 73 73 28 */..add_address(
01AE20: 29 0D 0A 7B 0D 0A 09 6F 6C 28 22 64 61 64 5C 74 )..{...ol("dad\t
01AE30: 64 22 29 3B 0D 0A 09 7D 0D 0A 2F 2A 20 53 77 61 d");...}../* Swa
01AE40: 70 20 74 68 65 20 70 72 69 6D 61 72 79 20 61 6E p the primary an
01AE50: 64 20 73 65 63 6F 6E 64 61 72 79 20 72 65 67 69 d secondary regi
01AE60: 73 74 65 72 73 20 2A 2F 0D 0A 73 77 61 70 28 29 sters */..swap()
01AE70: 0D 0A 7B 0D 0A 09 6F 6C 28 22 78 63 68 67 22 29 ..{...ol("xchg")
01AE80: 3B 0D 0A 09 7D 0D 0A 2F 2A 20 50 72 69 6E 74 20 ;...}../* Print
01AE90: 70 61 72 74 69 61 6C 20 69 6E 73 74 72 75 63 74 partial instruct
01AEA0: 69 6F 6E 20 74 6F 20 67 65 74 20 61 6E 20 69 6D ion to get an im
01AEB0: 6D 65 64 69 61 74 65 20 76 61 6C 75 65 20 2A 2F mediate value */
01AEC0: 0D 0A 2F 2A 20 20 20 20 20 20 69 6E 74 6F 20 74 ../* into t
01AED0: 68 65 20 70 72 69 6D 61 72 79 20 72 65 67 69 73 he primary regis
01AEE0: 74 65 72 20 2A 2F 0D 0A 69 6D 6D 65 64 28 29 0D ter */..immed().
01AEF0: 0A 7B 0D 0A 09 6F 74 28 22 6C 78 69 5C 74 68 2C .{...ot("lxi\th,
01AF00: 22 29 3B 0D 0A 09 7D 0D 0A 2F 2A 20 50 75 73 68 ");...}../* Push
01AF10: 20 74 68 65 20 70 72 69 6D 61 72 79 20 72 65 67 the primary reg
01AF20: 69 73 74 65 72 20 6F 6E 74 6F 20 74 68 65 20 73 ister onto the s
01AF30: 74 61 63 6B 20 2A 2F 0D 0A 70 75 73 68 28 29 0D tack */..push().
01AF40: 0A 7B 0D 0A 09 6F 6C 28 22 70 75 73 68 5C 74 68 .{...ol("push\th
01AF50: 22 29 3B 0D 0A 09 73 70 3D 73 70 2D 32 3B 0D 0A ");...sp=sp-2;..
01AF60: 09 7D 0D 0A 2F 2A 20 70 75 73 68 20 74 68 65 20 .}../* push the
01AF70: 73 65 63 6F 6E 64 61 72 79 20 72 65 67 69 73 74 secondary regist
01AF80: 65 72 09 6F 6E 20 73 74 61 63 6B 20 2A 2F 0D 0A er.on stack */..
01AF90: 70 75 73 68 73 28 29 0D 0A 7B 0D 0A 09 6F 6C 28 pushs()..{...ol(
01AFA0: 22 70 75 73 68 5C 74 64 22 29 3B 0D 0A 09 73 70 "push\td");...sp
01AFB0: 3D 73 70 2D 32 3B 0D 0A 09 7D 0D 0A 2F 2A 20 50 =sp-2;...}../* P
01AFC0: 6F 70 20 74 68 65 20 74 6F 70 20 6F 66 20 74 68 op the top of th
01AFD0: 65 20 73 74 61 63 6B 20 69 6E 74 6F 20 74 68 65 e stack into the
01AFE0: 20 73 65 63 6F 6E 64 61 72 79 20 72 65 67 69 73 secondary regis
01AFF0: 74 65 72 20 2A 2F 0D 0A 70 6F 70 28 29 0D 0A 7B ter */..pop()..{
01B000: 63 61 6C 6C 28 22 40 73 78 74 22 29 3B 0D 0A 09 call("@sxt");...
01B010: 09 7D 0D 0A 09 65 6C 73 65 20 7B 0D 0A 09 09 6F .}...else {....o
01B020: 74 28 22 6C 68 6C 64 5C 74 22 29 3B 0D 0A 09 09 t("lhld\t");....
01B030: 6F 75 74 73 74 72 28 73 6E 61 6D 65 29 3B 0D 0A outstr(sname);..
01B040: 09 09 69 66 20 28 6F 66 66 29 20 7B 0D 0A 09 09 ..if (off) {....
01B050: 09 6F 75 74 73 74 72 28 22 2B 22 29 3B 0D 0A 09 .outstr("+");...
01B060: 09 09 6F 75 74 64 65 63 28 6F 66 66 29 3B 0D 0A ..outdec(off);..
01B070: 09 09 09 7D 0D 0A 09 09 6E 6C 28 29 3B 0D 0A 09 ...}....nl();...
01B080: 09 7D 0D 0A 09 7D 0D 0A 2F 2A 09 09 09 09 09 09 .}...}../*......
01B090: 09 2A 2F 0D 0A 2F 2A 09 77 72 69 74 74 65 6E 20 .*/../*.written
01B0A0: 62 79 20 4D 69 6B 65 20 42 65 72 6E 73 6F 6E 20 by Mike Bernson
01B0B0: 36 2F 38 2F 38 31 09 09 09 2A 2F 0D 0A 2F 2A 09 6/8/81...*/../*.
01B0C0: 09 09 09 09 09 09 2A 2F 0D 0A 2F 2A 09 6C 6F 61 ......*/../*.loa
01B0D0: 64 20 61 20 62 79 74 65 20 6F 66 66 73 65 74 20 d a byte offset
01B0E0: 66 72 6F 6D 20 63 75 72 72 65 6E 74 20 73 74 61 from current sta
01B0F0: 63 6B 09 09 2A 2F 0D 0A 2F 2A 09 09 09 09 09 09 ck..*/../*......
01B100: 09 2A 2F 0D 0A 67 65 74 6D 65 6D 5F 73 74 61 63 .*/..getmem_stac
01B110: 6B 28 6C 76 61 6C 2C 74 79 70 29 0D 0A 69 6E 74 k(lval,typ)..int
01B120: 20 20 2A 6C 76 61 6C 3B 0D 0A 63 68 61 72 20 2A *lval;..char *
01B130: 74 79 70 3B 0D 0A 7B 0D 0A 09 63 68 61 72 20 2A typ;..{...char *
01B140: 70 74 72 3B 0D 0A 09 69 6E 74 20 20 6F 66 66 3B ptr;...int off;
01B150: 0D 0A 0D 0A 09 70 74 72 3D 6C 76 61 6C 5B 30 5D .....ptr=lval[0]
01B160: 3B 0D 0A 09 6F 66 66 3D 70 74 72 5B 6F 66 66 73 ;...off=ptr[offs
01B170: 65 74 5D 2B 70 74 72 5B 6F 66 66 73 65 74 2B 31 et]+ptr[offset+1
01B180: 5D 2A 32 35 36 2B 6C 76 61 6C 5B 32 5D 2D 73 70 ]*256+lval[2]-sp
01B190: 3B 0D 0A 09 0D 0A 09 69 66 20 28 74 79 70 20 3D ;......if (typ =
01B1A0: 3D 20 63 69 6E 74 29 0D 0A 09 09 69 66 20 28 69 = cint)....if (i
01B1B0: 73 62 79 74 65 28 6F 66 66 29 29 20 63 61 6C 6C sbyte(off)) call
01B1C0: 28 22 40 67 69 6E 74 73 73 22 29 3B 20 65 6C 73 ("@gintss"); els
01B1D0: 65 20 63 61 6C 6C 28 22 40 67 69 6E 74 73 6C 22 e call("@gintsl"
01B1E0: 29 3B 0D 0A 09 65 6C 73 65 0D 0A 09 09 69 66 20 );...else....if
01B1F0: 28 69 73 62 79 74 65 28 6F 66 66 29 29 20 63 61 (isbyte(off)) ca
01B200: 0D 0A 09 6F 6C 28 22 70 6F 70 5C 74 64 22 29 3B ...ol("pop\td");
01B210: 0D 0A 09 73 70 3D 73 70 2B 32 3B 0D 0A 09 7D 0D ...sp=sp+2;...}.
01B220: 0A 2F 2A 20 53 77 61 70 20 74 68 65 20 70 72 69 ./* Swap the pri
01B230: 6D 61 72 79 20 72 65 67 69 73 74 65 72 20 61 6E mary register an
01B240: 64 20 74 68 65 20 74 6F 70 20 6F 66 20 74 68 65 d the top of the
01B250: 20 73 74 61 63 6B 20 2A 2F 0D 0A 73 77 61 70 73 stack */..swaps
01B260: 74 6B 28 29 0D 0A 7B 0D 0A 09 6F 6C 28 22 78 74 tk()..{...ol("xt
01B270: 68 6C 22 29 3B 0D 0A 09 7D 0D 0A 2F 2A 20 63 61 hl");...}../* ca
01B280: 6C 6C 20 72 6F 75 74 69 6E 65 20 61 6E 64 20 73 ll routine and s
01B290: 75 62 74 72 61 63 74 20 32 09 66 72 6F 6D 20 73 ubtract 2.from s
01B2A0: 74 61 63 6B 20 70 6F 69 6E 74 65 72 20 2A 2F 0D tack pointer */.
01B2B0: 0A 63 63 61 6C 6C 28 73 6E 61 6D 65 29 0D 0A 63 .ccall(sname)..c
01B2C0: 68 61 72 20 2A 73 6E 61 6D 65 3B 0D 0A 7B 0D 0A har *sname;..{..
01B2D0: 09 73 70 3D 73 70 2B 32 3B 0D 0A 09 63 61 6C 6C .sp=sp+2;...call
01B2E0: 28 73 6E 61 6D 65 29 3B 0D 0A 09 7D 0D 0A 2F 2A (sname);...}../*
01B2F0: 20 43 61 6C 6C 20 74 68 65 20 73 70 65 63 69 66 Call the specif
01B300: 69 65 64 20 73 75 62 72 6F 75 74 69 6E 65 20 6E ied subroutine n
01B310: 61 6D 65 20 2A 2F 0D 0A 63 61 6C 6C 28 73 6E 61 ame */..call(sna
01B320: 6D 65 29 0D 0A 63 68 61 72 20 2A 73 6E 61 6D 65 me)..char *sname
01B330: 3B 0D 0A 7B 0D 0A 09 6F 74 28 22 63 61 6C 6C 5C ;..{...ot("call\
01B340: 74 22 29 3B 0D 0A 09 6F 75 74 73 74 72 28 73 6E t");...outstr(sn
01B350: 61 6D 65 29 3B 0D 0A 09 6E 6C 28 29 3B 0D 0A 09 ame);...nl();...
01B360: 7D 0D 0A 2F 2A 20 52 65 74 75 72 6E 20 66 72 6F }../* Return fro
01B370: 6D 20 73 75 62 72 6F 75 74 69 6E 65 20 2A 2F 0D m subroutine */.
01B380: 0A 72 65 74 28 29 0D 0A 7B 0D 0A 09 6F 6C 28 22 .ret()..{...ol("
01B390: 72 65 74 22 29 3B 0D 0A 09 7D 0D 0A 2F 2A 20 50 ret");...}../* P
01B3A0: 65 72 66 6F 72 6D 20 73 75 62 72 6F 75 74 69 6E erform subroutin
01B3B0: 65 20 63 61 6C 6C 20 74 6F 20 63 61 6C 75 65 20 e call to calue
01B3C0: 6F 6E 20 74 6F 70 20 6F 66 20 73 74 61 63 6B 20 on top of stack
01B3D0: 2A 2F 0D 0A 63 61 6C 6C 73 74 6B 28 29 0D 0A 7B */..callstk()..{
01B3E0: 0D 0A 09 69 6D 6D 65 64 28 29 3B 0D 0A 09 6F 75 ...immed();...ou
01B3F0: 74 73 74 72 28 22 53 2B 35 22 29 3B 0D 0A 09 6E tstr("S+5");...n
01B400: 6C 6C 28 22 40 67 63 68 61 72 73 73 22 29 3B 20 ll("@gcharss");
01B410: 65 6C 73 65 20 63 61 6C 6C 28 22 40 67 63 68 61 else call("@gcha
01B420: 72 73 6C 22 29 3B 0D 0A 09 64 65 66 76 61 6C 75 rsl");...defvalu
01B430: 65 28 6F 66 66 29 3B 0D 0A 09 7D 0D 0A 2F 2A 09 e(off);...}../*.
01B440: 09 09 09 09 09 09 2A 2F 0D 0A 2F 2A 09 72 65 77 ......*/../*.rew
01B450: 72 69 74 74 65 6E 20 34 2F 33 30 2F 38 31 20 42 ritten 4/30/81 B
01B460: 79 20 4D 69 6B 65 20 42 65 72 6E 73 6F 6E 09 09 y Mike Bernson..
01B470: 2A 2F 0D 0A 2F 2A 09 09 09 09 09 09 09 2A 2F 09 */../*.......*/.
01B480: 0D 0A 2F 2A 20 53 74 6F 72 65 20 74 68 65 20 70 ../* Store the p
01B490: 72 69 6D 61 72 79 20 72 65 67 69 73 74 65 72 20 rimary register
01B4A0: 69 6E 74 6F 20 74 68 65 20 73 70 65 63 69 66 69 into the specifi
01B4B0: 65 64 09 2A 2F 0D 0A 2F 2A 09 73 74 61 74 69 63 ed.*/../*.static
01B4C0: 20 6D 65 6D 6F 72 79 09 09 09 09 09 2A 2F 0D 0A memory.....*/..
01B4D0: 70 75 74 6D 65 6D 28 73 6E 61 6D 65 2C 74 79 70 putmem(sname,typ
01B4E0: 2C 6F 66 66 29 0D 0A 63 68 61 72 20 2A 73 6E 61 ,off)..char *sna
01B4F0: 6D 65 3B 0D 0A 69 6E 74 20 74 79 70 3B 0D 0A 69 me;..int typ;..i
01B500: 6E 74 20 6F 66 66 3B 0D 0A 7B 0D 0A 09 69 66 20 nt off;..{...if
01B510: 28 74 79 70 3D 3D 63 63 68 61 72 29 20 7B 0D 0A (typ==cchar) {..
01B520: 09 09 6F 6C 28 22 6D 6F 76 5C 74 61 2C 6C 22 29 ..ol("mov\ta,l")
01B530: 3B 0D 0A 09 09 6F 74 28 22 73 74 61 5C 74 22 29 ;....ot("sta\t")
01B540: 3B 0D 0A 09 09 7D 0D 0A 09 65 6C 73 65 20 6F 74 ;....}...else ot
01B550: 28 22 73 68 6C 64 5C 74 22 29 3B 0D 0A 09 6F 75 ("shld\t");...ou
01B560: 74 73 74 72 28 73 6E 61 6D 65 29 3B 0D 0A 09 69 tstr(sname);...i
01B570: 66 20 28 6F 66 66 29 20 7B 0D 0A 09 09 6F 75 74 f (off) {....out
01B580: 73 74 72 28 22 2B 22 29 3B 0D 0A 09 09 6F 75 74 str("+");....out
01B590: 64 65 63 28 6F 66 66 29 3B 0D 0A 09 09 7D 0D 0A dec(off);....}..
01B5A0: 09 6E 6C 28 29 3B 0D 0A 09 7D 0D 0A 0D 0A 2F 2A .nl();...}..../*
01B5B0: 20 53 74 6F 72 65 20 74 68 65 20 73 70 65 63 69 Store the speci
01B5C0: 66 69 65 64 20 6F 62 6A 65 63 74 20 74 79 70 65 fied object type
01B5D0: 20 69 6E 20 74 68 65 20 70 72 69 6D 61 72 79 20 in the primary
01B5E0: 72 65 67 69 73 74 65 72 20 2A 2F 0D 0A 2F 2A 20 register */../*
01B5F0: 20 20 20 20 20 61 74 20 74 68 65 20 61 64 64 72 at the addr
01B600: 54 72 61 63 6B 2D 49 6E 66 6F 0D 0A 00 00 00 00 Track-Info......
01B610: 17 00 01 00 02 09 52 E5 17 00 C1 02 00 00 00 02 ......R.........
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: 6C 28 29 3B 0D 0A 09 73 77 61 70 73 74 6B 28 29 l();...swapstk()
01B710: 3B 0D 0A 09 6F 6C 28 22 70 63 68 6C 22 29 3B 0D ;...ol("pchl");.
01B720: 0A 09 73 70 3D 73 70 2B 32 3B 0D 0A 09 7D 0D 0A ..sp=sp+2;...}..
01B730: 2F 2A 20 4A 75 6D 70 20 74 6F 20 73 70 65 63 69 /* Jump to speci
01B740: 66 69 65 64 20 69 6E 74 65 72 6E 61 6C 20 6C 61 fied internal la
01B750: 62 65 6C 20 6E 75 6D 62 65 72 20 2A 2F 0D 0A 6A bel number */..j
01B760: 75 6D 70 28 6C 61 62 65 6C 29 0D 0A 69 6E 74 20 ump(label)..int
01B770: 6C 61 62 65 6C 3B 0D 0A 7B 0D 0A 09 6F 74 28 22 label;..{...ot("
01B780: 6A 6D 70 5C 74 22 29 3B 0D 0A 09 70 72 69 6E 74 jmp\t");...print
01B790: 6C 61 62 65 6C 28 6C 61 62 65 6C 29 3B 0D 0A 09 label(label);...
01B7A0: 6E 6C 28 29 3B 0D 0A 09 7D 0D 0A 2F 2A 20 74 65 nl();...}../* te
01B7B0: 73 74 20 74 68 65 20 70 72 69 6D 61 72 79 20 72 st the primary r
01B7C0: 65 67 69 73 74 65 72 20 61 6E 64 20 6A 75 6D 70 egister and jump
01B7D0: 20 69 66 20 74 72 65 75 20 74 6F 20 6C 61 62 65 if treu to labe
01B7E0: 6C 20 2A 2F 0D 0A 74 72 75 65 6A 75 6D 70 28 6C l */..truejump(l
01B7F0: 61 62 65 6C 2C 73 74 61 74 75 73 29 0D 0A 69 6E abel,status)..in
01B800: 74 20 6C 61 62 65 6C 3B 0D 0A 69 6E 74 20 73 74 t label;..int st
01B810: 61 74 75 73 3B 0D 0A 7B 0D 0A 09 69 66 20 28 21 atus;..{...if (!
01B820: 73 74 61 74 75 73 29 20 7B 0D 0A 09 09 6F 6C 28 status) {....ol(
01B830: 22 6D 6F 76 5C 74 61 2C 68 22 29 3B 0D 0A 09 09 "mov\ta,h");....
01B840: 6F 6C 28 22 6F 72 61 5C 74 6C 22 29 3B 0D 0A 09 ol("ora\tl");...
01B850: 09 7D 0D 0A 09 6F 74 28 22 6A 6E 7A 5C 74 22 29 .}...ot("jnz\t")
01B860: 3B 0D 0A 09 70 72 69 6E 74 6C 61 62 65 6C 28 6C ;...printlabel(l
01B870: 61 62 65 6C 29 3B 0D 0A 09 6E 6C 28 29 3B 0D 0A abel);...nl();..
01B880: 09 7D 0D 0A 0D 0A 0D 0A 2F 2A 20 54 65 73 74 20 .}....../* Test
01B890: 74 68 65 20 70 72 69 6D 61 72 79 20 72 65 67 69 the primary regi
01B8A0: 73 74 65 72 20 61 6E 64 20 6A 75 6D 70 20 69 66 ster and jump if
01B8B0: 20 66 61 6C 73 65 20 74 6F 20 6C 61 62 65 6C 20 false to label
01B8C0: 2A 2F 0D 0A 74 65 73 74 6A 75 6D 70 28 6C 61 62 */..testjump(lab
01B8D0: 65 6C 2C 73 74 61 74 75 73 29 0D 0A 69 6E 74 20 el,status)..int
01B8E0: 6C 61 62 65 6C 3B 0D 0A 69 6E 74 20 73 74 61 74 label;..int stat
01B8F0: 75 73 3B 0D 0A 7B 0D 0A 09 69 66 20 28 21 73 74 us;..{...if (!st
01B900: 0D 0A 23 69 66 6E 64 65 66 20 54 52 55 45 20 20 ..#ifndef TRUE
01B910: 20 20 2F 2A 20 73 65 65 20 69 66 20 69 6E 63 6C /* see if incl
01B920: 75 64 65 20 6E 65 65 64 65 64 20 2A 2F 0D 0A 23 ude needed */..#
01B930: 69 6E 63 6C 75 64 65 20 3C 43 2E 44 45 46 3E 0D include <C.DEF>.
01B940: 0A 23 65 6E 64 69 66 0D 0A 68 65 69 72 31 31 28 .#endif..heir11(
01B950: 6C 76 61 6C 2C 73 74 61 74 75 73 29 0D 0A 69 6E lval,status)..in
01B960: 74 20 2A 6C 76 61 6C 3B 0D 0A 69 6E 74 20 2A 73 t *lval;..int *s
01B970: 74 61 74 75 73 3B 0D 0A 7B 0D 0A 20 20 20 20 20 tatus;..{..
01B980: 20 20 20 69 6E 74 20 6B 3B 0D 0A 20 20 20 20 20 int k;..
01B990: 20 20 20 63 68 61 72 20 2A 70 74 72 3B 0D 0A 20 char *ptr;..
01B9A0: 20 20 20 20 20 20 20 69 6E 74 20 20 6C 76 61 6C int lval
01B9B0: 32 5B 6C 76 61 6C 73 69 7A 65 5D 3B 0D 0A 20 20 2[lvalsize];..
01B9C0: 20 20 20 20 20 20 6B 3D 70 72 69 6D 61 72 79 28 k=primary(
01B9D0: 6C 76 61 6C 2C 73 74 61 74 75 73 29 3B 0D 0A 20 lval,status);..
01B9E0: 20 20 20 20 20 20 20 70 74 72 3D 6C 76 61 6C 5B ptr=lval[
01B9F0: 30 5D 3B 0D 0A 20 20 20 20 20 20 20 20 62 6C 61 0];.. bla
01BA00: 6E 6B 73 28 29 3B 0D 0A 20 20 20 20 20 20 20 20 nks();..
01BA10: 73 77 69 74 63 68 28 63 68 28 29 29 20 7B 0D 0A switch(ch()) {..
01BA20: 0D 0A 09 20 20 20 20 20 20 20 20 2F 2A 20 73 75 ... /* su
01BA30: 62 73 63 72 69 70 74 20 76 61 72 62 6C 65 20 20 bscript varble
01BA40: 2A 2F 0D 0A 09 20 20 20 20 20 20 20 20 63 61 73 */... cas
01BA50: 65 20 27 5B 27 20 3A 0D 0A 09 09 20 20 20 20 20 e '[' :....
01BA60: 20 20 20 67 63 68 28 29 3B 20 20 2F 2A 20 65 61 gch(); /* ea
01BA70: 74 20 27 5B 27 20 2A 2F 0D 0A 09 09 20 20 20 20 t '[' */....
01BA80: 20 20 20 20 73 77 69 74 63 68 28 70 74 72 5B 69 switch(ptr[i
01BA90: 64 65 6E 74 5D 29 20 7B 0D 0A 0D 0A 09 09 09 20 dent]) {.......
01BAA0: 20 20 20 20 20 20 20 2F 2A 20 61 72 72 61 79 20 /* array
01BAB0: 6F 66 20 65 6C 65 6D 65 6E 74 73 20 2A 2F 0D 0A of elements */..
01BAC0: 09 09 09 20 20 20 20 20 20 20 20 63 61 73 65 20 ... case
01BAD0: 61 72 72 61 79 20 3A 0D 0A 09 09 09 09 09 2A 73 array :.......*s
01BAE0: 74 61 74 75 73 3D 46 41 4C 53 45 3B 0D 0A 09 09 tatus=FALSE;....
01BAF0: 09 09 09 2B 2B 6C 76 61 6C 5B 31 5D 3B 0D 0A 09 ...++lval[1];...
01BB00: 61 74 75 73 29 20 7B 0D 0A 09 09 6F 6C 28 22 6D atus) {....ol("m
01BB10: 6F 76 5C 74 61 2C 68 22 29 3B 0D 0A 09 09 6F 6C ov\ta,h");....ol
01BB20: 28 22 6F 72 61 5C 74 6C 22 29 3B 0D 0A 09 09 7D ("ora\tl");....}
01BB30: 0D 0A 09 6F 74 28 22 6A 7A 5C 74 22 29 3B 0D 0A ...ot("jz\t");..
01BB40: 09 70 72 69 6E 74 6C 61 62 65 6C 28 6C 61 62 65 .printlabel(labe
01BB50: 6C 29 3B 0D 0A 09 6E 6C 28 29 3B 0D 0A 09 7D 0D l);...nl();...}.
01BB60: 0A 2F 2A 20 72 6F 75 74 69 6E 65 20 74 6F 20 73 ./* routine to s
01BB70: 65 61 72 63 68 20 73 77 69 74 63 68 20 74 61 62 earch switch tab
01BB80: 6C 65 20 2A 2F 0D 0A 65 78 65 63 5F 73 77 69 74 le */..exec_swit
01BB90: 63 68 28 63 6F 75 6E 74 2C 6C 61 62 65 6C 2C 65 ch(count,label,e
01BBA0: 6E 64 5F 6C 61 62 65 6C 29 0D 0A 69 6E 74 20 63 nd_label)..int c
01BBB0: 6F 75 6E 74 3B 09 2F 2A 20 6E 75 6D 62 65 72 20 ount;./* number
01BBC0: 6F 66 20 63 61 73 65 20 73 74 61 74 65 6D 65 6E of case statemen
01BBD0: 74 20 69 6E 20 73 77 69 74 63 68 20 2A 2F 0D 0A t in switch */..
01BBE0: 69 6E 74 20 6C 61 62 65 6C 3B 09 2F 2A 20 6C 61 int label;./* la
01BBF0: 62 65 6C 20 66 6F 72 20 73 77 69 74 63 68 20 74 bel for switch t
01BC00: 61 62 6C 65 20 2A 2F 0D 0A 69 6E 74 20 65 6E 64 able */..int end
01BC10: 5F 6C 61 62 65 6C 3B 09 2F 2A 20 6C 61 62 65 6C _label;./* label
01BC20: 20 74 6F 20 65 78 65 63 75 74 65 20 77 68 65 6E to execute when
01BC30: 20 74 61 62 6C 65 20 73 65 61 72 63 68 20 65 6E table search en
01BC40: 64 73 20 61 6E 64 20 6E 6F 74 20 66 6F 75 6E 64 ds and not found
01BC50: 20 2A 2F 0D 0A 7B 0D 0A 09 6F 74 28 22 6C 78 69 */..{...ot("lxi
01BC60: 5C 74 64 2C 22 29 3B 0D 0A 09 70 72 69 6E 74 6C \td,");...printl
01BC70: 61 62 65 6C 28 6C 61 62 65 6C 29 3B 0D 0A 09 6E abel(label);...n
01BC80: 6C 28 29 3B 0D 0A 09 6F 74 28 22 6C 78 69 5C 74 l();...ot("lxi\t
01BC90: 68 2C 22 29 3B 0D 0A 09 70 72 69 6E 74 6C 61 62 h,");...printlab
01BCA0: 65 6C 28 65 6E 64 5F 6C 61 62 65 6C 29 3B 0D 0A el(end_label);..
01BCB0: 09 6E 6C 28 29 3B 0D 0A 09 6F 74 28 22 6D 76 69 .nl();...ot("mvi
01BCC0: 5C 74 62 2C 22 29 3B 0D 0A 09 6F 75 74 64 65 63 \tb,");...outdec
01BCD0: 28 63 6F 75 6E 74 29 3B 0D 0A 09 6E 6C 28 29 3B (count);...nl();
01BCE0: 0D 0A 09 6F 74 28 22 6A 6D 70 5C 74 40 73 77 69 ...ot("jmp\t@swi
01BCF0: 74 63 68 22 29 3B 0D 0A 09 6E 6C 28 29 3B 0D 0A tch");...nl();..
01BD00: 09 09 09 20 20 20 20 20 20 20 20 69 66 20 28 63 ... if (c
01BD10: 6F 6E 73 74 5F 65 78 70 28 6C 76 61 6C 32 29 20 onst_exp(lval2)
01BD20: 26 26 20 63 68 28 29 3D 3D 27 5D 27 29 20 7B 0D && ch()==']') {.
01BD30: 0A 09 09 09 09 09 20 20 20 20 20 20 20 20 6C 76 ...... lv
01BD40: 61 6C 5B 32 5D 3D 64 61 74 61 5F 73 69 7A 65 28 al[2]=data_size(
01BD50: 6C 76 61 6C 29 2A 0D 0A 09 09 09 09 09 09 20 20 lval)*........
01BD60: 20 20 20 20 20 20 6C 76 61 6C 32 5B 30 5D 3B 0D lval2[0];.
01BD70: 0A 09 09 09 09 09 20 20 20 20 20 20 20 20 6E 65 ...... ne
01BD80: 65 64 62 72 61 63 6B 28 22 5D 22 29 3B 0D 0A 09 edbrack("]");...
01BD90: 09 09 09 09 20 20 20 20 20 20 20 20 72 65 74 75 .... retu
01BDA0: 72 6E 20 4E 4F 54 4C 4F 41 44 45 44 3B 0D 0A 09 rn NOTLOADED;...
01BDB0: 09 09 09 09 20 20 20 20 20 20 20 20 7D 0D 0A 09 .... }...
01BDC0: 09 09 09 20 20 20 20 20 20 20 20 65 6C 73 65 20 ... else
01BDD0: 7B 0D 0A 09 09 09 09 09 20 20 20 20 20 20 20 20 {.......
01BDE0: 65 78 70 72 65 73 73 69 6F 6E 28 29 3B 0D 0A 09 expression();...
01BDF0: 09 09 09 09 20 20 20 20 20 20 20 20 73 69 7A 65 .... size
01BE00: 5F 61 64 6A 75 73 74 28 6C 76 61 6C 29 3B 0D 0A _adjust(lval);..
01BE10: 09 09 09 09 09 20 20 20 20 20 20 20 20 73 77 61 ..... swa
01BE20: 70 28 29 3B 0D 0A 09 09 09 09 09 20 20 20 20 20 p();.......
01BE30: 20 20 20 61 64 64 72 65 73 73 28 6C 76 61 6C 2C address(lval,
01BE40: 4E 4F 54 4C 4F 41 44 45 44 29 3B 0D 0A 09 09 09 NOTLOADED);.....
01BE50: 09 09 20 20 20 20 20 20 20 20 61 64 64 5F 61 64 .. add_ad
01BE60: 64 72 65 73 73 28 29 3B 0D 0A 09 09 09 09 09 20 dress();.......
01BE70: 20 20 20 20 20 20 20 6E 65 65 64 62 72 61 63 6B needbrack
01BE80: 28 22 5D 22 29 3B 0D 0A 09 09 09 09 09 20 20 20 ("]");.......
01BE90: 20 20 20 20 20 72 65 74 75 72 6E 20 41 44 44 52 return ADDR
01BEA0: 45 53 53 3B 0D 0A 09 09 09 09 09 20 20 20 20 20 ESS;.......
01BEB0: 20 20 20 7D 0D 0A 0D 0A 09 09 09 20 20 20 20 20 }.......
01BEC0: 20 20 20 2F 2A 20 70 6F 69 6E 74 65 72 20 74 6F /* pointer to
01BED0: 20 65 6C 65 6D 65 6E 74 73 20 2A 2F 0D 0A 09 09 elements */....
01BEE0: 09 20 20 20 20 20 20 20 20 63 61 73 65 20 70 6F . case po
01BEF0: 69 6E 74 65 72 3A 0D 0A 09 09 09 09 09 2A 73 74 inter:.......*st
01BF00: 09 7D 0D 0A 2F 2A 20 6F 75 74 70 75 74 20 65 78 .}../* output ex
01BF10: 74 72 6E 20 61 6E 64 20 73 79 6D 62 6F 6C 20 6E trn and symbol n
01BF20: 61 6D 65 20 2A 2F 0D 0A 65 78 74 72 6E 28 6E 29 ame */..extrn(n)
01BF30: 0D 0A 63 68 61 72 20 2A 6E 3B 0D 0A 7B 0D 0A 09 ..char *n;..{...
01BF40: 6F 75 74 73 74 72 28 22 5C 74 65 78 74 72 6E 5C outstr("\textrn\
01BF50: 74 22 29 3B 0D 0A 09 6F 75 74 73 74 72 28 6E 29 t");...outstr(n)
01BF60: 3B 6E 6C 28 29 3B 0D 0A 09 7D 0D 0A 0D 0A 2F 2A ;nl();...}..../*
01BF70: 20 6F 75 74 70 75 74 20 63 6F 6E 74 72 6F 6C 20 output control
01BF80: 73 65 63 74 69 6F 6E 20 20 6E 61 6D 65 20 61 6E section name an
01BF90: 64 20 6B 65 79 20 77 6F 72 64 20 2A 2F 0D 0A 63 d key word */..c
01BFA0: 73 65 63 74 28 6E 29 0D 0A 63 68 61 72 20 2A 6E sect(n)..char *n
01BFB0: 3B 0D 0A 7B 0D 0A 09 6F 75 74 73 74 72 28 6E 29 ;..{...outstr(n)
01BFC0: 3B 0D 0A 09 63 6F 6C 28 29 3B 0D 0A 09 6F 6C 28 ;...col();...ol(
01BFD0: 22 43 53 45 43 54 22 29 3B 0D 0A 09 7D 0D 0A 0D "CSECT");...}...
01BFE0: 0A 2F 2A 20 6F 75 74 70 75 74 20 64 61 74 61 20 ./* output data
01BFF0: 73 65 63 74 69 6F 6E 20 6E 61 6D 65 20 61 6E 64 section name and
01C000: 20 6B 65 79 20 77 6F 72 64 20 2A 2F 0D 0A 64 73 key word */..ds
01C010: 65 63 74 28 6E 29 0D 0A 63 68 61 72 20 2A 6E 3B ect(n)..char *n;
01C020: 0D 0A 7B 0D 0A 09 6F 75 74 73 74 72 28 6E 29 3B ..{...outstr(n);
01C030: 0D 0A 09 63 6F 6C 28 29 3B 0D 0A 09 6F 6C 28 22 ...col();...ol("
01C040: 64 73 65 63 74 22 29 3B 0D 0A 09 7D 0D 0A 2F 2A dsect");...}../*
01C050: 20 64 65 66 69 6E 65 20 76 61 6C 75 65 20 75 73 define value us
01C060: 69 6E 67 20 6D 69 6E 20 61 6D 6F 75 6E 74 20 6F ing min amount o
01C070: 66 20 73 74 72 6F 61 67 65 20 73 70 61 63 65 20 f stroage space
01C080: 2A 2F 0D 0A 64 65 66 76 61 6C 75 65 28 6E 75 6D */..defvalue(num
01C090: 29 0D 0A 69 6E 74 20 6E 75 6D 3B 0D 0A 7B 0D 0A )..int num;..{..
01C0A0: 09 69 66 20 28 69 73 62 79 74 65 28 6E 75 6D 29 .if (isbyte(num)
01C0B0: 29 20 64 65 66 62 79 74 65 28 29 3B 20 65 6C 73 ) defbyte(); els
01C0C0: 65 20 64 65 66 77 6F 72 64 28 29 3B 0D 0A 09 6F e defword();...o
01C0D0: 75 74 64 65 63 28 6E 75 6D 29 3B 0D 0A 09 6E 6C utdec(num);...nl
01C0E0: 28 29 3B 0D 0A 09 7D 0D 0A 0D 0A 2F 2A 20 63 68 ();...}..../* ch
01C0F0: 65 63 6B 20 74 6F 20 73 65 65 20 69 66 20 6E 75 eck to see if nu
01C100: 61 74 75 73 3D 46 41 4C 53 45 3B 0D 0A 09 09 09 atus=FALSE;.....
01C110: 09 20 20 20 20 20 20 20 20 69 66 20 28 63 6F 6E . if (con
01C120: 73 74 5F 65 78 70 28 6C 76 61 6C 32 29 20 26 26 st_exp(lval2) &&
01C130: 20 63 68 28 29 3D 3D 27 5D 27 29 20 7B 0D 0A 09 ch()==']') {...
01C140: 09 09 09 09 09 69 6D 6D 65 64 28 29 3B 0D 0A 09 .....immed();...
01C150: 09 09 09 09 09 6F 75 74 64 65 63 28 64 61 74 61 .....outdec(data
01C160: 5F 73 69 7A 65 28 6C 76 61 6C 29 2A 0D 0A 09 09 _size(lval)*....
01C170: 09 09 09 09 09 6C 76 61 6C 32 5B 30 5D 29 3B 0D .....lval2[0]);.
01C180: 0A 09 09 09 09 09 09 6E 6C 28 29 3B 0D 0A 09 09 .......nl();....
01C190: 09 09 09 09 73 77 61 70 28 29 3B 0D 0A 09 09 09 ....swap();.....
01C1A0: 09 09 09 72 76 61 6C 75 65 28 6C 76 61 6C 2C 32 ...rvalue(lval,2
01C1B0: 29 3B 0D 0A 09 09 09 09 09 09 61 64 64 5F 61 64 );........add_ad
01C1C0: 64 72 65 73 73 28 29 3B 0D 0A 09 09 09 09 09 20 dress();.......
01C1D0: 20 20 20 20 20 20 20 7D 0D 0A 09 09 09 09 20 20 }......
01C1E0: 20 20 20 20 20 20 65 6C 73 65 20 7B 0D 0A 09 09 else {....
01C1F0: 09 09 09 20 20 20 20 20 20 20 20 65 78 70 72 65 ... expre
01C200: 73 73 69 6F 6E 28 29 3B 0D 0A 09 09 09 09 09 20 ssion();.......
01C210: 20 20 20 20 20 20 20 73 69 7A 65 5F 61 64 6A 75 size_adju
01C220: 73 74 28 6C 76 61 6C 29 3B 0D 0A 09 09 09 09 09 st(lval);.......
01C230: 20 20 20 20 20 20 20 20 73 77 61 70 28 29 3B 0D swap();.
01C240: 0A 09 09 09 09 09 20 20 20 20 20 20 20 20 72 76 ...... rv
01C250: 61 6C 75 65 28 6C 76 61 6C 2C 32 29 3B 0D 0A 09 alue(lval,2);...
01C260: 09 09 09 09 20 20 20 20 20 20 20 20 61 64 64 5F .... add_
01C270: 61 64 64 72 65 73 73 28 29 3B 0D 0A 09 09 09 09 address();......
01C280: 09 20 20 20 20 20 20 20 20 7D 0D 0A 09 09 09 09 . }......
01C290: 20 20 20 20 20 20 20 20 6E 65 65 64 62 72 61 63 needbrac
01C2A0: 6B 28 22 5D 22 29 3B 0D 0A 09 09 09 09 09 6C 76 k("]");.......lv
01C2B0: 61 6C 5B 31 5D 20 2B 3D 20 31 3B 0D 0A 09 09 09 al[1] += 1;.....
01C2C0: 09 20 20 20 20 20 20 20 20 72 65 74 75 72 6E 20 . return
01C2D0: 41 44 44 52 45 53 53 3B 0D 0A 0D 0A 09 09 09 20 ADDRESS;.......
01C2E0: 20 20 20 20 20 20 20 2F 2A 20 6E 6F 74 20 61 20 /* not a
01C2F0: 76 61 69 6C 64 20 69 64 65 6E 74 20 66 6F 72 20 vaild ident for
01C300: 6D 62 65 72 20 69 73 20 61 20 62 79 74 65 20 2A mber is a byte *
01C310: 2F 0D 0A 69 73 62 79 74 65 28 6E 75 6D 29 0D 0A /..isbyte(num)..
01C320: 69 6E 74 20 6E 75 6D 3B 0D 0A 7B 0D 0A 09 72 65 int num;..{...re
01C330: 74 75 72 6E 20 28 6E 75 6D 20 3E 3D 20 30 20 26 turn (num >= 0 &
01C340: 26 20 6E 75 6D 20 3C 3D 32 35 35 29 3B 0D 0A 09 & num <=255);...
01C350: 7D 0D 0A 0D 0A 2F 2A 20 50 72 69 6E 74 20 70 73 }..../* Print ps
01C360: 65 75 64 6F 2D 6F 70 20 74 6F 20 64 65 66 69 6E eudo-op to defin
01C370: 65 20 61 20 62 79 74 65 20 2A 2F 0D 0A 64 65 66 e a byte */..def
01C380: 62 79 74 65 28 29 0D 0A 7B 0D 0A 09 6F 74 28 22 byte()..{...ot("
01C390: 64 62 5C 74 22 29 3B 0D 0A 09 7D 0D 0A 2F 2A 20 db\t");...}../*
01C3A0: 50 72 69 6E 74 20 70 73 65 75 64 6F 2D 6F 70 20 Print pseudo-op
01C3B0: 74 6F 20 64 65 66 69 6E 65 20 73 74 6F 72 61 67 to define storag
01C3C0: 65 20 2A 2F 0D 0A 64 65 66 73 74 6F 72 61 67 65 e */..defstorage
01C3D0: 28 29 0D 0A 7B 0D 0A 09 6F 74 28 22 64 73 5C 74 ()..{...ot("ds\t
01C3E0: 22 29 3B 0D 0A 09 7D 0D 0A 2F 2A 20 50 72 69 6E ");...}../* Prin
01C3F0: 74 20 70 73 65 75 64 6F 2D 6F 70 20 74 6F 20 64 t pseudo-op to d
01C400: 65 66 69 6E 65 20 61 20 77 6F 72 64 20 2A 2F 0D efine a word */.
01C410: 0A 64 65 66 77 6F 72 64 28 29 0D 0A 7B 0D 0A 09 .defword()..{...
01C420: 6F 74 28 22 64 77 5C 74 22 29 3B 0D 0A 09 7D 0D ot("dw\t");...}.
01C430: 0A 2F 2A 20 4D 6F 64 69 66 79 20 74 68 65 20 73 ./* Modify the s
01C440: 74 61 63 6B 20 70 6F 69 6E 74 65 72 20 74 6F 20 tack pointer to
01C450: 74 68 65 20 6E 65 77 20 76 61 6C 75 65 20 69 6E the new value in
01C460: 64 69 63 61 74 65 64 20 2A 2F 0D 0A 6D 6F 64 73 dicated */..mods
01C470: 74 6B 28 6E 65 77 73 70 29 0D 0A 69 6E 74 20 6E tk(newsp)..int n
01C480: 65 77 73 70 3B 0D 0A 7B 0D 0A 09 69 6E 74 20 6B ewsp;..{...int k
01C490: 3B 0D 0A 09 6B 3D 6E 65 77 73 70 2D 73 70 3B 0D ;...k=newsp-sp;.
01C4A0: 0A 09 69 66 20 28 21 6B 29 20 72 65 74 75 72 6E ..if (!k) return
01C4B0: 20 6E 65 77 73 70 3B 0D 0A 09 69 66 20 28 20 6B newsp;...if ( k
01C4C0: 20 3E 3D 20 30 29 20 7B 0D 0A 09 09 69 66 28 6B >= 0) {....if(k
01C4D0: 3C 37 29 20 7B 0D 0A 09 09 09 69 66 20 28 6B 26 <7) {.....if (k&
01C4E0: 31 29 20 7B 0D 0A 09 09 09 09 6F 6C 28 22 69 6E 1) {......ol("in
01C4F0: 78 5C 74 73 70 22 29 3B 0D 0A 09 09 09 09 6B 2D x\tsp");......k-
01C500: 73 75 62 73 63 72 69 70 74 20 2A 2F 0D 0A 09 09 subscript */....
01C510: 09 20 20 20 20 20 20 20 20 64 65 66 61 75 6C 74 . default
01C520: 20 3A 0D 0A 09 09 09 09 20 20 20 20 20 20 20 20 :......
01C530: 73 75 62 65 72 72 6F 72 28 70 74 72 29 3B 0D 0A suberror(ptr);..
01C540: 09 09 09 09 20 20 20 20 20 20 20 20 72 65 74 75 .... retu
01C550: 72 6E 20 4C 4F 41 44 45 44 3B 0D 0A 09 09 09 20 rn LOADED;.....
01C560: 20 20 20 20 20 20 20 7D 0D 0A 0D 0A 09 20 20 20 }.....
01C570: 20 20 20 20 20 2F 2A 20 61 20 66 75 6E 63 74 69 /* a functi
01C580: 6F 6E 20 63 61 6C 6C 20 2A 2F 0D 0A 09 20 20 20 on call */...
01C590: 20 20 20 20 20 63 61 73 65 20 27 28 27 20 3A 0D case '(' :.
01C5A0: 0A 09 09 09 2A 73 74 61 74 75 73 3D 46 41 4C 53 ....*status=FALS
01C5B0: 45 3B 0D 0A 09 09 20 20 20 20 20 20 20 20 67 63 E;.... gc
01C5C0: 68 28 29 3B 20 2F 2A 20 65 61 74 20 27 28 27 20 h(); /* eat '('
01C5D0: 2A 2F 0D 0A 09 09 20 20 20 20 20 20 20 20 63 61 */.... ca
01C5E0: 6C 6C 66 75 6E 63 74 69 6F 6E 28 6C 76 61 6C 5B llfunction(lval[
01C5F0: 30 5D 29 3B 0D 0A 09 09 20 20 20 20 20 20 20 20 0]);....
01C600: 72 65 74 75 72 6E 20 4C 4F 41 44 45 44 3B 0D 0A return LOADED;..
01C610: 0D 0A 09 20 20 20 20 20 20 20 20 2F 2A 20 6E 6F ... /* no
01C620: 74 20 61 20 73 75 62 73 63 72 69 70 74 65 64 20 t a subscripted
01C630: 6F 72 20 66 75 6E 63 74 69 6F 6E 20 63 61 6C 6C or function call
01C640: 20 28 6E 6F 74 20 66 6F 72 20 74 68 69 73 20 6C (not for this l
01C650: 65 76 65 6C 20 2A 2F 0D 0A 09 20 20 20 20 20 20 evel */...
01C660: 20 20 64 65 66 61 75 6C 74 3A 0D 0A 09 09 20 20 default:....
01C670: 20 20 20 20 20 20 72 65 74 75 72 6E 20 6B 3B 0D return k;.
01C680: 0A 09 20 20 20 20 20 20 20 20 7D 0D 0A 20 20 20 .. }..
01C690: 20 20 20 20 20 7D 0D 0A 0D 0A 70 72 69 6D 61 72 }....primar
01C6A0: 79 28 6C 76 61 6C 2C 73 74 61 74 75 73 29 0D 0A y(lval,status)..
01C6B0: 69 6E 74 20 2A 6C 76 61 6C 3B 0D 0A 69 6E 74 20 int *lval;..int
01C6C0: 2A 73 74 61 74 75 73 3B 0D 0A 7B 0D 0A 20 20 20 *status;..{..
01C6D0: 20 20 20 20 20 63 68 61 72 20 2A 70 74 72 3B 0D char *ptr;.
01C6E0: 0A 20 20 20 20 20 20 20 20 63 68 61 72 20 73 6E . char sn
01C6F0: 61 6D 65 5B 6E 61 6D 65 73 69 7A 65 5D 3B 0D 0A ame[namesize];..
01C700: 2D 3B 0D 0A 09 09 09 09 7D 0D 0A 09 09 09 77 68 -;......}.....wh
01C710: 69 6C 65 28 6B 29 20 7B 0D 0A 09 09 09 09 6F 6C ile(k) {......ol
01C720: 28 22 70 6F 70 5C 74 62 22 29 3B 0D 0A 09 09 09 ("pop\tb");.....
01C730: 09 6B 3D 6B 2D 32 3B 0D 0A 09 09 09 09 7D 0D 0A .k=k-2;......}..
01C740: 09 09 09 72 65 74 75 72 6E 20 6E 65 77 73 70 3B ...return newsp;
01C750: 0D 0A 09 09 09 7D 0D 0A 09 09 7D 0D 0A 09 69 66 .....}....}...if
01C760: 20 28 6B 3C 30 29 20 7B 0D 0A 09 09 69 66 20 28 (k<0) {....if (
01C770: 6B 3E 2D 37 29 20 7B 0D 0A 09 09 09 69 66 20 28 k>-7) {.....if (
01C780: 6B 26 31 29 20 7B 0D 0A 09 09 09 09 6F 6C 28 22 k&1) {......ol("
01C790: 64 63 78 5C 74 73 70 22 29 3B 0D 0A 09 09 09 09 dcx\tsp");......
01C7A0: 6B 2B 2B 3B 0D 0A 09 09 09 09 7D 0D 0A 09 09 09 k++;......}.....
01C7B0: 77 68 69 6C 65 28 6B 29 20 7B 0D 0A 09 09 09 09 while(k) {......
01C7C0: 6F 6C 28 22 70 75 73 68 5C 74 62 22 29 3B 0D 0A ol("push\tb");..
01C7D0: 09 09 09 09 6B 3D 6B 2B 32 3B 0D 0A 09 09 09 09 ....k=k+2;......
01C7E0: 7D 0D 0A 09 09 09 72 65 74 75 72 6E 20 6E 65 77 }.....return new
01C7F0: 73 70 3B 0D 0A 09 09 09 7D 0D 0A 09 09 7D 0D 0A sp;.....}....}..
01C800: 09 73 77 61 70 28 29 3B 0D 0A 09 69 6D 6D 65 64 .swap();...immed
01C810: 28 29 3B 0D 0A 09 6F 75 74 64 65 63 28 6B 29 3B ();...outdec(k);
01C820: 0D 0A 09 6E 6C 28 29 3B 0D 0A 09 6F 6C 28 22 64 ...nl();...ol("d
01C830: 61 64 5C 74 73 70 22 29 3B 0D 0A 09 6F 6C 28 22 ad\tsp");...ol("
01C840: 73 70 68 6C 22 29 3B 0D 0A 09 73 77 61 70 28 29 sphl");...swap()
01C850: 3B 0D 0A 09 72 65 74 75 72 6E 20 6E 65 77 73 70 ;...return newsp
01C860: 3B 0D 0A 09 7D 0D 0A 2F 2A 09 44 6F 75 62 6C 65 ;...}../*.Double
01C870: 20 74 68 65 20 70 72 69 6D 61 72 79 20 72 65 67 the primary reg
01C880: 69 73 74 65 72 09 2A 2F 0D 0A 64 6F 75 62 6C 65 ister.*/..double
01C890: 72 65 67 28 29 0D 0A 7B 0D 0A 09 6F 6C 28 22 64 reg()..{...ol("d
01C8A0: 61 64 5C 74 68 22 29 3B 0D 0A 09 7D 0D 0A 0D 0A ad\th");...}....
01C8B0: 0D 0A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A ................
01C8C0: 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A ................
01C8D0: 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A ................
01C8E0: 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A ................
01C8F0: 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A ................
01C900: 54 72 61 63 6B 2D 49 6E 66 6F 0D 0A 00 00 00 00 Track-Info......
01C910: 18 00 01 00 02 09 52 E5 18 00 C1 02 00 00 00 02 ......R.........
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: 20 20 20 20 20 20 20 20 69 6E 74 20 20 6E 75 6D int num
01CA10: 5B 31 5D 3B 0D 0A 20 20 20 20 20 20 20 20 69 6E [1];.. in
01CA20: 74 20 6B 3B 0D 0A 0D 0A 20 20 20 20 20 20 20 20 t k;....
01CA30: 2F 2A 20 63 6C 65 61 72 20 6C 76 61 6C 20 61 72 /* clear lval ar
01CA40: 72 61 79 20 66 6F 72 20 75 73 65 20 2A 2F 0D 0A ray for use */..
01CA50: 20 20 20 20 20 20 20 20 6C 76 61 6C 5B 30 5D 3D lval[0]=
01CA60: 0D 0A 20 20 20 20 20 20 20 20 6C 76 61 6C 5B 31 .. lval[1
01CA70: 5D 3D 0D 0A 20 20 20 20 20 20 20 20 6C 76 61 6C ]=.. lval
01CA80: 5B 32 5D 3D 30 3B 0D 0A 0D 0A 20 20 20 20 20 20 [2]=0;....
01CA90: 20 20 69 66 28 6D 61 74 63 68 28 22 28 22 29 29 if(match("("))
01CAA0: 20 7B 0D 0A 09 20 20 20 20 20 20 20 20 6B 3D 68 {... k=h
01CAB0: 65 69 72 31 28 6C 76 61 6C 2C 73 74 61 74 75 73 eir1(lval,status
01CAC0: 29 3B 0D 0A 09 20 20 20 20 20 20 20 20 6E 65 65 );... nee
01CAD0: 64 62 72 61 63 6B 28 22 29 22 29 3B 0D 0A 09 20 dbrack(")");...
01CAE0: 20 20 20 20 20 20 20 72 65 74 75 72 6E 20 6B 3B return k;
01CAF0: 0D 0A 09 20 20 20 20 20 20 20 20 7D 0D 0A 0D 0A ... }....
01CB00: 09 2A 73 74 61 74 75 73 3D 46 41 4C 53 45 3B 0D .*status=FALSE;.
01CB10: 0A 20 20 20 20 20 20 20 20 69 66 20 28 73 79 6D . if (sym
01CB20: 6E 61 6D 65 28 73 6E 61 6D 65 29 29 20 7B 0D 0A name(sname)) {..
01CB30: 09 20 20 20 20 20 20 20 20 69 66 20 28 28 6C 76 . if ((lv
01CB40: 61 6C 5B 30 5D 3D 66 69 6E 64 6C 6F 63 28 73 6E al[0]=findloc(sn
01CB50: 61 6D 65 29 29 29 20 72 65 74 75 72 6E 20 32 3B ame))) return 2;
01CB60: 0D 0A 09 20 20 20 20 20 20 20 20 69 66 20 28 28 ... if ((
01CB70: 6C 76 61 6C 5B 30 5D 3D 70 74 72 3D 66 69 6E 64 lval[0]=ptr=find
01CB80: 67 6C 62 28 73 6E 61 6D 65 29 29 29 0D 0A 09 09 glb(sname)))....
01CB90: 20 20 20 20 20 20 20 20 69 66 20 28 70 74 72 5B if (ptr[
01CBA0: 69 64 65 6E 74 5D 20 21 3D 20 66 75 6E 63 74 69 ident] != functi
01CBB0: 6F 6E 29 20 72 65 74 75 72 6E 20 32 3B 0D 0A 09 on) return 2;...
01CBC0: 20 20 20 20 20 20 20 20 69 66 20 28 63 68 28 29 if (ch()
01CBD0: 20 3D 3D 27 28 27 29 20 7B 0D 0A 09 09 20 20 20 =='(') {....
01CBE0: 20 20 20 20 20 69 66 20 28 21 28 70 74 72 3D 66 if (!(ptr=f
01CBF0: 69 6E 64 67 6C 62 28 73 6E 61 6D 65 29 29 29 0D indglb(sname))).
01CC00: 2A 70 74 72 3B 0D 0A 20 20 20 20 20 20 20 20 69 *ptr;.. i
01CC10: 66 20 28 21 28 70 74 72 3D 6C 76 61 6C 5B 30 5D f (!(ptr=lval[0]
01CC20: 29 20 7C 7C 20 6B 20 21 3D 20 4E 4F 54 4C 4F 41 ) || k != NOTLOA
01CC30: 44 45 44 29 20 72 65 74 75 72 6E 3B 0D 0A 20 20 DED) return;..
01CC40: 20 20 20 20 20 20 73 77 69 74 63 68 28 70 74 72 switch(ptr
01CC50: 5B 73 74 6F 72 61 67 65 5D 29 20 7B 0D 0A 0D 0A [storage]) {....
01CC60: 09 20 20 20 20 20 20 20 20 2F 2A 20 67 6C 6F 62 . /* glob
01CC70: 61 6C 20 73 79 6D 62 6F 6C 20 2A 2F 0D 0A 09 20 al symbol */...
01CC80: 20 20 20 20 20 20 20 63 61 73 65 20 73 74 61 74 case stat
01CC90: 69 6B 20 3A 0D 0A 09 09 20 20 20 20 20 20 20 20 ik :....
01CCA0: 69 6D 6D 65 64 28 29 3B 0D 0A 09 09 20 20 20 20 immed();....
01CCB0: 20 20 20 20 6F 75 74 73 74 72 28 70 74 72 2B 6E outstr(ptr+n
01CCC0: 61 6D 65 29 3B 0D 0A 09 09 20 20 20 20 20 20 20 ame);....
01CCD0: 20 69 66 20 28 6C 76 61 6C 5B 32 5D 29 20 7B 0D if (lval[2]) {.
01CCE0: 0A 09 09 09 20 20 20 20 20 20 20 20 6F 75 74 73 .... outs
01CCF0: 74 72 28 22 2B 22 29 3B 0D 0A 09 09 09 20 20 20 tr("+");.....
01CD00: 20 20 20 20 20 6F 75 74 64 65 63 28 6C 76 61 6C outdec(lval
01CD10: 5B 32 5D 29 3B 0D 0A 09 09 09 20 20 20 20 20 20 [2]);.....
01CD20: 20 20 7D 0D 0A 09 09 20 20 20 20 20 20 20 20 6E }.... n
01CD30: 6C 28 29 3B 0D 0A 09 09 20 20 20 20 20 20 20 20 l();....
01CD40: 62 72 65 61 6B 3B 0D 0A 0D 0A 09 20 20 20 20 20 break;.....
01CD50: 20 20 20 2F 2A 20 6C 6F 63 61 6C 20 73 79 6D 62 /* local symb
01CD60: 6F 6C 20 2A 2F 0D 0A 09 20 20 20 20 20 20 20 20 ol */...
01CD70: 63 61 73 65 20 73 74 6B 6C 6F 63 20 3A 0D 0A 09 case stkloc :...
01CD80: 20 20 20 20 20 20 20 20 63 61 73 65 20 73 74 6B case stk
01CD90: 61 72 67 20 3A 0D 0A 09 09 20 20 20 20 20 20 20 arg :....
01CDA0: 20 69 6D 6D 65 64 28 29 3B 0D 0A 09 09 20 20 20 immed();....
01CDB0: 20 20 20 20 20 6F 75 74 64 65 63 28 28 70 74 72 outdec((ptr
01CDC0: 5B 6F 66 66 73 65 74 5D 2B 70 74 72 5B 6F 66 66 [offset]+ptr[off
01CDD0: 73 65 74 31 5D 2A 32 35 36 2B 6C 76 61 6C 5B 32 set1]*256+lval[2
01CDE0: 5D 29 2D 73 70 29 3B 0D 0A 09 09 20 20 20 20 20 ])-sp);....
01CDF0: 20 20 20 6E 6C 28 29 3B 0D 0A 09 09 20 20 20 20 nl();....
01CE00: 0A 09 09 20 20 20 20 20 20 20 20 69 66 20 28 67 ... if (g
01CE10: 6C 62 70 74 72 3E 3D 65 6E 64 67 6C 62 29 20 7B lbptr>=endglb) {
01CE20: 0D 0A 09 09 09 20 20 20 20 20 20 20 20 65 72 72 ..... err
01CE30: 6F 72 28 22 67 6C 6F 62 61 6C 20 73 79 6D 62 6F or("global symbo
01CE40: 6C 20 74 61 62 6C 65 20 6F 66 76 65 72 66 6C 6F l table ofverflo
01CE50: 77 22 29 3B 0D 0A 09 09 09 20 20 20 20 20 20 20 w");.....
01CE60: 20 7D 0D 0A 09 09 20 20 20 20 20 20 20 20 65 6C }.... el
01CE70: 73 65 20 7B 0D 0A 09 09 09 20 20 20 20 20 20 20 se {.....
01CE80: 20 70 74 72 3D 67 6C 62 70 74 72 3B 0D 0A 09 09 ptr=glbptr;....
01CE90: 09 20 20 20 20 20 20 20 20 67 6C 62 70 74 72 2B . glbptr+
01CEA0: 3D 73 79 6D 73 69 7A 3B 0D 0A 09 09 09 20 20 20 =symsiz;.....
01CEB0: 20 20 20 20 20 73 74 72 63 70 79 28 70 74 72 2B strcpy(ptr+
01CEC0: 6E 61 6D 65 2C 73 6E 61 6D 65 29 3B 0D 0A 09 09 name,sname);....
01CED0: 09 20 20 20 20 20 20 20 20 70 74 72 5B 69 64 65 . ptr[ide
01CEE0: 6E 74 5D 3D 66 75 6E 63 74 69 6F 6E 3B 0D 0A 09 nt]=function;...
01CEF0: 09 09 20 20 20 20 20 20 20 20 70 74 72 5B 74 79 .. ptr[ty
01CF00: 70 65 5D 3D 63 69 6E 74 3B 0D 0A 09 09 09 20 20 pe]=cint;.....
01CF10: 20 20 20 20 20 20 70 74 72 5B 6F 66 66 73 65 74 ptr[offset
01CF20: 5D 3D 0D 0A 09 09 09 20 20 20 20 20 20 20 20 70 ]=..... p
01CF30: 74 72 5B 6F 66 66 73 65 74 31 5D 3D 0D 0A 09 09 tr[offset1]=....
01CF40: 09 20 20 20 20 20 20 20 20 70 74 72 5B 73 74 6F . ptr[sto
01CF50: 72 61 67 65 5D 3D 0D 0A 09 09 09 20 20 20 20 20 rage]=.....
01CF60: 20 20 20 70 74 72 5B 69 6E 64 63 6E 74 5D 3D 30 ptr[indcnt]=0
01CF70: 3B 0D 0A 09 09 09 20 20 20 20 20 20 20 20 7D 0D ;..... }.
01CF80: 0A 0D 0A 09 09 20 20 20 20 20 20 20 20 6C 76 61 ..... lva
01CF90: 6C 5B 30 5D 3D 70 74 72 3B 0D 0A 09 09 20 20 20 l[0]=ptr;....
01CFA0: 20 20 20 20 20 72 65 74 75 72 6E 20 32 3B 0D 0A return 2;..
01CFB0: 09 09 20 20 20 20 20 20 20 20 7D 0D 0A 09 20 20 .. }...
01CFC0: 20 20 20 20 20 20 65 6C 73 65 20 7B 0D 0A 09 09 else {....
01CFD0: 20 20 20 20 20 20 20 20 75 6E 64 65 66 69 6E 65 undefine
01CFE0: 28 73 6E 61 6D 65 29 3B 0D 0A 09 09 20 20 20 20 (sname);....
01CFF0: 20 20 20 20 72 65 74 75 72 6E 20 30 3B 0D 0A 09 return 0;...
01D000: 20 20 20 20 6F 74 28 22 64 61 64 5C 74 73 70 22 ot("dad\tsp"
01D010: 29 3B 0D 0A 09 09 20 20 20 20 20 20 20 20 6E 6C );.... nl
01D020: 28 29 3B 0D 0A 09 09 20 20 20 20 20 20 20 20 62 ();.... b
01D030: 72 65 61 6B 3B 0D 0A 0D 0A 09 20 20 20 20 20 20 reak;.....
01D040: 20 20 7D 0D 0A 20 20 20 20 20 20 20 20 7D 0D 0A }.. }..
01D050: 2F 2A 09 09 09 09 09 09 2A 2F 0D 0A 2F 2A 09 64 /*......*/../*.d
01D060: 61 74 65 20 77 72 69 74 74 65 6E 20 36 2F 36 2F ate written 6/6/
01D070: 38 31 20 62 79 20 4D 69 6B 65 20 42 65 72 6E 73 81 by Mike Berns
01D080: 6F 6E 09 2A 2F 0D 0A 2F 2A 09 09 09 09 09 09 2A on.*/../*......*
01D090: 2F 0D 0A 2F 2A 09 63 68 65 63 6B 20 74 6F 20 73 /../*.check to s
01D0A0: 65 65 20 69 66 20 73 74 61 74 69 63 20 6C 6F 61 ee if static loa
01D0B0: 64 20 6F 72 20 73 74 6F 72 65 09 2A 2F 0D 0A 2F d or store.*/../
01D0C0: 2A 09 09 09 09 09 09 2A 2F 0D 0A 6C 6F 61 64 73 *......*/..loads
01D0D0: 74 61 74 69 63 28 6C 76 61 6C 2C 6B 29 0D 0A 69 tatic(lval,k)..i
01D0E0: 6E 74 20 2A 6C 76 61 6C 3B 0D 0A 69 6E 74 20 6B nt *lval;..int k
01D0F0: 3B 0D 0A 7B 0D 0A 09 63 68 61 72 20 2A 70 74 72 ;..{...char *ptr
01D100: 3B 0D 0A 0D 0A 09 70 74 72 3D 6C 76 61 6C 5B 30 ;.....ptr=lval[0
01D110: 5D 3B 0D 0A 09 69 66 20 28 70 74 72 5B 73 74 6F ];...if (ptr[sto
01D120: 72 61 67 65 5D 20 3D 3D 20 73 74 61 74 69 6B 20 rage] == statik
01D130: 26 26 20 6B 20 3D 3D 20 4E 4F 54 4C 4F 41 44 45 && k == NOTLOADE
01D140: 44 29 20 72 65 74 75 72 6E 20 54 52 55 45 3B 0D D) return TRUE;.
01D150: 0A 09 65 6C 73 65 20 72 65 74 75 72 6E 20 46 41 ..else return FA
01D160: 4C 53 45 3B 0D 0A 09 7D 0D 0A 2F 2A 09 09 09 09 LSE;...}../*....
01D170: 09 20 20 20 20 20 20 20 20 2A 2F 0D 0A 2F 2A 20 . */../*
01D180: 20 20 20 20 20 64 61 74 65 20 77 72 69 74 74 65 date writte
01D190: 6E 20 34 2F 33 30 2F 38 31 20 42 79 20 4D 69 6B n 4/30/81 By Mik
01D1A0: 65 20 42 65 72 6E 73 6F 6E 20 20 20 20 2A 2F 0D e Bernson */.
01D1B0: 0A 2F 2A 09 09 09 09 09 20 20 20 20 20 20 20 20 ./*.....
01D1C0: 2A 2F 0D 0A 73 74 6F 72 65 28 6C 76 61 6C 2C 6B */..store(lval,k
01D1D0: 29 0D 0A 69 6E 74 20 2A 6C 76 61 6C 3B 0D 0A 69 )..int *lval;..i
01D1E0: 6E 74 20 6B 3B 0D 0A 7B 0D 0A 20 20 20 20 20 20 nt k;..{..
01D1F0: 20 20 63 68 61 72 20 2A 70 74 72 3B 0D 0A 09 70 char *ptr;...p
01D200: 09 20 20 20 20 20 20 20 20 7D 0D 0A 09 20 20 20 . }...
01D210: 20 20 20 20 20 7D 0D 0A 20 20 20 20 20 20 20 20 }..
01D220: 69 66 20 28 63 6F 6E 73 74 61 6E 74 28 6E 75 6D if (constant(num
01D230: 29 29 20 7B 0D 0A 09 20 20 20 20 20 20 20 20 72 )) {... r
01D240: 65 74 75 72 6E 20 30 3B 0D 0A 09 20 20 20 20 20 eturn 0;...
01D250: 20 20 20 7D 0D 0A 20 20 20 20 20 20 20 20 65 6C }.. el
01D260: 73 65 20 7B 0D 0A 09 20 20 20 20 20 20 20 20 65 se {... e
01D270: 72 72 6F 72 28 22 69 6E 76 61 6C 69 64 20 65 78 rror("invalid ex
01D280: 70 72 65 73 73 69 6F 6E 22 29 3B 0D 0A 09 20 20 pression");...
01D290: 20 20 20 20 20 20 6A 75 6E 6B 28 29 3B 0D 0A 09 junk();...
01D2A0: 20 20 20 20 20 20 20 20 72 65 74 75 72 6E 20 30 return 0
01D2B0: 3B 0D 0A 09 20 20 20 20 20 20 20 20 7D 0D 0A 20 ;... }..
01D2C0: 20 20 20 7D 0D 0A 0D 0A 2F 2A 09 09 09 09 09 20 }..../*.....
01D2D0: 20 20 20 20 20 20 20 2A 2F 0D 0A 2F 2A 20 20 20 */../*
01D2E0: 20 20 20 77 72 69 74 74 65 6E 20 34 2F 32 33 2F written 4/23/
01D2F0: 38 31 20 62 79 20 4D 69 6B 65 20 42 65 72 6E 73 81 by Mike Berns
01D300: 6F 6E 20 20 20 20 20 20 20 20 20 2A 2F 0D 0A 2F on */../
01D310: 2A 09 09 09 09 09 20 20 20 20 20 20 20 20 2A 2F *..... */
01D320: 0D 0A 73 69 7A 65 5F 61 64 6A 75 73 74 28 6C 76 ..size_adjust(lv
01D330: 61 6C 29 0D 0A 69 6E 74 20 2A 6C 76 61 6C 3B 0D al)..int *lval;.
01D340: 0A 7B 0D 0A 20 20 20 20 20 20 20 20 69 6E 74 20 .{.. int
01D350: 73 69 7A 65 3B 0D 0A 20 20 20 20 20 20 20 20 73 size;.. s
01D360: 69 7A 65 3D 64 61 74 61 5F 73 69 7A 65 28 6C 76 ize=data_size(lv
01D370: 61 6C 29 3B 0D 0A 20 20 20 20 20 20 20 20 69 66 al);.. if
01D380: 20 28 73 69 7A 65 20 3D 3D 20 31 29 20 72 65 74 (size == 1) ret
01D390: 75 72 6E 3B 0D 0A 20 20 20 20 20 20 20 20 69 66 urn;.. if
01D3A0: 20 28 73 69 7A 65 20 3D 3D 20 32 29 20 7B 0D 0A (size == 2) {..
01D3B0: 09 20 20 20 20 20 20 20 20 64 6F 75 62 6C 65 72 . doubler
01D3C0: 65 67 28 29 3B 0D 0A 09 20 20 20 20 20 20 20 20 eg();...
01D3D0: 7D 0D 0A 20 20 20 20 20 20 20 20 7D 0D 0A 0D 0A }.. }....
01D3E0: 2F 2A 09 09 09 09 09 20 20 20 20 20 20 20 20 2A /*..... *
01D3F0: 2F 0D 0A 2F 2A 20 20 20 20 20 20 77 72 69 74 74 /../* writt
01D400: 74 72 3D 6C 76 61 6C 5B 30 5D 3B 0D 0A 20 20 20 tr=lval[0];..
01D410: 20 20 20 20 20 69 66 20 28 6B 3D 3D 30 29 20 72 if (k==0) r
01D420: 65 74 75 72 6E 3B 0D 0A 20 20 20 20 20 20 20 20 eturn;..
01D430: 73 77 69 74 63 68 28 70 74 72 5B 73 74 6F 72 61 switch(ptr[stora
01D440: 67 65 5D 29 20 7B 0D 0A 0D 0A 09 20 20 20 20 20 ge]) {.....
01D450: 20 20 20 2F 2A 20 6C 6F 63 61 6C 20 6F 72 20 61 /* local or a
01D460: 72 67 20 74 79 70 65 20 2A 2F 0D 0A 09 20 20 20 rg type */...
01D470: 20 20 20 20 20 63 61 73 65 20 73 74 6B 6C 6F 63 case stkloc
01D480: 20 3A 0D 0A 09 20 20 20 20 20 20 20 20 63 61 73 :... cas
01D490: 65 20 73 74 6B 61 72 67 20 3A 0D 0A 09 20 20 20 e stkarg :...
01D4A0: 20 20 20 20 20 73 77 69 74 63 68 28 70 74 72 5B switch(ptr[
01D4B0: 69 64 65 6E 74 5D 29 20 7B 0D 0A 0D 0A 09 09 20 ident]) {......
01D4C0: 20 20 20 20 20 20 20 2F 2A 20 69 64 65 6E 74 20 /* ident
01D4D0: 3D 61 72 72 61 79 20 2A 2F 0D 0A 09 09 20 20 20 =array */....
01D4E0: 20 20 20 20 20 63 61 73 65 20 61 72 72 61 79 3A case array:
01D4F0: 0D 0A 09 09 09 20 20 20 20 20 20 20 20 69 66 20 ..... if
01D500: 28 6C 76 61 6C 5B 31 5D 20 3D 3D 20 70 74 72 5B (lval[1] == ptr[
01D510: 69 6E 64 63 6E 74 5D 29 0D 0A 09 09 09 09 09 69 indcnt]).......i
01D520: 66 20 28 6B 3D 3D 41 44 44 52 45 53 53 29 20 70 f (k==ADDRESS) p
01D530: 75 74 73 74 6B 28 70 74 72 5B 74 79 70 65 5D 29 utstk(ptr[type])
01D540: 3B 0D 0A 09 09 09 09 09 65 6C 73 65 20 70 75 74 ;.......else put
01D550: 6D 65 6D 5F 73 74 61 63 6B 28 6C 76 61 6C 2C 70 mem_stack(lval,p
01D560: 74 72 5B 74 79 70 65 5D 29 3B 0D 0A 09 09 09 20 tr[type]);.....
01D570: 20 20 20 20 20 20 20 62 72 65 61 6B 3B 0D 0A 0D break;...
01D580: 0A 09 09 20 20 20 20 20 20 20 20 2F 2A 20 69 64 ... /* id
01D590: 65 6E 74 20 69 73 20 61 6E 20 70 6F 69 6E 74 65 ent is an pointe
01D5A0: 72 20 2A 2F 0D 0A 09 09 20 20 20 20 20 20 20 20 r */....
01D5B0: 63 61 73 65 20 70 6F 69 6E 74 65 72 3A 0D 0A 09 case pointer:...
01D5C0: 09 09 20 20 20 20 20 20 20 20 69 66 20 28 6C 76 .. if (lv
01D5D0: 61 6C 5B 31 5D 20 3D 3D 20 70 74 72 5B 69 6E 64 al[1] == ptr[ind
01D5E0: 63 6E 74 5D 29 0D 0A 09 09 09 09 09 69 66 20 28 cnt]).......if (
01D5F0: 6B 3D 3D 41 44 44 52 45 53 53 29 20 70 75 74 73 k==ADDRESS) puts
01D600: 65 6E 20 34 2F 32 33 2F 38 31 20 42 79 20 4D 69 en 4/23/81 By Mi
01D610: 6B 65 20 42 65 72 6E 73 6F 6E 20 20 20 20 20 20 ke Bernson
01D620: 20 20 20 2A 2F 0D 0A 2F 2A 09 09 09 09 09 20 20 */../*.....
01D630: 20 20 20 20 20 20 2A 2F 0D 0A 64 61 74 61 5F 73 */..data_s
01D640: 69 7A 65 28 6C 76 61 6C 29 0D 0A 69 6E 74 20 2A ize(lval)..int *
01D650: 6C 76 61 6C 3B 0D 0A 7B 0D 0A 20 20 20 20 20 20 lval;..{..
01D660: 20 20 63 68 61 72 20 2A 70 74 72 3B 0D 0A 20 20 char *ptr;..
01D670: 20 20 20 20 20 20 69 66 20 28 21 28 70 74 72 3D if (!(ptr=
01D680: 6C 76 61 6C 5B 30 5D 29 29 20 72 65 74 75 72 6E lval[0])) return
01D690: 20 30 3B 0D 0A 20 20 20 20 20 20 20 20 73 77 69 0;.. swi
01D6A0: 74 63 68 28 70 74 72 5B 69 64 65 6E 74 5D 29 20 tch(ptr[ident])
01D6B0: 7B 0D 0A 0D 0A 09 20 20 20 20 20 20 20 20 2F 2A {..... /*
01D6C0: 20 61 72 72 61 79 20 6F 66 20 65 6C 65 6D 65 6E array of elemen
01D6D0: 74 73 20 2A 2F 0D 0A 09 20 20 20 20 20 20 20 20 ts */...
01D6E0: 63 61 73 65 20 61 72 72 61 79 20 3A 0D 0A 09 09 case array :....
01D6F0: 20 20 20 20 20 20 20 20 73 77 69 74 63 68 28 70 switch(p
01D700: 74 72 5B 74 79 70 65 5D 29 20 7B 0D 0A 0D 0A 09 tr[type]) {.....
01D710: 09 09 20 20 20 20 20 20 20 20 2F 2A 20 63 68 61 .. /* cha
01D720: 72 20 74 79 70 65 20 2A 2F 0D 0A 09 09 09 20 20 r type */.....
01D730: 20 20 20 20 20 20 63 61 73 65 20 63 63 68 61 72 case cchar
01D740: 3A 0D 0A 09 09 09 09 20 20 20 20 20 20 20 20 72 :...... r
01D750: 65 74 75 72 6E 20 6C 63 68 61 72 3B 0D 0A 0D 0A eturn lchar;....
01D760: 09 09 09 20 20 20 20 20 20 20 20 2F 2A 20 69 6E ... /* in
01D770: 74 20 74 79 70 65 20 2A 2F 0D 0A 09 09 09 20 20 t type */.....
01D780: 20 20 20 20 20 20 63 61 73 65 20 63 69 6E 74 20 case cint
01D790: 3A 0D 0A 09 09 09 09 20 20 20 20 20 20 20 20 72 :...... r
01D7A0: 65 74 75 72 6E 20 6C 69 6E 74 3B 0D 0A 09 09 09 eturn lint;.....
01D7B0: 20 20 20 20 20 20 20 20 7D 0D 0A 0D 0A 09 20 20 }.....
01D7C0: 20 20 20 20 20 20 2F 2A 20 70 6F 69 6E 74 65 72 /* pointer
01D7D0: 20 74 6F 20 65 6C 65 6D 65 6E 74 73 20 2A 2F 0D to elements */.
01D7E0: 0A 09 20 20 20 20 20 20 20 20 63 61 73 65 20 70 .. case p
01D7F0: 6F 69 6E 74 65 72 20 3A 0D 0A 09 09 20 20 20 20 ointer :....
01D800: 74 6B 28 70 74 72 5B 74 79 70 65 5D 29 3B 0D 0A tk(ptr[type]);..
01D810: 09 09 09 09 09 65 6C 73 65 20 70 75 74 6D 65 6D .....else putmem
01D820: 5F 73 74 61 63 6B 28 6C 76 61 6C 2C 70 74 72 5B _stack(lval,ptr[
01D830: 74 79 70 65 5D 29 3B 0D 0A 09 09 09 20 20 20 20 type]);.....
01D840: 20 20 20 20 65 6C 73 65 09 69 66 20 28 6B 3D 3D else.if (k==
01D850: 41 44 44 52 45 53 53 29 20 70 75 74 73 74 6B 28 ADDRESS) putstk(
01D860: 63 69 6E 74 29 3B 0D 0A 09 09 09 09 09 65 6C 73 cint);.......els
01D870: 65 20 70 75 74 6D 65 6D 5F 73 74 61 63 6B 28 6C e putmem_stack(l
01D880: 76 61 6C 2C 63 69 6E 74 29 3B 0D 0A 09 09 09 20 val,cint);.....
01D890: 20 20 20 20 20 20 20 62 72 65 61 6B 3B 0D 0A 0D break;...
01D8A0: 0A 09 09 20 20 20 20 20 20 20 20 2F 2A 20 69 64 ... /* id
01D8B0: 65 6E 74 20 69 73 20 61 20 76 61 72 69 61 62 6C ent is a variabl
01D8C0: 65 20 2A 2F 0D 0A 09 09 20 20 20 20 20 20 20 20 e */....
01D8D0: 63 61 73 65 20 76 61 72 69 61 62 6C 65 20 3A 0D case variable :.
01D8E0: 0A 09 09 09 20 20 20 20 20 20 20 20 69 66 20 28 .... if (
01D8F0: 6B 3D 3D 41 44 44 52 45 53 53 29 20 70 75 74 73 k==ADDRESS) puts
01D900: 74 6B 28 70 74 72 5B 74 79 70 65 5D 29 3B 0D 0A tk(ptr[type]);..
01D910: 09 09 09 09 65 6C 73 65 20 70 75 74 6D 65 6D 5F ....else putmem_
01D920: 73 74 61 63 6B 28 6C 76 61 6C 2C 70 74 72 5B 74 stack(lval,ptr[t
01D930: 79 70 65 5D 29 3B 0D 0A 09 09 09 20 20 20 20 20 ype]);.....
01D940: 20 20 20 62 72 65 61 6B 3B 0D 0A 09 09 20 20 20 break;....
01D950: 20 20 20 20 20 7D 0D 0A 09 09 20 20 20 20 20 20 }....
01D960: 20 20 62 72 65 61 6B 3B 0D 0A 0D 0A 09 20 20 20 break;.....
01D970: 20 20 20 20 20 2F 2A 20 73 74 61 74 69 63 20 76 /* static v
01D980: 61 72 62 6C 65 73 20 2A 2F 0D 0A 09 20 20 20 20 arbles */...
01D990: 20 20 20 20 63 61 73 65 20 73 74 61 74 69 6B 20 case statik
01D9A0: 3A 0D 0A 09 09 20 20 20 20 20 20 20 20 73 77 69 :.... swi
01D9B0: 74 63 68 28 70 74 72 5B 69 64 65 6E 74 5D 29 20 tch(ptr[ident])
01D9C0: 7B 0D 0A 0D 0A 09 09 20 20 20 20 20 20 20 20 2F {...... /
01D9D0: 2A 20 61 72 72 61 79 20 2A 2F 0D 0A 09 09 20 20 * array */....
01D9E0: 20 20 20 20 20 20 63 61 73 65 20 61 72 72 61 79 case array
01D9F0: 20 3A 0D 0A 09 09 09 20 20 20 20 20 20 20 20 69 :..... i
01DA00: 20 20 20 20 69 66 20 28 6C 76 61 6C 5B 31 5D 20 if (lval[1]
01DA10: 3C 20 70 74 72 5B 69 6E 64 63 6E 74 5D 20 26 26 < ptr[indcnt] &&
01DA20: 20 70 74 72 5B 69 6E 64 63 6E 74 5D 20 3E 20 31 ptr[indcnt] > 1
01DA30: 29 0D 0A 09 09 09 20 20 20 20 20 20 20 20 72 65 )..... re
01DA40: 74 75 72 6E 20 6C 70 6F 69 6E 74 3B 0D 0A 09 09 turn lpoint;....
01DA50: 20 20 20 20 20 20 20 20 65 6C 73 65 20 73 77 69 else swi
01DA60: 74 63 68 28 70 74 72 5B 74 79 70 65 5D 29 20 7B tch(ptr[type]) {
01DA70: 0D 0A 0D 0A 09 09 09 20 20 20 20 20 20 20 20 2F ....... /
01DA80: 2A 20 74 79 70 65 20 63 68 61 72 20 2A 2F 0D 0A * type char */..
01DA90: 09 09 09 20 20 20 20 20 20 20 20 63 61 73 65 20 ... case
01DAA0: 63 63 68 61 72 20 3A 0D 0A 09 09 09 09 20 20 20 cchar :......
01DAB0: 20 20 20 20 20 72 65 74 75 72 6E 20 6C 63 68 61 return lcha
01DAC0: 72 3B 0D 0A 0D 0A 09 09 09 20 20 20 20 20 20 20 r;.......
01DAD0: 20 2F 2A 20 74 79 70 65 20 69 6E 74 20 2A 2F 0D /* type int */.
01DAE0: 0A 09 09 09 20 20 20 20 20 20 20 20 63 61 73 65 .... case
01DAF0: 20 63 69 6E 74 3A 0D 0A 09 09 09 09 20 20 20 20 cint:......
01DB00: 20 20 20 20 72 65 74 75 72 6E 20 6C 69 6E 74 3B return lint;
01DB10: 0D 0A 0D 0A 09 09 09 20 20 20 20 20 20 20 20 7D ....... }
01DB20: 0D 0A 09 09 2F 2A 20 6A 75 73 74 20 61 20 70 6C ..../* just a pl
01DB30: 61 69 6E 20 76 61 72 69 61 62 6C 65 20 2A 2F 0D ain variable */.
01DB40: 0A 09 09 63 61 73 65 20 76 61 72 69 61 62 6C 65 ...case variable
01DB50: 20 3A 0D 0A 09 09 09 72 65 74 75 72 6E 20 31 3B :.....return 1;
01DB60: 0D 0A 09 20 20 20 20 20 20 20 20 7D 0D 0A 20 20 ... }..
01DB70: 20 20 20 20 20 20 7D 0D 0A 2F 2A 09 09 09 09 09 }../*.....
01DB80: 20 20 20 20 20 20 20 20 2A 2F 0D 0A 2F 2A 20 20 */../*
01DB90: 20 20 20 20 77 72 69 74 74 65 6E 20 34 2F 32 33 written 4/23
01DBA0: 2F 38 31 20 42 79 20 4D 69 6B 65 20 42 65 72 6E /81 By Mike Bern
01DBB0: 73 6F 6E 20 20 20 20 20 20 20 20 20 2A 2F 0D 0A son */..
01DBC0: 2F 2A 09 09 09 09 09 20 20 20 20 20 20 20 20 2A /*..... *
01DBD0: 2F 0D 0A 61 64 64 72 65 73 73 28 6C 76 61 6C 2C /..address(lval,
01DBE0: 6B 29 0D 0A 69 6E 74 20 2A 6C 76 61 6C 3B 0D 0A k)..int *lval;..
01DBF0: 7B 0D 0A 20 20 20 20 20 20 20 20 63 68 61 72 20 {.. char
01DC00: 54 72 61 63 6B 2D 49 6E 66 6F 0D 0A 00 00 00 00 Track-Info......
01DC10: 19 00 01 00 02 09 52 E5 19 00 C1 02 00 00 00 02 ......R.........
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: 66 20 28 6C 76 61 6C 5B 31 5D 20 3D 3D 20 70 74 f (lval[1] == pt
01DD10: 72 5B 69 6E 64 63 6E 74 5D 29 0D 0A 09 09 09 09 r[indcnt])......
01DD20: 20 20 20 20 20 20 20 20 69 66 20 28 6B 3D 3D 31 if (k==1
01DD30: 29 20 70 75 74 73 74 6B 28 70 74 72 5B 74 79 70 ) putstk(ptr[typ
01DD40: 65 5D 29 3B 0D 0A 09 09 09 09 20 20 20 20 20 20 e]);......
01DD50: 20 20 65 6C 73 65 20 70 75 74 6D 65 6D 28 70 74 else putmem(pt
01DD60: 72 2B 6E 61 6D 65 2C 70 74 72 5B 74 79 70 65 5D r+name,ptr[type]
01DD70: 2C 0D 0A 09 09 09 09 09 20 20 20 20 20 20 20 20 ,.......
01DD80: 6C 76 61 6C 5B 32 5D 29 3B 0D 0A 09 09 09 20 20 lval[2]);.....
01DD90: 20 20 20 20 20 20 62 72 65 61 6B 3B 0D 0A 0D 0A break;....
01DDA0: 09 09 20 20 20 20 20 20 20 20 2F 2A 20 70 6F 69 .. /* poi
01DDB0: 6E 74 65 72 20 2A 2F 0D 0A 09 09 20 20 20 20 20 nter */....
01DDC0: 20 20 20 63 61 73 65 20 70 6F 69 6E 74 65 72 3A case pointer:
01DDD0: 0D 0A 09 09 09 20 20 20 20 20 20 20 20 69 66 20 ..... if
01DDE0: 28 6C 76 61 6C 5B 31 5D 20 3D 3D 20 70 74 72 5B (lval[1] == ptr[
01DDF0: 69 6E 64 63 6E 74 5D 29 0D 0A 09 09 09 09 20 20 indcnt])......
01DE00: 20 20 20 20 20 20 69 66 20 28 6B 3D 3D 31 29 20 if (k==1)
01DE10: 70 75 74 73 74 6B 28 70 74 72 5B 74 79 70 65 5D putstk(ptr[type]
01DE20: 29 3B 0D 0A 09 09 09 09 20 20 20 20 20 20 20 20 );......
01DE30: 65 6C 73 65 20 70 75 74 6D 65 6D 28 70 74 72 2B else putmem(ptr+
01DE40: 6E 61 6D 65 2C 70 74 72 5B 74 79 70 65 5D 2C 6C name,ptr[type],l
01DE50: 76 61 6C 5B 31 5D 29 3B 0D 0A 09 09 09 20 20 20 val[1]);.....
01DE60: 20 20 20 20 20 65 6C 73 65 0D 0A 09 09 09 09 20 else......
01DE70: 20 20 20 20 20 20 20 69 66 20 28 6B 3D 3D 31 29 if (k==1)
01DE80: 20 70 75 74 73 74 6B 28 63 69 6E 74 29 3B 0D 0A putstk(cint);..
01DE90: 09 09 09 09 20 20 20 20 20 20 20 20 65 6C 73 65 .... else
01DEA0: 20 70 75 74 6D 65 6D 28 70 74 72 2B 6E 61 6D 65 putmem(ptr+name
01DEB0: 2C 63 69 6E 74 2C 30 29 3B 0D 0A 09 09 09 20 20 ,cint,0);.....
01DEC0: 20 20 20 20 20 20 62 72 65 61 6B 3B 0D 0A 0D 0A break;....
01DED0: 09 09 20 20 20 20 20 20 20 20 2F 2A 20 76 61 72 .. /* var
01DEE0: 69 61 62 6C 65 20 2A 2F 0D 0A 09 09 20 20 20 20 iable */....
01DEF0: 20 20 20 20 63 61 73 65 20 76 61 72 69 61 62 6C case variabl
01DF00: 65 74 6D 65 6D 28 70 74 72 2B 6E 61 6D 65 2C 70 etmem(ptr+name,p
01DF10: 74 72 5B 74 79 70 65 5D 2C 30 29 3B 0D 0A 09 09 tr[type],0);....
01DF20: 09 20 20 20 20 20 20 20 20 62 72 65 61 6B 3B 0D . break;.
01DF30: 0A 09 09 20 20 20 20 20 20 20 20 7D 0D 0A 09 20 ... }...
01DF40: 20 20 20 20 20 20 20 7D 0D 0A 20 20 20 20 20 20 }..
01DF50: 20 20 7D 0D 0A 65 71 75 61 6C 5F 65 78 70 28 6C }..equal_exp(l
01DF60: 76 61 6C 2C 6B 29 0D 0A 69 6E 74 20 2A 6C 76 61 val,k)..int *lva
01DF70: 6C 3B 0D 0A 69 6E 74 20 6B 3B 0D 0A 7B 0D 0A 20 l;..int k;..{..
01DF80: 20 20 20 20 20 20 20 63 68 61 72 20 2A 70 74 72 char *ptr
01DF90: 3B 0D 0A 20 20 20 20 20 20 20 20 69 6E 74 20 20 ;.. int
01DFA0: 6C 76 61 6C 32 5B 6C 76 61 6C 73 69 7A 65 5D 3B lval2[lvalsize];
01DFB0: 0D 0A 09 69 6E 74 20 73 74 61 74 75 73 3B 0D 0A ...int status;..
01DFC0: 0D 0A 20 20 20 20 20 20 20 20 70 74 72 3D 6C 76 .. ptr=lv
01DFD0: 61 6C 5B 30 5D 3B 0D 0A 0D 0A 20 20 20 20 20 20 al[0];....
01DFE0: 20 20 2F 2A 20 63 68 65 63 6B 20 74 6F 20 73 65 /* check to se
01DFF0: 65 20 69 66 20 76 61 69 6C 64 20 6C 76 61 6C 20 e if vaild lval
01E000: 2A 2F 0D 0A 20 20 20 20 20 20 20 20 69 66 20 28 */.. if (
01E010: 28 70 74 72 5B 69 64 65 6E 74 5D 3D 3D 61 72 72 (ptr[ident]==arr
01E020: 61 79 20 26 26 20 70 74 72 5B 69 6E 64 63 6E 74 ay && ptr[indcnt
01E030: 5D 20 21 3D 20 6C 76 61 6C 5B 31 5D 29 20 7C 7C ] != lval[1]) ||
01E040: 0D 0A 09 20 20 20 20 20 20 20 20 6B 3D 3D 30 20 ... k==0
01E050: 7C 7C 20 6C 76 61 6C 5B 30 5D 20 3D 3D 20 30 29 || lval[0] == 0)
01E060: 20 7B 0D 0A 09 20 20 20 20 20 20 20 20 6E 65 65 {... nee
01E070: 64 6C 76 61 6C 28 29 3B 0D 0A 09 20 20 20 20 20 dlval();...
01E080: 20 20 20 72 65 74 75 72 6E 3B 0D 0A 09 20 20 20 return;...
01E090: 20 20 20 20 20 7D 0D 0A 20 20 20 20 20 20 20 20 }..
01E0A0: 61 64 64 72 65 73 73 28 6C 76 61 6C 2C 6B 29 3B address(lval,k);
01E0B0: 0D 0A 20 20 20 20 20 20 20 20 70 75 73 68 28 29 .. push()
01E0C0: 3B 0D 0A 20 20 20 20 20 20 20 20 72 76 61 6C 75 ;.. rvalu
01E0D0: 65 28 6C 76 61 6C 2C 31 29 3B 0D 0A 09 70 75 73 e(lval,1);...pus
01E0E0: 68 28 29 3B 0D 0A 20 20 20 20 20 20 20 20 72 76 h();.. rv
01E0F0: 61 6C 75 65 28 6C 76 61 6C 32 2C 68 65 69 72 31 alue(lval2,heir1
01E100: 65 20 3A 0D 0A 09 09 09 20 20 20 20 20 20 20 20 e :.....
01E110: 69 66 20 28 6B 3D 3D 31 29 20 70 75 74 73 74 6B if (k==1) putstk
01E120: 28 70 74 72 5B 74 79 70 65 5D 29 3B 0D 0A 09 09 (ptr[type]);....
01E130: 09 20 20 20 20 20 20 20 20 65 6C 73 65 20 70 75 . else pu
01E140: 74 6D 65 6D 28 70 74 72 2B 6E 61 6D 65 2C 70 74 tmem(ptr+name,pt
01E150: 72 5B 74 79 70 65 5D 2C 30 29 3B 0D 0A 09 09 09 r[type],0);.....
01E160: 20 20 20 20 20 20 20 20 62 72 65 61 6B 3B 0D 0A break;..
01E170: 09 09 20 20 20 20 20 20 20 20 7D 0D 0A 09 20 20 .. }...
01E180: 20 20 20 20 20 20 7D 0D 0A 20 20 20 20 20 20 20 }..
01E190: 20 7D 0D 0A 2F 2A 09 09 09 09 09 20 20 20 20 20 }../*.....
01E1A0: 20 20 20 2A 2F 0D 0A 2F 2A 20 20 20 20 20 20 77 */../* w
01E1B0: 72 69 74 74 65 6E 20 34 2F 32 34 2F 38 31 20 42 ritten 4/24/81 B
01E1C0: 79 20 4D 69 6B 65 20 42 65 72 6E 73 6F 6E 20 20 y Mike Bernson
01E1D0: 20 20 20 20 20 20 20 2A 2F 0D 0A 2F 2A 09 09 09 */../*...
01E1E0: 09 09 20 20 20 20 20 20 20 20 2A 2F 0D 0A 72 76 .. */..rv
01E1F0: 61 6C 75 65 28 6C 76 61 6C 2C 6B 29 0D 0A 69 6E alue(lval,k)..in
01E200: 74 20 2A 6C 76 61 6C 3B 0D 0A 69 6E 74 20 6B 3B t *lval;..int k;
01E210: 0D 0A 7B 0D 0A 20 20 20 20 20 20 20 20 63 68 61 ..{.. cha
01E220: 72 20 2A 70 74 72 3B 0D 0A 20 20 20 20 20 20 20 r *ptr;..
01E230: 20 70 74 72 3D 6C 76 61 6C 5B 30 5D 3B 0D 0A 20 ptr=lval[0];..
01E240: 20 20 20 20 20 20 20 69 66 20 28 6B 3D 3D 30 29 if (k==0)
01E250: 20 72 65 74 75 72 6E 3B 0D 0A 20 20 20 20 20 20 return;..
01E260: 20 20 73 77 69 74 63 68 28 70 74 72 5B 73 74 6F switch(ptr[sto
01E270: 72 61 67 65 5D 29 20 7B 0D 0A 0D 0A 09 20 20 20 rage]) {.....
01E280: 20 20 20 20 20 2F 2A 20 6C 6F 63 61 6C 20 6F 72 /* local or
01E290: 20 61 72 67 20 74 79 70 65 20 2A 2F 0D 0A 09 20 arg type */...
01E2A0: 20 20 20 20 20 20 20 63 61 73 65 20 73 74 6B 6C case stkl
01E2B0: 6F 63 20 3A 0D 0A 09 20 20 20 20 20 20 20 20 63 oc :... c
01E2C0: 61 73 65 20 73 74 6B 61 72 67 20 3A 0D 0A 09 20 ase stkarg :...
01E2D0: 20 20 20 20 20 20 20 73 77 69 74 63 68 28 70 74 switch(pt
01E2E0: 72 5B 69 64 65 6E 74 5D 29 20 7B 0D 0A 0D 0A 09 r[ident]) {.....
01E2F0: 09 20 20 20 20 20 20 20 20 2F 2A 20 69 64 65 6E . /* iden
01E300: 28 6C 76 61 6C 32 2C 26 73 74 61 74 75 73 29 29 (lval2,&status))
01E310: 3B 0D 0A 20 20 20 20 20 20 20 20 7D 0D 0A 0D 0A ;.. }....
01E320: 0D 0A 2F 2A 09 09 09 09 09 20 20 20 20 20 20 20 ../*.....
01E330: 20 2A 2F 0D 0A 2F 2A 20 20 20 20 20 20 77 72 69 */../* wri
01E340: 74 74 65 6E 20 34 2F 39 2F 38 31 20 42 79 20 4D tten 4/9/81 By M
01E350: 69 6B 65 20 42 65 72 6E 73 6F 6E 20 20 20 20 20 ike Bernson
01E360: 20 20 20 20 20 2A 2F 0D 0A 2F 2A 09 09 09 09 09 */../*.....
01E370: 20 20 20 20 20 20 20 20 2A 2F 0D 0A 65 71 75 61 */..equa
01E380: 6C 28 6C 76 61 6C 2C 6B 29 0D 0A 69 6E 74 20 6C l(lval,k)..int l
01E390: 76 61 6C 5B 5D 3B 0D 0A 69 6E 74 20 6B 3B 0D 0A val[];..int k;..
01E3A0: 7B 0D 0A 20 20 20 20 20 20 20 20 63 68 61 72 20 {.. char
01E3B0: 2A 70 74 72 3B 0D 0A 20 20 20 20 20 20 20 20 69 *ptr;.. i
01E3C0: 6E 74 20 6C 76 61 6C 32 5B 6C 76 61 6C 73 69 7A nt lval2[lvalsiz
01E3D0: 65 5D 3B 0D 0A 09 69 6E 74 20 73 74 61 74 75 73 e];...int status
01E3E0: 3B 0D 0A 0D 0A 20 20 20 20 20 20 20 20 70 74 72 ;.... ptr
01E3F0: 3D 6C 76 61 6C 5B 30 5D 3B 0D 0A 0D 0A 20 20 20 =lval[0];....
01E400: 20 20 20 20 20 2F 2A 20 63 68 65 63 6B 20 74 6F /* check to
01E410: 20 73 65 65 20 74 68 61 74 20 69 73 20 65 78 70 see that is exp
01E420: 72 65 73 73 74 69 6F 6E 20 69 73 20 61 72 72 61 resstion is arra
01E430: 79 20 6D 75 73 74 20 62 65 20 65 6C 65 6D 65 6E y must be elemen
01E440: 74 20 2A 2F 0D 0A 20 20 20 20 20 20 20 20 69 66 t */.. if
01E450: 20 28 70 74 72 5B 69 64 65 6E 74 5D 20 3D 3D 20 (ptr[ident] ==
01E460: 61 72 72 61 79 20 26 26 20 70 74 72 5B 69 6E 64 array && ptr[ind
01E470: 63 6E 74 5D 20 21 3D 20 6C 76 61 6C 5B 31 5D 29 cnt] != lval[1])
01E480: 20 7B 0D 0A 09 09 20 20 20 20 20 20 20 20 6E 65 {.... ne
01E490: 65 64 6C 76 61 6C 28 29 3B 0D 0A 09 09 20 20 20 edlval();....
01E4A0: 20 20 20 20 20 72 65 74 75 72 6E 3B 0D 0A 09 09 return;....
01E4B0: 20 20 20 20 20 20 20 20 7D 0D 0A 20 20 20 20 20 }..
01E4C0: 20 20 20 73 77 69 74 63 68 28 6B 29 20 7B 0D 0A switch(k) {..
01E4D0: 0D 0A 09 20 20 20 20 20 20 20 20 2F 2A 20 64 61 ... /* da
01E4E0: 74 61 20 69 73 20 61 20 63 6F 6E 73 74 61 6E 74 ta is a constant
01E4F0: 20 6F 72 20 76 61 6C 75 65 20 2A 2F 0D 0A 09 20 or value */...
01E500: 74 20 3D 61 72 72 61 79 20 2A 2F 0D 0A 09 09 20 t =array */....
01E510: 20 20 20 20 20 20 20 63 61 73 65 20 61 72 72 61 case arra
01E520: 79 3A 0D 0A 09 09 09 20 20 20 20 20 20 20 20 69 y:..... i
01E530: 66 20 28 6C 76 61 6C 5B 31 5D 20 3D 3D 20 70 74 f (lval[1] == pt
01E540: 72 5B 69 6E 64 63 6E 74 5D 29 0D 0A 09 09 09 09 r[indcnt])......
01E550: 09 69 66 20 28 6B 3D 3D 41 44 44 52 45 53 53 29 .if (k==ADDRESS)
01E560: 20 69 6E 64 69 72 65 63 74 28 70 74 72 5B 74 79 indirect(ptr[ty
01E570: 70 65 5D 29 3B 0D 0A 09 09 09 09 09 65 6C 73 65 pe]);.......else
01E580: 20 67 65 74 6D 65 6D 5F 73 74 61 63 6B 28 6C 76 getmem_stack(lv
01E590: 61 6C 2C 70 74 72 5B 74 79 70 65 5D 29 3B 0D 0A al,ptr[type]);..
01E5A0: 09 09 09 09 65 6C 73 65 20 09 61 64 64 72 65 73 ....else .addres
01E5B0: 73 28 6C 76 61 6C 2C 6B 29 3B 0D 0A 09 09 09 20 s(lval,k);.....
01E5C0: 20 20 20 20 20 20 20 62 72 65 61 6B 3B 0D 0A 0D break;...
01E5D0: 0A 09 09 20 20 20 20 20 20 20 20 2F 2A 20 69 64 ... /* id
01E5E0: 65 6E 74 20 69 73 20 61 6E 20 70 6F 69 6E 74 65 ent is an pointe
01E5F0: 72 20 2A 2F 0D 0A 09 09 20 20 20 20 20 20 20 20 r */....
01E600: 63 61 73 65 20 70 6F 69 6E 74 65 72 3A 0D 0A 09 case pointer:...
01E610: 09 09 20 20 20 20 20 20 20 20 69 66 20 28 6C 76 .. if (lv
01E620: 61 6C 5B 31 5D 20 3D 3D 20 70 74 72 5B 69 6E 64 al[1] == ptr[ind
01E630: 63 6E 74 5D 29 0D 0A 09 09 09 09 09 69 66 20 28 cnt]).......if (
01E640: 6B 3D 3D 41 44 44 52 45 53 53 29 20 69 6E 64 69 k==ADDRESS) indi
01E650: 72 65 63 74 28 70 74 72 5B 74 79 70 65 5D 29 3B rect(ptr[type]);
01E660: 0D 0A 09 09 09 09 09 65 6C 73 65 20 67 65 74 6D .......else getm
01E670: 65 6D 5F 73 74 61 63 6B 28 6C 76 61 6C 2C 70 74 em_stack(lval,pt
01E680: 72 5B 74 79 70 65 5D 29 3B 0D 0A 09 09 09 20 20 r[type]);.....
01E690: 20 20 20 20 20 20 65 6C 73 65 20 20 20 20 69 66 else if
01E6A0: 20 28 6B 3D 3D 41 44 44 52 45 53 53 29 20 69 6E (k==ADDRESS) in
01E6B0: 64 69 72 65 63 74 28 63 69 6E 74 29 3B 0D 0A 09 direct(cint);...
01E6C0: 09 09 09 09 65 6C 73 65 20 67 65 74 6D 65 6D 5F ....else getmem_
01E6D0: 73 74 61 63 6B 28 6C 76 61 6C 2C 63 69 6E 74 29 stack(lval,cint)
01E6E0: 3B 0D 0A 09 09 09 20 20 20 20 20 20 20 20 62 72 ;..... br
01E6F0: 65 61 6B 3B 0D 0A 0D 0A 09 09 20 20 20 20 20 20 eak;......
01E700: 20 20 20 20 20 20 20 63 61 73 65 20 30 20 3A 0D case 0 :.
01E710: 0A 09 09 20 20 20 20 20 20 20 20 6E 65 65 64 6C ... needl
01E720: 76 61 6C 28 29 3B 0D 0A 09 09 20 20 20 20 20 20 val();....
01E730: 20 20 62 72 65 61 6B 3B 0D 0A 0D 0A 09 20 20 20 break;.....
01E740: 20 20 20 20 20 2F 2A 20 61 64 64 72 65 73 73 20 /* address
01E750: 6F 66 20 76 61 72 69 61 62 6C 65 20 69 73 20 6F of variable is o
01E760: 6E 20 73 74 61 63 6B 20 2A 2F 0D 0A 09 20 20 20 n stack */...
01E770: 20 20 20 20 20 63 61 73 65 20 31 20 3A 0D 0A 09 case 1 :...
01E780: 09 20 20 20 20 20 20 20 20 70 75 73 68 28 29 3B . push();
01E790: 0D 0A 09 09 20 20 20 20 20 20 20 20 62 72 65 61 .... brea
01E7A0: 6B 3B 0D 0A 0D 0A 09 20 20 20 20 20 20 20 20 2F k;..... /
01E7B0: 2A 20 6E 6F 74 68 69 6E 67 20 6F 66 20 76 61 72 * nothing of var
01E7C0: 69 61 62 6C 65 20 69 73 20 6F 6E 20 73 74 61 63 iable is on stac
01E7D0: 6B 20 2A 2F 0D 0A 09 20 20 20 20 20 20 20 20 63 k */... c
01E7E0: 61 73 65 20 32 20 3A 0D 0A 09 09 20 20 20 20 20 ase 2 :....
01E7F0: 20 20 20 62 72 65 61 6B 3B 0D 0A 09 20 20 20 20 break;...
01E800: 20 20 20 20 7D 0D 0A 20 20 20 20 20 20 20 20 72 }.. r
01E810: 76 61 6C 75 65 28 6C 76 61 6C 32 2C 68 65 69 72 value(lval2,heir
01E820: 31 28 6C 76 61 6C 32 2C 26 73 74 61 74 75 73 29 1(lval2,&status)
01E830: 29 3B 0D 0A 20 20 20 20 20 20 20 20 7D 0D 0A 0D );.. }...
01E840: 0A 74 65 73 74 28 6C 61 62 65 6C 29 0D 0A 69 6E .test(label)..in
01E850: 74 20 6C 61 62 65 6C 3B 0D 0A 7B 0D 0A 09 69 6E t label;..{...in
01E860: 74 20 73 74 61 74 75 73 3B 0D 0A 0D 0A 20 20 20 t status;....
01E870: 20 20 20 20 20 6E 65 65 64 62 72 61 63 6B 28 22 needbrack("
01E880: 28 22 29 3B 0D 0A 20 20 20 20 20 20 20 20 73 74 (");.. st
01E890: 61 74 75 73 3D 65 78 70 72 65 73 73 69 6F 6E 28 atus=expression(
01E8A0: 29 3B 0D 0A 20 20 20 20 20 20 20 20 6E 65 65 64 );.. need
01E8B0: 62 72 61 63 6B 28 22 29 22 29 3B 0D 0A 20 20 20 brack(")");..
01E8C0: 20 20 20 20 20 74 65 73 74 6A 75 6D 70 28 6C 61 testjump(la
01E8D0: 62 65 6C 2C 73 74 61 74 75 73 29 3B 0D 0A 20 20 bel,status);..
01E8E0: 20 20 20 20 20 20 7D 0D 0A 2F 2A 09 09 09 09 20 }../*....
01E8F0: 20 20 20 20 20 20 20 2A 2F 0D 0A 2F 2A 20 20 20 */../*
01E900: 20 20 2F 2A 20 69 64 65 6E 74 20 69 73 20 61 20 /* ident is a
01E910: 76 61 72 69 61 62 6C 65 20 2A 2F 0D 0A 09 09 20 variable */....
01E920: 20 20 20 20 20 20 20 63 61 73 65 20 76 61 72 69 case vari
01E930: 61 62 6C 65 20 3A 0D 0A 09 09 09 20 20 20 20 20 able :.....
01E940: 20 20 20 69 66 20 28 6B 3D 3D 41 44 44 52 45 53 if (k==ADDRES
01E950: 53 29 20 69 6E 64 69 72 65 63 74 28 70 74 72 5B S) indirect(ptr[
01E960: 74 79 70 65 5D 29 3B 0D 0A 09 09 09 09 65 6C 73 type]);......els
01E970: 65 20 67 65 74 6D 65 6D 5F 73 74 61 63 6B 28 6C e getmem_stack(l
01E980: 76 61 6C 2C 70 74 72 5B 74 79 70 65 5D 29 3B 0D val,ptr[type]);.
01E990: 0A 09 09 09 20 20 20 20 20 20 20 20 62 72 65 61 .... brea
01E9A0: 6B 3B 0D 0A 09 09 20 20 20 20 20 20 20 20 7D 0D k;.... }.
01E9B0: 0A 09 09 20 20 20 20 20 20 20 20 62 72 65 61 6B ... break
01E9C0: 3B 0D 0A 0D 0A 09 20 20 20 20 20 20 20 20 2F 2A ;..... /*
01E9D0: 20 73 74 61 74 69 63 20 76 61 72 62 6C 65 73 20 static varbles
01E9E0: 2A 2F 0D 0A 09 20 20 20 20 20 20 20 20 63 61 73 */... cas
01E9F0: 65 20 73 74 61 74 69 6B 20 3A 0D 0A 09 09 20 20 e statik :....
01EA00: 20 20 20 20 20 20 73 77 69 74 63 68 28 70 74 72 switch(ptr
01EA10: 5B 69 64 65 6E 74 5D 29 20 7B 0D 0A 0D 0A 09 09 [ident]) {......
01EA20: 20 20 20 20 20 20 20 20 2F 2A 20 61 72 72 61 79 /* array
01EA30: 20 2A 2F 0D 0A 09 09 20 20 20 20 20 20 20 20 63 */.... c
01EA40: 61 73 65 20 61 72 72 61 79 20 3A 0D 0A 09 09 09 ase array :.....
01EA50: 20 20 20 20 20 20 20 20 69 66 20 28 6C 76 61 6C if (lval
01EA60: 5B 31 5D 20 3D 3D 20 70 74 72 5B 69 6E 64 63 6E [1] == ptr[indcn
01EA70: 74 5D 29 0D 0A 09 09 09 09 20 20 20 20 20 20 20 t])......
01EA80: 20 69 66 20 28 6B 3D 3D 31 29 20 69 6E 64 69 72 if (k==1) indir
01EA90: 65 63 74 28 70 74 72 5B 74 79 70 65 5D 29 3B 0D ect(ptr[type]);.
01EAA0: 0A 09 09 09 09 20 20 20 20 20 20 20 20 65 6C 73 ..... els
01EAB0: 65 20 67 65 74 6D 65 6D 28 70 74 72 2B 6E 61 6D e getmem(ptr+nam
01EAC0: 65 2C 70 74 72 5B 74 79 70 65 5D 2C 0D 0A 09 09 e,ptr[type],....
01EAD0: 09 09 09 20 20 20 20 20 20 20 20 6C 76 61 6C 5B ... lval[
01EAE0: 32 5D 29 3B 0D 0A 09 09 09 20 20 20 20 20 20 20 2]);.....
01EAF0: 20 65 6C 73 65 0D 0A 09 09 09 09 20 20 20 20 20 else......
01EB00: 20 20 20 77 72 69 74 74 65 6E 20 62 79 20 4D 69 written by Mi
01EB10: 6B 65 20 42 65 72 6E 73 6F 6E 20 33 2F 38 30 20 ke Bernson 3/80
01EB20: 20 20 20 2A 2F 0D 0A 2F 2A 09 09 09 09 20 20 20 */../*....
01EB30: 20 20 20 20 20 2A 2F 0D 0A 63 6F 6E 73 74 5F 65 */..const_e
01EB40: 78 70 28 76 61 6C 29 0D 0A 69 6E 74 20 76 61 6C xp(val)..int val
01EB50: 5B 5D 3B 0D 0A 7B 0D 0A 20 20 20 20 20 20 20 20 [];..{..
01EB60: 62 6C 61 6E 6B 73 28 29 3B 0D 0A 20 20 20 20 20 blanks();..
01EB70: 20 20 20 69 66 20 28 68 65 78 28 76 61 6C 29 29 if (hex(val))
01EB80: 20 72 65 74 75 72 6E 20 31 3B 0D 0A 20 20 20 20 return 1;..
01EB90: 20 20 20 20 69 66 20 28 6E 75 6D 62 65 72 28 76 if (number(v
01EBA0: 61 6C 29 29 20 72 65 74 75 72 6E 20 31 3B 0D 0A al)) return 1;..
01EBB0: 20 20 20 20 20 20 20 20 69 66 20 28 70 73 74 72 if (pstr
01EBC0: 28 76 61 6C 29 29 20 72 65 74 75 72 6E 20 31 3B (val)) return 1;
01EBD0: 0D 0A 20 20 20 20 20 20 20 20 72 65 74 75 72 6E .. return
01EBE0: 20 30 3B 0D 0A 20 20 20 20 20 20 20 20 7D 0D 0A 0;.. }..
01EBF0: 63 6F 6E 73 74 61 6E 74 28 76 61 6C 29 0D 0A 69 constant(val)..i
01EC00: 6E 74 20 76 61 6C 5B 5D 3B 0D 0A 7B 0D 0A 20 20 nt val[];..{..
01EC10: 20 20 20 20 20 20 69 66 20 28 68 65 78 28 76 61 if (hex(va
01EC20: 6C 29 29 20 69 6D 6D 65 64 28 29 3B 0D 0A 20 20 l)) immed();..
01EC30: 20 20 20 20 20 20 65 6C 73 65 20 69 66 20 28 6E else if (n
01EC40: 75 6D 62 65 72 28 76 61 6C 29 29 20 69 6D 6D 65 umber(val)) imme
01EC50: 64 28 29 3B 0D 0A 20 20 20 20 20 20 20 20 65 6C d();.. el
01EC60: 73 65 20 69 66 20 28 70 73 74 72 28 76 61 6C 29 se if (pstr(val)
01EC70: 29 20 69 6D 6D 65 64 28 29 3B 0D 0A 20 20 20 20 ) immed();..
01EC80: 20 20 20 20 65 6C 73 65 20 69 66 20 28 71 73 74 else if (qst
01EC90: 72 28 76 61 6C 29 29 20 7B 0D 0A 09 20 20 20 20 r(val)) {...
01ECA0: 20 20 20 20 69 6D 6D 65 64 28 29 3B 0D 0A 09 20 immed();...
01ECB0: 20 20 20 20 20 20 20 70 72 69 6E 74 6C 61 62 65 printlabe
01ECC0: 6C 28 6C 69 74 6C 61 62 29 3B 0D 0A 09 20 20 20 l(litlab);...
01ECD0: 20 20 20 20 20 6F 75 74 62 79 74 65 28 27 2B 27 outbyte('+'
01ECE0: 29 3B 0D 0A 09 20 20 20 20 20 20 20 20 7D 0D 0A );... }..
01ECF0: 20 20 20 20 20 20 20 20 65 6C 73 65 20 72 65 74 else ret
01ED00: 20 20 20 69 66 20 28 6B 3D 3D 31 29 20 69 6E 64 if (k==1) ind
01ED10: 69 72 65 63 74 28 70 74 72 5B 74 79 70 65 5D 29 irect(ptr[type])
01ED20: 3B 0D 0A 09 09 09 09 20 20 20 20 20 20 20 20 65 ;...... e
01ED30: 6C 73 65 20 61 64 64 72 65 73 73 28 6C 76 61 6C lse address(lval
01ED40: 2C 6B 29 3B 0D 0A 09 09 09 20 20 20 20 20 20 20 ,k);.....
01ED50: 20 62 72 65 61 6B 3B 0D 0A 0D 0A 09 09 20 20 20 break;......
01ED60: 20 20 20 20 20 2F 2A 20 70 6F 69 6E 74 65 72 20 /* pointer
01ED70: 2A 2F 0D 0A 09 09 20 20 20 20 20 20 20 20 63 61 */.... ca
01ED80: 73 65 20 70 6F 69 6E 74 65 72 3A 0D 0A 09 09 09 se pointer:.....
01ED90: 20 20 20 20 20 20 20 20 69 66 20 28 6C 76 61 6C if (lval
01EDA0: 5B 31 5D 20 3D 3D 20 70 74 72 5B 69 6E 64 63 6E [1] == ptr[indcn
01EDB0: 74 5D 29 0D 0A 09 09 09 09 20 20 20 20 20 20 20 t])......
01EDC0: 20 69 66 20 28 6B 3D 3D 31 29 20 69 6E 64 69 72 if (k==1) indir
01EDD0: 65 63 74 28 70 74 72 5B 74 79 70 65 5D 29 3B 0D ect(ptr[type]);.
01EDE0: 0A 09 09 09 09 20 20 20 20 20 20 20 20 65 6C 73 ..... els
01EDF0: 65 20 67 65 74 6D 65 6D 28 70 74 72 2B 6E 61 6D e getmem(ptr+nam
01EE00: 65 2C 70 74 72 5B 74 79 70 65 5D 2C 6C 76 61 6C e,ptr[type],lval
01EE10: 5B 32 5D 29 3B 0D 0A 09 09 09 20 20 20 20 20 20 [2]);.....
01EE20: 20 20 65 6C 73 65 0D 0A 09 09 09 09 20 20 20 20 else......
01EE30: 20 20 20 20 69 66 20 28 6B 3D 3D 31 29 20 69 6E if (k==1) in
01EE40: 64 69 72 65 63 74 28 63 69 6E 74 29 3B 0D 0A 09 direct(cint);...
01EE50: 09 09 09 20 20 20 20 20 20 20 20 65 6C 73 65 20 ... else
01EE60: 67 65 74 6D 65 6D 28 70 74 72 2B 6E 61 6D 65 2C getmem(ptr+name,
01EE70: 63 69 6E 74 2C 30 29 3B 0D 0A 09 09 09 20 20 20 cint,0);.....
01EE80: 20 20 20 20 20 62 72 65 61 6B 3B 0D 0A 0D 0A 09 break;.....
01EE90: 09 20 20 20 20 20 20 20 20 2F 2A 20 76 61 72 69 . /* vari
01EEA0: 61 62 6C 65 20 2A 2F 0D 0A 09 09 20 20 20 20 20 able */....
01EEB0: 20 20 20 63 61 73 65 20 76 61 72 69 61 62 6C 65 case variable
01EEC0: 20 3A 0D 0A 09 09 09 20 20 20 20 20 20 20 20 69 :..... i
01EED0: 66 20 28 6B 3D 3D 31 29 20 69 6E 64 69 72 65 63 f (k==1) indirec
01EEE0: 74 28 70 74 72 5B 74 79 70 65 5D 29 3B 0D 0A 09 t(ptr[type]);...
01EEF0: 09 09 20 20 20 20 20 20 20 20 65 6C 73 65 20 67 .. else g
01EF00: 54 72 61 63 6B 2D 49 6E 66 6F 0D 0A 00 00 00 00 Track-Info......
01EF10: 1A 00 01 00 02 09 52 E5 1A 00 C1 02 00 00 00 02 ......R.........
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: 75 72 6E 20 30 3B 0D 0A 20 20 20 20 20 20 20 20 urn 0;..
01F010: 6F 75 74 64 65 63 28 76 61 6C 5B 30 5D 29 3B 0D outdec(val[0]);.
01F020: 0A 20 20 20 20 20 20 20 20 6E 6C 28 29 3B 0D 0A . nl();..
01F030: 20 20 20 20 20 20 20 20 72 65 74 75 72 6E 20 31 return 1
01F040: 3B 0D 0A 20 20 20 20 20 20 20 20 7D 0D 0A 68 65 ;.. }..he
01F050: 78 28 76 61 6C 29 0D 0A 69 6E 74 20 76 61 6C 5B x(val)..int val[
01F060: 5D 3B 0D 0A 7B 0D 0A 20 20 20 20 20 20 20 20 69 ];..{.. i
01F070: 6E 74 20 63 68 65 63 6B 3B 0D 0A 20 20 20 20 20 nt check;..
01F080: 20 20 20 63 68 61 72 20 6C 6F 6F 6B 5B 32 5D 3B char look[2];
01F090: 0D 0A 20 20 20 20 20 20 20 20 69 66 20 28 63 68 .. if (ch
01F0A0: 28 29 20 21 3D 20 27 30 27 20 7C 7C 20 28 6E 63 () != '0' || (nc
01F0B0: 68 28 29 20 21 3D 20 27 58 27 20 26 26 20 6E 63 h() != 'X' && nc
01F0C0: 68 28 29 20 21 3D 20 27 78 27 29 29 0D 0A 09 20 h() != 'x'))...
01F0D0: 20 20 20 20 20 20 20 72 65 74 75 72 6E 20 30 3B return 0;
01F0E0: 0D 0A 20 20 20 20 20 20 20 20 67 63 68 28 29 3B .. gch();
01F0F0: 0D 0A 20 20 20 20 20 20 20 20 67 63 68 28 29 3B .. gch();
01F100: 0D 0A 20 20 20 20 20 20 20 20 6C 6F 6F 6B 5B 31 .. look[1
01F110: 5D 3D 30 3B 0D 0A 20 20 20 20 20 20 20 20 6C 6F ]=0;.. lo
01F120: 6F 6B 5B 30 5D 3D 74 6F 75 70 70 65 72 28 67 63 ok[0]=toupper(gc
01F130: 68 28 29 29 3B 0D 0A 20 20 20 20 20 20 20 20 69 h());.. i
01F140: 66 20 28 21 28 63 68 65 63 6B 3D 73 74 72 70 6F f (!(check=strpo
01F150: 73 28 22 30 31 32 33 34 35 36 37 38 39 41 42 43 s("0123456789ABC
01F160: 44 45 46 22 2C 6C 6F 6F 6B 29 29 29 20 7B 0D 0A DEF",look))) {..
01F170: 09 20 20 20 20 20 20 20 20 65 72 72 6F 72 28 22 . error("
01F180: 69 6E 76 61 69 6C 64 20 68 65 78 20 63 6F 6E 73 invaild hex cons
01F190: 74 61 6E 74 22 29 3B 0D 0A 09 20 20 20 20 20 20 tant");...
01F1A0: 20 20 6A 75 6E 6B 28 29 3B 0D 0A 09 20 20 20 20 junk();...
01F1B0: 20 20 20 20 76 61 6C 5B 30 5D 3D 30 3B 0D 0A 09 val[0]=0;...
01F1C0: 20 20 20 20 20 20 20 20 72 65 74 75 72 6E 20 31 return 1
01F1D0: 3B 0D 0A 09 20 20 20 20 20 20 20 20 7D 0D 0A 20 ;... }..
01F1E0: 20 20 20 20 20 20 20 76 61 6C 5B 30 5D 3D 63 68 val[0]=ch
01F1F0: 65 63 6B 2D 31 3B 0D 0A 20 20 20 20 20 20 20 20 eck-1;..
01F200: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
01F210: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
01F220: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
01F230: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
01F240: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
01F250: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
01F260: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
01F270: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
01F280: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
01F290: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
01F2A0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
01F2B0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
01F2C0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
01F2D0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
01F2E0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
01F2F0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
01F300: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
01F310: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
01F320: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
01F330: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
01F340: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
01F350: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
01F360: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
01F370: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
01F380: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
01F390: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
01F3A0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
01F3B0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
01F3C0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
01F3D0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
01F3E0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
01F3F0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
01F400: 77 68 69 6C 65 28 31 29 20 7B 0D 0A 09 20 20 20 while(1) {...
01F410: 20 20 20 20 20 6C 6F 6F 6B 5B 30 5D 3D 74 6F 75 look[0]=tou
01F420: 70 70 65 72 28 63 68 28 29 29 3B 0D 0A 09 20 20 pper(ch());...
01F430: 20 20 20 20 20 20 69 66 20 28 21 28 63 68 65 63 if (!(chec
01F440: 6B 3D 73 74 72 70 6F 73 28 22 30 31 32 33 34 35 k=strpos("012345
01F450: 36 37 38 39 41 42 43 44 45 46 22 2C 6C 6F 6F 6B 6789ABCDEF",look
01F460: 29 29 29 0D 0A 09 09 20 20 20 20 20 20 20 20 72 ))).... r
01F470: 65 74 75 72 6E 20 31 3B 0D 0A 09 20 20 20 20 20 eturn 1;...
01F480: 20 20 20 76 61 6C 5B 30 5D 3D 76 61 6C 5B 30 5D val[0]=val[0]
01F490: 2A 31 36 2B 63 68 65 63 6B 2D 31 3B 0D 0A 09 20 *16+check-1;...
01F4A0: 20 20 20 20 20 20 20 67 63 68 28 29 3B 0D 0A 09 gch();...
01F4B0: 20 20 20 20 20 20 20 20 7D 0D 0A 20 20 20 20 20 }..
01F4C0: 20 20 20 7D 0D 0A 6E 75 6D 62 65 72 28 76 61 6C }..number(val
01F4D0: 29 0D 0A 69 6E 74 20 76 61 6C 5B 5D 3B 0D 0A 7B )..int val[];..{
01F4E0: 0D 0A 20 20 20 20 20 20 20 20 69 6E 74 20 6B 2C .. int k,
01F4F0: 6D 69 6E 75 73 3B 63 68 61 72 20 63 3B 0D 0A 20 minus;char c;..
01F500: 20 20 20 20 20 20 20 6B 3D 6D 69 6E 75 73 3D 31 k=minus=1
01F510: 3B 0D 0A 20 20 20 20 20 20 20 20 77 68 69 6C 65 ;.. while
01F520: 28 6B 29 20 7B 0D 0A 09 20 20 20 20 20 20 20 20 (k) {...
01F530: 6B 3D 30 3B 0D 0A 09 20 20 20 20 20 20 20 20 69 k=0;... i
01F540: 66 20 28 6D 61 74 63 68 28 22 2B 22 29 29 20 6B f (match("+")) k
01F550: 3D 31 3B 0D 0A 09 20 20 20 20 20 20 20 20 69 66 =1;... if
01F560: 20 28 6D 61 74 63 68 28 22 2D 22 29 29 20 7B 0D (match("-")) {.
01F570: 0A 09 09 20 20 20 20 20 20 20 20 6D 69 6E 75 73 ... minus
01F580: 3D 2D 6D 69 6E 75 73 3B 0D 0A 09 09 20 20 20 20 =-minus;....
01F590: 20 20 20 20 6B 3D 31 3B 0D 0A 09 09 20 20 20 20 k=1;....
01F5A0: 20 20 20 20 7D 0D 0A 09 20 20 20 20 20 20 20 20 }...
01F5B0: 7D 0D 0A 20 20 20 20 20 20 20 20 69 66 20 28 21 }.. if (!
01F5C0: 6E 75 6D 65 72 69 63 28 63 68 28 29 29 29 20 72 numeric(ch())) r
01F5D0: 65 74 75 72 6E 20 30 3B 0D 0A 20 20 20 20 20 20 eturn 0;..
01F5E0: 20 20 77 68 69 6C 65 28 6E 75 6D 65 72 69 63 28 while(numeric(
01F5F0: 63 68 28 29 29 29 20 7B 0D 0A 09 20 20 20 20 20 ch())) {...
01F600: 2F 2A 09 3E 3E 3E 3E 3E 20 73 74 61 72 74 20 6F /*.>>>>> start o
01F610: 66 20 63 39 20 3C 3C 3C 3C 3C 3C 09 2A 2F 0D 0A f c9 <<<<<<.*/..
01F620: 23 69 66 6E 64 65 66 09 54 52 55 45 09 2F 2A 20 #ifndef.TRUE./*
01F630: 63 68 65 63 6B 20 74 6F 20 73 65 65 20 69 66 20 check to see if
01F640: 69 6E 63 6C 75 64 65 20 66 69 6C 65 20 69 73 20 include file is
01F650: 6E 65 65 64 65 64 20 2A 2F 0D 0A 23 69 6E 63 6C needed */..#incl
01F660: 75 64 65 20 3C 43 2E 44 45 46 3E 0D 0A 23 65 6E ude <C.DEF>..#en
01F670: 64 69 66 0D 0A 0D 0A 2F 2A 09 41 64 64 20 74 68 dif..../*.Add th
01F680: 65 20 70 72 69 6D 61 72 79 20 61 6E 64 20 73 65 e primary and se
01F690: 63 6F 6E 64 61 72 79 20 72 65 67 69 73 74 65 72 condary register
01F6A0: 73 09 2A 2F 0D 0A 2F 2A 09 28 72 65 73 75 6C 74 s.*/../*.(result
01F6B0: 73 20 69 6E 20 70 72 69 6D 61 72 79 29 20 2A 2F s in primary) */
01F6C0: 0D 0A 61 64 64 28 29 0D 0A 7B 0D 0A 09 70 6F 70 ..add()..{...pop
01F6D0: 28 29 3B 0D 0A 09 6F 6C 28 22 64 61 64 5C 74 64 ();...ol("dad\td
01F6E0: 22 29 3B 0D 0A 09 7D 0D 0A 2F 2A 09 53 75 62 74 ");...}../*.Subt
01F6F0: 72 61 63 74 20 74 68 65 20 70 72 69 6D 61 72 79 ract the primary
01F700: 20 72 65 67 69 73 74 65 72 20 66 72 6F 6D 20 73 register from s
01F710: 65 63 6F 6E 64 61 72 79 20 2A 2F 0D 0A 2F 2A 09 econdary */../*.
01F720: 28 72 65 73 75 6C 74 73 20 69 6E 20 70 72 69 6D (results in prim
01F730: 61 72 79 29 20 2A 2F 0D 0A 73 75 62 28 29 0D 0A ary) */..sub()..
01F740: 7B 0D 0A 09 63 63 61 6C 6C 28 22 40 73 75 62 22 {...ccall("@sub"
01F750: 29 3B 0D 0A 09 7D 0D 0A 2F 2A 09 4D 75 6C 74 69 );...}../*.Multi
01F760: 70 6C 79 20 74 68 65 20 70 72 69 6D 61 72 79 20 ply the primary
01F770: 61 6E 64 20 73 65 63 6F 6E 64 61 72 79 20 72 65 and secondary re
01F780: 67 69 73 74 65 72 73 20 2A 2F 0D 0A 2F 2A 09 28 gisters */../*.(
01F790: 72 65 73 75 6C 74 73 20 69 6E 20 70 72 69 6D 61 results in prima
01F7A0: 72 79 29 20 2A 2F 0D 0A 6D 75 6C 74 28 29 0D 0A ry) */..mult()..
01F7B0: 7B 0D 0A 09 63 63 61 6C 6C 28 22 40 6D 75 6C 74 {...ccall("@mult
01F7C0: 22 29 3B 0D 0A 09 7D 0D 0A 2F 2A 09 44 69 76 69 ");...}../*.Divi
01F7D0: 64 65 20 74 68 65 20 73 65 63 6F 6E 64 61 72 79 de the secondary
01F7E0: 20 72 65 67 69 73 74 65 72 20 62 79 20 74 68 65 register by the
01F7F0: 20 70 72 69 6D 61 72 79 20 2A 2F 0D 0A 2F 2A 09 primary */../*.
01F800: 20 20 20 63 3D 69 6E 62 79 74 65 28 29 3B 0D 0A c=inbyte();..
01F810: 09 20 20 20 20 20 20 20 20 6B 3D 6B 2A 31 30 2B . k=k*10+
01F820: 28 63 2D 27 30 27 29 3B 0D 0A 09 20 20 20 20 20 (c-'0');...
01F830: 20 20 20 7D 0D 0A 20 20 20 20 20 20 20 20 69 66 }.. if
01F840: 20 28 6D 69 6E 75 73 3C 30 29 20 6B 3D 2D 6B 3B (minus<0) k=-k;
01F850: 0D 0A 20 20 20 20 20 20 20 20 76 61 6C 5B 30 5D .. val[0]
01F860: 3D 6B 3B 0D 0A 20 20 20 20 20 20 20 20 72 65 74 =k;.. ret
01F870: 75 72 6E 20 31 3B 0D 0A 20 20 20 20 20 20 20 20 urn 1;..
01F880: 7D 0D 0A 70 73 74 72 28 76 61 6C 29 0D 0A 69 6E }..pstr(val)..in
01F890: 74 20 76 61 6C 5B 5D 3B 0D 0A 7B 0D 0A 20 20 20 t val[];..{..
01F8A0: 20 20 20 20 20 69 6E 74 20 6B 3B 0D 0A 20 20 20 int k;..
01F8B0: 20 20 20 20 20 6B 3D 30 3B 0D 0A 20 20 20 20 20 k=0;..
01F8C0: 20 20 20 69 66 20 28 21 6D 61 74 63 68 28 22 5C if (!match("\
01F8D0: 27 22 29 29 20 72 65 74 75 72 6E 20 30 3B 0D 0A '")) return 0;..
01F8E0: 20 20 20 20 20 20 20 20 77 68 69 6C 65 28 63 68 while(ch
01F8F0: 28 29 20 21 3D 20 27 5C 27 27 20 26 26 20 63 68 () != '\'' && ch
01F900: 28 29 29 20 6B 3D 28 6B 26 32 35 35 29 2A 32 35 ()) k=(k&255)*25
01F910: 36 20 2B 20 65 73 74 72 28 29 3B 0D 0A 20 20 20 6 + estr();..
01F920: 20 20 20 20 20 67 63 68 28 29 3B 0D 0A 20 20 20 gch();..
01F930: 20 20 20 20 20 76 61 6C 5B 30 5D 3D 6B 3B 0D 0A val[0]=k;..
01F940: 20 20 20 20 20 20 20 20 72 65 74 75 72 6E 20 31 return 1
01F950: 3B 0D 0A 20 20 20 20 20 20 20 20 7D 0D 0A 71 73 ;.. }..qs
01F960: 74 72 28 76 61 6C 29 0D 0A 69 6E 74 20 76 61 6C tr(val)..int val
01F970: 5B 5D 3B 0D 0A 7B 0D 0A 20 20 20 20 20 20 20 20 [];..{..
01F980: 63 68 61 72 20 63 3B 0D 0A 20 20 20 20 20 20 20 char c;..
01F990: 20 69 66 20 28 21 6D 61 74 63 68 28 22 5C 22 22 if (!match("\""
01F9A0: 29 29 20 72 65 74 75 72 6E 20 30 3B 0D 0A 20 20 )) return 0;..
01F9B0: 20 20 20 20 20 20 76 61 6C 5B 30 5D 3D 6C 69 74 val[0]=lit
01F9C0: 70 74 72 3B 0D 0A 20 20 20 20 20 20 20 20 77 68 ptr;.. wh
01F9D0: 69 6C 65 20 28 63 68 28 29 20 21 3D 20 27 5C 22 ile (ch() != '\"
01F9E0: 27 29 20 7B 0D 0A 09 20 20 20 20 20 20 20 20 69 ') {... i
01F9F0: 66 28 21 63 68 28 29 29 20 62 72 65 61 6B 3B 0D f(!ch()) break;.
01FA00: 28 71 75 6F 74 69 65 6E 74 20 69 6E 20 70 72 69 (quotient in pri
01FA10: 6D 61 72 79 2C 20 72 65 6D 61 69 6E 64 65 72 20 mary, remainder
01FA20: 69 6E 20 73 65 63 6F 6E 64 61 79 29 20 2A 2F 0D in seconday) */.
01FA30: 0A 64 69 76 28 29 0D 0A 7B 0D 0A 09 63 63 61 6C .div()..{...ccal
01FA40: 6C 28 22 40 64 69 76 22 29 3B 0D 0A 09 7D 0D 0A l("@div");...}..
01FA50: 2F 2A 09 43 6F 6D 70 75 74 65 20 72 65 6D 61 69 /*.Compute remai
01FA60: 6E 64 65 72 20 28 6D 6F 64 29 20 6F 66 20 73 65 nder (mod) of se
01FA70: 63 6F 6E 64 61 79 20 62 79 20 70 72 69 6D 61 72 conday by primar
01FA80: 79 20 2A 2F 0D 0A 2F 2A 09 09 28 72 65 6D 61 69 y */../*..(remai
01FA90: 6E 64 65 72 20 69 6E 20 70 72 69 6D 61 72 79 2C nder in primary,
01FAA0: 20 71 75 6F 74 69 65 6E 74 20 69 65 6E 74 20 69 quotient ient i
01FAB0: 6E 20 73 65 63 6F 6E 64 61 72 79 29 20 2A 2F 0D n secondary) */.
01FAC0: 0A 6D 6F 64 28 29 0D 0A 7B 0D 0A 09 64 69 76 28 .mod()..{...div(
01FAD0: 29 3B 0D 0A 09 73 77 61 70 28 29 3B 0D 0A 09 7D );...swap();...}
01FAE0: 0D 0A 2F 2A 20 49 6E 63 6C 75 73 69 76 65 20 27 ../* Inclusive '
01FAF0: 6F 72 27 20 74 68 65 20 70 72 69 6D 61 72 79 20 or' the primary
01FB00: 61 6E 64 20 74 68 65 20 73 65 63 6F 6E 64 61 72 and the secondar
01FB10: 79 20 72 65 67 69 73 74 65 72 73 20 2A 2F 0D 0A y registers */..
01FB20: 2F 2A 09 28 72 65 73 75 6C 74 73 20 69 6E 20 70 /*.(results in p
01FB30: 72 69 6D 61 72 79 29 20 2A 2F 0D 0A 6F 72 28 29 rimary) */..or()
01FB40: 0D 0A 7B 0D 0A 09 63 63 61 6C 6C 28 22 40 6F 72 ..{...ccall("@or
01FB50: 22 29 3B 0D 0A 09 7D 0D 0A 2F 2A 20 45 78 78 63 ");...}../* Exxc
01FB60: 6C 75 73 69 76 65 20 27 6F 72 27 20 74 68 65 6E lusive 'or' then
01FB70: 20 70 72 69 6D 61 72 79 20 61 6E 64 20 74 68 65 primary and the
01FB80: 20 73 65 63 6F 6E 64 61 72 79 20 72 65 67 69 73 secondary regis
01FB90: 74 65 72 73 20 2A 2F 0D 0A 2F 2A 09 28 72 65 73 ters */../*.(res
01FBA0: 75 6C 74 73 20 69 6E 20 70 72 69 6D 61 72 79 29 ults in primary)
01FBB0: 09 2A 2F 0D 0A 78 6F 72 28 29 0D 0A 7B 0D 0A 09 .*/..xor()..{...
01FBC0: 63 63 61 6C 6C 28 22 40 78 6F 72 22 29 3B 0D 0A ccall("@xor");..
01FBD0: 09 7D 0D 0A 2F 2A 09 27 61 6E 64 27 20 74 68 65 .}../*.'and' the
01FBE0: 20 70 72 69 6D 61 72 79 20 61 6E 64 20 73 65 63 primary and sec
01FBF0: 6F 6E 64 61 72 79 20 72 65 67 69 73 74 65 72 73 ondary registers
01FC00: 0A 09 20 20 20 20 20 20 20 20 69 66 28 6C 69 74 .. if(lit
01FC10: 70 74 72 3E 3D 6C 69 74 6D 61 78 29 20 7B 0D 0A ptr>=litmax) {..
01FC20: 09 09 20 20 20 20 20 20 20 20 65 72 72 6F 72 28 .. error(
01FC30: 22 73 74 72 69 6E 67 20 73 70 61 63 65 20 65 78 "string space ex
01FC40: 68 61 75 73 74 65 64 22 29 3B 0D 0A 09 09 20 20 hausted");....
01FC50: 20 20 20 20 20 20 77 68 69 6C 65 28 63 68 28 29 while(ch()
01FC60: 20 21 3D 27 5C 22 27 20 26 26 20 63 68 28 29 29 !='\"' && ch())
01FC70: 20 65 73 74 72 28 29 3B 0D 0A 09 09 20 20 20 20 estr();....
01FC80: 20 20 20 20 72 65 74 75 72 6E 20 31 3B 0D 0A 09 return 1;...
01FC90: 09 20 20 20 20 20 20 20 20 7D 0D 0A 09 20 20 20 . }...
01FCA0: 20 20 20 20 20 6C 69 74 71 5B 6C 69 74 70 74 72 litq[litptr
01FCB0: 2B 2B 5D 3D 65 73 74 72 28 29 3B 0D 0A 09 20 20 ++]=estr();...
01FCC0: 20 20 20 20 20 20 7D 0D 0A 20 20 20 20 20 20 20 }..
01FCD0: 20 67 63 68 28 29 3B 0D 0A 20 20 20 20 20 20 20 gch();..
01FCE0: 20 6C 69 74 71 5B 6C 69 74 70 74 72 2B 2B 5D 3D litq[litptr++]=
01FCF0: 30 3B 0D 0A 20 20 20 20 20 20 20 20 72 65 74 75 0;.. retu
01FD00: 72 6E 20 31 3B 0D 0A 20 20 20 20 20 20 20 20 7D rn 1;.. }
01FD10: 0D 0A 65 73 74 72 28 29 0D 0A 7B 0D 0A 20 20 20 ..estr()..{..
01FD20: 20 20 20 20 20 63 68 61 72 20 63 68 65 63 6B 3B char check;
01FD30: 0D 0A 20 20 20 20 20 20 20 20 69 66 20 28 63 68 .. if (ch
01FD40: 28 29 20 21 3D 20 27 5C 5C 27 29 20 72 65 74 75 () != '\\') retu
01FD50: 72 6E 20 67 63 68 28 29 3B 0D 0A 20 20 20 20 20 rn gch();..
01FD60: 20 20 20 67 63 68 28 29 3B 0D 0A 20 20 20 20 20 gch();..
01FD70: 20 20 20 73 77 69 74 63 68 28 74 6F 75 70 70 65 switch(touppe
01FD80: 72 28 63 68 65 63 6B 3D 67 63 68 28 29 29 29 20 r(check=gch()))
01FD90: 7B 0D 0A 09 20 20 20 20 20 20 20 20 63 61 73 65 {... case
01FDA0: 20 27 52 27 20 3A 20 72 65 74 75 72 6E 20 43 52 'R' : return CR
01FDB0: 3B 0D 0A 09 20 20 20 20 20 20 20 20 63 61 73 65 ;... case
01FDC0: 20 27 4E 27 20 3A 20 72 65 74 75 72 6E 20 4C 46 'N' : return LF
01FDD0: 3B 0D 0A 09 20 20 20 20 20 20 20 20 63 61 73 65 ;... case
01FDE0: 20 27 42 27 20 3A 20 72 65 74 75 72 6E 20 42 53 'B' : return BS
01FDF0: 3B 0D 0A 09 20 20 20 20 20 20 20 20 63 61 73 65 ;... case
01FE00: 20 2A 2F 0D 0A 2F 2A 09 28 72 65 73 75 6C 74 73 */../*.(results
01FE10: 20 69 6E 20 70 72 69 6D 61 72 79 29 20 2A 2F 0D in primary) */.
01FE20: 0A 61 6E 64 28 29 0D 0A 7B 0D 0A 09 63 63 61 6C .and()..{...ccal
01FE30: 6C 28 22 40 61 6E 64 22 29 3B 0D 0A 09 7D 0D 0A l("@and");...}..
01FE40: 2F 2A 09 41 72 69 74 68 6D 65 74 69 63 20 73 68 /*.Arithmetic sh
01FE50: 69 66 74 20 72 69 67 68 74 20 74 68 65 20 73 65 ift right the se
01FE60: 63 6F 6E 64 61 72 79 20 72 65 67 69 73 74 65 72 condary register
01FE70: 20 6E 75 6D 62 65 72 20 6F 66 20 2A 2F 0D 0A 2F number of */../
01FE80: 2A 09 09 74 69 6D 65 73 20 69 6E 20 70 72 69 6D *..times in prim
01FE90: 61 72 79 20 28 72 65 73 75 6C 74 73 20 69 6E 20 ary (results in
01FEA0: 70 72 69 6D 61 72 79 20 29 20 2A 2F 0D 0A 61 73 primary ) */..as
01FEB0: 72 28 29 0D 0A 7B 0D 0A 09 63 63 61 6C 6C 28 22 r()..{...ccall("
01FEC0: 40 61 73 72 22 29 3B 0D 0A 09 7D 0D 0A 2F 2A 09 @asr");...}../*.
01FED0: 61 72 69 74 68 6D 65 74 69 63 20 6C 65 66 74 20 arithmetic left
01FEE0: 73 68 69 66 74 20 74 68 65 20 73 65 63 6F 6E 64 shift the second
01FEF0: 61 72 79 20 72 65 67 69 73 74 65 72 20 6E 75 6D ary register num
01FF00: 62 65 72 20 6F 66 20 2A 2F 0D 0A 2F 2A 09 09 74 ber of */../*..t
01FF10: 69 6D 65 73 20 69 6E 20 70 72 69 6D 61 72 79 20 imes in primary
01FF20: 28 72 65 73 75 6C 74 73 20 69 6E 20 70 72 69 6D (results in prim
01FF30: 61 72 79 29 20 2A 2F 0D 0A 61 73 6C 28 29 0D 0A ary) */..asl()..
01FF40: 7B 0D 0A 09 63 63 61 6C 6C 28 22 40 61 73 6C 22 {...ccall("@asl"
01FF50: 29 3B 0D 0A 09 7D 0D 0A 2F 2A 09 46 72 6F 6D 20 );...}../*.From
01FF60: 74 77 6F 27 73 20 63 6F 6D 70 6C 65 6D 65 6E 74 two's complement
01FF70: 20 6F 66 20 70 72 69 6D 61 72 79 20 72 65 67 69 of primary regi
01FF80: 73 74 65 72 20 2A 2F 0D 0A 6E 65 67 28 29 0D 0A ster */..neg()..
01FF90: 7B 0D 0A 09 63 61 6C 6C 28 22 40 6E 65 67 22 29 {...call("@neg")
01FFA0: 3B 0D 0A 09 7D 0D 0A 2F 2A 09 66 6F 72 6D 20 6F ;...}../*.form o
01FFB0: 6E 65 27 73 20 63 6F 6D 70 6C 65 6D 65 6E 74 20 ne's complement
01FFC0: 6F 66 20 70 72 69 6D 61 72 79 20 72 65 67 69 73 of primary regis
01FFD0: 74 65 72 20 2A 2F 0D 0A 63 6F 6D 28 29 0D 0A 7B ter */..com()..{
01FFE0: 0D 0A 09 63 61 6C 6C 28 22 40 63 6F 6D 22 29 3B ...call("@com");
01FFF0: 0D 0A 09 7D 0D 0A 70 72 65 5F 69 6E 63 28 6C 76 ...}..pre_inc(lv
020000: 20 27 54 27 3A 20 72 65 74 75 72 6E 20 54 42 3B 'T': return TB;
020010: 0D 0A 09 20 20 20 20 20 20 20 20 63 61 73 65 20 ... case
020020: 27 46 27 20 3A 20 72 65 74 75 72 6E 20 46 46 3B 'F' : return FF;
020030: 0D 0A 09 20 20 20 20 20 20 20 20 7D 0D 0A 20 20 ... }..
020040: 20 20 20 20 20 20 69 66 20 28 21 69 73 64 69 67 if (!isdig
020050: 69 74 28 63 68 65 63 6B 29 29 20 72 65 74 75 72 it(check)) retur
020060: 6E 20 63 68 65 63 6B 3B 0D 0A 20 20 20 20 20 20 n check;..
020070: 20 20 63 68 65 63 6B 3D 63 68 65 63 6B 2D 27 30 check=check-'0
020080: 27 3B 0D 0A 20 20 20 20 20 20 20 20 77 68 69 6C ';.. whil
020090: 65 28 69 73 64 69 67 69 74 28 63 68 28 29 29 29 e(isdigit(ch()))
0200A0: 20 63 68 65 63 6B 3D 63 68 65 63 6B 2A 38 2B 67 check=check*8+g
0200B0: 63 68 28 29 2D 27 30 27 3B 0D 0A 20 20 20 20 20 ch()-'0';..
0200C0: 20 20 20 72 65 74 75 72 6E 20 63 68 65 63 6B 3B return check;
0200D0: 0D 0A 20 20 20 20 20 20 20 20 7D 0D 0A 1A 20 7D .. }... }
0200E0: 0D 0A 1A 32 2C 31 30 35 2C 31 31 36 0D 0A 09 64 ...2,105,116...d
0200F0: 62 09 33 32 2C 39 37 2C 31 31 30 2C 31 32 31 2C b.32,97,110,121,
020100: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
020110: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
020120: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
020130: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
020140: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
020150: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
020160: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
020170: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
020180: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
020190: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0201A0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0201B0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0201C0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0201D0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0201E0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0201F0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
020200: 54 72 61 63 6B 2D 49 6E 66 6F 0D 0A 00 00 00 00 Track-Info......
020210: 1B 00 01 00 02 09 52 E5 1B 00 C1 02 00 00 00 02 ......R.........
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: 61 6C 29 0D 0A 69 6E 74 20 2A 6C 76 61 6C 3B 0D al)..int *lval;.
020310: 0A 7B 0D 0A 09 63 61 6C 6C 28 22 40 70 72 65 69 .{...call("@prei
020320: 6E 63 22 29 3B 0D 0A 09 69 6E 63 5F 64 65 66 28 nc");...inc_def(
020330: 6C 76 61 6C 29 3B 0D 0A 09 7D 0D 0A 70 6F 73 74 lval);...}..post
020340: 5F 69 6E 63 28 6C 76 61 6C 29 0D 0A 69 6E 74 20 _inc(lval)..int
020350: 2A 6C 76 61 6C 3B 0D 0A 7B 0D 0A 09 63 61 6C 6C *lval;..{...call
020360: 28 22 40 70 6F 73 74 69 6E 63 22 29 3B 0D 0A 09 ("@postinc");...
020370: 69 6E 63 5F 64 65 66 28 6C 76 61 6C 29 3B 0D 0A inc_def(lval);..
020380: 09 7D 0D 0A 70 72 65 5F 64 65 63 28 6C 76 61 6C .}..pre_dec(lval
020390: 29 0D 0A 69 6E 74 20 2A 6C 76 61 6C 3B 0D 0A 7B )..int *lval;..{
0203A0: 0D 0A 09 63 61 6C 6C 28 22 40 70 72 65 64 65 63 ...call("@predec
0203B0: 22 29 3B 0D 0A 09 69 6E 63 5F 64 65 66 28 6C 76 ");...inc_def(lv
0203C0: 61 6C 29 3B 0D 0A 09 7D 0D 0A 70 6F 73 74 5F 64 al);...}..post_d
0203D0: 65 63 28 6C 76 61 6C 29 0D 0A 69 6E 74 20 2A 6C ec(lval)..int *l
0203E0: 76 61 6C 3B 0D 0A 7B 0D 0A 09 63 61 6C 6C 28 22 val;..{...call("
0203F0: 40 70 6F 73 74 64 65 63 22 29 3B 0D 0A 09 69 6E @postdec");...in
020400: 63 5F 64 65 66 28 6C 76 61 6C 29 3B 0D 0A 09 7D c_def(lval);...}
020410: 0D 0A 69 6E 63 5F 64 65 66 28 6C 76 61 6C 29 0D ..inc_def(lval).
020420: 0A 69 6E 74 20 2A 6C 76 61 6C 3B 0D 0A 7B 0D 0A .int *lval;..{..
020430: 09 63 68 61 72 20 2A 70 74 72 3B 3B 0D 0A 09 69 .char *ptr;;...i
020440: 6E 74 20 76 61 6C 75 65 3B 0D 0A 0D 0A 09 70 74 nt value;.....pt
020450: 72 3D 6C 76 61 6C 5B 30 5D 3B 0D 0A 09 69 66 20 r=lval[0];...if
020460: 28 70 74 72 5B 69 64 65 6E 74 5D 20 3D 3D 20 70 (ptr[ident] == p
020470: 6F 69 6E 74 65 72 20 26 26 20 70 74 72 5B 69 6E ointer && ptr[in
020480: 64 63 6E 74 5D 20 21 3D 20 6C 76 61 6C 5B 31 5D dcnt] != lval[1]
020490: 29 20 76 61 6C 75 65 3D 30 78 38 30 3B 0D 0A 09 ) value=0x80;...
0204A0: 65 6C 73 65 20 76 61 6C 75 65 3D 30 3B 0D 0A 09 else value=0;...
0204B0: 76 61 6C 75 65 3D 76 61 6C 75 65 20 7C 20 64 61 value=value | da
0204C0: 74 61 5F 73 69 7A 65 28 6C 76 61 6C 29 3B 0D 0A ta_size(lval);..
0204D0: 09 69 66 20 28 70 74 72 5B 74 79 70 65 5D 20 3D .if (ptr[type] =
0204E0: 3D 20 63 69 6E 74 20 26 26 20 70 74 72 5B 69 64 = cint && ptr[id
0204F0: 65 6E 74 5D 20 21 3D 20 70 6F 69 6E 74 65 72 29 ent] != pointer)
020500: 63 6C 69 6E 6B 20 63 31 20 63 32 20 63 33 20 63 clink c1 c2 c3 c
020510: 34 20 63 35 20 63 36 20 63 37 20 63 38 20 63 39 4 c5 c6 c7 c8 c9
020520: 2E 63 20 63 31 20 63 32 20 63 33 20 63 34 20 63 .c c1 c2 c3 c4 c
020530: 38 20 63 39 2E 63 20 2D 73 20 2D 72 20 65 30 30 8 c9.c -s -r e00
020540: 20 0D 0A 1A 29 10 04 11 C2 10 88 0F 6D 0F 9D 0F ...).......m...
020550: BB 0C 96 0F 00 00 00 00 00 00 00 00 00 00 00 00 ................
020560: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
020570: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
020580: 21 08 00 39 4E 23 46 23 5E 23 56 23 7E 23 66 6F !..9N#F#^#V#~#fo
020590: C9 24 51 E5 36 FA 0E 0A EB CD 05 00 D1 62 6B 13 .$Q.6........bk.
0205A0: 46 13 1A 77 23 13 05 C2 A5 01 36 00 0E 02 1E 0A F..w#.....6.....
0205B0: CD 05 00 E1 C9 24 52 13 00 01 03 16 00 13 00 24 .....$R........$
0205C0: 54 14 00 13 B8 01 0E 02 C5 C5 CD 00 00 C1 C1 7D T..............}
0205D0: B7 21 00 00 C8 21 01 00 C9 24 52 14 00 01 03 05 .!...!...$R.....
0205E0: 00 00 00 24 54 15 00 22 CB 01 C1 E1 D1 D5 E5 C5 ...$T.."........
0205F0: D5 E5 CD FA 02 D1 D1 2C CA E9 01 0E 0F CD 05 00 .......,........
020600: 2C 30 34 2C 44 44 2C 36 36 2C 30 35 2C 37 37 2C ,04,DD,66,05,77,
020610: 43 39 00 27 00 C6 02 C5 20 2A 2A 2A 20 43 4F 50 C9.'.... *** COP
020620: 59 52 49 47 48 54 20 41 44 56 41 4E 54 41 47 45 YRIGHT ADVANTAGE
020630: 20 31 39 38 35 20 2A 2A 2A 00 00 00 1A 2A 2A 00 1985 ***....**.
020640: 00 00 1A 37 37 2C 43 39 00 27 00 C6 02 C5 20 2A ...77,C9.'.... *
020650: 2A 2A 20 43 4F 50 59 52 49 47 48 54 20 41 44 56 ** COPYRIGHT ADV
020660: 41 4E 54 41 47 45 20 31 39 38 35 20 2A 2A 2A 00 ANTAGE 1985 ***.
020670: 00 00 1A 00 1A 00 00 00 1A 2A 00 00 00 1A 00 00 .........*......
020680: 22 20 EB 20 A1 20 0B 00 00 E9 EE 10 20 FA 20 0B " . . ...... . .
020690: 00 00 66 6C 61 E7 EF 0F 20 EB 20 BF 23 16 2C 22 ..fla... . .#.,"
0206A0: 22 00 41 00 58 02 A1 20 03 00 00 E3 EF 22 44 22 ".A.X.. ....."D"
0206B0: 20 EB 20 BF 23 16 2C 20 FF 75 28 03 00 00 6E 61 . .#., .u(...na
0206C0: 6D E5 28 0B 00 00 E9 29 2C FF 74 28 03 00 00 6E m.(....),.t(...n
0206D0: 61 6D E5 28 0B 00 00 E9 29 2C 22 2E 22 29 F5 0F am.(....),".")..
0206E0: 29 3B 00 29 00 62 02 A1 20 03 00 00 E3 EF 22 54 );.).b.. ....."T
0206F0: 22 20 EB 20 BF 23 16 2C 03 00 00 6E 61 6D E5 28 " . .#.,...nam.(
020700: 20 76 61 6C 75 65 3D 76 61 6C 75 65 20 7C 20 30 value=value | 0
020710: 78 38 30 3B 20 0D 0A 09 64 65 66 62 79 74 65 28 x80; ...defbyte(
020720: 29 3B 0D 0A 09 6F 75 74 68 65 78 28 76 61 6C 75 );...outhex(valu
020730: 65 29 3B 0D 0A 09 6E 6C 28 29 3B 0D 0A 09 7D 0D e);...nl();...}.
020740: 0A 20 0D 0A 2F 2A 09 66 6F 6C 6C 6F 77 69 6E 67 . ../*.following
020750: 20 61 72 65 20 74 68 65 20 63 6F 6E 64 69 74 69 are the conditi
020760: 6F 6E 61 6C 20 6F 70 65 72 61 74 6F 72 73 20 2A onal operators *
020770: 2F 0D 0A 2F 2A 09 74 68 65 79 20 63 6F 6D 70 61 /../*.they compa
020780: 72 65 20 74 68 65 20 73 65 63 6F 6E 64 61 79 20 re the seconday
020790: 72 65 67 69 73 74 65 72 20 61 67 61 69 6E 73 74 register against
0207A0: 20 74 68 65 20 70 72 69 6D 61 72 79 20 2A 2F 0D the primary */.
0207B0: 0A 2F 2A 09 61 6E 64 20 70 75 74 20 61 20 6C 65 ./*.and put a le
0207C0: 74 65 72 61 6C 20 31 20 69 6E 20 74 68 65 20 70 teral 1 in the p
0207D0: 72 69 6D 61 72 79 20 69 66 20 74 68 65 20 63 6F rimary if the co
0207E0: 6E 64 69 74 69 6F 6E 20 69 73 20 2A 2F 0D 0A 2F ndition is */../
0207F0: 2A 09 74 72 75 65 20 6F 74 68 65 72 77 69 73 65 *.true otherwise
020800: 20 74 68 65 20 63 6C 65 61 72 20 74 68 65 20 70 the clear the p
020810: 72 69 6D 61 72 79 20 72 65 67 69 73 74 65 72 20 rimary register
020820: 2A 2F 0D 0A 2F 2A 09 63 68 61 6E 67 65 20 74 6F */../*.change to
020830: 20 6E 6F 74 20 63 6F 6E 64 69 74 69 6F 6E 20 2A not condition *
020840: 2F 0D 0A 6E 6C 6F 67 69 63 61 6C 28 29 0D 0A 7B /..nlogical()..{
020850: 0D 0A 09 63 61 6C 6C 28 22 40 6E 6C 6F 67 22 29 ...call("@nlog")
020860: 3B 0D 0A 09 7D 0D 0A 2F 2A 09 74 65 73 74 20 66 ;...}../*.test f
020870: 6F 72 20 6C 6F 67 69 63 61 6C 20 61 6E 64 20 2A or logical and *
020880: 2F 0D 0A 6C 61 6E 64 28 29 0D 0A 7B 0D 0A 09 63 /..land()..{...c
020890: 63 61 6C 6C 28 22 40 6C 61 6E 64 22 29 3B 0D 0A call("@land");..
0208A0: 09 7D 0D 0A 2F 2A 09 74 65 73 74 20 66 6F 72 20 .}../*.test for
0208B0: 6C 6F 67 69 63 61 6C 20 6F 72 20 2A 2F 0D 0A 6C logical or */..l
0208C0: 6F 72 28 29 0D 0A 7B 0D 0A 09 63 63 61 6C 6C 28 or()..{...ccall(
0208D0: 22 40 6C 6F 72 22 29 3B 0D 0A 09 7D 0D 0A 2F 2A "@lor");...}../*
0208E0: 09 74 65 73 74 20 66 6F 72 20 65 71 75 61 6C 20 .test for equal
0208F0: 2A 2F 0D 0A 65 71 28 29 0D 0A 7B 0D 0A 09 63 63 */..eq()..{...cc
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: 61 6C 6C 28 22 40 65 71 22 29 3B 0D 0A 09 7D 0D all("@eq");...}.
020B10: 0A 2F 2A 09 74 65 73 74 20 66 6F 72 20 6E 6F 74 ./*.test for not
020B20: 20 65 71 75 61 6C 20 2A 2F 0D 0A 6E 65 28 29 0D equal */..ne().
020B30: 0A 7B 0D 0A 09 63 63 61 6C 6C 28 22 40 6E 65 22 .{...ccall("@ne"
020B40: 29 3B 0D 0A 09 7D 0D 0A 2F 2A 09 74 65 73 74 20 );...}../*.test
020B50: 66 6F 72 20 6C 65 73 73 20 74 68 61 6E 20 28 73 for less than (s
020B60: 69 67 6E 65 64 29 20 2A 2F 0D 0A 6C 74 28 29 0D igned) */..lt().
020B70: 0A 7B 0D 0A 09 63 63 61 6C 6C 28 22 40 6C 74 22 .{...ccall("@lt"
020B80: 29 3B 0D 0A 09 7D 0D 0A 2F 2A 09 74 65 74 20 66 );...}../*.tet f
020B90: 6F 72 20 6C 65 73 73 20 74 68 61 6E 20 6F 72 20 or less than or
020BA0: 65 71 75 61 6C 20 74 6F 20 28 73 69 67 6E 65 64 equal to (signed
020BB0: 29 20 2A 2F 0D 0A 6C 65 28 29 0D 0A 7B 0D 0A 09 ) */..le()..{...
020BC0: 63 63 61 6C 6C 28 22 40 6C 65 22 29 3B 0D 0A 09 ccall("@le");...
020BD0: 7D 0D 0A 2F 2A 09 74 65 73 74 20 66 6F 72 20 67 }../*.test for g
020BE0: 72 65 61 74 65 72 20 74 68 61 6E 20 28 73 69 67 reater than (sig
020BF0: 6E 65 64 29 20 2A 2F 0D 0A 67 74 28 29 0D 0A 7B ned) */..gt()..{
020C00: 0D 0A 09 63 63 61 6C 6C 28 22 40 67 74 22 29 3B ...ccall("@gt");
020C10: 0D 0A 09 7D 0D 0A 2F 2A 09 74 65 73 74 20 66 6F ...}../*.test fo
020C20: 72 20 67 72 65 61 74 65 72 20 74 68 61 6E 20 6F r greater than o
020C30: 72 20 6F 72 20 65 71 75 61 6C 20 28 73 69 67 6E r or equal (sign
020C40: 65 64 29 20 2A 2F 0D 0A 67 65 28 29 0D 0A 7B 0D ed) */..ge()..{.
020C50: 0A 09 63 63 61 6C 6C 28 22 40 67 65 22 29 3B 0D ..ccall("@ge");.
020C60: 0A 09 7D 0D 0A 2F 2A 09 74 65 73 74 20 66 6F 72 ..}../*.test for
020C70: 20 6C 65 73 73 20 74 68 61 6E 20 28 75 6E 73 69 less than (unsi
020C80: 67 6E 65 64 29 20 2A 2F 0D 0A 75 6C 74 28 29 0D gned) */..ult().
020C90: 0A 7B 0D 0A 09 63 63 61 6C 6C 28 22 40 75 6C 74 .{...ccall("@ult
020CA0: 22 29 3B 0D 0A 09 7D 0D 0A 2F 2A 09 54 65 73 74 ");...}../*.Test
020CB0: 20 66 6F 72 20 6C 65 65 73 20 74 68 61 6E 20 6F for lees than o
020CC0: 72 20 65 71 75 61 6C 20 74 6F 20 28 75 6E 73 69 r equal to (unsi
020CD0: 67 6E 65 64 29 20 2A 2F 0D 0A 75 6C 65 28 29 0D gned) */..ule().
020CE0: 0A 7B 0D 0A 09 63 63 61 6C 6C 28 22 40 75 6C 65 .{...ccall("@ule
020CF0: 22 29 3B 0D 0A 09 7D 0D 0A 2F 2A 09 74 65 73 74 ");...}../*.test
020D00: 2F 2A 09 3E 3E 3E 3E 20 73 74 61 72 74 20 6F 66 /*.>>>> start of
020D10: 20 63 63 33 20 3C 3C 3C 3C 3C 3C 3C 3C 3C 09 2A cc3 <<<<<<<<<.*
020D20: 2F 0D 0A 2F 2A 09 09 09 09 09 2A 2F 0D 0A 23 69 /../*.....*/..#i
020D30: 66 6E 64 65 66 20 54 52 55 45 09 2F 2A 20 73 65 fndef TRUE./* se
020D40: 65 20 69 66 20 6E 65 65 64 20 69 6E 63 6C 75 64 e if need includ
020D50: 65 20 66 69 6C 65 20 2A 2F 0D 0A 23 69 6E 63 6C e file */..#incl
020D60: 75 64 65 20 3C 43 2E 44 45 46 3E 0D 0A 23 65 6E ude <C.DEF>..#en
020D70: 64 69 66 0D 0A 2F 2A 09 50 65 72 66 6F 72 6D 20 dif../*.Perform
020D80: 61 20 66 75 6E 63 74 69 6F 6E 20 63 61 6C 6C 09 a function call.
020D90: 09 2A 2F 0D 0A 2F 2A 09 09 09 09 09 2A 2F 0D 0A .*/../*.....*/..
020DA0: 2F 2A 20 63 61 6C 6C 65 64 20 66 72 6F 6D 20 68 /* called from h
020DB0: 65 69 72 31 31 2C 20 74 68 69 73 20 72 6F 75 74 eir11, this rout
020DC0: 69 6E 65 20 77 69 6C 6C 20 65 69 74 68 65 72 20 ine will either
020DD0: 63 61 6C 6C 09 2A 2F 0D 0A 2F 2A 09 74 68 65 20 call.*/../*.the
020DE0: 6E 61 6D 65 64 20 66 75 6E 63 74 69 6F 6E 2C 20 named function,
020DF0: 6F 72 20 69 66 20 74 68 65 20 73 75 70 70 6C 69 or if the suppli
020E00: 65 64 20 70 74 72 20 69 73 09 2A 2F 0D 0A 2F 2A ed ptr is.*/../*
020E10: 09 7A 65 72 6F 2C 20 77 69 6C 6C 20 63 61 6C 6C .zero, will call
020E20: 20 74 68 65 20 63 6F 6E 74 65 6E 74 73 20 6F 66 the contents of
020E30: 20 48 4C 09 09 2A 2F 0D 0A 63 61 6C 6C 66 75 6E HL..*/..callfun
020E40: 63 74 69 6F 6E 28 70 74 72 29 0D 0A 63 68 61 72 ction(ptr)..char
020E50: 20 2A 70 74 72 3B 20 20 20 20 20 20 2F 2A 20 73 *ptr; /* s
020E60: 79 6D 62 6F 6C 20 74 61 62 6C 65 20 65 6E 74 72 ymbol table entr
020E70: 79 20 28 6F 72 20 30 29 20 2A 2F 0D 0A 7B 0D 0A y (or 0) */..{..
020E80: 09 69 6E 74 20 6E 61 72 67 73 3B 0D 0A 09 6E 61 .int nargs;...na
020E90: 72 67 73 3D 30 3B 0D 0A 09 62 6C 61 6E 6B 73 28 rgs=0;...blanks(
020EA0: 29 3B 09 09 2F 2A 20 61 6C 72 65 61 64 79 20 73 );../* already s
020EB0: 61 77 20 6F 70 65 6E 20 70 61 72 65 6E 20 2A 2F aw open paren */
020EC0: 0D 0A 09 69 66 20 28 70 74 72 3D 3D 30 29 20 70 ...if (ptr==0) p
020ED0: 75 73 68 28 29 3B 09 2F 2A 20 63 61 6C 6C 69 6E ush();./* callin
020EE0: 67 20 48 4C 20 2A 2F 0D 0A 09 77 68 69 6C 65 20 g HL */...while
020EF0: 28 73 74 72 65 71 28 6C 69 6E 65 2B 6C 70 74 72 (streq(line+lptr
020F00: 20 66 6F 72 20 67 72 65 61 74 65 72 20 74 68 61 for greater tha
020F10: 6E 20 28 75 6E 73 69 67 6E 65 64 29 20 2A 2F 0D n (unsigned) */.
020F20: 0A 75 67 74 28 29 0D 0A 7B 0D 0A 09 63 63 61 6C .ugt()..{...ccal
020F30: 6C 28 22 40 75 67 74 22 29 3B 0D 0A 09 7D 0D 0A l("@ugt");...}..
020F40: 2F 2A 09 74 65 73 74 20 66 6F 72 20 67 72 65 61 /*.test for grea
020F50: 74 65 72 20 74 68 61 6E 20 6F 72 20 65 71 75 61 ter than or equa
020F60: 6C 20 74 6F 20 28 75 6E 73 69 67 6E 65 64 29 20 l to (unsigned)
020F70: 2A 2F 0D 0A 75 67 65 28 29 0D 0A 7B 0D 0A 09 63 */..uge()..{...c
020F80: 63 61 6C 6C 28 22 40 75 67 65 22 29 3B 0D 0A 09 call("@uge");...
020F90: 7D 0D 0A 0D 0A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A }...............
020FA0: 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A ................
020FB0: 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A ................
020FC0: 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A ................
020FD0: 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A ................
020FE0: 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A ................
020FF0: 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A ................
021000: 43 44 2C 37 37 2C 42 43 2C 33 30 2C 31 38 2C 43 CD,77,BC,30,18,C
021010: 35 2C 32 31 2C 37 30 2C 30 31 2C 43 44 2C 38 33 5,21,70,01,CD,83
021020: 2C 42 43 00 45 00 78 05 8C 20 43 31 2C 32 31 2C ,BC.E.x.. C1,21,
021030: 37 30 2C 30 31 2C 30 39 2C 45 42 2C 32 31 2C 36 70,01,09,EB,21,6
021040: 36 2C 41 45 2C 30 36 2C 30 38 2C 37 33 2C 32 33 6,AE,06,08,73,23
021050: 2C 37 32 2C 32 33 2C 31 30 2C 46 41 2C 43 44 2C ,72,23,10,FA,CD,
021060: 37 41 2C 42 43 2C 43 39 00 1C 00 82 05 A4 20 19 7A,BC,C9...... .
021070: 81 2C 22 43 41 4C 4C 20 26 31 34 30 22 F4 FF 03 .,"CALL &140"...
021080: 28 19 0D 29 00 13 00 8C 05 A4 20 8D 20 14 2C 0E (..)...... . .,.
021090: 2C 0E 2C 0E 2C 19 81 00 06 00 96 05 C9 00 5B 00 ,.,.,.........[.
0210A0: A0 05 A1 20 0D 00 00 66 6C 61 E7 EF 0F 20 EB 20 ... ...fla... .
0210B0: 7C 00 54 41 50 C5 01 BF 23 12 2C 22 43 55 52 52 |.TAP...#.,"CURR
0210C0: 45 4E 54 20 4D 4F 44 45 3A 20 7C 54 41 50 45 22 ENT MODE: |TAPE"
0210D0: 01 C9 20 01 97 20 7C 00 44 49 53 C3 01 BF 23 12 .. .. |.DIS...#.
0210E0: 2C 22 43 55 52 52 45 4E 54 20 4D 4F 44 45 3A 20 ,"CURRENT MODE:
0210F0: 7C 44 49 53 43 22 01 C9 00 31 00 AA 05 C5 20 2A |DISC"...1.... *
021100: 2C 22 29 22 29 20 3D 3D 20 30 29 20 7B 0D 0A 09 ,")") == 0) {...
021110: 09 69 66 20 28 65 6E 64 73 74 28 29 29 20 62 72 .if (endst()) br
021120: 65 61 6B 3B 0D 0A 09 09 65 78 70 72 65 73 73 69 eak;....expressi
021130: 6F 6E 28 29 3B 09 2F 2A 20 67 65 74 20 61 6E 20 on();./* get an
021140: 61 72 67 75 6D 65 6E 74 20 2A 2F 0D 0A 09 09 69 argument */....i
021150: 66 20 28 70 74 72 20 3D 3D 20 30 29 20 73 77 61 f (ptr == 0) swa
021160: 70 73 74 6B 28 29 3B 20 2F 2A 20 64 6F 6E 27 74 pstk(); /* don't
021170: 20 70 75 73 68 20 61 64 64 72 20 2A 2F 0D 0A 09 push addr */...
021180: 09 70 75 73 68 28 29 3B 09 09 2F 2A 20 70 75 73 .push();../* pus
021190: 68 20 61 72 67 75 6D 65 6E 74 20 2A 2F 0D 0A 09 h argument */...
0211A0: 09 6E 61 72 67 73 3D 6E 61 72 67 73 2B 32 3B 09 .nargs=nargs+2;.
0211B0: 2F 2A 20 63 6F 75 6E 74 20 61 72 67 73 2A 32 20 /* count args*2
0211C0: 2A 2F 0D 0A 09 09 69 66 20 28 6D 61 74 63 68 28 */....if (match(
0211D0: 22 2C 22 29 20 3D 3D 20 30 29 20 62 72 65 61 6B ",") == 0) break
0211E0: 3B 0D 0A 09 09 7D 0D 0A 09 6E 65 65 64 62 72 61 ;....}...needbra
0211F0: 63 6B 28 22 29 22 29 3B 0D 0A 09 69 66 20 28 70 ck(")");...if (p
021200: 74 72 29 20 63 61 6C 6C 28 70 74 72 29 3B 20 65 tr) call(ptr); e
021210: 6C 73 65 20 63 61 6C 6C 73 74 6B 28 29 3B 0D 0A lse callstk();..
021220: 09 73 70 3D 6D 6F 64 73 74 6B 28 73 70 2B 6E 61 .sp=modstk(sp+na
021230: 72 67 73 29 3B 20 20 20 20 2F 2A 20 63 6C 65 61 rgs); /* clea
021240: 6E 20 75 70 20 61 72 67 75 6D 65 6E 74 73 20 2A n up arguments *
021250: 2F 0D 0A 09 7D 0D 0A 6A 75 6E 6B 28 29 0D 0A 7B /...}..junk()..{
021260: 20 20 20 20 20 20 20 69 66 28 61 6E 28 69 6E 62 if(an(inb
021270: 79 74 65 28 29 29 29 20 77 68 69 6C 65 28 61 6E yte())) while(an
021280: 28 63 68 28 29 29 29 20 67 63 68 28 29 3B 0D 0A (ch())) gch();..
021290: 09 65 6C 73 65 20 77 68 69 6C 65 28 61 6E 28 63 .else while(an(c
0212A0: 68 28 29 29 20 3D 3D 20 30 29 20 7B 0D 0A 09 09 h()) == 0) {....
0212B0: 69 66 28 63 68 28 29 20 3D 3D 20 30 29 20 62 72 if(ch() == 0) br
0212C0: 65 61 6B 3B 0D 0A 09 09 67 63 68 28 29 3B 0D 0A eak;....gch();..
0212D0: 09 09 7D 0D 0A 09 62 6C 61 6E 6B 73 28 29 3B 0D ..}...blanks();.
0212E0: 0A 09 7D 0D 0A 65 6E 64 73 74 28 29 0D 0A 7B 0D ..}..endst()..{.
0212F0: 0A 09 62 6C 61 6E 6B 73 28 29 3B 0D 0A 09 72 65 ..blanks();...re
021300: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
021310: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
021320: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
021330: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
021340: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
021350: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
021360: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
021370: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
021380: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
021390: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0213A0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0213B0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0213C0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0213D0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0213E0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0213F0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
021400: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
021410: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
021420: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
021430: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
021440: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
021450: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
021460: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
021470: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
021480: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
021490: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0214A0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0214B0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0214C0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0214D0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0214E0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0214F0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
021500: 54 72 61 63 6B 2D 49 6E 66 6F 0D 0A 00 00 00 00 Track-Info......
021510: 1C 00 01 00 02 09 52 E5 1C 00 C1 02 00 00 00 02 ......R.........
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 75 72 6E 20 28 28 73 74 72 65 71 28 6C 69 6E turn ((streq(lin
021610: 65 2B 6C 70 74 72 2C 22 3B 22 29 20 7C 7C 28 63 e+lptr,";") ||(c
021620: 68 28 29 20 3D 3D 20 30 29 29 29 3B 0D 0A 09 7D h() == 0)));...}
021630: 0D 0A 73 75 62 65 72 72 6F 72 28 73 6E 61 6D 65 ..suberror(sname
021640: 29 0D 0A 63 68 61 72 20 2A 73 6E 61 6D 65 3B 0D )..char *sname;.
021650: 0A 7B 0D 0A 09 63 68 61 72 20 6D 73 67 5B 38 30 .{...char msg[80
021660: 5D 3B 0D 0A 0D 0A 09 73 74 72 63 70 79 28 6D 73 ];.....strcpy(ms
021670: 67 2C 22 69 64 65 6E 74 69 66 69 65 72 20 5C 22 g,"identifier \"
021680: 22 29 3B 0D 0A 09 73 74 72 63 61 74 28 6D 73 67 ");...strcat(msg
021690: 2C 73 6E 61 6D 65 29 3B 0D 0A 09 73 74 72 63 61 ,sname);...strca
0216A0: 74 28 6D 73 67 2C 22 5C 22 20 69 73 20 6E 6F 74 t(msg,"\" is not
0216B0: 20 61 20 76 61 69 6C 64 20 61 72 72 61 79 20 62 a vaild array b
0216C0: 61 73 65 22 29 3B 0D 0A 09 65 72 72 6F 72 5F 70 ase");...error_p
0216D0: 72 74 28 6D 73 67 29 3B 0D 0A 09 77 68 69 6C 65 rt(msg);...while
0216E0: 28 31 29 20 7B 0D 0A 09 09 69 66 20 28 65 6E 64 (1) {....if (end
0216F0: 73 74 28 29 29 20 72 65 74 75 72 6E 3B 0D 0A 09 st()) return;...
021700: 09 69 66 20 28 63 68 28 29 3D 3D 27 5D 27 29 20 .if (ch()==']')
021710: 7B 0D 0A 09 09 09 67 63 68 28 29 3B 0D 0A 09 09 {.....gch();....
021720: 09 72 65 74 75 72 6E 3B 0D 0A 09 09 09 7D 0D 0A .return;.....}..
021730: 09 09 67 63 68 28 29 3B 0D 0A 09 09 7D 0D 0A 09 ..gch();....}...
021740: 7D 0D 0A 0D 0A 69 6C 6C 6E 61 6D 65 28 29 0D 0A }....illname()..
021750: 7B 0D 0A 09 65 72 72 6F 72 28 22 69 6C 6C 65 67 {...error("illeg
021760: 61 6C 20 73 79 6D 62 6F 6C 20 6E 61 6D 65 22 29 al symbol name")
021770: 3B 0D 0A 09 6A 75 6E 6B 28 29 3B 0D 0A 09 7D 0D ;...junk();...}.
021780: 0A 75 6E 64 65 66 69 6E 65 28 73 6E 61 6D 65 29 .undefine(sname)
021790: 0D 0A 63 68 61 72 20 2A 73 6E 61 6D 65 3B 0D 0A ..char *sname;..
0217A0: 7B 0D 0A 09 63 68 61 72 20 6D 73 67 5B 38 30 5D {...char msg[80]
0217B0: 3B 0D 0A 09 73 74 72 63 70 79 28 6D 73 67 2C 22 ;...strcpy(msg,"
0217C0: 75 6E 64 65 66 69 6E 65 20 69 64 65 6E 74 69 66 undefine identif
0217D0: 69 65 72 20 5C 22 22 29 3B 0D 0A 09 73 74 72 63 ier \"");...strc
0217E0: 61 74 28 6D 73 67 2C 73 6E 61 6D 65 29 3B 0D 0A at(msg,sname);..
0217F0: 09 73 74 72 63 61 74 28 6D 73 67 2C 22 5C 22 22 .strcat(msg,"\""
021800: 7A 3B 0D 0A 09 7D 0D 0A 63 68 28 29 0D 0A 7B 0D z;...}..ch()..{.
021810: 0A 09 72 65 74 75 72 6E 20 6C 69 6E 65 5B 6C 70 ..return line[lp
021820: 74 72 5D 3B 0D 0A 09 7D 0D 0A 6E 63 68 28 29 0D tr];...}..nch().
021830: 0A 7B 0D 0A 20 20 20 20 20 20 20 69 66 28 63 68 .{.. if(ch
021840: 28 29 20 3D 3D 20 30 29 20 72 65 74 75 72 6E 20 () == 0) return
021850: 30 3B 0D 0A 09 65 6C 73 65 20 72 65 74 75 72 6E 0;...else return
021860: 28 6C 69 6E 65 5B 6C 70 74 72 2B 31 5D 29 3B 0D (line[lptr+1]);.
021870: 0A 09 7D 0D 0A 67 63 68 28 29 0D 0A 7B 20 20 20 ..}..gch()..{
021880: 20 20 20 20 69 66 28 63 68 28 29 20 3D 3D 20 30 if(ch() == 0
021890: 29 20 72 65 74 75 72 6E 20 30 3B 0D 0A 09 65 6C ) return 0;...el
0218A0: 73 65 20 72 65 74 75 72 6E 20 6C 69 6E 65 5B 6C se return line[l
0218B0: 70 74 72 2B 2B 5D 3B 0D 0A 09 7D 0D 0A 6B 69 6C ptr++];...}..kil
0218C0: 6C 28 29 0D 0A 7B 20 20 20 20 20 20 20 6C 70 74 l()..{ lpt
0218D0: 72 3D 30 3B 0D 0A 09 6C 69 6E 65 5B 30 5D 3D 30 r=0;...line[0]=0
0218E0: 3B 0D 0A 09 7D 0D 0A 69 6E 62 79 74 65 28 29 0D ;...}..inbyte().
0218F0: 0A 7B 0D 0A 09 77 68 69 6C 65 20 28 21 6C 69 6E .{...while (!lin
021900: 65 5B 6C 70 74 72 5D 29 20 7B 0D 0A 09 09 69 66 e[lptr]) {....if
021910: 20 28 65 6F 66 29 20 72 65 74 75 72 6E 20 30 3B (eof) return 0;
021920: 0D 0A 09 09 69 6E 6C 69 6E 65 28 29 3B 0D 0A 09 ....inline();...
021930: 09 70 72 65 70 72 6F 63 65 73 73 28 29 3B 0D 0A .preprocess();..
021940: 09 09 7D 0D 0A 09 72 65 74 75 72 6E 20 67 63 68 ..}...return gch
021950: 28 29 3B 0D 0A 09 7D 0D 0A 69 6E 63 68 61 72 28 ();...}..inchar(
021960: 29 0D 0A 09 7B 0D 0A 09 69 66 20 28 21 6C 69 6E )...{...if (!lin
021970: 65 5B 6C 70 74 72 5D 29 20 69 6E 6C 69 6E 65 28 e[lptr]) inline(
021980: 29 3B 0D 0A 09 69 66 20 28 65 6F 66 29 20 72 65 );...if (eof) re
021990: 74 75 72 6E 20 30 3B 0D 0A 09 72 65 74 75 72 6E turn 0;...return
0219A0: 20 28 67 63 68 28 29 29 3B 0D 0A 09 7D 0D 0A 69 (gch());...}..i
0219B0: 6E 6C 69 6E 65 28 29 0D 0A 7B 0D 0A 09 69 6E 74 nline()..{...int
0219C0: 20 6B 3B 0D 0A 09 63 68 61 72 20 2A 75 6E 69 74 k;...char *unit
0219D0: 3B 0D 0A 09 77 68 69 6C 65 28 31 29 20 7B 0D 0A ;...while(1) {..
0219E0: 09 09 6B 69 6C 6C 28 29 3B 0D 0A 09 09 69 66 20 ..kill();....if
0219F0: 28 69 6E 70 75 74 3D 3D 30 29 6F 70 65 6E 69 6E (input==0)openin
021A00: 29 3B 0D 0A 09 65 72 72 6F 72 5F 70 72 69 6E 74 );...error_print
021A10: 28 6D 73 67 29 3B 0D 0A 09 7D 0D 0A 2F 2A 09 09 (msg);...}../*..
021A20: 09 09 09 09 2A 2F 0D 0A 2F 2A 09 77 72 69 74 74 ....*/../*.writt
021A30: 65 6E 20 42 79 20 4D 69 6B 65 20 42 65 72 6E 73 en By Mike Berns
021A40: 6F 6E 20 34 2F 38 31 09 09 2A 2F 0D 0A 2F 2A 09 on 4/81..*/../*.
021A50: 09 09 09 09 09 2A 2F 0D 0A 6D 75 6C 74 69 64 65 .....*/..multide
021A60: 66 28 73 6E 61 6D 65 29 0D 0A 63 68 61 72 20 2A f(sname)..char *
021A70: 73 6E 61 6D 65 3B 0D 0A 7B 0D 0A 09 63 68 61 72 sname;..{...char
021A80: 20 6D 73 67 5B 38 30 5D 3B 0D 0A 09 73 74 72 63 msg[80];...strc
021A90: 70 79 28 6D 73 67 2C 22 61 6C 72 65 61 64 79 20 py(msg,"already
021AA0: 64 65 66 69 6E 65 64 20 73 79 6D 62 6F 6C 20 6F defined symbol o
021AB0: 72 20 66 75 6E 63 74 69 6F 6E 20 5C 22 22 29 3B r function \"");
021AC0: 0D 0A 09 73 74 72 63 61 74 28 6D 73 67 2C 73 6E ...strcat(msg,sn
021AD0: 61 6D 65 29 3B 0D 0A 09 73 74 72 63 61 74 28 6D ame);...strcat(m
021AE0: 73 67 2C 22 5C 22 22 29 3B 0D 0A 09 65 72 72 6F sg,"\"");...erro
021AF0: 72 5F 70 72 69 6E 74 28 6D 73 67 29 3B 0D 0A 09 r_print(msg);...
021B00: 7D 0D 0A 6E 65 65 64 62 72 61 63 6B 28 73 74 72 }..needbrack(str
021B10: 29 0D 0A 63 68 61 72 20 2A 73 74 72 3B 0D 0A 7B )..char *str;..{
021B20: 0D 0A 09 69 66 20 28 21 6D 61 74 63 68 28 73 74 ...if (!match(st
021B30: 72 29 29 20 65 72 72 6F 72 28 22 6D 69 73 73 69 r)) error("missi
021B40: 6E 67 20 62 72 61 6B 65 74 22 29 3B 0D 0A 09 7D ng braket");...}
021B50: 0D 0A 6E 65 65 64 6C 76 61 6C 28 29 0D 0A 7B 0D ..needlval()..{.
021B60: 0A 09 65 72 72 6F 72 28 22 6D 75 73 74 20 62 65 ..error("must be
021B70: 20 6C 76 61 6C 75 65 22 29 3B 0D 0A 09 7D 0D 0A lvalue");...}..
021B80: 66 69 6E 64 67 6C 62 28 73 6E 61 6D 65 29 0D 0A findglb(sname)..
021B90: 63 68 61 72 20 2A 73 6E 61 6D 65 3B 0D 0A 7B 0D char *sname;..{.
021BA0: 0A 09 63 68 61 72 20 2A 70 74 72 3B 0D 0A 09 70 ..char *ptr;...p
021BB0: 74 72 3D 73 74 61 72 74 67 6C 62 3B 0D 0A 09 77 tr=startglb;...w
021BC0: 68 69 6C 65 28 70 74 72 21 3D 67 6C 62 70 74 72 hile(ptr!=glbptr
021BD0: 29 20 7B 0D 0A 09 09 69 66 20 28 61 73 74 72 65 ) {....if (astre
021BE0: 71 28 73 6E 61 6D 65 2C 70 74 72 2C 6E 61 6D 65 q(sname,ptr,name
021BF0: 6D 61 78 29 29 20 72 65 74 75 72 6E 20 70 74 72 max)) return ptr
021C00: 28 29 3B 0D 0A 09 09 69 66 20 28 65 6F 66 29 20 ();....if (eof)
021C10: 72 65 74 75 72 6E 3B 0D 0A 09 09 69 66 20 28 69 return;....if (i
021C20: 6E 70 75 74 32 29 20 7B 0D 0A 09 09 09 75 6E 69 nput2) {.....uni
021C30: 74 3D 66 69 6E 70 32 3B 0D 0A 09 09 09 6C 69 6E t=finp2;.....lin
021C40: 65 32 2B 2B 3B 0D 0A 09 09 09 7D 0D 0A 09 09 65 e2++;.....}....e
021C50: 6C 73 65 20 7B 0D 0A 09 09 09 75 6E 69 74 3D 66 lse {.....unit=f
021C60: 69 6E 70 3B 0D 0A 09 09 09 6C 69 6E 65 31 2B 2B inp;.....line1++
021C70: 3B 0D 0A 09 09 09 7D 0D 0A 09 09 77 68 69 6C 65 ;.....}....while
021C80: 28 28 6B 3D 67 65 74 63 28 75 6E 69 74 29 29 20 ((k=getc(unit))
021C90: 21 3D 20 45 52 52 4F 52 29 20 7B 0D 0A 09 09 09 != ERROR) {.....
021CA0: 69 66 28 28 6B 3D 3D 27 5C 6E 27 29 20 7C 7C 20 if((k=='\n') ||
021CB0: 28 6C 70 74 72 3E 3D 6C 69 6E 65 6D 61 78 29 0D (lptr>=linemax).
021CC0: 0A 09 09 09 09 7C 7C 20 28 6B 3D 3D 32 36 29 29 .....|| (k==26))
021CD0: 20 62 72 65 61 6B 3B 0D 0A 09 09 09 69 66 20 28 break;.....if (
021CE0: 6B 20 21 3D 20 27 5C 72 27 29 20 6C 69 6E 65 5B k != '\r') line[
021CF0: 6C 70 74 72 2B 2B 5D 3D 6B 3B 0D 0A 09 09 09 7D lptr++]=k;.....}
021D00: 0D 0A 09 09 6C 69 6E 65 5B 6C 70 74 72 5D 3D 30 ....line[lptr]=0
021D10: 3B 20 20 20 2F 2A 20 61 70 70 65 6E 64 20 6E 75 ; /* append nu
021D20: 6C 6C 20 2A 2F 0D 0A 09 09 69 66 28 6B 3C 3D 30 ll */....if(k<=0
021D30: 20 7C 7C 20 6B 3D 3D 32 36 29 20 7B 0D 0A 09 09 || k==26) {....
021D40: 09 69 66 20 28 69 6E 70 75 74 32 29 20 7B 0D 0A .if (input2) {..
021D50: 09 09 09 09 63 6C 6F 73 65 28 69 6E 70 75 74 32 ....close(input2
021D60: 29 3B 0D 0A 09 09 09 09 69 6E 70 75 74 32 3D 30 );......input2=0
021D70: 3B 0D 0A 09 09 09 09 7D 0D 0A 09 09 09 65 6C 73 ;......}.....els
021D80: 65 20 7B 0D 0A 09 09 09 09 63 6C 6F 73 65 28 69 e {......close(i
021D90: 6E 70 75 74 29 3B 0D 0A 09 09 09 09 69 6E 70 75 nput);......inpu
021DA0: 74 3D 30 3B 0D 0A 09 09 09 09 7D 0D 0A 09 09 09 t=0;......}.....
021DB0: 7D 0D 0A 09 09 69 66 28 6C 70 74 72 29 20 7B 0D }....if(lptr) {.
021DC0: 0A 09 09 09 69 66 28 63 74 65 78 74 20 26 26 20 ....if(ctext &&
021DD0: 63 6D 6F 64 65 29 20 7B 0D 0A 09 09 09 09 63 6F cmode) {......co
021DE0: 6D 6D 65 6E 74 28 29 3B 0D 0A 09 09 09 09 74 61 mment();......ta
021DF0: 62 28 29 3B 0D 0A 09 09 09 09 6F 75 74 73 74 72 b();......outstr
021E00: 3B 0D 0A 09 09 70 74 72 3D 70 74 72 2B 73 79 6D ;....ptr=ptr+sym
021E10: 73 69 7A 3B 0D 0A 09 09 7D 0D 0A 09 72 65 74 75 siz;....}...retu
021E20: 72 6E 20 30 3B 0D 0A 09 7D 0D 0A 66 69 6E 64 6C rn 0;...}..findl
021E30: 6F 63 28 73 6E 61 6D 65 29 0D 0A 63 68 61 72 20 oc(sname)..char
021E40: 2A 73 6E 61 6D 65 3B 0D 0A 7B 0D 0A 09 63 68 61 *sname;..{...cha
021E50: 72 20 2A 70 74 72 3B 0D 0A 09 70 74 72 3D 73 74 r *ptr;...ptr=st
021E60: 61 72 74 6C 6F 63 3B 0D 0A 09 77 68 69 6C 65 28 artloc;...while(
021E70: 70 74 72 21 3D 6C 6F 63 70 74 72 29 20 7B 0D 0A ptr!=locptr) {..
021E80: 09 09 69 66 28 61 73 74 72 65 71 28 73 6E 61 6D ..if(astreq(snam
021E90: 65 2C 70 74 72 2C 6E 61 6D 65 6D 61 78 29 29 72 e,ptr,namemax))r
021EA0: 65 74 75 72 6E 20 70 74 72 3B 0D 0A 09 09 70 74 eturn ptr;....pt
021EB0: 72 3D 70 74 72 2B 73 79 6D 73 69 7A 3B 0D 0A 09 r=ptr+symsiz;...
021EC0: 09 7D 0D 0A 09 72 65 74 75 72 6E 20 30 3B 0D 0A .}...return 0;..
021ED0: 09 7D 0D 0A 2F 2A 20 54 65 73 74 20 69 66 20 6E .}../* Test if n
021EE0: 65 78 74 20 69 6E 70 75 74 20 73 74 72 69 6E 67 ext input string
021EF0: 20 69 73 20 6C 65 67 61 6C 20 73 79 6D 62 6F 6C is legal symbol
021F00: 20 6E 61 6D 65 20 2A 2F 0D 0A 73 79 6D 6E 61 6D name */..symnam
021F10: 65 28 73 6E 61 6D 65 29 0D 0A 63 68 61 72 20 2A e(sname)..char *
021F20: 73 6E 61 6D 65 3B 0D 0A 7B 0D 0A 09 69 6E 74 20 sname;..{...int
021F30: 6B 3B 63 68 61 72 20 63 3B 0D 0A 09 62 6C 61 6E k;char c;...blan
021F40: 6B 73 28 29 3B 0D 0A 09 69 66 20 28 21 61 6C 70 ks();...if (!alp
021F50: 68 61 28 63 68 28 29 29 29 20 72 65 74 75 72 6E ha(ch())) return
021F60: 20 30 3B 0D 0A 09 6B 3D 30 3B 0D 0A 09 77 68 69 0;...k=0;...whi
021F70: 6C 65 28 61 6E 28 63 68 28 29 29 29 20 73 6E 61 le(an(ch())) sna
021F80: 6D 65 5B 6B 2B 2B 5D 3D 67 63 68 28 29 3B 0D 0A me[k++]=gch();..
021F90: 09 73 6E 61 6D 65 5B 6B 5D 3D 30 3B 0D 0A 09 72 .sname[k]=0;...r
021FA0: 65 74 75 72 6E 20 31 3B 0D 0A 09 7D 0D 0A 2F 2A eturn 1;...}../*
021FB0: 20 52 65 74 75 72 6E 20 6E 65 78 74 20 61 76 61 Return next ava
021FC0: 69 6C 20 69 6E 74 65 72 6E 61 6C 20 6C 61 62 65 il internal labe
021FD0: 6C 20 6E 75 6D 62 65 72 20 2A 2F 0D 0A 67 65 74 l number */..get
021FE0: 6C 61 62 65 6C 28 29 0D 0A 7B 0D 0A 09 72 65 74 label()..{...ret
021FF0: 75 72 6E 20 28 2B 2B 6E 78 74 6C 61 62 29 3B 0D urn (++nxtlab);.
022000: 28 6C 69 6E 65 29 3B 0D 0A 09 09 09 09 6E 6C 28 (line);......nl(
022010: 29 3B 0D 0A 09 09 09 09 7D 0D 0A 09 09 09 6C 70 );......}.....lp
022020: 74 72 3D 30 3B 0D 0A 09 09 09 72 65 74 75 72 6E tr=0;.....return
022030: 3B 0D 0A 09 09 09 7D 0D 0A 09 09 7D 0D 0A 09 7D ;.....}....}...}
022040: 0D 0A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A ................
022050: 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A ................
022060: 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A ................
022070: 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A ................
022080: 09 22 5E 5B 52 4F 22 09 20 20 2E 2E 2E 45 53 43 ."^[RO". ...ESC
022090: 41 50 45 2C 52 2C 4F 0D 0A 38 20 20 4E 20 53 09 APE,R,O..8 N S.
0220A0: 20 22 5E 48 22 09 20 20 20 43 55 52 53 4F 52 20 "^H". CURSOR
0220B0: 4C 45 46 54 0D 0A 38 20 20 20 20 20 43 20 20 22 LEFT..8 C "
0220C0: 5E 55 22 09 20 20 20 43 55 52 53 4F 52 20 43 4F ^U". CURSOR CO
0220D0: 4C 55 4D 4E 20 30 0D 0A 31 33 20 20 20 20 43 20 LUMN 0..13 C
0220E0: 22 5E 27 23 39 44 27 22 20 20 48 4F 4D 45 2E 2E "^'#9D'" HOME..
0220F0: 2E 0D 0A 45 20 20 23 39 44 09 22 5E 5B 48 22 09 ...E #9D."^[H".
022100: 20 20 2E 2E 2E 45 53 43 41 50 45 2C 48 0D 0A 36 ...ESCAPE,H..6
022110: 36 20 4E 20 53 20 43 20 22 5E 27 23 39 45 27 22 6 N S C "^'#9E'"
022120: 20 45 58 50 41 4E 44 20 45 53 43 20 4B 45 59 2E EXPAND ESC KEY.
022130: 2E 2E 0D 0A 45 20 20 23 39 45 09 20 22 5E 5B 5E ....E #9E. "^[^
022140: 5B 22 20 20 20 2E 2E 2E 45 53 43 41 50 45 2C 45 [" ...ESCAPE,E
022150: 53 43 41 50 45 0D 0A 1A 1A 1A 1A 1A 1A 1A 1A 1A SCAPE...........
022160: 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A ................
022170: 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A ................
022180: 00 6D 73 E2 28 0D 00 00 68 ED F4 0F 29 00 3F 00 .ms.(...h...).?.
022190: 58 02 8C 20 45 35 2C 32 41 2C 30 30 2C 30 30 2C X.. E5,2A,00,00,
0221A0: 32 32 2C 38 30 2C 42 43 2C 33 41 2C 30 30 2C 30 22,80,BC,3A,00,0
0221B0: 30 2C 33 32 2C 38 32 2C 42 43 2C 43 44 2C 38 30 0,32,82,BC,CD,80
0221C0: 2C 42 43 2C 32 31 2C 30 30 2C 30 30 00 3F 00 62 ,BC,21,00,00.?.b
0221D0: 02 8C 20 32 32 2C 38 31 2C 42 43 2C 32 31 2C 38 .. 22,81,BC,21,8
0221E0: 30 2C 42 43 2C 33 36 2C 43 33 2C 45 31 2C 44 38 0,BC,36,C3,E1,D8
0221F0: 2C 43 38 2C 46 45 2C 31 41 2C 33 37 2C 33 46 2C ,C8,FE,1A,37,3F,
022200: 0A 09 7D 0D 0A 2F 2A 20 50 72 69 6E 74 20 6C 61 ..}../* Print la
022210: 62 65 6C 20 61 74 20 73 74 61 72 74 20 6F 66 20 bel at start of
022220: 6C 69 6E 65 20 2A 2F 0D 0A 73 70 72 69 6E 74 6C line */..sprintl
022230: 61 62 65 6C 28 6C 61 62 65 6C 29 0D 0A 69 6E 74 abel(label)..int
022240: 20 6C 61 62 65 6C 3B 0D 0A 7B 0D 0A 09 70 72 69 label;..{...pri
022250: 6E 74 6C 61 62 65 6C 28 6C 61 62 65 6C 29 3B 0D ntlabel(label);.
022260: 0A 09 63 6F 6C 28 29 3B 0D 0A 09 6E 6C 28 29 3B ..col();...nl();
022270: 0D 0A 09 7D 0D 0A 2F 2A 20 50 72 69 6E 74 20 73 ...}../* Print s
022280: 70 65 63 69 66 69 65 64 20 6E 75 6D 62 65 72 20 pecified number
022290: 61 73 20 6C 61 62 65 6C 20 2A 2F 0D 0A 70 72 69 as label */..pri
0222A0: 6E 74 6C 61 62 65 6C 28 6C 61 62 65 6C 29 0D 0A ntlabel(label)..
0222B0: 69 6E 74 20 6C 61 62 65 6C 3B 0D 0A 7B 0D 0A 09 int label;..{...
0222C0: 6F 75 74 73 74 72 28 22 40 22 29 3B 0D 0A 09 6F outstr("@");...o
0222D0: 75 74 64 65 63 28 6C 61 62 65 6C 29 3B 0D 0A 09 utdec(label);...
0222E0: 7D 0D 0A 2F 2A 20 54 65 73 74 20 69 66 20 67 69 }../* Test if gi
0222F0: 76 65 6E 20 63 68 61 72 61 63 74 65 72 20 69 73 ven character is
022300: 20 61 6C 70 68 61 20 2A 2F 0D 0A 61 6C 70 68 61 alpha */..alpha
022310: 28 63 29 0D 0A 63 68 61 72 20 63 3B 0D 0A 7B 0D (c)..char c;..{.
022320: 0A 09 72 65 74 75 72 6E 28 28 63 3E 3D 27 61 27 ..return((c>='a'
022330: 20 26 26 20 63 3C 3D 27 7A 27 29 20 7C 7C 0D 0A && c<='z') ||..
022340: 09 09 28 63 3E 3D 27 41 27 20 26 26 20 63 3C 3D ..(c>='A' && c<=
022350: 27 5A 27 29 20 7C 7C 20 63 3D 3D 27 5F 27 29 3B 'Z') || c=='_');
022360: 0D 0A 09 7D 0D 0A 2F 2A 20 54 65 73 74 20 69 66 ...}../* Test if
022370: 20 67 69 76 65 6E 20 63 68 61 72 61 63 74 65 72 given character
022380: 20 69 73 20 6E 75 6D 65 72 69 63 20 2A 2F 0D 0A is numeric */..
022390: 6E 75 6D 65 72 69 63 28 63 29 0D 0A 63 68 61 72 numeric(c)..char
0223A0: 20 63 3B 0D 0A 7B 0D 0A 09 72 65 74 75 72 6E 28 c;..{...return(
0223B0: 63 3E 3D 27 30 27 20 26 26 20 63 3C 3D 27 39 27 c>='0' && c<='9'
0223C0: 29 3B 0D 0A 09 7D 0D 0A 2F 2A 20 54 65 73 74 20 );...}../* Test
0223D0: 69 66 20 67 69 76 65 6E 20 63 68 61 72 61 63 74 if given charact
0223E0: 65 72 20 69 73 20 61 6C 70 68 61 6E 75 6D 65 72 er is alphanumer
0223F0: 69 63 20 2A 2F 0D 0A 61 6E 28 63 29 0D 0A 09 63 ic */..an(c)...c
022400: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
022410: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
022420: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
022430: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
022440: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
022450: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
022460: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
022470: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
022480: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
022490: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0224A0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0224B0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0224C0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0224D0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0224E0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0224F0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
022500: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
022510: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
022520: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
022530: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
022540: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
022550: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
022560: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
022570: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
022580: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
022590: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0225A0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0225B0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0225C0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0225D0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0225E0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0225F0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
022600: 68 61 72 20 63 3B 0D 0A 7B 20 20 20 20 20 20 20 har c;..{
022610: 72 65 74 75 72 6E 28 61 6C 70 68 61 28 63 29 20 return(alpha(c)
022620: 7C 7C 20 6E 75 6D 65 72 69 63 28 63 29 29 3B 0D || numeric(c));.
022630: 0A 09 7D 0D 0A 2F 2A 20 50 72 69 6E 74 20 61 20 ..}../* Print a
022640: 63 61 72 72 69 61 67 65 20 72 65 74 75 72 6E 20 carriage return
022650: 61 6E 64 20 61 20 73 74 72 69 6E 67 20 6F 6E 6C and a string onl
022660: 79 20 74 6F 20 63 6F 6E 73 6F 6C 65 20 2A 2F 0D y to console */.
022670: 0A 70 6C 28 73 74 72 29 0D 0A 63 68 61 72 20 2A .pl(str)..char *
022680: 73 74 72 3B 0D 0A 7B 0D 0A 09 70 75 74 63 68 28 str;..{...putch(
022690: 27 5C 72 27 29 3B 0D 0A 09 77 68 69 6C 65 20 28 '\r');...while (
0226A0: 2A 73 74 72 29 20 70 75 74 63 68 28 2A 73 74 72 *str) putch(*str
0226B0: 2B 2B 29 3B 0D 0A 09 7D 0D 0A 61 64 64 77 68 69 ++);...}..addwhi
0226C0: 6C 65 28 70 74 72 29 0D 0A 09 69 6E 74 20 70 74 le(ptr)...int pt
0226D0: 72 5B 5D 3B 0D 0A 7B 0D 0A 09 69 6E 74 20 6B 3B r[];..{...int k;
0226E0: 0D 0A 09 69 66 20 28 77 71 70 74 72 3D 3D 77 71 ...if (wqptr==wq
0226F0: 6D 61 78 29 20 7B 0D 0A 09 09 65 72 72 6F 72 28 max) {....error(
022700: 22 74 6F 6F 20 6D 61 6E 79 20 61 63 74 69 76 65 "too many active
022710: 20 77 68 69 6C 65 73 22 29 3B 0D 0A 09 09 72 65 whiles");....re
022720: 74 75 72 6E 3B 0D 0A 09 09 7D 0D 0A 09 6B 3D 30 turn;....}...k=0
022730: 3B 0D 0A 09 77 68 69 6C 65 20 28 6B 3C 77 71 73 ;...while (k<wqs
022740: 69 7A 29 20 2A 77 71 70 74 72 2B 2B 20 3D 20 70 iz) *wqptr++ = p
022750: 74 72 5B 6B 2B 2B 5D 3B 0D 0A 09 7D 0D 0A 64 65 tr[k++];...}..de
022760: 6C 77 68 69 6C 65 28 29 0D 0A 7B 0D 0A 09 69 66 lwhile()..{...if
022770: 20 28 72 65 61 64 77 68 69 6C 65 28 29 29 20 77 (readwhile()) w
022780: 71 70 74 72 3D 77 71 70 74 72 2D 77 71 73 69 7A qptr=wqptr-wqsiz
022790: 3B 0D 0A 09 7D 0D 0A 72 65 61 64 77 68 69 6C 65 ;...}..readwhile
0227A0: 28 29 0D 0A 7B 0D 0A 09 69 66 20 28 77 71 70 74 ()..{...if (wqpt
0227B0: 72 3D 3D 77 71 29 20 7B 0D 0A 09 09 65 72 72 6F r==wq) {....erro
0227C0: 72 28 22 6E 6F 20 61 63 74 69 76 65 20 77 68 69 r("no active whi
0227D0: 6C 65 22 29 3B 0D 0A 09 09 72 65 74 75 72 6E 20 le");....return
0227E0: 30 3B 0D 0A 09 09 7D 0D 0A 09 65 6C 73 65 20 72 0;....}...else r
0227F0: 65 74 75 72 6E 20 77 71 70 74 72 2D 77 71 73 69 eturn wqptr-wqsi
022800: 54 72 61 63 6B 2D 49 6E 66 6F 0D 0A 00 00 00 00 Track-Info......
022810: 1D 00 01 00 02 09 52 E5 1D 00 C1 02 00 00 00 02 ......R.........
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: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
022910: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
022920: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
022930: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
022940: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
022950: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
022960: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
022970: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
022980: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
022990: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0229A0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0229B0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0229C0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0229D0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0229E0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0229F0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
022A00: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
022A10: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
022A20: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
022A30: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
022A40: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
022A50: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
022A60: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
022A70: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
022A80: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
022A90: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
022AA0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
022AB0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
022AC0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
022AD0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
022AE0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
022AF0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
022B00: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
022B10: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
022B20: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
022B30: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
022B40: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
022B50: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
022B60: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
022B70: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
022B80: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
022B90: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
022BA0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
022BB0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
022BC0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
022BD0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
022BE0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
022BF0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
022C00: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
022C10: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
022C20: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
022C30: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
022C40: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
022C50: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
022C60: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
022C70: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
022C80: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
022C90: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
022CA0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
022CB0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
022CC0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
022CD0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
022CE0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
022CF0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
022D00: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
022D10: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
022D20: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
022D30: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
022D40: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
022D50: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
022D60: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
022D70: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
022D80: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
022D90: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
022DA0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
022DB0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
022DC0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
022DD0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
022DE0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
022DF0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
022E00: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
022E10: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
022E20: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
022E30: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
022E40: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
022E50: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
022E60: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
022E70: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
022E80: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
022E90: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
022EA0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
022EB0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
022EC0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
022ED0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
022EE0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
022EF0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
022F00: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
022F10: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
022F20: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
022F30: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
022F40: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
022F50: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
022F60: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
022F70: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
022F80: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
022F90: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
022FA0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
022FB0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
022FC0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
022FD0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
022FE0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
022FF0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
023000: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
023010: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
023020: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
023030: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
023040: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
023050: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
023060: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
023070: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
023080: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
023090: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0230A0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0230B0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0230C0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0230D0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0230E0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0230F0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
023100: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
023110: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
023120: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
023130: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
023140: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
023150: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
023160: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
023170: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
023180: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
023190: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0231A0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0231B0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0231C0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0231D0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0231E0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0231F0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
023200: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
023210: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
023220: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
023230: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
023240: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
023250: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
023260: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
023270: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
023280: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
023290: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0232A0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0232B0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0232C0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0232D0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0232E0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0232F0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
023300: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
023310: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
023320: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
023330: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
023340: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
023350: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
023360: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
023370: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
023380: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
023390: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0233A0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0233B0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0233C0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0233D0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0233E0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0233F0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
023400: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
023410: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
023420: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
023430: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
023440: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
023450: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
023460: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
023470: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
023480: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
023490: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0234A0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0234B0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0234C0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0234D0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0234E0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0234F0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
023500: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
023510: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
023520: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
023530: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
023540: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
023550: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
023560: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
023570: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
023580: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
023590: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0235A0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0235B0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0235C0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0235D0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0235E0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0235F0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
023600: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
023610: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
023620: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
023630: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
023640: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
023650: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
023660: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
023670: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
023680: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
023690: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0236A0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0236B0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0236C0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0236D0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0236E0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0236F0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
023700: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
023710: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
023720: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
023730: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
023740: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
023750: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
023760: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
023770: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
023780: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
023790: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0237A0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0237B0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0237C0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0237D0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0237E0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0237F0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
023800: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
023810: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
023820: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
023830: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
023840: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
023850: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
023860: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
023870: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
023880: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
023890: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0238A0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0238B0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0238C0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0238D0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0238E0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0238F0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
023900: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
023910: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
023920: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
023930: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
023940: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
023950: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
023960: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
023970: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
023980: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
023990: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0239A0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0239B0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0239C0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0239D0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0239E0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0239F0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
023A00: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
023A10: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
023A20: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
023A30: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
023A40: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
023A50: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
023A60: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
023A70: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
023A80: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
023A90: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
023AA0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
023AB0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
023AC0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
023AD0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
023AE0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
023AF0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
023B00: 54 72 61 63 6B 2D 49 6E 66 6F 0D 0A 00 00 00 00 Track-Info......
023B10: 1E 00 01 00 02 09 52 E5 1E 00 C1 02 00 00 00 02 ......R.........
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: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
023C10: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
023C20: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
023C30: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
023C40: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
023C50: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
023C60: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
023C70: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
023C80: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
023C90: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
023CA0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
023CB0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
023CC0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
023CD0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
023CE0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
023CF0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
023D00: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
023D10: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
023D20: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
023D30: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
023D40: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
023D50: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
023D60: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
023D70: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
023D80: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
023D90: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
023DA0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
023DB0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
023DC0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
023DD0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
023DE0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
023DF0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
023E00: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
023E10: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
023E20: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
023E30: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
023E40: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
023E50: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
023E60: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
023E70: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
023E80: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
023E90: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
023EA0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
023EB0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
023EC0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
023ED0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
023EE0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
023EF0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
023F00: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
023F10: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
023F20: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
023F30: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
023F40: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
023F50: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
023F60: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
023F70: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
023F80: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
023F90: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
023FA0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
023FB0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
023FC0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
023FD0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
023FE0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
023FF0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
024000: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
024010: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
024020: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
024030: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
024040: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
024050: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
024060: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
024070: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
024080: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
024090: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0240A0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0240B0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0240C0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0240D0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0240E0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0240F0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
024100: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
024110: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
024120: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
024130: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
024140: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
024150: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
024160: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
024170: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
024180: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
024190: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0241A0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0241B0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0241C0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0241D0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0241E0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0241F0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
024200: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
024210: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
024220: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
024230: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
024240: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
024250: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
024260: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
024270: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
024280: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
024290: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0242A0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0242B0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0242C0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0242D0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0242E0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0242F0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
024300: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
024310: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
024320: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
024330: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
024340: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
024350: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
024360: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
024370: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
024380: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
024390: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0243A0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0243B0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0243C0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0243D0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0243E0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0243F0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
024400: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
024410: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
024420: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
024430: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
024440: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
024450: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
024460: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
024470: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
024480: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
024490: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0244A0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0244B0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0244C0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0244D0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0244E0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0244F0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
024500: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
024510: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
024520: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
024530: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
024540: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
024550: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
024560: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
024570: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
024580: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
024590: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0245A0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0245B0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0245C0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0245D0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0245E0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0245F0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
024600: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
024610: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
024620: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
024630: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
024640: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
024650: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
024660: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
024670: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
024680: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
024690: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0246A0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0246B0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0246C0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0246D0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0246E0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0246F0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
024700: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
024710: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
024720: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
024730: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
024740: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
024750: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
024760: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
024770: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
024780: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
024790: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0247A0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0247B0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0247C0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0247D0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0247E0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0247F0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
024800: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
024810: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
024820: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
024830: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
024840: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
024850: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
024860: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
024870: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
024880: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
024890: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0248A0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0248B0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0248C0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0248D0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0248E0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0248F0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
024900: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
024910: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
024920: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
024930: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
024940: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
024950: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
024960: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
024970: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
024980: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
024990: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0249A0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0249B0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0249C0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0249D0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0249E0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0249F0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
024A00: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
024A10: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
024A20: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
024A30: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
024A40: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
024A50: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
024A60: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
024A70: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
024A80: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
024A90: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
024AA0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
024AB0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
024AC0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
024AD0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
024AE0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
024AF0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
024B00: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
024B10: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
024B20: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
024B30: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
024B40: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
024B50: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
024B60: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
024B70: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
024B80: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
024B90: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
024BA0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
024BB0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
024BC0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
024BD0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
024BE0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
024BF0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
024C00: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
024C10: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
024C20: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
024C30: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
024C40: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
024C50: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
024C60: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
024C70: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
024C80: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
024C90: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
024CA0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
024CB0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
024CC0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
024CD0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
024CE0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
024CF0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
024D00: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
024D10: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
024D20: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
024D30: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
024D40: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
024D50: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
024D60: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
024D70: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
024D80: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
024D90: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
024DA0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
024DB0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
024DC0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
024DD0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
024DE0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
024DF0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
024E00: 54 72 61 63 6B 2D 49 6E 66 6F 0D 0A 00 00 00 00 Track-Info......
024E10: 1F 00 01 00 02 09 52 E5 1F 00 C1 02 00 00 00 02 ......R.........
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: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
024F10: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
024F20: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
024F30: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
024F40: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
024F50: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
024F60: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
024F70: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
024F80: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
024F90: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
024FA0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
024FB0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
024FC0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
024FD0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
024FE0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
024FF0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
025000: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
025010: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
025020: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
025030: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
025040: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
025050: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
025060: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
025070: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
025080: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
025090: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0250A0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0250B0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0250C0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0250D0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0250E0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0250F0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
025100: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
025110: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
025120: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
025130: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
025140: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
025150: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
025160: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
025170: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
025180: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
025190: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0251A0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0251B0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0251C0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0251D0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0251E0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0251F0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
025200: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
025210: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
025220: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
025230: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
025240: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
025250: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
025260: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
025270: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
025280: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
025290: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0252A0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0252B0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0252C0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0252D0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0252E0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0252F0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
025300: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
025310: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
025320: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
025330: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
025340: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
025350: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
025360: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
025370: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
025380: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
025390: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0253A0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0253B0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0253C0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0253D0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0253E0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0253F0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
025400: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
025410: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
025420: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
025430: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
025440: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
025450: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
025460: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
025470: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
025480: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
025490: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0254A0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0254B0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0254C0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0254D0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0254E0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0254F0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
025500: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
025510: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
025520: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
025530: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
025540: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
025550: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
025560: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
025570: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
025580: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
025590: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0255A0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0255B0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0255C0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0255D0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0255E0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0255F0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
025600: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
025610: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
025620: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
025630: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
025640: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
025650: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
025660: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
025670: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
025680: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
025690: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0256A0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0256B0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0256C0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0256D0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0256E0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0256F0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
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: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
025910: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
025920: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
025930: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
025940: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
025950: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
025960: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
025970: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
025980: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
025990: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0259A0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0259B0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0259C0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0259D0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0259E0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0259F0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
025A00: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
025A10: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
025A20: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
025A30: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
025A40: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
025A50: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
025A60: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
025A70: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
025A80: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
025A90: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
025AA0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
025AB0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
025AC0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
025AD0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
025AE0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
025AF0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
025B00: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
025B10: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
025B20: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
025B30: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
025B40: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
025B50: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
025B60: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
025B70: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
025B80: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
025B90: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
025BA0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
025BB0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
025BC0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
025BD0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
025BE0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
025BF0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
025C00: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
025C10: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
025C20: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
025C30: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
025C40: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
025C50: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
025C60: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
025C70: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
025C80: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
025C90: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
025CA0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
025CB0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
025CC0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
025CD0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
025CE0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
025CF0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
025D00: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
025D10: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
025D20: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
025D30: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
025D40: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
025D50: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
025D60: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
025D70: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
025D80: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
025D90: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
025DA0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
025DB0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
025DC0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
025DD0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
025DE0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
025DF0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
025E00: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
025E10: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
025E20: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
025E30: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
025E40: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
025E50: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
025E60: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
025E70: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
025E80: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
025E90: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
025EA0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
025EB0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
025EC0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
025ED0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
025EE0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
025EF0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
025F00: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
025F10: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
025F20: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
025F30: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
025F40: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
025F50: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
025F60: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
025F70: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
025F80: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
025F90: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
025FA0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
025FB0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
025FC0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
025FD0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
025FE0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
025FF0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
026000: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
026010: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
026020: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
026030: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
026040: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
026050: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
026060: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
026070: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
026080: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
026090: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0260A0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0260B0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0260C0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0260D0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0260E0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0260F0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
026100: 54 72 61 63 6B 2D 49 6E 66 6F 0D 0A 00 00 00 00 Track-Info......
026110: 20 00 01 00 02 09 52 E5 20 00 C1 02 00 00 00 02 .....R. .......
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: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
026210: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
026220: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
026230: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
026240: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
026250: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
026260: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
026270: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
026280: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
026290: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0262A0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0262B0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0262C0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0262D0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0262E0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0262F0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
026300: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
026310: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
026320: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
026330: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
026340: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
026350: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
026360: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
026370: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
026380: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
026390: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0263A0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0263B0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0263C0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0263D0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0263E0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0263F0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
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: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
026610: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
026620: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
026630: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
026640: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
026650: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
026660: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
026670: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
026680: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
026690: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0266A0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0266B0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0266C0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0266D0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0266E0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0266F0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
026700: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
026710: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
026720: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
026730: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
026740: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
026750: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
026760: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
026770: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
026780: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
026790: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0267A0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0267B0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0267C0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0267D0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0267E0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0267F0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
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: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
026A10: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
026A20: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
026A30: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
026A40: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
026A50: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
026A60: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
026A70: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
026A80: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
026A90: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
026AA0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
026AB0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
026AC0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
026AD0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
026AE0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
026AF0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
026B00: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
026B10: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
026B20: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
026B30: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
026B40: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
026B50: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
026B60: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
026B70: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
026B80: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
026B90: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
026BA0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
026BB0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
026BC0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
026BD0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
026BE0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
026BF0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
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: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
026E10: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
026E20: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
026E30: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
026E40: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
026E50: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
026E60: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
026E70: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
026E80: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
026E90: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
026EA0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
026EB0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
026EC0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
026ED0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
026EE0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
026EF0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
026F00: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
026F10: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
026F20: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
026F30: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
026F40: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
026F50: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
026F60: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
026F70: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
026F80: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
026F90: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
026FA0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
026FB0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
026FC0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
026FD0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
026FE0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
026FF0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
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: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
027210: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
027220: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
027230: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
027240: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
027250: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
027260: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
027270: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
027280: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
027290: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0272A0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0272B0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0272C0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0272D0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0272E0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0272F0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
027300: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
027310: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
027320: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
027330: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
027340: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
027350: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
027360: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
027370: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
027380: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
027390: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0273A0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0273B0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0273C0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0273D0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0273E0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0273F0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
027400: 54 72 61 63 6B 2D 49 6E 66 6F 0D 0A 00 00 00 00 Track-Info......
027410: 21 00 01 00 02 09 52 E5 21 00 C1 02 00 00 00 02 !.....R.!.......
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 00 00 00 Track-Info......
028710: 22 00 01 00 02 09 52 E5 22 00 C1 02 00 00 00 02 ".....R.".......
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 00 00 00 Track-Info......
029A10: 23 00 01 00 02 09 52 E5 23 00 C1 02 00 00 00 02 #.....R.#.......
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 00 00 00 Track-Info......
02AD10: 24 00 01 00 02 09 52 E5 24 00 C1 02 00 00 00 02 $.....R.$.......
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 00 00 00 Track-Info......
02C010: 25 00 01 00 02 09 52 E5 25 00 C1 02 00 00 00 02 %.....R.%.......
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 00 00 00 Track-Info......
02D310: 26 00 01 00 02 09 52 E5 26 00 C1 02 00 00 00 02 &.....R.&.......
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 00 00 00 Track-Info......
02E610: 27 00 01 00 02 09 52 E5 27 00 C1 02 00 00 00 02 '.....R.'.......
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: 54 72 61 63 6B 2D 49 6E 66 6F 0D 0A 00 00 00 00 Track-Info......
02F910: 28 00 01 00 02 09 52 E5 28 00 C1 02 00 00 00 02 (.....R.(.......
02F920: 28 00 C6 02 00 00 00 02 28 00 C2 02 00 00 00 02 (.......(.......
02F930: 28 00 C7 02 00 00 00 02 28 00 C3 02 00 00 00 02 (.......(.......
02F940: 28 00 C8 02 00 00 00 02 28 00 C4 02 00 00 00 02 (.......(.......
02F950: 28 00 C9 02 00 00 00 02 28 00 C5 02 00 00 00 02 (.......(.......
02F960: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
02F970: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
02F980: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
02F990: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
02F9A0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
02F9B0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
02F9C0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
02F9D0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
02F9E0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
02F9F0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
02FA00: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02FA10: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02FA20: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02FA30: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02FA40: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02FA50: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02FA60: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02FA70: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02FA80: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02FA90: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02FAA0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02FAB0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02FAC0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02FAD0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02FAE0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02FAF0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02FB00: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02FB10: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02FB20: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02FB30: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02FB40: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02FB50: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02FB60: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02FB70: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02FB80: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02FB90: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02FBA0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02FBB0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02FBC0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02FBD0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02FBE0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02FBF0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02FC00: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02FC10: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02FC20: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02FC30: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02FC40: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02FC50: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02FC60: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02FC70: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02FC80: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02FC90: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02FCA0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02FCB0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02FCC0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02FCD0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02FCE0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02FCF0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02FD00: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02FD10: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02FD20: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02FD30: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02FD40: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02FD50: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02FD60: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02FD70: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02FD80: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02FD90: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02FDA0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02FDB0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02FDC0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02FDD0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02FDE0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02FDF0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02FE00: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02FE10: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02FE20: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02FE30: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02FE40: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02FE50: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02FE60: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02FE70: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02FE80: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02FE90: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02FEA0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02FEB0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02FEC0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02FED0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02FEE0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02FEF0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02FF00: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02FF10: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02FF20: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02FF30: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02FF40: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02FF50: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02FF60: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02FF70: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02FF80: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02FF90: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02FFA0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02FFB0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02FFC0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02FFD0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02FFE0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
02FFF0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
030000: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
030010: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
030020: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
030030: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
030040: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
030050: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
030060: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
030070: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
030080: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
030090: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0300A0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0300B0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0300C0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0300D0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0300E0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0300F0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
030100: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
030110: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
030120: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
030130: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
030140: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
030150: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
030160: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
030170: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
030180: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
030190: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0301A0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0301B0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0301C0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0301D0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0301E0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0301F0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
030200: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
030210: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
030220: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
030230: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
030240: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
030250: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
030260: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
030270: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
030280: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
030290: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0302A0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0302B0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0302C0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0302D0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0302E0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0302F0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
030300: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
030310: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
030320: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
030330: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
030340: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
030350: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
030360: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
030370: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
030380: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
030390: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0303A0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0303B0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0303C0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0303D0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0303E0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0303F0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
030400: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
030410: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
030420: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
030430: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
030440: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
030450: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
030460: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
030470: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
030480: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
030490: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0304A0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0304B0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0304C0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0304D0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0304E0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0304F0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
030500: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
030510: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
030520: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
030530: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
030540: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
030550: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
030560: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
030570: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
030580: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
030590: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0305A0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0305B0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0305C0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0305D0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0305E0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0305F0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
030600: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
030610: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
030620: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
030630: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
030640: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
030650: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
030660: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
030670: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
030680: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
030690: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0306A0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0306B0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0306C0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0306D0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0306E0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0306F0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
030700: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
030710: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
030720: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
030730: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
030740: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
030750: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
030760: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
030770: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
030780: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
030790: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0307A0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0307B0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0307C0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0307D0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0307E0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0307F0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
030800: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
030810: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
030820: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
030830: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
030840: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
030850: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
030860: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
030870: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
030880: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
030890: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0308A0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0308B0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0308C0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0308D0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0308E0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0308F0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
030900: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
030910: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
030920: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
030930: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
030940: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
030950: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
030960: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
030970: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
030980: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
030990: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0309A0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0309B0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0309C0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0309D0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0309E0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0309F0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
030A00: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
030A10: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
030A20: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
030A30: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
030A40: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
030A50: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
030A60: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
030A70: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
030A80: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
030A90: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
030AA0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
030AB0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
030AC0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
030AD0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
030AE0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
030AF0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
030B00: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
030B10: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
030B20: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
030B30: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
030B40: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
030B50: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
030B60: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
030B70: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
030B80: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
030B90: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
030BA0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
030BB0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
030BC0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
030BD0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
030BE0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
030BF0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
030C00: 54 72 61 63 6B 2D 49 6E 66 6F 0D 0A 00 00 00 00 Track-Info......
030C10: 29 00 01 00 02 09 52 E5 29 00 C1 02 00 00 00 02 ).....R.).......
030C20: 29 00 C6 02 00 00 00 02 29 00 C2 02 00 00 00 02 ).......).......
030C30: 29 00 C7 02 00 00 00 02 29 00 C3 02 00 00 00 02 ).......).......
030C40: 29 00 C8 02 00 00 00 02 29 00 C4 02 00 00 00 02 ).......).......
030C50: 29 00 C9 02 00 00 00 02 29 00 C5 02 00 00 00 02 ).......).......
030C60: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
030C70: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
030C80: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
030C90: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
030CA0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
030CB0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
030CC0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
030CD0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
030CE0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
030CF0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
030D00: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
030D10: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
030D20: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
030D30: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
030D40: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
030D50: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
030D60: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
030D70: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
030D80: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
030D90: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
030DA0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
030DB0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
030DC0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
030DD0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
030DE0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
030DF0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
030E00: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
030E10: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
030E20: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
030E30: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
030E40: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
030E50: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
030E60: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
030E70: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
030E80: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
030E90: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
030EA0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
030EB0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
030EC0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
030ED0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
030EE0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
030EF0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
030F00: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
030F10: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
030F20: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
030F30: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
030F40: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
030F50: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
030F60: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
030F70: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
030F80: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
030F90: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
030FA0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
030FB0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
030FC0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
030FD0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
030FE0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
030FF0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
031000: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
031010: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
031020: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
031030: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
031040: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
031050: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
031060: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
031070: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
031080: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
031090: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0310A0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0310B0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0310C0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0310D0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0310E0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0310F0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
031100: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
031110: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
031120: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
031130: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
031140: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
031150: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
031160: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
031170: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
031180: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
031190: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0311A0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0311B0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0311C0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0311D0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0311E0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0311F0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
031200: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
031210: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
031220: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
031230: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
031240: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
031250: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
031260: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
031270: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
031280: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
031290: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0312A0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0312B0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0312C0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0312D0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0312E0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0312F0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
031300: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
031310: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
031320: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
031330: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
031340: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
031350: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
031360: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
031370: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
031380: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
031390: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0313A0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0313B0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0313C0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0313D0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0313E0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0313F0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
031400: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
031410: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
031420: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
031430: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
031440: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
031450: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
031460: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
031470: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
031480: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
031490: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0314A0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0314B0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0314C0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0314D0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0314E0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0314F0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
031500: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
031510: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
031520: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
031530: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
031540: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
031550: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
031560: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
031570: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
031580: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
031590: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0315A0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0315B0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0315C0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0315D0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0315E0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0315F0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
031600: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
031610: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
031620: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
031630: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
031640: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
031650: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
031660: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
031670: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
031680: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
031690: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0316A0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0316B0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0316C0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0316D0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0316E0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0316F0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
031700: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
031710: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
031720: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
031730: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
031740: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
031750: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
031760: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
031770: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
031780: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
031790: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0317A0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0317B0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0317C0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0317D0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0317E0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0317F0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
031800: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
031810: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
031820: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
031830: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
031840: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
031850: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
031860: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
031870: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
031880: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
031890: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0318A0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0318B0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0318C0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0318D0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0318E0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0318F0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
031900: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
031910: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
031920: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
031930: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
031940: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
031950: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
031960: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
031970: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
031980: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
031990: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0319A0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0319B0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0319C0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0319D0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0319E0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0319F0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
031A00: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
031A10: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
031A20: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
031A30: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
031A40: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
031A50: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
031A60: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
031A70: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
031A80: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
031A90: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
031AA0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
031AB0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
031AC0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
031AD0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
031AE0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
031AF0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
031B00: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
031B10: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
031B20: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
031B30: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
031B40: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
031B50: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
031B60: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
031B70: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
031B80: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
031B90: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
031BA0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
031BB0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
031BC0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
031BD0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
031BE0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
031BF0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
031C00: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
031C10: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
031C20: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
031C30: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
031C40: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
031C50: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
031C60: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
031C70: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
031C80: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
031C90: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
031CA0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
031CB0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
031CC0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
031CD0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
031CE0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
031CF0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
031D00: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
031D10: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
031D20: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
031D30: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
031D40: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
031D50: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
031D60: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
031D70: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
031D80: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
031D90: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
031DA0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
031DB0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
031DC0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
031DD0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
031DE0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
031DF0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
031E00: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
031E10: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
031E20: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
031E30: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
031E40: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
031E50: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
031E60: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
031E70: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
031E80: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
031E90: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
031EA0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
031EB0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
031EC0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
031ED0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
031EE0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
031EF0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
RESULT OF SEARCH :
PRO=11 CHEA=0 COD=22 MUSI=0 COP=9 GRA=1 WRIT=52 198=13 199=0 STARTER=0 KBI=0 CAAV=0 L.TOURNIER=0
EXTENDED CPC DSK File SAMdisk170514* RRUNTIME ASM STDLIB ASMSTDLIB ASMI !
"#$%&'SUBMIT C 4()*+,-.FUNCTIONASM/01FUNCTIONCRL2C DEF/345678C SUB
9C1 C QABCDC2 C bEFGHIJKLMNOPQC4 C *RSTUVWC5 C 7XYZC6
C abC8 C 8cdefghiC7 C jjklmnopqrstuvwC9 C xyzm jmpsxt
fetch a single byte from stack plus a 2 byte offset and sign extend byte into h
l gcharslcsect popb ldaxb movl,a inxb ldaxb movh,a inxh dadsp pushb
mova,m jmpsxt fetch a single byte from address in hl and sign extend into
hl gchar csect mova,m jmpsxt put the accum into hl and sign extend throu
gh h sxtcsect movl,a rlc sbba movh,a ret fetch a full 16-bit integer
from offset plus stack pCL SUBC3 C %ointer into hl gintsscsect p
opb ldaxb movl,a mvih,0 inxb dadsp pushb mova,m inxh movh,m movl,a re
t fetch a 16-bit integer from stack pointer plus a 16 bit offset and put val
ue in hl gintslcsect popb ldaxb movl,a inxb ldaxb movh,a inxb dadsp
pushb mova,m inxh movh,m movl,a ret fetch a full 16-bit integer from the
address in hl into hl gintcsect mova,m inxh movh,m movl,a ret store
a byte stack plus 8 byte offset pcharsscsect xchg popb ldaxb movl,a mvi
h,0 inxb dadsp movm,e xchg pushb ret store a byte at stack plus offset
pcharslcsect xchg popb ldaxb movl,a inxb ldaxb movh,a inxb dadsp mo
vm,e xchg pushb ret store 16-bit integer at offset plus stack pintsscs
ect xchg popb ldaxb movl,a mvih,0 inxb dadsp movm,e inxh movm,d xchg
pushb ret store a 16 bit integer in hl at stack plus offset pintslcsect
xchg popb ldaxb movl,a inxb ldaxb movh,a inxb dadsp movm,e inxh movm
,d pushb xchg ret store a 16-bit integer in hl at the address in de pin
tcsect mova,l staxd inxd mova,h staxd ret page incdeccsect take the a
ddress in hl and add value that follow and save back address in hl preinc c
allincdecl callinc nop ret take the addretitleruntime package for small "C
" ramequ0start of ram in system extrnmain *******************************
************************* * run time libray for small c compiler* * by Ron C
ain* * ******************************************************** fetch a sin
gle byte from stack pointer plus offset of byte following call and sign extend
into hl gcharsscsect popb ldaxb movl,a inxb mvih,0 dadsp pushb mova,
Rss in hl and sub value that follow and save it back in place predec call
incdecl calldec nop ret take the address in hl and sub value that follow a
nd save back in address in hl and restore value to pre inc postinc callincd
ecl pushd callinc poph nop ret take the address in hl and add value that
follow and save back in address in hl restore value pre dec postdec callin
cdecl pushd calldec poph nop ret load needed valutib,compret pushb cal
lcmp rz rnc dcxh ret test if de less than or equal to hl (signed) le
popb popd pushb lxib,compret pushb callcmp rz rc dcxh ret page test
if de greater than hl (unsigned) ugt popb popd pushb lxib,compret pushb
xchg callucmp rc dcxh ret test if de less than hl(unsigned) ult pop
b popd pushb lxib,compret pushb callucmp rc dcxh ret test if de great
for inc and dec incdecl popd popb ldaxb inxb pushb pushd dcxb oraa
jpincdec1 move,m inxh movd,m ret incdec1 move,m mova,e rlc sbba movd,
a ret add value in a to de and save at address in hl inc ani07fh adde
move,a mova,d aci0 movd,a jmpincdecs subtract value in a to de and save a
t address in hl dec ani07fh cma inra adde move,a mova,d aci0ffh movd,
a jmpincdecs storeer than or equal to hl (unsigned) uge popb popd pus
hb lxib,compret pushb callucmp rnc dcxh ret test if de less than or equ
al to hl (unsigned) ule popb popd pushb lxib,compret pushb callucmp rz
rc dcxh ret common routine to preform a signed compare of de and hl
de-hl and sets the conditions carry set means de hl zero/non-zero set accordi
ng to equality cmp mova,e subl move,a mova,d sbbh value in de at addre
ss in hl incdecs ldaxb oraa jpincdec2 movm,d dcxh movm,e xchg mova,h
oral ret incdec2 movm,e xchg mova,h oral ret page inclusive "or" hl
and de into hl orcsect popb popd pushb mova,l orae movl,a mova,h orad
movh,a oral ret excluseive "or" hl and de into hl xorcsect popb popd
pushb mova,l xrae movl,a mova,h xrad movh,a oral ret "and" hl andlx
ih,1 jmcmp1 orae ret cmp1 orae stc ret common routine to perform unsin
ged compare carry set if de less than hl zero/non-zero set accordingly hlde
ucmp mova,d cmph jnzucmp1 mova,e cmpl ucmp1 lxih,1 ret set machine
status for all comditional operators compret mova,h oral ret page shi
ft de arithmetically right by hl return in hl asrcsect popb popd pushb as
r1 xchg mova,h ral mova,h rar de into hl andcsect popb popd pushb m
ova,l anae movl,a mova,h anad movh,a oral ret in all the following com
pare routines hl is set to 1 if the condition is true, otherwise it is set to
0 not current condition nlogcsect mova,h oral jnznlog1 lxih,1 mova,h
oral ret nlog1 lxih,0 mova,h oral ret page compcsect test if hl equ
al to de eq popb popd pushb lxib,compret pushb callcmp movh,a mova,l
rar movl,a dcre jnz asr1 ret shift de arithmetically left by hl and retur
n in hl aslcsect popb popd pushb asl1 xchg dadh dcre jnzasl1 ret
subtract hl from de and return in hl subcsect popb popd pushb mova,e sub
l movl,a mova,d sbbh movh,a ret from the two's complement of hl negcs
ect callcom inxh ret from the one's complement of hl comcsect mova,h
cma mo rz dcxh ret test if de to hl for not equal ne popb popd push
b lxib,compret pushb callcmp rnz dcxh ret test if de greater then hl (s
igned) gt popb popd pushb lxib,compret pushb xchg callcmp rc dcxh r
et test if de less then hl (signed) lt popb popd pushb lxib,compret p
ushb callcmp rc dcxh ret test if de greater then or equal to hl (signed)
ge popb popd pushb lx Rvh,a mova,l cma movl,a ret mutiply de by h
l and return in hl (signed) mult csect popb popd pushb movb,h movc,l l
xih,0 mult1 mova,c rrc jncmult2 dadd mult2 xraa mova,b rar movb,a mo
va,c rar movc,a orab rz xraa mova,e ral move,a mova,d ral movd,a ora
e rz jmpmult1 divide de by hl and return quotient in hl return remainder
in de (signed) divcsect popb popd pushb movb,h call bods to do a cpm fu
nction bods(c,de) bdoscsect poph popd popb pushb pushd pushh jmp5 e
xit back to system exitcsect mvic,0 call5 take command buffer and build
pointer list initcsect lhld6+ramget pointer to high memory dcxhmove to just
below bdos sphlmake it current stack lxih,80h+rampointer to start of command
buffer move,mnumber of bytes in command line mvid,0make it 16 bit value daddp
oint to endmovc,l mova,d xrab pushpsw mova,d oraa cmdeneg mova,b oraa c
mbcneg mvia,16 pushpsw xchg lxid,0 div1 dadh callrdel jzdiv2 callcmpbcd
e jmdiv2 mova,l ori1 movl,a mova,e subc move,a mova,d sbbb movd,a div
2 poppsw dcra jzdiv3 pushpsw jmpdiv1 div3 poppsw rp calldeneg xchg ca
lldeneg xchg ret negate the integer in bc (used by divide only) deneg m
ova,d cma movd,a m of text inxhmove past end of buffer mvim,0make end of te
xt lxid,cpointerplace where pointer should place lxih,80h+ramaddress of text s
tring lxib,1number of arg init2 inxhmove pointer to next byte mova,mcheck fo
r end of buffer oraaset machine status jzinit10yes call main line cpi' 'is th
ere a leading space jzinit2yes mova,lsave pointer value staxd mova,h inxd
staxd inxd inrcadd 1 to arg count inova,e cma move,a inxd ret negate t
hen integer in bc (used by divide only) bcneg mova,b cma movb,a mova,c c
ma movc,a inxb ret roate de left one bit (used by divide only) rdel mo
va,e ral move,a mova,d ral movd,a orae ret compare bc to de (used by d
ivide only) cmpbcde mova,e subc mova,d sbbb ret used by switch to se
arch table calling format form compiler d-pointer to table h-where to go if v
alit3 inxhmove to next byte mova,mget byte into a oraasee if end of buffer j
zinit10yes... cpi' 'check for space jnzinit3no keep looking mvim,0mark as end
of parm jmpinit2loop for next command init10 lxih,cpointer-2get address of p
ointers pushbpush argc on stack pushhpush argv on stack callmainexecute main
line jmp 0it just return from main exit to cpm dwccnull cpointer dwccnull,cc
null,ccnull,ccnull,cue not in table b- number of entry in table switchcsect
xthlget value of expresstion to check xchgput value in de switch1 mova,e c
mpmcheck to see if low byte match inxhmove pointer to next byte of data jnzswi
tch2no nov to next entry mova,dmove high byte of data cmpmcheck to see if matc
h jnzswitch2yes jump to address inxh move,mget low byte of address inxh mov
d,mget high byte of address xchgput address in hl popbremcnull dwccnull,ccnul
l,ccnull,ccnull,ccnull dwccnull,ccnull,ccnull,ccnull,ccnull dwccnull,ccnull,cc
null,ccnull,ccnull dwccnull,ccnull,ccnull,ccnull,ccnull ccnull db'noname',0
page oeqequeq-comp oneequne-comp ogtequgt-comp olteqult-comp ogeequge-comp
oleequle-comp ougtequugt-comp oultequult-comp ougeequuge-comp ouleequule-
comp opreiequpreinc-incdec opredequpredec-incdec oposiequpostinc-inove entr
y from stack pchljump to needed case statement switch2 inxhmove pointer to ne
xt entry inxh inxh dcrbcheck to see if done with scan jnzswitch1 xthlget ad
dress of where to go when done popbremove entry from stack pchlgo there cal
l a bios routine with be loaded bioscsect poph popb popd pushd pushb pu
shh lhld1 dcxh dcxh dcxh mvid,0 dadd dadd dadd callbios1 movl,a mvih
,0 ret bios1pchl Rcdec oposdequpostdec-incdec end cpi'z'+1is it great
er then 'z' jncislowwer1yes...not lower case lxih,truereturn true for lowwer c
ase ret islowwer1 lxih,falsereturn false for anything but lowwer case ret
isdigit function to check to see if character is digit 0-9 only calling f
ormat from "c" isdigit(char) isdigitcsect mova,lget character to test cpi'
0'see if less then a zero jcisdigit1yes...not a vaild digit cpi'9'+1is it grea
ter than nine jncisdigit1yes...nottitlesmall c i/o package extrnbios bdosequ5
address on entry address for bdos cpmcmd equ80haddress of cpm command line tr
ueequ1value for true falseequ0value for false toupper function to shift l
ower case character to upper calling format from "c" toupper(char) touppe
rcsect mova,lget character to test cpi61hcheck to see if less then 'a' rcyes
return to caller cpi7bhcheck to see if greater then 'z' rncyes..return to call
er a vaild digit lxih,trueis a vaild digit ret isdigit1 lxih,falsenot a vail
d digit ret isspace function to check to see if white space tab or blank
calling format from "c" isspace(char) isspacecsect mova,lget character t
o check lxih,trueassume true cpi' 'check for a space rz cpi9check for a tab
rz lxih,false ret strlen function to get the lenght of a string call
ing format in "c" lenstrlen(string) strlen ani5fhmask off lowwer case bit
movl,aput it in reg for return retreturn to caller tolowwer function to c
onvert character to lowwer case calling format from "c" tolowwer(char) to
lowwercsect mova,lget character to shift to lowwer case cpi'A'see if less then
'A' rcyes...return to caller cpi'Z'+1see if greater then 'Z' rncyes...return
to caller ani0bfhremove upper case bit movl,aput chracter back in place ret
isalphacsect xchgput address of string in de lxih,0make string of zero leng
ht strlen1 ldaxdget character from string oraacheck to see if end of string
rzyes return to caller inxhadd 1 to string lenght inxdmove to next character
jmpstrlen1loop till end of string found strcpy function to copy first seco
nd string to first string calling format from "c" strcpy(object,source) s
trcpycsect popbget return address from stack popdget function check to see
if alpha character a-z or A-Z only calling format from "c" isalpha(char)
isalphacsect pushhsave calling arg for later callisuppercheck to see if upper
case xchgput answer in de pophget character to test back callislowwercheck to
see if lowwer case daddadd isupper to is lowwer answer ret isupper fu
nction to check to see if character is upper case calling format in "c" isup
per(char) isuppercsect mov source address pophget object address pushhres
tore machine stack pushd pushb pushh strcpy1 ldaxdget address of source ch
aracter movm,astore character in object string oraacheck to see if end of stri
ng jzstrcpy2end of string return to caller inxh inxdmove pointer to next byte
jmpstrcpy1loop till done with copy strcpy2 pophreturn address of object stri
ng ret strcat function to put string2 at then end of string1 and return a
a,lget character to check cpi'A'see if less then upper case a jcisupper1not up
per case cpi'Z'+1check to see if less then jncisupper1no upper case lxih,tru
eyes it is upper case ret isupper1 lxih,falsenot upper case ret islowwer
function to check to see if character is lowwer case calling format from "
c" islowwer(char) islowwercsect mova,lget character to check cpi'a'see if
less then 'a' jcislowwer1yes...not upper case Rddress of string 1
calling format in "c" strcat(string1,string2) strcatcsect popbget return
address popdget address of string 2 pophget address of string 1 pushhretore
machine stack pushd pushb pushhsave address of source string strcat1 mova,m
get character from source buffer oraacheck to see if zero jzstrcat2yes end of
string found inxhmove pointer to next byte jmpstrcat1loop till end of string f
ound strcat2 action inxdmove pointer to next pointer dcxbsubtract 1 from cou
nt jmpsetmem1loop till all bytes set movmem function to move source addre
ss to object address for count bytes calling format from "C" movmem(source,
object,count) movmemcsect callargloadget args bc1, de2, hl3 pushbswitch arg
s so that pushdbccount pushhdeobject popbhlsource poph popd mova,bcheck t
o see if count 0 orac rzzero return to callerldaxdget character from string 2
movm,asave character in string1 oraacheck to see if end of buffer jzstrcat3y
es return to caller inxhmove object pointer up 1 inxdmove source pointer up 1
jmpstrcat2 strcat3 pophget address of string1 ret strpos function to loo
k for string 2 in string 1 calling format in "c" strpos(string1,string2)
strposcsect callargloadget args load into read be1 de2 hl3 pushb poph lxib,1
destring callmovmemhtcheck to see if sourcedest jcmovmemtmove tial first mvia
,2check to see if z80 inra jpemovmemf88080 do a byte by byte move dw0b0edh r
et movmemf8 mova,mget source byte staxdsave byte in object buffer inxhmove o
bject pointer up 1 inxdmove source pointer up 1 byte dcxbsubtract 1 from count
mova,bsee if done orac jnzmovmemf8no keep on looping ret movmemt dcxbtail
first. compute new source dadband destination2, hlstring1 bc0 xchg strpos1
ldaxdget character to check oraacheck to see if end of string jzstrpos5end of
string1 string 2 not found in string1 cmpmis it equal to string2 character 1 j
zstrpos2yes... inxdno add 1 to string 1 pointer inxbadd 1 to offset pointer j
mpstrpos1loop till end of string1 or string2 found strpos2 pushhsave strating
address of string 21 pushdsave current address of string 1 strpos3 inxd inxh
mova,mget ch address xchg dadb xchg mvia,2check to see if z80 inra jpemo
vmemt88080 do a byte by byte move dw0b8edh ret movmemt8 mova,mget source byt
e staxdsave object byte dcxhmove to next byte of source buffer dcxdmove to ne
xt byte of object buffer dcxbsubtract 1 from count mova,bcehck to see if all d
one orac jnzmovmemt8no keep on looping ret movmemht mova,h cmpd rnz mova
,l cmpe ret outp function to output 1 byte taracter from string 2 oraas
et machine flags jzstrpos4end of string2 found must be a mathc ldaxdget arg1
cmpmis this character a match jzstrpos3 popdrestore pointer for string1 and s
tring 2 poph inxdadd 1 to string pointer inxbadd 1 to offset in string1 jmps
trpos1loop till end of string 1 strpos4 movl,cstring found return offset for c
aller movh,b popb popb ret strpos5 lxih,0string not found ret setmem
function too a data port calling format from "C" outp(port,data) outpcs
ect popbget return address pophget data for port popdget port number pushdre
store machine stack pushh pushb mova,eget port number staoutp1+1save port nu
mber mova,lget data to send outp1 out0send data to port ret inp functi
on to input 1 byte from data port and return to caller calling format in "c"
datainp(port) inpcsect mova,lget port number fill a block of memory with a
given constant calling format in "c" setmem(address,count,constant) setme
mcsect popbget return address pophget constant mova,lput constant in a popbg
et count popdget address lxih,8offset in to put stack back dadsp sphlrestore
stack pointer movl,aplace to save constant setmem1 mova,bcheck to see if cou
nt is zero orac rzall done with move mova,lget constant to store staxdset me
mory lo R stainp1+1save port number for input inp1 in0input data from port
mvih,0zero high byte of number movl,aput data in reg for "c" ret puts fu
nction to print a string to console ending with a null call format from "C"
puts(string) putscsect pushhsave calling address in stack puts1 mova,mge
t character to print oraacheck for zero jzputs2if done return pushhsave point
er for later user movl,aput character in reg for pumber of character in string
inxd gets1 ldaxdget character from input buffer movm,asave character in buff
er inxhmove pointer to next byte inxd dcrbsee if all done with move jnzgets1
no keep on looping gets2 mvim,0put ending zero in stringo mvic,2cpm outp
ut character function mvie,0ahcharacter to output callbdosoutput a linefeed p
ophget address of iput string retall done return to calleru kbstat funtio
n to get status sh callputchprint character on console pophget address of char
acter back inxhmove to next character jmpputs1loop till done with string puts
2 pophget address of start of string retreturn to caller console i/o functi
ons putch output 1 character to console and do not check to see if chara
cter is ready at console input calling format from "C" putch(c) putchcsec
t mova,lget character to print cpi0ahcheck for line feed jnzputof cpm console
returns true or 1 if console character is ready or 0 if character is not read
y call format for c kbstat() kbstat csect mvic,2cpm function number for
status check pushbsend jump number out pushbarg callbioscall bios cons-stat
popbremove args from stack popb mova,lget return status from bios oraaset mac
hine status reg. lxih,0make it false (keyboard not ready) rzreturn to caller k
eyboard not ready lxih,1keyboard rch1no..... mvie,0dhprint return mvic,2cpm
print number function callbdosprint chararcer to console mvil,0ahprint line fe
ed putch1 move,lput character in correct reg for call mvic,2cpm output functi
on callbdosprint character to console ret function to get 1 character from
cpm console and return character to caller calling format in "C" chgetch(
) getch csect mvic,1cpm function number for getch callbdosget character fe
ady retall done return to caller open function to build fcb and try to
open file address of fcb in de while name in hl. if file is open ok then 0 is
return else -1 is return calling format from "C" open(fcb,filename) openc
sect popbget return addess pophget address of file name popdaddress of fcb p
ushdput data back on stack pushh pushb pushdput address of fcb in stack push
hput address of file name in stack callsetfcbtrrom console cpi0dhcheck to see
if a return jnzgetch1 no check for a z end of file mvid,0ahsend a lf to conso
le pushcput it stack for putch callputchprint character on console lxih,10and
return lf (new line) ret getch1 cpi26check to see if end of file jnzgetch2
not a end of file return char. lxih,-1return end of file maker retall done re
turn to caller getch2 movl,amove character to return reg. mvih,0zero high byt
e of ry to scan for a fcb popdremove address of file name from stack popdremov
e address of fcb from stack inrlcheck to see if vaild return code jzopen10erro
r invaild file name mvic,15cpm function to open a file callbdosexecute cpm ope
n function inrasee if error opening file jzopen10error file not found lxih,0s
et return code to zero retreturn to caller open10 lxih,-1error return code r
etreturn to caller create function to build feutrn ret gets functio
n to get a string from console and return address of input string
calling format from "C" gets(string) getscsect pushhsave address of string
pushh mvim,250save for bdos call mvic,10cpm read string function xchgput add
ress of string in de for cpm callbdoscall cpm to read string in popdget addres
s of input string back movh,dput address in hl movl,e inxdmove to lenght coun
t movb,mget nu Rcb and delete file then try to create file address of fcb in
de while name in hl. if file is created ok 0 is return else -1 is return c
alling format from "C" create(fcb,filename) createcsect popbget return addr
ess pophget address of file name popdget address of fcb pushdput data back o
n stack pushh pushb pushdset up arg list for setfcb pushh callsetfcbtry tos
can and build fcb popdremove arg for setfcb from stack popd inrls11 lxih,36n
umber of byte to move back dadspadd to current stack pointer sphlput new value
in stack pointer xchgput return code in hl retall done return to caller re
ad function to read x record from disk and return number of record read or -
1 calling format from "C" read(fcb,buffer,count) readcsect lxih,2offset
in stack till count dadspget address of number of record to read mova,mget low
byte of count move,msave for later ee if error in file name jzcreate10error i
n file name pushdsave address of fcb mvic,19cpm function to delete a file cal
lbdoscall bdos to do needed function popdrestore address of fcb to create mvic
,22cpm function to make file callbdoscall bods to do needed function inracheck
to see if error jzcreate10error unable to creat file lxih,0every thing ok set
return code to zero retreturn to caller create10 lxih,-1error set return cod
e to -1 use inxhmove to high byte of count oramsee if 16 bit count is zero m
ovd,mget high byte of count jzread1yes do not read any more records dcxdsubtr
act 1 from count movm,dput high byte back dcxhpoint to high byte movm,esave l
ow byte inxhmove to buffer address inxh move,mget address of buffer inxhmove
to high byte of address pushhsave current pointer on stack movd,mget high byt
e of address mvic,26set dma address callbdosret close function to close
a file that is current open. address of fcb in de. if able to close file o is
is return or -1 if unable to close calling format from "C" close(fcb) clo
secsect popbreturn address popdaddress of fcb pushdput data back in stack pu
shb mvic,16cpm function to close a file callbdoscall cpm to do needed function
inracheck for errors jzclose10error unable to close file lxih,0every thing i
s ok set return cocall cpm to set buffer address pophremove current pointer fro
m stack inxhmove to address of fcb pushhput current pointer back on stack mov
e,mget low byte of fcb address inxhmove to high byte of address movd,mget high
address of fcb mvic,20read record from dsik callbdoscall cpm to do it pophge
t current pointer back oraacheck for errors jnzread2error reading file from di
sk dcxhmove to address of buffer movd,mget high byte of addrede to zero retre
turn to caller close10 lxih,-1error set return code to error ret unlink
function to build fcb and try to delete delete file. if ok return 0 else -1
calling format from "C" unlink(filename) unlinkcsect popbget return addres
s popdget address of file name pushdput data back in stack pushb lxih,-36put
stack pointer in hl dadspaddress of stack in hl sphlset new address of stack
pointer lxib,36get address ofss dcxhmove to low byte of address move,mget lo
w byte of address xchgput address in hl and varble address in hl lxib,80hlengh
t of 1 record on disk dadbadd sector lenght to buffer address xchgput buffer a
ddress back in de movm,esave new low byte of address inxhmove to high byte of
address movm,dsave high byte of address jmpreadsee it time to read next record
read1 lxih,0every thing is ok return to caller jmpread3set dma address to tb
u fcb for delete dadbadd to get base for fcb pushhset up arg for setfcb pushd
callsetfcbtry to build fcb popdremove arg for setfcb popd inrlsee if error
jzunlink10error not a vaild file name mvic,19function number to delete a file
callbdoscall cpm to delete file from system inracheck to see if in error jzun
link10error unable to delete file lxid,0return code jmpunlink11reset stack poi
nter unlink10 lxid,-1set error code unlink Rf and return read2 lxih,-1err
or reading file read3 pushhsave return code lxid,cpmcmdaddress of temp buff
mvic,26set dma address function callbdoscall cpm to do needed funtion pophget
return code from stack retall done return to caller function to write x reco
rd fromdisk and return false if no errors or true if error calling format fr
om "C" write(fcb,buffer,count) writecsect lxih,2offset in stack till count
dadspget address offcb(fcb,filename) setfcbcsect popbget return address po
phaddress of file name popdaddress of fcb pushdput data back on stack pushh
pushb dcxhset pointer back 1 before file name setfcb1 inxhmove pointer to nex
t chracter mova,mget character from buffer oraacheck for end of buffer jzsetf
cb6error null file name cpi' 'see if leading space jzsetfcb1yes move to next
character pushhsave starting address of file name setfcb1a number of record
to read mova,mget low byte of count move,msave for later use inxhmove to high
byte of count oramsee if 16 bit count is zero movd,mget high byte of count
jzwrite1yes donot write any more records dcxdsubtract 1 from count movm,dput h
igh byte back dcxhpoint to high byte movm,esave low byte inxhmove to buffer a
ddress inxh move,mget address of buffer inxhmove to high byte of address pus
hhsave current pointemova,mget character from file name oraasee if end of strin
g jzsetfcb1byes... loop back till not space inxhmove to next byte jmpsetfcb1a
setfcb1b dcxhmove back 1 character mova,mget this chracter from buffer cpi'
'is this character a space jzsetfcb1bloop till none space character is found
inxhmove to end of string mvim,0move end of string marker pophget starting add
ress back inxhmove to "" if disk spec mova,mget this character fr on stack mo
vd,mget high byte of address mvic,26set dma address callbdoscall cpm to set bu
ffer address pophremove current pointer from stack inxhmove to address of fcb
pushhput current pointer back on stack move,mget low byte of fcb address inxh
move to high byte of address movd,mget high address of fcb mvic,21write record
to disk callbdoscall cpm to do it pophget current pointer back oraacheck for
errors jnzwrite2error writorm file name dcxhput pointer back cpi''see if dis
k spec in file name jnzsetfcb2no gt ready for file name mova,mget disk name
callsetfcb10make if upper case sui''make it 01-16 for disk a-p inxhmove to sta
rt of file name inxh jmpsetfcb3move disk value into fcb setfcb2 xraamake def
ualt disk setfcb3 staxdsave value for disk drive inxdmove fcb to file name m
vib,8number of byte in file name callsetfcb11move file name into plaing file fr
om disk dcxhmove to address of buffer movd,mget high byte of address dcxhmove
to low byte of address move,mget low byte of address xchgput address in hl a
nd varble address in hl lxib,80hlenght of 1 record on disk dadbadd sector leng
ht to buffer address xchgput buffer address back in de movm,esave new low byte
of address inxhmove to high byte of address movm,dsave high byte of address
jmpwritesee ittime towrite next record ce jnzsetfcb6see if bad character in fil
e name cpi'.'chek to see if file type jnzsetfcb4no do not move pointer past '.
' inxhmove to file type byte setfcb4 mvib,3number of bytes in file type call
setfcb11move file type into fcb jnzsetfcb6see if bad character in file type mv
ib,24number of bytes left in fcb mvia,0value to file fcb with setfcb5 staxdpu
t 0 in fcb ex-r2 inxdmove to next byte dcrbsee if done with move jnzsetfcb5no
keep write1 lxih,0every thing is ok return to caller jmpwrite3set dma address
to tbuf and return write2 lxih,-1error writing file write3 pushhsave return
code lxid,cpmcmdaddress of temp buff mvic,26set dma address function callbdo
scall cpm to do needed funtion pophget return code from stack retall done retu
rn to caller setfcb function to build fcb for file name pointed to in hl a
nd address of fcb in de calling format from "C" set R on moveing lxih,0r
eturn false if no errors ret setfcb6 lxih,-1return -1 if bad character in fil
e name ret shift character to upper case setfcb10 cpi061his it less then
lowwer case a rcyes... cpi07ahis it greater then lowwer case z rncyes ani05
fhmake it loower case ret scan b characters and move into fcb checking for "
" and bad character in file name setfcb11 mova,mget character form file nam
e cpi'*'is it a wild card mih,0get size of free list area stabasefree+2save a
s current size of free area lxih,3000size of memory not to use shldalocmxsave
it for later use ret data area used for free storage mangment freelistdse
ct Basefreeds4 allocpds2 alocmxds2 argload function to load bc with arg
back 3 de with arg back 2 hl with 1 back argloadcsect lxih,8offset in stack
for arg for bc dadspadd to stack pointer movc,m inxh movb,m inxh via,''yes
make it all jzsetfcb114make all setfcb112 mova,mget character to check ca
llsetfcb12get and check to see if vaild jcsetfcb113no.... staxdsave character
in fcb inxhmove both pointers up by 1 bye inxd dcrbsee if done with file nam
e jnzsetfcb11no keep on moveing jmpsetfcb115done with file look for ending cha
r setfcb113 oraacheck to see if end of file name jzsetfcb113ayes... cpi'.'ch
eck for delimter rnzno ret move,m inxh movd,m inxh mova,m inxh movh,m mo
vl,a ret inxh movh,m movl,a ret st*s*u1#"u*£+"£b1wo12w&!o 1 . &7O*
ourn and show error setfcb113a mvia,' 'done with field pad with blanks setfc
b114 staxdfill fcb with value inxdmove to next byte of fcb dcrbsee if done wi
th move jnzsetfcb114no keep on filling setfcb115 mova,mget character from fil
e name oraa rz cpi'.'check for '.' rz inxh jmpsetfcb115not ending characte
r keep on looking check to see if vaild character for fcb a-z and 0-9 only s
et carry if not a vaild character otherwise reset carry setfcb12 callsetfcb1
0upper case character cpi''wild card character jzsetfcb121yes vaild character
cpi'$'needed for submit files jzsetfcb121yes valid character cpi'0'is it less
then '0' rcyes error invaild character cpi'9'+1is it greater then 0 and less
then eq 9 jcsetfcb121yes vaild character cpi'A'is it less then 'A' rcyes erro
r between '9' and 'A' cpi'Z'+1is it between 'A' and 'Z' cmcflop carry bit re
t setfcb121 stcset c/********************************************************/
/**/ /*copyright(c) 1981 By Mike Bernson*/ /**/ /*submit command for cpm 2.
x*/ /*read input file and convert to $$$.sub with*/ /*$1-$9 to pram from coman
d line and convert*/ /*a to control character*/ /**/ /***********************
*********************************/ #define ERROR-1/* error return value */ #
define LF0x0a/* value used for line feed */ #define CR0x0d/* value used for ret
urn */ arry flag cmcset carry off ret rsvstk function to set how close t
o go to machine stack pointer calling format in "C" rsvstk(amount) rsvstk
csect shldalocmxsave number of bytes not to used ret storinit function t
o init stroage allocation system calling format from "c" storinit() stori
nitcsect lxih,basefreeget address of start of free list shldbasefreesave as fi
rst element shldallocpsave as pointer to last block lx R #define ENDFILE0x1a/
* value used for end of file */ char infcb36/* pointer to input fcb */ char
outfcb36/* output fcb */ char *prt/* just a spare pointer */ int inpoff/* i
nput buffer offset */ int outoff/* output buffer offset */ int line/* curr
ent line number */ char inbuff128/* input buffer */ char outbuff17000/* outp
ut buffer */ /********************************************************/ /**/
/*main*/ /**/ /*function return /* linefeed ingore */ case LF break
/* must be a viald cjaracter put in output buffer */ default putbuff(current)
/********************************************************/ /**/ /*doou
tput*/ /**/ /*functionto write output record to disk*/ /*put character count
at offset 0 */ /**/ /*date writtendec 16, 1980 By Mike Bernson*/ /**/ /*****
***************************************************/ dooutput(open input and ou
tput data file */ /*also process data and output*/ /*data to $$$.sub and set l
oc 8 ff*/ /**/ /*Date writtenJan 28, 1981 by Mike Bernson*/ /**/ /**********
**********************************************/ main(argc,argv) int argc/* num
ber of arg on command line +1 */ int argv/* pointer to each arg on command line
*/ char filename132/* hold input file name */ strcpy(filename,argv1) str
cat(filename,".sub") if (open(infcb,filename) outbuff(line-1)*128outoff-1
/* character count */ /* zero buffer till end */ while(outoff128) putbuff(0)
if (++line148)error("Too manylines") /***********************************
*********************/ /**/ /*done*/ /**/ /*functionto write output buffer o
ut*/ /*in backward record format*/ /**/ /*Date writtenDec 16, 1980 By Mike Be
rnson*/ /**/ /********************************************************/ done(
) char tem) ERROR) infcb01/* try drive a */ if (bdos(15,infcb) 0xff) p
uts("Input file not found") exit() for(lineargc line12 argvline++"") inpo
ff128 line1 /* process input file and write output */ while(1) doinput(ar
gv+1) dooutput() /****************************************************
****/ /**/ /*doinput*/ /**/ /*functionto proccess input buffer and*/ /*chan
ge $1-$9 to text needed and*/ /*p /* create output file on disk a*/ if (ope
n(outfcb,"A$$$.SUB") ! ERROR) outfcb32outfcb15 else if (create(outfcb,"A$$$.S
UB") ERROR) puts("Output File not created") exit() while(--line) if (wr
ite(outfcb,outbuff+128*(line-1),1) ERROR) error("Disk is Full") exit()
close(outfcb) prt8 *prt255 exit() /***********************************
*********************/ /**/ /*getbuff*/ /**/ /*functionconvert ''a to contro
l char*/ /**/ /*date writtenJan 28, 1981 By Mike Bernson*/ /**/ /***********
*********************************************/ doinput(parm) int parm int c
urrent /* current character working on */ outoff1/* set output offset to ze
ro */ /* pick up 1 line of input */ while(outoff120) /* get charcter and
see what need to be done */ switch(currentgetbuff()) /* end of file */ c
ase ENDFILE done() /* '$' can be $1to getn next character from */ /*from i
nput buffer and convert*/ /*to upper case*/ /**/ /*date writtenDec 16, 1980 b
y Mike Bernson*/ /**/ /*******************************************************
*/ getbuff() if (inpoff 128) if (read(infcb,inbuff,1) ERROR) return ENDF
ILE inpoff0 return toupper(inbuffinpoff++) /***************************
*****************************/ /**/ /*putbuff*/ /**/ /*functionto write -$9
or $$ */ case '$' if ((currentgetbuff())'$') putbuff('$') break if (cur
rent'0' && current'9') prtparmcurrent-'0' while(*prt) putbuff(*prt++) break
error("Invalid parmeter") break /* check for control chraracter */ case
'' currentgetbuff() if (current'A' && current'Z') putbuff(current-'') else
error("Invalid control character ") break /* check for end of line */ case
CR R chracter to output */ /*buff and inc offset*/ /**/ /*inputch
aracter to write*/ /**/ /*date writtenDec 16, 1980 By Mike Bernson*/ /**/ /*
*******************************************************/ putbuff(data) char da
ta outbuff(line-1)*128+outoff++data /*********************************
***********************/ /**/ /*error*/ /**/ /*functionto print error messag
e follow*/ /*by at line (line number)*/ /**/ hadd 1 to string lenght inxdadd
1 to pointer to string relocjmp,strlen1check next character postlude strlen
preludestrcpy strcpy callarghakget arg list lhldarg1get address of w
here to save string xchgput address in de lhldarg2get address of string to cop
y strcpy1 mova,mget value from source string staxdsave character a object str
ing oraacheck to see if done rzif zero done return to caller inxhadd 1 to sou
rce pointer /*date writtendec 16, 1980 By Mike Bernson*/ /**/ /***************
*****************************************/ error(msg) char *msg puts(msg)/*
print error message */ puts(" at line ")/* print "at line" */ outdec(line)/*
print line number */ exit() /* end back to cpm */ /***********************
*********************************/ /**/ /*outdec*/ /**/ /*functionto output
number in dec from*/ /*to console*/ /**/ /*date wri inxdadd 1 to object poin
ter relocjmp,strcpy1down till end of string postlude strcpy preludest
rcat strcat callarghakget parm list lhldarg1get address of frist parm xchgpu
t it in hl lhldarg2get second parm strcat1 ldaxdget byte to see if zero oraa
set status flags relocjz,strcat2end of string 1 inxdadd 1 to pointer relocjm
p,strcat1loop till end of string 1 strcat2 mova,mget char for source string s
taxdsave at end ofttenDec 16, 1980 By Mike Bernson*/ /**/ /*******************
*************************************/ outdec(number) int number char zero,
num int place place10000 zero0 while(place0) numnumber/place+'0' /* g
et current digit */ if (num ! '0' place 1 zero) zero1 /* set zero suppress
*/ putch(num) /* print character */ numbernumber % place placeplace/10
placeplace/10 10 placeplace/10 second string oraacheck to see if
zero rzreturn if end of string 2 inxhadd 1 to source pointer inxdadd 1 to obj
ect pointer relocjmp,strcat2loop till end of source string postlude strcat
preludestrpos strpos callarghakget parm list pushbsave c stack on machi
ne stack lhldarg1get string that we are searching in xchgput address in de lx
ib,0zero postion strpos1 lhldarg2get address of search for string strpos2 l
daxdget character to check oraacheck to see if end of string 1 relocjz,strpos
4end of string arg2 is not inside of arg1 inxbadd 1 to postion inxdadd 1 top p
ointer of arg1 cmpmcheck to see if a match on first char relocjnz,strpos2loop
till fisrt character match pushdsave current postion on stack dcxdmove pointer
back one strpos3 inxhadd 1 to arg1 inxdadd 1 to arg2 mova,mcheck to see if
end of arg2 oraasee if zero relocjz,strpos5end of argtitle'string assebmle fu
nction for BDS C' page60 maclibbds maclibcmac direct defineSTRLEN
defineSTRCPY defineSTRCAT defineSTRPOS enddir page strlen return len
ght of string preludestrlen strlen callarghakget arg list lhldarg1get
point to string xchgput address in de lxih,0put a zero in hl (length) strlen1
ldaxdget value of this character oraacheck to see if zero rzif zero end of s
tring return inx R2 match found ldaxdget arg1 cmpmcheck to see if match re
locjz,strpos3loop to end of string or nomatch popdremove search address from st
ack relocjmp,strpos1loop till end of arg1 strpos4 popbrestore c stack pointer
lxih,0arg2 not found in arg1 ret strpos5 movh,barg2 found in arg1 movl,c
popdremove junk from stack popbrestore b stack pointer ret postlude strpo
s end /* Define system dependent parameters */ /* Stand-alo
ne definitions */ #define BUFSIZ1030 #define ERROR-1 #defin
e FALSE0 #define TRUE1 #define eol 13 #define CR13 #define LF10 #define BS8
#define TB9 #define FF12 /* Define symbol table parameters *
/ #define lvalsize 3 #define SWITCHMAX 254 #define symsiz 15 #define symtbs
z 6000 #define numglbs 300 #define startglb symtab #define endglb startglb+n
umglbs*symsiz #define starSTRLESTRCPSTRCA8STRPO£ 8y02 G 1 2 (y2 y0 2
1 'd ! #V#*0og* "D xD ySTRLESTRCPSTRCA8STRPO£ 8y02 G 1 2 (y2 y0 2 1
'd ! #V#*0og* "D xD ytloc endglb+symsiz #define endloc symtab+symtbsz-symsiz
/* Define symbol table entry format */ #define name 0 #de
fine ident 9 #define type 10 #define indcnt11 #define storage 12 #defin
e offset 13 #define offset114 /* System wide name size (for symbols)
*/ #define namesize 9 #define namemax 8 /* Define possible entries
for "ident" */ #define variable1/* a normal varble */ #define array2/*
array of varbles */ #define pointer3/* poSTRLE7*!# 7**# 7** # 57**+#0!i %)+ RET
URN 8 N S "A" CURSOR LEFT 8 C "'#9E'" 9 N S "W" COPY repeat l
ast line 9 C "R" CTRL COPY ignore current line and repeat 15 C "'#8E'
" CTRL 0 'B*.*' (for PIP) 16 N S "G" CLR 16 C "K" Cinter to
a varble */ #define function4/* entry is a function */ /* Define possibl
e entries for "type" */ #define cchar 1 #define cint 2 /*Lenght
of possible entries for "type"*/ #define lchar1 #define lint2 #define lpoi
nt2 /* Define possible entries for "storage" */ #define statik 1
#define stkloc 2 #define stkarg 3 /*values returned by heirxx */ #defin
eLOADED0/* value on top of stack */ #define ADDRESS1/* address of lvalue on sta
ck */ /*********************************************************************/ /
* */ /* Thi
s C compiler is copied from Dr. Dobb's Journal of Computer */ /* Calis
thenics & Orthodontia (issue number 45) */ /* -- Distribution a
nd use is unrestricted for non-commercial use. */ /*
*/ /*
RAF 8-8-80 */ / #define NOTLOADED2/* address in lvalue in
array not loaded */ #define CONSTANT3/* constant in lval */ /* Define th
e "while" statement queue */ #define wqtabsz 100 #define wqsiz 6 #de
fine wqmax wq+wqtabsz-wqsiz /* Define entry offsets in while queue
*/ #define wqsym 0 #define wqsp 1 #define wqloop 2 #define wqlab
3 #define wqend4 #define wqbody5 /* Define the literal pool
*/ #define litabsz 2000 #define litmax litabsz-1 /* *
*/ /***********************
**********************************************/ /****************************
********************/ /* */ /*
small-c compiler */ /* rev. 1.1
*/ /* by Ron Cain */ /*
*/ /************************************
************/ R Define the input line */ #define li
nesize 80 #define linemax linesize-1 #define mpmax linemax /* Define
the macro (define) pool */ #define macqsize 1000 #define macmax m
acqsize-1 /* Define statement types (tokens) */ #define stif
1 #define stwhile 2 #define stfor3 #define stswitch 4 #define streturn 5
#define stbreak 6 #define stcont 7 #define stasm 8 #define stexp 9 /
*name of some function called by code gen step */ /* work ptr to any char bu
ffer */ int *iptr /* work ptr to any int buffer */ /*file io buff
ers*/ char finpBUFSIZ/* input file buffer */ char finp2BUFSIZ/* input 2 file b
uffer */ char foutBUFSIZ/* ouput file buffer */ n&3!#Vr+s3*3*3!!s#r!#Vr+sz3!33
334!33CmVWZWU*9mAmV*smZXXX2mmX0)XXXZXDMR#go"9mZy xZ*Qmsm( #define EQ"comp" #
defineGE"comp+25h" #define GT"comp+12h" #define LE"comp+2fh" #define LT"comp+
1ch" #define NE"comp+19h" #define UGE"ucomp+13h" #define UGT"ucomp" #defin
eULE"ucomp+1ch" #defineULT"ucomp+0ah" #define PREINC"incdec" #define PREDEC
"incdec+08h" #define POSTINC"incdec+10h" #define POSTDEC"indec+1ah" /*
Now reserve some storage words */ char symtabsymtbsz /* s
ymbol table */ char *glbptr,*locptr cc1 c1.c -e 8000 cc1 c2.c -e
8000 cc1 c3.c -e 8000 cc1 c4.c -e 8000 cc1 c5.c -e 8000 cc1 c6.c -e 8000 cc
1 c7.c -e 8000 cc1 c8.c -e 8000 cc1 c9.c -e 8000 clink c1 c2 c3 c4 c5 c6 c7 c
8 c9 c1 c2 c3 c4 c5 c6 c7 c8 c9 -r e00 -s *0005*cc1 c6.c /* ptrs to
next entries */ int wqwqtabsz /* while queue */ int *wqptr
/* ptr to next entry */ char litqlitabsz /* lite
ral pool */ int litptr /* ptr to next entry */ char m
acqmacqsize /* macro string buffer */ int macptr /*
and its index */ char linelinesize /* parsing buffer */ char
mlinelinesize /* temp macro buffer */ int lptr,mptr /*
ptrs into each */ /* Misc storage */ int nxtlab, /* ne
xt avail label # */ litlab, /* label # assigned to literal pool
*/ sp, /* compiler relative stk ptr */ argstk,
/* function arg sp */ ncmp, /* # open compound statemen
ts */ errcnt, /* # errors in compilation */ eof,
/* set non-zero on final input eof */ input, /* iob # fo
r input file */ outpu/* start ccl */ /**/ /*Compiler begins execution
here */ /**/ #ifndef TRUE/*see if need to use include file */ #include c.de
f #endif main() glbptrstartglb/* clear global symbols */ locptrstartloc/*
clear local symbols */ wqptrwq/* clear while queue */ macptr/* clear the macro
pool */ litptr/* clear literal pool */ nxtlab /* next label to assign */ sp
/* stackptr (relative) */ errcnt/* no errors */ eof/* not eof yet */t,
/* iob # for output file (if any) */ input2, /* iob # for "inc
lude" title */ line1,/* current line number in main file */ line2,/* current l
ine in include file */ ctext, /* non-zero to intermix c-source
*/ cmode, /* non-zero while parsing c-code */
/* zero when passing assembly code */ cif,/* state of preprocess if s
tatement */ lastst /* last executed statment type */ char
*cptr R input/* no input file */ input2/* or include file */
output/* no open units */ ncmp/* no open compound states */ ctext/* do not pr
int text */ lastst0/* no last statement yet */ cif/* state of #ifxxxx */ cmod
e1/* enable preprocessing */ litlabgetlabel()/* label number for literal poll *
/ /**/ /*compiler body*/ /**/ ask()/* get user options */ openout()/* get a
n output file */ openin()/* and initial input file */ header()ptrcptr+symsiz
/**/ /*dump extrn function*/ /**/ dumpextrn() char *ptr ptrstartglb
while(ptr!glbptr) if (!ptroffset) extrn(ptr) ptrptr+symsiz /**/ /*Rep
ort errors for user*/ /**/ errorsummary() /* see if anything left hanging..
. */ if (ncmp) error("missing closing bracket") /* open compund statment ... *
/ if (!cif) error("missing closing #endif") nl() comment() outdec(errcnt) /*
total # errors */ outst/* intro code */ parse()/* process ALL input */ dumpl
its()/* then dump literal pool */ dumpglbs()/* and all static memory */ dumpex
trn()/* make all function defined extrn */ errorsummary()/* summarize errors */
trailer()/* follow-up code */ closeout()/* close the output */ if (errcnt) u
nlink("a$$$.sub") /* if errors erase submit file */ return/* then exit to syste
m */ /**/ /*Process all input text*/ /**/ /* At this level, only static de
clar(" errors in compilation.") nl() /**/ /*Get options from user*/ /**/
ask() int k kill() /* clear input line */ pl(" * * * small-c version 1.1
compiler * * *n") /* see if user wants to interleasve the c-text*/ /* i
nform of comments (for clarity) */ pl("Do you wish to c-text to appear ") gets
(line)/* get answer */ if(toupper(ch())'Y') ctext1/* user said yes */ /**/
/*Get output filename*/ /**/ openout() kill() rations,*/ /*defines, includ
es, and function*/ /*definitions are legal...*/ parse() while (!eof) /* do
until no more input */ if(amatch("char",4)) declglb(cchar) ns() else if(a
match("int",3)) declglb(cint) ns() else if(match("#asm")) doasm() else if
(match("#include")) doinclude() else if(match("#define")) addmac() else if(ma
tch("#ifndef")) doifndef() else if(match("#ifdef")) doifdef() else newfunc()
blanks()/* force eo/* erase line */ output0 /* start with none */ pl("O
utput filename ") /* ask...*/ gets(line) /* get a filename */ if(ch()0)ret
urn /* none given... */ if ((outputfcreat(line,fout)) ERROR) output0
/* can't open */ error("Open failure") kill() /* erase line */ /**/
/*Get (next) input file*/ /**/ openin() input0/* none to start with */ wh
ile (!input)/* any above 1 allowed */ kill()/* clear line */ if(eof)f if pendi
ng */ /**/ /*Dump the literal pool*/ /**/ dumplits() int j,k if (l
itptr0) return /* if nothing there, exit...*/ printlabel(litlab) col()/* prin
t literal label */ k0 /* init an index... */ while (klitptr) /* to loop
with */ defbyte() /* pseudo-op to define byte */ j10 /* max bytes per line *
/ while(j--) outdec(litqk++) if (j0 klitptr) nl() /* need cr */ break
outbyte('break/* if user said none */ pl("Input filename ") gets(line)/* get
a name */ if(ch()0) eof1 break/* none given... */ line10 if ((inputfope
n(line,finp)) ERROR) input0/* can't open it */ pl("Open failure") kill(
) /* erase line */ /**/ /*Open an include file*/ /**/ doinclude() char
fname31/* place to open file name */ char fend/* ending character for file name
*/ int lenght/* size of file name ,') /* separate bytes */ litptr0
/**/ /*Dump all static variables*/ /**/ dumpglbs() int j dsect("globals")
cptrstartglb while(cptrglbptr) if (cptrident ! function) /* do if anythin
g but function */ outstr(cptr)col() /* output name as label... */ defstorage(
) /*define storage */ j((cptroffset&255)+ ((cptroffset+1&255)8)) /* calc #
bytes */ outdec(j) /* need that many */ nl() c R*/ while(isspace(ch(
))) gch() /* skip over to name */ fend' ' if (ch()'') fend'' gch() if (c
h()'"') fend'"' gch() lenght0 while(lenght30 && ch() && ch()!fend) fnam
elenght++ch() gch() fnamelenght0 if (!(fend ch() (fend ' ' && !ch())))
error("invaild file name for include") kill() return if (!lenght) error(
"missing file name for include") kill() return line20 if (input2)ine stack
*/ /*and adds symbol table entry with appropriate*/ /*stack offset to find it
again*/ declloc(typ) /* typ is cchar or cint */ int typ int j int coun
t char snamenamesize while(1) count0 if (endst()) return if (match("*"))
jpointer ++count while(ch()'*') ++count gch() else jvariable if (!s
ymname(sname)) illname() if (findloc(sname)) multidef(sname) dataparse(sname,t
yp,stkloc,j,count) if ( error("nested include not aloud") kill() return
if ((input2fopen(fname,finp2)) ERROR) error("Open failure on include file")
input20 kill() /**/ /*#ifndef */ /**/ doifndef() char snamenamesize
int lval2 /* check to if define as constant */ blanks() if (constant(lval
)) cifFALSE return /* check to see if vaild sysmbol */ if (!symname(sna
me)) error("invaild identifier") kill() return !match(",")) return /**
/ /*parse out data item and add to symbol*/ /*symbol table.*/ /**/ /*written
April 8, 1981 By Mike Bernson*/ /**/ dataparse(sname,typ,classid,identtyp,cou
nt) char *sname/* pointer to name of symbol */ char typ/* type of data char or
int */ char classid/* typ of storage static automic */ char identtyp/* type o
f varble pointer or varble */ int count/* number of level of pointers */ in
t size/* amount of memory n /* check to see if symbol is define */ if (findl
oc(sname) findglb(sname)) cifFALSE else cifTRUE /**/ /*#ifdef*/ /**/ doi
fdef() char snamenamesize int lval2 /* check to see if constant */ blan
ks() if (!constant(lval)) cifFALSE return /* check to see if vaild symb
ol*/ if (!symname(sname)) error("invaild identifier") kill() /* check t
o see if symbol is define */ if (findloc(sname) findglb(sname)) cifTReeded f
or varble */ int value/* used to hold value for offset */ char *ptr/* pointer
to free slot in symbol table */ /* check to see if subscript */ if (match(""
)) /* add 1 to inderict count */ ++count /* check to see null subscript
*/ if (sizeneedsub()) /* subscript size not null */ if (identtyppointer)
/* array of pointer *tempsize */ sizesize+size else /* array tempsize
*/ identtyparray if (typcint) sUE else cifFALSE /**/ /*Close the output f
ile*/ /**/ closeout() if (output) /* if open mark end, close it */ putc(26
,fout) fflush(fout) fclose(output) output0 /* mark as closed */ /**
/ /*Declare a static variable*/ /*(i.e. define for use)*/ /**/ /* makes an e
ntry in the symbol table so subsequent */ /* references can call symbol by nam
e */ declglb(typ) /* typ is cchar or cint */ int typ int j int count
chizesize+size else /* null size subscript */ identtyppointer size2
else /* no subscript */ if (identtyppointer) size2 else if (typ cint) s
ize2 else size1 /* add data element to symbol table */ switch(classid) /
* global symbol */ case statik if (glbptrendglb) error("global symnol table
overflow") return 0 ptrglbptr glbptr+symsiz valuesize break /* stack
localar snamenamesize while(1) count0 if (endst()) return if(match("*"))
jpointer ++count while(ch()'*') ++count gch() else jvariable if (!
symname(sname)) illname() if(findglb(sname)) multidef(sname) dataparse(sname,t
yp,statik,j,count) if (match(",")0) return /* more */ /**/ /* Declar
e local variables*/ /* (i.e. define for use)*/ /**/ /* works just like "
declglb" but modifies mach R varble */ case stkloc spmodstk(sp-size) value
sp if (locptrendloc) error("local symbol table overflow") return 0 ptrloc
ptr locptr+symsiz break /* arg stack */ case stkarg valueargstk argstk-
2 if (locptrendloc) error("local symbol table overflow") return 0 ptrlocp
tr locptr+symsiz break /* file in symbol table entry */ strcpy(ptr+name,sn
ame) ptridentidenttyp ptrtyaration") kill() return if(ptrfindglb(n))
/* already in symbol table */ if (ptrident ! function) multidef(n) /* alrea
dy variable by that name */ else if(ptroffset function) multidef(n) /* alread
y function by that name */ else ptroffsetfunction csect(n) /* otherwise w
e have what was earlier*/ /* assumed to be a function */ /* if not in table
, define as a function now */ else /* fill in gobal symbol table */ ifpetyp
ptrstorageclassid ptroffsetvalue ptroffset+1value8 ptrindcntcount return TR
UE /* a"RO" ...ESCAPE,R,O 8 N S "H" CURSOR LEFT 8 C "U" CURSOR C
OLUMN 0 13 C "'#9D'" HOME... E #9D"H" ...ESCAPE,H 66 N S C "'#9E'" EXPA
ND ESC KEY... E #9E "" ...ESCAPE,ESCAPE (glbptrendglb) error("gobal symb
ol table overflow") else ptrglbptr glbptr+symsiz strcpy(ptr+name,n) ptride
ntfunction ptrtypeint ptroffsetfunction ptroffset1 ptrindcnt ptrstorage0
csect(n) argstk0 /* init arg count */ while(match(")") 0) /* t
hen count args */ /* any legal name bumps arg count */ if (symname(n)) argstka
rgstk+2 else error("illegal argument name") junk() blanks() /* if not clo
sing paren, should be a comma */ if( streq(line+lptr,")") 0) if(match(",")0)
error("expected comma") if(endst())break locptrstartloc/* "clear" local
symbol table*/ sp0 /* preset stack ptr */ while(argstk) /* now let user de
clare what types of things */ /* those arguments were */ if (amatch("char
",4)) getarg(cchar) ns() else if (amatch("int",3)) getarg(cint) ns()
else #ifndef TRUE/* see if need include file */ #include c.def #endif
/**/ /*Get required array size*/ /**/ /* invoked when declared variable is
follwed by "" */ /* this routine makes subscript the absolute */ /*
size of the array. */ needsub() int num1 if (match("")) return 0/* null siz
e */ if (number(num)0) /* go after a number */ error("must be constant") /
* it isn't */ while(ch() ! ',' && ch() ! '' && ch()) gch() return 1 error("
wrong number args") break if(statement()!streturn) /* do a statement, b
ut if */ /* it's a return, skip */ /* cleaning up the stack */ modstk(0) ret
() sp0 locptrstartloc dumplits() litlabgetlabel() /* */ /* D
eclare argument types */ /* */ /* called from "newfunc" this routine add
s a entry in the */ /* local symbol table for each named argument */ geta
rg(t) /* t cchar or cint */ int t if (num00) error("negative size
illegal") num0(-num0) needbrack("")/* force single dimension */ return num0
/* and return size */ /**/ /* Begin a function*/ /**/ /* Called from
"parse" this routine tries to make a function */ /* out of what follows.
*/ newfunc() char nnamesize,*ptr if (symname(n) 0) error("illegal func
tion or declaration") kill() return if (!match("(")) error("illegal funct
ion or decl Rchar nnamesize,cint j,count while(1) count0 if (argstk 0) ret
urn /* no more args */ if (match("*")) jpointer ++count while(ch()'*')
++count gch() else jvariable if (symname(n) 0) illname() if (findloc(n)
) multidef(n) dataparse(n,t,stkarg,j,count) if(endst())return if(match(",")0)
error("expected comma") /* */ /* Statement parser*/ /* */
/* called whenever syntax require/81*/ needcbrace() if (match(""))return FA
LSE error("Missing right brace") junk() return TRUE /* */ /* Co
mpound statement */ /* */ /* allow any number of statements to fall
between "" */ compound() ++ncmp /* new level open */ while(match("")0) if(
eof) return else statement() --ncmp /* close current level */ /* */ /
* "if" statement */ /* */ doif() int flev,fsp,flab1,flab2 flevl
ocptrs */ /* a statement. */ /* this routine performs that stat
ement */ /* and returns a number telling which one */ statement() if
(!ch() && eof) return else if(amatch("char",4)) declloc(cchar) ns() else
if(amatch("int",3)) declloc(cint) ns() else if(match("")) compound() else
if(amatch("if",2)) doif() lastststif else if(amatch("while",5)) dowhile
() lastststwhile else if (amatch("for",3)) dofor() /* record current
local level */ fspsp /* record current stk ptr */ flab1 getlabel() /* get labe
l for false branch */ test(flab1) /*get expression, and branch false */ sta
tement() /* if true, do a statement */ spmodstk(fsp) /* then clean up the st
ack */ locptrflev /* and deallocate any locals */ if (amatch("else",4)0)/*
if...else */ /* simple "if"...print false label */ sprintlabel(flab1) return
/* and exit */ /* an "if...else" statement. */ jlastststfor else if (ama
tch("switch",6)) doswitch() lastststswitch else if(amatch("return",6)) d
oreturn() ns() lastststreturn else if(amatch("break",5)) dobreak() ns()
lastststbreak else if(amatch("continue",8)) docont() ns() lastststcont
else if(match("")) else if(match("#asm")) doasm() ns() lastststasm /*
if nothing else, assume it's an expression */ else expression() ns() ump(fl
ab2getlabel()) /* jump around the false code */ sprintlabel(flab1) /* print
true label */ statement()/* and do else clause */ spmodstk(fsp)/* then clean u
p stack ptr */ locptrflev/* dellocate locals */ sprintlabel(flab2)/* print tru
e label */ /* */ /* "while" statement */ /* */ dowhil
e() int quewqsiz /* allocate local queue */ quewqsymlocptr /* reco
rd local level */ quewqspsp /* and stk ptr */ lastststexp return lastst
/* */ /* Semicolon enforcer */ /* */ /* called whenever
syntax requires a semicolon */ ns() if(match("")0)error("missing semicolon"
) /**/ /*need semicolon*/ /*writtenby MikeBernson1/81*/ /**/ needsem() i
f (match(""))return FALSE error("Missing semicolon") junk() return TRUE /*
*/ /*need opening parn*/ /*writtenby MikeBernson1/81*/ needoparn() if (mat
ch("("))quewqloop/* and looping label */ quewqendgetlabel()/* continue label */
quewqlabgetlabel()/* and exit label */ addwhile(que)/* add to looping stack*/
sprintlabel(quewqloop)/* loop label */ test(quewqlab)/* see if true */ state
ment()/* if so, do a statement */ jump(quewqloop)/* loopto label */ sprintlabe
l(quewqlab)/* exit label */ locptrquewqsym/* deallocate locals */ spmodstk(que
wqsp)/* clean up stkptr */ delwhile()/* deletreturn FALSE error("Missing left
parnthis") junk() return TRUE /**/ /*need closing parn*/ /*writtenby Mike
Bernson1/81*/ needcparn() if (match(")"))return FALSE error("Missing right
parnthis") junk() return TRUE /**/ /*need opening brace*/ /*writtenby Mik
eBernson1/81*/ needobrace() if (match(""))return FALSE error("Missing left
brace") junk() return TRUE /**/ /*need closing brace*/ /*writtenby MikeBe
rnson1 Re queueentry */ /**/ /*"Switch" statement*/ /**/ /*written by Mik
e Bernson 1/81*/ /**/ doswitch() int valueSWITCHMAX /* value for case stat
emant */ int labelSWITCHMAX /* value for each label */ int count,tenp /* numb
er of switches */ int endlabel /* label for default */ int labelswitch/* used
for switch label */ int temp,val2 int quewqsiz/* local que area */ count0/*
number of case statements */ quewqsymlocptr/* local va/ quewqbodygetlabel()/*
body for cody */ addwhile(que)/* add while to loop que */ if (needoparn()) /*
check for open parn */ delwhile()/* delete for entry from que */ return exp
ression()/* initexpress*/ if (needsem()) /* check for semcol */ delwhile()/* d
elete que entry */ return sprintlabel(quewqloop)/* control looplabel */ sta
tusexpression()/* loop control express */ testjump(quewqlab,status)/* see if ex
it time */ jump(quewqbodyble pointer */ quewqspsp/* save current stack pointer
*/ endlabel/* default exit label */ quewqloop/* looping label */ quewqlab/*
loop exit varble */ quewqendgetlabel()/* continue label */ addwhile(que)/* add
to while stack */ if (needoparn()) /* check to seeif"(" exits */ delwhile()/*
no delete switch entry and */ return/* return out of switch*/ expression()/
* expression for switch */ push() if (needcparn()) /* check for ")" */ de)/*
not time to exit do body */ if (needsem()) /* check for semcol */ delwhile()/*
delete 1 queentry */ return sprintlabel(quewqend)/* print end of loop */ e
xpression()/* end loop expression */ jump(quewqloop)/* do loop control expressi
on */ if (needcparn()) delwhile() return sprintlabel(quewqbody) statemen
t() jump(quewqend) sprintlabel(quewqlab) locptrquewqsym spmodstk(quewqsp) d
elwhile() /* */ /* "lwhile()/* not fould detele queentry */ retu
rn/* and exit switch statemant */ if (needobrace()) delwhile() return j
ump(labelswitchgetlabel()) spsp+2 while(1) if (amatch("case",4)) if (co
nstexp(val) 0 ) error("Bad constant") continue if (countSWITCHMAX-2) va
luecountval0 sprintlabel(labelcount++getlabel()) else error("Too many case s
tatments") if (!match("")) error("Missing colon") return" statement */ /
* */ doreturn() /* if not end of statement, get an expression */ if(en
dst()0)expression() modstk(0) /* clean up stk */ ret() /* and exit funct
ion */ /* */ /* "break" statement */ /* */ dobreak()
int *ptr /* see if any "whiles" are open */ if ((ptrreadwhile())0) return
/* no */ modstk(ptrwqsp) /* else clean up stk ptr */ jump(ptrwqlab)
/* jump to exit label */ /* else if (amatch("default",7)) endlabelgetl
abel() sprintlabel(endlabel) if (!match("")) error("Missing colon") else if
(match("")) jump(quewqlab)/* jump past switch data */ temp0 sprintlabel(lab
elswitch) execswitch(count,labelswitchgetlabel(),endlabel) sprintlabel(labelsw
itch) while(tempcount) defword() outdec(valuetemp) outstr(",") printlabel(
labeltemp++) nl() delwhile() sprintlabel(quewqlab) */ /* "cont
inue" statement */ /* */ docont() int *ptr /* see if any "whiles"
are open */ if ((ptrreadwhile())0) return /* no */ modstk((ptrwqsp))
/* else clean up stk ptr */ jump(ptrwqend) /* jump to end label */ /*
*/ /* "asm" pseudo-statement */ /* */ /* enters mode where ass
embly language statements are */ /* passed intact through parser */ do
asm() cmode0/* mark mode as "asm" */ whilelocptrquewqsym spmodstk(quewqsp)
return else statement() /**/ /*"for" statement*/ /**/ /*written by Mik
e Bernson 1/81*/ /**/ dofor() int quewqsiz/* local que area */ int status/
* machine status after expession */ quewqsymlocptr /* save locaL LEVEL */
quewqspsp/* and stack pointer */ quewqloopgetlabel()/* looping label */ quewq
labgetlabel()/* loop exit varble */ quewqendgetlabel()/* loop end label * R(1)
inline() /* get and print lines */ if (match("#endasm")) break /* unt
il... */ if(eof)break outstr(line) nl() kill() /* invalidate line */ cmod
e1 kill() /* invalidate line */ cmode1 */ puts("end l
oopn")/* count is now zero. Call puts to * output staring to screen */
while(cmacqk++) keepch(c) else k0 while(csnamek++) keepch(c) else kee
pch(gch()) keepch(0) if(mptrmpmax) error("line too long") lptrmptr0 while(
linelptr++mlinemptr++) lptr0 addmac() char snamenamesize int k if (symn
ame(sname) 0) illname() kill() return k0 while(putmac(snamek++)) while
(isspace(ch())) gch() while(putmac(gch())) if (macptr macmax) error("marco ta
ble full") putmac(c) char c macqmacptrc if(macptr macmax) macptr++ ret
urn c findmac(sname) char *sname int k k0 while(kmacptr) if(astreq(sn
ame,macq+k,namemax)) while(macqk++) return k while(macqk++) while(macqk++
) return 0 outbyte(c) char c if (!c) return 0/* if null return */ if
(output) if (putc(c,fout) ERROR) closeout() error("Output file error")
else putch(c) return c/* start of cc4 */ #ifndef TRUE/* check to see if need
include file */ #include C.DEF #endif keepch(c) char c mlinemptrc if (m
ptrmpmax) mptr++ return c preprocess() int k char c,snamenamesize if (!
cmode) return mptrlptr0 while(!cif && !eof) if (match("#endif")) cifTRUE el
se inline() if (ch() '#') match("#endif") while(ch()) if (isspace(ch()))
keepch(' ') while(isspace(ch())) gch() else if (ch( outstr(ptr) char *
ptr while(outbyte(*ptr++)) nl() outbyte('r') outbyte('n') tab()
outbyte('t') col() outbyte('') error(ptr) char *ptr char buff80 in
t j,k strcpy(buff,ptr) strcat(buff," "") jlptr-10 if (j0) j0 kstrlen(buff)
while(j-15lptr && linej) buffk++linej++ buffk0 strcat(buff,""") errorprint(
buff) return errorprint(ptr) char ptr char buff80 int k,j comment()o)
'') keepch(ch()) gch() if (!ch()) error("missing escape character") brea
k keepch(ch()) gch() else if(ch()'"') keepch(ch()) gch() while(ch()!'
"') if(!ch()) error("missing quote") break if (ch() '') keepch(gc
h()) keepch(gch()) gch() keepch('"') else if(ch()''') keepch(''') gch
() while(ch()!''') if(!ch()) error("missutstr(line)nl()comment() k0 whi
le(klptr) if(linek9) tab() else outbyte(' ') ++k outbyte('') nl()comment
()outstr("****** ") outstr(ptr) outstr(" ******") nl() if (input2) strcp
y(buff,"Error in include file at line ") sdec(buff+strlen(buff),line2) else
strcpy(buff,"Error at line ") sdec(buff+strlen(buff),line1) strcat(buff,"
") strcat(buff,ptr) strcat(buff,"n") pl(buff) ++errcnt ol(ptr) char
ptring apostrophe") break if (ch() '') keepch(gch()) keepch(gch())
gch() keepch(''') else if((ch()'/') && (nch()'*')) inchar() inchar() whi
le(!((ch()'*') && (nch()'/'))) if(ch()0)inline() else inchar() if(eof)break
inchar() inchar() else if(an(ch())) k0 while(an(ch())) if(knamemax)s
namek++ch() gch() snamek0 if(kfindmac(sname)) R ot(ptr) nl() ot(p
tr) char ptr tab() outstr(ptr) streq(str1,str2) char str1,str2 int k
k0 while(str2k) if (str1k!str2k) return 0 k++ return k astreq(str1,s
tr2,len) char str1,str2int len int k k0 while (klen) if ((str1k)!(str2k)
)break if(!str1k)break if(!str2k)break k++ if (an(str1k))return 0 if (an(
str2k))return 0 return k match(lit) char *lit int k /****************
****************************************/ /**/ /*expression handler */ /**/
/*table below show precedence of operator*/ /**/ /****************************
****************************/ /*operator* routine* associativity*/ /**********
**********************************************/ /* ++ -- - * &* heir10* left to
right*/ /********************************************************/ /** / %* h
eir9* rigth to left*/ /*************************blanks() if (kstreq(line+lptr,
lit)) lptrlptr+k return 1 return 0 amatch(lit,len) char *litint len
int k blanks() if (kastreq(line+lptr,lit,len)) lptrlptr+k while(an(ch()))
inbyte() return 1 return 0 blanks() while(1) while(ch()0) inline()
preprocess() if (eof) break if(isspace(ch())) gch() else return outd
ec(number) int number char buff10 outstr(sdec(buff,number)) sd**********
*********************/ /*+ -* heir8* left to right*/ /************************
********************************/ /* * heir7* left to right*/ /***************
*****************************************/ /* * heir6* left to right*/ /****
****************************************************/ /* !* heir5* left to rigt
h */ /********************************************************/ /*&* heir4* le
ft to rigth */ /*********************************************ec(string,number)
char string int number int k,zs,j char c jzs0 k10000 if (number0) num
ber(-number) stringj++'-' while (k1) cnumber/k + '0' if (c ! '0' k 1 z
s) zs1 stringj++c numbernumber%k kk/10 stringj0 return string /**
/ /*to output number as a hex value*/ /**/ /*written june 28, 1981 by Mike Be
rnson*/ /**/ outhex(value) int value int postion cha***********/ /** he
ir3* left to right */ /********************************************************
/ /** heir2* left to right */ /***********************************************
*********/ /*&&* heir1e* left to right */ /***********************************
*********************/ /** heir1d* left to right */ /*************************
*******************************/ /* - + * % * heir1 * left to right */ /*/ &
***/ /******************************************r *hex hex"0123456789abcde
f" for(postion16 postion 0 postion -4) outbyte(hex(valuepostion) & 0x0f) ou
tbyte('h') ,FNxgGoy*$&&&&&**************/ #ifndef TRUE/* check to see if need
include file */ #include C.DEF #endif expression() int lvallvalsi
ze,status statusFALSE rvalue(lval,heir1(lval,&status)) return status heir1
(lval,status) int lval int *status int k char *ptr kheir1
d(lval,status) if (ch() ! '' && nch() ! '') return k *statusFALSE sw
itch(ch()) /* just an equal */ case '' gch() equal(lval,k) break /*
add Rvalue then store */ case '+' case '-' gch()gch() equalexp(lval,k)
sizeadjust(lval) if (ch() '-') sub() else add() k1 break case '*' gch()
gch() equalexp(lval,k) mult() k1 break case '/' gch()gch() equalexp(lv
al,k) div() k1 break case '%' gch()gch() equalexp(lval,k) mod() k1
break case '&' gch()gch() equalexp(lval,k) and() k1&")) push() rva
lue(lval2,heir5(lval2,status)) and() *statusTRUE else return 0 heir5(l
val,status) int lval int *status int k,lval2lvalsize kheir6(lval,status)
blanks() if ((streq(line+lptr,"") 0) && (streq(line+lptr,"!")
0)) return k rvalue(lval,k) while(1) if (match("")) push(
) rvalue(lval2,heir6(lval2,status)) eq() *statusTRUE else if (match("!"))
push break case '' gch()gch() equalexp(lval,k) xor() k1 break c
ase '' gch()gch() equalexp(lval,k) or() k1 break default return k s
tore(lval,k) return 0 /**/ /*written by Mike Bernson 1/81*/ /**/ heir1d(l
val,status) int lval int *status int k,lval2lvalsize int label kheir1e(lv
al,status) blanks() if (ch() ! '' nch() ! '') return k rvalue(lval,k) () r
value(lval2,heir6(lval2,status)) ne() *statusTRUE else return 0 heir6(
lval,status) int lval int *status int k,lval2lvalsize kheir7(lval,status)
blanks() if ((streq(line+lptr,"") 0) && (streq(line+lptr,"") 0) && (streq(
line+lptr,"") 0) && (streq(line+lptr,"") 0)) return k if (streq(line+lptr,""
)) return k if (streq(line+lptr,"")) return k rvalue(lval,k) while(1) if (m
atch("")) push() rlabelgetlabel() while(1) if (match("")) truejump(label
,*status) *statusTRUE rvalue(lval2,heir1e(lval2,status)) else sprintlabel
(label) return 0 /**/ /*written by Mike Bernson 1/81*/ /**/ heir1e(lv
al,status) int lval int *status int label int k,lval2lvalsize kheir2(lval
,status) blanks() if (ch() ! '&' nch() ! '&') return k rvalue(lval,k) label
getlabel() while(1) if (match("&&")) value(lval2,heir7(lval2,status)) *sta
tusTRUE if (cptrlval0) if(cptridentpointer) ule() continue if (cptrlval2
0) if(cptridentpointer) le() continue le() else if (match("")) push(
) rvalue(lval2,heir7(lval2,status)) *statusTRUE if (cptrlval0) if (cptrident
pointer) uge() continue if (cptrlval20) if (cptridentpointer) uge() te
stjump(label,*status) *statusTRUE rvalue(lval2,heir2(lval2,status)) else
sprintlabel(label) return 0 heir2(lval,status) int lval int *status
int k,lval2lvalsize kheir3(lval,status) blanks() if (ch() ! '' nch() '' nc
h() '') return k rvalue(lval,k) while(1) if (match("")) push() rvalue(lva
l2,heir3(lval2,status)) or() *statusTRUE else return 0 heir3(lval,stat
us) int continue ge() else if ((streq(line+lptr,"")) && (streq(line+lptr
,"")0)) inbyte() push() rvalue(lval2,heir7(lval2,status)) *statusTRUE if (
cptrlval0) if (cptridentpointer) ult() continue if(cptrlval20) if (cptri
dentpointer) ult() continue lt() else if ((streq(line+lptr,"")) && (st
req(line+lptr,"") 0)) inbyte() push() rvallval int *status int k,lval2l
valsize kheir4(lval,status) blanks() if (ch() ! '' nch() '') return k rva
lue(lval,k) while(1) if (match("")) push() rvalue(lval2,heir4(lval2,status
)) xor() *statusTRUE else return 0 heir4(lval,status) int lval int *
status int k,lval2lvalsize kheir5(lval,status) blanks() if (ch() ! '&' nc
h()'&' nch() '') return k rvalue(lval,k) while(1) if (match(" Rue(lval2,h
eir7(lval2,status)) *statusTRUE if (cptrlval0) if (cptridentpointer) ugt()
continue if (cptrlval20) if (cptridentpointer) ugt() continue gt()
else return 0 #,"Grabando pistas..."###,()"ERROR DE CARGA EN LA PISTA " #,
"Intente de nuevo con otro volumen."S if(match("++")) if (!(kheir10(lval,count
,status))) needlval() return LOADED lval1 + *count address(lval,k) prein
c(lval) return LOADED else if (match("--")) if (!(kheir10(lval,count,statu
s))) needlval() return LOADED lval1 + *count address(lval,k) predec(lval
) *statusTRUE return LOADED else if (match("-")) if (isdigit(nch())) cons
tant() else kheir10(lval,count,status) rvalue(lval,/* start of cc6 */ #ifnd
efTRUE/* see if need include file */ #include C.DEF #endif heir7(lval,statu
s) int lval int *status int k,lval2lvalsize kheir8(lval,status) blanks()
if (!streq(line+lptr,"") && !streq(line+lptr,"")) return k rvalue(lval,k) wh
ile(1) if (match("")) push() kheir8(lval2) rvalue(lval2,k) asr() *status
FALSE else if (match("")) push() kheir8(lval2) rvalue(lval2,k) k) neg()
*statusTRUE return LOADED else if (match("*")) ++*count kheir10(lval,
count,status) rvalue(lval,k) lval1 + *count *count0 *statusFALSE return ADD
RESS else if (match("&")) kheir10(lval,count,status) *statusFALSE if (k
0 lval0) error("illegal address") return LOADED else if (lval1) return LO
ADED else immed() outstr(ptrlval0) nl() return LOADED asl() *statusFALS
E else return 0 heir8(lval,status) int lval int *status int k,lval2
lvalsize kheir9(lval,status) blanks() if ((ch() ! '+' && ch() ! '-') nch()
'') return k rvalue(lval,k) while(1) switch(ch()) /* add last item to n
ext item */ case '+' push() gch() kheir9(lval2,status) rvalue(lval2,k) si
zeadjust(lval) add() *statusFALSE break /* subtract next item from else
if (match("!")) rvalue(lval,heir10(lval,count,status)) nlogical() *statusTR
UE return LOADED else kheir11(lval,status) movmem(lval,lval2,lvalsize*2)
lval21 + *count if (match("++")) if(k LOADED) needlval() return LOADED
address(lval,k) postinc(lval) *statusTRUE return LOADED else if (match("
--")) if (k LOADED) needlval() return LOADED address(lval,k) pcurrent
item */ case '-' push() gch() kheir9(lval2,status) rvalue(lval2,k) sizead
just(lval) sub() *statusFALSE break /* operator not "+" or "-" */ default
return 0 heir9(lval,status) int lval int *status int k,lval2lvals
ize,temp temp0 kheir10(lval,&temp,status) blanks() if ((ch() ! '*' && ch()
!'/' && ch() ! '%') nch() '') return k rvalue(lval,k) while(1) if (match
(ostdec(lval) *statusTRUE return LOADED else return k *s*u1#"u*£+"£b1w
o12w&!o 1 . &7O*o"*")) push() kheir10(lval2,&temp,status) rvalue(lval2,k) m
ult() *statusFALSE else if (match("/")) push() kheir10(lval2,&temp,status
) rvalue(lval2,k) div() *statusFALSE else if (match("%")) push() kheir1
0(lval2,&temp,status) rvalue(lval2,k) mod() *statusFALSE else return 0
heir10(lval,count,status) int lval int *count int *status int k,lval2lva
lsize char *ptr,flag R #ifndefTRUE/* check to see if include file is neede
d */ #include C.DEF #endif /* Begin a comment line for the assembler */ co
mment() outbyte('') /* Print all assembler info before any code is generat
ed */ header() outstr("starttcsect")nl() ol("jmptinit") ol("extrntand,asl,
asr,comp,com,div") ol("extrntgchar,gint,incdec") ol("extrntmult,neg,nlog,or,pi
nt,sub") ol("extrntsxt,ucomp,xor,init,switch") ol("extrntgintss,gintsl,gcharss
,ess on the top of the stack */ putstk(typeobj) char typeobj pop() putsec(
typeobj) /* store the specified object type in the primary register */ /*at
the address in the secondary register*/ putsec(typeobj) char typeobj if (ty
peobj cchar) ol("movta,l") ol("staxtd") else call("pint") /**/ /*writ
ten by Mike Bernson 6/9/81*/ /**/ /*store hl value after call plus*/ /*curren
t stack*/ /**/ putmemstack(lval,typ) int *lval chargcharsl") ol("extrntpin
tss,pintsl,pcharss,pcharsl") outstr("eqtequtcomp")nl() outstr("getequtcomp+3
5h")nl() outstr("gttequtcomp+1ah")nl() outstr("letequtcomp+43h")nl() outstr("
lttequtcomp+28h")nl() outstr("netequtcomp+0dh")nl() outstr("ugetequtucomp+6ch"
)nl() outstr("ugttequtucomp+51h")nl() outstr("uletequtucomp+79h")nl() outstr(
"ulttequtucomp+5fh")nl() outstr("preinctequtincdec")nl() outstr("postincteq
typ int off char *ptr ptrlval0 offptroffset+ptroffset+1*256+lval2-sp
if (typ cint) if (isbyte(off)) call("pintss") else call("pintsl") else if (
isbyte(off)) call("pcharss") else call("pcharsl") defvalue(off) /* Fetch t
he specified object type indirect through the */ /* primary register into
the primary register */ indirect(typeobj) char typeobj if (typeobj cchar)
call("gchar") else call("gint") /* add primary and secoutincdec+10h")nl() o
utstr("predectequtincdec+08h")nl() outstr("postdectequtincdec+1ah")nl() /* P
rint any assembler stuff needed after all code */ trailer() ol("end") /**
/ /*rewritten 4/30/81 by Mike Bernson*/ /**/ /* Fetch a static memory cell i
nto the primary register */ getmem(sname,typ,off) char *sname int typ int
off if(typcchar) ot("ldat") outstr(sname) if (off) outstr("+") outdec(
off) nl() ndary registers */ addaddress() ol("dadtd") /* Swap the pri
mary and secondary registers */ swap() ol("xchg") /* Print partial instru
ction to get an immediate value */ /* into the primary register */ immed(
) ot("lxith,") /* Push the primary register onto the stack */ push() o
l("pushth") spsp-2 /* push the secondary registeron stack */ pushs() ol(
"pushtd") spsp-2 /* Pop the top of the stack into the secondary register */
pop() call("sxt") else ot("lhldt") outstr(sname) if (off) outstr("+")
outdec(off) nl() /**/ /*written by Mike Bernson 6/8/81*/ /**/ /*loa
d a byte offset from current stack*/ /**/ getmemstack(lval,typ) int *lval c
har *typ char *ptr int off ptrlval0 offptroffset+ptroffset+1*256+lval2-
sp if (typ cint) if (isbyte(off)) call("gintss") else call("gintsl") else
if (isbyte(off)) ca ol("poptd") spsp+2 /* Swap the primary register and th
e top of the stack */ swapstk() ol("xthl") /* call routine and subtract 2
from stack pointer */ ccall(sname) char *sname spsp+2 call(sname) /* Ca
ll the specified subroutine name */ call(sname) char *sname ot("callt") ou
tstr(sname) nl() /* Return from subroutine */ ret() ol("ret") /* Perf
orm subroutine call to calue on top of stack */ callstk() immed() outstr("S
+5") nll("gcharss") else call("gcharsl") defvalue(off) /**/ /*rewritten 4/
30/81 By Mike Bernson*/ /**/ /* Store the primary register into the specified*
/ /*static memory*/ putmem(sname,typ,off) char *sname int typ int off if
(typcchar) ol("movta,l") ot("stat") else ot("shldt") outstr(sname) if (
off) outstr("+") outdec(off) nl() /* Store the specified object type
in the primary register */ /* at the addr Rl() swapstk() ol("pchl") sp
sp+2 /* Jump to specified internal label number */ jump(label) int label
ot("jmpt") printlabel(label) nl() /* test the primary register and jump if
treu to label */ truejump(label,status) int label int status if (!status)
ol("movta,h") ol("oratl") ot("jnzt") printlabel(label) nl() /* T
est the primary register and jump if false to label */ testjump(label,status)
int label int status if (!st #ifndef TRUE /* see if include needed */ #
include C.DEF #endif heir11(lval,status) int *lval int *status in
t k char *ptr int lval2lvalsize kprimary(lval,status
) ptrlval0 blanks() switch(ch()) /* subsc
ript varble */ case '' gch() /* eat '' */ switch(p
trident) /* array of elements */ case array *statusFALSE
++lval1 atus) ol("movta,h") ol("oratl") ot("jzt") printlabel(label) nl
() /* routine to search switch table */ execswitch(count,label,endlabel) in
t count/* number of case statement in switch */ int label/* label for switch ta
ble */ int endlabel/* label to execute when table search ends and not found */
ot("lxitd,") printlabel(label) nl() ot("lxith,") printlabel(endlabel) nl
() ot("mvitb,") outdec(count) nl() ot("jmptswitch") nl() if (const
exp(lval2) && ch()'') lval2datasize(lval)* lval20 ne
edbrack("") return NOTLOADED else expressi
on() sizeadjust(lval) swap() address(lval,NOTLOADED)
addaddress() needbrack("") return ADDRESS
/* pointer to elements */ case pointer *st /* output extrn
and symbol name */ extrn(n) char *n outstr("textrnt") outstr(n)nl() /
* output control section name and key word */ csect(n) char *n outstr(n)
col() ol("CSECT") /* output data section name and key word */ dsect(n) c
har *n outstr(n) col() ol("dsect") /* define value using min amount of s
troage space */ defvalue(num) int num if (isbyte(num)) defbyte() else defwo
rd() outdec(num) nl() /* check to see if nuatusFALSE if (constex
p(lval2) && ch()'') immed() outdec(datasize(lval)* lval20) nl() swap() rv
alue(lval,2) addaddress() else expression()
sizeadjust(lval) swap() rvalue(lval,2) addaddress(
) needbrack("") lval1 + 1 return ADDRESS
/* not a vaild ident for mber is a byte */ isbyte(num) int num return (num
0 && num 255) /* Print pseudo-op to define a byte */ defbyte() ot("db
t") /* Print pseudo-op to define storage */ defstorage() ot("dst") /*
Print pseudo-op to define a word */ defword() ot("dwt") /* Modify the sta
ck pointer to the new value indicated */ modstk(newsp) int newsp int k kne
wsp-sp if (!k) return newsp if ( k 0) if(k7) if (k&1) ol("inxtsp") k-s
ubscript */ default suberror(ptr) return LOADED
/* a function call */ case '(' *statusFALSE
gch() /* eat '(' */ callfunction(lval0) return LOADED
/* not a subscripted or function call (not for this level */ defaul
t return k primary(lval,status) int *lval int
*status char *ptr char snamenamesize - while(k) ol("po
ptb") kk-2 return newsp if (k0) if (k-7) if (k&1) ol("dcxtsp") k
++ while(k) ol("pushtb") kk+2 return newsp swap() immed() outdec
(k) nl() ol("dadtsp") ol("sphl") swap() return newsp /*Double the primar
y register*/ doublereg() ol("dadth") R int num1 in
t k /* clear lval array for use */ lval0 lval1
lval20 if(match("(")) kheir1(lval,status) nee
dbrack(")") return k *statusFALSE if (symname(sna
me)) if ((lval0findloc(sname))) return 2 if ((lval0ptrfindglb
(sname))) if (ptrident ! function) return 2 if (ch() '(')
if (!(ptrfindglb(sname))) *ptr if (!(ptrlval0) k ! NOTLOADED) re
turn switch(ptrstorage) /* global symbol */ case s
tatik immed() outstr(ptr+name) if (lval2)
outstr("+") outdec(lval2) nl() break
/* local symbol */ case stkloc case stkarg imm
ed() outdec((ptroffset+ptroffset1*256+lval2)-sp) nl()
if (glbptrendglb) error("global symbol table ofverflow")
else ptrglbptr glbptr+symsiz strcpy(ptr+
name,sname) ptridentfunction ptrtypecint ptroffset
ptroffset1 ptrstorage ptrindcnt0 l
val0ptr return 2 else undefine(sname)
return 0 ot("dadtsp") nl() break
/**/ /*date written 6/6/81 by Mike Bernson*/ /**/ /*check to see if stati
c load or store*/ /**/ loadstatic(lval,k) int *lval int k char *ptr pt
rlval0 if (ptrstorage statik && k NOTLOADED) return TRUE else return FALSE
/* */ /* date written 4/30/81 By Mike Bernson */ /* */
store(lval,k) int *lval int k char *ptr p
if (constant(num)) return 0 else err
or("invalid expression") junk() return 0 /*
*/ /* written 4/23/81 by Mike Bernson */ /* */ si
zeadjust(lval) int *lval int size sizedatasize(lval)
if (size 1) return if (size 2) doublereg()
/* */ /* writttrlval0 if (k0) return sw
itch(ptrstorage) /* local or arg type */ case stkloc
case stkarg switch(ptrident) /* ident array */
case array if (lval1 ptrindcnt) if (kADDRESS) putstk(ptrtype) else
putmemstack(lval,ptrtype) break /* ident is an pointer */
case pointer if (lval1 ptrindcnt) if (kADDRESS) putsen 4/23/8
1 By Mike Bernson */ /* */ datasize(lval) int *lval
char *ptr if (!(ptrlval0)) return 0 switch(ptrident)
/* array of elements */ case array switch(ptrtype)
/* char type */ case cchar return lchar /* in
t type */ case cint return lint /* point
er to elements */ case pointer tk(ptrtype) else putmemstack(lval
,ptrtype) elseif (kADDRESS) putstk(cint) else putmemstack(lval,cint)
break /* ident is a variable */ case variable
if (kADDRESS) putstk(ptrtype) else putmemstack(lval,ptrtype) break
break /* static varbles */ case statik
switch(ptrident) /* array */ case array
i if (lval1 ptrindcnt && ptrindcnt 1) return lpoint else
switch(ptrtype) /* type char */ case cchar return
lchar /* type int */ case cint return lint
/* just a plain variable */ case variable return 1
/* */ /* written 4/23/81 By Mike Bernson */ /* */
address(lval,k) int *lval char Rf (lval1 ptrindcnt) if
(k1) putstk(ptrtype) else putmem(ptr+name,ptrtype, lval2)
break /* pointer */ case pointer if (lval1 pt
rindcnt) if (k1) putstk(ptrtype) else putmem(ptr+name,ptrtype,
lval1) else if (k1) putstk(cint) else putmem(ptr+name
,cint,0) break /* variable */ case variabletmem(ptr
+name,ptrtype,0) break equalexp(lval,k)
int *lval int k char *ptr int lval2lvalsize int status
ptrlval0 /* check to see if vaild lval */ if ((ptr
identarray && ptrindcnt ! lval1) k0 lval0 0) needlval()
return address(lval,k) push() rvalue
(lval,1) push() rvalue(lval2,heir1e if (k1) putstk(ptrtype)
else putmem(ptr+name,ptrtype,0) break
/* */ /* written 4/24/81 By Mike Bernson */ /*
*/ rvalue(lval,k) int *lval int k char *ptr ptrlval0
if (k0) return switch(ptrstorage) /* local or arg t
ype */ case stkloc case stkarg switch(ptrident)
/* iden(lval2,&status)) /* */ /* written 4/
9/81 By Mike Bernson */ /* */ equal(lval,k) int lval int k
char *ptr int lval2lvalsize int status ptrlval0
/* check to see that is expresstion is array must be element */
if (ptrident array && ptrindcnt ! lval1) needlval() retur
n switch(k) /* data is a constant or value */ t
array */ case array if (lval1 ptrindcnt) if (kADDRESS) indi
rect(ptrtype) else getmemstack(lval,ptrtype) else address(lval,k) bre
ak /* ident is an pointer */ case pointer if (lval1
ptrindcnt) if (kADDRESS) indirect(ptrtype) else getmemstack(lval,ptrtype)
else if (kADDRESS) indirect(cint) else getmemstack(lval,cint)
break case 0 needlval() break /*
address of variable is on stack */ case 1 push() br
eak /* nothing of variable is on stack */ case 2 b
reak rvalue(lval2,heir1(lval2,&status)) test(lab
el) int label int status needbrack("(") statusexpression
() needbrack(")") testjump(label,status) /*
*/ /* /* ident is a variable */ case variable if (kADDRE
SS) indirect(ptrtype) else getmemstack(lval,ptrtype) break
break /* static varbles */ case statik swi
tch(ptrident) /* array */ case array if (lval1 p
trindcnt) if (k1) indirect(ptrtype) else getmem(ptr+name,ptrty
pe, lval2) else written by Mike Bernson 3/80 */ /
* */ constexp(val) int val blanks() if (hex(val)) r
eturn 1 if (number(val)) return 1 if (pstr(val)) return 1
return 0 constant(val) int val if (hex(val)) immed()
else if (number(val)) immed() else if (pstr(val)) immed()
else if (qstr(val)) immed() printlabel(litlab)
outbyte('+') else ret if (k1) indirect(ptrtype) e
lse address(lval,k) break /* pointer */ case pointe
r if (lval1 ptrindcnt) if (k1) indirect(ptrtype) els
e getmem(ptr+name,ptrtype,lval2) else if (k1) indirect(cint)
else getmem(ptr+name,cint,0) break /* variable */
case variable if (k1) indirect(ptrtype) else g Rurn 0
outdec(val0) nl() return 1 hex(val) int
val int check char look2 if (ch() ! '0' (nch() ! '
X' && nch() ! 'x')) return 0 gch() gch() loo
k10 look0toupper(gch()) if (!(checkstrpos("0123456789ABCDEF",l
ook))) error("invaild hex constant") junk() val00
return 1 val0check-1 while(1) look0
toupper(ch()) if (!(checkstrpos("0123456789ABCDEF",look))) ret
urn 1 val0val0*16+check-1 gch() number(va
l) int val int k,minuschar c kminus1 while(k)
k0 if (match("+")) k1 if (match("-")) minus-mi
nus k1 if (!numeric(ch())) return 0
while(numeric(ch())) /* start of c9 */ #ifndefTRUE/* check to see if
include file is needed */ #include C.DEF #endif /*Add the primary and secon
dary registers*/ /*(results in primary) */ add() pop() ol("dadtd") /*Su
btract the primary register from secondary */ /*(results in primary) */ sub()
ccall("sub") /*Multiply the primary and secondary registers */ /*(results
in primary) */ mult() ccall("mult") /*Divide the secondary register by t
he primary */ /* cinbyte() kk*10+(c-'0') if (minu
s0) k-k val0k return 1 pstr(val) int val
int k k0 if (!match("'")) return 0 while(ch() ! '''
&& ch()) k(k&255)*256 + estr() gch() val0k return 1
qstr(val) int val char c if (!match(""")) return
0 val0litptr while (ch() ! '"') if(!ch()) break (qu
otient in primary, remainder in seconday) */ div() ccall("div") /*Compute
remainder (mod) of seconday by primary */ /*(remainder in primary, quotient ie
nt in secondary) */ mod() div() swap() /* Inclusive 'or' the primary and
the secondary registers */ /*(results in primary) */ or() ccall("or") /
* Exxclusive 'or' then primary and the secondary registers */ /*(results in pri
mary)*/ xor() ccall("xor") /*'and' the primary and secondary registers
if(litptrlitmax) error("string space exhausted") while(
ch() !'"' && ch()) estr() return 1 litqlitptr++estr(
) gch() litqlitptr++0 return 1 e
str() char check if (ch() ! '') return gch() gch()
switch(toupper(checkgch())) case 'R' return CR case
'N' return LF case 'B' return BS case */ /*(results in pri
mary) */ and() ccall("and") /*Arithmetic shift right the secondary regist
er number of */ /*times in primary (results in primary ) */ asr() ccall("as
r") /*arithmetic left shift the secondary register number of */ /*times in p
rimary (results in primary) */ asl() ccall("asl") /*From two's complement
of primary register */ neg() call("neg") /*form one's complement of prim
ary register */ com() call("com") preinc(lv 'T' return TB case '
F' return FF if (!isdigit(check)) return check chec
kcheck-'0' while(isdigit(ch())) checkcheck*8+gch()-'0' return
check 2,105,116 db32,97,110,121, Ral) int *lval call("preinc
") incdef(lval) postinc(lval) int *lval call("postinc") incdef(lval)
predec(lval) int *lval call("predec") incdef(lval) postdec(lval) int *
lval call("postdec") incdef(lval) incdef(lval) int *lval char *ptr i
nt value ptrlval0 if (ptrident pointer && ptrindcnt ! lval1) value0x80 els
e value0 valuevalue datasize(lval) if (ptrtype cint && ptrident ! pointer)cl
ink c1 c2 c3 c4 c5 c6 c7 c8 c9.c c1 c2 c3 c4 c8 c9.c -s -r e00 )m!9N#F##V##fo$
Q6 bkFw#6 $R$T!!$R$T",,04,DD,66,05,77,C9' *** COPYRIGHT ADVANTAGE 1985 *****77,C
9' *** COPYRIGHT ADVANTAGE 1985 ****" fla #,""AX "D" #, u(nam(),t(nam(),".
")))b "T" #,nam( valuevalue 0x80 defbyte() outhex(value) nl() /*foll
owing are the conditional operators */ /*they compare the seconday register aga
inst the primary */ /*and put a leteral 1 in the primary if the condition is */
/*true otherwise the clear the primary register */ /*change to not condition
*/ nlogical() call("nlog") /*test for logical and */ land() ccall("la
nd") /*test for logical or */ lor() ccall("lor") /*test for equal */
eq() ccall("eq") /*test for not equal */ ne() ccall("ne") /*test fo
r less than (signed) */ lt() ccall("lt") /*tet for less than or equal to
(signed) */ le() ccall("le") /*test for greater than (signed) */ gt()
ccall("gt") /*test for greater than or or equal (signed) */ ge() ccall("
ge") /*test for less than (unsigned) */ ult() ccall("ult") /*Test for
lees than or equal to (unsigned) */ ule() ccall("ule") /*test/* start of
cc3 */ /**/ #ifndef TRUE/* see if need include file */ #include C.DEF #endif
/*Perform a function call*/ /**/ /* called from heir11, this routine will ei
ther call*/ /*the named function, or if the supplied ptr is*/ /*zero, will cal
l the contents of HL*/ callfunction(ptr) char *ptr /* symbol table entry
(or 0) */ int nargs nargs0 blanks()/* already saw open paren */ if (ptr0)
push()/* calling HL */ while (streq(line+lptr for greater than (unsigned) */ u
gt() ccall("ugt") /*test for greater than or equal to (unsigned) */ uge()
ccall("uge") CD,77,BC,30,18,C5,21,70,01,CD,83,BCEx C1,21,70,01,09,EB,21
,66,AE,06,08,73,23,72,23,10,FA,CD,7A,BC,C9 ,"CALL &140"( ) ,,,, fla TAP#,"CUR
RENT MODE TAPE" DIS#,"CURRENT MODE DISC"1 *,")") 0) if (endst()) break expr
ession()/* get an argument */ if (ptr 0) swapstk() /* don't push addr */ push
()/* push argument */ nargsnargs+2/* count args*2 */ if (match(",") 0) break
needbrack(")") if (ptr) call(ptr) else callstk() spmodstk(sp+nargs) /* c
lean up arguments */ junk() if(an(inbyte())) while(an(ch())) gch() e
lse while(an(ch()) 0) if(ch() 0) break gch() blanks() endst() blan
ks() re Rturn ((streq(line+lptr,"") (ch() 0))) suberror(sname) char *snam
e char msg80 strcpy(msg,"identifier "") strcat(msg,sname) strcat(msg,""
is not a vaild array base") errorprt(msg) while(1) if (endst()) return if (
ch()'') gch() return gch() illname() error("illegal symbol name"
) junk() undefine(sname) char *sname char msg80 strcpy(msg,"undefine id
entifier "") strcat(msg,sname) strcat(msg,"""z ch() return linelptr n
ch() if(ch() 0) return 0 else return(linelptr+1) gch() if
(ch() 0) return 0 else return linelptr++ kill() lptr0 line00 in
byte() while (!linelptr) if (eof) return 0 inline() preprocess() retur
n gch() inchar() if (!linelptr) inline() if (eof) return 0 return (gch()
) inline() int k char *unit while(1) kill() if (input0)openin) error
print(msg) /**/ /*written By Mike Bernson 4/81*/ /**/ multidef(sname) cha
r *sname char msg80 strcpy(msg,"already defined symbol or function "") strc
at(msg,sname) strcat(msg,""") errorprint(msg) needbrack(str) char *str
if (!match(str)) error("missing braket") needlval() error("must be lvalue"
) findglb(sname) char *sname char *ptr ptrstartglb while(ptr!glbptr)
if (astreq(sname,ptr,namemax)) return ptr() if (eof) return if (input2) unit
finp2 line2++ else unitfinp line1++ while((kgetc(unit)) ! ERROR) if(
(k'n') (lptrlinemax) (k26)) break if (k ! 'r') linelptr++k linelptr0 /*
append null */ if(k0 k26) if (input2) close(input2) input20 else cl
ose(input) input0 if(lptr) if(ctext && cmode) comment() tab() outstr
ptrptr+symsiz return 0 findloc(sname) char *sname char *ptr ptrstar
tloc while(ptr!locptr) if(astreq(sname,ptr,namemax))return ptr ptrptr+symsiz
return 0 /* Test if next input string is legal symbol name */ symname(sn
ame) char *sname int kchar c blanks() if (!alpha(ch())) return 0 k0 whil
e(an(ch())) snamek++gch() snamek0 return 1 /* Return next avail internal la
bel number */ getlabel() return (++nxtlab) (line) nl() lptr0 return
"RO" ...ESCAPE,R,O 8 N S "H" CURSOR LEFT 8 C "U" CURSOR COLUMN
0 13 C "'#9D'" HOME... E #9D"H" ...ESCAPE,H 66 N S C "'#9E'" EXPAND ESC
KEY... E #9E "" ...ESCAPE,ESCAPE ms( h)X E5,2A,00,00,22,80,BC,3A,00,00,32,
82,BC,CD,80,BC,21,00,00b 22,81,BC,21,80,BC,36,C3,E1,D8,C8,FE,1A,37,3F, /* Prin
t label at start of line */ sprintlabel(label) int label printlabel(label)
col() nl() /* Print specified number as label */ printlabel(label) int la
bel outstr("") outdec(label) /* Test if given character is alpha */ alph
a(c) char c return((c'a' && c'z') (c'A' && c'Z') c'') /* Test if given
character is numeric */ numeric(c) char c return(c'0' && c'9') /* Test
if given character is alphanumeric */ an(c) char c return(alpha(c) nu
meric(c)) /* Print a carriage return and a string only to console */ pl(str)
char *str putch('r') while (*str) putch(*str++) addwhile(ptr) int ptr
int k if (wqptrwqmax) error("too many active whiles") return k0 while
(kwqsiz) *wqptr++ ptrk++ delwhile() if (readwhile()) wqptrwqptr-wqsiz
readwhile() if (wqptrwq) error("no active while") return 0 else return
wqptr-wqsi R R R R !R!!!!!!!!! "R""""""""" #R######### $R$$$$
$$$$$ %R%%%%%%%%% &R&&&&&&&&& 'R''''''''' (R((((((((( )R)))))))))