home *** CD-ROM | disk | FTP | other *** search
Unknown | 1995-09-23 | 12.2 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.
Confidence | Program | Detection | Match Type | Support
|
---|
100%
| file
| data
| default
| |
100%
| xdgMime
| image/x-tga
| default
|
|
hex view+--------+-------------------------+-------------------------+--------+--------+
|00000000| 0d 00 0a 24 f4 20 3e 20 | 50 61 74 63 68 20 66 6f |...$. > |Patch fo|
|00000010| 72 20 6d 65 6d 6f 72 79 | 20 63 6f 6d 70 69 6c 61 |r memory| compila|
|00000020| 74 69 6f 6e 0d 00 14 37 | f4 20 43 72 65 61 74 65 |tion...7|. Create|
|00000030| 64 20 62 79 20 4a 46 50 | 61 74 63 68 20 a9 20 4a |d by JFP|atch . J|
|00000040| 75 73 74 69 6e 20 46 6c | 65 74 63 68 65 72 2c 20 |ustin Fl|etcher, |
|00000050| 30 35 20 53 65 70 20 31 | 39 39 35 0d 00 1e 30 f4 |05 Sep 1|995...0.|
|00000060| 20 49 6e 74 65 72 6d 65 | 64 69 61 74 65 20 63 6f | Interme|diate co|
|00000070| 64 65 20 66 69 6c 65 20 | 63 72 65 61 74 65 64 20 |de file |created |
|00000080| 32 33 20 53 65 70 20 31 | 39 39 35 0d 00 28 10 ee |23 Sep 1|995..(..|
|00000090| 20 85 20 f2 45 72 72 6f | 72 3a e0 0d 00 32 13 f2 | . .Erro|r:...2..|
|000000a0| 70 61 74 63 68 5f 6c 6f | 61 64 66 69 6c 65 0d 00 |patch_lo|adfile..|
|000000b0| 3c 05 3a 0d 00 46 21 f4 | 20 2a 2a 2a 2a 20 55 73 |<.:..F!.| **** Us|
|000000c0| 65 72 20 70 72 65 2d 61 | 73 73 65 6d 62 6c 79 20 |er pre-a|ssembly |
|000000d0| 2a 2a 2a 2a 0d 00 50 38 | 20 f1 20 22 44 6f 20 79 |****..P8| . "Do y|
|000000e0| 6f 75 20 77 61 6e 74 20 | 74 6f 20 69 6e 63 6c 75 |ou want |to inclu|
|000000f0| 64 65 20 74 68 65 20 75 | 73 65 72 73 20 6e 61 6d |de the u|sers nam|
|00000100| 65 20 3f 20 28 79 2f 6e | 29 20 22 3b 0d 00 5a 2d |e ? (y/n|) ";..Z-|
|00000110| 20 f5 3a c8 99 20 22 4f | 53 5f 43 6f 6e 66 69 72 | .:.. "O|S_Confir|
|00000120| 6d 22 20 b8 20 67 3a 67 | 24 3d bd 67 3a fd a7 22 |m" . g:g|$=.g:.."|
|00000130| 79 6e 22 2c 67 24 29 3e | 30 0d 00 64 08 20 f1 67 |yn",g$)>|0..d. .g|
|00000140| 24 0d 00 6e 1b 20 63 6f | 6e 64 5f 75 73 65 72 73 |$..n. co|nd_users|
|00000150| 3d a7 22 79 59 22 2c 67 | 24 29 3e 30 0d 00 78 05 |=."yY",g|$)>0..x.|
|00000160| 3a 0d 00 82 25 f4 20 2a | 2a 2a 2a 20 4d 61 69 6e |:...%. *|*** Main|
|00000170| 20 61 73 73 65 6d 62 6c | 79 20 72 6f 75 74 69 6e | assembl|y routin|
|00000180| 65 20 2a 2a 2a 2a 0d 00 | 8c 17 73 70 3d 31 33 3a |e ****..|..sp=13:|
|00000190| 6c 69 6e 6b 3d 31 34 3a | 70 63 3d 31 35 0d 00 96 |link=14:|pc=15...|
|000001a0| 2f 76 62 69 74 3d 31 3c | 3c 32 38 3a 63 62 69 74 |/vbit=1<|<28:cbit|
|000001b0| 3d 31 3c 3c 32 39 3a 7a | 62 69 74 3d 31 3c 3c 33 |=1<<29:z|bit=1<<3|
|000001c0| 30 3a 6e 62 69 74 3d 31 | 3c 3c 33 31 0d 00 a0 10 |0:nbit=1|<<31....|
|000001d0| 50 25 3d 26 30 3a 4f 25 | 3d 4d 43 25 0d 00 aa 14 |P%=&0:O%|=MC%....|
|000001e0| e3 20 70 61 73 73 25 3d | 34 20 b8 20 36 20 88 32 |. pass%=|4 . 6 .2|
|000001f0| 0d 00 b4 22 f4 20 2a 2a | 2a 2a 20 53 74 61 72 74 |...". **|** Start|
|00000200| 20 6f 66 20 6d 61 69 6e | 20 63 6f 64 65 20 2a 2a | of main| code **|
|00000210| 2a 2a 0d 00 be 13 f2 70 | 61 74 63 68 5f 73 65 74 |**.....p|atch_set|
|00000220| 70 63 28 30 29 0d 00 c8 | 0e 5b 4f 50 54 20 70 61 |pc(0)...|.[OPT pa|
|00000230| 73 73 25 0d 00 d2 2b 20 | 20 20 20 20 20 20 20 20 |ss%...+ | |
|00000240| 20 3b 20 2a 2a 2a 2a 20 | 41 64 64 20 6d 6f 64 75 | ; **** |Add modu|
|00000250| 6c 65 20 68 65 61 64 65 | 72 20 2a 2a 2a 2a 0d 00 |le heade|r ****..|
|00000260| dc 2d 20 20 20 45 51 55 | 44 20 30 20 20 20 20 20 |.- EQU|D 0 |
|00000270| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 3b 20 53 | | ; S|
|00000280| 74 61 72 74 20 6f 66 66 | 73 65 74 0d 00 e6 36 20 |tart off|set...6 |
|00000290| 20 20 45 51 55 44 20 6d | 6f 64 75 6c 65 5f 69 6e | EQUD m|odule_in|
|000002a0| 69 74 20 20 20 20 20 20 | 20 20 3b 20 49 6e 69 74 |it | ; Init|
|000002b0| 69 61 6c 69 73 61 74 69 | 6f 6e 20 6f 66 66 73 65 |ialisati|on offse|
|000002c0| 74 0d 00 f0 34 20 20 20 | 45 51 55 44 20 6d 6f 64 |t...4 |EQUD mod|
|000002d0| 75 6c 65 5f 66 69 6e 61 | 6c 20 20 20 20 20 20 20 |ule_fina|l |
|000002e0| 3b 20 46 69 6e 61 6c 69 | 73 61 74 69 6f 6e 20 6f |; Finali|sation o|
|000002f0| 66 66 73 65 74 0d 00 fa | 37 20 20 20 45 51 55 44 |ffset...|7 EQUD|
|00000300| 20 6d 6f 64 75 6c 65 5f | 73 65 72 76 69 63 65 20 | module_|service |
|00000310| 20 20 20 20 3b 20 53 65 | 72 76 69 63 65 20 72 65 | ; Se|rvice re|
|00000320| 71 75 65 73 74 20 6f 66 | 66 73 65 74 0d 01 04 34 |quest of|fset...4|
|00000330| 20 20 20 45 51 55 44 20 | 6d 6f 64 75 6c 65 5f 74 | EQUD |module_t|
|00000340| 69 74 6c 65 20 20 20 20 | 20 20 20 3b 20 54 69 74 |itle | ; Tit|
|00000350| 6c 65 20 73 74 72 69 6e | 67 20 6f 66 66 73 65 74 |le strin|g offset|
|00000360| 0d 01 0e 33 20 20 20 45 | 51 55 44 20 6d 6f 64 75 |...3 E|QUD modu|
|00000370| 6c 65 5f 68 65 6c 70 20 | 20 20 20 20 20 20 20 3b |le_help | ;|
|00000380| 20 48 65 6c 70 20 73 74 | 72 69 6e 67 20 6f 66 66 | Help st|ring off|
|00000390| 73 65 74 0d 01 18 46 20 | 20 20 45 51 55 44 20 6d |set...F | EQUD m|
|000003a0| 6f 64 75 6c 65 5f 63 6f | 6d 6d 61 6e 64 73 20 20 |odule_co|mmands |
|000003b0| 20 20 3b 20 48 65 6c 70 | 20 61 6e 64 20 63 6f 6d | ; Help| and com|
|000003c0| 6d 61 6e 64 20 6b 65 79 | 77 6f 72 64 20 74 61 62 |mand key|word tab|
|000003d0| 6c 65 20 6f 66 66 73 65 | 74 0d 01 22 05 3a 0d 01 |le offse|t..".:..|
|000003e0| 2c 11 2e 6d 6f 64 75 6c | 65 5f 74 69 74 6c 65 0d |,..modul|e_title.|
|000003f0| 01 36 1d 20 20 20 45 51 | 55 53 20 22 52 65 63 6f |.6. EQ|US "Reco|
|00000400| 72 64 45 72 72 6f 72 73 | 22 2b bd 30 0d 01 40 0c |rdErrors|"+.0..@.|
|00000410| 20 20 20 41 4c 49 47 4e | 0d 01 4a 05 3a 0d 01 54 | ALIGN|..J.:..T|
|00000420| 10 2e 6d 6f 64 75 6c 65 | 5f 68 65 6c 70 0d 01 5e |..module|_help..^|
|00000430| 49 20 20 20 45 51 55 53 | 20 22 52 65 63 6f 72 64 |I EQUS| "Record|
|00000440| 45 72 72 6f 72 73 22 2b | bd 39 2b 22 31 2e 30 35 |Errors"+|.9+"1.05|
|00000450| 20 28 22 2b c1 91 24 2c | 35 2c 31 31 29 2b 22 29 | ("+..$,|5,11)+")|
|00000460| 20 a9 20 4a 75 73 74 69 | 6e 20 46 6c 65 74 63 68 | . Justi|n Fletch|
|00000470| 65 72 22 2b bd 30 0d 01 | 68 0c 20 20 20 41 4c 49 |er"+.0..|h. ALI|
|00000480| 47 4e 0d 01 72 05 3a 0d | 01 7c 13 2e 6d 6f 64 75 |GN..r.:.|.|..modu|
|00000490| 6c 65 5f 73 65 72 76 69 | 63 65 0d 01 86 18 20 20 |le_servi|ce.... |
|000004a0| 20 4c 44 52 20 20 20 20 | 20 72 31 32 2c 5b 72 31 | LDR | r12,[r1|
|000004b0| 32 5d 0d 01 90 16 20 20 | 20 4d 4f 56 53 20 20 20 |2].... | MOVS |
|000004c0| 20 70 63 2c 6c 69 6e 6b | 0d 01 9a 05 3a 0d 01 a4 | pc,link|....:...|
|000004d0| 10 2e 6d 6f 64 75 6c 65 | 5f 69 6e 69 74 0d 01 ae |..module|_init...|
|000004e0| 37 20 20 20 53 54 4d 46 | 44 20 20 20 28 73 70 29 |7 STMF|D (sp)|
|000004f0| 21 2c 7b 72 30 2d 72 34 | 2c 6c 69 6e 6b 7d 20 20 |!,{r0-r4|,link} |
|00000500| 20 20 20 3b 20 53 74 61 | 63 6b 20 72 65 67 69 73 | ; Sta|ck regis|
|00000510| 74 65 72 73 0d 01 b8 14 | 20 20 20 4d 4f 56 20 20 |ters....| MOV |
|00000520| 20 20 20 72 30 2c 23 36 | 0d 01 c2 15 20 a4 4c 4d | r0,#6|.... .LM|
|00000530| 4f 56 28 22 22 2c 33 2c | 26 32 31 30 29 0d 01 cc |OV("",3,|&210)...|
|00000540| 3f 20 20 20 53 57 49 20 | 20 20 20 20 22 58 4f 53 |? SWI | "XOS|
|00000550| 5f 4d 6f 64 75 6c 65 22 | 20 20 20 20 20 20 20 20 |_Module"| |
|00000560| 20 20 20 3b 20 43 6c 61 | 69 6d 20 70 72 69 76 61 | ; Cla|im priva|
|00000570| 74 65 20 77 6f 72 6b 73 | 70 61 63 65 0d 01 d6 3a |te works|pace...:|
|00000580| 20 20 20 41 44 44 56 53 | 20 20 20 73 70 2c 73 70 | ADDVS| sp,sp|
|00000590| 2c 23 34 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |,#4 | |
|000005a0| 20 20 3b 20 69 66 20 65 | 72 72 6f 72 20 72 65 74 | ; if e|rror ret|
|000005b0| 75 72 6e 20 72 30 0d 01 | e0 34 20 20 20 4c 44 4d |urn r0..|.4 LDM|
|000005c0| 56 53 46 44 20 28 73 70 | 29 21 2c 7b 72 31 2d 72 |VSFD (sp|)!,{r1-r|
|000005d0| 34 2c 70 63 7d 20 20 20 | 20 20 20 20 3b 20 72 65 |4,pc} | ; re|
|000005e0| 74 75 72 6e 20 65 72 72 | 6f 72 0d 01 ea 3d 20 20 |turn err|or...= |
|000005f0| 20 53 54 52 20 20 20 20 | 20 72 32 2c 5b 72 31 32 | STR | r2,[r12|
|00000600| 5d 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |] | |
|00000610| 3b 20 73 74 6f 72 65 20 | 69 6e 20 70 72 69 76 61 |; store |in priva|
|00000620| 74 65 20 77 6f 72 64 0d | 01 f4 31 20 20 20 4d 4f |te word.|..1 MO|
|00000630| 56 20 20 20 20 20 72 31 | 32 2c 72 32 20 20 20 20 |V r1|2,r2 |
|00000640| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 3b 20 72 | | ; r|
|00000650| 31 32 3d 73 70 61 63 65 | 0d 01 fe 1e 3b 20 2a 2a |12=space|....; **|
|00000660| 2a 2a 2a 20 57 69 6d 70 | 53 57 49 20 63 6c 61 69 |*** Wimp|SWI clai|
|00000670| 6d 20 63 6f 64 65 0d 02 | 08 15 20 20 20 4d 4f 56 |m code..|.. MOV|
|00000680| 20 20 20 20 20 72 30 2c | 23 31 38 0d 02 12 21 20 | r0,|#18...! |
|00000690| a4 4c 41 44 52 28 22 22 | 2c 31 2c 60 6d 6f 64 75 |.LADR(""|,1,`modu|
|000006a0| 6c 65 5f 57 53 57 49 6e | 61 6d 65 29 0d 02 1c 3b |le_WSWIn|ame)...;|
|000006b0| 20 20 20 53 57 49 20 20 | 20 20 20 22 58 4f 53 5f | SWI | "XOS_|
|000006c0| 4d 6f 64 75 6c 65 22 20 | 20 20 20 20 20 20 20 20 |Module" | |
|000006d0| 20 20 3b 20 4c 6f 6f 6b | 20 75 70 20 6d 6f 64 75 | ; Look| up modu|
|000006e0| 6c 65 20 6e 61 6d 65 0d | 02 26 22 20 a4 4c 41 44 |le name.|.&" .LAD|
|000006f0| 52 28 22 56 53 22 2c 30 | 2c 60 6d 6f 64 75 6c 65 |R("VS",0|,`module|
|00000700| 5f 57 53 57 49 65 72 72 | 29 0d 02 30 17 20 20 20 |_WSWIerr|)..0. |
|00000710| 41 44 44 56 53 20 20 20 | 73 70 2c 73 70 2c 23 34 |ADDVS |sp,sp,#4|
|00000720| 0d 02 3a 1f 20 20 20 4c | 44 4d 56 53 46 44 20 28 |..:. L|DMVSFD (|
|00000730| 73 70 29 21 2c 7b 72 31 | 2d 72 34 2c 70 63 7d 0d |sp)!,{r1|-r4,pc}.|
|00000740| 02 44 22 20 20 20 4c 44 | 52 20 20 20 20 20 72 30 |.D" LD|R r0|
|00000750| 2c 60 6d 6f 64 75 6c 65 | 5f 57 53 57 49 77 6f 72 |,`module|_WSWIwor|
|00000760| 64 0d 02 4e 15 20 20 20 | 4d 4f 56 20 20 20 20 20 |d..N. |MOV |
|00000770| 72 32 2c 72 31 32 0d 02 | 58 1f 20 20 20 4d 4f 56 |r2,r12..|X. MOV|
|00000780| 20 20 20 20 20 72 31 2c | 23 33 31 2b 28 25 31 31 | r1,|#31+(%11|
|00000790| 3c 3c 33 30 29 0d 02 62 | 1b 20 a4 4c 41 44 52 28 |<<30)..b|. .LADR(|
|000007a0| 22 22 2c 33 2c 77 69 6d | 70 72 65 70 6f 72 74 29 |"",3,wim|preport)|
|000007b0| 0d 02 6c 14 20 20 20 4d | 4f 56 20 20 20 20 20 72 |..l. M|OV r|
|000007c0| 34 2c 23 30 0d 02 76 24 | 20 20 20 53 57 49 20 20 |4,#0..v$| SWI |
|000007d0| 20 20 20 22 57 69 6d 70 | 5f 52 65 67 69 73 74 65 | "Wimp|_Registe|
|000007e0| 72 46 69 6c 74 65 72 22 | 0d 02 80 39 20 20 20 4c |rFilter"|...9 L|
|000007f0| 44 4d 46 44 20 20 20 28 | 73 70 29 21 2c 7b 72 30 |DMFD (|sp)!,{r0|
|00000800| 2d 72 34 2c 6c 69 6e 6b | 7d 20 20 20 20 20 3b 20 |-r4,link|} ; |
|00000810| 72 65 73 74 6f 72 65 20 | 72 65 67 69 73 74 65 72 |restore |register|
|00000820| 73 0d 02 8a 18 20 20 20 | 42 20 20 20 20 20 20 20 |s.... |B |
|00000830| 53 74 61 72 74 43 6f 64 | 65 0d 02 94 05 3a 0d 02 |StartCod|e....:..|
|00000840| 9e 14 2e 60 6d 6f 64 75 | 6c 65 5f 57 53 57 49 65 |...`modu|le_WSWIe|
|00000850| 72 72 0d 02 a8 12 20 20 | 20 45 51 55 44 20 20 20 |rr.... | EQUD |
|00000860| 20 20 26 30 0d 02 b2 4d | 20 20 20 45 51 55 53 20 | &0...M| EQUS |
|00000870| 20 20 20 20 22 52 65 63 | 6f 72 64 45 72 72 6f 72 | "Rec|ordError|
|00000880| 73 20 72 65 71 75 69 72 | 65 73 20 74 68 65 20 57 |s requir|es the W|
|00000890| 69 6d 70 53 57 49 56 65 | 20 6d 6f 64 75 6c 65 20 |impSWIVe| module |
|000008a0| 74 6f 20 62 65 20 70 72 | 65 73 65 6e 74 22 2b bd |to be pr|esent"+.|
|000008b0| 30 0d 02 bc 15 2e 60 6d | 6f 64 75 6c 65 5f 57 53 |0.....`m|odule_WS|
|000008c0| 57 49 6e 61 6d 65 0d 02 | c6 1e 20 20 20 45 51 55 |WIname..|.. EQU|
|000008d0| 53 20 20 20 20 20 22 57 | 69 6d 70 53 57 49 56 65 |S "W|impSWIVe|
|000008e0| 22 2b bd 30 0d 02 d0 0c | 20 20 20 41 4c 49 47 4e |"+.0....| ALIGN|
|000008f0| 0d 02 da 15 2e 60 6d 6f | 64 75 6c 65 5f 57 53 57 |.....`mo|dule_WSW|
|00000900| 49 77 6f 72 64 0d 02 e4 | 16 20 20 20 45 51 55 53 |Iword...|. EQUS|
|00000910| 20 20 20 20 20 22 57 53 | 57 49 22 0d 02 ee 05 3a | "WS|WI"....:|
|00000920| 0d 02 f8 11 2e 6d 6f 64 | 75 6c 65 5f 66 69 6e 61 |.....mod|ule_fina|
|00000930| 6c 0d 03 02 37 20 20 20 | 53 54 4d 46 44 20 20 20 |l...7 |STMFD |
|00000940| 28 73 70 29 21 2c 7b 72 | 30 2d 72 34 2c 72 31 32 |(sp)!,{r|0-r4,r12|
|00000950| 2c 6c 69 6e 6b 7d 20 3b | 20 53 74 61 63 6b 20 72 |,link} ;| Stack r|
|00000960| 65 67 69 73 74 65 72 73 | 0d 03 0c 18 20 20 20 4c |egisters|.... L|
|00000970| 44 52 20 20 20 20 20 72 | 31 32 2c 5b 72 31 32 5d |DR r|12,[r12]|
|00000980| 0d 03 16 20 3b 20 2a 2a | 2a 2a 2a 20 57 69 6d 70 |... ; **|*** Wimp|
|00000990| 53 57 49 20 72 65 6c 65 | 61 73 65 20 63 6f 64 65 |SWI rele|ase code|
|000009a0| 0d 03 20 22 20 20 20 4c | 44 52 20 20 20 20 20 72 |.. " L|DR r|
|000009b0| 30 2c 60 6d 6f 64 75 6c | 65 5f 57 53 57 49 77 6f |0,`modul|e_WSWIwo|
|000009c0| 72 64 0d 03 2a 15 20 20 | 20 4d 4f 56 20 20 20 20 |rd..*. | MOV |
|000009d0| 20 72 32 2c 72 31 32 0d | 03 34 1f 20 20 20 4d 4f | r2,r12.|.4. MO|
|000009e0| 56 20 20 20 20 20 72 31 | 2c 23 33 31 2b 28 25 30 |V r1|,#31+(%0|
|000009f0| 31 3c 3c 33 30 29 0d 03 | 3e 1b 20 a4 4c 41 44 52 |1<<30)..|>. .LADR|
|00000a00| 28 22 22 2c 33 2c 77 69 | 6d 70 72 65 70 6f 72 74 |("",3,wi|mpreport|
|00000a10| 29 0d 03 48 14 20 20 20 | 4d 4f 56 20 20 20 20 20 |)..H. |MOV |
|00000a20| 72 34 2c 23 30 0d 03 52 | 24 20 20 20 53 57 49 20 |r4,#0..R|$ SWI |
|00000a30| 20 20 20 20 22 57 69 6d | 70 5f 52 65 67 69 73 74 | "Wim|p_Regist|
|00000a40| 65 72 46 69 6c 74 65 72 | 22 0d 03 5c 39 20 20 20 |erFilter|"..\9 |
|00000a50| 4c 44 4d 46 44 20 20 20 | 28 73 70 29 2c 7b 72 30 |LDMFD |(sp),{r0|
|00000a60| 2d 72 34 7d 20 20 20 20 | 20 20 20 20 20 20 20 3b |-r4} | ;|
|00000a70| 20 72 65 73 74 6f 72 65 | 20 72 65 67 69 73 74 65 | restore| registe|
|00000a80| 72 73 0d 03 66 14 20 20 | 20 4d 4f 56 20 20 20 20 |rs..f. | MOV |
|00000a90| 20 72 30 2c 23 37 0d 03 | 70 15 20 20 20 4d 4f 56 | r0,#7..|p. MOV|
|00000aa0| 20 20 20 20 20 72 32 2c | 72 31 32 0d 03 7a 39 20 | r2,|r12..z9 |
|00000ab0| 20 20 53 57 49 20 20 20 | 20 20 22 58 4f 53 5f 4d | SWI | "XOS_M|
|00000ac0| 6f 64 75 6c 65 22 20 20 | 20 20 20 20 20 20 20 20 |odule" | |
|00000ad0| 20 3b 20 52 65 6c 65 61 | 73 65 20 77 6f 72 6b 73 | ; Relea|se works|
|00000ae0| 70 61 63 65 0d 03 84 17 | 20 20 20 41 44 44 56 53 |pace....| ADDVS|
|00000af0| 20 20 20 73 70 2c 73 70 | 2c 23 34 0d 03 8e 37 20 | sp,sp|,#4...7 |
|00000b00| 20 20 4c 44 4d 56 53 46 | 44 20 28 73 70 29 21 2c | LDMVSF|D (sp)!,|
|00000b10| 7b 72 31 2d 72 34 2c 72 | 31 32 2c 70 63 7d 20 20 |{r1-r4,r|12,pc} |
|00000b20| 20 3b 20 52 65 74 75 72 | 6e 20 69 66 20 65 72 72 | ; Retur|n if err|
|00000b30| 6f 72 0d 03 98 2e 20 20 | 20 4c 44 4d 46 44 20 20 |or.... | LDMFD |
|00000b40| 20 28 73 70 29 21 2c 7b | 72 30 2d 72 34 2c 72 31 | (sp)!,{|r0-r4,r1|
|00000b50| 32 2c 70 63 7d 20 20 20 | 3b 20 52 65 74 75 72 6e |2,pc} |; Return|
|00000b60| 0d 03 a2 05 3a 0d 03 ac | 21 3b 20 2a 2a 2a 2a 2a |....:...|!; *****|
|00000b70| 20 4d 6f 64 75 6c 65 20 | 63 6f 6d 6d 61 6e 64 73 | Module |commands|
|00000b80| 20 74 61 62 6c 65 0d 03 | b6 14 2e 6d 6f 64 75 6c | table..|...modul|
|00000b90| 65 5f 63 6f 6d 6d 61 6e | 64 73 0d 03 c0 2d 20 20 |e_comman|ds...- |
|00000ba0| 20 45 51 55 53 20 22 52 | 65 63 6f 72 64 45 72 72 | EQUS "R|ecordErr|
|00000bb0| 6f 72 73 22 20 20 20 20 | 20 3b 20 43 6f 6d 6d 61 |ors" | ; Comma|
|00000bc0| 6e 64 20 6e 61 6d 65 0d | 03 ca 13 20 20 20 45 51 |nd name.|... EQ|
|00000bd0| 55 42 20 30 3a 41 4c 49 | 47 4e 0d 03 d4 2d 20 20 |UB 0:ALI|GN...- |
|00000be0| 20 45 51 55 44 20 30 20 | 20 20 20 20 20 20 20 20 | EQUD 0 | |
|00000bf0| 20 20 20 20 20 20 20 20 | 20 3b 20 43 6f 64 65 20 | | ; Code |
|00000c00| 74 6f 20 63 61 6c 6c 0d | 03 de 26 20 20 20 45 51 |to call.|..& EQ|
|00000c10| 55 44 20 26 30 20 20 20 | 20 20 20 20 20 20 20 20 |UD &0 | |
|00000c20| 20 20 20 20 20 20 3b 20 | 46 6c 61 67 73 0d 03 e8 | ; |Flags...|
|00000c30| 2f 20 20 20 45 51 55 44 | 20 30 20 20 20 20 20 20 |/ EQUD| 0 |
|00000c40| 20 20 20 20 20 20 20 20 | 20 20 20 20 3b 20 53 79 | | ; Sy|
|00000c50| 6e 74 61 78 20 70 6f 69 | 6e 74 65 72 0d 03 f2 2d |ntax poi|nter...-|
|00000c60| 20 20 20 45 51 55 44 20 | 68 65 6c 70 5f 72 65 63 | EQUD |help_rec|
|00000c70| 6f 72 64 65 72 72 6f 72 | 73 20 20 3b 20 48 65 6c |orderror|s ; Hel|
|00000c80| 70 20 70 6f 69 6e 74 65 | 72 0d 03 fc 0d 20 20 20 |p pointe|r.... |
|00000c90| 45 51 55 42 20 30 0d 04 | 06 0c 20 20 20 41 4c 49 |EQUB 0..|.. ALI|
|00000ca0| 47 4e 0d 04 10 05 3a 0d | 04 1a 24 3b 20 2a 2a 2a |GN....:.|..$; ***|
|00000cb0| 2a 2a 20 48 65 6c 70 20 | 61 6e 64 20 53 79 6e 74 |** Help |and Synt|
|00000cc0| 61 78 20 6d 65 73 73 61 | 67 65 73 0d 04 24 16 2e |ax messa|ges..$..|
|00000cd0| 68 65 6c 70 5f 72 65 63 | 6f 72 64 65 72 72 6f 72 |help_rec|orderror|
|00000ce0| 73 0d 04 2e 4c 20 20 20 | 45 51 55 53 20 22 52 65 |s...L |EQUS "Re|
|00000cf0| 63 6f 72 64 45 72 72 6f | 72 73 20 73 69 6d 70 6c |cordErro|rs simpl|
|00000d00| 79 20 74 61 6b 65 73 20 | 61 6c 6c 20 74 68 65 20 |y takes |all the |
|00000d10| 65 72 72 6f 72 20 6d 65 | 73 73 61 67 65 73 20 70 |error me|ssages p|
|00000d20| 72 6f 64 75 63 65 64 20 | 61 6e 64 20 22 0d 04 38 |roduced |and "..8|
|00000d30| 4e 20 20 20 45 51 55 53 | 20 22 64 75 6d 70 73 20 |N EQUS| "dumps |
|00000d40| 74 68 65 6d 20 64 69 72 | 65 63 74 6c 79 20 69 6e |them dir|ectly in|
|00000d50| 74 6f 20 61 20 66 69 6c | 65 20 73 6f 20 74 68 61 |to a fil|e so tha|
|00000d60| 74 20 74 68 65 79 20 6d | 61 79 20 62 65 20 72 65 |t they m|ay be re|
|00000d70| 61 64 20 6c 61 74 65 72 | 2e 20 22 0d 04 42 4c 20 |ad later|. "..BL |
|00000d80| 20 20 45 51 55 53 20 22 | 49 74 20 69 73 20 69 6e | EQUS "|It is in|
|00000d90| 74 65 6e 64 65 64 20 66 | 6f 72 20 75 73 65 20 77 |tended f|or use w|
|00000da0| 69 74 68 20 74 68 65 20 | 4e 6f 45 72 72 6f 72 20 |ith the |NoError |
|00000db0| 6d 6f 64 75 6c 65 20 77 | 68 69 63 68 20 63 6c 69 |module w|hich cli|
|00000dc0| 63 6b 20 6f 6e 20 22 0d | 04 4c 3c 20 20 20 45 51 |ck on ".|.L< EQ|
|00000dd0| 55 53 20 22 65 72 72 6f | 72 20 62 6f 78 65 73 20 |US "erro|r boxes |
|00000de0| 4f 4b 20 62 75 74 74 6f | 6e 73 20 61 66 74 65 72 |OK butto|ns after|
|00000df0| 20 61 20 6d 6f 6d 65 6e | 74 20 6f 72 20 74 77 6f | a momen|t or two|
|00000e00| 2e 20 22 0d 04 56 0d 20 | 20 20 45 51 55 42 20 30 |. "..V. | EQUB 0|
|00000e10| 0d 04 60 0c 20 20 20 41 | 4c 49 47 4e 0d 04 6a 05 |..`. A|LIGN..j.|
|00000e20| 3a 0d 04 74 2e 20 20 20 | 20 20 20 20 20 20 20 3b |:..t. | ;|
|00000e30| 20 2a 2a 2a 2a 20 45 6e | 64 20 6f 66 20 6d 6f 64 | **** En|d of mod|
|00000e40| 75 6c 65 20 68 65 61 64 | 65 72 20 2a 2a 2a 2a 0d |ule head|er ****.|
|00000e50| 04 7e 05 3a 0d 04 88 05 | 3a 0d 04 92 0e 2e 53 74 |.~.:....|:.....St|
|00000e60| 61 72 74 43 6f 64 65 0d | 04 9c 1b 20 20 20 53 54 |artCode.|... ST|
|00000e70| 4d 46 44 20 20 20 28 73 | 70 29 21 2c 7b 6c 69 6e |MFD (s|p)!,{lin|
|00000e80| 6b 7d 0d 04 a6 1b 20 20 | 20 41 44 52 20 20 20 20 |k}.... | ADR |
|00000e90| 20 72 30 2c 60 73 65 74 | 75 70 76 61 72 0d 04 b0 | r0,`set|upvar...|
|00000ea0| 17 20 20 20 53 57 49 20 | 20 20 20 20 22 4f 53 5f |. SWI | "OS_|
|00000eb0| 43 4c 49 22 0d 04 ba 1a | 20 20 20 4c 44 4d 46 44 |CLI"....| LDMFD|
|00000ec0| 20 20 20 28 73 70 29 21 | 2c 7b 70 63 7d 5e 0d 04 | (sp)!|,{pc}^..|
|00000ed0| c4 05 3a 0d 04 ce 0e 2e | 60 73 65 74 75 70 76 61 |..:.....|`setupva|
|00000ee0| 72 0d 04 d8 56 20 20 20 | 45 51 55 53 20 20 20 20 |r...V |EQUS |
|00000ef0| 22 49 66 20 22 22 3c 52 | 65 63 6f 72 64 45 72 72 |"If ""<R|ecordErr|
|00000f00| 6f 72 73 24 46 69 6c 65 | 3e 22 22 20 3d 20 22 22 |ors$File|>"" = ""|
|00000f10| 22 22 20 54 68 65 6e 20 | 53 65 74 20 52 65 63 6f |"" Then |Set Reco|
|00000f20| 72 64 45 72 72 6f 72 73 | 24 46 69 6c 65 20 4e 75 |rdErrors|$File Nu|
|00000f30| 6c 6c 3a 22 2b bd 30 0d | 04 e2 0c 20 20 20 41 4c |ll:"+.0.|... AL|
|00000f40| 49 47 4e 0d 04 ec 05 3a | 0d 04 f6 0f 2e 77 69 6d |IGN....:|.....wim|
|00000f50| 70 72 65 70 6f 72 74 0d | 05 00 24 20 20 20 53 54 |preport.|..$ ST|
|00000f60| 4d 46 44 20 20 20 28 73 | 70 29 21 2c 7b 72 31 2c |MFD (s|p)!,{r1,|
|00000f70| 72 33 2d 72 39 2c 6c 69 | 6e 6b 7d 0d 05 0a 17 20 |r3-r9,li|nk}.... |
|00000f80| 20 20 20 20 20 20 20 20 | 20 3b 20 22 25 49 22 2b | | ; "%I"+|
|00000f90| bd 34 0d 05 14 18 20 20 | 20 42 4c 20 20 20 20 20 |.4.... | BL |
|00000fa0| 20 63 6f 70 79 65 72 72 | 6f 72 0d 05 1e 17 20 20 | copyerr|or.... |
|00000fb0| 20 42 4c 20 20 20 20 20 | 20 6f 70 65 6e 66 69 6c | BL | openfil|
|00000fc0| 65 0d 05 28 18 20 20 20 | 42 4c 20 20 20 20 20 20 |e..(. |BL |
|00000fd0| 65 6e 64 6f 66 66 69 6c | 65 0d 05 32 18 20 20 20 |endoffil|e..2. |
|00000fe0| 42 4c 20 20 20 20 20 20 | 73 68 6f 77 65 72 72 6f |BL |showerro|
|00000ff0| 72 0d 05 3c 18 20 20 20 | 42 4c 20 20 20 20 20 20 |r..<. |BL |
|00001000| 63 6c 6f 73 65 66 69 6c | 65 0d 05 46 23 20 20 20 |closefil|e..F# |
|00001010| 4c 44 4d 46 44 20 20 20 | 28 73 70 29 21 2c 7b 72 |LDMFD |(sp)!,{r|
|00001020| 31 2c 72 33 2d 72 39 2c | 70 63 7d 5e 0d 05 50 05 |1,r3-r9,|pc}^..P.|
|00001030| 3a 0d 05 5a 0e 2e 63 6f | 70 79 65 72 72 6f 72 0d |:..Z..co|pyerror.|
|00001040| 05 64 3e 20 20 20 53 54 | 4d 46 44 20 20 20 28 73 |.d> ST|MFD (s|
|00001050| 70 29 21 2c 7b 72 31 2c | 72 35 2c 6c 69 6e 6b 7d |p)!,{r1,|r5,link}|
|00001060| 20 20 20 20 20 20 20 20 | 20 20 20 20 3b 20 53 74 | | ; St|
|00001070| 61 63 6b 20 72 65 67 69 | 73 74 65 72 73 0d 05 6e |ack regi|sters..n|
|00001080| 26 20 20 20 20 20 20 20 | 20 20 20 3b 20 22 63 6f |& | ; "co|
|00001090| 70 79 69 6e 67 20 65 72 | 72 6f 72 20 74 6f 20 25 |pying er|ror to %|
|000010a0| 26 43 22 0d 05 78 16 20 | 20 20 4c 44 52 20 20 20 |&C"..x. | LDR |
|000010b0| 20 20 72 35 2c 5b 72 30 | 5d 0d 05 82 40 20 20 20 | r5,[r0|]...@ |
|000010c0| 53 54 52 20 20 20 20 20 | 72 35 2c 5b 72 31 32 5d |STR |r5,[r12]|
|000010d0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|000010e0| 20 20 20 20 20 20 3b 20 | 63 6f 70 79 20 65 72 72 | ; |copy err|
|000010f0| 6f 72 20 6e 75 6d 62 65 | 72 0d 05 8c 39 20 20 20 |or numbe|r...9 |
|00001100| 41 44 44 20 20 20 20 20 | 72 30 2c 72 30 2c 23 34 |ADD |r0,r0,#4|
|00001110| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00001120| 20 20 20 20 20 20 3b 20 | 66 72 6f 6d 20 65 72 72 | ; |from err|
|00001130| 6f 72 0d 05 96 3a 20 20 | 20 41 44 44 20 20 20 20 |or...: | ADD |
|00001140| 20 72 31 2c 72 31 32 2c | 23 34 20 20 20 20 20 20 | r1,r12,|#4 |
|00001150| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 3b | | ;|
|00001160| 20 74 6f 20 62 75 66 66 | 65 72 2b 34 0d 05 a0 3e | to buff|er+4...>|
|00001170| 20 20 20 42 4c 20 20 20 | 20 20 20 6d 6f 76 65 63 | BL | movec|
|00001180| 74 72 6c 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |trl | |
|00001190| 20 20 20 20 20 20 20 20 | 20 3b 20 63 6f 70 79 20 | | ; copy |
|000011a0| 74 68 65 20 73 74 72 69 | 6e 67 0d 05 aa 25 20 20 |the stri|ng...% |
|000011b0| 20 20 20 20 20 20 20 20 | 3b 20 22 53 65 63 6f 6e | |; "Secon|
|000011c0| 64 20 63 6f 70 79 20 72 | 6f 75 74 69 6e 65 22 0d |d copy r|outine".|
|000011d0| 05 b4 3a 20 20 20 43 4d | 50 20 20 20 20 20 72 32 |..: CM|P r2|
|000011e0| 2c 23 30 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |,#0 | |
|000011f0| 20 20 20 20 20 20 20 20 | 20 20 20 20 3b 20 69 73 | | ; is|
|00001200| 20 72 32 20 3c 3d 30 20 | 3f 0d 05 be 42 20 20 20 | r2 <=0 |?...B |
|00001210| 42 4c 45 20 20 20 20 20 | 5f 63 65 5f 6e 6f 74 61 |BLE |_ce_nota|
|00001220| 73 6b 6e 61 6d 65 20 20 | 20 20 20 20 20 20 20 20 |skname | |
|00001230| 20 20 20 20 20 20 3b 20 | 69 66 20 73 6f 2c 20 6e | ; |if so, n|
|00001240| 6f 20 74 61 73 6b 20 6e | 61 6d 65 0d 05 c8 3d 20 |o task n|ame...= |
|00001250| 20 20 4d 4f 56 20 20 20 | 20 20 72 30 2c 72 32 20 | MOV | r0,r2 |
|00001260| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00001270| 20 20 20 20 20 20 20 20 | 3b 20 66 72 6f 6d 20 74 | |; from t|
|00001280| 61 73 6b 20 6e 61 6d 65 | 0d 05 d2 3c 20 20 20 41 |ask name|...< A|
|00001290| 44 44 20 20 20 20 20 72 | 31 2c 72 31 32 2c 23 32 |DD r|1,r12,#2|
|000012a0| 35 36 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |56 | |
|000012b0| 20 20 20 20 20 3b 20 74 | 6f 20 62 75 66 66 65 72 | ; t|o buffer|
|000012c0| 2b 32 35 36 0d 05 dc 3e | 20 20 20 42 4c 20 20 20 |+256...>| BL |
|000012d0| 20 20 20 6d 6f 76 65 63 | 74 72 6c 20 20 20 20 20 | movec|trl |
|000012e0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|000012f0| 20 3b 20 63 6f 70 79 20 | 74 68 65 20 73 74 72 69 | ; copy |the stri|
|00001300| 6e 67 0d 05 e6 3a 20 20 | 20 4d 4f 56 20 20 20 20 |ng...: | MOV |
|00001310| 20 72 32 2c 72 30 20 20 | 20 20 20 20 20 20 20 20 | r2,r0 | |
|00001320| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 3b | | ;|
|00001330| 20 72 32 3d 6e 65 77 20 | 74 61 73 6b 0d 05 f0 13 | r2=new |task....|
|00001340| 2e 5f 63 65 5f 6e 6f 74 | 61 73 6b 6e 61 6d 65 0d |._ce_not|askname.|
|00001350| 05 fa 41 20 20 20 4d 4f | 56 20 20 20 20 20 72 30 |..A MO|V r0|
|00001360| 2c 72 31 32 20 20 20 20 | 20 20 20 20 20 20 20 20 |,r12 | |
|00001370| 20 20 20 20 20 20 20 20 | 20 20 20 20 3b 20 72 30 | | ; r0|
|00001380| 3d 6e 65 77 20 65 72 72 | 6f 72 20 62 6c 6f 63 6b |=new err|or block|
|00001390| 0d 06 04 3f 20 20 20 4c | 44 4d 46 44 20 20 20 28 |...? L|DMFD (|
|000013a0| 73 70 29 21 2c 7b 72 31 | 2c 72 35 2c 70 63 7d 20 |sp)!,{r1|,r5,pc} |
|000013b0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 3b 20 52 | | ; R|
|000013c0| 65 74 75 72 6e 20 66 72 | 6f 6d 20 63 61 6c 6c 0d |eturn fr|om call.|
|000013d0| 06 0e 05 3a 0d 06 18 0e | 2e 60 66 69 6c 65 6e 61 |...:....|.`filena|
|000013e0| 6d 65 0d 06 22 27 20 20 | 20 45 51 55 53 20 20 20 |me.."' | EQUS |
|000013f0| 20 22 3c 52 65 63 6f 72 | 64 45 72 72 6f 72 73 24 | "<Recor|dErrors$|
|00001400| 46 69 6c 65 3e 22 2b bd | 30 0d 06 2c 0c 20 20 20 |File>"+.|0..,. |
|00001410| 41 4c 49 47 4e 0d 06 36 | 0d 2e 6f 70 65 6e 66 69 |ALIGN..6|..openfi|
|00001420| 6c 65 0d 06 40 21 20 20 | 20 53 54 4d 46 44 20 20 |le..@! | STMFD |
|00001430| 20 28 73 70 29 21 2c 7b | 72 30 2d 72 35 2c 6c 69 | (sp)!,{|r0-r5,li|
|00001440| 6e 6b 7d 0d 06 4a 19 20 | 20 20 20 20 20 20 20 20 |nk}..J. | |
|00001450| 20 3b 20 22 4f 70 65 6e | 69 6e 67 22 0d 06 54 3e | ; "Open|ing"..T>|
|00001460| 20 20 20 4d 4f 56 20 20 | 20 20 20 72 30 2c 23 26 | MOV | r0,#&|
|00001470| 43 30 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |C0 | |
|00001480| 20 20 20 20 3b 20 6f 70 | 65 6e 20 66 69 6c 65 20 | ; op|en file |
|00001490| 66 6f 72 20 75 70 64 61 | 74 65 0d 06 5e 1b 20 20 |for upda|te..^. |
|000014a0| 20 41 44 52 20 20 20 20 | 20 72 31 2c 60 66 69 6c | ADR | r1,`fil|
|000014b0| 65 6e 61 6d 65 0d 06 68 | 19 20 20 20 53 57 49 20 |ename..h|. SWI |
|000014c0| 20 20 20 20 22 58 4f 53 | 5f 46 69 6e 64 22 0d 06 | "XOS|_Find"..|
|000014d0| 72 14 20 20 20 43 4d 50 | 20 20 20 20 20 72 30 2c |r. CMP| r0,|
|000014e0| 23 30 0d 06 7c 3a 20 20 | 20 ec 51 20 20 20 72 30 |#0..|: | .Q r0|
|000014f0| 2c 23 26 38 30 20 20 20 | 20 20 20 20 20 20 20 20 |,#&80 | |
|00001500| 20 20 20 20 20 20 20 3b | 20 69 66 20 6e 6f 74 20 | ;| if not |
|00001510| 66 6f 75 6e 64 20 6f 75 | 74 70 75 74 0d 06 86 19 |found ou|tput....|
|00001520| 20 20 20 53 57 49 45 51 | 20 20 20 22 58 4f 53 5f | SWIEQ| "XOS_|
|00001530| 46 69 6e 64 22 0d 06 90 | 3a 20 20 20 4d 4f 56 20 |Find"...|: MOV |
|00001540| 20 20 20 20 72 38 2c 72 | 30 20 20 20 20 20 20 20 | r8,r|0 |
|00001550| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 3b 20 72 | | ; r|
|00001560| 38 20 3d 20 66 69 6c 65 | 20 68 61 6e 64 6c 65 0d |8 = file| handle.|
|00001570| 06 9a 1f 20 20 20 4c 44 | 4d 46 44 20 20 20 28 73 |... LD|MFD (s|
|00001580| 70 29 21 2c 7b 72 30 2d | 72 35 2c 70 63 7d 0d 06 |p)!,{r0-|r5,pc}..|
|00001590| a4 05 3a 0d 06 ae 0e 2e | 63 6c 6f 73 65 66 69 6c |..:.....|closefil|
|000015a0| 65 0d 06 b8 21 20 20 20 | 53 54 4d 46 44 20 20 20 |e...! |STMFD |
|000015b0| 28 73 70 29 21 2c 7b 72 | 30 2d 72 35 2c 6c 69 6e |(sp)!,{r|0-r5,lin|
|000015c0| 6b 7d 0d 06 c2 19 20 20 | 20 20 20 20 20 20 20 20 |k}.... | |
|000015d0| 3b 20 22 43 6c 6f 73 69 | 6e 67 22 0d 06 cc 14 20 |; "Closi|ng".... |
|000015e0| 20 20 4d 4f 56 20 20 20 | 20 20 72 31 2c 72 38 0d | MOV | r1,r8.|
|000015f0| 06 d6 14 20 20 20 4d 4f | 56 20 20 20 20 20 72 30 |... MO|V r0|
|00001600| 2c 23 30 0d 06 e0 34 20 | 20 20 53 57 49 20 20 20 |,#0...4 | SWI |
|00001610| 20 20 22 58 4f 53 5f 46 | 69 6e 64 22 20 20 20 20 | "XOS_F|ind" |
|00001620| 20 20 20 20 20 20 20 20 | 20 20 20 3b 20 63 6c 6f | | ; clo|
|00001630| 73 65 20 66 69 6c 65 0d | 06 ea 36 20 20 20 4d 4f |se file.|..6 MO|
|00001640| 56 20 20 20 20 20 72 30 | 2c 23 31 38 20 20 20 20 |V r0|,#18 |
|00001650| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 3b | | ;|
|00001660| 20 73 65 74 74 79 70 65 | 20 63 6f 64 65 0d 06 f4 | settype| code...|
|00001670| 1b 20 20 20 41 44 52 20 | 20 20 20 20 72 31 2c 60 |. ADR | r1,`|
|00001680| 66 69 6c 65 6e 61 6d 65 | 0d 06 fe 17 20 20 20 4d |filename|.... M|
|00001690| 4f 56 20 20 20 20 20 72 | 32 2c 23 26 46 30 30 0d |OV r|2,#&F00.|
|000016a0| 07 08 31 20 20 20 41 44 | 44 20 20 20 20 20 72 32 |..1 AD|D r2|
|000016b0| 2c 72 32 2c 23 26 46 46 | 20 20 20 20 20 20 20 20 |,r2,#&FF| |
|000016c0| 20 20 20 20 20 20 20 3b | 20 61 73 20 74 65 78 74 | ;| as text|
|000016d0| 0d 07 12 19 20 20 20 53 | 57 49 20 20 20 20 20 22 |.... S|WI "|
|000016e0| 58 4f 53 5f 46 69 6c 65 | 22 0d 07 1c 1f 20 20 20 |XOS_File|".... |
|000016f0| 4c 44 4d 46 44 20 20 20 | 28 73 70 29 21 2c 7b 72 |LDMFD |(sp)!,{r|
|00001700| 30 2d 72 35 2c 70 63 7d | 0d 07 26 05 3a 0d 07 30 |0-r5,pc}|..&.:..0|
|00001710| 0e 2e 65 6e 64 6f 66 66 | 69 6c 65 0d 07 3a 21 20 |..endoff|ile..:! |
|00001720| 20 20 53 54 4d 46 44 20 | 20 20 28 73 70 29 21 2c | STMFD | (sp)!,|
|00001730| 7b 72 30 2d 72 35 2c 6c | 69 6e 6b 7d 0d 07 44 27 |{r0-r5,l|ink}..D'|
|00001740| 20 20 20 20 20 20 20 20 | 20 20 3b 20 22 4d 6f 76 | | ; "Mov|
|00001750| 69 6e 67 20 74 6f 20 65 | 6e 64 20 6f 66 20 66 69 |ing to e|nd of fi|
|00001760| 6c 65 22 0d 07 4e 3d 20 | 20 20 4d 4f 56 20 20 20 |le"..N= | MOV |
|00001770| 20 20 72 30 2c 23 32 20 | 20 20 20 20 20 20 20 20 | r0,#2 | |
|00001780| 20 20 20 20 20 20 20 20 | 20 20 20 3b 20 72 65 61 | | ; rea|
|00001790| 64 20 6c 65 6e 67 74 68 | 20 6f 66 20 66 69 6c 65 |d length| of file|
|000017a0| 0d 07 58 35 20 20 20 4d | 4f 56 20 20 20 20 20 72 |..X5 M|OV r|
|000017b0| 31 2c 72 38 20 20 20 20 | 20 20 20 20 20 20 20 20 |1,r8 | |
|000017c0| 20 20 20 20 20 20 20 20 | 3b 20 66 69 6c 65 20 68 | |; file h|
|000017d0| 61 6e 64 6c 65 0d 07 62 | 19 20 20 20 53 57 49 20 |andle..b|. SWI |
|000017e0| 20 20 20 20 22 58 4f 53 | 5f 41 72 67 73 22 0d 07 | "XOS|_Args"..|
|000017f0| 6c 36 20 20 20 4d 4f 56 | 20 20 20 20 20 72 30 2c |l6 MOV| r0,|
|00001800| 23 31 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |#1 | |
|00001810| 20 20 20 20 20 20 3b 20 | 77 72 69 74 65 20 8f 23 | ; |write .#|
|00001820| 66 69 6c 65 0d 07 76 39 | 20 20 20 53 57 49 20 20 |file..v9| SWI |
|00001830| 20 20 20 22 58 4f 53 5f | 41 72 67 73 22 20 20 20 | "XOS_|Args" |
|00001840| 20 20 20 20 20 20 20 20 | 20 20 20 20 3b 20 8f 23 | | ; .#|
|00001850| 66 69 6c 65 3d a2 23 66 | 69 6c 65 20 21 0d 07 80 |file=.#f|ile !...|
|00001860| 1f 20 20 20 4c 44 4d 46 | 44 20 20 20 28 73 70 29 |. LDMF|D (sp)|
|00001870| 21 2c 7b 72 30 2d 72 35 | 2c 70 63 7d 0d 07 8a 05 |!,{r0-r5|,pc}....|
|00001880| 3a 0d 07 94 0e 2e 70 75 | 74 73 74 72 69 6e 67 0d |:.....pu|tstring.|
|00001890| 07 9e 1c 3b 20 73 74 72 | 69 6e 67 20 61 74 20 72 |...; str|ing at r|
|000018a0| 32 20 69 6e 74 6f 20 66 | 69 6c 65 0d 07 a8 21 20 |2 into f|ile...! |
|000018b0| 20 20 53 54 4d 46 44 20 | 20 20 28 73 70 29 21 2c | STMFD | (sp)!,|
|000018c0| 7b 72 30 2d 72 35 2c 6c | 69 6e 6b 7d 0d 07 b2 20 |{r0-r5,l|ink}... |
|000018d0| 20 20 20 20 20 20 20 20 | 20 20 3b 20 22 50 75 74 | | ; "Put|
|000018e0| 74 69 6e 67 20 73 74 72 | 69 6e 67 22 0d 07 bc 1c |ting str|ing"....|
|000018f0| 20 20 20 42 4c 20 20 20 | 20 20 20 70 75 74 73 74 | BL | putst|
|00001900| 72 69 6e 67 73 65 6d 69 | 0d 07 c6 19 20 20 20 42 |ringsemi|.... B|
|00001910| 4c 20 20 20 20 20 20 70 | 75 74 6e 65 77 6c 69 6e |L p|utnewlin|
|00001920| 65 0d 07 d0 20 20 20 20 | 4c 44 4d 46 44 20 20 20 |e... |LDMFD |
|00001930| 28 73 70 29 21 2c 7b 72 | 30 2d 72 35 2c 70 63 7d |(sp)!,{r|0-r5,pc}|
|00001940| 5e 0d 07 da 05 3a 0d 07 | e4 0f 2e 70 75 74 6e 65 |^....:..|...putne|
|00001950| 77 6c 69 6e 65 0d 07 ee | 21 20 20 20 53 54 4d 46 |wline...|! STMF|
|00001960| 44 20 20 20 28 73 70 29 | 21 2c 7b 72 30 2d 72 35 |D (sp)|!,{r0-r5|
|00001970| 2c 6c 69 6e 6b 7d 0d 07 | f8 35 20 20 20 4d 4f 56 |,link}..|.5 MOV|
|00001980| 20 20 20 20 20 72 31 2c | 72 38 20 20 20 20 20 20 | r1,|r8 |
|00001990| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 3b 20 | | ; |
|000019a0| 66 69 6c 65 20 68 61 6e | 64 6c 65 0d 08 02 15 20 |file han|dle.... |
|000019b0| 20 20 4d 4f 56 20 20 20 | 20 20 72 30 2c 23 31 30 | MOV | r0,#10|
|000019c0| 0d 08 0c 19 20 20 20 53 | 57 49 20 20 20 20 20 22 |.... S|WI "|
|000019d0| 58 4f 53 5f 42 50 75 74 | 22 0d 08 16 20 20 20 20 |XOS_BPut|"... |
|000019e0| 4c 44 4d 46 44 20 20 20 | 28 73 70 29 21 2c 7b 72 |LDMFD |(sp)!,{r|
|000019f0| 30 2d 72 35 2c 70 63 7d | 5e 0d 08 20 05 3a 0d 08 |0-r5,pc}|^.. .:..|
|00001a00| 2a 12 2e 70 75 74 73 74 | 72 69 6e 67 73 65 6d 69 |*..putst|ringsemi|
|00001a10| 0d 08 34 41 3b 20 73 74 | 72 69 6e 67 20 61 74 20 |..4A; st|ring at |
|00001a20| 72 32 20 69 6e 74 6f 20 | 66 69 6c 65 20 77 69 74 |r2 into |file wit|
|00001a30| 68 6f 75 74 20 6c 69 6e | 65 66 65 65 64 20 28 73 |hout lin|efeed (s|
|00001a40| 65 6d 69 63 6f 6c 6f 6e | 20 61 74 20 65 6e 64 21 |emicolon| at end!|
|00001a50| 29 0d 08 3e 21 20 20 20 | 53 54 4d 46 44 20 20 20 |)..>! |STMFD |
|00001a60| 28 73 70 29 21 2c 7b 72 | 30 2d 72 35 2c 6c 69 6e |(sp)!,{r|0-r5,lin|
|00001a70| 6b 7d 0d 08 48 19 20 20 | 20 20 20 20 20 20 20 20 |k}..H. | |
|00001a80| 3b 20 22 50 75 74 74 69 | 6e 67 22 0d 08 52 15 3b |; "Putti|ng"..R.;|
|00001a90| 20 20 20 4d 4f 56 20 20 | 20 20 20 72 30 2c 72 32 | MOV | r0,r2|
|00001aa0| 0d 08 5c 1b 3b 20 20 20 | 53 57 49 20 20 20 20 20 |..\.; |SWI |
|00001ab0| 22 4f 53 5f 57 72 69 74 | 65 30 22 0d 08 66 3b 3b |"OS_Writ|e0"..f;;|
|00001ac0| 20 20 20 53 57 49 20 20 | 20 20 20 22 4f 53 5f 4e | SWI | "OS_N|
|00001ad0| 65 77 4c 69 6e 65 22 20 | 20 20 20 20 20 20 20 20 |ewLine" | |
|00001ae0| 20 20 20 20 3b 20 33 20 | 74 65 73 74 69 6e 67 20 | ; 3 |testing |
|00001af0| 6c 69 6e 65 20 5e 0d 08 | 70 35 20 20 20 4d 4f 56 |line ^..|p5 MOV|
|00001b00| 20 20 20 20 20 72 31 2c | 72 38 20 20 20 20 20 20 | r1,|r8 |
|00001b10| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 3b 20 | | ; |
|00001b20| 66 69 6c 65 20 68 61 6e | 64 6c 65 0d 08 7a 0b 2e |file han|dle..z..|
|00001b30| 70 73 6c 6f 6f 70 0d 08 | 84 19 20 20 20 4c 44 52 |psloop..|.. LDR|
|00001b40| 42 20 20 20 20 72 30 2c | 5b 72 32 5d 2c 23 31 0d |B r0,|[r2],#1.|
|00001b50| 08 8e 15 20 20 20 43 4d | 50 20 20 20 20 20 72 30 |... CM|P r0|
|00001b60| 2c 23 33 32 0d 08 98 19 | 20 20 20 53 57 49 47 45 |,#32....| SWIGE|
|00001b70| 20 20 20 22 58 4f 53 5f | 42 50 75 74 22 0d 08 a2 | "XOS_|BPut"...|
|00001b80| 15 20 20 20 42 47 45 20 | 20 20 20 20 70 73 6c 6f |. BGE | pslo|
|00001b90| 6f 70 0d 08 ac 20 20 20 | 20 4c 44 4d 46 44 20 20 |op... | LDMFD |
|00001ba0| 20 28 73 70 29 21 2c 7b | 72 30 2d 72 35 2c 70 63 | (sp)!,{|r0-r5,pc|
|00001bb0| 7d 5e 0d 08 b6 05 3a 0d | 08 c0 49 3b 69 66 20 62 |}^....:.|..I;if b|
|00001bc0| 69 74 20 35 20 69 73 20 | 73 65 74 20 28 65 78 69 |it 5 is |set (exi|
|00001bd0| 74 20 6e 6f 77 29 2c 20 | 61 6e 64 20 62 69 74 20 |t now), |and bit |
|00001be0| 36 20 73 65 74 20 28 70 | 72 65 73 73 20 62 75 74 |6 set (p|ress but|
|00001bf0| 74 6f 6e 29 20 74 68 65 | 6e 20 6f 75 74 70 75 74 |ton) the|n output|
|00001c00| 0d 08 ca 51 3b 69 66 20 | 62 69 74 20 35 20 69 73 |...Q;if |bit 5 is|
|00001c10| 20 73 65 74 20 28 65 78 | 69 74 20 6e 6f 77 29 2c | set (ex|it now),|
|00001c20| 20 61 6e 64 20 62 69 74 | 20 36 20 63 6c 65 61 72 | and bit| 6 clear|
|00001c30| 20 28 6e 6f 20 62 75 74 | 74 6f 6e 20 70 72 65 73 | (no but|ton pres|
|00001c40| 73 29 20 74 68 65 6e 20 | 6e 6f 20 6f 75 74 70 75 |s) then |no outpu|
|00001c50| 74 0d 08 d4 36 3b 69 66 | 20 62 69 74 20 35 20 69 |t...6;if| bit 5 i|
|00001c60| 73 20 63 6c 65 61 72 20 | 28 65 78 69 74 20 77 68 |s clear |(exit wh|
|00001c70| 65 6e 20 63 6c 69 63 6b | 65 64 29 20 74 68 65 6e |en click|ed) then|
|00001c80| 20 6f 75 74 70 75 74 0d | 08 de 0e 2e 73 68 6f 77 | output.|....show|
|00001c90| 65 72 72 6f 72 0d 08 e8 | 21 20 20 20 53 54 4d 46 |error...|! STMF|
|00001ca0| 44 20 20 20 28 73 70 29 | 21 2c 7b 72 30 2d 72 35 |D (sp)|!,{r0-r5|
|00001cb0| 2c 6c 69 6e 6b 7d 0d 08 | f2 46 20 20 20 82 20 20 |,link}..|.F . |
|00001cc0| 20 20 20 72 31 2c 72 31 | 2c 23 31 3c 3c 36 20 20 | r1,r1|,#1<<6 |
|00001cd0| 20 20 20 20 20 20 20 20 | 20 20 20 20 3b 20 69 6e | | ; in|
|00001ce0| 76 65 72 74 20 62 69 74 | 20 73 69 78 20 66 6f 72 |vert bit| six for|
|00001cf0| 20 63 68 65 63 6b 20 62 | 65 6c 6f 77 0d 08 fc 49 | check b|elow...I|
|00001d00| 20 20 20 54 53 54 20 20 | 20 20 20 72 31 2c 23 31 | TST | r1,#1|
|00001d10| 3c 3c 35 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |<<5 | |
|00001d20| 20 20 20 20 3b 20 69 73 | 20 62 69 74 20 35 20 73 | ; is| bit 5 s|
|00001d30| 65 74 20 28 65 78 69 74 | 20 69 6d 6d 65 64 69 61 |et (exit| immedia|
|00001d40| 74 65 6c 79 29 0d 09 06 | 4b 20 20 20 54 53 54 4e |tely)...|K TSTN|
|00001d50| 45 20 20 20 72 31 2c 23 | 31 3c 3c 36 20 20 20 20 |E r1,#|1<<6 |
|00001d60| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 3b 20 69 | | ; i|
|00001d70| 66 20 73 6f 2c 20 63 68 | 65 63 6b 20 62 69 74 20 |f so, ch|eck bit |
|00001d80| 36 20 28 70 72 65 73 73 | 20 62 75 74 74 6f 6e 29 |6 (press| button)|
|00001d90| 0d 09 10 3d 20 20 20 4c | 44 4d 4e 45 46 44 20 28 |...= L|DMNEFD (|
|00001da0| 73 70 29 21 2c 7b 72 30 | 2d 72 35 2c 70 63 7d 20 |sp)!,{r0|-r5,pc} |
|00001db0| 20 20 20 20 20 20 20 20 | 3b 20 52 65 74 75 72 6e | |; Return|
|00001dc0| 20 66 72 6f 6d 20 63 61 | 6c 6c 20 69 66 0d 09 1a | from ca|ll if...|
|00001dd0| 19 20 20 20 41 44 52 20 | 20 20 20 20 72 32 2c 60 |. ADR | r2,`|
|00001de0| 68 65 61 64 65 72 0d 09 | 24 18 20 20 20 42 4c 20 |header..|$. BL |
|00001df0| 20 20 20 20 20 70 75 74 | 73 74 72 69 6e 67 0d 09 | put|string..|
|00001e00| 2e 1c 20 20 20 41 44 52 | 20 20 20 20 20 72 32 2c |.. ADR| r2,|
|00001e10| 60 74 69 74 6c 65 6c 65 | 66 74 0d 09 38 1c 20 20 |`titlele|ft..8. |
|00001e20| 20 42 4c 20 20 20 20 20 | 20 70 75 74 73 74 72 69 | BL | putstri|
|00001e30| 6e 67 73 65 6d 69 0d 09 | 42 44 20 20 20 54 53 54 |ngsemi..|BD TST|
|00001e40| 20 20 20 20 20 72 31 2c | 23 31 3c 3c 34 20 20 20 | r1,|#1<<4 |
|00001e50| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 3b 20 | | ; |
|00001e60| 69 73 20 90 6a 75 73 74 | 20 74 69 74 6c 65 91 20 |is .just| title. |
|00001e70| 66 6c 61 67 20 73 65 74 | 20 3f 0d 09 4c 44 20 20 |flag set| ?..LD |
|00001e80| 20 41 44 52 45 51 20 20 | 20 72 32 2c 60 65 72 72 | ADREQ | r2,`err|
|00001e90| 6f 72 66 72 6f 6d 20 20 | 20 20 20 20 20 20 20 20 |orfrom | |
|00001ea0| 20 20 3b 20 69 66 20 6e | 6f 74 20 74 68 65 6e 20 | ; if n|ot then |
|00001eb0| 61 64 64 20 65 72 72 6f | 72 20 66 72 6f 6d 0d 09 |add erro|r from..|
|00001ec0| 56 1c 20 20 20 42 4c 45 | 51 20 20 20 20 70 75 74 |V. BLE|Q put|
|00001ed0| 73 74 72 69 6e 67 73 65 | 6d 69 0d 09 60 3a 20 20 |stringse|mi..`: |
|00001ee0| 20 4c 44 4d 46 44 20 20 | 20 28 73 70 29 2c 7b 72 | LDMFD | (sp),{r|
|00001ef0| 30 2d 72 32 7d 20 20 20 | 20 20 20 20 20 20 20 20 |0-r2} | |
|00001f00| 20 20 3b 20 72 65 72 65 | 61 64 20 72 65 67 69 73 | ; rere|ad regis|
|00001f10| 74 65 72 73 0d 09 6a 14 | 20 20 20 43 4d 50 20 20 |ters..j.| CMP |
|00001f20| 20 20 20 72 32 2c 23 30 | 0d 09 74 1a 20 20 20 41 | r2,#0|..t. A|
|00001f30| 44 52 4c 45 20 20 20 72 | 32 2c 60 75 6e 6b 6e 6f |DRLE r|2,`unkno|
|00001f40| 77 6e 0d 09 7e 18 20 20 | 20 42 4c 20 20 20 20 20 |wn..~. | BL |
|00001f50| 20 70 75 74 73 74 72 69 | 6e 67 0d 09 88 1e 20 20 | putstri|ng.... |
|00001f60| 20 41 44 52 20 20 20 20 | 20 72 32 2c 60 6d 65 73 | ADR | r2,`mes|
|00001f70| 73 61 67 65 6c 65 66 74 | 0d 09 92 1c 20 20 20 42 |sageleft|.... B|
|00001f80| 4c 20 20 20 20 20 20 70 | 75 74 73 74 72 69 6e 67 |L p|utstring|
|00001f90| 73 65 6d 69 0d 09 9c 17 | 20 20 20 41 44 44 20 20 |semi....| ADD |
|00001fa0| 20 20 20 72 32 2c 72 30 | 2c 23 34 0d 09 a6 18 20 | r2,r0|,#4.... |
|00001fb0| 20 20 42 4c 20 20 20 20 | 20 20 70 75 74 73 74 72 | BL | putstr|
|00001fc0| 69 6e 67 0d 09 b0 05 5d | 0d 09 ba 12 e7 20 63 6f |ing....]|..... co|
|00001fd0| 6e 64 5f 75 73 65 72 73 | 20 8c 0d 09 c4 0f 5b 20 |nd_users| .....[ |
|00001fe0| 4f 50 54 20 70 61 73 73 | 25 0d 09 ce 3f 20 20 20 |OPT pass|%...? |
|00001ff0| 41 44 52 20 20 20 20 20 | 72 30 2c 60 75 73 65 72 |ADR |r0,`user|
|00002000| 76 61 72 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |var | |
|00002010| 20 20 20 20 20 20 3b 20 | 76 61 72 69 61 62 6c 65 | ; |variable|
|00002020| 20 74 6f 20 72 65 61 64 | 0d 09 d8 35 20 20 20 41 | to read|...5 A|
|00002030| 44 44 20 20 20 20 20 72 | 31 2c 72 31 32 2c 23 35 |DD r|1,r12,#5|
|00002040| 31 32 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |12 | |
|00002050| 20 20 20 20 20 3b 20 62 | 75 66 66 65 72 0d 09 e2 | ; b|uffer...|
|00002060| 3f 20 20 20 4d 4f 56 20 | 20 20 20 20 72 32 2c 23 |? MOV | r2,#|
|00002070| 31 36 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |16 | |
|00002080| 20 20 20 20 20 20 20 20 | 20 20 3b 20 6c 65 6e 67 | | ; leng|
|00002090| 74 68 20 6f 66 20 62 75 | 66 66 65 72 0d 09 ec 34 |th of bu|ffer...4|
|000020a0| 20 20 20 4d 4f 56 20 20 | 20 20 20 72 33 2c 23 30 | MOV | r3,#0|
|000020b0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|000020c0| 20 20 20 20 20 20 20 20 | 20 3b 20 63 6f 75 6e 74 | | ; count|
|000020d0| 0d 09 f6 40 20 20 20 4d | 4f 56 20 20 20 20 20 72 |...@ M|OV r|
|000020e0| 34 2c 23 33 20 20 20 20 | 20 20 20 20 20 20 20 20 |4,#3 | |
|000020f0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 3b 20 63 | | ; c|
|00002100| 6f 6e 76 65 72 74 20 74 | 6f 20 73 74 72 69 6e 67 |onvert t|o string|
|00002110| 0d 0a 00 36 20 20 20 53 | 57 49 20 20 20 20 20 22 |...6 S|WI "|
|00002120| 58 4f 53 5f 52 65 61 64 | 56 61 72 56 61 6c 22 20 |XOS_Read|VarVal" |
|00002130| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 3b 20 72 | | ; r|
|00002140| 65 61 64 20 69 74 0d 0a | 0a 37 20 20 20 42 56 53 |ead it..|.7 BVS|
|00002150| 20 20 20 20 20 5f 73 65 | 5f 6e 6f 75 73 65 72 6e | _se|_nousern|
|00002160| 61 6d 65 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |ame | |
|00002170| 20 20 20 3b 20 69 66 20 | 65 72 72 6f 72 0d 0a 14 | ; if |error...|
|00002180| 14 20 20 20 4d 4f 56 20 | 20 20 20 20 72 30 2c 23 |. MOV | r0,#|
|00002190| 30 0d 0a 1e 3f 20 20 20 | 53 54 52 42 20 20 20 20 |0...? |STRB |
|000021a0| 72 30 2c 5b 72 31 2c 72 | 32 5d 20 20 20 20 20 20 |r0,[r1,r|2] |
|000021b0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 3b 20 | | ; |
|000021c0| 74 65 72 6d 69 6e 61 74 | 65 20 73 74 72 69 6e 67 |terminat|e string|
|000021d0| 0d 0a 28 49 20 20 20 41 | 44 52 20 20 20 20 20 72 |..(I A|DR r|
|000021e0| 32 2c 60 75 73 65 72 6c | 65 66 74 20 20 20 20 20 |2,`userl|eft |
|000021f0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 3b 20 61 | | ; a|
|00002200| 64 64 72 65 73 73 20 6f | 66 20 62 69 74 20 62 65 |ddress o|f bit be|
|00002210| 66 6f 72 65 20 75 73 65 | 72 0d 0a 32 35 20 20 20 |fore use|r..25 |
|00002220| 42 4c 20 20 20 20 20 20 | 70 75 74 73 74 72 69 6e |BL |putstrin|
|00002230| 67 73 65 6d 69 20 20 20 | 20 20 20 20 20 20 20 20 |gsemi | |
|00002240| 20 20 20 20 20 20 3b 20 | 70 75 74 20 69 74 0d 0a | ; |put it..|
|00002250| 3c 41 20 20 20 4d 4f 56 | 20 20 20 20 20 72 32 2c |<A MOV| r2,|
|00002260| 72 31 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |r1 | |
|00002270| 20 20 20 20 20 20 20 20 | 20 20 20 3b 20 72 65 61 | | ; rea|
|00002280| 64 79 20 66 6f 72 20 75 | 73 65 72 6e 61 6d 65 0d |dy for u|sername.|
|00002290| 0a 46 35 20 20 20 42 4c | 20 20 20 20 20 20 70 75 |.F5 BL| pu|
|000022a0| 74 73 74 72 69 6e 67 20 | 20 20 20 20 20 20 20 20 |tstring | |
|000022b0| 20 20 20 20 20 20 20 20 | 20 20 20 20 3b 20 70 75 | | ; pu|
|000022c0| 74 20 69 74 0d 0a 50 13 | 2e 5f 73 65 5f 6e 6f 75 |t it..P.|._se_nou|
|000022d0| 73 65 72 6e 61 6d 65 0d | 0a 5a 05 5d 0d 0a 64 05 |sername.|.Z.]..d.|
|000022e0| cd 0d 0a 6e 0f 5b 20 4f | 50 54 20 70 61 73 73 25 |...n.[ O|PT pass%|
|000022f0| 0d 0a 78 19 20 20 20 42 | 4c 20 20 20 20 20 20 70 |..x. B|L p|
|00002300| 75 74 6e 65 77 6c 69 6e | 65 0d 0a 82 1f 20 20 20 |utnewlin|e.... |
|00002310| 4c 44 4d 46 44 20 20 20 | 28 73 70 29 21 2c 7b 72 |LDMFD |(sp)!,{r|
|00002320| 30 2d 72 35 2c 70 63 7d | 0d 0a 8c 05 3a 0d 0a 96 |0-r5,pc}|....:...|
|00002330| 0c 2e 60 68 65 61 64 65 | 72 0d 0a a0 1d 20 20 20 |..`heade|r.... |
|00002340| 45 51 55 53 20 20 20 20 | 22 2a 2a 45 72 72 6f 72 |EQUS |"**Error|
|00002350| 2a 2a 22 2b bd 30 0d 0a | aa 0c 20 20 20 41 4c 49 |**"+.0..|.. ALI|
|00002360| 47 4e 0d 0a b4 0f 2e 60 | 74 69 74 6c 65 6c 65 66 |GN.....`|titlelef|
|00002370| 74 0d 0a be 20 20 20 20 | 45 51 55 53 20 20 20 20 |t... |EQUS |
|00002380| 22 20 20 54 69 74 6c 65 | 20 20 20 3a 20 22 2b bd |" Title| : "+.|
|00002390| 30 0d 0a c8 0c 20 20 20 | 41 4c 49 47 4e 0d 0a d2 |0.... |ALIGN...|
|000023a0| 11 2e 60 6d 65 73 73 61 | 67 65 6c 65 66 74 0d 0a |..`messa|geleft..|
|000023b0| dc 20 20 20 20 45 51 55 | 53 20 20 20 20 22 20 20 |. EQU|S " |
|000023c0| 4d 65 73 73 61 67 65 20 | 3a 20 22 2b bd 30 0d 0a |Message |: "+.0..|
|000023d0| e6 0c 20 20 20 41 4c 49 | 47 4e 0d 0a f0 0f 2e 60 |.. ALI|GN.....`|
|000023e0| 65 72 72 6f 72 66 72 6f | 6d 0d 0a fa 1f 20 20 20 |errorfro|m.... |
|000023f0| 45 51 55 53 20 20 20 20 | 22 45 72 72 6f 72 20 66 |EQUS |"Error f|
|00002400| 72 6f 6d 20 22 2b bd 30 | 0d 0b 04 0c 20 20 20 41 |rom "+.0|.... A|
|00002410| 4c 49 47 4e 0d 0b 0e 0d | 2e 60 75 6e 6b 6e 6f 77 |LIGN....|.`unknow|
|00002420| 6e 0d 0b 18 20 20 20 20 | 45 51 55 53 20 20 20 20 |n... |EQUS |
|00002430| 22 75 6e 6b 6e 6f 77 6e | 20 74 61 73 6b 22 2b bd |"unknown| task"+.|
|00002440| 30 0d 0b 22 0c 20 20 20 | 41 4c 49 47 4e 0d 0b 2c |0..". |ALIGN..,|
|00002450| 05 5d 0d 0b 36 12 e7 20 | 63 6f 6e 64 5f 75 73 65 |.]..6.. |cond_use|
|00002460| 72 73 20 8c 0d 0b 40 0f | 5b 20 4f 50 54 20 70 61 |rs ...@.|[ OPT pa|
|00002470| 73 73 25 0d 0b 4a 0e 2e | 60 75 73 65 72 6c 65 66 |ss%..J..|`userlef|
|00002480| 74 0d 0b 54 20 20 20 20 | 45 51 55 53 20 20 20 20 |t..T |EQUS |
|00002490| 22 20 20 55 73 65 72 20 | 20 20 20 3a 20 22 2b bd |" User | : "+.|
|000024a0| 30 0d 0b 5e 0c 20 20 20 | 41 4c 49 47 4e 0d 0b 68 |0..^. |ALIGN..h|
|000024b0| 0d 2e 60 75 73 65 72 76 | 61 72 0d 0b 72 1d 20 20 |..`userv|ar..r. |
|000024c0| 20 45 51 55 53 20 20 20 | 20 22 41 72 65 61 24 4e | EQUS | "Area$N|
|000024d0| 61 6d 65 22 2b bd 30 0d | 0b 7c 0c 20 20 20 41 4c |ame"+.0.|.|. AL|
|000024e0| 49 47 4e 0d 0b 86 05 5d | 0d 0b 90 05 cd 0d 0b 9a |IGN....]|........|
|000024f0| 0f 5b 20 4f 50 54 20 70 | 61 73 73 25 0d 0b a4 05 |.[ OPT p|ass%....|
|00002500| 3a 0d 0b ae 05 3a 0d 0b | b8 30 20 20 20 20 20 20 |:....:..|.0 |
|00002510| 20 20 20 20 3b 20 4c 69 | 62 72 61 72 79 20 72 6f | ; Li|brary ro|
|00002520| 75 74 69 6e 65 20 53 74 | 72 69 6e 67 73 2e 6d 6f |utine St|rings.mo|
|00002530| 76 65 63 74 72 6c 0d 0b | c2 0d 2e 6d 6f 76 65 63 |vectrl..|...movec|
|00002540| 74 72 6c 0d 0b cc 13 3b | 20 2a 2a 2a 20 6c 69 6b |trl....;| *** lik|
|00002550| 65 64 20 2a 2a 2a 0d 0b | d6 17 3b 20 3e 20 72 30 |ed ***..|..; > r0|
|00002560| 3d 69 6e 70 75 74 20 73 | 74 72 69 6e 67 0d 0b e0 |=input s|tring...|
|00002570| 17 3b 20 20 20 72 31 3d | 6f 75 70 75 74 20 62 75 |.; r1=|ouput bu|
|00002580| 66 66 65 72 0d 0b ea 13 | 3b 20 3c 20 5f 5f 7a 30 |ffer....|; < __z0|
|00002590| 5f 72 31 3d 24 72 30 0d | 0b f4 24 20 20 20 53 54 |_r1=$r0.|..$ ST|
|000025a0| 4d 46 44 20 20 20 28 73 | 70 29 21 2c 7b 72 30 2d |MFD (s|p)!,{r0-|
|000025b0| 72 31 2c 72 35 2c 6c 69 | 6e 6b 7d 0d 0b fe 0e 2e |r1,r5,li|nk}.....|
|000025c0| 5f 5f 7a 30 5f 6c 6f 6f | 70 0d 0c 08 19 20 20 20 |__z0_loo|p.... |
|000025d0| 4c 44 52 42 20 20 20 20 | 72 35 2c 5b 72 30 5d 2c |LDRB |r5,[r0],|
|000025e0| 23 31 0d 0c 12 19 20 20 | 20 53 54 52 42 20 20 20 |#1.... | STRB |
|000025f0| 20 72 35 2c 5b 72 31 5d | 2c 23 31 0d 0c 1c 15 20 | r5,[r1]|,#1.... |
|00002600| 20 20 43 4d 50 20 20 20 | 20 20 72 35 2c 23 33 31 | CMP | r5,#31|
|00002610| 0d 0c 26 18 20 20 20 42 | 47 54 20 20 20 20 20 5f |..&. B|GT _|
|00002620| 5f 7a 30 5f 6c 6f 6f 70 | 0d 0c 30 23 20 20 20 4c |_z0_loop|..0# L|
|00002630| 44 4d 46 44 20 20 20 28 | 73 70 29 21 2c 7b 72 30 |DMFD (|sp)!,{r0|
|00002640| 2d 72 31 2c 72 35 2c 70 | 63 7d 5e 0d 0c 3a 05 3a |-r1,r5,p|c}^..:.:|
|00002650| 0d 0c 44 26 20 20 20 20 | 20 20 20 20 20 20 3b 20 |..D& | ; |
|00002660| 4c 69 62 72 61 72 79 20 | 27 53 74 72 69 6e 67 73 |Library |'Strings|
|00002670| 27 20 65 6e 64 73 0d 0c | 4e 05 3a 0d 0c 58 05 5d |' ends..|N.:..X.]|
|00002680| 0d 0c 62 20 f4 20 2a 2a | 2a 2a 20 45 6e 64 20 6f |..b . **|** End o|
|00002690| 66 20 6d 61 69 6e 20 63 | 6f 64 65 20 2a 2a 2a 2a |f main c|ode ****|
|000026a0| 0d 0c 6c 36 f4 20 53 65 | 74 20 66 69 6e 61 6c 20 |..l6. Se|t final |
|000026b0| 70 6f 69 6e 74 65 72 20 | 74 6f 20 66 69 6e 64 20 |pointer |to find |
|000026c0| 74 68 65 20 6c 65 6e 67 | 74 68 20 6f 66 20 74 68 |the leng|th of th|
|000026d0| 65 20 63 6f 64 65 0d 0c | 76 13 f2 70 61 74 63 68 |e code..|v..patch|
|000026e0| 5f 73 65 74 70 63 28 30 | 29 0d 0c 80 0b ed 20 70 |_setpc(0|)..... p|
|000026f0| 61 73 73 25 0d 0c 8a 13 | f2 70 61 74 63 68 5f 73 |ass%....|.patch_s|
|00002700| 61 76 65 66 69 6c 65 0d | 0c a8 28 f4 20 2a 2a 2a |avefile.|..(. ***|
|00002710| 2a 20 50 6f 73 74 2d 61 | 73 73 65 6d 62 6c 79 20 |* Post-a|ssembly |
|00002720| 75 73 65 72 20 63 6f 64 | 65 20 2a 2a 2a 2a 2a 0d |user cod|e *****.|
|00002730| 0c bc 05 e0 0d 0c c6 05 | 3a 0d 0c d0 21 f4 20 2a |........|:...!. *|
|00002740| 2a 2a 2a 20 46 69 6c 69 | 6e 67 20 70 72 6f 63 65 |*** Fili|ng proce|
|00002750| 64 75 72 65 73 20 2a 2a | 2a 2a 0d 0c da 05 3a 0d |dures **|**....:.|
|00002760| 0c e4 15 dd 20 f2 70 61 | 74 63 68 5f 6c 6f 61 64 |.... .pa|tch_load|
|00002770| 66 69 6c 65 0d 0c ee 0d | 63 6f 64 65 6c 65 6e 3d |file....|codelen=|
|00002780| 30 0d 0c f8 0f de 20 4d | 43 25 20 26 38 30 30 30 |0..... M|C% &8000|
|00002790| 0d 0d 02 24 65 6e 64 6f | 66 63 6f 64 65 3d 63 6f |...$endo|fcode=co|
|000027a0| 64 65 6c 65 6e 2b 26 30 | 3a 6d 61 78 3d 63 6f 64 |delen+&0|:max=cod|
|000027b0| 65 6c 65 6e 0d 0d 0c 19 | 4c 25 3d 65 6e 64 6f 66 |elen....|L%=endof|
|000027c0| 63 6f 64 65 3a 5f 5f 63 | 61 70 25 3d a3 0d 0d 70 |code:__c|ap%=...p|
|000027d0| 05 e1 0d 0d 7a 05 3a 0d | 0d 84 15 dd 20 f2 70 61 |....z.:.|.... .pa|
|000027e0| 74 63 68 5f 73 61 76 65 | 66 69 6c 65 0d 0d 8e 2b |tch_save|file...+|
|000027f0| 6f 75 74 66 69 6c 65 24 | 3d 22 3c 52 65 63 6f 72 |outfile$|="<Recor|
|00002800| 64 45 72 72 6f 72 73 24 | 44 69 72 3e 2e 52 65 63 |dErrors$|Dir>.Rec|
|00002810| 45 72 72 6f 72 73 22 0d | 0d 98 31 ff 28 22 53 61 |Errors".|..1.("Sa|
|00002820| 76 65 20 22 2b 6f 75 74 | 66 69 6c 65 24 2b 22 20 |ve "+out|file$+" |
|00002830| 22 2b c3 7e 4d 43 25 2b | 22 20 22 2b c3 7e 28 6d |"+.~MC%+|" "+.~(m|
|00002840| 61 78 2b 4d 43 25 29 29 | 0d 0d a2 24 ff 28 22 53 |ax+MC%))|...$.("S|
|00002850| 65 74 74 79 70 65 20 22 | 2b 6f 75 74 66 69 6c 65 |ettype "|+outfile|
|00002860| 24 2b 22 20 4d 6f 64 75 | 6c 65 22 29 0d 0d ac 22 |$+" Modu|le")..."|
|00002870| 70 61 74 63 68 64 69 72 | 24 3d 22 3c 52 65 63 6f |patchdir|$="<Reco|
|00002880| 72 64 45 72 72 6f 72 73 | 24 44 69 72 3e 22 0d 0d |rdErrors|$Dir>"..|
|00002890| d4 05 e1 0d 0d de 05 3a | 0d 0d e8 1d f4 20 2a 2a |.......:|..... **|
|000028a0| 2a 2a 20 45 72 72 6f 72 | 20 48 61 6e 64 6c 65 72 |** Error| Handler|
|000028b0| 20 2a 2a 2a 2a 0d 0d f2 | 05 3a 0d 0d fc 0b dd f2 | ****...|.:......|
|000028c0| 45 72 72 6f 72 0d 0e 4c | 1b 85 20 a2 20 9f 2c f6 |Error..L|.. . .,.|
|000028d0| 24 2b 22 20 61 74 20 6c | 69 6e 65 20 22 2b c3 9e |$+" at l|ine "+..|
|000028e0| 0d 0e 56 05 e1 0d 0e 60 | 05 3a 0d 0e 6a 22 f4 20 |..V....`|.:..j". |
|000028f0| 2a 2a 2a 2a 20 55 74 69 | 6c 69 74 79 20 70 72 6f |**** Uti|lity pro|
|00002900| 63 65 64 75 72 65 73 20 | 2a 2a 2a 2a 0d 0e 74 05 |cedures |****..t.|
|00002910| 3a 0d 0e 7e 14 dd f2 70 | 61 74 63 68 5f 73 65 74 |:..~...p|atch_set|
|00002920| 70 63 28 6e 29 0d 0e 88 | 1a e7 20 50 25 2d 26 30 |pc(n)...|.. P%-&0|
|00002930| 3e 6d 61 78 20 8c 6d 61 | 78 3d 50 25 2d 26 30 0d |>max .ma|x=P%-&0.|
|00002940| 0e 92 14 50 25 3d 6e 3a | 4f 25 3d 4d 43 25 2b 6e |...P%=n:|O%=MC%+n|
|00002950| 2d 26 30 0d 0e 9c 05 e1 | 0d 0e a6 05 3a 0d 0e b0 |-&0.....|....:...|
|00002960| 22 dd a4 66 69 6e 64 66 | 72 65 65 72 65 67 28 61 |"..findf|reereg(a|
|00002970| 2c 62 2c 63 2c 64 29 3a | ea 20 6e 3a 6e 3d 30 0d |,b,c,d):|. n:n=0.|
|00002980| 0e ba 1c c8 95 20 6e 3d | 61 20 84 20 6e 3d 62 20 |..... n=|a . n=b |
|00002990| 84 20 6e 3d 63 20 84 20 | 6e 3d 64 0d 0e c4 09 20 |. n=c . |n=d.... |
|000029a0| 6e 2b 3d 31 0d 0e ce 05 | ce 0d 0e d8 06 3d 6e 0d |n+=1....|.....=n.|
|000029b0| 0e e2 05 3a 0d 0e ec 28 | f4 20 2a 2a 2a 2a 20 4c |...:...(|. **** L|
|000029c0| 6f 6e 67 20 41 44 52 20 | 6d 61 63 72 6f 20 70 72 |ong ADR |macro pr|
|000029d0| 6f 63 65 64 75 72 65 20 | 2a 2a 2a 2a 0d 0e f6 05 |ocedure |****....|
|000029e0| 3a 0d 0f 00 40 f4 20 44 | 45 53 43 2e 20 3a 20 41 |:...@. D|ESC. : A|
|000029f0| 44 52 20 65 71 75 69 76 | 61 6c 65 6e 74 20 66 6f |DR equiv|alent fo|
|00002a00| 72 20 6c 6f 6e 67 20 61 | 64 64 72 65 73 73 20 72 |r long a|ddress r|
|00002a10| 61 6e 67 65 73 2c 20 69 | 6e 20 32 20 69 6e 73 74 |anges, i|n 2 inst|
|00002a20| 73 0d 0f 0a 43 f4 20 45 | 4e 54 52 59 20 3a 20 63 |s...C. E|NTRY : c|
|00002a30| 6f 6e 64 24 20 3d 20 74 | 77 6f 20 63 68 61 72 20 |ond$ = t|wo char |
|00002a40| 73 74 72 69 6e 67 2c 20 | 63 6f 6e 74 61 69 6e 69 |string, |containi|
|00002a50| 6e 67 20 74 68 65 20 41 | 52 4d 20 63 6f 6e 64 69 |ng the A|RM condi|
|00002a60| 74 69 6f 6e 0d 0f 14 1a | f4 20 20 20 20 20 20 20 |tion....|. |
|00002a70| 20 20 72 65 67 25 20 3d | 20 30 2e 2e 31 35 0d 0f | reg% =| 0..15..|
|00002a80| 1e 2b f4 20 20 20 20 20 | 20 20 20 20 70 6f 69 6e |.+. | poin|
|00002a90| 74 65 72 25 20 3d 20 6c | 6f 6e 67 20 72 61 6e 67 |ter% = l|ong rang|
|00002aa0| 65 20 70 6f 69 6e 74 65 | 72 0d 0f 28 42 f4 20 43 |e pointe|r..(B. C|
|00002ab0| 4f 4d 4d 2e 20 3a 20 70 | 61 73 73 25 20 3d 20 4f |OMM. : p|ass% = O|
|00002ac0| 50 54 20 76 61 72 69 61 | 62 6c 65 20 69 6e 20 74 |PT varia|ble in t|
|00002ad0| 68 65 20 61 73 73 65 6d | 62 6c 65 72 20 46 4f 52 |he assem|bler FOR|
|00002ae0| 2e 2e 4e 45 58 54 20 6c | 6f 6f 70 0d 0f 32 2d f4 |..NEXT l|oop..2-.|
|00002af0| 20 20 20 20 20 20 20 20 | 20 43 61 6e 20 6f 6e 6c | | Can onl|
|00002b00| 79 20 68 61 6e 64 6c 65 | 20 36 34 20 4b 42 79 74 |y handle| 64 KByt|
|00002b10| 65 20 72 61 6e 67 65 73 | 0d 0f 3c 1f dd a4 4c 41 |e ranges|..<...LA|
|00002b20| 44 52 28 63 6f 6e 64 24 | 2c 72 65 67 25 2c 70 6f |DR(cond$|,reg%,po|
|00002b30| 69 6e 74 65 72 25 29 0d | 0f 46 21 ea 20 63 63 25 |inter%).|.F!. cc%|
|00002b40| 2c 64 69 66 66 25 2c 6c | 6f 25 2c 68 69 25 2c 6f |,diff%,l|o%,hi%,o|
|00002b50| 70 31 25 2c 6f 70 32 25 | 0d 0f 50 23 e7 20 28 70 |p1%,op2%|..P#. (p|
|00002b60| 61 73 73 25 20 80 25 31 | 30 29 3d 30 20 50 25 2b |ass% .%1|0)=0 P%+|
|00002b70| 3d 38 3a 4f 25 2b 3d 38 | 3a 3d 30 0d 0f 5a 73 e7 |=8:O%+=8|:=0..Zs.|
|00002b80| 20 94 28 70 6f 69 6e 74 | 65 72 25 2d 50 25 29 3e | .(point|er%-P%)>|
|00002b90| 36 35 35 33 35 20 8c 20 | 85 20 31 2c 22 4c 41 44 |65535 . |. 1,"LAD|
|00002ba0| 52 20 63 61 6e 20 6f 6e | 6c 79 20 68 61 6e 64 6c |R can on|ly handl|
|00002bb0| 65 20 36 34 20 4b 42 79 | 74 65 20 72 61 6e 67 65 |e 64 KBy|te range|
|00002bc0| 73 20 61 74 20 26 22 2b | c3 7e 50 25 2b 22 20 28 |s at &"+|.~P%+" (|
|00002bd0| 26 22 2b c3 7e 28 70 6f | 69 6e 74 65 72 25 2d 50 |&"+.~(po|inter%-P|
|00002be0| 25 29 2b 22 20 64 69 73 | 74 61 6e 74 29 22 0d 0f |%)+" dis|tant)"..|
|00002bf0| 64 27 e7 63 6f 6e 64 24 | 3d 22 20 20 22 20 84 20 |d'.cond$|=" " . |
|00002c00| 63 6f 6e 64 24 3d 22 22 | 20 20 8c 63 6f 6e 64 24 |cond$=""| .cond$|
|00002c10| 3d 22 41 4c 22 0d 0f 6e | 32 63 63 25 3d a7 22 45 |="AL"..n|2cc%=."E|
|00002c20| 51 4e 45 43 53 43 43 4d | 49 50 4c 56 53 56 43 48 |QNECSCCM|IPLVSVCH|
|00002c30| 49 4c 53 47 45 4c 54 47 | 54 4c 45 41 4c 4e 56 22 |ILSGELTG|TLEALNV"|
|00002c40| 2c 63 6f 6e 64 24 29 0d | 0f 78 63 e7 20 63 63 25 |,cond$).|.xc. cc%|
|00002c50| 3d 30 20 85 20 31 2c 22 | 46 41 54 41 4c 20 45 52 |=0 . 1,"|FATAL ER|
|00002c60| 52 4f 52 20 3a 20 55 6e | 6b 6e 6f 77 6e 20 63 6f |ROR : Un|known co|
|00002c70| 6e 64 69 74 69 6f 6e 20 | 66 6f 72 20 4c 41 44 52 |ndition |for LADR|
|00002c80| 20 61 74 20 26 22 2b c3 | 7e 50 25 2b 22 20 28 26 | at &"+.|~P%+" (&|
|00002c90| 22 2b c3 7e 4f 25 2b 22 | 29 22 20 8b 20 63 63 25 |"+.~O%+"|)" . cc%|
|00002ca0| 3d 28 63 63 25 2d 31 29 | 81 32 0d 0f 82 17 64 69 |=(cc%-1)|.2....di|
|00002cb0| 66 66 25 3d 70 6f 69 6e | 74 65 72 25 2d 50 25 2d |ff%=poin|ter%-P%-|
|00002cc0| 38 0d 0f 8c 14 6c 6f 25 | 3d 94 28 64 69 66 66 25 |8....lo%|=.(diff%|
|00002cd0| 29 80 26 46 46 0d 0f 96 | 16 68 69 25 3d 94 28 64 |).&FF...|.hi%=.(d|
|00002ce0| 69 66 66 25 29 80 26 46 | 46 30 30 0d 0f a0 0e e7 |iff%).&F|F00.....|
|00002cf0| 64 69 66 66 25 3e 3d 30 | 8c 0d 0f aa 2c 20 6f 70 |diff%>=0|...., op|
|00002d00| 31 25 3d 28 63 63 25 3c | 3c 32 38 29 2b 26 30 32 |1%=(cc%<|<28)+&02|
|00002d10| 38 46 30 30 30 30 2b 28 | 72 65 67 25 3c 3c 31 32 |8F0000+(|reg%<<12|
|00002d20| 29 2b 6c 6f 25 0d 0f b4 | 3c 20 6f 70 32 25 3d 28 |)+lo%...|< op2%=(|
|00002d30| 63 63 25 3c 3c 32 38 29 | 2b 26 30 32 38 30 30 43 |cc%<<28)|+&02800C|
|00002d40| 30 30 2b 28 72 65 67 25 | 3c 3c 31 36 29 2b 28 72 |00+(reg%|<<16)+(r|
|00002d50| 65 67 25 3c 3c 31 32 29 | 2b 28 68 69 25 3e 3e 38 |eg%<<12)|+(hi%>>8|
|00002d60| 29 0d 0f be 05 cc 0d 0f | c8 2c 20 6f 70 31 25 3d |).......|., op1%=|
|00002d70| 28 63 63 25 3c 3c 32 38 | 29 2b 26 30 32 34 46 30 |(cc%<<28|)+&024F0|
|00002d80| 30 30 30 2b 28 72 65 67 | 25 3c 3c 31 32 29 2b 6c |000+(reg|%<<12)+l|
|00002d90| 6f 25 0d 0f d2 3c 20 6f | 70 32 25 3d 28 63 63 25 |o%...< o|p2%=(cc%|
|00002da0| 3c 3c 32 38 29 2b 26 30 | 32 34 30 30 43 30 30 2b |<<28)+&0|2400C00+|
|00002db0| 28 72 65 67 25 3c 3c 31 | 36 29 2b 28 72 65 67 25 |(reg%<<1|6)+(reg%|
|00002dc0| 3c 3c 31 32 29 2b 28 68 | 69 25 3e 3e 38 29 0d 0f |<<12)+(h|i%>>8)..|
|00002dd0| dc 05 cd 0d 0f e6 24 5b | 4f 50 54 20 70 61 73 73 |......$[|OPT pass|
|00002de0| 25 3a 45 51 55 44 20 6f | 70 31 25 3a 45 51 55 44 |%:EQUD o|p1%:EQUD|
|00002df0| 20 6f 70 32 25 3a 5d 0d | 0f f0 06 3d 30 0d 0f fa | op2%:].|...=0...|
|00002e00| 05 3a 0d 10 04 2a f4 20 | 2a 2a 2a 2a 20 4c 6f 6e |.:...*. |**** Lon|
|00002e10| 67 20 4d 4f 56 20 6d 61 | 63 72 6f 20 69 6e 73 74 |g MOV ma|cro inst|
|00002e20| 72 75 63 74 69 6f 6e 20 | 2a 2a 2a 2a 0d 10 0e 05 |ruction |****....|
|00002e30| 3a 0d 10 18 1b dd a4 4c | 4d 4f 56 28 63 6f 6e 64 |:......L|MOV(cond|
|00002e40| 24 2c 72 65 67 2c 76 61 | 6c 75 65 29 0d 10 22 27 |$,reg,va|lue).."'|
|00002e50| e7 20 63 6f 6e 64 24 3d | 22 22 20 84 20 63 6f 6e |. cond$=|"" . con|
|00002e60| 64 24 3d 22 20 20 22 20 | 8c 63 6f 6e 64 24 3d 22 |d$=" " |.cond$="|
|00002e70| 41 4c 22 0d 10 2c 39 63 | 6f 6e 64 3d 28 a7 22 45 |AL"..,9c|ond=(."E|
|00002e80| 51 4e 45 43 53 43 43 4d | 49 50 4c 56 53 56 43 48 |QNECSCCM|IPLVSVCH|
|00002e90| 49 4c 53 47 45 4c 54 47 | 54 4c 45 41 4c 4e 56 22 |ILSGELTG|TLEALNV"|
|00002ea0| 2c 63 6f 6e 64 24 29 2d | 31 29 2f 32 0d 10 36 26 |,cond$)-|1)/2..6&|
|00002eb0| 6d 6f 76 3d 28 26 33 41 | 3c 3c 32 30 29 2b 28 72 |mov=(&3A|<<20)+(r|
|00002ec0| 65 67 3c 3c 31 32 29 2b | 28 63 6f 6e 64 3c 3c 32 |eg<<12)+|(cond<<2|
|00002ed0| 38 29 0d 10 40 30 61 64 | 64 3d 28 26 32 38 3c 3c |8)..@0ad|d=(&28<<|
|00002ee0| 32 30 29 2b 28 72 65 67 | 3c 3c 31 32 29 2b 28 72 |20)+(reg|<<12)+(r|
|00002ef0| 65 67 3c 3c 31 36 29 2b | 28 63 6f 6e 64 3c 3c 32 |eg<<16)+|(cond<<2|
|00002f00| 38 29 0d 10 4a 4f e7 20 | 76 61 6c 75 65 3c 30 20 |8)..JO. |value<0 |
|00002f10| 8c 6e 65 67 3d b9 3a 6d | 6f 76 3d 6d 6f 76 20 84 |.neg=.:m|ov=mov .|
|00002f20| 20 28 31 3c 3c 32 32 29 | 3a 61 64 64 3d 61 64 64 | (1<<22)|:add=add|
|00002f30| 20 82 20 28 31 32 3c 3c | 32 30 29 3a 76 61 6c 75 | . (12<<|20):valu|
|00002f40| 65 3d 2d 76 61 6c 75 65 | 2d 31 20 8b 6e 65 67 3d |e=-value|-1 .neg=|
|00002f50| a3 0d 10 54 0b 73 68 69 | 66 74 3d 30 0d 10 5e 05 |...T.shi|ft=0..^.|
|00002f60| f5 0d 10 68 20 20 c8 95 | 20 28 76 61 6c 75 65 20 |...h ..| (value |
|00002f70| 80 20 33 29 3d 30 20 80 | 20 73 68 69 66 74 3c 31 |. 3)=0 .| shift<1|
|00002f80| 36 0d 10 72 1d 20 20 73 | 68 69 66 74 2b 3d 31 3a |6..r. s|hift+=1:|
|00002f90| 76 61 6c 75 65 3d 76 61 | 6c 75 65 20 81 34 0d 10 |value=va|lue .4..|
|00002fa0| 7c 06 20 ce 0d 10 86 2a | 20 78 73 68 69 66 74 3d ||. ....*| xshift=|
|00002fb0| 31 36 2d 73 68 69 66 74 | 3a e7 20 78 73 68 69 66 |16-shift|:. xshif|
|00002fc0| 74 3d 31 36 20 8c 78 73 | 68 69 66 74 3d 30 0d 10 |t=16 .xs|hift=0..|
|00002fd0| 90 0f 20 e7 20 6d 6f 76 | 3c 3e 30 20 8c 0d 10 9a |.. . mov|<>0 ....|
|00002fe0| 35 20 20 5b 4f 50 54 20 | 70 61 73 73 25 3a 45 51 |5 [OPT |pass%:EQ|
|00002ff0| 55 44 20 6d 6f 76 2b 28 | 78 73 68 69 66 74 3c 3c |UD mov+(|xshift<<|
|00003000| 38 29 2b 28 76 61 6c 75 | 65 20 80 20 32 35 35 29 |8)+(valu|e . 255)|
|00003010| 3a 5d 0d 10 a4 0b 20 20 | 6d 6f 76 3d 30 0d 10 ae |:].... |mov=0...|
|00003020| 06 20 cc 0d 10 b8 35 20 | 20 5b 4f 50 54 20 70 61 |. ....5 | [OPT pa|
|00003030| 73 73 25 3a 45 51 55 44 | 20 61 64 64 2b 28 78 73 |ss%:EQUD| add+(xs|
|00003040| 68 69 66 74 3c 3c 38 29 | 2b 28 76 61 6c 75 65 20 |hift<<8)|+(value |
|00003050| 80 20 32 35 35 29 3a 5d | 0d 10 c2 06 20 cd 0d 10 |. 255):]|.... ...|
|00003060| cc 1e 20 76 61 6c 75 65 | 3d 76 61 6c 75 65 20 81 |.. value|=value .|
|00003070| 32 35 36 3a 73 68 69 66 | 74 2b 3d 34 0d 10 d6 0c |256:shif|t+=4....|
|00003080| fd 76 61 6c 75 65 3d 30 | 0d 10 e0 06 3d 30 0d 10 |.value=0|....=0..|
|00003090| ea 05 3a 0d 7f 7f 0d f4 | 20 4a 46 50 61 74 63 68 |..:.....| JFPatch|
|000030a0| 0d ff | |.. | |
+--------+-------------------------+-------------------------+--------+--------+