home *** CD-ROM | disk | FTP | other *** search
/ RISC DISC 1 / RISC_DISC_1.iso / commercial / beebug / riscuser / !SmartSave / Files / Source < prev   
Unknown  |  1993-04-19  |  9.8 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 17 f4 20 20 20 | 20 20 20 20 20 20 20 20 |..... | |
|00000010| 3e 53 6f 75 72 63 65 0d | 00 14 20 f4 20 50 72 6f |>Source.|.. . Pro|
|00000020| 67 72 61 6d 20 20 20 53 | 6d 61 72 74 53 61 76 65 |gram S|martSave|
|00000030| 20 6d 6f 64 75 6c 65 0d | 00 1e 16 f4 20 56 65 72 | module.|.... Ver|
|00000040| 73 69 6f 6e 20 20 20 41 | 20 31 2e 30 30 0d 00 28 |sion A| 1.00..(|
|00000050| 1c f4 20 41 75 74 68 6f | 72 20 20 20 20 41 6c 61 |.. Autho|r Ala|
|00000060| 6e 20 57 72 69 67 6c 65 | 79 0d 00 32 19 f4 20 52 |n Wrigle|y..2.. R|
|00000070| 49 53 43 20 55 73 65 72 | 20 4a 75 6e 65 20 31 39 |ISC User| June 19|
|00000080| 39 33 0d 00 3c 24 f4 20 | 50 72 6f 67 72 61 6d 20 |93..<$. |Program |
|00000090| 20 20 53 75 62 6a 65 63 | 74 20 74 6f 20 63 6f 70 | Subjec|t to cop|
|000000a0| 79 72 69 67 68 74 0d 00 | 46 21 f4 20 20 20 20 20 |yright..|F!. |
|000000b0| 20 20 20 20 20 20 4e 6f | 74 20 70 75 62 6c 69 63 | No|t public|
|000000c0| 20 64 6f 6d 61 69 6e 0d | 00 50 05 3a 0d 00 5a 10 | domain.|.P.:..Z.|
|000000d0| de 20 63 6f 64 65 25 20 | 31 30 32 34 0d 00 64 11 |. code% |1024..d.|
|000000e0| e3 20 69 25 3d 34 20 b8 | 20 37 20 88 33 0d 00 6e |. i%=4 .| 7 .3..n|
|000000f0| 11 50 25 3d 30 3a 4f 25 | 3d 63 6f 64 65 25 0d 00 |.P%=0:O%|=code%..|
|00000100| 78 0b 5b 4f 50 54 20 69 | 25 0d 00 82 3d 45 51 55 |x.[OPT i|%...=EQU|
|00000110| 44 20 30 3a 45 51 55 44 | 20 69 6e 69 74 3a 45 51 |D 0:EQUD| init:EQ|
|00000120| 55 44 20 66 69 6e 61 6c | 3a 45 51 55 44 20 30 20 |UD final|:EQUD 0 |
|00000130| 20 3b 73 65 74 20 75 70 | 20 6d 6f 64 75 6c 65 20 | ;set up| module |
|00000140| 68 65 61 64 65 72 0d 00 | 8c 23 45 51 55 44 20 74 |header..|.#EQUD t|
|00000150| 69 74 6c 65 3a 45 51 55 | 44 20 68 65 6c 70 3a 45 |itle:EQU|D help:E|
|00000160| 51 55 44 20 63 6f 6d 6d | 73 0d 00 96 05 3a 0d 00 |QUD comm|s....:..|
|00000170| a0 35 2e 74 69 74 6c 65 | 20 45 51 55 53 20 22 53 |.5.title| EQUS "S|
|00000180| 6d 61 72 74 53 61 76 65 | 22 3a 45 51 55 42 20 30 |martSave|":EQUB 0|
|00000190| 20 20 20 20 20 20 3b 6d | 6f 64 75 6c 65 20 74 69 | ;m|odule ti|
|000001a0| 74 6c 65 0d 00 aa 05 3a | 0d 00 b4 21 2e 68 65 6c |tle....:|...!.hel|
|000001b0| 70 20 45 51 55 53 20 22 | 53 6d 61 72 74 53 61 76 |p EQUS "|SmartSav|
|000001c0| 65 22 3a 45 51 55 42 20 | 39 0d 00 be 3b 45 51 55 |e":EQUB |9...;EQU|
|000001d0| 53 20 22 31 2e 30 30 20 | 28 32 39 20 4d 61 72 20 |S "1.00 |(29 Mar |
|000001e0| 31 39 39 33 29 22 3a 45 | 51 55 42 20 30 20 20 20 |1993)":E|QUB 0 |
|000001f0| 20 3b 6d 6f 64 75 6c 65 | 20 68 65 6c 70 20 73 74 | ;module| help st|
|00000200| 72 69 6e 67 0d 00 c8 09 | 41 4c 49 47 4e 0d 00 d2 |ring....|ALIGN...|
|00000210| 05 3a 0d 00 dc 3d 2e 63 | 6f 6d 6d 73 20 45 51 55 |.:...=.c|omms EQU|
|00000220| 53 20 22 53 6d 61 72 74 | 53 61 76 65 4f 6e 22 3a |S "Smart|SaveOn":|
|00000230| 45 51 55 42 20 30 20 20 | 20 20 3b 73 74 61 72 20 |EQUB 0 | ;star |
|00000240| 63 6f 6d 6d 61 6e 64 20 | 68 61 6e 64 6c 65 72 0d |command |handler.|
|00000250| 00 e6 09 41 4c 49 47 4e | 0d 00 f0 24 45 51 55 44 |...ALIGN|...$EQUD|
|00000260| 20 6f 6e 3a 45 51 55 44 | 20 30 3a 45 51 55 44 20 | on:EQUD| 0:EQUD |
|00000270| 30 3a 45 51 55 44 20 68 | 65 6c 70 31 0d 00 fa 1e |0:EQUD h|elp1....|
|00000280| 45 51 55 53 20 22 53 6d | 61 72 74 53 61 76 65 4f |EQUS "Sm|artSaveO|
|00000290| 66 66 22 3a 45 51 55 42 | 20 30 0d 01 04 09 41 4c |ff":EQUB| 0....AL|
|000002a0| 49 47 4e 0d 01 0e 17 45 | 51 55 44 20 72 65 6c 65 |IGN....E|QUD rele|
|000002b0| 61 73 65 3a 45 51 55 44 | 20 30 0d 01 18 1c 45 51 |ase:EQUD| 0....EQ|
|000002c0| 55 44 20 30 3a 45 51 55 | 44 20 68 65 6c 70 32 3a |UD 0:EQU|D help2:|
|000002d0| 45 51 55 44 20 30 0d 01 | 22 05 3a 0d 01 2c 0a 2e |EQUD 0..|".:..,..|
|000002e0| 68 65 6c 70 31 0d 01 36 | 3f 45 51 55 53 20 22 2a |help1..6|?EQUS "*|
|000002f0| 53 6d 61 72 74 53 61 76 | 65 4f 6e 20 73 77 69 74 |SmartSav|eOn swit|
|00000300| 63 68 65 73 20 6f 6e 20 | 74 68 65 20 53 6d 61 72 |ches on |the Smar|
|00000310| 74 53 61 76 65 20 6d 6f | 64 75 6c 65 22 3a 45 51 |tSave mo|dule":EQ|
|00000320| 55 42 20 30 0d 01 40 05 | 3a 0d 01 4a 0a 2e 68 65 |UB 0..@.|:..J..he|
|00000330| 6c 70 32 0d 01 54 41 45 | 51 55 53 20 22 2a 53 6d |lp2..TAE|QUS "*Sm|
|00000340| 61 72 74 53 61 76 65 4f | 66 66 20 73 77 69 74 63 |artSaveO|ff switc|
|00000350| 68 65 73 20 6f 66 66 20 | 74 68 65 20 53 6d 61 72 |hes off |the Smar|
|00000360| 74 53 61 76 65 20 6d 6f | 64 75 6c 65 22 3a 45 51 |tSave mo|dule":EQ|
|00000370| 55 42 20 30 0d 01 5e 09 | 41 4c 49 47 4e 0d 01 68 |UB 0..^.|ALIGN..h|
|00000380| 05 3a 0d 01 72 3f 2e 6f | 6e 20 20 20 20 20 20 20 |.:..r?.o|n |
|00000390| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|000003a0| 20 20 20 20 20 20 20 20 | 20 20 3b 63 61 6c 6c 65 | | ;calle|
|000003b0| 64 20 62 79 20 2a 53 6d | 61 72 74 53 61 76 65 4f |d by *Sm|artSaveO|
|000003c0| 6e 0d 01 7c 14 53 54 4d | 46 44 20 72 31 33 21 2c |n..|.STM|FD r13!,|
|000003d0| 7b 72 31 34 7d 0d 01 86 | 36 42 4c 20 63 6c 61 69 |{r14}...|6BL clai|
|000003e0| 6d 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |m | |
|000003f0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 3b 63 6c | | ;cl|
|00000400| 61 69 6d 20 76 65 63 74 | 6f 72 73 0d 01 90 39 42 |aim vect|ors...9B|
|00000410| 56 53 20 62 61 64 76 65 | 63 74 6f 72 20 20 20 20 |VS badve|ctor |
|00000420| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00000430| 20 20 20 3b 72 65 70 6f | 72 74 20 61 6e 79 20 65 | ;repo|rt any e|
|00000440| 72 72 6f 72 0d 01 9a 13 | 4c 44 4d 46 44 20 72 31 |rror....|LDMFD r1|
|00000450| 33 21 2c 7b 70 63 7d 0d | 01 a4 05 3a 0d 01 ae 3a |3!,{pc}.|...:...:|
|00000460| 2e 69 6e 69 74 20 20 20 | 20 20 20 20 20 20 20 20 |.init | |
|00000470| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00000480| 20 20 20 20 3b 69 6e 69 | 74 69 61 6c 69 73 65 20 | ;ini|tialise |
|00000490| 6d 6f 64 75 6c 65 0d 01 | b8 14 53 54 4d 46 44 20 |module..|..STMFD |
|000004a0| 72 31 33 21 2c 7b 72 31 | 34 7d 0d 01 c2 0d 4d 4f |r13!,{r1|4}....MO|
|000004b0| 56 20 72 30 2c 23 36 0d | 01 cc 0f 4d 4f 56 20 72 |V r0,#6.|...MOV r|
|000004c0| 33 2c 23 35 33 36 0d 01 | d6 45 53 57 49 20 22 58 |3,#536..|.ESWI "X|
|000004d0| 4f 53 5f 4d 6f 64 75 6c | 65 22 20 20 20 20 20 20 |OS_Modul|e" |
|000004e0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 3b 63 | | ;c|
|000004f0| 6c 61 69 6d 20 35 33 36 | 20 62 79 74 65 73 20 6f |laim 536| bytes o|
|00000500| 66 20 77 6f 72 6b 73 70 | 61 63 65 0d 01 e0 15 4c |f worksp|ace....L|
|00000510| 44 4d 56 53 46 44 20 72 | 31 33 21 2c 7b 70 63 7d |DMVSFD r|13!,{pc}|
|00000520| 0d 01 ea 10 53 54 52 20 | 72 32 2c 5b 72 31 32 5d |....STR |r2,[r12]|
|00000530| 0d 01 f4 36 42 4c 20 63 | 6c 61 69 6d 20 20 20 20 |...6BL c|laim |
|00000540| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00000550| 20 20 20 20 20 20 20 20 | 3b 63 6c 61 69 6d 20 76 | |;claim v|
|00000560| 65 63 74 6f 72 73 0d 01 | fe 11 42 56 53 20 62 61 |ectors..|..BVS ba|
|00000570| 64 76 65 63 74 6f 72 0d | 02 08 41 53 57 49 20 22 |dvector.|..ASWI "|
|00000580| 58 4f 53 5f 52 65 61 64 | 4d 6f 6e 6f 74 6f 6e 69 |XOS_Read|Monotoni|
|00000590| 63 54 69 6d 65 22 20 20 | 20 20 20 20 20 20 20 3b |cTime" | ;|
|000005a0| 69 6e 69 74 69 61 6c 69 | 73 65 20 63 6c 6f 63 6b |initiali|se clock|
|000005b0| 20 72 65 61 64 69 6e 67 | 0d 02 12 10 4c 44 52 20 | reading|....LDR |
|000005c0| 72 32 2c 5b 72 31 32 5d | 0d 02 1c 45 53 54 52 20 |r2,[r12]|...ESTR |
|000005d0| 72 30 2c 5b 72 32 2c 23 | 35 33 32 5d 20 20 20 20 |r0,[r2,#|532] |
|000005e0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|000005f0| 3b 73 74 6f 72 65 20 76 | 61 6c 75 65 20 69 6e 20 |;store v|alue in |
|00000600| 77 6f 72 6b 73 70 61 63 | 65 2b 35 33 32 0d 02 26 |workspac|e+532..&|
|00000610| 13 4c 44 4d 46 44 20 72 | 31 33 21 2c 7b 70 63 7d |.LDMFD r|13!,{pc}|
|00000620| 0d 02 30 05 3a 0d 02 3a | 3f 2e 66 69 6e 61 6c 20 |..0.:..:|?.final |
|00000630| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00000640| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 3b 66 69 | | ;fi|
|00000650| 6e 61 6c 69 73 61 74 69 | 6f 6e 20 70 72 6f 63 65 |nalisati|on proce|
|00000660| 64 75 72 65 0d 02 44 14 | 53 54 4d 46 44 20 72 31 |dure..D.|STMFD r1|
|00000670| 33 21 2c 7b 72 31 34 7d | 0d 02 4e 38 42 4c 20 72 |3!,{r14}|..N8BL r|
|00000680| 65 6c 65 61 73 65 20 20 | 20 20 20 20 20 20 20 20 |elease | |
|00000690| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|000006a0| 3b 72 65 6c 65 61 73 65 | 20 76 65 63 74 6f 72 73 |;release| vectors|
|000006b0| 0d 02 58 0d 4d 4f 56 20 | 72 30 2c 23 37 0d 02 62 |..X.MOV |r0,#7..b|
|000006c0| 37 53 57 49 20 22 58 4f | 53 5f 4d 6f 64 75 6c 65 |7SWI "XO|S_Module|
|000006d0| 22 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |" | |
|000006e0| 20 20 20 20 20 3b 66 72 | 65 65 20 77 6f 72 6b 73 | ;fr|ee works|
|000006f0| 70 61 63 65 0d 02 6c 13 | 4c 44 4d 46 44 20 72 31 |pace..l.|LDMFD r1|
|00000700| 33 21 2c 7b 70 63 7d 0d | 02 76 05 3a 0d 02 80 0a |3!,{pc}.|.v.:....|
|00000710| 2e 63 6c 61 69 6d 0d 02 | 8a 14 53 54 4d 46 44 20 |.claim..|..STMFD |
|00000720| 72 31 33 21 2c 7b 72 31 | 34 7d 0d 02 94 43 4d 4f |r13!,{r1|4}...CMO|
|00000730| 56 20 72 36 2c 23 31 20 | 20 20 20 20 20 20 20 20 |V r6,#1 | |
|00000740| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00000750| 20 20 3b 73 65 74 20 66 | 6c 61 67 20 66 6f 72 20 | ;set f|lag for |
|00000760| 65 72 72 6f 72 20 72 6f | 75 74 69 6e 65 0d 02 9e |error ro|utine...|
|00000770| 0d 4d 4f 56 20 72 30 2c | 23 38 0d 02 a8 12 41 44 |.MOV r0,|#8....AD|
|00000780| 52 20 72 31 2c 66 69 6c | 65 76 65 63 0d 02 b2 10 |R r1,fil|evec....|
|00000790| 4c 44 52 20 72 32 2c 5b | 72 31 32 5d 0d 02 bc 48 |LDR r2,[|r12]...H|
|000007a0| 53 57 49 20 22 58 4f 53 | 5f 43 6c 61 69 6d 22 20 |SWI "XOS|_Claim" |
|000007b0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|000007c0| 20 20 20 20 3b 63 6c 61 | 69 6d 20 46 69 6c 65 56 | ;cla|im FileV|
|000007d0| 20 66 6f 72 20 66 69 6c | 65 76 65 63 20 72 6f 75 | for fil|evec rou|
|000007e0| 74 69 6e 65 0d 02 c6 0f | 4d 4f 56 56 53 20 72 36 |tine....|MOVVS r6|
|000007f0| 2c 23 30 0d 02 d0 10 4d | 4f 56 56 43 20 72 30 2c |,#0....M|OVVC r0,|
|00000800| 23 31 33 0d 02 da 14 41 | 44 52 56 43 20 72 31 2c |#13....A|DRVC r1,|
|00000810| 66 69 6e 64 76 65 63 0d | 02 e4 48 53 57 49 56 43 |findvec.|..HSWIVC|
|00000820| 20 22 58 4f 53 5f 43 6c | 61 69 6d 22 20 20 20 20 | "XOS_Cl|aim" |
|00000830| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 3b | | ;|
|00000840| 63 6c 61 69 6d 20 46 69 | 6e 64 56 20 66 6f 72 20 |claim Fi|ndV for |
|00000850| 66 69 6e 64 76 65 63 20 | 72 6f 75 74 69 6e 65 0d |findvec |routine.|
|00000860| 02 ee 13 4c 44 4d 46 44 | 20 72 31 33 21 2c 7b 70 |...LDMFD| r13!,{p|
|00000870| 63 7d 0d 02 f8 05 3a 0d | 03 02 0c 2e 72 65 6c 65 |c}....:.|....rele|
|00000880| 61 73 65 0d 03 0c 14 53 | 54 4d 46 44 20 72 31 33 |ase....S|TMFD r13|
|00000890| 21 2c 7b 72 31 34 7d 0d | 03 16 0d 4d 4f 56 20 72 |!,{r14}.|...MOV r|
|000008a0| 30 2c 23 38 0d 03 20 12 | 41 44 52 20 72 31 2c 66 |0,#8.. .|ADR r1,f|
|000008b0| 69 6c 65 76 65 63 0d 03 | 2a 10 4c 44 52 20 72 32 |ilevec..|*.LDR r2|
|000008c0| 2c 5b 72 31 32 5d 0d 03 | 34 36 53 57 49 20 22 58 |,[r12]..|46SWI "X|
|000008d0| 4f 53 5f 52 65 6c 65 61 | 73 65 22 20 20 20 20 20 |OS_Relea|se" |
|000008e0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 3b 72 | | ;r|
|000008f0| 65 6c 65 61 73 65 20 46 | 69 6c 65 56 0d 03 3e 0e |elease F|ileV..>.|
|00000900| 4d 4f 56 20 72 30 2c 23 | 31 33 0d 03 48 12 41 44 |MOV r0,#|13..H.AD|
|00000910| 52 20 72 31 2c 66 69 6e | 64 76 65 63 0d 03 52 36 |R r1,fin|dvec..R6|
|00000920| 53 57 49 20 22 58 4f 53 | 5f 52 65 6c 65 61 73 65 |SWI "XOS|_Release|
|00000930| 22 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |" | |
|00000940| 20 20 20 20 3b 72 65 6c | 65 61 73 65 20 46 69 6e | ;rel|ease Fin|
|00000950| 64 56 0d 03 5c 13 4c 44 | 4d 46 44 20 72 31 33 21 |dV..\.LD|MFD r13!|
|00000960| 2c 7b 70 63 7d 0d 03 66 | 05 3a 0d 03 70 46 2e 62 |,{pc}..f|.:..pF.b|
|00000970| 61 64 76 65 63 74 6f 72 | 20 20 20 20 20 20 20 20 |advector| |
|00000980| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00000990| 20 20 3b 72 65 70 6f 72 | 74 20 61 6e 79 20 65 72 | ;repor|t any er|
|000009a0| 72 6f 72 20 67 65 6e 65 | 72 61 74 65 64 20 62 79 |ror gene|rated by|
|000009b0| 0d 03 7a 35 20 20 20 20 | 20 20 20 20 20 20 20 20 |..z5 | |
|000009c0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|000009d0| 20 20 20 20 20 20 20 20 | 3b 76 65 63 74 6f 72 20 | |;vector |
|000009e0| 63 6c 61 69 6d 0d 03 84 | 45 4d 4f 56 20 72 35 2c |claim...|EMOV r5,|
|000009f0| 72 30 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |r0 | |
|00000a00| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 3b 70 72 | | ;pr|
|00000a10| 65 73 65 72 76 65 20 65 | 72 72 6f 72 20 62 6c 6f |eserve e|rror blo|
|00000a20| 63 6b 20 70 6f 69 6e 74 | 65 72 0d 03 8e 37 20 20 |ck point|er...7 |
|00000a30| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00000a40| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00000a50| 20 20 3b 72 65 74 75 72 | 6e 65 64 20 69 6e 20 52 | ;retur|ned in R|
|00000a60| 30 0d 03 98 10 4c 44 52 | 20 72 32 2c 5b 72 31 32 |0....LDR| r2,[r12|
|00000a70| 5d 0d 03 a2 35 43 4d 50 | 20 72 36 2c 23 31 20 20 |]...5CMP| r6,#1 |
|00000a80| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00000a90| 20 20 20 20 20 20 20 20 | 20 3b 69 73 20 66 6c 61 | | ;is fla|
|00000aa0| 67 20 73 65 74 3f 0d 03 | ac 0c ec 51 20 72 30 2c |g set?..|...Q r0,|
|00000ab0| 23 38 0d 03 b6 14 41 44 | 52 45 51 20 72 31 2c 66 |#8....AD|REQ r1,f|
|00000ac0| 69 6c 65 76 65 63 0d 03 | c0 3d 53 57 49 45 51 20 |ilevec..|.=SWIEQ |
|00000ad0| 22 58 4f 53 5f 52 65 6c | 65 61 73 65 22 20 20 20 |"XOS_Rel|ease" |
|00000ae0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 3b 69 | | ;i|
|00000af0| 66 20 73 6f 2c 20 72 65 | 6c 65 61 73 65 20 46 69 |f so, re|lease Fi|
|00000b00| 6c 65 56 0d 03 ca 0d 4d | 4f 56 20 72 30 2c 23 37 |leV....M|OV r0,#7|
|00000b10| 0d 03 d4 37 53 57 49 20 | 22 58 4f 53 5f 4d 6f 64 |...7SWI |"XOS_Mod|
|00000b20| 75 6c 65 22 20 20 20 20 | 20 20 20 20 20 20 20 20 |ule" | |
|00000b30| 20 20 20 20 20 20 20 20 | 3b 66 72 65 65 20 77 6f | |;free wo|
|00000b40| 72 6b 73 70 61 63 65 0d | 03 de 4a 4d 4f 56 20 72 |rkspace.|..JMOV r|
|00000b50| 30 2c 72 35 20 20 20 20 | 20 20 20 20 20 20 20 20 |0,r5 | |
|00000b60| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 3b | | ;|
|00000b70| 72 65 73 74 6f 72 65 20 | 65 72 72 6f 72 20 62 6c |restore |error bl|
|00000b80| 6f 63 6b 20 70 6f 69 6e | 74 65 72 20 74 6f 20 52 |ock poin|ter to R|
|00000b90| 30 0d 03 e8 14 4c 44 4d | 46 44 20 72 31 33 21 2c |0....LDM|FD r13!,|
|00000ba0| 7b 72 31 34 7d 0d 03 f2 | 3e 84 52 53 20 70 63 2c |{r14}...|>.RS pc,|
|00000bb0| 72 31 34 2c 23 31 3c 3c | 32 38 20 20 20 20 20 20 |r14,#1<<|28 |
|00000bc0| 20 20 20 20 20 20 20 20 | 20 20 20 20 3b 72 65 74 | | ;ret|
|00000bd0| 75 72 6e 20 77 69 74 68 | 20 56 20 66 6c 61 67 20 |urn with| V flag |
|00000be0| 73 65 74 0d 03 fc 05 3a | 0d 04 06 0c 2e 66 69 6e |set....:|.....fin|
|00000bf0| 64 76 65 63 0d 04 10 43 | 54 53 54 20 72 30 2c 23 |dvec...C|TST r0,#|
|00000c00| 26 38 30 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |&80 | |
|00000c10| 20 20 20 20 20 20 20 20 | 20 20 20 20 3b 69 73 20 | | ;is |
|00000c20| 74 68 69 73 20 61 20 77 | 72 69 74 65 20 6f 70 65 |this a w|rite ope|
|00000c30| 72 61 74 69 6f 6e 3f 0d | 04 1a 33 ec 51 53 20 70 |ration?.|..3.QS p|
|00000c40| 63 2c 72 31 34 20 20 20 | 20 20 20 20 20 20 20 20 |c,r14 | |
|00000c50| 20 20 20 20 20 20 20 20 | 20 20 20 20 3b 72 65 74 | | ;ret|
|00000c60| 75 72 6e 20 69 66 20 6e | 6f 74 0d 04 24 1b 53 54 |urn if n|ot..$.ST|
|00000c70| 4d 46 44 20 72 31 33 21 | 2c 7b 72 30 2d 72 31 31 |MFD r13!|,{r0-r11|
|00000c80| 2c 72 31 34 7d 0d 04 2e | 33 53 57 49 20 22 58 4f |,r14}...|3SWI "XO|
|00000c90| 53 5f 52 65 61 64 4d 6f | 6e 6f 74 6f 6e 69 63 54 |S_ReadMo|notonicT|
|00000ca0| 69 6d 65 22 20 20 20 20 | 20 20 20 20 20 3b 72 65 |ime" | ;re|
|00000cb0| 61 64 20 63 6c 6f 63 6b | 0d 04 38 15 4c 44 52 20 |ad clock|..8.LDR |
|00000cc0| 72 33 2c 5b 72 31 32 2c | 23 35 33 32 5d 0d 04 42 |r3,[r12,|#532]..B|
|00000cd0| 48 53 55 42 20 72 30 2c | 72 30 2c 72 33 20 20 20 |HSUB r0,|r0,r3 |
|00000ce0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00000cf0| 20 20 20 20 20 3b 73 75 | 62 74 72 61 63 74 20 70 | ;su|btract p|
|00000d00| 72 65 76 69 6f 75 73 20 | 63 6c 6f 63 6b 20 72 65 |revious |clock re|
|00000d10| 61 64 69 6e 67 0d 04 4c | 0f 43 4d 50 20 72 30 2c |ading..L|.CMP r0,|
|00000d20| 23 32 30 30 0d 04 56 4a | 42 47 54 20 74 72 61 6e |#200..VJ|BGT tran|
|00000d30| 73 66 65 72 20 20 20 20 | 20 20 20 20 20 20 20 20 |sfer | |
|00000d40| 20 20 20 20 20 20 20 20 | 20 20 20 20 3b 69 66 20 | | ;if |
|00000d50| 67 72 65 61 74 65 72 20 | 74 68 61 6e 20 32 30 30 |greater |than 200|
|00000d60| 20 63 65 6e 74 69 73 65 | 63 6f 6e 64 73 2c 0d 04 | centise|conds,..|
|00000d70| 60 46 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |`F | |
|00000d80| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00000d90| 20 20 20 20 20 20 3b 4f | 4b 20 74 6f 20 70 72 6f | ;O|K to pro|
|00000da0| 63 65 65 64 20 77 69 74 | 68 20 73 6d 61 72 74 20 |ceed wit|h smart |
|00000db0| 73 61 76 65 0d 04 6a 1b | 4c 44 4d 46 44 20 72 31 |save..j.|LDMFD r1|
|00000dc0| 33 21 2c 7b 72 30 2d 72 | 31 31 2c 70 63 7d 5e 0d |3!,{r0-r|11,pc}^.|
|00000dd0| 04 74 05 3a 0d 04 7e 0c | 2e 66 69 6c 65 76 65 63 |.t.:..~.|.filevec|
|00000de0| 0d 04 88 0d 43 4d 50 20 | 72 30 2c 23 30 0d 04 92 |....CMP |r0,#0...|
|00000df0| 0f 43 4d 50 4e 45 20 72 | 30 2c 23 36 0d 04 9c 0f |.CMPNE r|0,#6....|
|00000e00| 43 4d 50 4e 45 20 72 30 | 2c 23 37 0d 04 a6 10 43 |CMPNE r0|,#7....C|
|00000e10| 4d 50 4e 45 20 72 30 2c | 23 31 30 0d 04 b0 4d 43 |MPNE r0,|#10...MC|
|00000e20| 4d 50 4e 45 20 72 30 2c | 23 31 31 20 20 20 20 20 |MPNE r0,|#11 |
|00000e30| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00000e40| 20 20 20 3b 69 73 20 4f | 53 5f 46 69 6c 65 20 6f | ;is O|S_File o|
|00000e50| 70 65 72 61 74 69 6f 6e | 20 30 2c 36 2c 37 2c 31 |peration| 0,6,7,1|
|00000e60| 30 20 6f 72 20 31 31 3f | 0d 04 ba 36 4d 4f 56 4e |0 or 11?|...6MOVN|
|00000e70| 45 53 20 70 63 2c 72 31 | 34 20 20 20 20 20 20 20 |ES pc,r1|4 |
|00000e80| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00000e90| 3b 72 65 74 75 72 6e 20 | 69 66 20 6e 6f 74 0d 04 |;return |if not..|
|00000ea0| c4 1b 53 54 4d 46 44 20 | 72 31 33 21 2c 7b 72 30 |..STMFD |r13!,{r0|
|00000eb0| 2d 72 31 31 2c 72 31 34 | 7d 0d 04 ce 33 53 57 49 |-r11,r14|}...3SWI|
|00000ec0| 20 22 58 4f 53 5f 52 65 | 61 64 4d 6f 6e 6f 74 6f | "XOS_Re|adMonoto|
|00000ed0| 6e 69 63 54 69 6d 65 22 | 20 20 20 20 20 20 20 20 |nicTime"| |
|00000ee0| 20 3b 72 65 61 64 20 63 | 6c 6f 63 6b 0d 04 d8 4d | ;read c|lock...M|
|00000ef0| 53 54 52 20 72 30 2c 5b | 72 31 32 2c 23 35 33 32 |STR r0,[|r12,#532|
|00000f00| 5d 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |] | |
|00000f10| 20 20 20 20 3b 73 74 6f | 72 65 20 63 6c 6f 63 6b | ;sto|re clock|
|00000f20| 20 72 65 61 64 69 6e 67 | 20 69 6e 20 77 6f 72 6b | reading| in work|
|00000f30| 73 70 61 63 65 2b 35 33 | 32 0d 04 e2 05 3a 0d 04 |space+53|2....:..|
|00000f40| ec 0d 2e 74 72 61 6e 73 | 66 65 72 0d 04 f6 3f 4d |...trans|fer...?M|
|00000f50| 4f 56 20 72 32 2c 72 31 | 32 20 20 20 20 20 20 20 |OV r2,r1|2 |
|00000f60| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00000f70| 20 20 20 3b 52 32 20 70 | 6f 69 6e 74 73 20 74 6f | ;R2 p|oints to|
|00000f80| 20 77 6f 72 6b 73 70 61 | 63 65 0d 05 00 05 3a 0d | workspa|ce....:.|
|00000f90| 05 0a 0c 2e 74 66 72 6c | 6f 6f 70 0d 05 14 4e 4c |....tfrl|oop...NL|
|00000fa0| 44 52 42 20 72 30 2c 5b | 72 31 5d 2c 23 31 20 20 |DRB r0,[|r1],#1 |
|00000fb0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00000fc0| 20 20 20 3b 74 61 6b 65 | 20 70 61 74 68 6e 61 6d | ;take| pathnam|
|00000fd0| 65 20 66 72 6f 6d 20 52 | 31 20 69 6e 20 4f 53 5f |e from R|1 in OS_|
|00000fe0| 46 69 6c 65 20 63 61 6c | 6c 0d 05 1e 3e 53 54 52 |File cal|l...>STR|
|00000ff0| 42 20 72 30 2c 5b 72 32 | 5d 2c 23 31 20 20 20 20 |B r0,[r2|],#1 |
|00001000| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00001010| 20 3b 73 74 6f 72 65 20 | 69 74 20 69 6e 20 77 6f | ;store |it in wo|
|00001020| 72 6b 73 70 61 63 65 0d | 05 28 0e 43 4d 50 20 72 |rkspace.|.(.CMP r|
|00001030| 30 2c 23 33 32 0d 05 32 | 0f 42 47 45 20 74 66 72 |0,#32..2|.BGE tfr|
|00001040| 6c 6f 6f 70 0d 05 3c 0e | 4d 4f 56 20 72 31 2c 72 |loop..<.|MOV r1,r|
|00001050| 31 32 0d 05 46 0d 4d 4f | 56 20 72 30 2c 23 35 0d |12..F.MO|V r0,#5.|
|00001060| 05 50 45 53 57 49 20 22 | 58 4f 53 5f 46 69 6c 65 |.PESWI "|XOS_File|
|00001070| 22 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |" | |
|00001080| 20 20 20 20 20 20 20 3b | 72 65 61 64 20 63 61 74 | ;|read cat|
|00001090| 61 6c 6f 67 75 65 20 69 | 6e 66 6f 20 66 6f 72 20 |alogue i|nfo for |
|000010a0| 66 69 6c 65 0d 05 5a 3c | 43 4d 50 20 72 30 2c 23 |file..Z<|CMP r0,#|
|000010b0| 30 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |0 | |
|000010c0| 20 20 20 20 20 20 20 20 | 20 20 20 20 3b 69 73 20 | | ;is |
|000010d0| 69 74 20 6e 6f 6e 2d 65 | 78 69 73 74 65 6e 74 3f |it non-e|xistent?|
|000010e0| 0d 05 64 3d 43 4d 50 4e | 45 20 72 34 2c 23 30 20 |..d=CMPN|E r4,#0 |
|000010f0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00001100| 20 20 20 20 20 20 20 20 | 3b 69 73 20 66 69 6c 65 | |;is file|
|00001110| 20 6c 65 6e 67 74 68 20 | 7a 65 72 6f 3f 0d 05 6e | length |zero?..n|
|00001120| 46 4c 44 4d 45 51 46 44 | 20 72 31 33 21 2c 7b 72 |FLDMEQFD| r13!,{r|
|00001130| 30 2d 72 31 31 2c 70 63 | 7d 5e 20 20 20 20 20 20 |0-r11,pc|}^ |
|00001140| 20 20 20 20 20 3b 69 66 | 20 73 6f 2c 20 6e 6f 20 | ;if| so, no |
|00001150| 6e 65 65 64 20 66 6f 72 | 20 73 6d 61 72 74 20 73 |need for| smart s|
|00001160| 61 76 65 0d 05 78 46 4c | 44 52 20 72 30 2c 63 6f |ave..xFL|DR r0,co|
|00001170| 6e 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |n | |
|00001180| 20 20 20 20 20 20 20 20 | 20 20 20 3b 6c 6f 61 64 | | ;load|
|00001190| 20 73 74 61 72 74 69 6e | 67 20 63 6f 6e 73 74 61 | startin|g consta|
|000011a0| 6e 74 20 28 22 30 30 22 | 29 0d 05 82 3f 53 54 52 |nt ("00"|)...?STR|
|000011b0| 20 72 30 2c 5b 72 31 32 | 2c 23 35 32 38 5d 20 20 | r0,[r12|,#528] |
|000011c0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|000011d0| 20 3b 73 74 6f 72 65 20 | 69 6e 20 77 6f 72 6b 73 | ;store |in works|
|000011e0| 70 61 63 65 2b 35 32 38 | 0d 05 8c 43 41 44 44 20 |pace+528|...CADD |
|000011f0| 72 32 2c 72 31 32 2c 23 | 32 35 36 20 20 20 20 20 |r2,r12,#|256 |
|00001200| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00001210| 3b 52 32 20 70 6f 69 6e | 74 73 20 74 6f 20 77 6f |;R2 poin|ts to wo|
|00001220| 72 6b 73 70 61 63 65 2b | 32 35 36 0d 05 96 05 3a |rkspace+|256....:|
|00001230| 0d 05 a0 0c 2e 67 65 74 | 66 69 6c 65 0d 05 aa 13 |.....get|file....|
|00001240| 4c 44 52 42 20 72 30 2c | 5b 72 31 5d 2c 23 31 0d |LDRB r0,|[r1],#1.|
|00001250| 05 b4 0e 43 4d 50 20 72 | 30 2c 23 33 32 0d 05 be |...CMP r|0,#32...|
|00001260| 48 53 54 52 47 45 42 20 | 72 30 2c 5b 72 32 5d 2c |HSTRGEB |r0,[r2],|
|00001270| 23 31 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |#1 | |
|00001280| 20 20 20 20 20 3b 63 6f | 70 79 20 70 61 74 68 6e | ;co|py pathn|
|00001290| 61 6d 65 20 66 72 6f 6d | 20 77 6f 72 6b 73 70 61 |ame from| workspa|
|000012a0| 63 65 20 74 6f 0d 05 c8 | 36 20 20 20 20 20 20 20 |ce to...|6 |
|000012b0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|000012c0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 3b 77 6f | | ;wo|
|000012d0| 72 6b 73 70 61 63 65 2b | 32 35 36 0d 05 d2 0f 42 |rkspace+|256....B|
|000012e0| 47 45 20 67 65 74 66 69 | 6c 65 0d 05 dc 42 4d 4f |GE getfi|le...BMO|
|000012f0| 56 20 72 31 30 2c 72 32 | 20 20 20 20 20 20 20 20 |V r10,r2| |
|00001300| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00001310| 20 20 3b 52 31 30 20 70 | 6f 69 6e 74 73 20 74 6f | ;R10 p|oints to|
|00001320| 20 65 6e 64 20 6f 66 20 | 6e 61 6d 65 0d 05 e6 49 | end of |name...I|
|00001330| 41 44 44 20 72 39 2c 72 | 31 32 2c 23 32 35 35 20 |ADD r9,r|12,#255 |
|00001340| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00001350| 20 20 20 20 3b 52 39 20 | 70 6f 69 6e 74 73 20 74 | ;R9 |points t|
|00001360| 6f 20 62 65 67 69 6e 6e | 69 6e 67 20 6f 66 20 63 |o beginn|ing of c|
|00001370| 6f 70 69 65 64 0d 05 f0 | 35 20 20 20 20 20 20 20 |opied...|5 |
|00001380| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00001390| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 3b 6e 61 | | ;na|
|000013a0| 6d 65 20 6d 69 6e 75 73 | 20 31 0d 05 fa 05 3a 0d |me minus| 1....:.|
|000013b0| 06 04 0c 2e 67 65 74 70 | 61 74 68 0d 06 0e 4a 4c |....getp|ath...JL|
|000013c0| 44 52 42 20 72 30 2c 5b | 72 32 2c 23 2d 31 5d 21 |DRB r0,[|r2,#-1]!|
|000013d0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|000013e0| 20 20 20 3b 67 65 74 20 | 63 68 61 72 73 20 66 72 | ;get |chars fr|
|000013f0| 6f 6d 20 6e 61 6d 65 2c | 20 72 65 61 64 69 6e 67 |om name,| reading|
|00001400| 20 62 61 63 6b 0d 06 18 | 31 20 20 20 20 20 20 20 | back...|1 |
|00001410| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00001420| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 3b 66 72 | | ;fr|
|00001430| 6f 6d 20 65 6e 64 0d 06 | 22 39 43 4d 50 20 72 30 |om end..|"9CMP r0|
|00001440| 2c 23 34 36 20 20 20 20 | 20 20 20 20 20 20 20 20 |,#46 | |
|00001450| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 3b 69 | | ;i|
|00001460| 73 20 69 74 20 66 75 6c | 6c 20 73 74 6f 70 3f 0d |s it ful|l stop?.|
|00001470| 06 2c 47 43 4d 50 4e 45 | 20 72 32 2c 72 39 20 20 |.,GCMPNE| r2,r9 |
|00001480| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00001490| 20 20 20 20 20 20 20 3b | 68 61 76 65 20 77 65 20 | ;|have we |
|000014a0| 72 65 61 63 68 65 64 20 | 73 74 61 72 74 20 6f 66 |reached |start of|
|000014b0| 20 6e 61 6d 65 3f 0d 06 | 36 38 42 4e 45 20 67 65 | name?..|68BNE ge|
|000014c0| 74 70 61 74 68 20 20 20 | 20 20 20 20 20 20 20 20 |tpath | |
|000014d0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 3b 63 | | ;c|
|000014e0| 61 72 72 79 20 6f 6e 20 | 69 66 20 6e 6f 74 0d 06 |arry on |if not..|
|000014f0| 40 4a 43 4d 50 20 72 32 | 2c 72 39 20 20 20 20 20 |@JCMP r2|,r9 |
|00001500| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00001510| 20 20 20 20 20 20 3b 69 | 73 20 74 68 65 72 65 20 | ;i|s there |
|00001520| 61 20 66 75 6c 6c 20 73 | 74 6f 70 20 69 6e 20 70 |a full s|top in p|
|00001530| 61 74 68 6e 61 6d 65 3f | 0d 06 4a 0f 4d 4f 56 4e |athname?|..J.MOVN|
|00001540| 45 20 72 30 2c 23 30 0d | 06 54 46 53 54 52 4e 45 |E r0,#0.|.TFSTRNE|
|00001550| 42 20 72 30 2c 5b 72 32 | 5d 20 20 20 20 20 20 20 |B r0,[r2|] |
|00001560| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 3b | | ;|
|00001570| 69 66 20 73 6f 2c 20 72 | 65 70 6c 61 63 65 20 66 |if so, r|eplace f|
|00001580| 75 6c 6c 20 73 74 6f 70 | 20 77 69 74 68 0d 06 5e |ull stop| with..^|
|00001590| 4d 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |M | |
|000015a0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|000015b0| 20 20 20 20 20 3b 74 65 | 72 6d 69 6e 61 74 6f 72 | ;te|rminator|
|000015c0| 20 28 74 6f 20 73 70 6c | 69 74 20 70 61 74 68 20 | (to spl|it path |
|000015d0| 66 72 6f 6d 20 6c 65 61 | 66 29 0d 06 68 40 41 44 |from lea|f)..h@AD|
|000015e0| 44 4e 45 20 72 31 2c 72 | 31 32 2c 23 32 35 36 20 |DNE r1,r|12,#256 |
|000015f0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00001600| 20 20 3b 69 66 20 73 6f | 2c 20 70 6f 69 6e 74 20 | ;if so|, point |
|00001610| 52 31 20 61 74 20 70 61 | 74 68 0d 06 72 41 41 44 |R1 at pa|th..rAAD|
|00001620| 52 45 51 20 72 31 2c 63 | 6f 6e 2b 34 20 20 20 20 |REQ r1,c|on+4 |
|00001630| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00001640| 20 20 3b 69 66 20 6e 6f | 74 2c 20 70 6f 69 6e 74 | ;if no|t, point|
|00001650| 20 52 31 20 61 74 20 7a | 65 72 6f 0d 06 7c 3f 4d | R1 at z|ero..|?M|
|00001660| 4f 56 4e 45 20 72 31 31 | 2c 23 31 20 20 20 20 20 |OVNE r11|,#1 |
|00001670| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00001680| 20 20 20 3b 69 66 20 73 | 6f 2c 20 73 65 74 20 66 | ;if s|o, set f|
|00001690| 6c 61 67 20 69 6e 20 52 | 31 31 0d 06 86 3f ec 51 |lag in R|11...?.Q|
|000016a0| 20 72 31 31 2c 23 30 20 | 20 20 20 20 20 20 20 20 | r11,#0 | |
|000016b0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 3b | | ;|
|000016c0| 69 66 20 6e 6f 74 2c 20 | 75 6e 73 65 74 20 66 6c |if not, |unset fl|
|000016d0| 61 67 20 69 6e 20 52 31 | 31 0d 06 90 42 41 44 44 |ag in R1|1...BADD|
|000016e0| 20 72 36 2c 72 32 2c 23 | 31 20 20 20 20 20 20 20 | r6,r2,#|1 |
|000016f0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00001700| 20 3b 70 6f 69 6e 74 20 | 52 36 20 61 74 20 73 74 | ;point |R6 at st|
|00001710| 61 72 74 20 6f 66 20 6c | 65 61 66 0d 06 9a 40 53 |art of l|eaf...@S|
|00001720| 55 42 20 72 38 2c 72 31 | 30 2c 72 36 20 20 20 20 |UB r8,r1|0,r6 |
|00001730| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00001740| 20 20 20 3b 52 38 20 68 | 6f 6c 64 73 20 6c 65 6e | ;R8 h|olds len|
|00001750| 67 74 68 20 6f 66 20 6c | 65 61 66 0d 06 a4 05 3a |gth of l|eaf....:|
|00001760| 0d 06 ae 0d 2e 63 68 65 | 63 6b 6c 65 6e 0d 06 b8 |.....che|cklen...|
|00001770| 2b 52 53 42 20 72 30 2c | 72 38 2c 23 31 30 20 20 |+RSB r0,|r8,#10 |
|00001780| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00001790| 20 20 20 20 20 3b 20 29 | 0d 06 c2 41 43 4d 50 20 | ; )|...ACMP |
|000017a0| 72 30 2c 23 32 20 20 20 | 20 20 20 20 20 20 20 20 |r0,#2 | |
|000017b0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|000017c0| 3b 20 29 63 68 65 63 6b | 20 6c 65 6e 67 74 68 20 |; )check| length |
|000017d0| 6f 66 20 6c 65 61 66 20 | 2d 0d 06 cc 49 53 55 42 |of leaf |-...ISUB|
|000017e0| 4c 54 20 72 31 30 2c 72 | 31 30 2c 23 31 20 20 20 |LT r10,r|10,#1 |
|000017f0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00001800| 20 3b 20 29 69 66 20 67 | 72 65 61 74 65 72 20 74 | ; )if g|reater t|
|00001810| 68 61 6e 20 38 2c 20 72 | 65 64 75 63 65 20 74 6f |han 8, r|educe to|
|00001820| 20 38 0d 06 d6 4a 53 55 | 42 4c 54 20 72 38 2c 72 | 8...JSU|BLT r8,r|
|00001830| 38 2c 23 31 20 20 20 20 | 20 20 20 20 20 20 20 20 |8,#1 | |
|00001840| 20 20 20 20 20 20 20 20 | 20 20 3b 20 29 74 6f 20 | | ; )to |
|00001850| 61 6c 6c 6f 77 20 66 6f | 72 20 32 2d 63 68 61 72 |allow fo|r 2-char|
|00001860| 61 63 74 65 72 20 73 75 | 66 66 69 78 0d 06 e0 2b |acter su|ffix...+|
|00001870| 42 4c 54 20 63 68 65 63 | 6b 6c 65 6e 20 20 20 20 |BLT chec|klen |
|00001880| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00001890| 20 20 20 20 3b 20 29 0d | 06 ea 0e 4d 4f 56 20 72 | ; ).|...MOV r|
|000018a0| 30 2c 23 34 32 0d 06 f4 | 48 53 54 52 42 20 72 30 |0,#42...|HSTRB r0|
|000018b0| 2c 5b 72 31 30 5d 20 20 | 20 20 20 20 20 20 20 20 |,[r10] | |
|000018c0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 3b 61 64 | | ;ad|
|000018d0| 64 20 77 69 6c 64 63 61 | 72 64 20 74 6f 20 65 6e |d wildca|rd to en|
|000018e0| 64 20 6f 66 20 6c 65 61 | 66 6e 61 6d 65 0d 06 fe |d of lea|fname...|
|000018f0| 0d 4d 4f 56 20 72 30 2c | 23 30 0d 07 08 46 53 54 |.MOV r0,|#0...FST|
|00001900| 52 42 20 72 30 2c 5b 72 | 31 30 2c 23 31 5d 20 20 |RB r0,[r|10,#1] |
|00001910| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00001920| 20 20 3b 61 64 64 20 74 | 65 72 6d 69 6e 61 74 6f | ;add t|erminato|
|00001930| 72 20 61 66 74 65 72 20 | 77 69 6c 64 63 61 72 64 |r after |wildcard|
|00001940| 0d 07 12 46 41 44 44 20 | 72 32 2c 72 31 32 2c 23 |...FADD |r2,r12,#|
|00001950| 35 31 32 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |512 | |
|00001960| 20 20 20 20 20 20 20 20 | 3b 73 65 74 20 75 70 20 | |;set up |
|00001970| 70 61 72 61 6d 65 74 65 | 72 73 20 66 6f 72 20 4f |paramete|rs for O|
|00001980| 53 5f 47 42 50 42 0d 07 | 1c 4e 41 44 44 20 72 37 |S_GBPB..|.NADD r7|
|00001990| 2c 72 32 2c 72 38 20 20 | 20 20 20 20 20 20 20 20 |,r2,r8 | |
|000019a0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 3b 52 | | ;R|
|000019b0| 37 20 70 6f 69 6e 74 73 | 20 74 6f 20 65 6e 64 20 |7 points| to end |
|000019c0| 6f 66 20 6f 72 69 67 69 | 6e 61 6c 20 6c 65 61 66 |of origi|nal leaf|
|000019d0| 6e 61 6d 65 0d 07 26 0e | 4d 4f 56 20 72 35 2c 23 |name..&.|MOV r5,#|
|000019e0| 31 36 0d 07 30 0d 4d 4f | 56 20 72 34 2c 23 30 0d |16..0.MO|V r4,#0.|
|000019f0| 07 3a 05 3a 0d 07 44 08 | 2e 63 61 74 0d 07 4e 0d |.:.:..D.|.cat..N.|
|00001a00| 43 4d 4e 20 72 34 2c 23 | 31 0d 07 58 4c 42 45 51 |CMN r4,#|1..XLBEQ|
|00001a10| 20 63 6f 70 79 20 20 20 | 20 20 20 20 20 20 20 20 | copy | |
|00001a20| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00001a30| 20 3b 63 61 74 61 6c 6f | 67 75 65 20 72 65 61 64 | ;catalo|gue read|
|00001a40| 69 6e 67 20 66 69 6e 69 | 73 68 65 64 20 69 66 20 |ing fini|shed if |
|00001a50| 52 34 3d 2d 31 0d 07 62 | 0d 4d 4f 56 20 72 30 2c |R4=-1..b|.MOV r0,|
|00001a60| 23 39 0d 07 6c 0d 4d 4f | 56 20 72 33 2c 23 31 0d |#9..l.MO|V r3,#1.|
|00001a70| 07 76 41 53 57 49 20 22 | 58 4f 53 5f 47 42 50 42 |.vASWI "|XOS_GBPB|
|00001a80| 22 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |" | |
|00001a90| 20 20 20 20 20 20 20 3b | 72 65 61 64 20 69 74 65 | ;|read ite|
|00001aa0| 6d 20 66 72 6f 6d 20 63 | 61 74 61 6c 6f 67 75 65 |m from c|atalogue|
|00001ab0| 0d 07 80 0d 43 4d 50 20 | 72 33 2c 23 30 0d 07 8a |....CMP |r3,#0...|
|00001ac0| 0b 42 45 51 20 63 61 74 | 0d 07 94 4c 4c 44 52 42 |.BEQ cat|...LLDRB|
|00001ad0| 20 72 30 2c 5b 72 37 5d | 20 20 20 20 20 20 20 20 | r0,[r7]| |
|00001ae0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00001af0| 3b 72 65 61 64 20 31 73 | 74 20 63 68 61 72 20 61 |;read 1s|t char a|
|00001b00| 66 74 65 72 20 65 6e 64 | 20 6f 66 20 6f 72 69 67 |fter end| of orig|
|00001b10| 69 6e 61 6c 0d 07 9e 31 | 20 20 20 20 20 20 20 20 |inal...1| |
|00001b20| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00001b30| 20 20 20 20 20 20 20 20 | 20 20 20 20 3b 6c 65 61 | | ;lea|
|00001b40| 66 6e 61 6d 65 0d 07 a8 | 0e 43 4d 50 20 72 30 2c |fname...|.CMP r0,|
|00001b50| 23 34 38 0d 07 b2 0b 42 | 4c 54 20 63 61 74 0d 07 |#48....B|LT cat..|
|00001b60| bc 0e 43 4d 50 20 72 30 | 2c 23 35 37 0d 07 c6 4c |..CMP r0|,#57...L|
|00001b70| 42 47 54 20 63 61 74 20 | 20 20 20 20 20 20 20 20 |BGT cat | |
|00001b80| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00001b90| 20 20 20 20 3b 69 66 20 | 6c 65 73 73 20 74 68 61 | ;if |less tha|
|00001ba0| 6e 20 34 38 20 6f 72 20 | 67 72 65 61 74 65 72 20 |n 48 or |greater |
|00001bb0| 74 68 61 6e 20 35 37 2c | 0d 07 d0 42 20 20 20 20 |than 57,|...B |
|00001bc0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00001bd0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00001be0| 3b 6e 6f 20 73 75 66 66 | 69 78 20 68 61 73 20 62 |;no suff|ix has b|
|00001bf0| 65 65 6e 20 61 64 64 65 | 64 2c 0d 07 da 45 20 20 |een adde|d,...E |
|00001c00| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00001c10| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00001c20| 20 20 3b 73 6f 20 72 65 | 61 64 20 6e 65 78 74 20 | ;so re|ad next |
|00001c30| 63 61 74 61 6c 6f 67 75 | 65 20 69 74 65 6d 2e 0d |catalogu|e item..|
|00001c40| 07 e4 4a 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |..J | |
|00001c50| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00001c60| 20 20 20 20 20 20 20 3b | 69 66 20 63 68 61 72 61 | ;|if chara|
|00001c70| 63 74 65 72 20 69 73 20 | 6e 75 6d 65 72 69 63 2c |cter is |numeric,|
|00001c80| 20 68 6f 77 65 76 65 72 | 2c 0d 07 ee 31 20 20 20 | however|,...1 |
|00001c90| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00001ca0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00001cb0| 20 3b 74 68 65 6e 2e 2e | 2e 2e 0d 07 f8 05 20 0d | ;then..|...... .|
|00001cc0| 08 02 2b 4c 44 52 42 20 | 72 39 2c 5b 72 31 32 2c |..+LDRB |r9,[r12,|
|00001cd0| 23 35 32 38 5d 20 20 20 | 20 20 20 20 20 20 20 20 |#528] | |
|00001ce0| 20 20 20 20 20 20 20 3b | 20 29 0d 08 0c 2b 43 4d | ;| )...+CM|
|00001cf0| 50 20 72 30 2c 72 39 20 | 20 20 20 20 20 20 20 20 |P r0,r9 | |
|00001d00| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00001d10| 20 20 3b 20 29 0d 08 16 | 2b 42 4c 54 20 63 61 74 | ; )...|+BLT cat|
|00001d20| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00001d30| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 3b 20 29 | | ; )|
|00001d40| 0d 08 20 49 42 47 45 20 | 75 70 64 61 74 65 20 20 |.. IBGE |update |
|00001d50| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00001d60| 20 20 20 20 20 20 20 20 | 3b 20 29 63 6f 6d 70 61 | |; )compa|
|00001d70| 72 65 20 73 75 66 66 69 | 78 20 63 68 61 72 61 63 |re suffi|x charac|
|00001d80| 74 65 72 73 20 77 69 74 | 68 0d 08 2a 48 4c 44 52 |ters wit|h..*HLDR|
|00001d90| 42 20 72 30 2c 5b 72 37 | 2c 23 31 5d 20 20 20 20 |B r0,[r7|,#1] |
|00001da0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00001db0| 20 3b 20 29 74 68 6f 73 | 65 20 73 74 6f 72 65 64 | ; )thos|e stored|
|00001dc0| 20 69 6e 20 77 6f 72 6b | 73 70 61 63 65 2b 35 32 | in work|space+52|
|00001dd0| 38 0d 08 34 2b 4c 44 52 | 42 20 72 39 2c 5b 72 31 |8..4+LDR|B r9,[r1|
|00001de0| 32 2c 23 35 32 39 5d 20 | 20 20 20 20 20 20 20 20 |2,#529] | |
|00001df0| 20 20 20 20 20 20 20 20 | 20 3b 20 29 0d 08 3e 2b | | ; )..>+|
|00001e00| 43 4d 50 20 72 30 2c 72 | 39 20 20 20 20 20 20 20 |CMP r0,r|9 |
|00001e10| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00001e20| 20 20 20 20 3b 20 29 0d | 08 48 2b 42 4c 45 20 63 | ; ).|.H+BLE c|
|00001e30| 61 74 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |at | |
|00001e40| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 3b | | ;|
|00001e50| 20 29 0d 08 52 05 3a 0d | 08 5c 0b 2e 75 70 64 61 | )..R.:.|.\..upda|
|00001e60| 74 65 0d 08 66 2b 4c 44 | 52 42 20 72 30 2c 5b 72 |te..f+LD|RB r0,[r|
|00001e70| 37 5d 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |7] | |
|00001e80| 20 20 20 20 20 20 20 20 | 20 20 3b 20 29 0d 08 70 | | ; )..p|
|00001e90| 43 53 54 52 42 20 72 30 | 2c 5b 72 31 32 2c 23 35 |CSTRB r0|,[r12,#5|
|00001ea0| 32 38 5d 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |28] | |
|00001eb0| 20 20 20 20 20 3b 20 29 | 75 70 64 61 74 65 20 73 | ; )|update s|
|00001ec0| 74 6f 72 65 64 20 63 68 | 61 72 61 63 74 65 72 73 |tored ch|aracters|
|00001ed0| 0d 08 7a 3f 4c 44 52 42 | 20 72 30 2c 5b 72 37 2c |..z?LDRB| r0,[r7,|
|00001ee0| 23 31 5d 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |#1] | |
|00001ef0| 20 20 20 20 20 20 20 20 | 3b 20 29 69 66 20 73 75 | |; )if su|
|00001f00| 66 66 69 78 20 69 73 20 | 67 72 65 61 74 65 72 0d |ffix is |greater.|
|00001f10| 08 84 2b 53 54 52 42 20 | 72 30 2c 5b 72 31 32 2c |..+STRB |r0,[r12,|
|00001f20| 23 35 32 39 5d 20 20 20 | 20 20 20 20 20 20 20 20 |#529] | |
|00001f30| 20 20 20 20 20 20 20 3b | 20 29 0d 08 8e 09 42 20 | ;| )....B |
|00001f40| 63 61 74 0d 08 98 4b 20 | 20 20 20 20 20 20 20 20 |cat...K | |
|00001f50| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00001f60| 20 20 20 20 20 20 20 20 | 20 20 20 3b 69 6e 20 6f | | ;in o|
|00001f70| 74 68 65 72 20 77 6f 72 | 64 73 2c 20 74 68 65 20 |ther wor|ds, the |
|00001f80| 70 75 72 70 6f 73 65 20 | 6f 66 20 74 68 65 0d 08 |purpose |of the..|
|00001f90| a2 4e 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |.N | |
|00001fa0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00001fb0| 20 20 20 20 20 20 3b 70 | 72 65 76 69 6f 75 73 20 | ;p|revious |
|00001fc0| 73 65 63 74 69 6f 6e 20 | 69 73 20 74 6f 20 72 65 |section |is to re|
|00001fd0| 61 64 20 66 69 6c 65 6e | 61 6d 65 73 0d 08 ac 47 |ad filen|ames...G|
|00001fe0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00001ff0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00002000| 20 20 20 20 3b 66 72 6f | 6d 20 74 68 65 20 70 61 | ;fro|m the pa|
|00002010| 74 68 20 70 6f 69 6e 74 | 65 64 20 74 6f 20 69 6e |th point|ed to in|
|00002020| 20 52 31 0d 08 b6 4a 20 | 20 20 20 20 20 20 20 20 | R1...J | |
|00002030| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00002040| 20 20 20 20 20 20 20 20 | 20 20 20 3b 75 6e 74 69 | | ;unti|
|00002050| 6c 20 74 68 65 20 68 69 | 67 68 65 73 74 20 65 78 |l the hi|ghest ex|
|00002060| 69 73 74 69 6e 67 20 73 | 75 66 66 69 78 0d 08 c0 |isting s|uffix...|
|00002070| 49 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |I | |
|00002080| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00002090| 20 20 20 20 20 3b 69 73 | 20 66 6f 75 6e 64 2e 20 | ;is| found. |
|000020a0| 54 68 69 73 20 77 69 6c | 6c 20 74 68 65 6e 20 62 |This wil|l then b|
|000020b0| 65 20 68 65 6c 64 0d 08 | ca 39 20 20 20 20 20 20 |e held..|.9 |
|000020c0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|000020d0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 3b 69 | | ;i|
|000020e0| 6e 20 77 6f 72 6b 73 70 | 61 63 65 2b 35 32 38 0d |n worksp|ace+528.|
|000020f0| 08 d4 05 3a 0d 08 de 09 | 2e 63 6f 70 79 0d 08 e8 |...:....|.copy...|
|00002100| 2b 4c 44 52 42 20 72 30 | 2c 5b 72 31 32 2c 23 35 |+LDRB r0|,[r12,#5|
|00002110| 32 38 5d 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |28] | |
|00002120| 20 20 20 20 20 3b 20 29 | 0d 08 f2 2b 4c 44 52 42 | ; )|...+LDRB|
|00002130| 20 72 31 2c 5b 72 31 32 | 2c 23 35 32 39 5d 20 20 | r1,[r12|,#529] |
|00002140| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00002150| 3b 20 29 0d 08 fc 46 41 | 44 44 20 72 31 2c 72 31 |; )...FA|DD r1,r1|
|00002160| 2c 23 31 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |,#1 | |
|00002170| 20 20 20 20 20 20 20 20 | 20 20 20 3b 20 29 69 6e | | ; )in|
|00002180| 63 72 65 6d 65 6e 74 20 | 74 68 65 20 73 74 6f 72 |crement |the stor|
|00002190| 65 64 20 73 75 66 66 69 | 78 0d 09 06 2b 43 4d 50 |ed suffi|x...+CMP|
|000021a0| 20 72 31 2c 23 35 37 20 | 20 20 20 20 20 20 20 20 | r1,#57 | |
|000021b0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|000021c0| 20 3b 20 29 0d 09 10 2b | 41 44 44 47 54 20 72 30 | ; )...+|ADDGT r0|
|000021d0| 2c 72 30 2c 23 31 20 20 | 20 20 20 20 20 20 20 20 |,r0,#1 | |
|000021e0| 20 20 20 20 20 20 20 20 | 20 20 20 20 3b 20 29 0d | | ; ).|
|000021f0| 09 1a 2b 4d 4f 56 47 54 | 20 72 31 2c 23 34 38 20 |..+MOVGT| r1,#48 |
|00002200| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00002210| 20 20 20 20 20 20 20 3b | 20 29 0d 09 24 0e 43 4d | ;| )..$.CM|
|00002220| 50 20 72 30 2c 23 35 37 | 0d 09 2e 45 42 47 54 20 |P r0,#57|...EBGT |
|00002230| 74 6f 6f 62 69 67 20 20 | 20 20 20 20 20 20 20 20 |toobig | |
|00002240| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00002250| 3b 67 65 6e 65 72 61 74 | 65 20 65 72 72 6f 72 20 |;generat|e error |
|00002260| 69 66 20 61 6c 72 65 61 | 64 79 20 39 39 0d 09 38 |if alrea|dy 99..8|
|00002270| 14 53 54 52 42 20 72 30 | 2c 5b 72 31 30 5d 2c 23 |.STRB r0|,[r10],#|
|00002280| 31 0d 09 42 48 53 54 52 | 42 20 72 31 2c 5b 72 31 |1..BHSTR|B r1,[r1|
|00002290| 30 5d 2c 23 31 20 20 20 | 20 20 20 20 20 20 20 20 |0],#1 | |
|000022a0| 20 20 20 20 20 20 20 20 | 20 3b 73 74 6f 72 65 20 | | ;store |
|000022b0| 73 75 66 66 69 78 20 61 | 74 20 65 6e 64 20 6f 66 |suffix a|t end of|
|000022c0| 20 66 69 6c 65 6e 61 6d | 65 0d 09 4c 0d 4d 4f 56 | filenam|e..L.MOV|
|000022d0| 20 72 30 2c 23 30 0d 09 | 56 37 53 54 52 42 20 72 | r0,#0..|V7STRB r|
|000022e0| 30 2c 5b 72 31 30 5d 20 | 20 20 20 20 20 20 20 20 |0,[r10] | |
|000022f0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 3b 61 | | ;a|
|00002300| 64 64 20 74 65 72 6d 69 | 6e 61 74 6f 72 0d 09 60 |dd termi|nator..`|
|00002310| 37 43 4d 50 20 72 31 31 | 2c 23 31 20 20 20 20 20 |7CMP r11|,#1 |
|00002320| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00002330| 20 20 20 20 20 3b 63 68 | 65 63 6b 20 52 31 31 20 | ;ch|eck R11 |
|00002340| 66 6c 61 67 0d 09 6a 0d | ec 51 20 72 30 2c 23 34 |flag..j.|.Q r0,#4|
|00002350| 36 0d 09 74 45 53 54 52 | 45 51 42 20 72 30 2c 5b |6..tESTR|EQB r0,[|
|00002360| 72 36 2c 23 2d 31 5d 20 | 20 20 20 20 20 20 20 20 |r6,#-1] | |
|00002370| 20 20 20 20 20 20 20 20 | 20 3b 69 66 20 73 65 74 | | ;if set|
|00002380| 2c 20 72 65 73 74 6f 72 | 65 20 66 75 6c 6c 20 73 |, restor|e full s|
|00002390| 74 6f 70 20 74 6f 0d 09 | 7e 3a 20 20 20 20 20 20 |top to..|~: |
|000023a0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|000023b0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 3b 6f | | ;o|
|000023c0| 72 69 67 69 6e 61 6c 20 | 70 6f 73 69 74 69 6f 6e |riginal |position|
|000023d0| 0d 09 88 0e 4d 4f 56 20 | 72 31 2c 72 31 32 0d 09 |....MOV |r1,r12..|
|000023e0| 92 12 41 44 44 20 72 32 | 2c 72 31 2c 23 32 35 36 |..ADD r2|,r1,#256|
|000023f0| 0d 09 9c 0e 4d 4f 56 20 | 72 30 2c 23 32 36 0d 09 |....MOV |r0,#26..|
|00002400| a6 0d 4d 4f 56 20 72 33 | 2c 23 30 0d 09 b0 42 53 |..MOV r3|,#0...BS|
|00002410| 57 49 20 22 58 4f 53 5f | 46 53 43 6f 6e 74 72 6f |WI "XOS_|FSContro|
|00002420| 6c 22 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |l" | |
|00002430| 20 20 20 3b 63 6f 70 79 | 20 6f 72 69 67 69 6e 61 | ;copy| origina|
|00002440| 6c 20 66 69 6c 65 20 61 | 73 20 6e 65 77 0d 09 ba |l file a|s new...|
|00002450| 3a 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |: | |
|00002460| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00002470| 20 20 20 20 20 3b 73 75 | 66 66 69 78 65 64 20 66 | ;su|ffixed f|
|00002480| 69 6c 65 6e 61 6d 65 0d | 09 c4 05 20 0d 09 ce 2b |ilename.|... ...+|
|00002490| 53 54 52 56 53 20 72 30 | 2c 5b 72 31 32 5d 20 20 |STRVS r0|,[r12] |
|000024a0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|000024b0| 20 20 20 20 3b 20 29 0d | 09 d8 4e 4c 44 4d 56 53 | ; ).|..NLDMVS|
|000024c0| 46 44 20 72 31 33 21 2c | 7b 72 30 2d 72 31 31 2c |FD r13!,|{r0-r11,|
|000024d0| 72 31 34 7d 20 20 20 20 | 20 20 20 20 20 20 20 3b |r14} | ;|
|000024e0| 20 29 69 66 20 65 72 72 | 6f 72 20 67 65 6e 65 72 | )if err|or gener|
|000024f0| 61 74 65 64 20 62 79 20 | 4f 53 5f 46 53 43 6f 6e |ated by |OS_FSCon|
|00002500| 74 72 6f 6c 2c 0d 09 e2 | 41 4c 44 52 56 53 20 72 |trol,...|ALDRVS r|
|00002510| 30 2c 5b 72 31 32 5d 20 | 20 20 20 20 20 20 20 20 |0,[r12] | |
|00002520| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 3b 20 29 | | ; )|
|00002530| 72 65 74 75 72 6e 20 77 | 69 74 68 20 56 20 66 6c |return w|ith V fl|
|00002540| 61 67 20 73 65 74 0d 09 | ec 49 4c 44 4d 56 53 46 |ag set..|.ILDMVSF|
|00002550| 44 20 72 31 33 21 2c 7b | 72 31 34 7d 20 20 20 20 |D r13!,{|r14} |
|00002560| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 3b 20 | | ; |
|00002570| 29 61 6e 64 20 52 30 20 | 70 6f 69 6e 74 69 6e 67 |)and R0 |pointing|
|00002580| 20 74 6f 20 65 72 72 6f | 72 20 62 6c 6f 63 6b 0d | to erro|r block.|
|00002590| 09 f6 2a 84 52 56 53 53 | 20 70 63 2c 72 31 34 2c |..*.RVSS| pc,r14,|
|000025a0| 23 31 3c 3c 32 38 20 20 | 20 20 20 20 20 20 20 20 |#1<<28 | |
|000025b0| 20 20 20 20 20 20 3b 20 | 29 0d 0a 00 1b 4c 44 4d | ; |)....LDM|
|000025c0| 46 44 20 72 31 33 21 2c | 7b 72 30 2d 72 31 31 2c |FD r13!,|{r0-r11,|
|000025d0| 70 63 7d 5e 0d 0a 0a 05 | 3a 0d 0a 14 1a 2e 63 6f |pc}^....|:.....co|
|000025e0| 6e 20 45 51 55 44 20 26 | 33 30 33 30 3a 45 51 55 |n EQUD &|3030:EQU|
|000025f0| 44 20 30 0d 0a 1e 05 3a | 0d 0a 28 0b 2e 74 6f 6f |D 0....:|..(..too|
|00002600| 62 69 67 0d 0a 32 1b 4c | 44 4d 46 44 20 72 31 33 |big..2.L|DMFD r13|
|00002610| 21 2c 7b 72 30 2d 72 31 | 31 2c 72 31 34 7d 0d 0a |!,{r0-r1|1,r14}..|
|00002620| 3c 11 41 44 52 20 72 30 | 2c 6f 76 65 72 39 39 0d |<.ADR r0|,over99.|
|00002630| 0a 46 14 4c 44 4d 46 44 | 20 72 31 33 21 2c 7b 72 |.F.LDMFD| r13!,{r|
|00002640| 31 34 7d 0d 0a 50 15 84 | 52 53 20 70 63 2c 72 31 |14}..P..|RS pc,r1|
|00002650| 34 2c 23 31 3c 3c 32 38 | 0d 0a 5a 05 3a 0d 0a 64 |4,#1<<28|..Z.:..d|
|00002660| 0b 2e 6f 76 65 72 39 39 | 0d 0a 6e 4e 45 51 55 44 |..over99|..nNEQUD|
|00002670| 20 31 3a 45 51 55 53 20 | 22 43 61 6e 27 74 20 73 | 1:EQUS |"Can't s|
|00002680| 61 76 65 20 66 69 6c 65 | 20 2d 20 53 6d 61 72 74 |ave file| - Smart|
|00002690| 53 61 76 65 20 73 75 66 | 66 69 78 20 61 6c 72 65 |Save suf|fix alre|
|000026a0| 61 64 79 20 61 74 20 6d | 61 78 69 6d 75 6d 22 3a |ady at m|aximum":|
|000026b0| 45 51 55 42 20 30 0d 0a | 78 09 41 4c 49 47 4e 0d |EQUB 0..|x.ALIGN.|
|000026c0| 0a 82 05 3a 0d 0a 8c 21 | 2e 6e 61 6d 65 20 45 51 |...:...!|.name EQ|
|000026d0| 55 53 20 22 53 6d 61 72 | 74 53 61 76 65 22 3a 45 |US "Smar|tSave":E|
|000026e0| 51 55 42 20 30 0d 0a 96 | 05 3a 0d 0a a0 06 5d ed |QUB 0...|.:....].|
|000026f0| 0d 0a aa 2e c8 99 20 22 | 4f 53 5f 46 69 6c 65 22 |...... "|OS_File"|
|00002700| 2c 31 30 2c 22 53 6d 61 | 72 74 53 61 76 65 22 2c |,10,"Sma|rtSave",|
|00002710| 26 46 46 41 2c 2c 63 6f | 64 65 25 2c 4f 25 0d ff |&FFA,,co|de%,O%..|
+--------+-------------------------+-------------------------+--------+--------+