home *** CD-ROM | disk | FTP | other *** search
/ RISC DISC 2 / RISC_DISC_2.iso / pd_share / program / tools / decaof / Source / DecAOF
Unknown  |  1995-02-17  |  38.3 KB

open in: MacOS 8.1     |     Win98     |     DOS

view JSON data     |     view as text


This file was not able to be converted.
This format is not currently supported by dexvert.

ConfidenceProgramDetectionMatch TypeSupport
100% file data default
100% xdgMime image/x-tga default



hex view
+--------+-------------------------+-------------------------+--------+--------+
|00000000| 0d 00 0a 0c f4 3e 44 65 | 63 41 4f 46 0d 00 14 25 |.....>De|cAOF...%|
|00000010| f4 20 6d 61 63 68 69 6e | 65 20 63 6f 64 65 20 76 |. machin|e code v|
|00000020| 65 72 73 69 6f 6e 20 6f | 66 20 41 4f 46 52 65 61 |ersion o|f AOFRea|
|00000030| 64 0d 00 1e 1a f4 20 77 | 69 74 68 20 69 6e 74 65 |d..... w|ith inte|
|00000040| 72 61 63 74 69 76 65 20 | 62 69 74 0d 00 28 04 0d |ractive |bit..(..|
|00000050| 00 32 1f 42 69 6e 61 72 | 79 4e 61 6d 65 24 3d 22 |.2.Binar|yName$="|
|00000060| 24 2e 62 69 6e 32 2e 64 | 65 63 61 6f 66 22 0d 00 |$.bin2.d|ecaof"..|
|00000070| 3c 04 0d 00 46 10 de 20 | 63 6f 64 65 20 31 36 33 |<...F.. |code 163|
|00000080| 38 34 0d 00 50 44 63 5f | 62 61 63 6b 3d 37 3a 20 |84..PDc_|back=7: |
|00000090| 63 5f 6e 6f 72 6d 3d 30 | 3a 20 63 5f 72 65 64 3d |c_norm=0|: c_red=|
|000000a0| 31 31 3a 20 63 5f 79 65 | 6c 6c 6f 77 3d 39 3a 20 |11: c_ye|llow=9: |
|000000b0| 63 5f 63 72 65 61 6d 3d | 31 32 3a 20 63 5f 67 72 |c_cream=|12: c_gr|
|000000c0| 65 65 6e 3d 31 30 0d 00 | 5a 0e 63 5f 62 72 6f 77 |een=10..|Z.c_brow|
|000000d0| 6e 3d 31 34 0d 00 64 27 | e3 6f 70 74 3d 34 b8 36 |n=14..d'|.opt=4.6|
|000000e0| 88 32 3a 50 25 3d 26 38 | 30 30 30 3a 4f 25 3d 63 |.2:P%=&8|000:O%=c|
|000000f0| 6f 64 65 3a 5b 4f 50 54 | 6f 70 74 0d 00 6e 04 0d |ode:[OPT|opt..n..|
|00000100| 00 78 0d 20 20 42 20 45 | 6e 74 72 79 0d 00 82 04 |.x. B E|ntry....|
|00000110| 0d 00 8c 3c 2e 56 61 72 | 69 61 62 6c 65 73 25 20 |...<.Var|iables% |
|00000120| 20 20 20 20 20 20 3b 20 | 70 75 74 20 61 6c 6c 20 | ; |put all |
|00000130| 76 61 72 69 61 62 6c 65 | 73 20 6a 75 73 74 20 61 |variable|s just a|
|00000140| 66 74 65 72 20 68 65 72 | 65 2e 2e 2e 0d 00 96 04 |fter her|e.......|
|00000150| 0d 00 a0 23 2e 4d 43 68 | 75 6e 6b 73 20 20 20 45 |...#.MCh|unks E|
|00000160| 51 55 44 20 30 20 20 20 | 20 20 3b 20 6d 61 78 69 |QUD 0 | ; maxi|
|00000170| 6d 75 6d 0d 00 aa 22 2e | 4e 43 68 75 6e 6b 73 20 |mum...".|NChunks |
|00000180| 20 20 45 51 55 44 20 30 | 20 20 20 20 20 3b 20 61 | EQUD 0| ; a|
|00000190| 63 74 75 61 6c 0d 00 b4 | 29 2e 44 61 74 41 64 72 |ctual...|).DatAdr|
|000001a0| 20 20 20 20 45 51 55 44 | 20 44 61 74 61 20 20 3b | EQUD| Data ;|
|000001b0| 20 73 74 61 72 74 20 6f | 66 20 64 61 74 61 0d 00 | start o|f data..|
|000001c0| be 24 2e 46 6e 61 6d 65 | 41 64 72 20 20 45 51 55 |.$.Fname|Adr EQU|
|000001d0| 44 20 46 6e 61 6d 65 20 | 3b 20 66 69 6c 65 6e 61 |D Fname |; filena|
|000001e0| 6d 65 0d 00 c8 35 2e 50 | 72 6f 67 53 69 7a 65 20 |me...5.P|rogSize |
|000001f0| 20 45 51 55 44 20 30 20 | 20 20 20 20 3b 20 73 69 | EQUD 0 | ; si|
|00000200| 7a 65 20 6f 66 20 70 72 | 6f 67 72 61 6d 2e 20 43 |ze of pr|ogram. C|
|00000210| 68 61 6e 67 65 73 2e 0d | 00 d2 38 2e 4e 65 78 74 |hanges..|..8.Next|
|00000220| 46 72 65 65 20 20 45 51 | 55 44 20 30 20 20 20 20 |Free EQ|UD 0 |
|00000230| 20 3b 20 6e 65 78 74 20 | 66 72 65 65 20 6c 6f 63 | ; next |free loc|
|00000240| 61 74 69 6f 6e 2e 20 43 | 68 61 6e 67 65 73 2e 0d |ation. C|hanges..|
|00000250| 00 dc 27 2e 48 61 6e 64 | 6c 65 20 20 20 20 45 51 |..'.Hand|le EQ|
|00000260| 55 44 20 30 20 20 20 20 | 20 3b 20 66 69 6c 65 20 |UD 0 | ; file |
|00000270| 68 61 6e 64 6c 65 0d 00 | e6 28 2e 57 69 64 74 68 |handle..|.(.Width|
|00000280| 20 20 20 20 20 45 51 55 | 44 20 30 20 20 20 20 20 | EQU|D 0 |
|00000290| 3b 20 73 63 72 65 65 6e | 20 77 69 64 74 68 0d 00 |; screen| width..|
|000002a0| f0 29 2e 48 65 69 67 68 | 74 20 20 20 20 45 51 55 |.).Heigh|t EQU|
|000002b0| 44 20 30 20 20 20 20 20 | 3b 20 73 63 72 65 65 6e |D 0 |; screen|
|000002c0| 20 68 65 69 67 68 74 0d | 00 fa 2f 2e 58 50 6f 73 | height.|../.XPos|
|000002d0| 20 20 20 20 20 20 45 51 | 55 44 20 30 20 20 20 20 | EQ|UD 0 |
|000002e0| 20 3b 20 68 6f 72 69 7a | 6f 6e 74 61 6c 20 70 6f | ; horiz|ontal po|
|000002f0| 73 69 74 69 6f 6e 0d 01 | 04 3e 2e 4d 61 67 69 63 |sition..|.>.Magic|
|00000300| 4e 75 6d 20 20 45 51 55 | 44 20 26 43 33 43 42 43 |Num EQU|D &C3CBC|
|00000310| 36 43 35 20 20 20 3b 20 | 6d 61 67 69 63 20 6e 75 |6C5 ; |magic nu|
|00000320| 6d 62 65 72 20 66 6f 72 | 20 63 68 75 6e 6b 20 66 |mber for| chunk f|
|00000330| 69 6c 65 73 0d 01 0e 35 | 2e 41 4f 46 4d 61 67 69 |iles...5|.AOFMagi|
|00000340| 63 20 20 45 51 55 44 20 | 26 43 35 45 32 44 30 38 |c EQUD |&C5E2D08|
|00000350| 30 20 20 20 3b 20 64 69 | 74 74 6f 20 66 6f 72 20 |0 ; di|tto for |
|00000360| 41 4f 46 20 66 69 6c 65 | 73 0d 01 18 3c 2e 57 6f |AOF file|s...<.Wo|
|00000370| 72 64 54 6d 70 20 20 20 | 45 51 55 44 20 30 20 20 |rdTmp |EQUD 0 |
|00000380| 20 20 20 3b 20 74 65 6d | 70 6f 72 61 72 79 20 74 | ; tem|porary t|
|00000390| 68 69 6e 67 20 66 6f 72 | 20 57 6f 72 64 20 72 6f |hing for| Word ro|
|000003a0| 75 74 69 6e 65 0d 01 22 | 37 2e 4f 6c 64 52 31 34 |utine.."|7.OldR14|
|000003b0| 20 20 20 20 45 51 55 44 | 20 30 20 20 20 20 20 3b | EQUD| 0 ;|
|000003c0| 20 73 6f 20 77 65 20 63 | 61 6e 20 7a 61 70 20 73 | so we c|an zap s|
|000003d0| 74 61 63 6b 20 63 6c 65 | 61 6e 6c 79 0d 01 2c 33 |tack cle|anly..,3|
|000003e0| 2e 53 74 72 54 61 62 6c | 65 20 20 45 51 55 44 20 |.StrTabl|e EQUD |
|000003f0| 30 20 20 20 20 20 3b 20 | 61 64 64 72 65 73 73 20 |0 ; |address |
|00000400| 6f 66 20 73 74 72 69 6e | 67 20 74 61 62 6c 65 0d |of strin|g table.|
|00000410| 01 36 15 2e 4e 41 72 65 | 61 73 20 20 20 20 45 51 |.6..NAre|as EQ|
|00000420| 55 44 20 30 0d 01 40 15 | 2e 4e 53 79 6d 62 73 20 |UD 0..@.|.NSymbs |
|00000430| 20 20 20 45 51 55 44 20 | 30 0d 01 4a 33 2e 53 79 | EQUD |0..J3.Sy|
|00000440| 6d 54 61 62 6c 65 20 20 | 45 51 55 44 20 30 20 20 |mTable |EQUD 0 |
|00000450| 20 20 20 3b 20 61 64 64 | 72 65 73 73 20 6f 66 20 | ; add|ress of |
|00000460| 73 79 6d 62 6f 6c 20 74 | 61 62 6c 65 0d 01 54 30 |symbol t|able..T0|
|00000470| 2e 41 72 65 61 44 61 74 | 61 20 20 45 51 55 44 20 |.AreaDat|a EQUD |
|00000480| 30 20 20 20 20 20 3b 20 | 61 64 64 72 65 73 73 20 |0 ; |address |
|00000490| 6f 66 20 61 72 65 61 20 | 64 61 74 61 0d 01 5e 2c |of area |data..^,|
|000004a0| 2e 53 74 61 63 6b 54 6f | 70 20 20 45 51 55 44 20 |.StackTo|p EQUD |
|000004b0| 30 20 20 20 20 20 3b 20 | 74 6f 70 20 6f 66 20 6f |0 ; |top of o|
|000004c0| 75 72 20 73 74 61 63 6b | 0d 01 68 41 2e 4d 61 78 |ur stack|..hA.Max|
|000004d0| 52 65 6c 73 20 20 20 45 | 51 55 44 20 30 20 20 20 |Rels E|QUD 0 |
|000004e0| 20 20 3b 20 6d 61 78 20 | 6e 75 6d 62 65 72 20 6f | ; max |number o|
|000004f0| 66 20 72 65 6c 6f 63 61 | 74 69 6f 6e 73 20 69 6e |f reloca|tions in|
|00000500| 20 61 6e 79 20 61 72 65 | 61 0d 01 72 36 2e 52 65 | any are|a..r6.Re|
|00000510| 6c 44 61 74 61 20 20 20 | 45 51 55 44 20 30 20 20 |lData |EQUD 0 |
|00000520| 20 20 20 3b 20 61 64 64 | 72 65 73 73 20 6f 66 20 | ; add|ress of |
|00000530| 72 65 6c 6f 63 61 74 69 | 6f 6e 20 64 61 74 61 0d |relocati|on data.|
|00000540| 01 7c 3a 2e 4e 52 65 6c | 73 20 20 20 20 20 45 51 |.|:.NRel|s EQ|
|00000550| 55 44 20 30 20 20 20 20 | 20 3b 20 6e 75 6d 62 65 |UD 0 | ; numbe|
|00000560| 72 20 6f 66 20 72 65 6c | 73 20 69 6e 20 63 75 72 |r of rel|s in cur|
|00000570| 72 65 6e 74 20 61 72 65 | 61 0d 01 86 3e 2e 4e 65 |rent are|a...>.Ne|
|00000580| 78 74 52 65 6c 20 20 20 | 45 51 55 44 20 30 20 20 |xtRel |EQUD 0 |
|00000590| 20 20 20 3b 20 6e 65 78 | 74 20 72 65 6c 6f 63 61 | ; nex|t reloca|
|000005a0| 74 69 6f 6e 20 6e 75 6d | 62 65 72 20 74 6f 20 63 |tion num|ber to c|
|000005b0| 6f 6e 73 69 64 65 72 0d | 01 90 3a 2e 4e 65 78 74 |onsider.|..:.Next|
|000005c0| 53 79 6d 62 20 20 45 51 | 55 44 20 30 20 20 20 20 |Symb EQ|UD 0 |
|000005d0| 20 3b 20 6e 65 78 74 20 | 73 79 6d 62 6f 6c 20 6e | ; next |symbol n|
|000005e0| 75 6d 62 65 72 20 74 6f | 20 63 6f 6e 73 69 64 65 |umber to| conside|
|000005f0| 72 0d 01 9a 2f 2e 41 64 | 64 72 65 73 73 20 20 20 |r.../.Ad|dress |
|00000600| 45 51 55 44 20 30 20 20 | 20 20 20 3b 20 61 64 64 |EQUD 0 | ; add|
|00000610| 72 65 73 73 20 77 69 74 | 68 69 6e 20 61 72 65 61 |ress wit|hin area|
|00000620| 0d 01 a4 16 2e 43 75 72 | 72 41 72 65 61 20 20 45 |.....Cur|rArea E|
|00000630| 51 55 44 20 2d 31 0d 01 | ae 44 2e 41 72 65 61 4f |QUD -1..|.D.AreaO|
|00000640| 66 73 20 20 20 45 51 55 | 44 20 30 20 20 20 20 20 |fs EQU|D 0 |
|00000650| 3b 20 6f 66 66 73 65 74 | 20 77 69 74 68 69 6e 20 |; offset| within |
|00000660| 61 72 65 61 20 63 68 75 | 6e 6b 20 6f 66 20 63 75 |area chu|nk of cu|
|00000670| 72 72 65 6e 74 20 61 72 | 65 61 0d 01 b8 36 2e 41 |rrent ar|ea...6.A|
|00000680| 72 65 61 53 74 61 72 74 | 20 45 51 55 44 20 30 20 |reaStart| EQUD 0 |
|00000690| 20 20 20 20 3b 20 66 69 | 6c 65 20 6f 66 66 73 65 | ; fi|le offse|
|000006a0| 74 20 6f 66 20 61 72 65 | 61 73 20 63 68 75 6e 6b |t of are|as chunk|
|000006b0| 0d 01 c2 3a 2e 41 72 65 | 61 53 69 7a 65 20 20 45 |...:.Are|aSize E|
|000006c0| 51 55 44 20 30 20 20 20 | 20 20 3b 20 73 69 7a 65 |QUD 0 | ; size|
|000006d0| 20 6f 66 20 63 75 72 72 | 65 6e 74 20 61 72 65 61 | of curr|ent area|
|000006e0| 2c 20 69 6e 20 62 79 74 | 65 73 0d 01 cc 47 2e 41 |, in byt|es...G.A|
|000006f0| 72 65 61 4e 61 6d 65 20 | 20 45 51 55 44 20 30 20 |reaName | EQUD 0 |
|00000700| 20 20 20 20 3b 20 6e 61 | 6d 65 20 6f 66 20 63 75 | ; na|me of cu|
|00000710| 72 72 65 6e 74 20 61 72 | 65 61 2c 20 61 73 20 6f |rrent ar|ea, as o|
|00000720| 66 66 73 65 74 20 69 6e | 20 73 74 72 2e 74 61 62 |ffset in| str.tab|
|00000730| 2e 0d 01 d6 41 2e 44 69 | 73 41 64 72 20 20 20 20 |....A.Di|sAdr |
|00000740| 45 51 55 44 20 44 69 73 | 42 75 66 3b 20 61 64 64 |EQUD Dis|Buf; add|
|00000750| 72 65 73 73 20 6f 66 20 | 62 75 66 66 65 72 20 74 |ress of |buffer t|
|00000760| 6f 20 64 69 73 61 73 73 | 65 6d 62 6c 65 20 69 6e |o disass|emble in|
|00000770| 74 6f 0d 01 e0 40 2e 53 | 79 6d 49 6e 64 65 78 20 |to...@.S|ymIndex |
|00000780| 20 45 51 55 44 20 30 20 | 20 20 20 20 3b 20 61 64 | EQUD 0 | ; ad|
|00000790| 64 72 65 73 73 20 6f 66 | 20 74 61 62 6c 65 20 6f |dress of| table o|
|000007a0| 66 20 73 79 6d 62 6f 6c | 20 61 64 64 72 65 73 73 |f symbol| address|
|000007b0| 65 73 0d 01 ea 3d 2e 53 | 79 6d 49 6e 64 65 78 32 |es...=.S|ymIndex2|
|000007c0| 20 45 51 55 44 20 30 20 | 20 20 20 20 3b 20 61 75 | EQUD 0 | ; au|
|000007d0| 78 69 6c 69 61 72 79 20 | 74 61 62 6c 65 20 66 6f |xiliary |table fo|
|000007e0| 72 20 73 6f 72 74 69 6e | 67 20 74 68 69 6e 67 0d |r sortin|g thing.|
|000007f0| 01 f4 33 2e 45 6e 74 72 | 79 41 72 65 61 20 45 51 |..3.Entr|yArea EQ|
|00000800| 55 44 20 30 20 20 20 20 | 20 3b 20 65 6e 74 72 79 |UD 0 | ; entry|
|00000810| 20 61 72 65 61 20 6e 75 | 6d 62 65 72 2c 20 6f 72 | area nu|mber, or|
|00000820| 20 30 0d 01 fe 2e 2e 45 | 6e 74 72 79 4f 66 66 73 | 0.....E|ntryOffs|
|00000830| 20 45 51 55 44 20 30 20 | 20 20 20 20 3b 20 61 6e | EQUD 0 | ; an|
|00000840| 64 20 6f 66 66 73 65 74 | 20 74 68 65 72 65 69 6e |d offset| therein|
|00000850| 0d 02 08 48 2e 43 6d 64 | 4c 69 6e 41 64 72 20 45 |...H.Cmd|LinAdr E|
|00000860| 51 55 44 20 43 6d 64 4c | 69 6e 65 20 20 20 20 20 |QUD CmdL|ine |
|00000870| 3b 20 61 64 64 72 65 73 | 73 20 6f 66 20 62 75 66 |; addres|s of buf|
|00000880| 66 65 72 20 66 6f 72 20 | 69 6e 74 65 72 61 63 74 |fer for |interact|
|00000890| 69 76 65 20 63 6d 64 73 | 0d 02 12 47 2e 45 78 74 |ive cmds|...G.Ext|
|000008a0| 46 6c 61 67 20 20 20 45 | 51 55 44 20 30 20 20 20 |Flag E|QUD 0 |
|000008b0| 20 20 3b 20 30 20 69 66 | 66 20 50 53 79 6d 62 6f | ; 0 if|f PSymbo|
|000008c0| 6c 20 73 68 6f 75 6c 64 | 20 2a 6e 6f 74 2a 20 70 |l should| *not* p|
|000008d0| 72 69 6e 74 20 22 45 78 | 74 65 72 6e 61 6c 22 0d |rint "Ex|ternal".|
|000008e0| 02 1c 48 2e 41 72 65 61 | 56 61 6c 69 64 20 45 51 |..H.Area|Valid EQ|
|000008f0| 55 44 20 2d 31 20 20 20 | 20 3b 20 61 72 65 61 20 |UD -1 | ; area |
|00000900| 66 6f 72 20 77 68 69 63 | 68 20 6f 66 66 73 65 74 |for whic|h offset|
|00000910| 73 2c 20 72 65 6c 6f 63 | 61 74 69 6f 6e 73 20 65 |s, reloc|ations e|
|00000920| 74 63 20 64 6f 6e 65 0d | 02 26 32 2e 41 72 65 61 |tc done.|.&2.Area|
|00000930| 46 6c 61 67 73 20 45 51 | 55 44 20 30 20 20 20 20 |Flags EQ|UD 0 |
|00000940| 20 3b 20 41 54 2c 41 4c | 20 66 6f 72 20 63 75 72 | ; AT,AL| for cur|
|00000950| 72 65 6e 74 20 61 72 65 | 61 0d 02 30 33 2e 4c 69 |rent are|a..03.Li|
|00000960| 6e 65 4c 69 6d 69 74 20 | 45 51 55 44 20 30 20 20 |neLimit |EQUD 0 |
|00000970| 20 20 20 3b 20 6e 75 6d | 62 65 72 20 6f 66 20 6c | ; num|ber of l|
|00000980| 69 6e 65 73 20 74 6f 20 | 6c 69 73 74 0d 02 3a 04 |ines to |list..:.|
|00000990| 0d 02 44 0a 2e 45 6e 74 | 72 79 0d 02 4e 17 20 20 |..D..Ent|ry..N. |
|000009a0| 41 44 52 20 31 32 2c 56 | 61 72 69 61 62 6c 65 73 |ADR 12,V|ariables|
|000009b0| 25 0d 02 58 47 20 20 4d | 4f 56 20 31 33 2c 23 28 |%..XG M|OV 13,#(|
|000009c0| 53 74 61 63 6b 20 80 2d | 32 35 36 29 3a 20 41 44 |Stack .-|256): AD|
|000009d0| 44 20 31 33 2c 31 33 2c | 23 53 74 61 63 6b 20 80 |D 13,13,|#Stack .|
|000009e0| 32 35 35 3a 20 a4 73 74 | 6f 72 65 28 31 33 2c 53 |255: .st|ore(13,S|
|000009f0| 74 61 63 6b 54 6f 70 29 | 0d 02 62 0d 20 20 42 4c |tackTop)|..b. BL|
|00000a00| 20 49 6e 69 74 0d 02 6c | 11 20 20 42 4c 20 47 65 | Init..l|. BL Ge|
|00000a10| 74 46 4e 61 6d 65 0d 02 | 76 11 20 20 42 4c 20 4f |tFName..|v. BL O|
|00000a20| 70 65 6e 46 69 6c 65 0d | 02 80 13 20 20 42 4c 20 |penFile.|... BL |
|00000a30| 52 65 61 64 48 65 61 64 | 65 72 0d 02 8a 12 20 20 |ReadHead|er.... |
|00000a40| 42 4c 20 52 65 61 64 49 | 64 65 6e 74 0d 02 94 14 |BL ReadI|dent....|
|00000a50| 20 20 42 4c 20 52 65 61 | 64 53 74 72 69 6e 67 73 | BL Rea|dStrings|
|00000a60| 0d 02 9e 13 20 20 42 4c | 20 53 68 6f 77 48 65 61 |.... BL| ShowHea|
|00000a70| 64 65 72 0d 02 a8 14 20 | 20 42 4c 20 53 79 6d 62 |der.... | BL Symb|
|00000a80| 6f 6c 54 61 62 6c 65 0d | 02 b2 12 20 20 42 4c 20 |olTable.|... BL |
|00000a90| 49 6e 69 74 41 72 65 61 | 73 0d 02 bc 11 20 20 42 |InitArea|s.... B|
|00000aa0| 4c 20 49 6e 74 65 72 61 | 63 74 0d 02 c6 15 20 20 |L Intera|ct.... |
|00000ab0| a4 73 65 74 63 6f 6c 28 | 63 5f 6e 6f 72 6d 29 0d |.setcol(|c_norm).|
|00000ac0| 02 d0 0e 20 20 a4 6e 65 | 77 6c 69 6e 65 0d 02 da |... .ne|wline...|
|00000ad0| 04 0d 02 e4 0b 2e 46 69 | 6e 69 73 68 0d 02 ee 2e |......Fi|nish....|
|00000ae0| 20 20 4d 4f 56 20 30 2c | 23 30 3a 20 a4 6c 6f 61 | MOV 0,|#0: .loa|
|00000af0| 64 28 31 2c 48 61 6e 64 | 6c 65 29 3a 20 53 57 49 |d(1,Hand|le): SWI|
|00000b00| 20 22 4f 53 5f 46 69 6e | 64 22 0d 02 f8 15 20 20 | "OS_Fin|d".... |
|00000b10| a4 73 65 74 63 6f 6c 28 | 63 5f 6e 6f 72 6d 29 0d |.setcol(|c_norm).|
|00000b20| 03 02 13 20 20 53 57 49 | 20 22 4f 53 5f 45 78 69 |... SWI| "OS_Exi|
|00000b30| 74 22 0d 03 0c 04 0d 03 | 16 09 2e 49 6e 69 74 0d |t"......|...Init.|
|00000b40| 03 20 2a 20 20 a4 73 65 | 74 63 6f 6c 28 31 32 38 |. * .se|tcol(128|
|00000b50| 2b 63 5f 62 61 63 6b 29 | 3a 20 a4 73 65 74 63 6f |+c_back)|: .setco|
|00000b60| 6c 28 63 5f 6e 6f 72 6d | 29 0d 03 2a 3d 20 20 a4 |l(c_norm|)..*= .|
|00000b70| 6c 6f 61 64 28 30 2c 46 | 6e 61 6d 65 41 64 72 29 |load(0,F|nameAdr)|
|00000b80| 3a 20 4d 4f 56 20 31 2c | 30 20 20 20 3b 20 75 73 |: MOV 1,|0 ; us|
|00000b90| 65 20 61 73 20 74 65 6d | 70 6f 72 61 72 79 20 62 |e as tem|porary b|
|00000ba0| 75 66 66 65 72 21 0d 03 | 34 35 20 20 4d 4f 56 20 |uffer!..|45 MOV |
|00000bb0| 32 2c 23 32 35 36 3a 20 | 53 54 52 20 32 2c 5b 30 |2,#256: |STR 2,[0|
|00000bc0| 5d 3a 20 41 44 44 20 32 | 2c 32 2c 23 31 3a 20 53 |]: ADD 2|,2,#1: S|
|00000bd0| 54 52 20 32 2c 5b 30 2c | 23 34 5d 0d 03 3e 1c 20 |TR 2,[0,|#4]..>. |
|00000be0| 20 4d 56 4e 20 32 2c 23 | 30 3a 20 53 54 52 20 32 | MVN 2,#|0: STR 2|
|00000bf0| 2c 5b 30 2c 23 38 5d 0d | 03 48 1f 20 20 53 57 49 |,[0,#8].|.H. SWI|
|00000c00| 20 22 4f 53 5f 52 65 61 | 64 56 64 75 56 61 72 69 | "OS_Rea|dVduVari|
|00000c10| 61 62 6c 65 73 22 0d 03 | 52 20 20 20 4c 44 52 20 |ables"..|R LDR |
|00000c20| 32 2c 5b 30 5d 3a 20 a4 | 73 74 6f 72 65 28 32 2c |2,[0]: .|store(2,|
|00000c30| 57 69 64 74 68 29 0d 03 | 5c 24 20 20 4c 44 52 20 |Width)..|\$ LDR |
|00000c40| 32 2c 5b 30 2c 23 34 5d | 3a 20 a4 73 74 6f 72 65 |2,[0,#4]|: .store|
|00000c50| 28 32 2c 48 65 69 67 68 | 74 29 0d 03 66 0f 20 20 |(2,Heigh|t)..f. |
|00000c60| 4d 4f 56 20 31 35 2c 31 | 34 0d 03 70 04 0d 03 7a |MOV 15,1|4..p...z|
|00000c70| 0d 2e 47 65 74 46 4e 61 | 6d 65 0d 03 84 15 20 20 |..GetFNa|me.... |
|00000c80| 53 57 49 20 22 4f 53 5f | 47 65 74 45 6e 76 22 0d |SWI "OS_|GetEnv".|
|00000c90| 03 8e 0e 20 20 4d 4f 56 | 20 31 2c 23 30 0d 03 98 |... MOV| 1,#0...|
|00000ca0| 0e 2e 46 6e 61 6d 65 6c | 6f 6f 70 0d 03 a2 2d 20 |..Fnamel|oop...- |
|00000cb0| 20 4c 44 52 42 20 32 2c | 5b 30 2c 31 5d 3a 20 43 | LDRB 2,|[0,1]: C|
|00000cc0| 4d 50 20 32 2c 23 30 3a | 20 42 45 51 20 4e 6f 4e |MP 2,#0:| BEQ NoN|
|00000cd0| 61 6d 65 47 69 76 65 6e | 0d 03 ac 2b 20 20 43 4d |ameGiven|...+ CM|
|00000ce0| 50 20 32 2c 23 33 32 3a | 20 43 4d 50 4e 45 20 32 |P 2,#32:| CMPNE 2|
|00000cf0| 2c 23 39 3a 20 42 45 51 | 20 53 70 61 63 65 46 6f |,#9: BEQ| SpaceFo|
|00000d00| 75 6e 64 0d 03 b6 1d 20 | 20 41 44 44 20 31 2c 31 |und.... | ADD 1,1|
|00000d10| 2c 23 31 3a 20 42 20 46 | 6e 61 6d 65 6c 6f 6f 70 |,#1: B F|nameloop|
|00000d20| 0d 03 c0 0f 2e 53 70 61 | 63 65 46 6f 75 6e 64 0d |.....Spa|ceFound.|
|00000d30| 03 ca 41 20 20 41 44 44 | 20 31 2c 31 2c 23 31 3a |..A ADD| 1,1,#1:|
|00000d40| 20 2e 73 66 6c 6f 6f 70 | 20 4c 44 52 42 20 32 2c | .sfloop| LDRB 2,|
|00000d50| 5b 30 2c 31 5d 3a 20 43 | 4d 50 20 32 2c 23 30 3a |[0,1]: C|MP 2,#0:|
|00000d60| 20 42 45 51 20 4e 6f 4e | 61 6d 65 47 69 76 65 6e | BEQ NoN|ameGiven|
|00000d70| 0d 03 d4 27 20 20 43 4d | 50 20 32 2c 23 33 32 3a |...' CM|P 2,#32:|
|00000d80| 20 43 4d 50 4e 45 20 32 | 2c 23 39 3a 20 42 45 51 | CMPNE 2|,#9: BEQ|
|00000d90| 20 73 66 6c 6f 6f 70 0d | 03 de 17 20 20 a4 6c 6f | sfloop.|... .lo|
|00000da0| 61 64 28 32 2c 46 6e 61 | 6d 65 41 64 72 29 0d 03 |ad(2,Fna|meAdr)..|
|00000db0| e8 0f 2e 66 6e 63 6f 70 | 79 6c 6f 6f 70 0d 03 f2 |...fncop|yloop...|
|00000dc0| 2d 20 20 4c 44 52 42 20 | 33 2c 5b 30 2c 31 5d 3a |- LDRB |3,[0,1]:|
|00000dd0| 20 53 54 52 42 20 33 2c | 5b 32 5d 2c 23 31 3a 20 | STRB 3,|[2],#1: |
|00000de0| 41 44 44 20 31 2c 31 2c | 23 31 0d 03 fc 1e 20 20 |ADD 1,1,|#1.... |
|00000df0| 43 4d 50 20 33 2c 23 30 | 3a 20 42 4e 45 20 66 6e |CMP 3,#0|: BNE fn|
|00000e00| 63 6f 70 79 6c 6f 6f 70 | 0d 04 06 0f 20 20 4d 4f |copyloop|.... MO|
|00000e10| 56 20 31 35 2c 31 34 0d | 04 10 10 2e 4e 6f 4e 61 |V 15,14.|....NoNa|
|00000e20| 6d 65 47 69 76 65 6e 0d | 04 1a 22 20 20 a4 77 72 |meGiven.|.." .wr|
|00000e30| 69 74 65 28 22 4e 61 6d | 65 20 6f 66 20 41 4f 46 |ite("Nam|e of AOF|
|00000e40| 20 66 69 6c 65 3a 20 22 | 29 0d 04 24 28 20 20 a4 | file: "|)..$( .|
|00000e50| 6c 6f 61 64 28 30 2c 46 | 6e 61 6d 65 41 64 72 29 |load(0,F|nameAdr)|
|00000e60| 3a 20 84 52 20 30 2c 30 | 2c 23 28 31 3c 3c 33 31 |: .R 0,0|,#(1<<31|
|00000e70| 29 0d 04 2e 3a 20 20 4d | 4f 56 20 31 2c 23 32 35 |)...: M|OV 1,#25|
|00000e80| 36 3a 20 4d 4f 56 20 32 | 2c 23 33 32 3a 20 4d 4f |6: MOV 2|,#32: MO|
|00000e90| 56 20 33 2c 23 31 32 36 | 3a 20 53 57 49 20 22 4f |V 3,#126|: SWI "O|
|00000ea0| 53 5f 52 65 61 64 4c 69 | 6e 65 22 0d 04 38 15 20 |S_ReadLi|ne"..8. |
|00000eb0| 20 53 57 49 43 53 20 22 | 4f 53 5f 45 78 69 74 22 | SWICS "|OS_Exit"|
|00000ec0| 0d 04 42 0f 20 20 4d 4f | 56 20 31 35 2c 31 34 0d |..B. MO|V 15,14.|
|00000ed0| 04 4c 04 0d 04 56 0d 2e | 4f 70 65 6e 46 69 6c 65 |.L...V..|OpenFile|
|00000ee0| 0d 04 60 44 20 20 4d 4f | 56 20 30 2c 23 26 34 46 |..`D MO|V 0,#&4F|
|00000ef0| 3a 20 a4 6c 6f 61 64 28 | 31 2c 46 6e 61 6d 65 41 |: .load(|1,FnameA|
|00000f00| 64 72 29 3a 20 53 57 49 | 20 22 4f 53 5f 46 69 6e |dr): SWI| "OS_Fin|
|00000f10| 64 22 3a 20 a4 73 74 6f | 72 65 28 30 2c 48 61 6e |d": .sto|re(0,Han|
|00000f20| 64 6c 65 29 0d 04 6a 0f | 20 20 4d 4f 56 20 31 35 |dle)..j.| MOV 15|
|00000f30| 2c 31 34 0d 04 74 04 0d | 04 7e 0f 2e 52 65 61 64 |,14..t..|.~..Read|
|00000f40| 48 65 61 64 65 72 0d 04 | 88 14 20 20 53 54 4d 46 |Header..|.. STMF|
|00000f50| 44 20 31 33 21 2c 7b 31 | 34 7d 0d 04 92 0d 20 20 |D 13!,{1|4}.... |
|00000f60| 42 4c 20 57 6f 72 64 0d | 04 9c 2d 20 20 a4 6c 6f |BL Word.|..- .lo|
|00000f70| 61 64 28 31 2c 4d 61 67 | 69 63 4e 75 6d 29 3a 20 |ad(1,Mag|icNum): |
|00000f80| 43 4d 50 20 30 2c 31 3a | 20 42 45 51 20 6d 61 67 |CMP 0,1:| BEQ mag|
|00000f90| 69 63 4f 4b 0d 04 a6 32 | 20 20 a4 65 72 72 6f 72 |icOK...2| .error|
|00000fa0| 28 22 54 68 69 73 20 69 | 73 20 6e 6f 74 20 61 20 |("This i|s not a |
|00000fb0| 63 68 75 6e 6b 20 66 69 | 6c 65 22 29 20 20 20 3b |chunk fi|le") ;|
|00000fc0| 20 65 78 69 74 73 0d 04 | b0 0c 2e 6d 61 67 69 63 | exits..|...magic|
|00000fd0| 4f 4b 0d 04 ba 20 20 20 | 42 4c 20 57 6f 72 64 3a |OK... |BL Word:|
|00000fe0| 20 a4 73 74 6f 72 65 28 | 30 2c 4d 43 68 75 6e 6b | .store(|0,MChunk|
|00000ff0| 73 29 0d 04 c4 20 20 20 | 42 4c 20 57 6f 72 64 3a |s)... |BL Word:|
|00001000| 20 a4 73 74 6f 72 65 28 | 30 2c 4e 43 68 75 6e 6b | .store(|0,NChunk|
|00001010| 73 29 0d 04 ce 17 20 20 | a4 73 65 74 63 6f 6c 28 |s).... |.setcol(|
|00001020| 63 5f 79 65 6c 6c 6f 77 | 29 0d 04 d8 36 20 20 a4 |c_yellow|)...6 .|
|00001030| 77 72 69 74 65 28 22 43 | 68 75 6e 6b 73 3a 20 28 |write("C|hunks: (|
|00001040| 22 29 3a 20 a4 6c 6f 61 | 64 28 30 2c 4e 43 68 75 |"): .loa|d(0,NChu|
|00001050| 6e 6b 73 29 3a 20 42 4c | 20 57 72 69 74 65 4e 0d |nks): BL| WriteN.|
|00001060| 04 e2 3a 20 20 a4 77 72 | 69 74 65 28 22 20 6f 75 |..: .wr|ite(" ou|
|00001070| 74 20 6f 66 20 6d 61 78 | 2e 20 22 29 3a 20 a4 6c |t of max|. "): .l|
|00001080| 6f 61 64 28 30 2c 4d 43 | 68 75 6e 6b 73 29 3a 20 |oad(0,MC|hunks): |
|00001090| 42 4c 20 57 72 69 74 65 | 4e 0d 04 ec 34 20 20 a4 |BL Write|N...4 .|
|000010a0| 77 72 69 74 65 28 22 29 | 22 29 3a 20 a4 73 65 74 |write(")|"): .set|
|000010b0| 63 6f 6c 28 63 5f 6e 6f | 72 6d 29 3a 20 53 57 49 |col(c_no|rm): SWI|
|000010c0| 20 22 4f 53 5f 4e 65 77 | 4c 69 6e 65 22 0d 04 f6 | "OS_New|Line"...|
|000010d0| 30 20 20 a4 6c 6f 61 64 | 28 30 2c 4e 43 68 75 6e |0 .load|(0,NChun|
|000010e0| 6b 73 29 3a 20 4d 4f 56 | 20 30 2c 30 2c 4c 53 4c |ks): MOV| 0,0,LSL|
|000010f0| 23 34 3a 20 42 4c 20 45 | 78 74 65 6e 64 0d 05 00 |#4: BL E|xtend...|
|00001100| 16 20 20 a4 6c 6f 61 64 | 28 37 2c 4e 43 68 75 6e |. .load|(7,NChun|
|00001110| 6b 73 29 0d 05 0a 0e 20 | 20 4d 4f 56 20 36 2c 23 |ks).... | MOV 6,#|
|00001120| 31 0d 05 14 15 20 20 a4 | 6c 6f 61 64 28 35 2c 44 |1.... .|load(5,D|
|00001130| 61 74 41 64 72 29 0d 05 | 1e 0a 2e 68 6c 6f 6f 70 |atAdr)..|...hloop|
|00001140| 0d 05 28 0e 20 20 a4 65 | 73 63 74 65 73 74 0d 05 |..(. .e|sctest..|
|00001150| 32 38 20 20 a4 77 72 69 | 74 65 28 22 43 68 75 6e |28 .wri|te("Chun|
|00001160| 6b 20 22 29 3a 20 4d 4f | 56 20 30 2c 36 3a 20 42 |k "): MO|V 0,6: B|
|00001170| 4c 20 57 72 69 74 65 4e | 3a 20 a4 77 72 69 74 65 |L WriteN|: .write|
|00001180| 28 22 20 28 22 29 0d 05 | 3c 32 20 20 42 4c 20 57 |(" (")..|<2 BL W|
|00001190| 6f 72 64 3a 20 53 54 52 | 20 30 2c 5b 35 5d 2c 23 |ord: STR| 0,[5],#|
|000011a0| 34 3a 20 42 4c 20 57 6f | 72 64 3a 20 53 54 52 20 |4: BL Wo|rd: STR |
|000011b0| 30 2c 5b 35 5d 2c 23 34 | 0d 05 46 30 20 20 53 55 |0,[5],#4|..F0 SU|
|000011c0| 42 20 30 2c 35 2c 23 38 | 3a 20 42 4c 20 57 72 69 |B 0,5,#8|: BL Wri|
|000011d0| 74 65 38 3a 20 a4 77 72 | 69 74 65 28 22 29 20 69 |te8: .wr|ite(") i|
|000011e0| 73 20 61 74 20 26 22 29 | 0d 05 50 26 20 20 42 4c |s at &")|..P& BL|
|000011f0| 20 57 6f 72 64 3a 20 53 | 54 52 20 30 2c 5b 35 5d | Word: S|TR 0,[5]|
|00001200| 2c 23 34 3a 20 42 4c 20 | 57 72 69 74 65 48 0d 05 |,#4: BL |WriteH..|
|00001210| 5a 19 20 20 a4 77 72 69 | 74 65 28 22 20 61 6e 64 |Z. .wri|te(" and|
|00001220| 20 69 73 20 26 22 29 0d | 05 64 26 20 20 42 4c 20 | is &").|.d& BL |
|00001230| 57 6f 72 64 3a 20 53 54 | 52 20 30 2c 5b 35 5d 2c |Word: ST|R 0,[5],|
|00001240| 23 34 3a 20 42 4c 20 57 | 72 69 74 65 48 0d 05 6e |#4: BL W|riteH..n|
|00001250| 1d 20 20 a4 77 72 69 74 | 65 6c 6e 28 22 20 62 79 |. .writ|eln(" by|
|00001260| 74 65 73 20 6c 6f 6e 67 | 22 29 0d 05 78 24 20 20 |tes long|")..x$ |
|00001270| 41 44 44 20 36 2c 36 2c | 23 31 3a 20 43 4d 50 20 |ADD 6,6,|#1: CMP |
|00001280| 36 2c 37 3a 20 42 4c 45 | 20 68 6c 6f 6f 70 0d 05 |6,7: BLE| hloop..|
|00001290| 82 14 20 20 4c 44 4d 46 | 44 20 31 33 21 2c 7b 31 |.. LDMF|D 13!,{1|
|000012a0| 35 7d 0d 05 8c 04 0d 05 | 96 1d 2e 49 64 65 6e 74 |5}......|...Ident|
|000012b0| 53 74 72 20 45 51 55 53 | 20 22 4f 42 4a 5f 49 44 |Str EQUS| "OBJ_ID|
|000012c0| 46 4e 22 0d 05 a0 0e 2e | 52 65 61 64 49 64 65 6e |FN".....|ReadIden|
|000012d0| 74 0d 05 aa 14 20 20 53 | 54 4d 46 44 20 31 33 21 |t.... S|TMFD 13!|
|000012e0| 2c 7b 31 34 7d 0d 05 b4 | 27 20 20 a4 68 65 61 64 |,{14}...|' .head|
|000012f0| 69 6e 67 28 22 49 64 65 | 6e 74 69 66 69 63 61 74 |ing("Ide|ntificat|
|00001300| 69 6f 6e 20 73 74 72 69 | 6e 67 22 29 0d 05 be 2a |ion stri|ng")...*|
|00001310| 20 20 41 44 52 20 30 2c | 49 64 65 6e 74 53 74 72 | ADR 0,|IdentStr|
|00001320| 3a 20 42 4c 20 4c 6f 6f | 6b 75 70 3a 20 42 4c 20 |: BL Loo|kup: BL |
|00001330| 53 65 74 50 74 72 0d 05 | c8 15 20 20 a4 6c 6f 61 |SetPtr..|.. .loa|
|00001340| 64 28 31 2c 48 61 6e 64 | 6c 65 29 0d 05 d2 0b 2e |d(1,Hand|le).....|
|00001350| 69 64 6c 6f 6f 70 0d 05 | dc 0e 20 20 a4 65 73 63 |idloop..|.. .esc|
|00001360| 74 65 73 74 0d 05 e6 3a | 20 20 53 57 49 20 22 4f |test...:| SWI "O|
|00001370| 53 5f 42 47 65 74 22 3a | 20 53 57 49 20 22 4f 53 |S_BGet":| SWI "OS|
|00001380| 5f 57 72 69 74 65 43 22 | 3a 20 43 4d 50 20 30 2c |_WriteC"|: CMP 0,|
|00001390| 23 30 3a 20 42 4e 45 20 | 69 64 6c 6f 6f 70 0d 05 |#0: BNE |idloop..|
|000013a0| f0 16 20 20 53 57 49 20 | 22 4f 53 5f 4e 65 77 4c |.. SWI |"OS_NewL|
|000013b0| 69 6e 65 22 0d 05 fa 14 | 20 20 4c 44 4d 46 44 20 |ine"....| LDMFD |
|000013c0| 31 33 21 2c 7b 31 35 7d | 0d 06 04 04 0d 06 0e 1c |13!,{15}|........|
|000013d0| 2e 53 74 72 53 74 72 20 | 20 45 51 55 53 20 22 4f |.StrStr | EQUS "O|
|000013e0| 42 4a 5f 53 54 52 54 22 | 0d 06 18 10 2e 52 65 61 |BJ_STRT"|.....Rea|
|000013f0| 64 53 74 72 69 6e 67 73 | 0d 06 22 0e 20 20 a4 65 |dStrings|..". .e|
|00001400| 73 63 74 65 73 74 0d 06 | 2c 14 20 20 53 54 4d 46 |sctest..|,. STMF|
|00001410| 44 20 31 33 21 2c 7b 31 | 34 7d 0d 06 36 2b 20 20 |D 13!,{1|4}..6+ |
|00001420| a4 6c 6f 61 64 28 30 2c | 4e 65 78 74 46 72 65 65 |.load(0,|NextFree|
|00001430| 29 3a 20 a4 73 74 6f 72 | 65 28 30 2c 53 74 72 54 |): .stor|e(0,StrT|
|00001440| 61 62 6c 65 29 0d 06 40 | 31 20 20 41 44 52 20 30 |able)..@|1 ADR 0|
|00001450| 2c 53 74 72 53 74 72 3a | 20 42 4c 20 4c 6f 6f 6b |,StrStr:| BL Look|
|00001460| 75 70 3a 20 4d 4f 56 20 | 35 2c 30 3a 20 42 4c 20 |up: MOV |5,0: BL |
|00001470| 53 65 74 50 74 72 0d 06 | 4a 3e 20 20 a4 6c 6f 61 |SetPtr..|J> .loa|
|00001480| 64 28 36 2c 44 61 74 41 | 64 72 29 3a 20 41 44 44 |d(6,DatA|dr): ADD|
|00001490| 20 36 2c 36 2c 23 31 32 | 3a 20 4c 44 52 20 30 2c | 6,6,#12|: LDR 0,|
|000014a0| 5b 36 2c 35 2c 4c 53 4c | 23 34 5d 20 20 20 3b 20 |[6,5,LSL|#4] ; |
|000014b0| 73 69 7a 65 0d 06 54 0d | 20 20 4d 4f 56 20 37 2c |size..T.| MOV 7,|
|000014c0| 30 0d 06 5e 3d 20 20 42 | 4c 20 57 6f 72 64 3a 20 |0..^= B|L Word: |
|000014d0| 41 44 44 20 30 2c 30 2c | 23 33 3a 20 42 49 43 20 |ADD 0,0,|#3: BIC |
|000014e0| 30 2c 30 2c 23 33 3a 20 | 41 44 44 20 34 2c 37 2c |0,0,#3: |ADD 4,7,|
|000014f0| 23 33 3a 20 42 49 43 20 | 34 2c 34 2c 23 33 0d 06 |#3: BIC |4,4,#3..|
|00001500| 68 1b 20 20 43 4d 50 20 | 30 2c 34 3a 20 42 45 51 |h. CMP |0,4: BEQ|
|00001510| 20 73 74 72 73 69 7a 4f | 4b 0d 06 72 43 20 20 a4 | strsizO|K..rC .|
|00001520| 73 65 74 63 6f 6c 28 63 | 5f 62 72 6f 77 6e 29 3a |setcol(c|_brown):|
|00001530| 20 a4 77 72 69 74 65 28 | 22 49 6e 63 6f 6e 73 69 | .write(|"Inconsi|
|00001540| 73 74 65 6e 74 20 73 74 | 72 69 6e 67 2d 74 61 62 |stent st|ring-tab|
|00001550| 6c 65 20 73 69 7a 65 73 | 3a 20 22 29 0d 06 7c 43 |le sizes|: ")..|C|
|00001560| 20 20 42 4c 20 57 72 69 | 74 65 4e 3a 20 53 57 49 | BL Wri|teN: SWI|
|00001570| 20 32 35 36 2b 97 22 2f | 22 3a 20 4d 4f 56 20 30 | 256+."/|": MOV 0|
|00001580| 2c 34 3a 20 42 4c 20 57 | 72 69 74 65 4e 3a 20 53 |,4: BL W|riteN: S|
|00001590| 57 49 20 22 4f 53 5f 4e | 65 77 4c 69 6e 65 22 0d |WI "OS_N|ewLine".|
|000015a0| 06 86 3b 20 20 a4 73 65 | 74 63 6f 6c 28 63 5f 6e |..; .se|tcol(c_n|
|000015b0| 6f 72 6d 29 20 3b 20 64 | 6f 6e 27 74 20 6e 65 65 |orm) ; d|on't nee|
|000015c0| 64 20 74 6f 20 77 6f 72 | 72 79 20 61 62 6f 75 74 |d to wor|ry about|
|000015d0| 20 58 50 6f 73 20 68 65 | 72 65 0d 06 90 0d 20 20 | XPos he|re.... |
|000015e0| 4d 4f 56 20 30 2c 37 0d | 06 9a 0d 2e 73 74 72 73 |MOV 0,7.|....strs|
|000015f0| 69 7a 4f 4b 0d 06 a4 11 | 20 20 53 55 42 20 36 2c |izOK....| SUB 6,|
|00001600| 36 2c 23 31 32 0d 06 ae | 0f 20 20 42 4c 20 45 78 |6,#12...|. BL Ex|
|00001610| 74 65 6e 64 0d 06 b8 31 | 20 20 41 44 52 20 30 2c |tend...1| ADR 0,|
|00001620| 53 74 72 53 74 72 3a 20 | 42 4c 20 4c 6f 6f 6b 75 |StrStr: |BL Looku|
|00001630| 70 3a 20 4d 4f 56 20 35 | 2c 30 3a 20 42 4c 20 53 |p: MOV 5|,0: BL S|
|00001640| 65 74 50 74 72 0d 06 c2 | 3b 20 20 a4 6c 6f 61 64 |etPtr...|; .load|
|00001650| 28 31 2c 48 61 6e 64 6c | 65 29 3a 20 a4 6c 6f 61 |(1,Handl|e): .loa|
|00001660| 64 28 32 2c 53 74 72 54 | 61 62 6c 65 29 3a 20 4d |d(2,StrT|able): M|
|00001670| 4f 56 20 33 2c 37 3a 20 | 4d 4f 56 20 30 2c 23 34 |OV 3,7: |MOV 0,#4|
|00001680| 0d 06 cc 13 20 20 53 57 | 49 20 22 4f 53 5f 47 42 |.... SW|I "OS_GB|
|00001690| 50 42 22 0d 06 d6 14 20 | 20 4c 44 4d 46 44 20 31 |PB".... | LDMFD 1|
|000016a0| 33 21 2c 7b 31 35 7d 0d | 06 e0 04 0d 06 ea 1e 2e |3!,{15}.|........|
|000016b0| 48 65 61 64 65 72 53 74 | 72 20 45 51 55 53 20 22 |HeaderSt|r EQUS "|
|000016c0| 4f 42 4a 5f 48 45 41 44 | 22 0d 06 f4 0f 2e 53 68 |OBJ_HEAD|".....Sh|
|000016d0| 6f 77 48 65 61 64 65 72 | 0d 06 fe 14 20 20 53 54 |owHeader|.... ST|
|000016e0| 4d 46 44 20 31 33 21 2c | 7b 31 34 7d 0d 07 08 1d |MFD 13!,|{14}....|
|000016f0| 20 20 a4 68 65 61 64 69 | 6e 67 28 22 48 65 61 64 | .headi|ng("Head|
|00001700| 65 72 20 64 61 74 61 22 | 29 0d 07 12 2b 20 20 41 |er data"|)...+ A|
|00001710| 44 52 20 30 2c 48 65 61 | 64 65 72 53 74 72 3a 20 |DR 0,Hea|derStr: |
|00001720| 42 4c 20 4c 6f 6f 6b 75 | 70 3a 20 42 4c 20 53 65 |BL Looku|p: BL Se|
|00001730| 74 50 74 72 0d 07 1c 39 | 20 20 42 4c 20 57 6f 72 |tPtr...9| BL Wor|
|00001740| 64 3a 20 a4 6c 6f 61 64 | 28 31 2c 41 4f 46 4d 61 |d: .load|(1,AOFMa|
|00001750| 67 69 63 29 3a 20 43 4d | 50 20 30 2c 31 3a 20 42 |gic): CM|P 0,1: B|
|00001760| 45 51 20 61 6f 66 6d 61 | 67 69 63 4f 4b 0d 07 26 |EQ aofma|gicOK..&|
|00001770| 31 20 20 a4 65 72 72 6f | 72 28 22 54 68 69 73 20 |1 .erro|r("This |
|00001780| 69 73 20 6e 6f 74 20 61 | 6e 20 41 4f 46 20 66 69 |is not a|n AOF fi|
|00001790| 6c 65 22 29 20 20 20 3b | 20 65 78 69 74 73 0d 07 |le") ;| exits..|
|000017a0| 30 0f 2e 61 6f 66 6d 61 | 67 69 63 4f 4b 0d 07 3a |0..aofma|gicOK..:|
|000017b0| 0d 20 20 42 4c 20 57 6f | 72 64 0d 07 44 1c 20 20 |. BL Wo|rd..D. |
|000017c0| 43 4d 50 20 30 2c 23 31 | 35 30 3a 20 42 4e 45 20 |CMP 0,#1|50: BNE |
|000017d0| 6e 6f 74 31 35 30 0d 07 | 4e 2d 20 20 a4 77 72 69 |not150..|N- .wri|
|000017e0| 74 65 28 22 54 68 69 73 | 20 69 73 20 61 20 76 65 |te("This| is a ve|
|000017f0| 72 73 69 6f 6e 20 31 20 | 41 4f 46 20 66 69 6c 65 |rsion 1 |AOF file|
|00001800| 2e 22 29 0d 07 58 11 20 | 20 42 20 76 65 72 73 69 |.")..X. | B versi|
|00001810| 6f 6e 4f 4b 0d 07 62 0b | 2e 6e 6f 74 31 35 30 0d |onOK..b.|.not150.|
|00001820| 07 6c 1c 20 20 43 4d 50 | 20 30 2c 23 32 30 30 3a |.l. CMP| 0,#200:|
|00001830| 20 42 4e 45 20 6e 6f 74 | 32 30 30 0d 07 76 2d 20 | BNE not|200..v- |
|00001840| 20 a4 77 72 69 74 65 28 | 22 54 68 69 73 20 69 73 | .write(|"This is|
|00001850| 20 61 20 76 65 72 73 69 | 6f 6e 20 32 20 41 4f 46 | a versi|on 2 AOF|
|00001860| 20 66 69 6c 65 2e 22 29 | 0d 07 80 11 20 20 42 20 | file.")|.... B |
|00001870| 76 65 72 73 69 6f 6e 4f | 4b 0d 07 8a 0b 2e 6e 6f |versionO|K.....no|
|00001880| 74 32 30 30 0d 07 94 16 | 20 20 a4 73 65 74 63 6f |t200....| .setco|
|00001890| 6c 28 63 5f 62 72 6f 77 | 6e 29 0d 07 9e 40 20 20 |l(c_brow|n)...@ |
|000018a0| a4 77 72 69 74 65 28 22 | 55 6e 6b 6e 6f 77 6e 20 |.write("|Unknown |
|000018b0| 41 4f 46 20 76 65 72 73 | 69 6f 6e 20 28 49 44 3d |AOF vers|ion (ID=|
|000018c0| 22 29 3a 20 42 4c 20 57 | 72 69 74 65 4e 3a 20 a4 |"): BL W|riteN: .|
|000018d0| 77 72 69 74 65 28 22 29 | 22 29 0d 07 a8 15 20 20 |write(")|").... |
|000018e0| a4 73 65 74 63 6f 6c 28 | 63 5f 6e 6f 72 6d 29 0d |.setcol(|c_norm).|
|000018f0| 07 b2 0e 2e 76 65 72 73 | 69 6f 6e 4f 4b 0d 07 bc |....vers|ionOK...|
|00001900| 16 20 20 53 57 49 20 22 | 4f 53 5f 4e 65 77 4c 69 |. SWI "|OS_NewLi|
|00001910| 6e 65 22 0d 07 c6 4a 20 | 20 42 4c 20 57 6f 72 64 |ne"...J | BL Word|
|00001920| 3a 20 a4 73 74 6f 72 65 | 28 30 2c 4e 41 72 65 61 |: .store|(0,NArea|
|00001930| 73 29 3a 20 42 4c 20 57 | 72 69 74 65 4e 20 20 20 |s): BL W|riteN |
|00001940| 20 20 3b 20 69 6e 20 63 | 6f 64 65 20 62 65 6c 6f | ; in c|ode belo|
|00001950| 77 20 70 6f 73 20 69 73 | 20 22 4f 4b 22 0d 07 d0 |w pos is| "OK"...|
|00001960| 15 20 20 a4 77 72 69 74 | 65 28 22 20 61 72 65 61 |. .writ|e(" area|
|00001970| 22 29 0d 07 da 3d 20 20 | a4 6c 6f 61 64 28 30 2c |")...= |.load(0,|
|00001980| 4e 41 72 65 61 73 29 3a | 20 43 4d 50 20 30 2c 23 |NAreas):| CMP 0,#|
|00001990| 31 3a 20 53 57 49 4e 45 | 20 32 35 36 2b 97 22 73 |1: SWINE| 256+."s|
|000019a0| 22 3a 20 a4 77 72 69 74 | 65 28 22 2c 20 22 29 0d |": .writ|e(", ").|
|000019b0| 07 e4 2a 20 20 42 4c 20 | 57 6f 72 64 3a 20 a4 73 |..* BL |Word: .s|
|000019c0| 74 6f 72 65 28 30 2c 4e | 53 79 6d 62 73 29 3a 20 |tore(0,N|Symbs): |
|000019d0| 42 4c 20 57 72 69 74 65 | 4e 0d 07 ee 17 20 20 a4 |BL Write|N.... .|
|000019e0| 77 72 69 74 65 28 22 20 | 73 79 6d 62 6f 6c 22 29 |write(" |symbol")|
|000019f0| 0d 07 f8 3f 20 20 a4 6c | 6f 61 64 28 30 2c 4e 53 |...? .l|oad(0,NS|
|00001a00| 79 6d 62 73 29 3a 20 43 | 4d 50 20 30 2c 23 31 3a |ymbs): C|MP 0,#1:|
|00001a10| 20 53 57 49 4e 45 20 32 | 35 36 2b 97 22 73 22 3a | SWINE 2|56+."s":|
|00001a20| 20 a4 77 72 69 74 65 6c | 6e 28 22 2e 20 22 29 0d | .writel|n(". ").|
|00001a30| 08 02 22 20 20 42 4c 20 | 57 6f 72 64 3a 20 a4 73 |.." BL |Word: .s|
|00001a40| 74 6f 72 65 28 30 2c 45 | 6e 74 72 79 41 72 65 61 |tore(0,E|ntryArea|
|00001a50| 29 0d 08 0c 22 20 20 42 | 4c 20 57 6f 72 64 3a 20 |)..." B|L Word: |
|00001a60| a4 73 74 6f 72 65 28 30 | 2c 45 6e 74 72 79 4f 66 |.store(0|,EntryOf|
|00001a70| 66 73 29 0d 08 16 2b 20 | 20 a4 6c 6f 61 64 28 30 |fs)...+ | .load(0|
|00001a80| 2c 4e 65 78 74 46 72 65 | 65 29 3a 20 a4 73 74 6f |,NextFre|e): .sto|
|00001a90| 72 65 28 30 2c 41 72 65 | 61 44 61 74 61 29 0d 08 |re(0,Are|aData)..|
|00001aa0| 20 49 20 20 a4 6c 6f 61 | 64 28 30 2c 4e 41 72 65 | I .loa|d(0,NAre|
|00001ab0| 61 73 29 3a 20 41 44 44 | 20 30 2c 30 2c 30 2c 4c |as): ADD| 0,0,0,L|
|00001ac0| 53 4c 23 32 3a 20 4d 4f | 56 20 30 2c 30 2c 4c 53 |SL#2: MO|V 0,0,LS|
|00001ad0| 4c 23 32 3a 20 4d 4f 56 | 20 35 2c 30 3a 20 42 4c |L#2: MOV| 5,0: BL|
|00001ae0| 20 45 78 74 65 6e 64 0d | 08 2a 3b 20 20 4d 4f 56 | Extend.|.*; MOV|
|00001af0| 20 30 2c 23 34 3a 20 a4 | 6c 6f 61 64 28 31 2c 48 | 0,#4: .|load(1,H|
|00001b00| 61 6e 64 6c 65 29 3a 20 | a4 6c 6f 61 64 28 32 2c |andle): |.load(2,|
|00001b10| 41 72 65 61 44 61 74 61 | 29 3a 20 4d 4f 56 20 33 |AreaData|): MOV 3|
|00001b20| 2c 35 0d 08 34 13 20 20 | 53 57 49 20 22 4f 53 5f |,5..4. |SWI "OS_|
|00001b30| 47 42 50 42 22 0d 08 3e | 32 20 20 4d 4f 56 20 35 |GBPB"..>|2 MOV 5|
|00001b40| 2c 23 30 3a 20 a4 6c 6f | 61 64 28 36 2c 41 72 65 |,#0: .lo|ad(6,Are|
|00001b50| 61 44 61 74 61 29 3a 20 | a4 6c 6f 61 64 28 38 2c |aData): |.load(8,|
|00001b60| 4e 41 72 65 61 73 29 0d | 08 48 1d 20 20 4d 4f 56 |NAreas).|.H. MOV|
|00001b70| 20 39 2c 23 30 20 20 20 | 3b 20 6d 61 78 20 6e 20 | 9,#0 |; max n |
|00001b80| 72 65 6c 73 0d 08 52 0d | 2e 61 72 65 61 6c 6f 6f |rels..R.|.arealoo|
|00001b90| 70 0d 08 5c 15 20 20 41 | 44 44 20 37 2c 35 2c 35 |p..\. A|DD 7,5,5|
|00001ba0| 2c 4c 53 4c 23 32 0d 08 | 66 23 20 20 41 44 44 20 |,LSL#2..|f# ADD |
|00001bb0| 37 2c 37 2c 23 33 3a 20 | 4c 44 52 20 30 2c 5b 36 |7,7,#3: |LDR 0,[6|
|00001bc0| 2c 37 2c 4c 53 4c 23 32 | 5d 0d 08 70 18 20 20 43 |,7,LSL#2|]..p. C|
|00001bd0| 4d 50 20 30 2c 39 3a 20 | 4d 4f 56 47 54 20 39 2c |MP 0,9: |MOVGT 9,|
|00001be0| 30 0d 08 7a 27 20 20 41 | 44 44 20 35 2c 35 2c 23 |0..z' A|DD 5,5,#|
|00001bf0| 31 3a 20 43 4d 50 20 35 | 2c 38 3a 20 42 4c 54 20 |1: CMP 5|,8: BLT |
|00001c00| 61 72 65 61 6c 6f 6f 70 | 0d 08 84 17 20 20 a4 73 |arealoop|.... .s|
|00001c10| 74 6f 72 65 28 39 2c 4d | 61 78 52 65 6c 73 29 0d |tore(9,M|axRels).|
|00001c20| 08 8e 44 20 20 a4 6c 6f | 61 64 28 31 2c 4e 65 78 |..D .lo|ad(1,Nex|
|00001c30| 74 46 72 65 65 29 3a 20 | a4 73 74 6f 72 65 28 31 |tFree): |.store(1|
|00001c40| 2c 52 65 6c 44 61 74 61 | 29 3a 20 4d 4f 56 20 30 |,RelData|): MOV 0|
|00001c50| 2c 39 2c 4c 53 4c 23 33 | 3a 20 42 4c 20 45 78 74 |,9,LSL#3|: BL Ext|
|00001c60| 65 6e 64 0d 08 98 14 20 | 20 4c 44 4d 46 44 20 31 |end.... | LDMFD 1|
|00001c70| 33 21 2c 7b 31 35 7d 0d | 08 a2 04 0d 08 ac 1b 2e |3!,{15}.|........|
|00001c80| 53 79 6d 53 74 72 20 45 | 51 55 53 20 22 4f 42 4a |SymStr E|QUS "OBJ|
|00001c90| 5f 53 59 4d 54 22 0d 08 | b6 10 2e 53 79 6d 62 6f |_SYMT"..|...Symbo|
|00001ca0| 6c 54 61 62 6c 65 0d 08 | c0 0e 20 20 a4 65 73 63 |lTable..|.. .esc|
|00001cb0| 74 65 73 74 0d 08 ca 14 | 20 20 53 54 4d 46 44 20 |test....| STMFD |
|00001cc0| 31 33 21 2c 7b 31 34 7d | 0d 08 d4 2b 20 20 a4 6c |13!,{14}|...+ .l|
|00001cd0| 6f 61 64 28 30 2c 4e 65 | 78 74 46 72 65 65 29 3a |oad(0,Ne|xtFree):|
|00001ce0| 20 a4 73 74 6f 72 65 28 | 30 2c 53 79 6d 54 61 62 | .store(|0,SymTab|
|00001cf0| 6c 65 29 0d 08 de 4b 20 | 20 a4 6c 6f 61 64 28 30 |le)...K | .load(0|
|00001d00| 2c 4e 53 79 6d 62 73 29 | 3a 20 4d 4f 56 53 20 30 |,NSymbs)|: MOVS 0|
|00001d10| 2c 30 2c 4c 53 4c 23 34 | 3a 20 4c 44 4d 45 51 46 |,0,LSL#4|: LDMEQF|
|00001d20| 44 20 31 33 21 2c 7b 31 | 35 7d 3a 20 4d 4f 56 20 |D 13!,{1|5}: MOV |
|00001d30| 35 2c 30 3a 20 42 4c 20 | 45 78 74 65 6e 64 0d 08 |5,0: BL |Extend..|
|00001d40| e8 2b 20 20 a4 6c 6f 61 | 64 28 30 2c 4e 65 78 74 |.+ .loa|d(0,Next|
|00001d50| 46 72 65 65 29 3a 20 a4 | 73 74 6f 72 65 28 30 2c |Free): .|store(0,|
|00001d60| 53 79 6d 49 6e 64 65 78 | 29 0d 08 f2 1e 20 20 4d |SymIndex|).... M|
|00001d70| 4f 56 20 30 2c 35 2c 4c | 53 52 23 31 3a 20 42 4c |OV 0,5,L|SR#1: BL|
|00001d80| 20 45 78 74 65 6e 64 0d | 08 fc 28 20 20 41 44 52 | Extend.|..( ADR|
|00001d90| 20 30 2c 53 79 6d 53 74 | 72 3a 20 42 4c 20 4c 6f | 0,SymSt|r: BL Lo|
|00001da0| 6f 6b 75 70 3a 20 42 4c | 20 53 65 74 50 74 72 0d |okup: BL| SetPtr.|
|00001db0| 09 06 3b 20 20 4d 4f 56 | 20 30 2c 23 34 3a 20 a4 |..; MOV| 0,#4: .|
|00001dc0| 6c 6f 61 64 28 31 2c 48 | 61 6e 64 6c 65 29 3a 20 |load(1,H|andle): |
|00001dd0| a4 6c 6f 61 64 28 32 2c | 53 79 6d 54 61 62 6c 65 |.load(2,|SymTable|
|00001de0| 29 3a 20 4d 4f 56 20 33 | 2c 35 0d 09 10 13 20 20 |): MOV 3|,5.... |
|00001df0| 53 57 49 20 22 4f 53 5f | 47 42 50 42 22 0d 09 1a |SWI "OS_|GBPB"...|
|00001e00| 3b 20 20 a4 6c 6f 61 64 | 28 30 2c 53 79 6d 49 6e |; .load|(0,SymIn|
|00001e10| 64 65 78 29 3a 20 a4 6c | 6f 61 64 28 31 2c 4e 53 |dex): .l|oad(1,NS|
|00001e20| 79 6d 62 73 29 3a 20 4d | 4f 56 20 32 2c 23 30 3a |ymbs): M|OV 2,#0:|
|00001e30| 20 4d 4f 56 20 33 2c 30 | 0d 09 24 2a 20 20 41 44 | MOV 3,0|..$* AD|
|00001e40| 44 20 30 2c 30 2c 31 2c | 4c 53 4c 23 32 3a 20 a4 |D 0,0,1,|LSL#2: .|
|00001e50| 73 74 6f 72 65 28 30 2c | 53 79 6d 49 6e 64 65 78 |store(0,|SymIndex|
|00001e60| 32 29 0d 09 2e 0f 2e 73 | 79 6d 69 64 78 6c 6f 6f |2).....s|ymidxloo|
|00001e70| 70 0d 09 38 43 20 20 53 | 54 52 20 33 2c 5b 30 5d |p..8C S|TR 3,[0]|
|00001e80| 2c 23 34 3a 20 41 44 44 | 20 32 2c 32 2c 23 31 3a |,#4: ADD| 2,2,#1:|
|00001e90| 20 41 44 44 20 33 2c 33 | 2c 23 34 3a 20 43 4d 50 | ADD 3,3|,#4: CMP|
|00001ea0| 20 32 2c 31 3a 20 42 4c | 54 20 73 79 6d 69 64 78 | 2,1: BL|T symidx|
|00001eb0| 6c 6f 6f 70 0d 09 42 14 | 20 20 42 4c 20 53 6f 72 |loop..B.| BL Sor|
|00001ec0| 74 53 79 6d 62 6f 6c 73 | 0d 09 4c 3c 20 20 a4 6c |tSymbols|..L< .l|
|00001ed0| 6f 61 64 28 30 2c 53 79 | 6d 49 6e 64 65 78 29 3a |oad(0,Sy|mIndex):|
|00001ee0| 20 a4 6c 6f 61 64 28 31 | 2c 4e 53 79 6d 62 73 29 | .load(1|,NSymbs)|
|00001ef0| 3a 20 a4 6c 6f 61 64 28 | 32 2c 53 79 6d 49 6e 64 |: .load(|2,SymInd|
|00001f00| 65 78 32 29 0d 09 56 21 | 20 20 a4 6c 6f 61 64 28 |ex2)..V!| .load(|
|00001f10| 33 2c 53 79 6d 54 61 62 | 6c 65 29 3a 20 4d 4f 56 |3,SymTab|le): MOV|
|00001f20| 20 35 2c 23 30 0d 09 60 | 10 2e 73 79 6d 69 64 78 | 5,#0..`|..symidx|
|00001f30| 6c 6f 6f 70 32 0d 09 6a | 3b 20 20 4c 44 52 20 34 |loop2..j|; LDR 4|
|00001f40| 2c 5b 32 2c 35 2c 4c 53 | 4c 23 32 5d 3a 20 53 54 |,[2,5,LS|L#2]: ST|
|00001f50| 52 20 33 2c 5b 34 5d 3a | 20 41 44 44 20 33 2c 33 |R 3,[4]:| ADD 3,3|
|00001f60| 2c 23 31 36 3a 20 41 44 | 44 20 35 2c 35 2c 23 31 |,#16: AD|D 5,5,#1|
|00001f70| 0d 09 74 1e 20 20 43 4d | 50 20 35 2c 31 3a 20 42 |..t. CM|P 5,1: B|
|00001f80| 4c 54 20 73 79 6d 69 64 | 78 6c 6f 6f 70 32 0d 09 |LT symid|xloop2..|
|00001f90| 7e 14 20 20 4c 44 4d 46 | 44 20 31 33 21 2c 7b 31 |~. LDMF|D 13!,{1|
|00001fa0| 35 7d 0d 09 88 04 0d 09 | 92 19 2e 70 73 79 6d 62 |5}......|...psymb|
|00001fb0| 75 66 66 20 a4 73 70 61 | 63 65 28 31 30 30 29 0d |uff .spa|ce(100).|
|00001fc0| 09 9c 27 2e 70 73 43 6f | 6d 6d 6f 6e 20 45 51 55 |..'.psCo|mmon EQU|
|00001fd0| 53 20 22 43 6f 6d 6d 6f | 6e 3a 20 22 2b bd 30 3a |S "Commo|n: "+.0:|
|00001fe0| 20 41 4c 49 47 4e 0d 09 | a6 29 2e 70 73 4c 65 6e | ALIGN..|.).psLen|
|00001ff0| 67 74 68 20 45 51 55 53 | 20 22 2c 20 6c 65 6e 67 |gth EQUS| ", leng|
|00002000| 74 68 20 26 22 2b bd 30 | 3a 20 41 4c 49 47 4e 0d |th &"+.0|: ALIGN.|
|00002010| 09 b0 25 2e 70 73 4c 6f | 63 61 6c 20 20 45 51 55 |..%.psLo|cal EQU|
|00002020| 53 20 22 4c 6f 63 61 6c | 20 22 2b bd 30 3a 20 41 |S "Local| "+.0: A|
|00002030| 4c 49 47 4e 0d 09 ba 30 | 2e 70 73 43 61 73 65 49 |LIGN...0|.psCaseI|
|00002040| 20 20 45 51 55 53 20 22 | 43 61 73 65 2d 69 6e 73 | EQUS "|Case-ins|
|00002050| 65 6e 73 69 74 69 76 65 | 20 22 2b bd 30 3a 20 41 |ensitive| "+.0: A|
|00002060| 4c 49 47 4e 0d 09 c4 24 | 2e 70 73 57 65 61 6b 20 |LIGN...$|.psWeak |
|00002070| 20 20 45 51 55 53 20 22 | 57 65 61 6b 20 22 2b bd | EQUS "|Weak "+.|
|00002080| 30 3a 20 41 4c 49 47 4e | 0d 09 ce 26 2e 70 73 53 |0: ALIGN|...&.psS|
|00002090| 74 72 6f 6e 67 20 45 51 | 55 53 20 22 53 74 72 6f |trong EQ|US "Stro|
|000020a0| 6e 67 20 22 2b bd 30 3a | 20 41 4c 49 47 4e 0d 09 |ng "+.0:| ALIGN..|
|000020b0| d8 2a 2e 70 73 45 78 74 | 65 72 6e 61 6c 20 45 51 |.*.psExt|ernal EQ|
|000020c0| 55 53 20 22 45 78 74 65 | 72 6e 61 6c 20 22 2b bd |US "Exte|rnal "+.|
|000020d0| 30 3a 20 41 4c 49 47 4e | 0d 09 e2 29 2e 50 53 79 |0: ALIGN|...).PSy|
|000020e0| 6d 62 6f 6c 20 3b 20 72 | 30 3d 73 79 6d 6e 75 6d |mbol ; r|0=symnum|
|000020f0| 20 2d 3e 20 61 6c 6c 20 | 70 72 65 73 65 72 76 65 | -> all |preserve|
|00002100| 64 0d 09 ec 0e 20 20 a4 | 65 73 63 74 65 73 74 0d |d.... .|esctest.|
|00002110| 09 f6 19 20 20 53 54 4d | 46 44 20 31 33 21 2c 7b |... STM|FD 13!,{|
|00002120| 30 2d 31 31 2c 31 34 7d | 0d 0a 00 44 20 20 a4 6c |0-11,14}|...D .l|
|00002130| 6f 61 64 28 36 2c 53 79 | 6d 54 61 62 6c 65 29 3a |oad(6,Sy|mTable):|
|00002140| 20 a4 6c 6f 61 64 28 37 | 2c 53 74 72 54 61 62 6c | .load(7|,StrTabl|
|00002150| 65 29 3a 20 4d 4f 56 20 | 38 2c 30 3a 20 41 44 44 |e): MOV |8,0: ADD|
|00002160| 20 38 2c 36 2c 38 2c 4c | 53 4c 23 34 0d 0a 0a 35 | 8,6,8,L|SL#4...5|
|00002170| 20 20 41 44 52 20 39 2c | 70 73 79 6d 62 75 66 66 | ADR 9,|psymbuff|
|00002180| 3a 20 4d 4f 56 20 31 30 | 2c 23 30 20 3b 68 6f 77 |: MOV 10|,#0 ;how|
|00002190| 20 66 61 72 20 69 6e 74 | 6f 20 62 75 66 66 65 72 | far int|o buffer|
|000021a0| 3f 0d 0a 14 32 20 20 4c | 44 52 20 30 2c 5b 38 2c |?...2 L|DR 0,[8,|
|000021b0| 23 34 5d 3a 20 80 20 31 | 2c 30 2c 23 35 3a 20 43 |#4]: . 1|,0,#5: C|
|000021c0| 4d 50 20 31 2c 23 31 3a | 20 42 4e 45 20 70 73 6e |MP 1,#1:| BNE psn|
|000021d0| 6f 74 31 0d 0a 1e 13 20 | 20 4c 44 52 20 30 2c 5b |ot1.... | LDR 0,[|
|000021e0| 38 2c 23 31 32 5d 0d 0a | 28 20 2e 70 73 6c 31 20 |8,#12]..|( .psl1 |
|000021f0| 4c 44 52 42 20 31 2c 5b | 37 2c 30 5d 3a 20 43 4d |LDRB 1,[|7,0]: CM|
|00002200| 50 20 31 2c 23 30 0d 0a | 32 3d 20 20 53 54 52 4e |P 1,#0..|2= STRN|
|00002210| 45 42 20 31 2c 5b 39 2c | 31 30 5d 3a 20 41 44 44 |EB 1,[9,|10]: ADD|
|00002220| 4e 45 20 31 30 2c 31 30 | 2c 23 31 3a 20 41 44 44 |NE 10,10|,#1: ADD|
|00002230| 4e 45 20 30 2c 30 2c 23 | 31 3a 20 42 4e 45 20 70 |NE 0,0,#|1: BNE p|
|00002240| 73 6c 31 0d 0a 3c 2e 20 | 20 4d 4f 56 20 30 2c 23 |sl1..<. | MOV 0,#|
|00002250| 97 22 3a 22 3a 20 53 54 | 52 42 20 30 2c 5b 39 2c |.":": ST|RB 0,[9,|
|00002260| 31 30 5d 3a 20 41 44 44 | 20 31 30 2c 31 30 2c 23 |10]: ADD| 10,10,#|
|00002270| 31 0d 0a 46 2e 20 20 4d | 4f 56 20 30 2c 23 97 22 |1..F. M|OV 0,#."|
|00002280| 26 22 3a 20 53 54 52 42 | 20 30 2c 5b 39 2c 31 30 |&": STRB| 0,[9,10|
|00002290| 5d 3a 20 41 44 44 20 31 | 30 2c 31 30 2c 23 31 0d |]: ADD 1|0,10,#1.|
|000022a0| 0a 50 4c 20 20 4c 44 52 | 20 30 2c 5b 38 2c 23 38 |.PL LDR| 0,[8,#8|
|000022b0| 5d 3a 20 41 44 44 20 31 | 2c 39 2c 31 30 3a 20 4d |]: ADD 1|,9,10: M|
|000022c0| 4f 56 20 32 2c 23 37 3a | 20 53 57 49 20 22 4f 53 |OV 2,#7:| SWI "OS|
|000022d0| 5f 43 6f 6e 76 65 72 74 | 48 65 78 36 22 3a 20 41 |_Convert|Hex6": A|
|000022e0| 44 44 20 31 30 2c 31 30 | 2c 23 36 0d 0a 5a 2e 20 |DD 10,10|,#6..Z. |
|000022f0| 20 4d 4f 56 20 30 2c 23 | 97 22 20 22 3a 20 53 54 | MOV 0,#|." ": ST|
|00002300| 52 42 20 30 2c 5b 39 2c | 31 30 5d 3a 20 41 44 44 |RB 0,[9,|10]: ADD|
|00002310| 20 31 30 2c 31 30 2c 23 | 31 0d 0a 64 1d 2e 70 73 | 10,10,#|1..d..ps|
|00002320| 6c 32 20 54 53 54 20 31 | 30 2c 23 37 3a 20 42 45 |l2 TST 1|0,#7: BE|
|00002330| 51 20 70 73 6c 33 0d 0a | 6e 29 20 20 53 54 52 42 |Q psl3..|n) STRB|
|00002340| 20 30 2c 5b 39 2c 31 30 | 5d 3a 20 41 44 44 20 31 | 0,[9,10|]: ADD 1|
|00002350| 30 2c 31 30 2c 23 31 3a | 20 42 20 70 73 6c 32 0d |0,10,#1:| B psl2.|
|00002360| 0a 78 09 2e 70 73 6c 33 | 0d 0a 82 1c 20 20 43 4d |.x..psl3|.... CM|
|00002370| 50 20 31 30 2c 23 31 36 | 3a 20 42 4c 54 20 70 73 |P 10,#16|: BLT ps|
|00002380| 6c 32 2b 38 0d 0a 8c 0f | 20 20 4c 44 52 20 30 2c |l2+8....| LDR 0,|
|00002390| 5b 38 5d 0d 0a 96 20 2e | 70 73 6c 34 20 4c 44 52 |[8]... .|psl4 LDR|
|000023a0| 42 20 31 2c 5b 37 2c 30 | 5d 3a 20 43 4d 50 20 31 |B 1,[7,0|]: CMP 1|
|000023b0| 2c 23 30 0d 0a a0 3d 20 | 20 53 54 52 4e 45 42 20 |,#0...= | STRNEB |
|000023c0| 31 2c 5b 39 2c 31 30 5d | 3a 20 41 44 44 4e 45 20 |1,[9,10]|: ADDNE |
|000023d0| 31 30 2c 31 30 2c 23 31 | 3a 20 41 44 44 4e 45 20 |10,10,#1|: ADDNE |
|000023e0| 30 2c 30 2c 23 31 3a 20 | 42 4e 45 20 70 73 6c 34 |0,0,#1: |BNE psl4|
|000023f0| 0d 0a aa 0b 20 20 42 20 | 70 73 31 0d 0a b4 0b 2e |.... B |ps1.....|
|00002400| 70 73 6e 6f 74 31 0d 0a | be 0f 20 20 4c 44 52 20 |psnot1..|.. LDR |
|00002410| 30 2c 5b 38 5d 0d 0a c8 | 20 2e 70 73 6c 35 20 4c |0,[8]...| .psl5 L|
|00002420| 44 52 42 20 31 2c 5b 37 | 2c 30 5d 3a 20 43 4d 50 |DRB 1,[7|,0]: CMP|
|00002430| 20 31 2c 23 30 0d 0a d2 | 3d 20 20 53 54 52 4e 45 | 1,#0...|= STRNE|
|00002440| 42 20 31 2c 5b 39 2c 31 | 30 5d 3a 20 41 44 44 4e |B 1,[9,1|0]: ADDN|
|00002450| 45 20 31 30 2c 31 30 2c | 23 31 3a 20 41 44 44 4e |E 10,10,|#1: ADDN|
|00002460| 45 20 30 2c 30 2c 23 31 | 3a 20 42 4e 45 20 70 73 |E 0,0,#1|: BNE ps|
|00002470| 6c 35 0d 0a dc 2e 20 20 | 4d 4f 56 20 30 2c 23 97 |l5.... |MOV 0,#.|
|00002480| 22 20 22 3a 20 53 54 52 | 42 20 30 2c 5b 39 2c 31 |" ": STR|B 0,[9,1|
|00002490| 30 5d 3a 20 41 44 44 20 | 31 30 2c 31 30 2c 23 31 |0]: ADD |10,10,#1|
|000024a0| 0d 0a e6 21 20 20 53 54 | 52 42 20 30 2c 5b 39 2c |...! ST|RB 0,[9,|
|000024b0| 31 30 5d 3a 20 41 44 44 | 20 31 30 2c 31 30 2c 23 |10]: ADD| 10,10,#|
|000024c0| 31 0d 0a f0 1d 2e 70 73 | 6c 36 20 54 53 54 20 31 |1.....ps|l6 TST 1|
|000024d0| 30 2c 23 37 3a 20 42 45 | 51 20 70 73 6c 37 0d 0a |0,#7: BE|Q psl7..|
|000024e0| fa 29 20 20 53 54 52 42 | 20 30 2c 5b 39 2c 31 30 |.) STRB| 0,[9,10|
|000024f0| 5d 3a 20 41 44 44 20 31 | 30 2c 31 30 2c 23 31 3a |]: ADD 1|0,10,#1:|
|00002500| 20 42 20 70 73 6c 36 0d | 0b 04 09 2e 70 73 6c 37 | B psl6.|....psl7|
|00002510| 0d 0b 0e 1c 20 20 43 4d | 50 20 31 30 2c 23 32 34 |.... CM|P 10,#24|
|00002520| 3a 20 42 4c 54 20 70 73 | 6c 36 2b 38 0d 0b 18 29 |: BLT ps|l6+8...)|
|00002530| 20 20 4c 44 52 20 30 2c | 5b 38 2c 23 34 5d 3a 20 | LDR 0,|[8,#4]: |
|00002540| 54 53 54 20 30 2c 23 31 | 3a 20 42 45 51 20 70 73 |TST 0,#1|: BEQ ps|
|00002550| 6e 6f 74 31 61 0d 0b 22 | 3c 20 20 53 55 42 20 31 |not1a.."|< SUB 1|
|00002560| 30 2c 31 30 2c 23 32 3a | 20 4d 4f 56 20 30 2c 23 |0,10,#2:| MOV 0,#|
|00002570| 97 22 3d 22 3a 20 53 54 | 52 42 20 30 2c 5b 39 2c |."=": ST|RB 0,[9,|
|00002580| 31 30 5d 3a 20 41 44 44 | 20 31 30 2c 31 30 2c 23 |10]: ADD| 10,10,#|
|00002590| 32 0d 0b 2c 28 20 20 4c | 44 52 20 30 2c 5b 38 2c |2..,( L|DR 0,[8,|
|000025a0| 23 34 5d 3a 20 54 53 54 | 20 30 2c 23 34 3a 20 42 |#4]: TST| 0,#4: B|
|000025b0| 4e 45 20 70 73 6e 6f 74 | 34 0d 0b 36 13 20 20 4c |NE psnot|4..6. L|
|000025c0| 44 52 20 30 2c 5b 38 2c | 23 31 32 5d 0d 0b 40 20 |DR 0,[8,|#12]..@ |
|000025d0| 2e 70 73 6c 38 20 4c 44 | 52 42 20 31 2c 5b 37 2c |.psl8 LD|RB 1,[7,|
|000025e0| 30 5d 3a 20 43 4d 50 20 | 31 2c 23 30 0d 0b 4a 3d |0]: CMP |1,#0..J=|
|000025f0| 20 20 53 54 52 4e 45 42 | 20 31 2c 5b 39 2c 31 30 | STRNEB| 1,[9,10|
|00002600| 5d 3a 20 41 44 44 4e 45 | 20 31 30 2c 31 30 2c 23 |]: ADDNE| 10,10,#|
|00002610| 31 3a 20 41 44 44 4e 45 | 20 30 2c 30 2c 23 31 3a |1: ADDNE| 0,0,#1:|
|00002620| 20 42 4e 45 20 70 73 6c | 38 0d 0b 54 2e 20 20 4d | BNE psl|8..T. M|
|00002630| 4f 56 20 30 2c 23 97 22 | 3a 22 3a 20 53 54 52 42 |OV 0,#."|:": STRB|
|00002640| 20 30 2c 5b 39 2c 31 30 | 5d 3a 20 41 44 44 20 31 | 0,[9,10|]: ADD 1|
|00002650| 30 2c 31 30 2c 23 31 0d | 0b 5e 0b 2e 70 73 6e 6f |0,10,#1.|.^..psno|
|00002660| 74 34 0d 0b 68 2e 20 20 | 4d 4f 56 20 30 2c 23 97 |t4..h. |MOV 0,#.|
|00002670| 22 26 22 3a 20 53 54 52 | 42 20 30 2c 5b 39 2c 31 |"&": STR|B 0,[9,1|
|00002680| 30 5d 3a 20 41 44 44 20 | 31 30 2c 31 30 2c 23 31 |0]: ADD |10,10,#1|
|00002690| 0d 0b 72 4c 20 20 4c 44 | 52 20 30 2c 5b 38 2c 23 |..rL LD|R 0,[8,#|
|000026a0| 38 5d 3a 20 41 44 44 20 | 31 2c 39 2c 31 30 3a 20 |8]: ADD |1,9,10: |
|000026b0| 4d 4f 56 20 32 2c 23 37 | 3a 20 53 57 49 20 22 4f |MOV 2,#7|: SWI "O|
|000026c0| 53 5f 43 6f 6e 76 65 72 | 74 48 65 78 36 22 3a 20 |S_Conver|tHex6": |
|000026d0| 41 44 44 20 31 30 2c 31 | 30 2c 23 36 0d 0b 7c 0c |ADD 10,1|0,#6..|.|
|000026e0| 20 20 42 20 70 73 31 61 | 0d 0b 86 0c 2e 70 73 6e | B ps1a|.....psn|
|000026f0| 6f 74 31 61 0d 0b 90 2a | 20 20 4c 44 52 20 30 2c |ot1a...*| LDR 0,|
|00002700| 5b 38 2c 23 34 5d 3a 20 | 54 53 54 20 30 2c 23 36 |[8,#4]: |TST 0,#6|
|00002710| 34 3a 20 42 45 51 20 70 | 73 6e 6f 74 36 34 0d 0b |4: BEQ p|snot64..|
|00002720| 9a 21 20 20 41 44 52 20 | 30 2c 70 73 43 6f 6d 6d |.! ADR |0,psComm|
|00002730| 6f 6e 3a 20 42 4c 20 70 | 73 41 70 70 65 6e 64 0d |on: BL p|sAppend.|
|00002740| 0b a4 13 20 20 4c 44 52 | 20 30 2c 5b 38 2c 23 31 |... LDR| 0,[8,#1|
|00002750| 32 5d 0d 0b ae 20 2e 70 | 73 6c 39 20 4c 44 52 42 |2]... .p|sl9 LDRB|
|00002760| 20 31 2c 5b 37 2c 30 5d | 3a 20 43 4d 50 20 31 2c | 1,[7,0]|: CMP 1,|
|00002770| 23 30 0d 0b b8 3d 20 20 | 53 54 52 4e 45 42 20 31 |#0...= |STRNEB 1|
|00002780| 2c 5b 39 2c 31 30 5d 3a | 20 41 44 44 4e 45 20 31 |,[9,10]:| ADDNE 1|
|00002790| 30 2c 31 30 2c 23 31 3a | 20 41 44 44 4e 45 20 30 |0,10,#1:| ADDNE 0|
|000027a0| 2c 30 2c 23 31 3a 20 42 | 4e 45 20 70 73 6c 39 0d |,0,#1: B|NE psl9.|
|000027b0| 0b c2 21 20 20 41 44 52 | 20 30 2c 70 73 4c 65 6e |..! ADR| 0,psLen|
|000027c0| 67 74 68 3a 20 42 4c 20 | 70 73 41 70 70 65 6e 64 |gth: BL |psAppend|
|000027d0| 0d 0b cc 4c 20 20 4c 44 | 52 20 30 2c 5b 38 2c 23 |...L LD|R 0,[8,#|
|000027e0| 38 5d 3a 20 41 44 44 20 | 31 2c 39 2c 31 30 3a 20 |8]: ADD |1,9,10: |
|000027f0| 4d 4f 56 20 32 2c 23 37 | 3a 20 53 57 49 20 22 4f |MOV 2,#7|: SWI "O|
|00002800| 53 5f 43 6f 6e 76 65 72 | 74 48 65 78 36 22 3a 20 |S_Conver|tHex6": |
|00002810| 41 44 44 20 31 30 2c 31 | 30 2c 23 36 0d 0b d6 0c |ADD 10,1|0,#6....|
|00002820| 2e 70 73 6e 6f 74 36 34 | 0d 0b e0 2d 20 20 3b 20 |.psnot64|...- ; |
|00002830| 4f 4d 49 54 54 49 4e 47 | 20 22 45 78 74 65 72 6e |OMITTING| "Extern|
|00002840| 61 6c 22 20 63 68 65 63 | 6b 20 5b 73 6f 6d 65 74 |al" chec|k [somet|
|00002850| 69 6d 65 73 5d 0d 0b ea | 09 2e 70 73 31 61 0d 0b |imes]...|..ps1a..|
|00002860| f4 11 2e 70 73 31 20 20 | 20 20 3b 20 cd 20 cd 0d |...ps1 | ; . ..|
|00002870| 0b fe 1c 20 20 4c 44 52 | 20 30 2c 5b 38 2c 23 34 |... LDR| 0,[8,#4|
|00002880| 5d 3a 20 4d 4f 56 20 32 | 2c 23 30 0d 0c 08 2f 20 |]: MOV 2|,#0.../ |
|00002890| 20 a4 6c 6f 61 64 28 31 | 34 2c 45 78 74 46 6c 61 | .load(1|4,ExtFla|
|000028a0| 67 29 3a 20 43 4d 50 20 | 31 34 2c 23 30 3a 20 42 |g): CMP |14,#0: B|
|000028b0| 45 51 20 50 53 6e 6f 65 | 78 74 0d 0c 12 33 20 20 |EQ PSnoe|xt...3 |
|000028c0| 80 20 31 2c 30 2c 23 33 | 3a 20 20 43 4d 50 20 31 |. 1,0,#3|: CMP 1|
|000028d0| 2c 23 32 3a 20 20 84 52 | 45 51 20 32 2c 32 2c 23 |,#2: .R|EQ 2,2,#|
|000028e0| 31 36 20 3b 20 65 78 74 | 65 72 6e 61 6c 0d 0c 1c |16 ; ext|ernal...|
|000028f0| 0c 2e 50 53 6e 6f 65 78 | 74 0d 0c 26 30 20 20 80 |..PSnoex|t..&0 .|
|00002900| 20 31 2c 30 2c 23 32 3a | 20 20 43 4d 50 20 31 2c | 1,0,#2:| CMP 1,|
|00002910| 23 30 3a 20 20 84 52 45 | 51 20 32 2c 32 2c 23 31 |#0: .RE|Q 2,2,#1|
|00002920| 20 20 3b 20 6c 6f 63 61 | 6c 0d 0c 30 3b 20 20 80 | ; loca|l..0; .|
|00002930| 20 31 2c 30 2c 23 39 3a | 20 20 43 4d 50 20 31 2c | 1,0,#9:| CMP 1,|
|00002940| 23 38 3a 20 20 84 52 45 | 51 20 32 2c 32 2c 23 32 |#8: .RE|Q 2,2,#2|
|00002950| 20 20 3b 20 63 61 73 65 | 2d 69 6e 73 65 6e 73 69 | ; case|-insensi|
|00002960| 74 69 76 65 0d 0c 3a 2f | 20 20 80 20 31 2c 30 2c |tive..:/| . 1,0,|
|00002970| 23 31 39 3a 20 43 4d 50 | 20 31 2c 23 31 38 3a 20 |#19: CMP| 1,#18: |
|00002980| 84 52 45 51 20 32 2c 32 | 2c 23 34 20 20 3b 20 77 |.REQ 2,2|,#4 ; w|
|00002990| 65 61 6b 0d 0c 44 31 20 | 20 80 20 31 2c 30 2c 23 |eak..D1 | . 1,0,#|
|000029a0| 33 35 3a 20 43 4d 50 20 | 31 2c 23 33 35 3a 20 84 |35: CMP |1,#35: .|
|000029b0| 52 45 51 20 32 2c 32 2c | 23 38 20 20 3b 20 73 74 |REQ 2,2,|#8 ; st|
|000029c0| 72 6f 6e 67 0d 0c 4e 1e | 20 20 43 4d 50 20 32 2c |rong..N.| CMP 2,|
|000029d0| 23 30 3a 20 42 45 51 20 | 70 73 6e 6f 65 78 74 72 |#0: BEQ |psnoextr|
|000029e0| 61 73 0d 0c 58 2e 20 20 | 4d 4f 56 20 30 2c 23 97 |as..X. |MOV 0,#.|
|000029f0| 22 20 22 3a 20 53 54 52 | 42 20 30 2c 5b 39 2c 31 |" ": STR|B 0,[9,1|
|00002a00| 30 5d 3a 20 41 44 44 20 | 31 30 2c 31 30 2c 23 31 |0]: ADD |10,10,#1|
|00002a10| 0d 0c 62 2e 20 20 4d 4f | 56 20 30 2c 23 97 22 28 |..b. MO|V 0,#."(|
|00002a20| 22 3a 20 53 54 52 42 20 | 30 2c 5b 39 2c 31 30 5d |": STRB |0,[9,10]|
|00002a30| 3a 20 41 44 44 20 31 30 | 2c 31 30 2c 23 31 0d 0c |: ADD 10|,10,#1..|
|00002a40| 6c 31 20 20 54 53 54 20 | 32 2c 23 31 36 3a 41 44 |l1 TST |2,#16:AD|
|00002a50| 52 4e 45 20 30 2c 70 73 | 45 78 74 65 72 6e 61 6c |RNE 0,ps|External|
|00002a60| 3a 20 42 4c 4e 45 20 70 | 73 41 70 70 65 6e 64 0d |: BLNE p|sAppend.|
|00002a70| 0c 76 2f 20 20 54 53 54 | 20 32 2c 23 31 3a 20 41 |.v/ TST| 2,#1: A|
|00002a80| 44 52 4e 45 20 30 2c 70 | 73 4c 6f 63 61 6c 3a 20 |DRNE 0,p|sLocal: |
|00002a90| 20 42 4c 4e 45 20 70 73 | 41 70 70 65 6e 64 0d 0c | BLNE ps|Append..|
|00002aa0| 80 2f 20 20 54 53 54 20 | 32 2c 23 32 3a 20 41 44 |./ TST |2,#2: AD|
|00002ab0| 52 4e 45 20 30 2c 70 73 | 43 61 73 65 49 3a 20 20 |RNE 0,ps|CaseI: |
|00002ac0| 42 4c 4e 45 20 70 73 41 | 70 70 65 6e 64 0d 0c 8a |BLNE psA|ppend...|
|00002ad0| 2f 20 20 54 53 54 20 32 | 2c 23 34 3a 20 41 44 52 |/ TST 2|,#4: ADR|
|00002ae0| 4e 45 20 30 2c 70 73 57 | 65 61 6b 3a 20 20 20 42 |NE 0,psW|eak: B|
|00002af0| 4c 4e 45 20 70 73 41 70 | 70 65 6e 64 0d 0c 94 2f |LNE psAp|pend.../|
|00002b00| 20 20 54 53 54 20 32 2c | 23 38 3a 20 41 44 52 4e | TST 2,|#8: ADRN|
|00002b10| 45 20 30 2c 70 73 53 74 | 72 6f 6e 67 3a 20 42 4c |E 0,psSt|rong: BL|
|00002b20| 4e 45 20 70 73 41 70 70 | 65 6e 64 0d 0c 9e 3c 20 |NE psApp|end...< |
|00002b30| 20 53 55 42 20 31 30 2c | 31 30 2c 23 31 3a 20 4d | SUB 10,|10,#1: M|
|00002b40| 4f 56 20 30 2c 23 97 22 | 29 22 3a 20 53 54 52 42 |OV 0,#."|)": STRB|
|00002b50| 20 30 2c 5b 39 2c 31 30 | 5d 3a 20 41 44 44 20 31 | 0,[9,10|]: ADD 1|
|00002b60| 30 2c 31 30 2c 23 31 0d | 0c a8 0f 2e 70 73 6e 6f |0,10,#1.|....psno|
|00002b70| 65 78 74 72 61 73 0d 0c | b2 14 20 20 a4 6c 6f 61 |extras..|.. .loa|
|00002b80| 64 28 31 31 2c 58 50 6f | 73 29 0d 0c bc 28 20 20 |d(11,XPo|s)...( |
|00002b90| 4d 4f 56 20 35 2c 23 30 | 3a 20 43 4d 50 20 31 31 |MOV 5,#0|: CMP 11|
|00002ba0| 2c 23 30 3a 20 41 44 44 | 4e 45 20 35 2c 35 2c 23 |,#0: ADD|NE 5,5,#|
|00002bb0| 34 30 0d 0c c6 1f 20 20 | 43 4d 50 20 31 31 2c 23 |40.... |CMP 11,#|
|00002bc0| 34 30 3a 20 41 44 44 47 | 45 20 35 2c 35 2c 23 34 |40: ADDG|E 5,5,#4|
|00002bd0| 30 0d 0c d0 1f 20 20 43 | 4d 50 20 31 31 2c 23 38 |0.... C|MP 11,#8|
|00002be0| 30 3a 20 41 44 44 47 45 | 20 35 2c 35 2c 23 34 30 |0: ADDGE| 5,5,#40|
|00002bf0| 0d 0c da 20 20 20 43 4d | 50 20 31 31 2c 23 31 32 |... CM|P 11,#12|
|00002c00| 30 3a 20 41 44 44 47 45 | 20 35 2c 35 2c 23 34 30 |0: ADDGE| 5,5,#40|
|00002c10| 0d 0c e4 20 20 20 43 4d | 50 20 31 31 2c 23 31 36 |... CM|P 11,#16|
|00002c20| 30 3a 20 41 44 44 47 45 | 20 35 2c 35 2c 23 34 30 |0: ADDGE| 5,5,#40|
|00002c30| 0d 0c ee 3d 20 20 41 44 | 44 20 34 2c 35 2c 31 30 |...= AD|D 4,5,10|
|00002c40| 3a 20 a4 6c 6f 61 64 28 | 33 2c 57 69 64 74 68 29 |: .load(|3,Width)|
|00002c50| 3a 20 43 4d 50 20 34 2c | 33 3a 20 53 57 49 47 45 |: CMP 4,|3: SWIGE|
|00002c60| 20 22 4f 53 5f 4e 65 77 | 4c 69 6e 65 22 0d 0c f8 | "OS_New|Line"...|
|00002c70| 1d 20 20 4d 4f 56 47 45 | 20 31 31 2c 23 30 3a 20 |. MOVGE| 11,#0: |
|00002c80| 4d 4f 56 47 45 20 35 2c | 23 30 0d 0d 02 0a 2e 70 |MOVGE 5,|#0.....p|
|00002c90| 73 6c 31 30 0d 0d 0c 37 | 20 20 43 4d 50 20 31 31 |sl10...7| CMP 11|
|00002ca0| 2c 35 3a 20 53 57 49 4c | 54 20 32 35 36 2b 33 32 |,5: SWIL|T 256+32|
|00002cb0| 3a 20 41 44 44 4c 54 20 | 31 31 2c 31 31 2c 23 31 |: ADDLT |11,11,#1|
|00002cc0| 3a 20 42 4c 54 20 70 73 | 6c 31 30 0d 0d 16 37 20 |: BLT ps|l10...7 |
|00002cd0| 20 4d 4f 56 20 30 2c 23 | 30 3a 20 53 54 52 42 20 | MOV 0,#|0: STRB |
|00002ce0| 30 2c 5b 39 2c 31 30 5d | 3a 20 4d 4f 56 20 30 2c |0,[9,10]|: MOV 0,|
|00002cf0| 39 3a 20 53 57 49 20 22 | 4f 53 5f 57 72 69 74 65 |9: SWI "|OS_Write|
|00002d00| 30 22 0d 0d 20 23 20 20 | 41 44 44 20 31 31 2c 31 |0".. # |ADD 11,1|
|00002d10| 31 2c 31 30 3a 20 a4 73 | 74 6f 72 65 28 31 31 2c |1,10: .s|tore(11,|
|00002d20| 58 50 6f 73 29 0d 0d 2a | 19 20 20 4c 44 4d 46 44 |XPos)..*|. LDMFD|
|00002d30| 20 31 33 21 2c 7b 30 2d | 31 31 2c 31 35 7d 0d 0d | 13!,{0-|11,15}..|
|00002d40| 34 04 0d 0d 3e 25 2e 70 | 73 41 70 70 65 6e 64 20 |4...>%.p|sAppend |
|00002d50| 3b 20 72 30 3d 73 74 72 | 69 6e 67 20 2d 3e 20 77 |; r0=str|ing -> w|
|00002d60| 68 61 74 65 76 65 72 0d | 0d 48 27 20 20 4c 44 52 |hatever.|.H' LDR|
|00002d70| 42 20 31 2c 5b 30 5d 2c | 23 31 3a 20 43 4d 50 20 |B 1,[0],|#1: CMP |
|00002d80| 31 2c 23 30 3a 20 ec 51 | 20 31 35 2c 31 34 0d 0d |1,#0: .Q| 15,14..|
|00002d90| 52 2d 20 20 53 54 52 42 | 20 31 2c 5b 39 2c 31 30 |R- STRB| 1,[9,10|
|00002da0| 5d 3a 20 41 44 44 20 31 | 30 2c 31 30 2c 23 31 3a |]: ADD 1|0,10,#1:|
|00002db0| 20 42 20 70 73 41 70 70 | 65 6e 64 0d 0d 5c 04 0d | B psApp|end..\..|
|00002dc0| 0d 66 25 2e 73 6f 72 74 | 73 70 61 63 65 20 45 51 |.f%.sort|space EQ|
|00002dd0| 55 44 20 30 3a 20 45 51 | 55 44 20 30 3a 20 45 51 |UD 0: EQ|UD 0: EQ|
|00002de0| 55 44 20 30 0d 0d 70 35 | 2e 6d 6f 72 65 73 70 61 |UD 0..p5|.morespa|
|00002df0| 63 65 20 45 51 55 44 20 | 30 3a 20 45 51 55 44 20 |ce EQUD |0: EQUD |
|00002e00| 30 3a 20 45 51 55 44 20 | 30 3a 20 45 51 55 44 20 |0: EQUD |0: EQUD |
|00002e10| 30 3a 20 45 51 55 44 20 | 30 0d 0d 7a 10 2e 53 6f |0: EQUD |0..z..So|
|00002e20| 72 74 53 79 6d 62 6f 6c | 73 0d 0d 84 29 20 20 41 |rtSymbol|s...) A|
|00002e30| 44 52 20 30 2c 73 6f 72 | 74 73 70 61 63 65 3a 20 |DR 0,sor|tspace: |
|00002e40| 53 54 4d 49 41 20 30 2c | 7b 31 32 2c 31 33 2c 31 |STMIA 0,|{12,13,1|
|00002e50| 34 7d 0d 0d 8e 39 20 20 | a4 6c 6f 61 64 28 30 2c |4}...9 |.load(0,|
|00002e60| 4e 53 79 6d 62 73 29 3a | 20 43 4d 50 20 30 2c 23 |NSymbs):| CMP 0,#|
|00002e70| 32 3a 20 4d 4f 56 4c 54 | 20 31 35 2c 31 34 20 20 |2: MOVLT| 15,14 |
|00002e80| 20 3b 20 3c 32 20 69 74 | 65 6d 73 0d 0d 98 3a 20 | ; <2 it|ems...: |
|00002e90| 20 4d 4f 56 20 36 2c 30 | 2c 4c 53 52 23 31 20 20 | MOV 6,0|,LSR#1 |
|00002ea0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00002eb0| 20 20 20 20 20 20 20 20 | 20 20 20 3b 20 73 74 65 | | ; ste|
|00002ec0| 70 73 69 7a 65 0d 0d a2 | 17 20 20 a4 6c 6f 61 64 |psize...|. .load|
|00002ed0| 28 31 2c 53 79 6d 54 61 | 62 6c 65 29 0d 0d ac 29 |(1,SymTa|ble)...)|
|00002ee0| 20 20 41 44 44 20 34 2c | 31 2c 30 2c 4c 53 4c 23 | ADD 4,|1,0,LSL#|
|00002ef0| 34 3a 20 a4 6c 6f 61 64 | 28 30 2c 53 79 6d 49 6e |4: .load|(0,SymIn|
|00002f00| 64 65 78 32 29 0d 0d b6 | 0e 2e 73 73 62 69 67 6c |dex2)...|..ssbigl|
|00002f10| 6f 6f 70 0d 0d c0 15 20 | 20 41 44 44 20 33 2c 31 |oop.... | ADD 3,1|
|00002f20| 2c 36 2c 4c 53 4c 23 34 | 0d 0d ca 10 2e 73 73 6f |,6,LSL#4|.....sso|
|00002f30| 75 74 65 72 6c 6f 6f 70 | 0d 0d d4 3c 20 20 53 55 |uterloop|...< SU|
|00002f40| 42 20 35 2c 33 2c 31 3a | 20 4d 4f 56 20 35 2c 35 |B 5,3,1:| MOV 5,5|
|00002f50| 2c 4c 53 52 23 32 3a 20 | 4c 44 52 20 35 2c 5b 30 |,LSR#2: |LDR 5,[0|
|00002f60| 2c 35 5d 3a 20 53 54 52 | 20 35 2c 6d 6f 72 65 73 |,5]: STR| 5,mores|
|00002f70| 70 61 63 65 0d 0d de 37 | 20 20 4c 44 4d 49 41 20 |pace...7| LDMIA |
|00002f80| 33 2c 7b 37 2d 31 30 7d | 3a 20 41 44 52 20 35 2c |3,{7-10}|: ADR 5,|
|00002f90| 6d 6f 72 65 73 70 61 63 | 65 2b 34 3a 20 53 54 4d |morespac|e+4: STM|
|00002fa0| 49 41 20 35 2c 7b 37 2d | 31 30 7d 0d 0d e8 15 20 |IA 5,{7-|10}.... |
|00002fb0| 20 53 55 42 20 32 2c 33 | 2c 36 2c 4c 53 4c 23 34 | SUB 2,3|,6,LSL#4|
|00002fc0| 0d 0d f2 1e 20 20 53 55 | 42 20 35 2c 32 2c 31 3a |.... SU|B 5,2,1:|
|00002fd0| 20 4d 4f 56 20 35 2c 35 | 2c 4c 53 52 23 32 0d 0d | MOV 5,5|,LSR#2..|
|00002fe0| fc 10 2e 73 73 69 6e 6e | 65 72 6c 6f 6f 70 0d 0e |...ssinn|erloop..|
|00002ff0| 06 22 20 20 4c 44 4d 49 | 41 20 32 2c 7b 31 31 2d |." LDMI|A 2,{11-|
|00003000| 31 34 7d 3a 20 4c 44 52 | 20 37 2c 5b 30 2c 35 5d |14}: LDR| 7,[0,5]|
|00003010| 0d 0e 10 1b 20 20 43 4d | 50 20 39 2c 31 33 3a 20 |.... CM|P 9,13: |
|00003020| 42 47 45 20 73 73 66 6f | 75 6e 64 0d 0e 1a 37 20 |BGE ssfo|und...7 |
|00003030| 20 41 44 44 20 32 2c 32 | 2c 36 2c 4c 53 4c 23 34 | ADD 2,2|,6,LSL#4|
|00003040| 3a 20 53 54 4d 49 41 20 | 32 2c 7b 31 31 2d 31 34 |: STMIA |2,{11-14|
|00003050| 7d 3a 20 53 55 42 20 32 | 2c 32 2c 36 2c 4c 53 4c |}: SUB 2|,2,6,LSL|
|00003060| 23 35 0d 0e 24 33 20 20 | 41 44 44 20 35 2c 35 2c |#5..$3 |ADD 5,5,|
|00003070| 36 2c 4c 53 4c 23 32 3a | 20 53 54 52 20 37 2c 5b |6,LSL#2:| STR 7,[|
|00003080| 30 2c 35 5d 3a 20 53 55 | 42 20 35 2c 35 2c 36 2c |0,5]: SU|B 5,5,6,|
|00003090| 4c 53 4c 23 33 0d 0e 2e | 1e 20 20 43 4d 50 20 32 |LSL#3...|. CMP 2|
|000030a0| 2c 31 3a 20 42 47 45 20 | 73 73 69 6e 6e 65 72 6c |,1: BGE |ssinnerl|
|000030b0| 6f 6f 70 0d 0e 38 0c 2e | 73 73 66 6f 75 6e 64 0d |oop..8..|ssfound.|
|000030c0| 0e 42 27 20 20 41 44 52 | 20 35 2c 6d 6f 72 65 73 |.B' ADR| 5,mores|
|000030d0| 70 61 63 65 2b 34 3a 20 | 4c 44 4d 49 41 20 35 2c |pace+4: |LDMIA 5,|
|000030e0| 7b 37 2d 31 30 7d 0d 0e | 4c 25 20 20 41 44 44 20 |{7-10}..|L% ADD |
|000030f0| 32 2c 32 2c 36 2c 4c 53 | 4c 23 34 3a 20 53 54 4d |2,2,6,LS|L#4: STM|
|00003100| 49 41 20 32 2c 7b 37 2d | 31 30 7d 0d 0e 56 3c 20 |IA 2,{7-|10}..V< |
|00003110| 20 53 55 42 20 35 2c 32 | 2c 31 3a 20 4d 4f 56 20 | SUB 5,2|,1: MOV |
|00003120| 35 2c 35 2c 4c 53 52 23 | 32 3a 20 4c 44 52 20 37 |5,5,LSR#|2: LDR 7|
|00003130| 2c 6d 6f 72 65 73 70 61 | 63 65 3a 20 53 54 52 20 |,morespa|ce: STR |
|00003140| 37 2c 5b 30 2c 35 5d 0d | 0e 60 15 20 20 53 55 42 |7,[0,5].|.`. SUB|
|00003150| 20 32 2c 32 2c 36 2c 4c | 53 4c 23 34 0d 0e 6a 2b | 2,2,6,L|SL#4..j+|
|00003160| 20 20 41 44 44 20 33 2c | 33 2c 23 31 36 3a 20 43 | ADD 3,|3,#16: C|
|00003170| 4d 50 20 33 2c 34 3a 20 | 42 4c 54 20 73 73 6f 75 |MP 3,4: |BLT ssou|
|00003180| 74 65 72 6c 6f 6f 70 0d | 0e 74 23 20 20 4d 4f 56 |terloop.|.t# MOV|
|00003190| 53 20 36 2c 36 2c 4c 53 | 52 23 31 3a 20 42 4e 45 |S 6,6,LS|R#1: BNE|
|000031a0| 20 73 73 62 69 67 6c 6f | 6f 70 0d 0e 7e 29 20 20 | ssbiglo|op..~) |
|000031b0| 41 44 52 20 30 2c 73 6f | 72 74 73 70 61 63 65 3a |ADR 0,so|rtspace:|
|000031c0| 20 4c 44 4d 49 41 20 30 | 2c 7b 31 32 2c 31 33 2c | LDMIA 0|,{12,13,|
|000031d0| 31 35 7d 0d 0e 88 04 0d | 0e 92 1c 2e 41 72 65 61 |15}.....|....Area|
|000031e0| 53 74 72 20 45 51 55 53 | 20 22 4f 42 4a 5f 41 52 |Str EQUS| "OBJ_AR|
|000031f0| 45 41 22 0d 0e 9c 0e 2e | 49 6e 69 74 41 72 65 61 |EA".....|InitArea|
|00003200| 73 0d 0e a6 14 20 20 53 | 54 4d 46 44 20 31 33 21 |s.... S|TMFD 13!|
|00003210| 2c 7b 31 34 7d 0d 0e b0 | 3e 20 20 41 44 52 20 30 |,{14}...|> ADR 0|
|00003220| 2c 41 72 65 61 53 74 72 | 3a 20 42 4c 20 4c 6f 6f |,AreaStr|: BL Loo|
|00003230| 6b 75 70 3a 20 42 4c 20 | 53 65 74 50 74 72 3a 20 |kup: BL |SetPtr: |
|00003240| a4 73 74 6f 72 65 28 32 | 2c 41 72 65 61 53 74 61 |.store(2|,AreaSta|
|00003250| 72 74 29 0d 0e ba 14 20 | 20 4c 44 4d 46 44 20 31 |rt).... | LDMFD 1|
|00003260| 33 21 2c 7b 31 35 7d 0d | 0e c4 04 0d 0e ce 21 2e |3!,{15}.|......!.|
|00003270| 53 68 6f 77 41 72 65 61 | 20 3b 20 6e 6f 74 68 69 |ShowArea| ; nothi|
|00003280| 6e 67 20 63 6f 72 72 75 | 70 74 65 64 0d 0e d8 19 |ng corru|pted....|
|00003290| 20 20 53 54 4d 46 44 20 | 31 33 21 2c 7b 30 2d 31 | STMFD |13!,{0-1|
|000032a0| 31 2c 31 34 7d 0d 0e e2 | 2b 20 20 a4 6c 6f 61 64 |1,14}...|+ .load|
|000032b0| 28 35 2c 43 75 72 72 41 | 72 65 61 29 3a 20 a4 6c |(5,CurrA|rea): .l|
|000032c0| 6f 61 64 28 36 2c 41 72 | 65 61 56 61 6c 69 64 29 |oad(6,Ar|eaValid)|
|000032d0| 0d 0e ec 1a 20 20 43 4d | 50 20 35 2c 36 3a 20 42 |.... CM|P 5,6: B|
|000032e0| 45 51 20 56 61 6c 69 64 | 4f 4b 0d 0e f6 23 20 20 |EQ Valid|OK...# |
|000032f0| a4 6c 6f 61 64 28 36 2c | 41 72 65 61 44 61 74 61 |.load(6,|AreaData|
|00003300| 29 3a 20 41 44 44 20 36 | 2c 36 2c 23 34 0d 0f 00 |): ADD 6|,6,#4...|
|00003310| 0e 20 20 4d 4f 56 20 30 | 2c 23 30 0d 0f 0a 0d 2e |. MOV 0|,#0.....|
|00003320| 53 41 72 6f 6c 6f 6f 70 | 0d 0f 14 1f 20 20 53 55 |SAroloop|.... SU|
|00003330| 42 53 20 35 2c 35 2c 23 | 31 3a 20 42 4c 54 20 53 |BS 5,5,#|1: BLT S|
|00003340| 41 72 6f 64 6f 6e 65 0d | 0f 1e 15 20 20 41 44 44 |Arodone.|... ADD|
|00003350| 20 31 2c 35 2c 35 2c 4c | 53 4c 23 32 0d 0f 28 41 | 1,5,5,L|SL#2..(A|
|00003360| 20 20 4c 44 52 20 32 2c | 5b 36 2c 31 2c 4c 53 4c | LDR 2,|[6,1,LSL|
|00003370| 23 32 5d 3a 20 41 44 44 | 20 36 2c 36 2c 23 34 3a |#2]: ADD| 6,6,#4:|
|00003380| 20 54 53 54 20 32 2c 23 | 28 31 3c 3c 31 32 29 3a | TST 2,#|(1<<12):|
|00003390| 20 53 55 42 4e 45 20 36 | 2c 36 2c 23 34 0d 0f 32 | SUBNE 6|,6,#4..2|
|000033a0| 49 20 20 42 4e 45 20 53 | 41 72 6f 6c 6f 6f 70 20 |I BNE S|Aroloop |
|000033b0| 3b 20 74 65 63 68 6e 69 | 63 61 6c 6c 79 20 2a 73 |; techni|cally *s|
|000033c0| 68 6f 75 6c 64 2a 20 63 | 6f 75 6e 74 20 72 65 6c |hould* c|ount rel|
|000033d0| 6f 63 73 2e 20 53 61 66 | 65 72 20 6e 6f 74 20 74 |ocs. Saf|er not t|
|000033e0| 6f 2e 20 28 3f 29 0d 0f | 3c 3a 20 20 4c 44 52 20 |o. (?)..|<: LDR |
|000033f0| 32 2c 5b 36 2c 31 2c 4c | 53 4c 23 32 5d 3a 20 41 |2,[6,1,L|SL#2]: A|
|00003400| 44 44 20 32 2c 32 2c 23 | 33 3a 20 42 49 43 20 32 |DD 2,2,#|3: BIC 2|
|00003410| 2c 32 2c 23 33 3a 20 41 | 44 44 20 30 2c 30 2c 32 |,2,#3: A|DD 0,0,2|
|00003420| 0d 0f 46 40 20 20 41 44 | 44 20 36 2c 36 2c 23 34 |..F@ AD|D 6,6,#4|
|00003430| 3a 20 4c 44 52 20 32 2c | 5b 36 2c 31 2c 4c 53 4c |: LDR 2,|[6,1,LSL|
|00003440| 23 32 5d 3a 20 53 55 42 | 20 36 2c 36 2c 23 38 3a |#2]: SUB| 6,6,#8:|
|00003450| 20 41 44 44 20 30 2c 30 | 2c 32 2c 4c 53 4c 23 33 | ADD 0,0|,2,LSL#3|
|00003460| 0d 0f 50 10 20 20 42 20 | 53 41 72 6f 6c 6f 6f 70 |..P. B |SAroloop|
|00003470| 0d 0f 5a 0d 2e 53 41 72 | 6f 64 6f 6e 65 0d 0f 64 |..Z..SAr|odone..d|
|00003480| 2a 20 20 a4 73 74 6f 72 | 65 28 30 2c 41 72 65 61 |* .stor|e(0,Area|
|00003490| 4f 66 73 29 3a 20 a4 6c | 6f 61 64 28 35 2c 43 75 |Ofs): .l|oad(5,Cu|
|000034a0| 72 72 41 72 65 61 29 0d | 0f 6e 15 20 20 41 44 44 |rrArea).|.n. ADD|
|000034b0| 20 31 2c 35 2c 35 2c 4c | 53 4c 23 32 0d 0f 78 2c | 1,5,5,L|SL#2..x,|
|000034c0| 20 20 4c 44 52 20 38 2c | 5b 36 2c 31 2c 4c 53 4c | LDR 8,|[6,1,LSL|
|000034d0| 23 32 5d 3a 20 a4 73 74 | 6f 72 65 28 38 2c 41 72 |#2]: .st|ore(8,Ar|
|000034e0| 65 61 46 6c 61 67 73 29 | 0d 0f 82 23 20 20 41 44 |eaFlags)|...# AD|
|000034f0| 44 20 36 2c 36 2c 23 34 | 3a 20 4c 44 52 20 30 2c |D 6,6,#4|: LDR 0,|
|00003500| 5b 36 2c 31 2c 4c 53 4c | 23 32 5d 0d 0f 8c 30 20 |[6,1,LSL|#2]...0 |
|00003510| 20 41 44 44 20 30 2c 30 | 2c 23 33 3a 20 42 49 43 | ADD 0,0|,#3: BIC|
|00003520| 20 30 2c 30 2c 23 33 3a | 20 a4 73 74 6f 72 65 28 | 0,0,#3:| .store(|
|00003530| 30 2c 41 72 65 61 53 69 | 7a 65 29 0d 0f 96 23 20 |0,AreaSi|ze)...# |
|00003540| 20 54 53 54 20 38 2c 23 | 28 31 3c 3c 31 32 29 3a | TST 8,#|(1<<12):|
|00003550| 20 42 4e 45 20 53 41 72 | 6e 6f 64 61 74 61 0d 0f | BNE SAr|nodata..|
|00003560| a0 1f 20 20 4d 4f 56 20 | 30 2c 23 31 3a 20 a4 6c |.. MOV |0,#1: .l|
|00003570| 6f 61 64 28 31 2c 48 61 | 6e 64 6c 65 29 0d 0f aa |oad(1,Ha|ndle)...|
|00003580| 35 20 20 a4 6c 6f 61 64 | 28 32 2c 41 72 65 61 53 |5 .load|(2,AreaS|
|00003590| 74 61 72 74 29 3a 20 a4 | 6c 6f 61 64 28 33 2c 41 |tart): .|load(3,A|
|000035a0| 72 65 61 4f 66 73 29 3a | 20 41 44 44 20 32 2c 32 |reaOfs):| ADD 2,2|
|000035b0| 2c 33 0d 0f b4 22 20 20 | a4 6c 6f 61 64 28 33 2c |,3..." |.load(3,|
|000035c0| 41 72 65 61 53 69 7a 65 | 29 3a 20 41 44 44 20 32 |AreaSize|): ADD 2|
|000035d0| 2c 32 2c 33 0d 0f be 30 | 20 20 53 57 49 20 22 4f |,2,3...0| SWI "O|
|000035e0| 53 5f 41 72 67 73 22 20 | 3b 70 74 72 20 74 6f 20 |S_Args" |;ptr to |
|000035f0| 73 74 61 72 74 20 6f 66 | 20 72 65 6c 6f 63 61 74 |start of| relocat|
|00003600| 69 6f 6e 73 0d 0f c8 45 | 20 20 41 44 44 20 36 2c |ions...E| ADD 6,|
|00003610| 36 2c 23 34 3a 20 41 44 | 44 20 31 2c 35 2c 35 2c |6,#4: AD|D 1,5,5,|
|00003620| 4c 53 4c 23 32 3a 20 4c | 44 52 20 30 2c 5b 36 2c |LSL#2: L|DR 0,[6,|
|00003630| 31 2c 4c 53 4c 23 32 5d | 3a 20 a4 73 74 6f 72 65 |1,LSL#2]|: .store|
|00003640| 28 30 2c 4e 52 65 6c 73 | 29 0d 0f d2 36 20 20 4d |(0,NRels|)...6 M|
|00003650| 4f 56 20 33 2c 30 2c 4c | 53 4c 23 33 3a 20 a4 6c |OV 3,0,L|SL#3: .l|
|00003660| 6f 61 64 28 31 2c 48 61 | 6e 64 6c 65 29 3a 20 a4 |oad(1,Ha|ndle): .|
|00003670| 6c 6f 61 64 28 32 2c 52 | 65 6c 44 61 74 61 29 0d |load(2,R|elData).|
|00003680| 0f dc 1d 20 20 4d 4f 56 | 20 30 2c 23 34 3a 20 53 |... MOV| 0,#4: S|
|00003690| 57 49 20 22 4f 53 5f 47 | 42 50 42 22 0d 0f e6 11 |WI "OS_G|BPB"....|
|000036a0| 20 20 42 4c 20 53 6f 72 | 74 52 65 6c 73 0d 0f f0 | BL Sor|tRels...|
|000036b0| 0e 2e 53 41 72 6e 6f 64 | 61 74 61 0d 0f fa 2c 20 |..SArnod|ata..., |
|000036c0| 20 a4 6c 6f 61 64 28 30 | 2c 43 75 72 72 41 72 65 | .load(0|,CurrAre|
|000036d0| 61 29 3a 20 a4 73 74 6f | 72 65 28 30 2c 41 72 65 |a): .sto|re(0,Are|
|000036e0| 61 56 61 6c 69 64 29 0d | 10 04 0c 2e 56 61 6c 69 |aValid).|....Vali|
|000036f0| 64 4f 4b 0d 10 0e 39 20 | 20 a4 6c 6f 61 64 28 37 |dOK...9 | .load(7|
|00003700| 2c 41 72 65 61 44 61 74 | 61 29 3a 20 41 44 44 20 |,AreaDat|a): ADD |
|00003710| 37 2c 37 2c 35 2c 4c 53 | 4c 23 32 3a 20 41 44 44 |7,7,5,LS|L#2: ADD|
|00003720| 20 37 2c 37 2c 35 2c 4c | 53 4c 23 34 0d 10 18 29 | 7,7,5,L|SL#4...)|
|00003730| 20 20 a4 73 65 74 63 6f | 6c 28 63 5f 79 65 6c 6c | .setco|l(c_yell|
|00003740| 6f 77 29 3a 20 53 57 49 | 20 22 4f 53 5f 4e 65 77 |ow): SWI| "OS_New|
|00003750| 4c 69 6e 65 22 0d 10 22 | 15 20 20 a4 77 72 69 74 |Line".."|. .writ|
|00003760| 65 28 22 41 72 65 61 20 | 22 29 0d 10 2c 3d 20 20 |e("Area |")..,= |
|00003770| 4c 44 52 20 30 2c 5b 37 | 5d 3a 20 a4 73 74 6f 72 |LDR 0,[7|]: .stor|
|00003780| 65 28 30 2c 41 72 65 61 | 4e 61 6d 65 29 3a 20 42 |e(0,Area|Name): B|
|00003790| 4c 20 57 72 69 74 65 53 | 3a 20 a4 77 72 69 74 65 |L WriteS|: .write|
|000037a0| 28 22 20 28 26 22 29 0d | 10 36 38 20 20 a4 6c 6f |(" (&").|.68 .lo|
|000037b0| 61 64 28 30 2c 41 72 65 | 61 53 69 7a 65 29 3a 20 |ad(0,Are|aSize): |
|000037c0| 42 4c 20 57 72 69 74 65 | 48 36 3a 20 a4 77 72 69 |BL Write|H6: .wri|
|000037d0| 74 65 28 22 20 62 79 74 | 65 73 29 3a 20 22 29 0d |te(" byt|es): ").|
|000037e0| 10 40 21 20 20 4c 44 52 | 20 30 2c 5b 37 2c 23 34 |.@! LDR| 0,[7,#4|
|000037f0| 5d 3a 20 4d 4f 56 20 30 | 2c 30 2c 4c 53 52 23 38 |]: MOV 0|,0,LSR#8|
|00003800| 0d 10 4a 4f 20 20 54 53 | 54 20 30 2c 23 32 3a 20 |..JO TS|T 0,#2: |
|00003810| 42 45 51 20 53 61 73 31 | 3a 20 a4 77 72 69 74 65 |BEQ Sas1|: .write|
|00003820| 28 22 43 6f 64 65 20 22 | 29 3a 20 42 20 53 61 73 |("Code "|): B Sas|
|00003830| 32 3a 20 2e 53 61 73 31 | 20 a4 77 72 69 74 65 28 |2: .Sas1| .write(|
|00003840| 22 44 61 74 61 20 22 29 | 3a 20 2e 53 61 73 32 0d |"Data ")|: .Sas2.|
|00003850| 10 54 3d 20 20 54 53 54 | 20 30 2c 23 34 3a 20 42 |.T= TST| 0,#4: B|
|00003860| 45 51 20 53 61 73 33 3a | 20 a4 77 72 69 74 65 28 |EQ Sas3:| .write(|
|00003870| 22 43 6f 6d 6d 6f 6e 20 | 62 6c 6f 63 6b 20 64 65 |"Common |block de|
|00003880| 66 6e 20 22 29 3a 20 2e | 53 61 73 33 0d 10 5e 38 |fn "): .|Sas3..^8|
|00003890| 20 20 54 53 54 20 30 2c | 23 38 3a 20 42 45 51 20 | TST 0,|#8: BEQ |
|000038a0| 53 61 73 34 3a 20 a4 77 | 72 69 74 65 28 22 43 6f |Sas4: .w|rite("Co|
|000038b0| 6d 6d 6f 6e 20 62 6c 6f | 63 6b 20 22 29 3a 20 2e |mmon blo|ck "): .|
|000038c0| 53 61 73 34 0d 10 68 3a | 20 20 54 53 54 20 30 2c |Sas4..h:| TST 0,|
|000038d0| 23 31 36 3a 20 42 45 51 | 20 53 61 73 35 3a 20 a4 |#16: BEQ| Sas5: .|
|000038e0| 77 72 69 74 65 28 22 55 | 6e 69 6e 69 74 69 61 6c |write("U|ninitial|
|000038f0| 69 73 65 64 20 22 29 3a | 20 2e 53 61 73 35 0d 10 |ised "):| .Sas5..|
|00003900| 72 36 20 20 54 53 54 20 | 30 2c 23 33 32 3a 20 42 |r6 TST |0,#32: B|
|00003910| 45 51 20 53 61 73 36 3a | 20 a4 77 72 69 74 65 28 |EQ Sas6:| .write(|
|00003920| 22 52 65 61 64 2d 6f 6e | 6c 79 20 22 29 3a 20 2e |"Read-on|ly "): .|
|00003930| 53 61 73 36 0d 10 7c 37 | 20 20 54 53 54 20 30 2c |Sas6..|7| TST 0,|
|00003940| 23 36 34 3a 20 42 45 51 | 20 53 61 73 37 3a 20 a4 |#64: BEQ| Sas7: .|
|00003950| 77 72 69 74 65 28 22 44 | 65 62 75 67 20 64 61 74 |write("D|ebug dat|
|00003960| 61 20 22 29 3a 20 2e 53 | 61 73 37 0d 10 86 28 20 |a "): .S|as7...( |
|00003970| 20 a4 6c 6f 61 64 28 30 | 2c 4e 52 65 6c 73 29 3a | .load(0|,NRels):|
|00003980| 20 43 4d 50 20 30 2c 23 | 30 3a 20 42 45 51 20 53 | CMP 0,#|0: BEQ S|
|00003990| 61 73 38 0d 10 90 37 20 | 20 a4 77 72 69 74 65 28 |as8...7 | .write(|
|000039a0| 22 77 69 74 68 20 22 29 | 3a 20 42 4c 20 57 72 69 |"with ")|: BL Wri|
|000039b0| 74 65 4e 3a 20 a4 77 72 | 69 74 65 28 22 20 72 65 |teN: .wr|ite(" re|
|000039c0| 6c 6f 63 61 74 69 6f 6e | 22 29 0d 10 9a 2e 20 20 |location|").... |
|000039d0| a4 6c 6f 61 64 28 30 2c | 4e 52 65 6c 73 29 3a 20 |.load(0,|NRels): |
|000039e0| 43 4d 50 20 30 2c 23 31 | 3a 20 53 57 49 4e 45 20 |CMP 0,#1|: SWINE |
|000039f0| 32 35 36 2b 97 22 73 22 | 0d 10 a4 09 2e 53 61 73 |256+."s"|.....Sas|
|00003a00| 38 0d 10 ae 1f 20 20 a4 | 73 65 74 63 6f 6c 28 63 |8.... .|setcol(c|
|00003a10| 5f 6e 6f 72 6d 29 3a 20 | a4 6e 65 77 6c 69 6e 65 |_norm): |.newline|
|00003a20| 0d 10 b8 2b 20 20 4c 44 | 52 20 30 2c 5b 37 2c 23 |...+ LD|R 0,[7,#|
|00003a30| 34 5d 3a 20 54 53 54 20 | 30 2c 23 31 36 2a 32 35 |4]: TST |0,#16*25|
|00003a40| 36 3a 20 42 45 51 20 53 | 61 73 39 0d 10 c2 35 20 |6: BEQ S|as9...5 |
|00003a50| 20 a4 77 72 69 74 65 6c | 6e 28 22 4e 6f 20 70 72 | .writel|n("No pr|
|00003a60| 65 6c 6f 61 64 65 64 20 | 64 61 74 61 22 29 3a 20 |eloaded |data"): |
|00003a70| 42 20 53 41 72 64 6f 6e | 65 3a 20 2e 53 61 73 39 |B SArdon|e: .Sas9|
|00003a80| 0d 10 cc 29 20 20 a4 6c | 6f 61 64 28 30 2c 41 64 |...) .l|oad(0,Ad|
|00003a90| 64 72 65 73 73 29 3a 20 | a4 6c 6f 61 64 28 31 2c |dress): |.load(1,|
|00003aa0| 41 72 65 61 53 69 7a 65 | 29 0d 10 d6 1c 20 20 43 |AreaSize|).... C|
|00003ab0| 4d 50 20 30 2c 31 3a 20 | 42 4c 54 20 53 41 72 61 |MP 0,1: |BLT SAra|
|00003ac0| 64 64 72 6f 6b 0d 10 e0 | 3b 20 20 a4 77 72 69 74 |ddrok...|; .writ|
|00003ad0| 65 6c 6e 28 22 2a 2a 20 | 41 64 64 72 65 73 73 20 |eln("** |Address |
|00003ae0| 69 73 20 70 61 73 74 20 | 65 6e 64 20 6f 66 20 61 |is past |end of a|
|00003af0| 72 65 61 22 29 3a 20 42 | 20 53 41 72 64 6f 6e 65 |rea"): B| SArdone|
|00003b00| 0d 10 ea 0e 2e 53 41 72 | 61 64 64 72 6f 6b 0d 10 |.....SAr|addrok..|
|00003b10| f4 35 20 20 a4 6c 6f 61 | 64 28 32 2c 41 72 65 61 |.5 .loa|d(2,Area|
|00003b20| 53 74 61 72 74 29 3a 20 | a4 6c 6f 61 64 28 33 2c |Start): |.load(3,|
|00003b30| 41 72 65 61 4f 66 73 29 | 3a 20 41 44 44 20 32 2c |AreaOfs)|: ADD 2,|
|00003b40| 32 2c 33 0d 10 fe 21 20 | 20 a4 6c 6f 61 64 28 33 |2,3...! | .load(3|
|00003b50| 2c 41 64 64 72 65 73 73 | 29 3a 20 41 44 44 20 32 |,Address|): ADD 2|
|00003b60| 2c 32 2c 33 0d 11 08 42 | 20 20 a4 6c 6f 61 64 28 |,2,3...B| .load(|
|00003b70| 31 2c 48 61 6e 64 6c 65 | 29 3a 20 4d 4f 56 20 30 |1,Handle|): MOV 0|
|00003b80| 2c 23 31 3a 20 53 57 49 | 20 22 4f 53 5f 41 72 67 |,#1: SWI| "OS_Arg|
|00003b90| 73 22 20 3b 70 74 72 2d | 3e 73 74 61 72 74 20 6f |s" ;ptr-|>start o|
|00003ba0| 66 20 61 72 65 61 0d 11 | 12 35 20 20 4d 4f 56 20 |f area..|.5 MOV |
|00003bb0| 30 2c 23 30 3a 20 a4 73 | 74 6f 72 65 28 30 2c 4e |0,#0: .s|tore(0,N|
|00003bc0| 65 78 74 52 65 6c 29 3a | 20 a4 73 74 6f 72 65 28 |extRel):| .store(|
|00003bd0| 30 2c 4e 65 78 74 53 79 | 6d 62 29 0d 11 1c 04 0d |0,NextSy|mb).....|
|00003be0| 11 26 31 2e 61 72 65 61 | 43 6f 6e 74 20 3b 20 74 |.&1.area|Cont ; t|
|00003bf0| 68 69 73 20 62 69 74 20 | 64 6f 65 73 20 6d 6f 73 |his bit |does mos|
|00003c00| 74 20 6f 66 20 74 68 65 | 20 77 6f 72 6b 2e 2e 2e |t of the| work...|
|00003c10| 0d 11 30 2b 20 20 53 57 | 49 20 22 4f 53 5f 52 65 |..0+ SW|I "OS_Re|
|00003c20| 61 64 45 73 63 61 70 65 | 53 74 61 74 65 22 3a 20 |adEscape|State": |
|00003c30| 42 43 53 20 53 41 72 64 | 6f 6e 65 0d 11 3a 16 20 |BCS SArd|one..:. |
|00003c40| 20 a4 6c 6f 61 64 28 30 | 2c 41 64 64 72 65 73 73 | .load(0|,Address|
|00003c50| 29 0d 11 44 47 20 20 a4 | 6c 6f 61 64 28 31 2c 4c |)..DG .|load(1,L|
|00003c60| 69 6e 65 4c 69 6d 69 74 | 29 3a 20 53 55 42 53 20 |ineLimit|): SUBS |
|00003c70| 31 2c 31 2c 23 31 3a 20 | 42 4c 54 20 53 41 72 64 |1,1,#1: |BLT SArd|
|00003c80| 6f 6e 65 3a 20 a4 73 74 | 6f 72 65 28 31 2c 4c 69 |one: .st|ore(1,Li|
|00003c90| 6e 65 4c 69 6d 69 74 29 | 0d 11 4e 23 20 20 a4 6c |neLimit)|..N# .l|
|00003ca0| 6f 61 64 28 31 2c 53 79 | 6d 54 61 62 6c 65 29 3a |oad(1,Sy|mTable):|
|00003cb0| 20 41 44 44 20 31 2c 31 | 2c 23 38 0d 11 58 28 20 | ADD 1,1|,#8..X( |
|00003cc0| 20 a4 6c 6f 61 64 28 32 | 2c 4e 65 78 74 53 79 6d | .load(2|,NextSym|
|00003cd0| 62 29 3a 20 a4 6c 6f 61 | 64 28 33 2c 4e 53 79 6d |b): .loa|d(3,NSym|
|00003ce0| 62 73 29 0d 11 62 0b 2e | 6c 62 6c 63 68 6b 0d 11 |bs)..b..|lblchk..|
|00003cf0| 6c 1a 20 20 43 4d 50 20 | 32 2c 33 3a 20 42 47 45 |l. CMP |2,3: BGE|
|00003d00| 20 6e 6f 6c 61 62 65 6c | 0d 11 76 47 20 20 4c 44 | nolabel|..vG LD|
|00003d10| 52 20 34 2c 5b 31 2c 32 | 2c 4c 53 4c 23 34 5d 3a |R 4,[1,2|,LSL#4]:|
|00003d20| 20 43 4d 50 20 34 2c 30 | 3a 20 41 44 44 4c 54 20 | CMP 4,0|: ADDLT |
|00003d30| 32 2c 32 2c 23 31 3a 20 | 42 4c 54 20 6c 62 6c 63 |2,2,#1: |BLT lblc|
|00003d40| 68 6b 3a 20 42 47 54 20 | 6e 6f 6c 61 62 65 6c 0d |hk: BGT |nolabel.|
|00003d50| 11 80 42 20 20 41 44 44 | 20 31 2c 31 2c 23 34 3a |..B ADD| 1,1,#4:|
|00003d60| 20 4c 44 52 20 35 2c 5b | 31 2c 32 2c 4c 53 4c 23 | LDR 5,[|1,2,LSL#|
|00003d70| 34 5d 3a 20 53 55 42 20 | 31 2c 31 2c 23 34 3a 20 |4]: SUB |1,1,#4: |
|00003d80| a4 6c 6f 61 64 28 36 2c | 53 74 72 54 61 62 6c 65 |.load(6,|StrTable|
|00003d90| 29 0d 11 8a 2d 20 20 41 | 44 44 20 35 2c 35 2c 36 |)...- A|DD 5,5,6|
|00003da0| 3a 20 a4 6c 6f 61 64 28 | 37 2c 41 72 65 61 4e 61 |: .load(|7,AreaNa|
|00003db0| 6d 65 29 3a 20 41 44 44 | 20 36 2c 36 2c 37 0d 11 |me): ADD| 6,6,7..|
|00003dc0| 94 42 2e 6c 61 62 6e 61 | 6d 63 68 6b 20 4c 44 52 |.B.labna|mchk LDR|
|00003dd0| 42 20 38 2c 5b 35 5d 2c | 23 31 3a 20 4c 44 52 42 |B 8,[5],|#1: LDRB|
|00003de0| 20 39 2c 5b 36 5d 2c 23 | 31 3a 20 43 4d 50 20 38 | 9,[6],#|1: CMP 8|
|00003df0| 2c 39 3a 20 42 4e 45 20 | 6e 6f 6c 61 62 65 6c 31 |,9: BNE |nolabel1|
|00003e00| 0d 11 9e 1d 20 20 43 4d | 50 20 38 2c 23 30 3a 20 |.... CM|P 8,#0: |
|00003e10| 42 4e 45 20 6c 61 62 6e | 61 6d 63 68 6b 0d 11 a8 |BNE labn|amchk...|
|00003e20| 47 20 20 53 55 42 20 31 | 2c 31 2c 23 34 3a 20 4c |G SUB 1|,1,#4: L|
|00003e30| 44 52 20 35 2c 5b 31 2c | 32 2c 4c 53 4c 23 34 5d |DR 5,[1,|2,LSL#4]|
|00003e40| 3a 20 41 44 44 20 31 2c | 31 2c 23 34 3a 20 54 53 |: ADD 1,|1,#4: TS|
|00003e50| 54 20 35 2c 23 31 3a 20 | 42 45 51 20 6e 6f 6c 61 |T 5,#1: |BEQ nola|
|00003e60| 62 65 6c 31 0d 11 b2 16 | 20 20 a4 73 65 74 63 6f |bel1....| .setco|
|00003e70| 6c 28 63 5f 63 72 65 61 | 6d 29 0d 11 bc 12 20 20 |l(c_crea|m).... |
|00003e80| 53 57 49 20 32 35 36 2b | 97 22 2e 22 0d 11 c6 2e |SWI 256+|."."....|
|00003e90| 20 20 53 55 42 20 31 2c | 31 2c 23 38 3a 20 4c 44 | SUB 1,|1,#8: LD|
|00003ea0| 52 20 30 2c 5b 31 2c 32 | 2c 4c 53 4c 23 34 5d 3a |R 0,[1,2|,LSL#4]:|
|00003eb0| 20 42 4c 20 57 72 69 74 | 65 53 0d 11 d0 1f 20 20 | BL Writ|eS.... |
|00003ec0| a4 73 65 74 63 6f 6c 28 | 63 5f 6e 6f 72 6d 29 3a |.setcol(|c_norm):|
|00003ed0| 20 a4 6e 65 77 6c 69 6e | 65 0d 11 da 3d 20 20 a4 | .newlin|e...= .|
|00003ee0| 6c 6f 61 64 28 31 31 2c | 4c 69 6e 65 4c 69 6d 69 |load(11,|LineLimi|
|00003ef0| 74 29 3a 20 53 55 42 20 | 31 31 2c 31 31 2c 23 31 |t): SUB |11,11,#1|
|00003f00| 3a 20 a4 73 74 6f 72 65 | 28 31 31 2c 4c 69 6e 65 |: .store|(11,Line|
|00003f10| 4c 69 6d 69 74 29 0d 11 | e4 0d 2e 6e 6f 6c 61 62 |Limit)..|...nolab|
|00003f20| 65 6c 31 0d 11 ee 39 20 | 20 41 44 44 20 32 2c 32 |el1...9 | ADD 2,2|
|00003f30| 2c 23 31 3a 20 a4 6c 6f | 61 64 28 31 2c 53 79 6d |,#1: .lo|ad(1,Sym|
|00003f40| 54 61 62 6c 65 29 3a 20 | 41 44 44 20 31 2c 31 2c |Table): |ADD 1,1,|
|00003f50| 23 38 3a 20 42 20 6c 62 | 6c 63 68 6b 0d 11 f8 0c |#8: B lb|lchk....|
|00003f60| 2e 6e 6f 6c 61 62 65 6c | 0d 12 02 18 20 20 a4 73 |.nolabel|.... .s|
|00003f70| 74 6f 72 65 28 32 2c 4e | 65 78 74 53 79 6d 62 29 |tore(2,N|extSymb)|
|00003f80| 0d 12 0c 12 20 20 a4 77 | 72 69 74 65 28 22 20 20 |.... .w|rite(" |
|00003f90| 22 29 0d 12 16 22 20 20 | a4 6c 6f 61 64 28 30 2c |")..." |.load(0,|
|00003fa0| 41 64 64 72 65 73 73 29 | 3a 20 42 4c 20 57 72 69 |Address)|: BL Wri|
|00003fb0| 74 65 48 36 0d 12 20 13 | 20 20 a4 77 72 69 74 65 |teH6.. .| .write|
|00003fc0| 28 22 3a 20 20 22 29 0d | 12 2a 2e 20 20 42 4c 20 |(": ").|.*. BL |
|00003fd0| 57 6f 72 64 20 20 20 3b | 20 6e 6f 74 65 20 74 68 |Word ;| note th|
|00003fe0| 69 73 20 69 73 20 61 6c | 73 6f 20 69 6e 20 57 6f |is is al|so in Wo|
|00003ff0| 72 64 54 6d 70 0d 12 34 | 1d 20 20 42 4c 20 57 72 |rdTmp..4|. BL Wr|
|00004000| 69 74 65 48 3a 20 a4 77 | 72 69 74 65 28 22 20 20 |iteH: .w|rite(" |
|00004010| 22 29 0d 12 3e 2e 20 20 | a4 6c 6f 61 64 28 30 2c |")..>. |.load(0,|
|00004020| 57 6f 72 64 54 6d 70 29 | 3a 20 80 20 30 2c 30 2c |WordTmp)|: . 0,0,|
|00004030| 23 32 35 35 3a 20 42 4c | 20 4f 6e 65 43 68 61 72 |#255: BL| OneChar|
|00004040| 0d 12 48 3d 20 20 a4 6c | 6f 61 64 28 30 2c 57 6f |..H= .l|oad(0,Wo|
|00004050| 72 64 54 6d 70 29 3a 20 | 4d 4f 56 20 30 2c 30 2c |rdTmp): |MOV 0,0,|
|00004060| 4c 53 52 23 38 3a 20 80 | 20 30 2c 30 2c 23 32 35 |LSR#8: .| 0,0,#25|
|00004070| 35 3a 20 42 4c 20 4f 6e | 65 43 68 61 72 0d 12 52 |5: BL On|eChar..R|
|00004080| 3e 20 20 a4 6c 6f 61 64 | 28 30 2c 57 6f 72 64 54 |> .load|(0,WordT|
|00004090| 6d 70 29 3a 20 4d 4f 56 | 20 30 2c 30 2c 4c 53 52 |mp): MOV| 0,0,LSR|
|000040a0| 23 31 36 3a 20 80 20 30 | 2c 30 2c 23 32 35 35 3a |#16: . 0|,0,#255:|
|000040b0| 20 42 4c 20 4f 6e 65 43 | 68 61 72 0d 12 5c 32 20 | BL OneC|har..\2 |
|000040c0| 20 a4 6c 6f 61 64 28 30 | 2c 57 6f 72 64 54 6d 70 | .load(0|,WordTmp|
|000040d0| 29 3a 20 4d 4f 56 20 30 | 2c 30 2c 4c 53 52 23 32 |): MOV 0|,0,LSR#2|
|000040e0| 34 3a 20 42 4c 20 4f 6e | 65 43 68 61 72 0d 12 66 |4: BL On|eChar..f|
|000040f0| 12 20 20 a4 77 72 69 74 | 65 28 22 20 20 22 29 0d |. .writ|e(" ").|
|00004100| 12 70 44 20 20 a4 6c 6f | 61 64 28 30 2c 57 6f 72 |.pD .lo|ad(0,Wor|
|00004110| 64 54 6d 70 29 3a 20 a4 | 6c 6f 61 64 28 31 2c 41 |dTmp): .|load(1,A|
|00004120| 64 64 72 65 73 73 29 3a | 20 53 57 49 20 22 44 65 |ddress):| SWI "De|
|00004130| 62 75 67 67 65 72 5f 44 | 69 73 61 73 73 65 6d 62 |bugger_D|isassemb|
|00004140| 6c 65 22 0d 12 7a 1f 20 | 20 a4 6c 6f 61 64 28 30 |le"..z. | .load(0|
|00004150| 2c 44 69 73 41 64 72 29 | 3a 20 4d 4f 56 20 33 2c |,DisAdr)|: MOV 3,|
|00004160| 23 30 0d 12 84 4b 2e 64 | 69 73 63 6f 70 79 6c 20 |#0...K.d|iscopyl |
|00004170| 4c 44 52 42 20 34 2c 5b | 31 2c 33 5d 3a 20 53 54 |LDRB 4,[|1,3]: ST|
|00004180| 52 42 20 34 2c 5b 30 2c | 33 5d 3a 20 41 44 44 20 |RB 4,[0,|3]: ADD |
|00004190| 33 2c 33 2c 23 31 3a 20 | 43 4d 50 20 33 2c 32 3a |3,3,#1: |CMP 3,2:|
|000041a0| 20 42 4c 45 20 64 69 73 | 63 6f 70 79 6c 0d 12 8e | BLE dis|copyl...|
|000041b0| 38 20 20 a4 6c 6f 61 64 | 28 31 2c 52 65 6c 44 61 |8 .load|(1,RelDa|
|000041c0| 74 61 29 3a 20 a4 6c 6f | 61 64 28 32 2c 4e 65 78 |ta): .lo|ad(2,Nex|
|000041d0| 74 52 65 6c 29 3a 20 a4 | 6c 6f 61 64 28 33 2c 4e |tRel): .|load(3,N|
|000041e0| 52 65 6c 73 29 0d 12 98 | 16 20 20 a4 6c 6f 61 64 |Rels)...|. .load|
|000041f0| 28 34 2c 41 64 64 72 65 | 73 73 29 0d 12 a2 0b 2e |(4,Addre|ss).....|
|00004200| 72 65 6c 63 68 6b 0d 12 | ac 18 20 20 43 4d 50 20 |relchk..|.. CMP |
|00004210| 32 2c 33 3a 20 42 47 45 | 20 6e 6f 72 65 6c 0d 12 |2,3: BGE| norel..|
|00004220| b6 45 20 20 4c 44 52 20 | 30 2c 5b 31 2c 32 2c 4c |.E LDR |0,[1,2,L|
|00004230| 53 4c 23 33 5d 3a 20 42 | 49 43 20 30 2c 30 2c 23 |SL#3]: B|IC 0,0,#|
|00004240| 33 20 20 20 3b 20 72 65 | 6c 6f 63 61 74 69 6f 6e |3 ; re|location|
|00004250| 20 6d 61 79 20 62 65 20 | 31 2c 32 2c 34 20 62 79 | may be |1,2,4 by|
|00004260| 74 65 73 0d 12 c0 32 20 | 20 43 4d 50 20 30 2c 34 |tes...2 | CMP 0,4|
|00004270| 3a 20 41 44 44 4c 45 20 | 32 2c 32 2c 23 31 3a 20 |: ADDLE |2,2,#1: |
|00004280| 42 4c 54 20 72 65 6c 63 | 68 6b 3a 20 42 47 54 20 |BLT relc|hk: BGT |
|00004290| 6e 6f 72 65 6c 0d 12 ca | 04 0d 12 d4 27 3b 20 57 |norel...|....'; W|
|000042a0| 68 61 74 20 66 6f 6c 6c | 6f 77 73 20 69 73 20 73 |hat foll|ows is s|
|000042b0| 6f 6d 65 77 68 61 74 20 | 68 61 69 72 79 2e 2e 2e |omewhat |hairy...|
|000042c0| 0d 12 de 04 0d 12 e8 23 | 20 20 a4 73 74 6f 72 65 |.......#| .store|
|000042d0| 28 32 2c 4e 65 78 74 52 | 65 6c 29 3a 20 53 55 42 |(2,NextR|el): SUB|
|000042e0| 20 32 2c 32 2c 23 31 0d | 12 f2 04 0d 12 fc 49 20 | 2,2,#1.|......I |
|000042f0| 20 41 44 44 20 31 2c 31 | 2c 23 34 3a 20 4c 44 52 | ADD 1,1|,#4: LDR|
|00004300| 20 31 30 2c 5b 31 2c 32 | 2c 4c 53 4c 23 33 5d 20 | 10,[1,2|,LSL#3] |
|00004310| 20 20 20 20 3b 20 72 31 | 30 20 63 6f 6e 74 61 69 | ; r1|0 contai|
|00004320| 6e 73 20 61 6c 6c 20 74 | 68 65 20 66 6c 61 67 73 |ns all t|he flags|
|00004330| 20 65 74 63 0d 13 06 22 | 20 20 54 53 54 20 31 30 | etc..."| TST 10|
|00004340| 2c 23 26 38 30 30 30 30 | 30 30 30 3a 20 42 4e 45 |,#&80000|000: BNE|
|00004350| 20 74 79 70 65 32 0d 13 | 10 42 20 20 80 20 30 2c | type2..|.B . 0,|
|00004360| 31 30 2c 23 28 33 3c 3c | 31 36 29 3a 20 43 4d 50 |10,#(3<<|16): CMP|
|00004370| 20 30 2c 23 28 32 3c 3c | 31 36 29 3a 20 42 4e 45 | 0,#(2<<|16): BNE|
|00004380| 20 66 75 6e 6e 79 72 65 | 6c 20 20 20 3b 20 66 75 | funnyre|l ; fu|
|00004390| 6c 6c 20 77 6f 72 64 3f | 0d 13 1a 46 20 20 54 53 |ll word?|...F TS|
|000043a0| 54 20 31 30 2c 23 28 31 | 3c 3c 31 38 29 3a 20 42 |T 10,#(1|<<18): B|
|000043b0| 45 51 20 74 31 65 71 75 | 64 20 20 20 20 20 20 20 |EQ t1equ|d |
|000043c0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|000043d0| 3b 20 6e 6f 74 20 61 20 | 62 72 61 6e 63 68 0d 13 |; not a |branch..|
|000043e0| 24 49 20 20 a4 6c 6f 61 | 64 28 30 2c 44 69 73 41 |$I .loa|d(0,DisA|
|000043f0| 64 72 29 3a 20 42 4c 20 | 57 72 69 74 65 38 20 20 |dr): BL |Write8 |
|00004400| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00004410| 20 20 20 20 20 3b 20 6b | 65 65 70 20 69 6e 73 74 | ; k|eep inst|
|00004420| 72 75 63 74 69 6f 6e 0d | 13 2e 3d 20 20 42 49 43 |ruction.|..= BIC|
|00004430| 20 30 2c 31 30 2c 23 28 | 32 35 35 3c 3c 31 36 29 | 0,10,#(|255<<16)|
|00004440| 3a 20 42 49 43 20 30 2c | 30 2c 23 28 32 35 35 3c |: BIC 0,|0,#(255<|
|00004450| 3c 32 34 29 20 20 20 20 | 20 20 20 20 20 20 20 3b |<24) | ;|
|00004460| 20 53 49 44 0d 13 38 44 | 20 20 a4 6c 6f 61 64 28 | SID..8D| .load(|
|00004470| 31 2c 53 79 6d 49 6e 64 | 65 78 29 3a 20 4c 44 52 |1,SymInd|ex): LDR|
|00004480| 20 31 2c 5b 31 2c 30 2c | 4c 53 4c 23 32 5d 3a 20 | 1,[1,0,|LSL#2]: |
|00004490| 4c 44 52 20 30 2c 5b 31 | 5d 20 20 3b 20 73 79 6d |LDR 0,[1|] ; sym|
|000044a0| 62 6f 6c 20 6e 61 6d 65 | 0d 13 42 0f 20 20 42 4c |bol name|..B. BL|
|000044b0| 20 57 72 69 74 65 53 0d | 13 4c 30 20 20 42 20 63 | WriteS.|.L0 B c|
|000044c0| 6f 6e 74 69 6e 75 65 20 | 20 20 20 3b 20 72 65 73 |ontinue | ; res|
|000044d0| 74 20 69 73 20 73 61 6d | 65 20 66 6f 72 20 74 79 |t is sam|e for ty|
|000044e0| 70 65 73 20 31 2c 32 0d | 13 56 0a 2e 74 79 70 65 |pes 1,2.|.V..type|
|000044f0| 32 0d 13 60 42 20 20 80 | 20 30 2c 31 30 2c 23 28 |2..`B .| 0,10,#(|
|00004500| 33 3c 3c 32 34 29 3a 20 | 43 4d 50 20 30 2c 23 28 |3<<24): |CMP 0,#(|
|00004510| 32 3c 3c 32 34 29 3a 20 | 42 4e 45 20 66 75 6e 6e |2<<24): |BNE funn|
|00004520| 79 72 65 6c 20 20 20 3b | 20 66 75 6c 6c 20 77 6f |yrel ;| full wo|
|00004530| 72 64 3f 0d 13 6a 46 20 | 20 54 53 54 20 31 30 2c |rd?..jF | TST 10,|
|00004540| 23 28 31 3c 3c 32 36 29 | 3a 20 42 45 51 20 74 32 |#(1<<26)|: BEQ t2|
|00004550| 65 71 75 64 20 20 20 20 | 20 20 20 20 20 20 20 20 |equd | |
|00004560| 20 20 20 20 20 20 20 20 | 20 20 20 3b 20 6e 6f 74 | | ; not|
|00004570| 20 61 20 62 72 61 6e 63 | 68 0d 13 74 49 20 20 a4 | a branc|h..tI .|
|00004580| 6c 6f 61 64 28 30 2c 44 | 69 73 41 64 72 29 3a 20 |load(0,D|isAdr): |
|00004590| 42 4c 20 57 72 69 74 65 | 38 20 20 20 20 20 20 20 |BL Write|8 |
|000045a0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|000045b0| 3b 20 6b 65 65 70 20 69 | 6e 73 74 72 75 63 74 69 |; keep i|nstructi|
|000045c0| 6f 6e 0d 13 7e 3d 20 20 | 42 49 43 20 30 2c 31 30 |on..~= |BIC 0,10|
|000045d0| 2c 23 28 32 35 35 3c 3c | 32 34 29 20 20 20 20 20 |,#(255<<|24) |
|000045e0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|000045f0| 20 20 20 20 20 20 20 20 | 20 20 3b 20 53 49 44 0d | | ; SID.|
|00004600| 13 88 44 20 20 54 53 54 | 20 31 30 2c 23 28 31 3c |..D TST| 10,#(1<|
|00004610| 3c 32 37 29 3a 20 42 45 | 51 20 74 32 41 30 20 20 |<27): BE|Q t2A0 |
|00004620| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00004630| 20 20 20 20 20 20 20 3b | 20 61 72 65 61 20 6e 61 | ;| area na|
|00004640| 6d 65 3f 0d 13 92 2a 20 | 20 a4 6c 6f 61 64 28 31 |me?...* | .load(1|
|00004650| 2c 53 79 6d 49 6e 64 65 | 78 29 3a 20 4c 44 52 20 |,SymInde|x): LDR |
|00004660| 31 2c 5b 31 2c 30 2c 4c | 53 4c 23 32 5d 0d 13 9c |1,[1,0,L|SL#2]...|
|00004670| 4b 20 20 4c 44 52 20 30 | 2c 5b 31 5d 3a 20 42 4c |K LDR 0|,[1]: BL|
|00004680| 20 57 72 69 74 65 53 20 | 20 20 20 20 20 20 20 20 | WriteS | |
|00004690| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|000046a0| 20 20 20 20 20 3b 20 53 | 79 6d 62 6f 6c 2e 20 4f | ; S|ymbol. O|
|000046b0| 75 74 70 75 74 20 69 74 | 0d 13 a6 0d 2e 63 6f 6e |utput it|.....con|
|000046c0| 74 69 6e 75 65 0d 13 b0 | 4a 20 20 a4 6c 6f 61 64 |tinue...|J .load|
|000046d0| 28 30 2c 57 6f 72 64 54 | 6d 70 29 3a 20 4d 4f 56 |(0,WordT|mp): MOV|
|000046e0| 20 30 2c 30 2c 4c 53 4c | 23 38 3a 20 4d 4f 56 20 | 0,0,LSL|#8: MOV |
|000046f0| 30 2c 30 2c 41 53 52 23 | 36 20 20 20 3b 20 6f 66 |0,0,ASR#|6 ; of|
|00004700| 66 73 65 74 20 66 72 6f | 6d 20 69 6e 73 74 72 0d |fset fro|m instr.|
|00004710| 13 ba 0e 2e 63 6f 6e 74 | 69 6e 75 65 31 0d 13 c4 |....cont|inue1...|
|00004720| 16 20 20 a4 6c 6f 61 64 | 28 31 2c 41 64 64 72 65 |. .load|(1,Addre|
|00004730| 73 73 29 0d 13 ce 30 20 | 20 54 53 54 20 31 30 2c |ss)...0 | TST 10,|
|00004740| 23 28 31 3c 3c 33 31 29 | 3a 20 41 44 44 4e 45 20 |#(1<<31)|: ADDNE |
|00004750| 30 2c 30 2c 31 3a 20 41 | 44 44 4e 45 20 30 2c 30 |0,0,1: A|DDNE 0,0|
|00004760| 2c 23 38 0d 13 d8 1b 20 | 20 43 4d 50 20 30 2c 23 |,#8.... | CMP 0,#|
|00004770| 30 3a 20 42 45 51 20 72 | 65 6c 64 6f 6e 65 0d 13 |0: BEQ r|eldone..|
|00004780| e2 11 20 20 42 47 54 20 | 67 72 65 61 74 65 72 0d |.. BGT |greater.|
|00004790| 13 ec 37 20 20 a4 77 72 | 69 74 65 28 22 20 2d 20 |..7 .wr|ite(" - |
|000047a0| 26 22 29 3a 20 52 53 42 | 20 30 2c 30 2c 23 30 3a |&"): RSB| 0,0,#0:|
|000047b0| 20 42 4c 20 57 72 69 74 | 65 48 36 3a 20 42 20 72 | BL Writ|eH6: B r|
|000047c0| 65 6c 64 6f 6e 65 0d 13 | f6 0c 2e 67 72 65 61 74 |eldone..|...great|
|000047d0| 65 72 0d 14 00 2b 20 20 | a4 77 72 69 74 65 28 22 |er...+ |.write("|
|000047e0| 20 2b 20 26 22 29 3a 20 | 42 4c 20 57 72 69 74 65 | + &"): |BL Write|
|000047f0| 48 36 3a 20 42 20 72 65 | 6c 64 6f 6e 65 0d 14 0a |H6: B re|ldone...|
|00004800| 09 2e 74 32 41 30 0d 14 | 14 3b 20 20 a4 6c 6f 61 |..t2A0..|.; .loa|
|00004810| 64 28 31 2c 41 72 65 61 | 44 61 74 61 29 3a 20 41 |d(1,Area|Data): A|
|00004820| 44 44 20 30 2c 30 2c 30 | 2c 4c 53 4c 23 32 3a 20 |DD 0,0,0|,LSL#2: |
|00004830| 4c 44 52 20 30 2c 5b 31 | 2c 30 2c 4c 53 4c 23 32 |LDR 0,[1|,0,LSL#2|
|00004840| 5d 0d 14 1e 43 20 20 42 | 4c 20 57 72 69 74 65 53 |]...C B|L WriteS|
|00004850| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00004860| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00004870| 20 20 20 20 20 20 20 20 | 20 3b 20 61 72 65 61 20 | | ; area |
|00004880| 6e 61 6d 65 0d 14 28 4a | 20 20 a4 6c 6f 61 64 28 |name..(J| .load(|
|00004890| 30 2c 57 6f 72 64 54 6d | 70 29 3a 20 4d 4f 56 20 |0,WordTm|p): MOV |
|000048a0| 30 2c 30 2c 4c 53 4c 23 | 38 3a 20 4d 4f 56 20 30 |0,0,LSL#|8: MOV 0|
|000048b0| 2c 30 2c 41 53 52 23 36 | 20 20 20 3b 20 6f 66 66 |,0,ASR#6| ; off|
|000048c0| 73 65 74 20 66 72 6f 6d | 20 69 6e 73 74 72 0d 14 |set from| instr..|
|000048d0| 32 16 20 20 a4 6c 6f 61 | 64 28 31 2c 41 64 64 72 |2. .loa|d(1,Addr|
|000048e0| 65 73 73 29 0d 14 3c 30 | 20 20 54 53 54 20 31 30 |ess)..<0| TST 10|
|000048f0| 2c 23 28 31 3c 3c 33 31 | 29 3a 20 41 44 44 4e 45 |,#(1<<31|): ADDNE|
|00004900| 20 30 2c 30 2c 31 3a 20 | 41 44 44 4e 45 20 30 2c | 0,0,1: |ADDNE 0,|
|00004910| 30 2c 23 38 0d 14 46 29 | 20 20 a4 77 72 69 74 65 |0,#8..F)| .write|
|00004920| 28 22 3a 26 22 29 3a 20 | 42 4c 20 57 72 69 74 65 |(":&"): |BL Write|
|00004930| 48 36 3a 20 42 20 72 65 | 6c 64 6f 6e 65 0d 14 50 |H6: B re|ldone..P|
|00004940| 04 0d 14 5a 0b 2e 74 31 | 65 71 75 64 0d 14 64 18 |...Z..t1|equd..d.|
|00004950| 20 20 a4 77 72 69 74 65 | 28 22 45 51 55 44 20 20 | .write|("EQUD |
|00004960| 20 20 22 29 0d 14 6e 25 | 20 20 54 53 54 20 31 30 | ")..n%| TST 10|
|00004970| 2c 23 28 31 3c 3c 31 39 | 29 3a 20 42 45 51 20 74 |,#(1<<19|): BEQ t|
|00004980| 31 69 6e 74 65 72 6e 61 | 6c 0d 14 78 3d 20 20 42 |1interna|l..x= B|
|00004990| 49 43 20 30 2c 31 30 2c | 23 28 32 35 35 3c 3c 31 |IC 0,10,|#(255<<1|
|000049a0| 36 29 3a 20 42 49 43 20 | 30 2c 30 2c 23 28 32 35 |6): BIC |0,0,#(25|
|000049b0| 35 3c 3c 32 34 29 20 20 | 20 20 20 20 20 20 20 20 |5<<24) | |
|000049c0| 20 3b 20 53 49 44 0d 14 | 82 44 20 20 a4 6c 6f 61 | ; SID..|.D .loa|
|000049d0| 64 28 31 2c 53 79 6d 49 | 6e 64 65 78 29 3a 20 4c |d(1,SymI|ndex): L|
|000049e0| 44 52 20 31 2c 5b 31 2c | 30 2c 4c 53 4c 23 32 5d |DR 1,[1,|0,LSL#2]|
|000049f0| 3a 20 4c 44 52 20 30 2c | 5b 31 5d 20 20 3b 20 73 |: LDR 0,|[1] ; s|
|00004a00| 79 6d 62 6f 6c 20 6e 61 | 6d 65 0d 14 8c 0f 20 20 |ymbol na|me.... |
|00004a10| 42 4c 20 57 72 69 74 65 | 53 0d 14 96 23 20 20 a4 |BL Write|S...# .|
|00004a20| 6c 6f 61 64 28 30 2c 57 | 6f 72 64 54 6d 70 29 3a |load(0,W|ordTmp):|
|00004a30| 20 42 20 63 6f 6e 74 69 | 6e 75 65 31 0d 14 a0 0f | B conti|nue1....|
|00004a40| 2e 74 31 69 6e 74 65 72 | 6e 61 6c 0d 14 aa 32 20 |.t1inter|nal...2 |
|00004a50| 20 a4 6c 6f 61 64 28 30 | 2c 41 72 65 61 4e 61 6d | .load(0|,AreaNam|
|00004a60| 65 29 3a 20 a4 6c 6f 61 | 64 28 31 2c 57 6f 72 64 |e): .loa|d(1,Word|
|00004a70| 54 6d 70 29 3a 20 42 4c | 20 46 69 6e 64 0d 14 b4 |Tmp): BL| Find...|
|00004a80| 0f 20 20 42 20 72 65 6c | 64 6f 6e 65 0d 14 be 04 |. B rel|done....|
|00004a90| 0d 14 c8 0b 2e 74 32 65 | 71 75 64 0d 14 d2 18 20 |.....t2e|qud.... |
|00004aa0| 20 a4 77 72 69 74 65 28 | 22 45 51 55 44 20 20 20 | .write(|"EQUD |
|00004ab0| 20 22 29 0d 14 dc 25 20 | 20 54 53 54 20 31 30 2c | ")...% | TST 10,|
|00004ac0| 23 28 31 3c 3c 32 37 29 | 3a 20 42 45 51 20 74 32 |#(1<<27)|: BEQ t2|
|00004ad0| 69 6e 74 65 72 6e 61 6c | 0d 14 e6 3d 20 20 42 49 |internal|...= BI|
|00004ae0| 43 20 30 2c 31 30 2c 23 | 28 32 35 35 3c 3c 32 34 |C 0,10,#|(255<<24|
|00004af0| 29 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |) | |
|00004b00| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00004b10| 3b 20 53 49 44 0d 14 f0 | 44 20 20 a4 6c 6f 61 64 |; SID...|D .load|
|00004b20| 28 31 2c 53 79 6d 49 6e | 64 65 78 29 3a 20 4c 44 |(1,SymIn|dex): LD|
|00004b30| 52 20 31 2c 5b 31 2c 30 | 2c 4c 53 4c 23 32 5d 3a |R 1,[1,0|,LSL#2]:|
|00004b40| 20 4c 44 52 20 30 2c 5b | 31 5d 20 20 3b 20 73 79 | LDR 0,[|1] ; sy|
|00004b50| 6d 62 6f 6c 20 6e 61 6d | 65 0d 14 fa 0f 20 20 42 |mbol nam|e.... B|
|00004b60| 4c 20 57 72 69 74 65 53 | 0d 15 04 23 20 20 a4 6c |L WriteS|...# .l|
|00004b70| 6f 61 64 28 30 2c 57 6f | 72 64 54 6d 70 29 3a 20 |oad(0,Wo|rdTmp): |
|00004b80| 42 20 63 6f 6e 74 69 6e | 75 65 31 0d 15 0e 0f 2e |B contin|ue1.....|
|00004b90| 74 32 69 6e 74 65 72 6e | 61 6c 0d 15 18 2c 20 20 |t2intern|al..., |
|00004ba0| a4 6c 6f 61 64 28 31 2c | 41 72 65 61 44 61 74 61 |.load(1,|AreaData|
|00004bb0| 29 3a 20 42 49 43 20 30 | 2c 31 30 2c 23 28 32 35 |): BIC 0|,10,#(25|
|00004bc0| 35 3c 3c 32 34 29 0d 15 | 22 43 20 20 41 44 44 20 |5<<24)..|"C ADD |
|00004bd0| 31 2c 31 2c 30 2c 4c 53 | 4c 23 32 3a 20 41 44 44 |1,1,0,LS|L#2: ADD|
|00004be0| 20 31 2c 31 2c 30 2c 4c | 53 4c 23 34 3a 20 4c 44 | 1,1,0,L|SL#4: LD|
|00004bf0| 52 20 30 2c 5b 31 5d 20 | 20 20 20 20 20 20 3b 20 |R 0,[1] | ; |
|00004c00| 61 72 65 61 20 6e 61 6d | 65 0d 15 2c 1f 20 20 a4 |area nam|e..,. .|
|00004c10| 6c 6f 61 64 28 31 2c 57 | 6f 72 64 54 6d 70 29 3a |load(1,W|ordTmp):|
|00004c20| 20 42 4c 20 46 69 6e 64 | 0d 15 36 0f 20 20 42 20 | BL Find|..6. B |
|00004c30| 72 65 6c 64 6f 6e 65 0d | 15 40 04 0d 15 4a 0d 2e |reldone.|.@...J..|
|00004c40| 66 75 6e 6e 79 72 65 6c | 0d 15 54 3a 20 20 a4 6c |funnyrel|..T: .l|
|00004c50| 6f 61 64 28 30 2c 44 69 | 73 41 64 72 29 3a 20 4d |oad(0,Di|sAdr): M|
|00004c60| 4f 56 20 31 2c 23 36 32 | 3a 20 53 57 49 20 22 4f |OV 1,#62|: SWI "O|
|00004c70| 53 5f 57 72 69 74 65 4e | 22 3a a4 6e 65 77 6c 69 |S_WriteN|":.newli|
|00004c80| 6e 65 0d 15 5e 24 20 20 | a4 77 72 69 74 65 28 22 |ne..^$ |.write("|
|00004c90| 2a 2a 20 52 65 6c 6f 63 | 61 74 69 6f 6e 3a 20 74 |** Reloc|ation: t|
|00004ca0| 79 70 65 20 22 29 0d 15 | 68 2c 20 20 4d 4f 56 20 |ype ")..|h, MOV |
|00004cb0| 30 2c 31 30 2c 4c 53 52 | 23 33 31 3a 20 41 44 44 |0,10,LSR|#31: ADD|
|00004cc0| 20 30 2c 30 2c 23 31 3a | 20 42 4c 20 57 72 69 74 | 0,0,#1:| BL Writ|
|00004cd0| 65 4e 0d 15 72 12 20 20 | a4 77 72 69 74 65 28 22 |eN..r. |.write("|
|00004ce0| 2c 20 22 29 0d 15 7c 22 | 20 20 54 53 54 20 31 30 |, ")..|"| TST 10|
|00004cf0| 2c 23 28 31 3c 3c 33 31 | 29 3a 20 42 4e 45 20 66 |,#(1<<31|): BNE f|
|00004d00| 75 6e 6e 79 74 32 0d 15 | 86 25 20 20 80 20 31 2c |unnyt2..|.% . 1,|
|00004d10| 31 30 2c 23 28 33 3c 3c | 31 36 29 3a 20 4d 4f 56 |10,#(3<<|16): MOV|
|00004d20| 20 31 2c 31 2c 4c 53 52 | 23 31 36 0d 15 90 36 20 | 1,1,LSR|#16...6 |
|00004d30| 20 41 44 52 20 30 2c 66 | 74 79 70 65 73 3a 20 4c | ADR 0,f|types: L|
|00004d40| 44 52 20 30 2c 5b 30 2c | 31 2c 4c 53 4c 23 32 5d |DR 0,[0,|1,LSL#2]|
|00004d50| 3a 20 53 57 49 20 22 4f | 53 5f 57 72 69 74 65 30 |: SWI "O|S_Write0|
|00004d60| 22 0d 15 9a 20 20 20 54 | 53 54 20 31 30 2c 23 28 |"... T|ST 10,#(|
|00004d70| 31 3c 3c 31 38 29 3a 20 | 42 4e 45 20 74 31 50 43 |1<<18): |BNE t1PC|
|00004d80| 72 0d 15 a4 19 20 20 a4 | 77 72 69 74 65 28 22 41 |r.... .|write("A|
|00004d90| 64 64 69 74 69 76 65 20 | 22 29 0d 15 ae 23 20 20 |dditive |")...# |
|00004da0| 54 53 54 20 31 30 2c 23 | 28 31 3c 3c 31 39 29 3a |TST 10,#|(1<<19):|
|00004db0| 20 42 4e 45 20 74 31 73 | 79 6d 62 6f 6c 0d 15 b8 | BNE t1s|ymbol...|
|00004dc0| 24 20 20 a4 77 72 69 74 | 65 28 22 49 6e 74 65 72 |$ .writ|e("Inter|
|00004dd0| 6e 61 6c 20 22 29 3a 20 | 42 20 72 65 6c 64 6f 6e |nal "): |B reldon|
|00004de0| 65 0d 15 c2 0d 2e 74 31 | 73 79 6d 62 6f 6c 0d 15 |e.....t1|symbol..|
|00004df0| cc 24 20 20 a4 77 72 69 | 74 65 28 22 53 79 6d 62 |.$ .wri|te("Symb|
|00004e00| 6f 6c 20 22 29 3a 20 42 | 20 74 31 50 43 72 73 6b |ol "): B| t1PCrsk|
|00004e10| 69 70 0d 15 d6 0a 2e 74 | 31 50 43 72 0d 15 e0 1c |ip.....t|1PCr....|
|00004e20| 20 20 a4 77 72 69 74 65 | 28 22 50 43 2d 52 65 6c | .write|("PC-Rel|
|00004e30| 61 74 69 76 65 20 22 29 | 0d 15 ea 0e 2e 74 31 50 |ative ")|.....t1P|
|00004e40| 43 72 73 6b 69 70 0d 15 | f4 15 20 20 a4 77 72 69 |Crskip..|.. .wri|
|00004e50| 74 65 28 22 77 69 74 68 | 20 22 29 0d 15 fe 41 20 |te("with| ")...A |
|00004e60| 20 a4 6c 6f 61 64 28 31 | 2c 53 79 6d 49 6e 64 65 | .load(1|,SymInde|
|00004e70| 78 29 3a 20 42 49 43 20 | 30 2c 31 30 2c 23 28 32 |x): BIC |0,10,#(2|
|00004e80| 35 35 3c 3c 32 34 29 3a | 20 42 49 43 20 30 2c 31 |55<<24):| BIC 0,1|
|00004e90| 30 2c 23 28 32 35 35 3c | 3c 31 36 29 0d 16 08 38 |0,#(255<|<16)...8|
|00004ea0| 20 20 4c 44 52 20 31 2c | 5b 30 2c 31 2c 4c 53 4c | LDR 1,|[0,1,LSL|
|00004eb0| 23 32 5d 3a 20 4c 44 52 | 20 30 2c 5b 31 5d 3a 20 |#2]: LDR| 0,[1]: |
|00004ec0| 42 4c 20 57 72 69 74 65 | 53 3a 20 42 20 72 65 6c |BL Write|S: B rel|
|00004ed0| 64 6f 6e 65 0d 16 12 04 | 0d 16 1c 1a 2e 66 74 30 |done....|.....ft0|
|00004ee0| 30 20 45 51 55 53 20 22 | 42 79 74 65 2c 20 22 2b |0 EQUS "|Byte, "+|
|00004ef0| bd 30 0d 16 26 1f 2e 66 | 74 30 31 20 45 51 55 53 |.0..&..f|t01 EQUS|
|00004f00| 20 22 48 61 6c 66 2d 77 | 6f 72 64 2c 20 22 2b bd | "Half-w|ord, "+.|
|00004f10| 30 0d 16 30 1a 2e 66 74 | 31 30 20 45 51 55 53 20 |0..0..ft|10 EQUS |
|00004f20| 22 57 6f 72 64 2c 20 22 | 2b bd 30 0d 16 3a 26 2e |"Word, "|+.0..:&.|
|00004f30| 66 74 31 31 20 45 51 55 | 53 20 22 2a 49 4c 4c 45 |ft11 EQU|S "*ILLE|
|00004f40| 47 41 4c 2a 2c 20 22 2b | bd 30 3a 20 41 4c 49 47 |GAL*, "+|.0: ALIG|
|00004f50| 4e 0d 16 44 36 2e 66 74 | 79 70 65 73 20 45 51 55 |N..D6.ft|ypes EQU|
|00004f60| 44 20 66 74 30 30 3a 20 | 45 51 55 44 20 66 74 30 |D ft00: |EQUD ft0|
|00004f70| 31 3a 20 45 51 55 44 20 | 66 74 31 30 3a 20 45 51 |1: EQUD |ft10: EQ|
|00004f80| 55 44 20 66 74 31 31 0d | 16 4e 04 0d 16 58 0c 2e |UD ft11.|.N...X..|
|00004f90| 66 75 6e 6e 79 74 32 0d | 16 62 25 20 20 80 20 31 |funnyt2.|.b% . 1|
|00004fa0| 2c 31 30 2c 23 28 33 3c | 3c 32 34 29 3a 20 4d 4f |,10,#(3<|<24): MO|
|00004fb0| 56 20 31 2c 31 2c 4c 53 | 52 23 32 34 0d 16 6c 36 |V 1,1,LS|R#24..l6|
|00004fc0| 20 20 41 44 52 20 30 2c | 66 74 79 70 65 73 3a 20 | ADR 0,|ftypes: |
|00004fd0| 4c 44 52 20 30 2c 5b 30 | 2c 31 2c 4c 53 4c 23 32 |LDR 0,[0|,1,LSL#2|
|00004fe0| 5d 3a 20 53 57 49 20 22 | 4f 53 5f 57 72 69 74 65 |]: SWI "|OS_Write|
|00004ff0| 30 22 0d 16 76 20 20 20 | 54 53 54 20 31 30 2c 23 |0"..v |TST 10,#|
|00005000| 28 31 3c 3c 32 36 29 3a | 20 42 4e 45 20 74 32 50 |(1<<26):| BNE t2P|
|00005010| 43 72 0d 16 80 45 20 20 | a4 77 72 69 74 65 28 22 |Cr...E |.write("|
|00005020| 41 64 64 69 74 69 76 65 | 20 22 29 3a 20 42 20 74 |Additive| "): B t|
|00005030| 32 50 43 72 73 6b 69 70 | 3a 20 2e 74 32 50 43 72 |2PCrskip|: .t2PCr|
|00005040| 20 a4 77 72 69 74 65 28 | 22 50 43 2d 52 65 6c 61 | .write(|"PC-Rela|
|00005050| 74 69 76 65 20 22 29 0d | 16 8a 0e 2e 74 32 50 43 |tive ").|....t2PC|
|00005060| 72 73 6b 69 70 0d 16 94 | 23 20 20 54 53 54 20 31 |rskip...|# TST 1|
|00005070| 30 2c 23 28 31 3c 3c 32 | 37 29 3a 20 42 4e 45 20 |0,#(1<<2|7): BNE |
|00005080| 74 32 73 79 6d 62 6f 6c | 0d 16 9e 1e 20 20 a4 77 |t2symbol|.... .w|
|00005090| 72 69 74 65 28 22 49 6e | 74 65 72 6e 61 6c 20 77 |rite("In|ternal w|
|000050a0| 69 74 68 20 22 29 0d 16 | a8 3f 20 20 42 49 43 20 |ith ")..|.? BIC |
|000050b0| 30 2c 31 30 2c 23 28 32 | 35 35 3c 3c 32 34 29 3a |0,10,#(2|55<<24):|
|000050c0| 20 a4 6c 6f 61 64 28 31 | 2c 53 79 6d 49 6e 64 65 | .load(1|,SymInde|
|000050d0| 78 29 3a 20 4c 44 52 20 | 31 2c 5b 30 2c 31 2c 4c |x): LDR |1,[0,1,L|
|000050e0| 53 4c 23 32 5d 0d 16 b2 | 27 20 20 41 44 44 20 31 |SL#2]...|' ADD 1|
|000050f0| 2c 31 2c 23 31 32 3a 20 | 4c 44 52 20 30 2c 5b 31 |,1,#12: |LDR 0,[1|
|00005100| 5d 3a 20 42 4c 20 57 72 | 69 74 65 53 0d 16 bc 0f |]: BL Wr|iteS....|
|00005110| 20 20 42 20 72 65 6c 64 | 6f 6e 65 0d 16 c6 0d 2e | B reld|one.....|
|00005120| 74 32 73 79 6d 62 6f 6c | 0d 16 d0 1c 20 20 a4 77 |t2symbol|.... .w|
|00005130| 72 69 74 65 28 22 53 79 | 6d 62 6f 6c 20 77 69 74 |rite("Sy|mbol wit|
|00005140| 68 20 22 29 0d 16 da 3f | 20 20 42 49 43 20 30 2c |h ")...?| BIC 0,|
|00005150| 31 30 2c 23 28 32 35 35 | 3c 3c 32 34 29 3a 20 a4 |10,#(255|<<24): .|
|00005160| 6c 6f 61 64 28 31 2c 53 | 79 6d 49 6e 64 65 78 29 |load(1,S|ymIndex)|
|00005170| 3a 20 4c 44 52 20 31 2c | 5b 30 2c 31 2c 4c 53 4c |: LDR 1,|[0,1,LSL|
|00005180| 23 32 5d 0d 16 e4 1a 20 | 20 4c 44 52 20 30 2c 5b |#2].... | LDR 0,[|
|00005190| 31 5d 3a 20 42 4c 20 57 | 72 69 74 65 53 0d 16 ee |1]: BL W|riteS...|
|000051a0| 0f 20 20 42 20 72 65 6c | 64 6f 6e 65 0d 16 f8 04 |. B rel|done....|
|000051b0| 0d 17 02 0c 2e 72 65 6c | 64 6f 6e 65 0d 17 0c 14 |.....rel|done....|
|000051c0| 20 20 a4 6c 6f 61 64 28 | 31 31 2c 58 50 6f 73 29 | .load(|11,XPos)|
|000051d0| 0d 17 16 0b 2e 72 65 6c | 70 61 64 0d 17 20 3c 20 |.....rel|pad.. < |
|000051e0| 20 43 4d 50 20 31 31 2c | 23 36 36 3a 20 53 57 49 | CMP 11,|#66: SWI|
|000051f0| 4c 54 20 32 35 36 2b 97 | 22 20 22 3a 20 41 44 44 |LT 256+.|" ": ADD|
|00005200| 4c 54 20 31 31 2c 31 31 | 2c 23 31 3a 20 42 4c 54 |LT 11,11|,#1: BLT|
|00005210| 20 72 65 6c 70 61 64 0d | 17 2a 15 20 20 a4 73 74 | relpad.|.*. .st|
|00005220| 6f 72 65 28 31 31 2c 58 | 50 6f 73 29 0d 17 34 1b |ore(11,X|Pos)..4.|
|00005230| 20 20 a4 77 72 69 74 65 | 28 22 3b 20 72 65 6c 6f | .write|("; relo|
|00005240| 63 61 74 65 64 22 29 0d | 17 3e 10 20 20 42 20 6d |cated").|.>. B m|
|00005250| 6e 65 6d 64 6f 6e 65 0d | 17 48 04 0d 17 52 0a 2e |nemdone.|.H...R..|
|00005260| 6e 6f 72 65 6c 0d 17 5c | 17 20 20 a4 73 74 6f 72 |norel..\|. .stor|
|00005270| 65 28 32 2c 4e 65 78 74 | 52 65 6c 29 0d 17 66 46 |e(2,Next|Rel)..fF|
|00005280| 20 20 a4 6c 6f 61 64 28 | 30 2c 57 6f 72 64 54 6d | .load(|0,WordTm|
|00005290| 70 29 3a 20 4d 4f 56 20 | 30 2c 30 2c 4c 53 52 23 |p): MOV |0,0,LSR#|
|000052a0| 32 34 3a 20 80 20 30 2c | 30 2c 23 31 34 3a 20 43 |24: . 0,|0,#14: C|
|000052b0| 4d 50 20 30 2c 23 31 30 | 3a 20 42 4e 45 20 6e 6f |MP 0,#10|: BNE no|
|000052c0| 74 42 0d 17 70 42 20 20 | a4 6c 6f 61 64 28 30 2c |tB..pB |.load(0,|
|000052d0| 57 6f 72 64 54 6d 70 29 | 3a 20 4d 4f 56 20 30 2c |WordTmp)|: MOV 0,|
|000052e0| 30 2c 4c 53 4c 23 32 3a | 20 a4 6c 6f 61 64 28 31 |0,LSL#2:| .load(1|
|000052f0| 2c 41 64 64 72 65 73 73 | 29 3a 20 41 44 44 20 30 |,Address|): ADD 0|
|00005300| 2c 30 2c 31 0d 17 7a 44 | 20 20 41 44 44 20 30 2c |,0,1..zD| ADD 0,|
|00005310| 30 2c 23 38 3a 20 42 49 | 43 20 31 2c 30 2c 23 26 |0,#8: BI|C 1,0,#&|
|00005320| 46 43 30 30 30 30 30 30 | 20 20 20 3b 20 61 64 64 |FC000000| ; add|
|00005330| 72 65 73 73 20 77 65 27 | 72 65 20 69 6e 74 65 72 |ress we'|re inter|
|00005340| 65 73 74 65 64 20 69 6e | 0d 17 84 17 20 20 a4 6c |ested in|.... .l|
|00005350| 6f 61 64 28 30 2c 41 72 | 65 61 4e 61 6d 65 29 0d |oad(0,Ar|eaName).|
|00005360| 17 8e 2b 20 20 3b 20 6e | 6f 77 20 77 65 20 62 61 |..+ ; n|ow we ba|
|00005370| 73 69 63 61 6c 6c 79 20 | 72 65 2d 69 6d 70 6c 65 |sically |re-imple|
|00005380| 6d 65 6e 74 20 2e 46 69 | 6e 64 0d 17 98 04 0d 17 |ment .Fi|nd......|
|00005390| a2 34 20 20 a4 6c 6f 61 | 64 28 32 2c 53 79 6d 54 |.4 .loa|d(2,SymT|
|000053a0| 61 62 6c 65 29 3a 20 41 | 44 44 20 32 2c 32 2c 23 |able): A|DD 2,2,#|
|000053b0| 38 3a 20 a4 6c 6f 61 64 | 28 33 2c 4e 53 79 6d 62 |8: .load|(3,NSymb|
|000053c0| 73 29 0d 17 ac 18 20 20 | 43 4d 50 20 33 2c 23 30 |s).... |CMP 3,#0|
|000053d0| 3a 20 42 45 51 20 6e 6f | 74 42 0d 17 b6 40 20 20 |: BEQ no|tB...@ |
|000053e0| 4d 4f 56 20 34 2c 23 30 | 3a 20 53 55 42 20 35 2c |MOV 4,#0|: SUB 5,|
|000053f0| 33 2c 23 31 20 20 20 20 | 20 20 20 20 20 20 20 20 |3,#1 | |
|00005400| 20 20 20 20 20 20 3b 20 | 73 65 61 72 63 68 69 6e | ; |searchin|
|00005410| 67 20 69 6e 20 5b 34 2c | 35 5d 0d 17 c0 0e 2e 66 |g in [4,|5].....f|
|00005420| 66 69 6e 64 4c 6f 6f 70 | 0d 17 ca 36 20 20 41 44 |findLoop|...6 AD|
|00005430| 44 20 38 2c 34 2c 35 3a | 20 4d 4f 56 20 38 2c 38 |D 8,4,5:| MOV 8,8|
|00005440| 2c 4c 53 52 23 31 20 20 | 20 20 20 20 20 20 20 20 |,LSR#1 | |
|00005450| 20 20 20 20 3b 20 6d 69 | 64 70 6f 69 6e 74 0d 17 | ; mi|dpoint..|
|00005460| d4 36 20 20 43 4d 50 20 | 34 2c 38 3a 20 42 45 51 |.6 CMP |4,8: BEQ|
|00005470| 20 66 66 69 6e 64 31 20 | 20 20 20 20 20 20 20 20 | ffind1 | |
|00005480| 20 20 20 20 20 20 20 20 | 20 20 3b 20 72 35 3c 3d | | ; r5<=|
|00005490| 72 34 2b 31 0d 17 de 37 | 20 20 4c 44 52 20 39 2c |r4+1...7| LDR 9,|
|000054a0| 5b 32 2c 38 2c 4c 53 4c | 23 34 5d 20 20 20 20 20 |[2,8,LSL|#4] |
|000054b0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|000054c0| 3b 20 69 74 73 20 76 61 | 6c 75 65 0d 17 e8 0d 20 |; its va|lue.... |
|000054d0| 20 43 4d 50 20 39 2c 31 | 0d 17 f2 4a 20 20 4d 4f | CMP 9,1|...J MO|
|000054e0| 56 47 45 20 35 2c 38 3a | 20 4d 4f 56 4c 54 20 34 |VGE 5,8:| MOVLT 4|
|000054f0| 2c 38 3a 20 42 20 66 66 | 69 6e 64 4c 6f 6f 70 20 |,8: B ff|indLoop |
|00005500| 20 20 20 20 3b 20 74 68 | 69 73 20 6d 65 61 6e 73 | ; th|is means|
|00005510| 20 77 69 6c 6c 20 66 69 | 6e 64 20 2a 66 69 72 73 | will fi|nd *firs|
|00005520| 74 2a 0d 17 fc 0b 2e 66 | 66 69 6e 64 31 0d 18 06 |t*.....f|find1...|
|00005530| 17 20 20 43 4d 50 20 34 | 2c 33 3a 20 42 47 45 20 |. CMP 4|,3: BGE |
|00005540| 6e 6f 74 42 0d 18 10 3a | 20 20 4c 44 52 20 39 2c |notB...:| LDR 9,|
|00005550| 5b 32 2c 34 2c 4c 53 4c | 23 34 5d 3a 20 43 4d 50 |[2,4,LSL|#4]: CMP|
|00005560| 20 39 2c 31 3a 20 41 44 | 44 4c 54 20 34 2c 34 2c | 9,1: AD|DLT 4,4,|
|00005570| 23 31 3a 20 42 4c 54 20 | 66 66 69 6e 64 31 0d 18 |#1: BLT |ffind1..|
|00005580| 1a 0e 20 20 42 47 54 20 | 6e 6f 74 42 0d 18 24 2f |.. BGT |notB..$/|
|00005590| 20 20 41 44 44 20 32 2c | 32 2c 23 34 3a 20 4c 44 | ADD 2,|2,#4: LD|
|000055a0| 52 20 36 2c 5b 32 2c 34 | 2c 4c 53 4c 23 34 5d 3a |R 6,[2,4|,LSL#4]:|
|000055b0| 20 53 55 42 20 32 2c 32 | 2c 23 34 0d 18 2e 2d 20 | SUB 2,2|,#4...- |
|000055c0| 20 a4 6c 6f 61 64 28 38 | 2c 53 74 72 54 61 62 6c | .load(8|,StrTabl|
|000055d0| 65 29 3a 20 41 44 44 20 | 36 2c 36 2c 38 3a 20 41 |e): ADD |6,6,8: A|
|000055e0| 44 44 20 37 2c 30 2c 38 | 0d 18 38 0a 2e 66 63 6b |DD 7,0,8|..8..fck|
|000055f0| 6c 70 0d 18 42 47 20 20 | 4c 44 52 42 20 39 2c 5b |lp..BG |LDRB 9,[|
|00005600| 36 5d 2c 23 31 3a 20 4c | 44 52 42 20 31 30 2c 5b |6],#1: L|DRB 10,[|
|00005610| 37 5d 2c 23 31 3a 20 43 | 4d 50 20 39 2c 31 30 3a |7],#1: C|MP 9,10:|
|00005620| 20 41 44 44 4e 45 20 34 | 2c 34 2c 23 31 3a 20 42 | ADDNE 4|,4,#1: B|
|00005630| 4e 45 20 66 66 69 6e 64 | 31 0d 18 4c 19 20 20 43 |NE ffind|1..L. C|
|00005640| 4d 50 20 39 2c 23 30 3a | 20 42 4e 45 20 66 63 6b |MP 9,#0:| BNE fck|
|00005650| 6c 70 0d 18 56 13 20 20 | 53 54 4d 46 44 20 31 33 |lp..V. |STMFD 13|
|00005660| 21 2c 7b 31 7d 0d 18 60 | 20 20 20 a4 6c 6f 61 64 |!,{1}..`| .load|
|00005670| 28 30 2c 44 69 73 41 64 | 72 29 3a 20 42 4c 20 57 |(0,DisAd|r): BL W|
|00005680| 72 69 74 65 38 0d 18 6a | 35 20 20 a4 6c 6f 61 64 |rite8..j|5 .load|
|00005690| 28 30 2c 53 79 6d 54 61 | 62 6c 65 29 3a 20 4c 44 |(0,SymTa|ble): LD|
|000056a0| 52 20 30 2c 5b 30 2c 34 | 2c 4c 53 4c 23 34 5d 3a |R 0,[0,4|,LSL#4]:|
|000056b0| 20 42 4c 20 57 72 69 74 | 65 53 0d 18 74 09 2e 62 | BL Writ|eS..t..b|
|000056c0| 70 61 64 0d 18 7e 38 20 | 20 43 4d 50 20 31 31 2c |pad..~8 | CMP 11,|
|000056d0| 23 36 36 3a 20 53 57 49 | 4c 54 20 32 35 36 2b 33 |#66: SWI|LT 256+3|
|000056e0| 32 3a 20 41 44 44 4c 54 | 20 31 31 2c 31 31 2c 23 |2: ADDLT| 11,11,#|
|000056f0| 31 3a 20 42 4c 54 20 62 | 70 61 64 0d 18 88 15 20 |1: BLT b|pad.... |
|00005700| 20 a4 73 74 6f 72 65 28 | 31 31 2c 58 50 6f 73 29 | .store(|11,XPos)|
|00005710| 0d 18 92 2e 20 20 a4 77 | 72 69 74 65 28 22 3b 20 |.... .w|rite("; |
|00005720| 26 22 29 3a 20 4c 44 4d | 46 44 20 31 33 21 2c 7b |&"): LDM|FD 13!,{|
|00005730| 30 7d 3a 20 42 4c 20 57 | 72 69 74 65 48 36 0d 18 |0}: BL W|riteH6..|
|00005740| 9c 10 20 20 42 20 6d 6e | 65 6d 64 6f 6e 65 0d 18 |.. B mn|emdone..|
|00005750| a6 09 2e 6e 6f 74 42 0d | 18 b0 26 20 20 a4 6c 6f |...notB.|..& .lo|
|00005760| 61 64 28 30 2c 44 69 73 | 41 64 72 29 3a 20 53 57 |ad(0,Dis|Adr): SW|
|00005770| 49 20 22 4f 53 5f 57 72 | 69 74 65 30 22 0d 18 ba |I "OS_Wr|ite0"...|
|00005780| 0d 2e 6d 6e 65 6d 64 6f | 6e 65 0d 18 c4 0e 20 20 |..mnemdo|ne.... |
|00005790| a4 6e 65 77 6c 69 6e 65 | 0d 18 ce 0d 2e 77 6f 72 |.newline|.....wor|
|000057a0| 64 4e 65 78 74 0d 18 d8 | 35 20 20 a4 6c 6f 61 64 |dNext...|5 .load|
|000057b0| 28 30 2c 41 64 64 72 65 | 73 73 29 3a 20 41 44 44 |(0,Addre|ss): ADD|
|000057c0| 20 30 2c 30 2c 23 34 3a | 20 a4 73 74 6f 72 65 28 | 0,0,#4:| .store(|
|000057d0| 30 2c 41 64 64 72 65 73 | 73 29 0d 18 e2 2e 20 20 |0,Addres|s).... |
|000057e0| a4 6c 6f 61 64 28 31 2c | 41 72 65 61 53 69 7a 65 |.load(1,|AreaSize|
|000057f0| 29 3a 20 43 4d 50 20 30 | 2c 31 3a 20 42 4c 54 20 |): CMP 0|,1: BLT |
|00005800| 61 72 65 61 43 6f 6e 74 | 0d 18 ec 0c 2e 53 41 72 |areaCont|.....SAr|
|00005810| 64 6f 6e 65 0d 18 f6 0e | 20 20 a4 6e 65 77 6c 69 |done....| .newli|
|00005820| 6e 65 0d 19 00 19 20 20 | 4c 44 4d 46 44 20 31 33 |ne.... |LDMFD 13|
|00005830| 21 2c 7b 30 2d 31 31 2c | 31 35 7d 0d 19 0a 04 0d |!,{0-11,|15}.....|
|00005840| 19 14 26 2e 73 6f 72 74 | 73 70 61 63 65 32 20 45 |..&.sort|space2 E|
|00005850| 51 55 44 20 30 3a 20 45 | 51 55 44 20 30 3a 20 45 |QUD 0: E|QUD 0: E|
|00005860| 51 55 44 20 30 0d 19 1e | 32 2e 53 6f 72 74 52 65 |QUD 0...|2.SortRe|
|00005870| 6c 73 20 20 20 3b 20 6d | 6f 72 65 20 6f 72 20 6c |ls ; m|ore or l|
|00005880| 65 73 73 20 73 61 6d 65 | 20 61 73 20 53 6f 72 74 |ess same| as Sort|
|00005890| 53 79 6d 62 6f 6c 73 0d | 19 28 2a 20 20 41 44 52 |Symbols.|.(* ADR|
|000058a0| 20 30 2c 73 6f 72 74 73 | 70 61 63 65 32 3a 20 53 | 0,sorts|pace2: S|
|000058b0| 54 4d 49 41 20 30 2c 7b | 31 32 2c 31 33 2c 31 34 |TMIA 0,{|12,13,14|
|000058c0| 7d 0d 19 32 38 20 20 a4 | 6c 6f 61 64 28 30 2c 4e |}..28 .|load(0,N|
|000058d0| 52 65 6c 73 29 3a 20 43 | 4d 50 20 30 2c 23 32 3a |Rels): C|MP 0,#2:|
|000058e0| 20 4d 4f 56 4c 54 20 31 | 35 2c 31 34 20 20 20 3b | MOVLT 1|5,14 ;|
|000058f0| 20 3c 32 20 69 74 65 6d | 73 0d 19 3c 3a 20 20 4d | <2 item|s..<: M|
|00005900| 4f 56 20 36 2c 30 2c 4c | 53 52 23 31 20 20 20 20 |OV 6,0,L|SR#1 |
|00005910| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00005920| 20 20 20 20 20 20 20 20 | 20 3b 20 73 74 65 70 73 | | ; steps|
|00005930| 69 7a 65 0d 19 46 16 20 | 20 a4 6c 6f 61 64 28 31 |ize..F. | .load(1|
|00005940| 2c 52 65 6c 44 61 74 61 | 29 0d 19 50 15 20 20 41 |,RelData|)..P. A|
|00005950| 44 44 20 34 2c 31 2c 30 | 2c 4c 53 4c 23 33 0d 19 |DD 4,1,0|,LSL#3..|
|00005960| 5a 0e 2e 73 72 62 69 67 | 6c 6f 6f 70 0d 19 64 15 |Z..srbig|loop..d.|
|00005970| 20 20 41 44 44 20 33 2c | 31 2c 36 2c 4c 53 4c 23 | ADD 3,|1,6,LSL#|
|00005980| 33 0d 19 6e 10 2e 73 72 | 6f 75 74 65 72 6c 6f 6f |3..n..sr|outerloo|
|00005990| 70 0d 19 78 13 20 20 4c | 44 4d 49 41 20 33 2c 7b |p..x. L|DMIA 3,{|
|000059a0| 37 2d 38 7d 0d 19 82 15 | 20 20 53 55 42 20 32 2c |7-8}....| SUB 2,|
|000059b0| 33 2c 36 2c 4c 53 4c 23 | 33 0d 19 8c 10 2e 73 72 |3,6,LSL#|3.....sr|
|000059c0| 69 6e 6e 65 72 6c 6f 6f | 70 0d 19 96 15 20 20 4c |innerloo|p.... L|
|000059d0| 44 4d 49 41 20 32 2c 7b | 31 31 2d 31 32 7d 0d 19 |DMIA 2,{|11-12}..|
|000059e0| a0 1b 20 20 43 4d 50 20 | 37 2c 31 31 3a 20 42 47 |.. CMP |7,11: BG|
|000059f0| 45 20 73 72 66 6f 75 6e | 64 0d 19 aa 37 20 20 41 |E srfoun|d...7 A|
|00005a00| 44 44 20 32 2c 32 2c 36 | 2c 4c 53 4c 23 33 3a 20 |DD 2,2,6|,LSL#3: |
|00005a10| 53 54 4d 49 41 20 32 2c | 7b 31 31 2d 31 32 7d 3a |STMIA 2,|{11-12}:|
|00005a20| 20 53 55 42 20 32 2c 32 | 2c 36 2c 4c 53 4c 23 34 | SUB 2,2|,6,LSL#4|
|00005a30| 0d 19 b4 1e 20 20 43 4d | 50 20 32 2c 31 3a 20 42 |.... CM|P 2,1: B|
|00005a40| 47 45 20 73 72 69 6e 6e | 65 72 6c 6f 6f 70 0d 19 |GE srinn|erloop..|
|00005a50| be 0c 2e 73 72 66 6f 75 | 6e 64 0d 19 c8 35 20 20 |...srfou|nd...5 |
|00005a60| 41 44 44 20 32 2c 32 2c | 36 2c 4c 53 4c 23 33 3a |ADD 2,2,|6,LSL#3:|
|00005a70| 20 53 54 4d 49 41 20 32 | 2c 7b 37 2d 38 7d 3a 20 | STMIA 2|,{7-8}: |
|00005a80| 53 55 42 20 32 2c 32 2c | 36 2c 4c 53 4c 23 33 0d |SUB 2,2,|6,LSL#3.|
|00005a90| 19 d2 2a 20 20 41 44 44 | 20 33 2c 33 2c 23 38 3a |..* ADD| 3,3,#8:|
|00005aa0| 20 43 4d 50 20 33 2c 34 | 3a 20 42 4c 54 20 73 72 | CMP 3,4|: BLT sr|
|00005ab0| 6f 75 74 65 72 6c 6f 6f | 70 0d 19 dc 23 20 20 4d |outerloo|p...# M|
|00005ac0| 4f 56 53 20 36 2c 36 2c | 4c 53 52 23 31 3a 20 42 |OVS 6,6,|LSR#1: B|
|00005ad0| 4e 45 20 73 72 62 69 67 | 6c 6f 6f 70 0d 19 e6 2a |NE srbig|loop...*|
|00005ae0| 20 20 41 44 52 20 30 2c | 73 6f 72 74 73 70 61 63 | ADR 0,|sortspac|
|00005af0| 65 32 3a 20 4c 44 4d 49 | 41 20 30 2c 7b 31 32 2c |e2: LDMI|A 0,{12,|
|00005b00| 31 33 2c 31 35 7d 0d 19 | f0 04 0d 19 fa 1f 2e 4f |13,15}..|.......O|
|00005b10| 6e 65 43 68 61 72 20 20 | 3b 20 72 30 20 2d 3e 20 |neChar |; r0 -> |
|00005b20| 72 30 20 7a 6f 67 67 65 | 64 0d 1a 04 43 20 20 43 |r0 zogge|d...C C|
|00005b30| 4d 50 20 30 2c 23 33 32 | 3a 20 42 47 45 20 6e 6f |MP 0,#32|: BGE no|
|00005b40| 74 63 74 72 6c 3a 20 a4 | 73 65 74 63 6f 6c 28 63 |tctrl: .|setcol(c|
|00005b50| 5f 72 65 64 29 3a 20 41 | 44 44 20 30 2c 30 2c 23 |_red): A|DD 0,0,#|
|00005b60| 36 34 3a 20 42 20 64 6f | 63 68 61 72 0d 1a 0e 0c |64: B do|char....|
|00005b70| 2e 6e 6f 74 63 74 72 6c | 0d 1a 18 39 20 20 43 4d |.notctrl|...9 CM|
|00005b80| 50 20 30 2c 23 31 32 37 | 3a 20 42 4e 45 20 64 6f |P 0,#127|: BNE do|
|00005b90| 63 68 61 72 3a 20 a4 73 | 65 74 63 6f 6c 28 63 5f |char: .s|etcol(c_|
|00005ba0| 67 72 65 65 6e 29 3a 20 | 4d 4f 56 20 30 2c 23 36 |green): |MOV 0,#6|
|00005bb0| 33 0d 1a 22 0b 2e 64 6f | 63 68 61 72 0d 1a 2c 15 |3.."..do|char..,.|
|00005bc0| 20 20 53 57 49 20 22 4f | 53 5f 57 72 69 74 65 43 | SWI "O|S_WriteC|
|00005bd0| 22 0d 1a 36 15 20 20 a4 | 73 65 74 63 6f 6c 28 63 |"..6. .|setcol(c|
|00005be0| 5f 6e 6f 72 6d 29 0d 1a | 40 33 20 20 a4 6c 6f 61 |_norm)..|@3 .loa|
|00005bf0| 64 28 31 31 2c 58 50 6f | 73 29 3a 20 41 44 44 20 |d(11,XPo|s): ADD |
|00005c00| 31 31 2c 31 31 2c 23 31 | 3a 20 a4 73 74 6f 72 65 |11,11,#1|: .store|
|00005c10| 28 31 31 2c 58 50 6f 73 | 29 0d 1a 4a 0f 20 20 4d |(11,XPos|)..J. M|
|00005c20| 4f 56 20 31 35 2c 31 34 | 0d 1a 54 04 0d 1a 5e 2a |OV 15,14|..T...^*|
|00005c30| 2e 46 69 6e 64 20 20 20 | 3b 20 72 30 3d 61 72 65 |.Find |; r0=are|
|00005c40| 61 20 6e 61 6d 65 2c 20 | 72 31 3d 61 64 64 72 20 |a name, |r1=addr |
|00005c50| 2d 3e 20 7a 6f 67 0d 1a | 68 14 20 20 53 54 4d 46 |-> zog..|h. STMF|
|00005c60| 44 20 31 33 21 2c 7b 31 | 34 7d 0d 1a 72 34 20 20 |D 13!,{1|4}..r4 |
|00005c70| a4 6c 6f 61 64 28 32 2c | 53 79 6d 54 61 62 6c 65 |.load(2,|SymTable|
|00005c80| 29 3a 20 41 44 44 20 32 | 2c 32 2c 23 38 3a 20 a4 |): ADD 2|,2,#8: .|
|00005c90| 6c 6f 61 64 28 33 2c 4e | 53 79 6d 62 73 29 0d 1a |load(3,N|Symbs)..|
|00005ca0| 7c 1c 20 20 43 4d 50 20 | 33 2c 23 30 3a 20 42 45 ||. CMP |3,#0: BE|
|00005cb0| 51 20 66 69 6e 64 46 61 | 69 6c 0d 1a 86 40 20 20 |Q findFa|il...@ |
|00005cc0| 4d 4f 56 20 34 2c 23 30 | 3a 20 53 55 42 20 35 2c |MOV 4,#0|: SUB 5,|
|00005cd0| 33 2c 23 31 20 20 20 20 | 20 20 20 20 20 20 20 20 |3,#1 | |
|00005ce0| 20 20 20 20 20 20 3b 20 | 73 65 61 72 63 68 69 6e | ; |searchin|
|00005cf0| 67 20 69 6e 20 5b 34 2c | 35 5d 0d 1a 90 0d 2e 66 |g in [4,|5].....f|
|00005d00| 69 6e 64 4c 6f 6f 70 0d | 1a 9a 36 20 20 41 44 44 |indLoop.|..6 ADD|
|00005d10| 20 38 2c 34 2c 35 3a 20 | 4d 4f 56 20 38 2c 38 2c | 8,4,5: |MOV 8,8,|
|00005d20| 4c 53 52 23 31 20 20 20 | 20 20 20 20 20 20 20 20 |LSR#1 | |
|00005d30| 20 20 20 3b 20 6d 69 64 | 70 6f 69 6e 74 0d 1a a4 | ; mid|point...|
|00005d40| 36 20 20 43 4d 50 20 34 | 2c 38 3a 20 42 45 51 20 |6 CMP 4|,8: BEQ |
|00005d50| 66 69 6e 64 31 20 20 20 | 20 20 20 20 20 20 20 20 |find1 | |
|00005d60| 20 20 20 20 20 20 20 20 | 20 3b 20 72 35 3c 3d 72 | | ; r5<=r|
|00005d70| 34 2b 31 0d 1a ae 37 20 | 20 4c 44 52 20 39 2c 5b |4+1...7 | LDR 9,[|
|00005d80| 32 2c 38 2c 4c 53 4c 23 | 34 5d 20 20 20 20 20 20 |2,8,LSL#|4] |
|00005d90| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 3b | | ;|
|00005da0| 20 69 74 73 20 76 61 6c | 75 65 0d 1a b8 0d 20 20 | its val|ue.... |
|00005db0| 43 4d 50 20 39 2c 31 0d | 1a c2 4a 20 20 4d 4f 56 |CMP 9,1.|..J MOV|
|00005dc0| 47 45 20 35 2c 38 3a 20 | 4d 4f 56 4c 54 20 34 2c |GE 5,8: |MOVLT 4,|
|00005dd0| 38 3a 20 42 20 66 69 6e | 64 4c 6f 6f 70 20 20 20 |8: B fin|dLoop |
|00005de0| 20 20 20 3b 20 74 68 69 | 73 20 6d 65 61 6e 73 20 | ; thi|s means |
|00005df0| 77 69 6c 6c 20 66 69 6e | 64 20 2a 66 69 72 73 74 |will fin|d *first|
|00005e00| 2a 0d 1a cc 0a 2e 66 69 | 6e 64 31 0d 1a d6 39 20 |*.....fi|nd1...9 |
|00005e10| 20 4c 44 52 20 39 2c 5b | 32 2c 34 2c 4c 53 4c 23 | LDR 9,[|2,4,LSL#|
|00005e20| 34 5d 3a 20 43 4d 50 20 | 39 2c 31 3a 20 41 44 44 |4]: CMP |9,1: ADD|
|00005e30| 4c 54 20 34 2c 34 2c 23 | 31 3a 20 42 4c 54 20 66 |LT 4,4,#|1: BLT f|
|00005e40| 69 6e 64 31 0d 1a e0 12 | 20 20 42 47 54 20 66 69 |ind1....| BGT fi|
|00005e50| 6e 64 46 61 69 6c 0d 1a | ea 2f 20 20 41 44 44 20 |ndFail..|./ ADD |
|00005e60| 32 2c 32 2c 23 34 3a 20 | 4c 44 52 20 36 2c 5b 32 |2,2,#4: |LDR 6,[2|
|00005e70| 2c 34 2c 4c 53 4c 23 34 | 5d 3a 20 53 55 42 20 32 |,4,LSL#4|]: SUB 2|
|00005e80| 2c 32 2c 23 34 0d 1a f4 | 2d 20 20 a4 6c 6f 61 64 |,2,#4...|- .load|
|00005e90| 28 38 2c 53 74 72 54 61 | 62 6c 65 29 3a 20 41 44 |(8,StrTa|ble): AD|
|00005ea0| 44 20 36 2c 36 2c 38 3a | 20 41 44 44 20 37 2c 30 |D 6,6,8:| ADD 7,0|
|00005eb0| 2c 38 0d 1a fe 09 2e 63 | 6b 6c 70 0d 1b 08 46 20 |,8.....c|klp...F |
|00005ec0| 20 4c 44 52 42 20 39 2c | 5b 36 5d 2c 23 31 3a 20 | LDRB 9,|[6],#1: |
|00005ed0| 4c 44 52 42 20 31 30 2c | 5b 37 5d 2c 23 31 3a 20 |LDRB 10,|[7],#1: |
|00005ee0| 43 4d 50 20 39 2c 31 30 | 3a 20 41 44 44 4e 45 20 |CMP 9,10|: ADDNE |
|00005ef0| 34 2c 34 2c 23 31 3a 20 | 42 4e 45 20 66 69 6e 64 |4,4,#1: |BNE find|
|00005f00| 31 0d 1b 12 18 20 20 43 | 4d 50 20 39 2c 23 30 3a |1.... C|MP 9,#0:|
|00005f10| 20 42 4e 45 20 63 6b 6c | 70 0d 1b 1c 23 20 20 53 | BNE ckl|p...# S|
|00005f20| 55 42 20 32 2c 32 2c 23 | 38 3a 20 4c 44 52 20 30 |UB 2,2,#|8: LDR 0|
|00005f30| 2c 5b 32 2c 34 2c 4c 53 | 4c 23 34 5d 0d 1b 26 2d |,[2,4,LS|L#4]..&-|
|00005f40| 20 20 53 54 4d 46 44 20 | 31 33 21 2c 7b 31 7d 3a | STMFD |13!,{1}:|
|00005f50| 20 42 4c 20 57 72 69 74 | 65 53 3a 20 4c 44 4d 46 | BL Writ|eS: LDMF|
|00005f60| 44 20 31 33 21 2c 7b 31 | 7d 0d 1b 30 12 20 20 a4 |D 13!,{1|}..0. .|
|00005f70| 77 72 69 74 65 28 22 20 | 28 22 29 0d 1b 3a 24 20 |write(" |(")..:$ |
|00005f80| 20 41 44 44 20 32 2c 32 | 2c 23 31 32 3a 20 4c 44 | ADD 2,2|,#12: LD|
|00005f90| 52 20 30 2c 5b 32 2c 34 | 2c 4c 53 4c 23 34 5d 0d |R 0,[2,4|,LSL#4].|
|00005fa0| 1b 44 2d 20 20 53 54 4d | 46 44 20 31 33 21 2c 7b |.D- STM|FD 13!,{|
|00005fb0| 31 7d 3a 20 42 4c 20 57 | 72 69 74 65 53 3a 20 4c |1}: BL W|riteS: L|
|00005fc0| 44 4d 46 44 20 31 33 21 | 2c 7b 31 7d 0d 1b 4e 12 |DMFD 13!|,{1}..N.|
|00005fd0| 20 20 a4 77 72 69 74 65 | 28 22 3a 26 22 29 0d 1b | .write|(":&")..|
|00005fe0| 58 19 20 20 4d 4f 56 20 | 30 2c 31 3a 20 42 4c 20 |X. MOV |0,1: BL |
|00005ff0| 57 72 69 74 65 48 36 0d | 1b 62 11 20 20 a4 77 72 |WriteH6.|.b. .wr|
|00006000| 69 74 65 28 22 29 22 29 | 0d 1b 6c 14 20 20 4c 44 |ite(")")|..l. LD|
|00006010| 4d 46 44 20 31 33 21 2c | 7b 31 35 7d 0d 1b 76 0d |MFD 13!,|{15}..v.|
|00006020| 2e 66 69 6e 64 46 61 69 | 6c 0d 1b 80 1e 20 20 53 |.findFai|l.... S|
|00006030| 54 4d 46 44 20 31 33 21 | 2c 7b 31 7d 3a 20 42 4c |TMFD 13!|,{1}: BL|
|00006040| 20 57 72 69 74 65 53 0d | 1b 8a 41 20 20 53 57 49 | WriteS.|..A SWI|
|00006050| 20 32 35 36 2b 97 22 3a | 22 3a 20 a4 6c 6f 61 64 | 256+.":|": .load|
|00006060| 28 31 31 2c 58 50 6f 73 | 29 3a 20 41 44 44 20 31 |(11,XPos|): ADD 1|
|00006070| 31 2c 31 31 2c 23 31 3a | 20 a4 73 74 6f 72 65 28 |1,11,#1:| .store(|
|00006080| 31 31 2c 58 50 6f 73 29 | 0d 1b 94 1f 20 20 4c 44 |11,XPos)|.... LD|
|00006090| 4d 46 44 20 31 33 21 2c | 7b 30 7d 3a 20 42 4c 20 |MFD 13!,|{0}: BL |
|000060a0| 57 72 69 74 65 48 36 0d | 1b 9e 14 20 20 4c 44 4d |WriteH6.|... LDM|
|000060b0| 46 44 20 31 33 21 2c 7b | 31 35 7d 0d 1b a8 04 0d |FD 13!,{|15}.....|
|000060c0| 1b b2 29 2e 57 6f 72 64 | 20 20 20 20 3b 20 2d 3e |..).Word| ; ->|
|000060d0| 20 72 30 3d 77 6f 72 64 | 2c 20 72 31 2d 34 2c 31 | r0=word|, r1-4,1|
|000060e0| 34 20 7a 6f 67 67 65 64 | 0d 1b bc 3b 20 20 4d 4f |4 zogged|...; MO|
|000060f0| 56 20 30 2c 23 34 3a 20 | a4 6c 6f 61 64 28 31 2c |V 0,#4: |.load(1,|
|00006100| 48 61 6e 64 6c 65 29 3a | 20 a4 76 61 64 72 28 32 |Handle):| .vadr(2|
|00006110| 2c 57 6f 72 64 54 6d 70 | 29 3a 20 4d 4f 56 20 33 |,WordTmp|): MOV 3|
|00006120| 2c 23 34 0d 1b c6 25 20 | 20 53 57 49 20 22 4f 53 |,#4...% | SWI "OS|
|00006130| 5f 47 42 50 42 22 3a 20 | a4 6c 6f 61 64 28 30 2c |_GBPB": |.load(0,|
|00006140| 57 6f 72 64 54 6d 70 29 | 0d 1b d0 0f 20 20 4d 4f |WordTmp)|.... MO|
|00006150| 56 20 31 35 2c 31 34 0d | 1b da 04 0d 1b e4 49 2e |V 15,14.|......I.|
|00006160| 4c 6f 6f 6b 75 70 20 20 | 3b 20 72 30 20 2d 3e 20 |Lookup |; r0 -> |
|00006170| 72 30 3d 63 68 75 6e 6b | 20 6e 75 6d 62 65 72 20 |r0=chunk| number |
|00006180| 5b 30 2e 2e 5d 2c 20 72 | 31 2d 34 20 7a 6f 67 67 |[0..], r|1-4 zogg|
|00006190| 65 64 2e 20 45 72 72 6f | 72 20 69 66 20 6e 65 78 |ed. Erro|r if nex|
|000061a0| 69 73 74 73 0d 1b ee 1f | 20 20 a4 6c 6f 61 64 28 |ists....| .load(|
|000061b0| 31 2c 44 61 74 41 64 72 | 29 3a 20 4d 4f 56 20 32 |1,DatAdr|): MOV 2|
|000061c0| 2c 23 30 0d 1b f8 0d 2e | 6c 6f 6f 6b 6c 6f 6f 70 |,#0.....|lookloop|
|000061d0| 0d 1c 02 2b 20 20 4c 44 | 52 20 33 2c 5b 31 2c 32 |...+ LD|R 3,[1,2|
|000061e0| 2c 4c 53 4c 23 32 5d 3a | 20 4c 44 52 20 34 2c 5b |,LSL#2]:| LDR 4,[|
|000061f0| 30 5d 3a 20 43 4d 50 20 | 33 2c 34 0d 1c 0c 1e 20 |0]: CMP |3,4.... |
|00006200| 20 41 44 44 20 32 2c 32 | 2c 23 31 3a 20 42 4e 45 | ADD 2,2|,#1: BNE|
|00006210| 20 6c 6f 6f 6b 6e 65 78 | 74 0d 1c 16 3c 20 20 4c | looknex|t...< L|
|00006220| 44 52 20 33 2c 5b 31 2c | 32 2c 4c 53 4c 23 32 5d |DR 3,[1,|2,LSL#2]|
|00006230| 3a 20 4c 44 52 20 34 2c | 5b 30 2c 23 34 5d 3a 20 |: LDR 4,|[0,#4]: |
|00006240| 43 4d 50 20 33 2c 34 3a | 20 42 4e 45 20 6c 6f 6f |CMP 3,4:| BNE loo|
|00006250| 6b 6e 65 78 74 0d 1c 20 | 2a 20 20 53 55 42 20 32 |knext.. |* SUB 2|
|00006260| 2c 32 2c 23 31 3a 20 4d | 4f 56 20 30 2c 32 2c 4c |,2,#1: M|OV 0,2,L|
|00006270| 53 52 23 32 3a 20 4d 4f | 56 20 31 35 2c 31 34 0d |SR#2: MO|V 15,14.|
|00006280| 1c 2a 0d 2e 6c 6f 6f 6b | 6e 65 78 74 0d 1c 34 3f |.*..look|next..4?|
|00006290| 20 20 41 44 44 20 32 2c | 32 2c 23 33 3a 20 a4 6c | ADD 2,|2,#3: .l|
|000062a0| 6f 61 64 28 33 2c 4e 43 | 68 75 6e 6b 73 29 3a 20 |oad(3,NC|hunks): |
|000062b0| 43 4d 50 20 32 2c 33 2c | 4c 53 4c 23 32 3a 20 42 |CMP 2,3,|LSL#2: B|
|000062c0| 4c 54 20 6c 6f 6f 6b 6c | 6f 6f 70 0d 1c 3e 2d 20 |LT lookl|oop..>- |
|000062d0| 20 a4 65 72 72 6f 72 28 | 22 4e 6f 6e 2d 65 78 69 | .error(|"Non-exi|
|000062e0| 73 74 65 6e 74 20 63 68 | 75 6e 6b 22 29 20 20 20 |stent ch|unk") |
|000062f0| 20 3b 20 65 78 69 74 73 | 0d 1c 48 04 0d 1c 52 43 | ; exits|..H...RC|
|00006300| 2e 53 65 74 50 74 72 20 | 20 3b 20 72 30 3d 63 68 |.SetPtr | ; r0=ch|
|00006310| 75 6e 6b 20 6e 75 6d 62 | 65 72 20 2d 3e 20 72 30 |unk numb|er -> r0|
|00006320| 2d 32 20 7a 6f 67 67 65 | 64 2e 20 41 63 74 75 61 |-2 zogge|d. Actua|
|00006330| 6c 6c 79 20 72 32 3d 70 | 6f 73 69 74 69 6f 6e 0d |lly r2=p|osition.|
|00006340| 1c 5c 34 20 20 a4 6c 6f | 61 64 28 31 2c 44 61 74 |.\4 .lo|ad(1,Dat|
|00006350| 41 64 72 29 3a 20 41 44 | 44 20 31 2c 31 2c 23 38 |Adr): AD|D 1,1,#8|
|00006360| 3a 20 4c 44 52 20 32 2c | 5b 31 2c 30 2c 4c 53 4c |: LDR 2,|[1,0,LSL|
|00006370| 23 34 5d 0d 1c 66 2e 20 | 20 4d 4f 56 20 30 2c 23 |#4]..f. | MOV 0,#|
|00006380| 31 3a 20 a4 6c 6f 61 64 | 28 31 2c 48 61 6e 64 6c |1: .load|(1,Handl|
|00006390| 65 29 3a 20 53 57 49 20 | 22 4f 53 5f 41 72 67 73 |e): SWI |"OS_Args|
|000063a0| 22 0d 1c 70 0f 20 20 4d | 4f 56 20 31 35 2c 31 34 |"..p. M|OV 15,14|
|000063b0| 0d 1c 7a 04 0d 1c 84 24 | 2e 77 6e 62 75 66 66 65 |..z....$|.wnbuffe|
|000063c0| 72 20 45 51 55 44 20 30 | 3a 20 45 51 55 44 20 30 |r EQUD 0|: EQUD 0|
|000063d0| 3a 20 45 51 55 44 20 30 | 0d 1c 8e 20 2e 57 72 69 |: EQUD 0|... .Wri|
|000063e0| 74 65 4e 20 20 3b 20 72 | 30 20 2d 3e 20 72 30 2d |teN ; r|0 -> r0-|
|000063f0| 32 20 7a 6f 67 67 65 64 | 0d 1c 98 3a 20 20 41 44 |2 zogged|...: AD|
+--------+-------------------------+-------------------------+--------+--------+
Only 25.0 KB of data is shown above.