home *** CD-ROM | disk | FTP | other *** search
/ APDL Public Domain 1 / APDL_PD1A.iso / program / virtual / VSI_Basic / VSI_Sieve < prev   
Unknown  |  1992-09-16  |  16.3 KB

open in: MacOS 8.1     |     Win98     |     DOS

view JSON data     |     view as text


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

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



hex view
+--------+-------------------------+-------------------------+--------+--------+
|00000000| 0d 00 0a 10 f4 20 3e 56 | 53 49 5f 53 69 65 76 65 |..... >V|SI_Sieve|
|00000010| 0d 00 14 24 f4 20 53 69 | 65 76 65 20 6f 66 20 45 |...$. Si|eve of E|
|00000020| 72 61 73 74 6f 74 68 65 | 6e 65 73 20 69 6e 20 42 |rastothe|nes in B|
|00000030| 41 53 49 43 0d 00 1e 34 | f4 20 42 79 20 4a 2e 50 |ASIC...4|. By J.P|
|00000040| 2e 20 48 65 6e 64 72 69 | 78 20 26 20 4d 2e 20 48 |. Hendri|x & M. H|
|00000050| 65 6e 64 72 69 78 20 2d | 20 54 68 65 20 4e 65 74 |endrix -| The Net|
|00000060| 68 65 72 6c 61 6e 64 73 | 0d 00 28 39 f4 20 56 69 |herlands|..(9. Vi|
|00000070| 72 74 75 61 6c 20 53 74 | 6f 72 65 20 49 6e 74 65 |rtual St|ore Inte|
|00000080| 72 72 75 70 74 20 68 61 | 6e 64 6c 69 6e 67 20 62 |rrupt ha|ndling b|
|00000090| 79 20 44 61 76 69 64 20 | 4d 63 51 75 69 6c 6c 61 |y David |McQuilla|
|000000a0| 6e 0d 00 32 3d f4 20 54 | 68 65 20 76 69 72 74 75 |n..2=. T|he virtu|
|000000b0| 61 6c 20 73 74 6f 72 65 | 20 69 6e 74 65 72 72 75 |al store| interru|
|000000c0| 70 74 20 68 61 6e 64 6c | 69 6e 67 20 69 73 20 50 |pt handl|ing is P|
|000000d0| 75 62 6c 69 63 20 44 6f | 6d 61 69 6e 20 2d 0d 00 |ublic Do|main -..|
|000000e0| 3c 38 f4 20 79 6f 75 20 | 6d 61 79 20 64 6f 20 77 |<8. you |may do w|
|000000f0| 68 61 74 20 79 6f 75 20 | 6c 69 6b 65 20 77 69 74 |hat you |like wit|
|00000100| 68 20 69 74 20 61 74 20 | 79 6f 75 72 20 6f 77 6e |h it at |your own|
|00000110| 20 72 69 73 6b 2c 0d 00 | 46 39 f4 20 61 6e 64 20 | risk,..|F9. and |
|00000120| 79 6f 75 27 64 20 62 65 | 74 74 65 72 20 64 6f 6e |you'd be|tter don|
|00000130| 65 20 73 6f 6d 65 20 6d | 6f 72 65 20 74 65 73 74 |e some m|ore test|
|00000140| 69 6e 67 20 6f 66 20 69 | 74 20 77 68 69 6c 65 0d |ing of i|t while.|
|00000150| 00 50 13 f4 20 79 6f 75 | 27 72 65 20 61 74 20 69 |.P.. you|'re at i|
|00000160| 74 2e 0d 00 5a 04 0d 00 | 64 35 f4 20 2a 2a 2a 2a |t...Z...|d5. ****|
|00000170| 20 4d 75 73 74 20 6e 6f | 74 20 62 65 20 72 75 6e | Must no|t be run|
|00000180| 20 69 6e 20 61 20 54 61 | 73 6b 20 77 69 6e 64 6f | in a Ta|sk windo|
|00000190| 77 20 76 69 61 20 21 45 | 64 69 74 0d 00 6e 30 f4 |w via !E|dit..n0.|
|000001a0| 20 61 73 20 54 61 73 6b | 20 4d 61 6e 61 67 65 72 | as Task| Manager|
|000001b0| 20 77 69 6c 6c 20 72 65 | 73 65 74 20 74 68 65 20 | will re|set the |
|000001c0| 6d 65 6d 6f 72 79 20 6d | 61 70 2e 0d 00 78 04 0d |memory m|ap...x..|
|000001d0| 00 82 38 f4 20 49 6c 6c | 75 73 74 72 61 74 65 73 |..8. Ill|ustrates|
|000001e0| 20 56 69 72 74 75 61 6c | 20 53 74 6f 72 65 20 68 | Virtual| Store h|
|000001f0| 61 6e 64 6c 69 6e 67 2e | 20 48 6f 6f 6b 73 20 70 |andling.| Hooks p|
|00000200| 72 6f 76 69 64 65 64 0d | 00 8c 3c f4 20 74 6f 20 |rovided.|..<. to |
|00000210| 75 73 65 20 75 6e 64 65 | 72 20 57 69 6d 70 2e 20 |use unde|r Wimp. |
|00000220| 56 69 72 74 75 61 6c 20 | 73 74 6f 72 65 20 6d 75 |Virtual |store mu|
|00000230| 73 74 20 6e 6f 74 20 62 | 65 20 70 61 73 73 65 64 |st not b|e passed|
|00000240| 20 74 6f 0d 00 96 39 f4 | 20 73 79 73 74 65 6d 2c | to...9.| system,|
|00000250| 20 75 73 65 64 20 69 6e | 20 6e 6f 6e 2d 75 73 65 | used in| non-use|
|00000260| 72 20 6d 6f 64 65 20 6f | 72 20 66 72 6f 6d 20 61 |r mode o|r from a|
|00000270| 6e 20 69 6e 74 65 72 72 | 75 70 74 2e 0d 00 a0 36 |n interr|upt....6|
|00000280| f4 20 54 68 65 20 56 53 | 49 20 68 61 6e 64 6c 65 |. The VS|I handle|
|00000290| 72 20 72 75 6e 73 20 69 | 6e 20 75 73 65 72 20 6d |r runs i|n user m|
|000002a0| 6f 64 65 20 77 68 65 6e | 20 73 61 76 69 6e 67 20 |ode when| saving |
|000002b0| 6f 72 0d 00 aa 2a f4 20 | 6c 6f 61 64 69 6e 67 20 |or...*. |loading |
|000002c0| 70 61 67 65 73 20 61 6e | 64 20 69 73 20 6e 6f 74 |pages an|d is not|
|000002d0| 20 72 65 2d 65 6e 74 72 | 61 6e 74 2e 0d 00 b4 04 | re-entr|ant.....|
|000002e0| 0d 00 be 3a f4 20 46 69 | 6c 65 20 22 56 53 49 46 |...:. Fi|le "VSIF|
|000002f0| 69 6c 65 22 20 77 69 6c | 6c 20 62 65 20 63 72 65 |ile" wil|l be cre|
|00000300| 61 74 65 64 20 61 6e 64 | 20 75 73 65 64 20 69 66 |ated and| used if|
|00000310| 20 54 6f 70 20 4c 69 6d | 69 74 0d 00 c8 39 f4 20 | Top Lim|it...9. |
|00000320| 69 73 20 68 69 67 68 20 | 65 6e 6f 75 67 68 20 2d |is high |enough -|
|00000330| 20 65 2e 67 2e 20 31 30 | 30 30 30 30 30 2e 20 56 | e.g. 10|00000. V|
|00000340| 69 72 74 75 61 6c 20 73 | 74 6f 72 65 20 6e 65 65 |irtual s|tore nee|
|00000350| 64 65 64 0d 00 d2 16 f4 | 20 69 73 20 28 54 6f 70 |ded.....| is (Top|
|00000360| 20 4c 69 6d 69 74 29 2f | 38 0d 00 dc 04 0d 00 e6 | Limit)/|8.......|
|00000370| 11 56 53 49 5f 41 63 74 | 69 76 65 25 3d a3 0d 00 |.VSI_Act|ive%=...|
|00000380| f0 04 0d 00 fa 10 ee 20 | 85 20 f2 65 72 72 6f 72 |....... |. .error|
|00000390| 3a e0 0d 01 04 04 0d 01 | 0e 12 52 25 3d 38 2a 31 |:.......|..R%=8*1|
|000003a0| 30 32 34 2a 31 30 32 34 | 0d 01 18 04 0d 01 22 1d |024*1024|......".|
|000003b0| f1 20 22 53 69 65 76 65 | 20 6f 66 20 45 72 61 73 |. "Sieve| of Eras|
|000003c0| 74 6f 74 68 65 6e 65 73 | 22 0d 01 2c 1c e8 20 22 |tothenes|"..,.. "|
|000003d0| 45 6e 74 65 72 20 54 6f | 70 20 4c 69 6d 69 74 20 |Enter To|p Limit |
|000003e0| 3a 22 3b 4d 25 0d 01 36 | 07 d1 3d 30 0d 01 40 04 |:";M%..6|..=0..@.|
|000003f0| 0d 01 4a 0d 43 25 3d 4d | 25 2f 38 2b 31 0d 01 54 |..J.C%=M|%/8+1..T|
|00000400| 04 0d 01 5e 2a 74 61 62 | 65 6c 25 3d a4 5f 56 53 |...^*tab|el%=._VS|
|00000410| 49 5f 53 65 74 75 70 28 | 31 2c 31 30 30 2b 43 25 |I_Setup(|1,100+C%|
|00000420| 2c 22 56 53 49 66 69 6c | 65 22 29 0d 01 68 04 0d |,"VSIfil|e")..h..|
|00000430| 01 72 1d f1 20 27 27 27 | 22 43 6c 65 61 72 69 6e |.r.. '''|"Clearin|
|00000440| 67 20 6d 65 6d 6f 72 79 | 2e 2e 2e 22 0d 01 ea 04 |g memory|..."....|
|00000450| 0d 01 f4 1b e3 20 41 44 | 25 3d 30 20 b8 20 4d 25 |..... AD|%=0 . M%|
|00000460| 2f 38 2b 2e 38 37 35 20 | 88 20 34 0d 01 fe 1d 20 |/8+.875 |. 4.... |
|00000470| 20 21 28 74 61 62 65 6c | 25 2b 41 44 25 29 3d 26 | !(tabel|%+AD%)=&|
|00000480| 41 41 41 41 41 41 41 41 | 0d 02 08 05 ed 0d 02 12 |AAAAAAAA|........|
|00000490| 04 0d 02 1c 0f 3f 74 61 | 62 65 6c 25 3d 26 41 43 |.....?ta|bel%=&AC|
|000004a0| 0d 02 26 21 54 25 3d 91 | 20 3a f1 20 22 20 22 54 |..&!T%=.| :. " "T|
|000004b0| 25 2f 31 30 30 22 20 53 | 65 63 6f 6e 64 28 73 29 |%/100" S|econd(s)|
|000004c0| 22 0d 02 30 04 0d 02 3a | 18 f1 27 27 22 20 43 61 |"..0...:|..''" Ca|
|000004d0| 6c 63 75 6c 61 74 69 6e | 67 2e 2e 2e 22 0d 02 44 |lculatin|g..."..D|
|000004e0| 04 0d 02 4e 07 d1 3d 30 | 0d 02 58 0a 4d 69 6c 25 |...N..=0|..X.Mil%|
|000004f0| 3d 30 0d 02 62 0f 54 31 | 25 3d 30 3a 54 32 25 3d |=0..b.T1|%=0:T2%=|
|00000500| 30 0d 02 6c 08 50 25 3d | 33 0d 02 76 04 0d 02 80 |0..l.P%=|3..v....|
|00000510| 23 f4 20 55 73 65 20 74 | 61 62 6c 65 20 66 6f 72 |#. Use t|able for|
|00000520| 20 66 69 72 73 74 20 33 | 31 20 70 72 69 6d 65 73 | first 3|1 primes|
|00000530| 0d 02 8a 04 0d 02 94 0e | de 20 50 56 25 20 33 31 |........|. PV% 31|
|00000540| 2a 34 0d 02 9e 04 0d 02 | a8 05 f5 0d 02 b2 57 20 |*4......|......W |
|00000550| 20 f1 20 22 41 66 74 65 | 72 20 22 3b 28 54 32 25 | . "Afte|r ";(T2%|
|00000560| 2d 54 31 25 29 2f 31 30 | 30 22 20 73 65 63 6f 6e |-T1%)/10|0" secon|
|00000570| 64 73 20 73 74 61 72 74 | 20 74 6f 20 6f 6d 69 74 |ds start| to omit|
|00000580| 20 66 72 6f 6d 3a 20 22 | 3b 50 25 5e 32 22 2c 20 | from: "|;P%^2", |
|00000590| 77 69 74 68 20 73 74 65 | 70 73 20 6f 66 3a 20 22 |with ste|ps of: "|
|000005a0| 50 25 0d 02 bc 0b 20 20 | 54 31 25 3d 91 0d 02 c6 |P%.... |T1%=....|
|000005b0| 11 20 20 e7 20 50 25 20 | 3c 20 33 31 20 8c 0d 02 |. . P% |< 31 ...|
|000005c0| d0 29 20 20 20 20 e3 20 | 41 44 25 3d 30 20 b8 20 |.) . |AD%=0 . |
|000005d0| 34 2a 50 25 2d 31 20 88 | 20 34 3a 50 56 25 21 41 |4*P%-1 .| 4:PV%!A|
|000005e0| 44 25 3d 2d 31 3a ed 0d | 02 da 1e 20 20 20 20 e3 |D%=-1:..|... .|
|000005f0| 20 41 44 25 3d 30 20 b8 | 20 33 32 2a 50 25 2d 31 | AD%=0 .| 32*P%-1|
|00000600| 20 88 20 50 25 0d 02 e4 | 19 20 20 20 20 20 20 56 | . P%...|. V|
|00000610| 25 3d 50 56 25 2b 28 41 | 44 25 3e 3e 33 29 0d 02 |%=PV%+(A|D%>>3)..|
|00000620| ee 24 20 20 20 20 20 20 | 3f 56 25 3d 3f 56 25 20 |.$ |?V%=?V% |
|00000630| 80 20 ac 20 28 31 3c 3c | 28 41 44 25 20 80 20 37 |. . (1<<|(AD% . 7|
|00000640| 29 29 0d 02 f8 09 20 20 | 20 20 ed 0d 03 02 1b e3 |)).... | ......|
|00000650| 20 41 44 25 3d 30 20 b8 | 20 4d 25 2f 38 2b 2e 38 | AD%=0 .| M%/8+.8|
|00000660| 37 35 20 88 20 34 0d 03 | 0c 13 20 20 56 25 3d 74 |75 . 4..|.. V%=t|
|00000670| 61 62 65 6c 25 2b 41 44 | 25 0d 03 16 22 20 20 21 |abel%+AD|%..." !|
|00000680| 56 25 3d 21 56 25 20 80 | 20 50 56 25 21 28 41 44 |V%=!V% .| PV%!(AD|
|00000690| 25 20 83 20 28 50 25 2a | 34 29 29 0d 03 20 05 ed |% . (P%*|4)).. ..|
|000006a0| 0d 03 2a 19 20 20 20 20 | 56 25 3d 74 61 62 65 6c |..*. |V%=tabel|
|000006b0| 25 2b 28 50 25 3e 3e 33 | 29 0d 03 34 1f 20 20 20 |%+(P%>>3|)..4. |
|000006c0| 20 3f 56 25 3d 3f 56 25 | 20 84 20 28 31 3c 3c 28 | ?V%=?V%| . (1<<(|
|000006d0| 50 25 20 80 20 37 29 29 | 0d 03 3e 07 20 20 cc 0d |P% . 7))|..>. ..|
|000006e0| 03 48 18 e3 20 41 44 25 | 3d 50 25 5e 32 20 b8 20 |.H.. AD%|=P%^2 . |
|000006f0| 4d 25 20 88 20 50 25 0d | 03 52 18 20 20 56 25 3d |M% . P%.|.R. V%=|
|00000700| 74 61 62 65 6c 25 2b 28 | 41 44 25 3e 3e 33 29 0d |tabel%+(|AD%>>3).|
|00000710| 03 5c 20 20 20 3f 56 25 | 3d 3f 56 25 20 80 20 ac |.\ ?V%|=?V% . .|
|00000720| 20 28 31 3c 3c 28 41 44 | 25 20 80 20 37 29 29 0d | (1<<(AD|% . 7)).|
|00000730| 03 66 05 ed 0d 03 70 07 | 20 20 cd 0d 03 7a 07 20 |.f....p.| ...z. |
|00000740| 20 f5 0d 03 84 0d 20 20 | 20 20 50 25 2b 3d 31 0d | ..... | P%+=1.|
|00000750| 03 8e 11 20 20 20 20 41 | 44 25 3d 50 25 3e 3e 33 |... A|D%=P%>>3|
|00000760| 0d 03 98 2a 20 20 20 20 | 56 25 3d 28 3f 28 74 61 |...* |V%=(?(ta|
|00000770| 62 65 6c 25 2b 41 44 25 | 29 29 20 80 20 28 31 3c |bel%+AD%|)) . (1<|
|00000780| 3c 28 50 25 20 80 20 37 | 29 29 0d 03 a2 0c 20 20 |<(P% . 7|)).... |
|00000790| fd 20 56 25 3e 30 0d 03 | ac 0b 20 20 54 32 25 3d |. V%>0..|.. T2%=|
|000007a0| 91 0d 03 b6 0f fd 20 28 | 50 25 5e 32 29 3e 4d 25 |...... (|P%^2)>M%|
|000007b0| 0d 03 c0 04 0d 03 ca 33 | f1 20 27 27 27 22 50 72 |.......3|. '''"Pr|
|000007c0| 69 6d 65 73 20 63 61 6c | 63 75 6c 61 74 65 64 20 |imes cal|culated |
|000007d0| 69 6e 3a 20 22 3b 91 2f | 31 30 30 3b 22 20 73 65 |in: ";./|100;" se|
|000007e0| 63 6f 6e 64 73 2e 22 0d | 03 d4 04 0d 03 de 13 f1 |conds.".|........|
|000007f0| 20 22 43 6f 75 6e 74 69 | 6e 67 2e 2e 2e 22 0d 03 | "Counti|ng..."..|
|00000800| e8 04 0d 03 f2 0c 43 6f | 75 6e 74 25 3d 30 0d 03 |......Co|unt%=0..|
|00000810| fc 13 e3 20 50 25 3d 30 | 20 b8 20 4d 25 20 88 20 |... P%=0| . M% . |
|00000820| 38 0d 04 06 1a 20 20 56 | 25 3d 3f 28 74 61 62 65 |8.... V|%=?(tabe|
|00000830| 6c 25 2b 28 50 25 3e 3e | 33 29 29 0d 04 10 23 20 |l%+(P%>>|3))...# |
|00000840| 20 e7 20 50 25 2b 37 20 | 3e 20 4d 25 20 8c 20 4c | . P%+7 |> M% . L|
|00000850| 25 3d 4d 25 2d 50 25 20 | 8b 20 4c 25 3d 37 0d 04 |%=M%-P% |. L%=7..|
|00000860| 1a 11 20 20 e3 20 44 25 | 3d 30 20 b8 20 4c 25 0d |.. . D%|=0 . L%.|
|00000870| 04 24 3e 20 20 20 20 e7 | 20 28 56 25 20 80 20 28 |.$> .| (V% . (|
|00000880| 31 3c 3c 44 25 29 29 20 | 8c 20 43 6f 75 6e 74 25 |1<<D%)) |. Count%|
|00000890| 2b 3d 31 3a e7 20 43 6f | 75 6e 74 25 3d 31 45 36 |+=1:. Co|unt%=1E6|
|000008a0| 20 8c 20 4d 69 6c 25 3d | 50 25 2b 44 25 0d 04 2e | . Mil%=|P%+D%...|
|000008b0| 07 20 20 ed 0d 04 38 05 | ed 0d 04 42 04 0d 04 4c |. ...8.|...B...L|
|000008c0| 30 f1 20 27 27 43 6f 75 | 6e 74 25 20 22 20 50 72 |0. ''Cou|nt% " Pr|
|000008d0| 69 6d 65 73 20 66 6f 75 | 6e 64 20 62 65 74 77 65 |imes fou|nd betwe|
|000008e0| 65 6e 20 30 20 61 6e 64 | 20 22 3b 4d 25 0d 04 56 |en 0 and| ";M%..V|
|000008f0| 2d e7 20 4d 69 6c 25 3e | 30 20 8c 20 f1 20 4d 69 |-. Mil%>|0 . . Mi|
|00000900| 6c 25 22 20 3d 20 74 68 | 65 20 6d 69 6c 6c 69 6f |l%" = th|e millio|
|00000910| 6e 74 68 20 70 72 69 6d | 65 22 0d 04 60 04 0d 04 |nth prim|e"..`...|
|00000920| 6a 11 f2 5f 56 53 49 5f | 53 74 6f 70 28 b9 29 0d |j.._VSI_|Stop(.).|
|00000930| 04 74 05 e0 0d 04 7e 04 | 0d 04 88 30 f4 20 45 72 |.t....~.|...0. Er|
|00000940| 72 6f 72 20 72 6f 75 74 | 69 6e 65 20 77 68 69 63 |ror rout|ine whic|
|00000950| 68 20 72 65 73 65 74 73 | 20 74 68 65 20 56 53 49 |h resets| the VSI|
|00000960| 20 68 61 6e 64 6c 65 72 | 0d 04 92 04 0d 04 9c 0c | handler|........|
|00000970| dd 20 f2 65 72 72 6f 72 | 0d 04 a6 14 f1 20 f6 24 |. .error|..... .$|
|00000980| 2b 22 20 69 6e 20 22 2b | c3 28 9e 29 0d 04 b0 21 |+" in "+|.(.)...!|
|00000990| e7 20 56 53 49 5f 41 63 | 74 69 76 65 25 20 8c 20 |. VSI_Ac|tive% . |
|000009a0| f2 5f 56 53 49 5f 53 74 | 6f 70 28 b9 29 0d 04 ba |._VSI_St|op(.)...|
|000009b0| 05 e0 0d 04 c4 04 0d 04 | ce 04 0d 04 d8 34 f4 20 |........|.....4. |
|000009c0| 52 6f 75 74 69 6e 65 73 | 20 74 6f 20 69 6d 70 6c |Routines| to impl|
|000009d0| 65 6d 65 6e 74 20 56 69 | 72 74 75 61 6c 20 53 74 |ement Vi|rtual St|
|000009e0| 6f 72 65 20 49 6e 74 65 | 72 72 75 70 74 73 0d 04 |ore Inte|rrupts..|
|000009f0| e2 2e f4 20 4e 6f 20 76 | 69 72 74 75 61 6c 20 73 |... No v|irtual s|
|00000a00| 74 6f 72 65 20 61 72 65 | 61 20 6d 61 79 20 62 65 |tore are|a may be|
|00000a10| 20 70 61 73 73 65 64 20 | 6f 76 65 72 0d 04 ec 32 | passed |over...2|
|00000a20| f4 20 74 6f 20 74 68 65 | 20 6f 70 65 72 61 74 69 |. to the| operati|
|00000a30| 6e 67 20 73 79 73 74 65 | 6d 20 61 73 20 6f 6e 6c |ng syste|m as onl|
|00000a40| 79 20 56 53 49 73 20 69 | 6e 20 75 73 65 72 0d 04 |y VSIs i|n user..|
|00000a50| f6 33 f4 20 6d 6f 64 65 | 20 63 61 6e 20 62 65 20 |.3. mode| can be |
|00000a60| 68 61 6e 64 6c 65 64 2e | 20 41 6c 73 6f 20 61 6e |handled.| Also an|
|00000a70| 79 20 63 6f 64 65 20 69 | 6e 20 76 69 72 74 75 61 |y code i|n virtua|
|00000a80| 6c 0d 05 00 2f f4 20 73 | 74 6f 72 65 20 6d 75 73 |l.../. s|tore mus|
|00000a90| 74 20 6f 6e 6c 79 20 62 | 65 20 65 78 65 63 75 74 |t only b|e execut|
|00000aa0| 65 64 20 69 6e 20 75 73 | 65 72 20 6d 6f 64 65 2e |ed in us|er mode.|
|00000ab0| 0d 05 0a 04 0d 05 14 04 | 0d 05 1e 39 f4 20 55 73 |........|...9. Us|
|00000ac0| 65 20 46 4e 5f 56 53 49 | 5f 53 65 74 75 70 20 74 |e FN_VSI|_Setup t|
|00000ad0| 6f 20 73 74 61 72 74 20 | 75 70 20 76 69 72 74 75 |o start |up virtu|
|00000ae0| 61 6c 20 73 74 6f 72 65 | 20 68 61 6e 64 6c 69 6e |al store| handlin|
|00000af0| 67 0d 05 28 15 f4 20 50 | 61 72 61 6d 65 74 65 72 |g..(.. P|arameter|
|00000b00| 73 20 61 72 65 3a 0d 05 | 32 35 f4 20 20 20 54 68 |s are:..|25. Th|
|00000b10| 65 20 6d 69 6e 69 6d 75 | 6d 20 73 69 7a 65 20 6f |e minimu|m size o|
|00000b20| 66 20 74 68 65 20 70 68 | 79 73 69 63 61 6c 20 73 |f the ph|ysical s|
|00000b30| 74 6f 72 65 20 74 6f 20 | 75 73 65 0d 05 3c 30 f4 |tore to |use..<0.|
|00000b40| 20 20 20 54 68 65 20 73 | 69 7a 65 20 6f 66 20 74 | The s|ize of t|
|00000b50| 68 65 20 76 69 72 74 75 | 61 6c 20 73 74 6f 72 65 |he virtu|al store|
|00000b60| 20 74 6f 20 62 65 20 75 | 73 65 64 0d 05 46 26 f4 | to be u|sed..F&.|
|00000b70| 20 20 20 46 69 6c 65 20 | 74 6f 20 62 65 20 75 73 | File |to be us|
|00000b80| 65 64 20 66 6f 72 20 73 | 77 61 70 20 73 70 61 63 |ed for s|wap spac|
|00000b90| 65 0d 05 50 35 f4 20 52 | 65 74 75 72 6e 73 20 74 |e..P5. R|eturns t|
|00000ba0| 68 65 20 61 64 64 72 65 | 73 73 20 6f 66 20 74 68 |he addre|ss of th|
|00000bb0| 65 20 76 69 72 74 75 61 | 6c 20 73 74 6f 72 65 20 |e virtua|l store |
|00000bc0| 73 70 61 63 65 2e 0d 05 | 5a 04 0d 05 64 27 dd 20 |space...|Z...d'. |
|00000bd0| a4 5f 56 53 49 5f 53 65 | 74 75 70 28 50 73 69 7a |._VSI_Se|tup(Psiz|
|00000be0| 65 25 2c 56 73 69 7a 65 | 25 2c 66 6e 61 6d 65 24 |e%,Vsize|%,fname$|
|00000bf0| 29 0d 05 6e 22 ea 20 49 | 25 2c 4a 25 2c 4c 25 2c |)..n". I|%,J%,L%,|
|00000c00| 4d 25 2c 4e 25 2c 56 25 | 2c 56 30 25 2c 56 31 25 |M%,N%,V%|,V0%,V1%|
|00000c10| 2c 58 25 0d 05 78 04 0d | 05 82 32 c8 99 20 22 4f |,X%..x..|..2.. "O|
|00000c20| 53 5f 52 65 61 64 4d 65 | 6d 4d 61 70 49 6e 66 6f |S_ReadMe|mMapInfo|
|00000c30| 22 20 b8 20 56 53 49 5f | 50 61 67 65 53 69 7a 65 |" . VSI_|PageSize|
|00000c40| 25 2c 6e 70 61 67 65 73 | 25 0d 05 8c 21 f4 20 50 |%,npages|%...!. P|
|00000c50| 52 49 4e 54 20 56 53 49 | 5f 50 61 67 65 53 69 7a |RINT VSI|_PageSiz|
|00000c60| 65 25 2c 6e 70 61 67 65 | 73 25 0d 05 96 04 0d 05 |e%,npage|s%......|
|00000c70| a0 31 f4 20 46 6f 6c 6c | 6f 77 69 6e 67 20 63 61 |.1. Foll|owing ca|
|00000c80| 6c 63 75 6c 61 74 69 6f | 6e 20 65 6e 73 75 72 65 |lculatio|n ensure|
|00000c90| 73 20 50 73 70 61 63 65 | 25 20 69 73 20 6f 6e 0d |s Pspace|% is on.|
|00000ca0| 05 aa 32 f4 20 61 20 70 | 61 67 65 20 62 6f 75 6e |..2. a p|age boun|
|00000cb0| 64 61 72 79 20 61 6e 64 | 20 68 61 73 20 65 76 65 |dary and| has eve|
|00000cc0| 6e 20 6e 75 6d 62 65 72 | 20 6f 66 20 70 61 67 65 |n number| of page|
|00000cd0| 73 0d 05 b4 10 f4 20 61 | 6c 6c 6f 63 61 74 65 64 |s..... a|llocated|
|00000ce0| 2e 0d 05 be 04 0d 05 c8 | 34 f4 20 45 6e 73 75 72 |........|4. Ensur|
|00000cf0| 65 20 61 74 20 6c 65 61 | 73 74 20 33 20 70 68 79 |e at lea|st 3 phy|
|00000d00| 73 69 63 61 6c 20 70 61 | 67 65 73 20 75 73 65 64 |sical pa|ges used|
|00000d10| 20 74 6f 20 61 6c 6c 6f | 77 0d 05 d2 33 f4 20 66 | to allo|w...3. f|
|00000d20| 6f 72 20 61 20 4c 44 4d | 20 69 6e 20 6f 6e 65 20 |or a LDM| in one |
|00000d30| 70 61 67 65 20 61 63 63 | 65 73 73 69 6e 67 20 32 |page acc|essing 2|
|00000d40| 20 6f 74 68 65 72 20 70 | 61 67 65 73 0d 05 dc 04 | other p|ages....|
|00000d50| 0d 05 e6 3b 50 73 69 7a | 65 25 20 3d 20 28 50 73 |...;Psiz|e% = (Ps|
|00000d60| 69 7a 65 25 2b 56 53 49 | 5f 50 61 67 65 53 69 7a |ize%+VSI|_PageSiz|
|00000d70| 65 25 2d 31 29 20 80 20 | ac 20 28 56 53 49 5f 50 |e%-1) . |. (VSI_P|
|00000d80| 61 67 65 53 69 7a 65 25 | 2d 31 29 0d 05 f0 39 e7 |ageSize%|-1)...9.|
|00000d90| 20 50 73 69 7a 65 25 20 | 3c 20 33 2a 56 53 49 5f | Psize% |< 3*VSI_|
|00000da0| 50 61 67 65 53 69 7a 65 | 25 20 8c 20 50 73 69 7a |PageSize|% . Psiz|
|00000db0| 65 25 20 3d 20 33 2a 56 | 53 49 5f 50 61 67 65 53 |e% = 3*V|SI_PageS|
|00000dc0| 69 7a 65 25 0d 05 fa 04 | 0d 06 04 17 e7 20 56 73 |ize%....|..... Vs|
|00000dd0| 69 7a 65 25 20 3c 20 50 | 73 69 7a 65 25 20 8c 0d |ize% < P|size% ..|
|00000de0| 06 0e 32 20 20 f4 20 45 | 6e 6f 75 67 68 20 50 68 |..2 . E|nough Ph|
|00000df0| 79 73 69 63 61 6c 20 6d | 65 6d 6f 72 79 20 69 73 |ysical m|emory is|
|00000e00| 20 61 76 61 69 6c 61 62 | 6c 65 20 61 6e 79 77 61 | availab|le anywa|
|00000e10| 79 0d 06 18 33 20 20 f4 | 20 44 6f 6e 27 74 20 62 |y...3 .| Don't b|
|00000e20| 6f 74 68 65 72 20 64 6f | 69 6e 67 20 76 69 72 74 |other do|ing virt|
|00000e30| 75 61 6c 20 73 74 6f 72 | 65 20 69 6e 74 65 72 72 |ual stor|e interr|
|00000e40| 75 70 74 73 0d 06 22 04 | 0d 06 2c 13 20 20 56 53 |upts..".|..,. VS|
|00000e50| 49 5f 41 63 74 69 76 65 | 25 3d a3 0d 06 36 19 20 |I_Active|%=...6. |
|00000e60| 20 de 20 56 53 49 5f 53 | 70 61 63 65 25 20 56 73 | . VSI_S|pace% Vs|
|00000e70| 69 7a 65 25 0d 06 40 11 | 20 20 3d 56 53 49 5f 53 |ize%..@.| =VSI_S|
|00000e80| 70 61 63 65 25 0d 06 4a | 05 cd 0d 06 54 04 0d 06 |pace%..J|....T...|
|00000e90| 5e 0a de 20 58 25 20 30 | 0d 06 68 0d 4e 25 20 3d |^.. X% 0|..h.N% =|
|00000ea0| 20 58 25 2b 34 0d 06 72 | 38 4c 25 20 3d 20 28 28 | X%+4..r|8L% = ((|
|00000eb0| 4e 25 2b 56 53 49 5f 50 | 61 67 65 53 69 7a 65 25 |N%+VSI_P|ageSize%|
|00000ec0| 2d 31 29 20 80 20 ac 20 | 28 56 53 49 5f 50 61 67 |-1) . . |(VSI_Pag|
|00000ed0| 65 53 69 7a 65 25 2d 31 | 29 29 2d 4e 25 0d 06 7c |eSize%-1|))-N%..||
|00000ee0| 14 de 20 58 25 20 28 4c | 25 2b 50 73 69 7a 65 25 |.. X% (L|%+Psize%|
|00000ef0| 29 0d 06 86 13 50 73 70 | 61 63 65 25 20 3d 20 58 |)....Psp|ace% = X|
|00000f00| 25 2b 4c 25 0d 06 90 04 | 0d 06 9a 1b f4 50 52 49 |%+L%....|.....PRI|
|00000f10| 4e 54 20 7e 50 73 70 61 | 63 65 25 2c 7e 50 73 69 |NT ~Pspa|ce%,~Psi|
|00000f20| 7a 65 25 0d 06 a4 04 0d | 06 ae 3b 56 73 69 7a 65 |ze%.....|..;Vsize|
|00000f30| 25 20 3d 20 28 56 73 69 | 7a 65 25 2b 56 53 49 5f |% = (Vsi|ze%+VSI_|
|00000f40| 50 61 67 65 53 69 7a 65 | 25 2d 31 29 20 80 20 ac |PageSize|%-1) . .|
|00000f50| 20 28 56 53 49 5f 50 61 | 67 65 53 69 7a 65 25 2d | (VSI_Pa|geSize%-|
|00000f60| 31 29 0d 06 b8 1a 56 53 | 49 5f 53 70 61 63 65 25 |1)....VS|I_Space%|
|00000f70| 20 3d 20 26 30 30 38 30 | 30 30 30 30 0d 06 c2 20 | = &0080|0000... |
|00000f80| 56 53 49 5f 54 6f 70 25 | 20 3d 20 56 53 49 5f 53 |VSI_Top%| = VSI_S|
|00000f90| 70 61 63 65 25 2b 56 73 | 69 7a 65 25 0d 06 cc 26 |pace%+Vs|ize%...&|
|00000fa0| 56 53 49 5f 56 70 61 67 | 65 73 25 20 3d 20 56 73 |VSI_Vpag|es% = Vs|
|00000fb0| 69 7a 65 25 2f 56 53 49 | 5f 50 61 67 65 53 69 7a |ize%/VSI|_PageSiz|
|00000fc0| 65 25 0d 06 d6 04 0d 06 | e0 23 e7 20 56 73 69 7a |e%......|.#. Vsiz|
|00000fd0| 65 25 3c 30 20 84 20 56 | 73 69 7a 65 25 3e 26 30 |e%<0 . V|size%>&0|
|00000fe0| 30 38 30 30 30 30 30 20 | 8c 0d 06 ea 0e 20 20 f1 |0800000 |..... .|
|00000ff0| 20 56 73 69 7a 65 25 0d | 06 f4 33 20 20 85 20 31 | Vsize%.|..3 . 1|
|00001000| 2c 22 55 70 74 6f 20 38 | 20 4d 62 79 74 65 20 76 |,"Upto 8| Mbyte v|
|00001010| 69 72 74 75 61 6c 20 73 | 70 61 63 65 20 6f 6e 6c |irtual s|pace onl|
|00001020| 79 20 61 6c 6c 6f 77 65 | 64 22 0d 06 fe 05 cd 0d |y allowe|d"......|
|00001030| 07 08 04 0d 07 12 38 f4 | 20 4f 6c 64 4d 61 70 20 |......8.| OldMap |
|00001040| 75 73 65 64 20 74 6f 20 | 72 65 73 74 6f 72 65 20 |used to |restore |
|00001050| 6d 61 70 70 69 6e 67 20 | 61 73 20 69 6d 61 67 69 |mapping |as imagi|
|00001060| 6e 65 64 20 62 79 20 57 | 69 6d 70 0d 07 1c 34 f4 |ned by W|imp...4.|
|00001070| 20 4e 65 77 4d 61 70 20 | 75 73 65 64 20 74 6f 20 | NewMap |used to |
|00001080| 73 65 74 20 6d 61 70 20 | 61 66 74 65 72 20 57 69 |set map |after Wi|
|00001090| 6d 70 5f 50 6f 6c 6c 20 | 72 65 74 75 72 6e 73 0d |mp_Poll |returns.|
|000010a0| 07 26 04 0d 07 30 25 56 | 53 49 5f 50 61 67 65 73 |.&...0%V|SI_Pages|
|000010b0| 25 20 3d 20 50 73 69 7a | 65 25 2f 56 53 49 5f 50 |% = Psiz|e%/VSI_P|
|000010c0| 61 67 65 53 69 7a 65 25 | 0d 07 3a 23 de 20 56 53 |ageSize%|..:#. VS|
|000010d0| 49 5f 4f 6c 64 4d 61 70 | 25 20 31 32 2a 28 56 53 |I_OldMap|% 12*(VS|
|000010e0| 49 5f 50 61 67 65 73 25 | 2b 31 29 0d 07 44 23 de |I_Pages%|+1)..D#.|
|000010f0| 20 56 53 49 5f 4e 65 77 | 4d 61 70 25 20 31 32 2a | VSI_New|Map% 12*|
|00001100| 28 56 53 49 5f 50 61 67 | 65 73 25 2b 31 29 0d 07 |(VSI_Pag|es%+1)..|
|00001110| 4e 04 0d 07 58 33 f4 20 | 50 66 6c 61 67 73 20 67 |N...X3. |Pflags g|
|00001120| 69 76 65 73 20 70 72 6f | 70 65 72 74 69 65 73 20 |ives pro|perties |
|00001130| 6f 66 20 74 68 65 20 70 | 68 79 73 69 63 61 6c 20 |of the p|hysical |
|00001140| 70 61 67 65 73 0d 07 62 | 37 f4 20 65 2e 67 2e 20 |pages..b|7. e.g. |
|00001150| 77 68 65 74 68 65 72 20 | 77 72 69 74 74 65 6e 20 |whether |written |
|00001160| 74 6f 20 28 63 6f 75 6c | 64 20 62 65 20 64 6f 6e |to (coul|d be don|
|00001170| 65 20 62 79 20 73 65 74 | 74 69 6e 67 0d 07 6c 39 |e by set|ting..l9|
|00001180| f4 20 74 6f 20 72 65 61 | 64 20 6f 6e 6c 79 20 61 |. to rea|d only a|
|00001190| 6e 64 20 6f 6e 6c 79 20 | 6d 61 6b 69 6e 67 20 77 |nd only |making w|
|000011a0| 72 69 74 61 62 6c 65 20 | 69 66 20 6e 65 63 65 73 |ritable |if neces|
|000011b0| 73 61 72 79 29 0d 07 76 | 22 f4 20 50 66 6c 61 67 |sary)..v|". Pflag|
|000011c0| 73 20 69 73 20 75 6e 75 | 73 65 64 20 61 74 20 70 |s is unu|sed at p|
|000011d0| 72 65 73 65 6e 74 2e 0d | 07 80 04 0d 07 8a 2c f4 |resent..|......,.|
|000011e0| 20 56 66 6c 61 67 73 20 | 67 69 76 65 73 20 70 72 | Vflags |gives pr|
|000011f0| 6f 70 65 72 74 69 65 73 | 20 6f 66 20 74 68 65 20 |operties| of the |
|00001200| 76 69 72 74 75 61 6c 0d | 07 94 24 f4 20 73 74 6f |virtual.|..$. sto|
|00001210| 72 65 20 70 61 67 65 73 | 20 77 68 65 6e 20 6e 6f |re pages| when no|
|00001220| 74 20 70 61 67 65 64 20 | 69 6e 2e 0d 07 9e 2a f4 |t paged |in....*.|
|00001230| 20 69 6e 64 65 78 65 73 | 20 70 68 79 73 69 63 61 | indexes| physica|
|00001240| 6c 20 70 61 67 65 20 77 | 68 65 6e 20 70 61 67 65 |l page w|hen page|
|00001250| 64 20 69 6e 2e 0d 07 a8 | 22 f4 20 48 65 72 65 20 |d in....|". Here |
|00001260| 32 35 35 20 6d 65 61 6e | 73 20 6e 6f 74 20 70 61 |255 mean|s not pa|
|00001270| 67 65 64 20 69 6e 2e 0d | 07 b2 04 0d 07 bc 1c de |ged in..|........|
|00001280| 20 56 53 49 5f 50 66 6c | 61 67 73 25 20 56 53 49 | VSI_Pfl|ags% VSI|
|00001290| 5f 50 61 67 65 73 25 0d | 07 c6 1d de 20 56 53 49 |_Pages%.|.... VSI|
|000012a0| 5f 56 66 6c 61 67 73 25 | 20 56 53 49 5f 56 70 61 |_Vflags%| VSI_Vpa|
|000012b0| 67 65 73 25 0d 07 d0 04 | 0d 07 da 08 4a 25 3d 30 |ges%....|....J%=0|
|000012c0| 0d 07 e4 0f 56 30 25 3d | 50 73 70 61 63 65 25 0d |....V0%=|Pspace%.|
|000012d0| 07 ee 12 56 31 25 3d 56 | 30 25 2b 50 73 69 7a 65 |...V1%=V|0%+Psize|
|000012e0| 25 0d 07 f8 12 4d 25 3d | 56 53 49 5f 4f 6c 64 4d |%....M%=|VSI_OldM|
|000012f0| 61 70 25 0d 08 02 16 e3 | 20 49 25 3d 30 20 b8 20 |ap%.....| I%=0 . |
|00001300| 6e 70 61 67 65 73 25 2d | 31 0d 08 0c 0d 20 20 4d |npages%-|1.... M|
|00001310| 25 21 30 3d 49 25 0d 08 | 16 0e 20 20 4d 25 21 31 |%!0=I%..|.. M%!1|
|00001320| 32 3d 2d 31 0d 08 20 22 | 20 20 c8 99 20 22 4f 53 |2=-1.. "| .. "OS|
|00001330| 5f 52 65 61 64 4d 65 6d | 4d 61 70 45 6e 74 72 69 |_ReadMem|MapEntri|
|00001340| 65 73 22 2c 4d 25 0d 08 | 2a 0d 20 20 56 25 3d 4d |es",M%..|*. V%=M|
|00001350| 25 21 34 0d 08 34 1e 20 | 20 e7 20 56 25 20 3e 3d |%!4..4. | . V% >=|
|00001360| 20 56 30 25 20 80 20 56 | 25 20 3c 20 56 31 25 20 | V0% . V|% < V1% |
|00001370| 8c 0d 08 3e 10 20 20 20 | 20 4d 25 3d 4d 25 2b 31 |...>. | M%=M%+1|
|00001380| 32 0d 08 48 18 20 20 20 | 20 56 53 49 5f 50 66 6c |2..H. | VSI_Pfl|
|00001390| 61 67 73 25 3f 4a 25 3d | 30 0d 08 52 0f 20 20 20 |ags%?J%=|0..R. |
|000013a0| 20 4a 25 3d 4a 25 2b 31 | 0d 08 5c 07 20 20 cd 0d | J%=J%+1|..\. ..|
|000013b0| 08 66 05 ed 0d 08 70 0d | 4d 25 21 30 20 3d 20 2d |.f....p.|M%!0 = -|
|000013c0| 31 0d 08 7a 04 0d 08 84 | 1a e3 20 49 25 3d 30 20 |1..z....|.. I%=0 |
|000013d0| b8 20 56 53 49 5f 56 70 | 61 67 65 73 25 2d 31 0d |. VSI_Vp|ages%-1.|
|000013e0| 08 8e 18 20 20 56 53 49 | 5f 56 66 6c 61 67 73 25 |... VSI|_Vflags%|
|000013f0| 3f 49 25 3d 32 35 35 0d | 08 98 05 ed 0d 08 a2 04 |?I%=255.|........|
|00001400| 0d 08 ac 18 e7 20 4a 25 | 20 3c 3e 20 56 53 49 5f |..... J%| <> VSI_|
|00001410| 50 61 67 65 73 25 20 8c | 0d 08 b6 11 20 20 f1 56 |Pages% .|.... .V|
|00001420| 30 25 2c 56 31 25 2c 4a | 25 0d 08 c0 25 20 20 85 |0%,V1%,J|%...% .|
|00001430| 20 31 2c 20 22 50 61 67 | 65 20 63 6f 75 6e 74 20 | 1, "Pag|e count |
|00001440| 77 72 6f 6e 67 20 73 6f | 6d 65 68 6f 77 22 0d 08 |wrong so|mehow"..|
|00001450| ca 05 cd 0d 08 d4 04 0d | 08 de 21 50 41 47 45 5f |........|..!PAGE_|
|00001460| 4c 4e 20 3d 20 aa 28 56 | 53 49 5f 50 61 67 65 53 |LN = .(V|SI_PageS|
|00001470| 69 7a 65 25 29 2f aa 32 | 0d 08 e8 0b 50 43 20 3d |ize%)/.2|....PC =|
|00001480| 20 31 35 0d 08 f2 18 50 | 48 59 53 49 43 41 4c 20 | 15....P|HYSICAL |
|00001490| 3d 20 26 30 32 30 30 30 | 30 30 30 0d 08 fc 13 53 |= &02000|000....S|
|000014a0| 4d 41 4c 4c 5f 4d 41 58 | 20 3d 20 32 35 35 0d 09 |MALL_MAX| = 255..|
|000014b0| 06 1b 53 74 61 74 75 73 | 5f 62 69 74 73 20 3d 20 |..Status|_bits = |
|000014c0| 26 46 43 30 30 30 30 30 | 33 0d 09 10 04 0d 09 1a |&FC00000|3.......|
|000014d0| 28 de 20 73 70 61 63 65 | 25 20 33 30 30 30 3a 20 |(. space|% 3000: |
|000014e0| f4 20 53 70 61 63 65 20 | 66 6f 72 20 61 73 73 65 |. Space |for asse|
|000014f0| 6d 62 6c 65 72 0d 09 24 | 04 0d 09 2e 14 e3 20 6f |mbler..$|...... o|
|00001500| 70 74 25 3d 30 20 b8 20 | 32 20 88 20 32 0d 09 38 |pt%=0 . |2 . 2..8|
|00001510| 0d 50 25 3d 73 70 61 63 | 65 25 0d 09 42 0d 5b 4f |.P%=spac|e%..B.[O|
|00001520| 50 54 20 6f 70 74 25 0d | 09 4c 14 20 20 20 20 20 |PT opt%.|.L. |
|00001530| 20 20 20 20 20 20 41 4c | 49 47 4e 0d 09 56 1f 2e | AL|IGN..V..|
|00001540| 52 65 67 44 75 6d 70 20 | 20 20 45 51 55 53 20 c4 |RegDump | EQUS .|
|00001550| 31 36 2c 22 2e 2e 2e 2e | 22 29 0d 09 60 15 2e 52 |16,"....|")..`..R|
|00001560| 65 73 74 61 72 74 50 43 | 20 45 51 55 44 20 30 0d |estartPC| EQUD 0.|
|00001570| 09 6a 15 2e 56 53 49 5f | 41 64 72 20 20 20 45 51 |.j..VSI_|Adr EQ|
|00001580| 55 44 20 30 0d 09 74 19 | 2e 4f 6c 64 5f 41 62 6f |UD 0..t.|.Old_Abo|
|00001590| 72 74 5f 50 72 65 20 45 | 51 55 44 20 30 0d 09 7e |rt_Pre E|QUD 0..~|
|000015a0| 19 2e 4f 6c 64 5f 41 62 | 6f 72 74 5f 41 64 72 20 |..Old_Ab|ort_Adr |
|000015b0| 45 51 55 44 20 30 0d 09 | 88 1e 2e 56 5f 53 70 61 |EQUD 0..|...V_Spa|
|000015c0| 63 65 20 20 20 45 51 55 | 44 20 56 53 49 5f 53 70 |ce EQU|D VSI_Sp|
|000015d0| 61 63 65 25 0d 09 92 1c | 2e 56 5f 54 6f 70 20 20 |ace%....|.V_Top |
|000015e0| 20 20 20 45 51 55 44 20 | 56 53 49 5f 54 6f 70 25 | EQUD |VSI_Top%|
|000015f0| 0d 09 9c 15 2e 56 5f 4e | 65 78 74 20 20 20 20 45 |.....V_N|ext E|
|00001600| 51 55 44 20 30 0d 09 a6 | 1f 2e 56 5f 4e 65 77 4d |QUD 0...|..V_NewM|
|00001610| 61 70 20 20 45 51 55 44 | 20 56 53 49 5f 4e 65 77 |ap EQUD| VSI_New|
|00001620| 4d 61 70 25 0d 09 b0 15 | 2e 56 5f 46 69 6c 65 20 |Map%....|.V_File |
|00001630| 20 20 20 45 51 55 44 20 | 30 0d 09 ba 1e 2e 56 5f | EQUD |0.....V_|
|00001640| 4d 65 6d 4d 61 70 20 20 | 45 51 55 53 20 c4 33 2c |MemMap |EQUS .3,|
|00001650| 22 2e 2e 2e 2e 22 29 0d | 09 c4 16 20 20 20 20 20 |"....").|... |
|00001660| 20 20 20 20 20 20 45 51 | 55 44 20 2d 31 0d 09 ce | EQ|UD -1...|
|00001670| 1f 2e 56 5f 50 66 6c 61 | 67 73 20 20 45 51 55 44 |..V_Pfla|gs EQUD|
|00001680| 20 56 53 49 5f 50 66 6c | 61 67 73 25 0d 09 d8 1f | VSI_Pfl|ags%....|
|00001690| 2e 56 5f 56 66 6c 61 67 | 73 20 20 45 51 55 44 20 |.V_Vflag|s EQUD |
|000016a0| 56 53 49 5f 56 66 6c 61 | 67 73 25 0d 09 e2 1f 2e |VSI_Vfla|gs%.....|
|000016b0| 72 65 67 73 20 20 20 20 | 20 20 45 51 55 53 20 c4 |regs | EQUS .|
|000016c0| 31 36 2c 22 2e 2e 2e 2e | 22 29 0d 09 ec 04 0d 09 |16,"....|")......|
|000016d0| f6 3b 5c 20 20 53 70 65 | 63 69 61 6c 20 63 6f 64 |.;\ Spe|cial cod|
|000016e0| 65 20 74 6f 20 64 65 61 | 6c 20 77 69 74 68 20 61 |e to dea|l with a|
|000016f0| 6e 20 65 6d 75 6c 61 74 | 65 64 20 66 6c 6f 61 74 |n emulat|ed float|
|00001700| 69 6e 67 20 70 6f 69 6e | 74 0d 0a 00 24 5c 20 20 |ing poin|t...$\ |
|00001710| 6f 70 65 72 61 74 69 6f | 6e 20 68 61 76 69 6e 67 |operatio|n having|
|00001720| 20 61 20 64 61 74 61 20 | 61 62 6f 72 74 0d 0a 0a | a data |abort...|
|00001730| 3f 5c 20 20 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |?\ ****|********|
|00001740| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00001750| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00001760| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 0d 0a 14 3f |********|****...?|
|00001770| 5c 20 20 2a 2a 2a 2a 2a | 20 52 61 74 68 65 72 20 |\ *****| Rather |
|00001780| 68 65 75 72 69 73 74 69 | 63 20 61 6e 64 20 6d 61 |heuristi|c and ma|
|00001790| 79 20 66 61 69 6c 20 77 | 69 74 68 20 52 69 73 63 |y fail w|ith Risc|
|000017a0| 2d 4f 53 20 33 20 2a 2a | 2a 2a 2a 0d 0a 1e 3f 5c |-OS 3 **|***...?\|
|000017b0| 20 20 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a | ******|********|
|000017c0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|000017d0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|000017e0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 0d 0a 28 2d 5c 20 |********|**..(-\ |
|000017f0| 20 4d 75 73 74 20 62 65 | 20 69 6e 20 73 75 70 65 | Must be| in supe|
|00001800| 72 76 69 73 6f 72 20 6d | 6f 64 65 20 69 6e 20 61 |rvisor m|ode in a|
|00001810| 20 6d 6f 64 75 6c 65 0d | 0a 32 3d 5c 20 20 54 68 | module.|.2=\ Th|
|00001820| 65 20 73 74 61 63 6b 20 | 6d 75 73 74 20 68 61 76 |e stack |must hav|
|00001830| 65 20 74 68 65 20 72 65 | 67 69 73 74 65 72 73 20 |e the re|gisters |
|00001840| 69 6e 20 61 6e 64 20 6e | 6f 74 68 69 6e 67 20 65 |in and n|othing e|
|00001850| 6c 73 65 2e 0d 0a 3c 30 | 5c 20 20 61 6e 64 20 74 |lse...<0|\ and t|
|00001860| 68 65 20 73 61 76 65 64 | 20 70 63 20 73 68 6f 75 |he saved| pc shou|
|00001870| 6c 64 20 62 65 20 66 6f | 72 20 75 73 65 72 20 6d |ld be fo|r user m|
|00001880| 6f 64 65 2e 0d 0a 46 42 | 5c 20 20 46 70 20 65 6d |ode...FB|\ Fp em|
|00001890| 75 6c 61 74 6f 72 20 73 | 65 65 6d 73 20 74 6f 20 |ulator s|eems to |
|000018a0| 75 70 64 61 74 65 20 61 | 6c 6c 20 74 68 65 20 72 |update a|ll the r|
|000018b0| 65 67 69 73 74 65 72 73 | 20 63 6f 72 72 65 63 74 |egisters| correct|
|000018c0| 6c 79 20 66 6f 72 0d 0a | 50 3a 5c 20 20 61 20 64 |ly for..|P:\ a d|
|000018d0| 61 74 61 20 61 62 6f 72 | 74 20 65 78 63 65 70 74 |ata abor|t except|
|000018e0| 20 74 68 65 20 50 43 20 | 2d 20 77 68 65 77 2c 20 | the PC |- whew, |
|000018f0| 74 68 61 6e 6b 20 79 6f | 75 20 41 63 6f 72 6e 2e |thank yo|u Acorn.|
|00001900| 0d 0a 5a 04 0d 0a 64 0d | 2e 46 70 5f 53 74 61 63 |..Z...d.|.Fp_Stac|
|00001910| 6b 0d 0a 6e 3b 20 20 45 | 51 55 44 20 20 20 20 26 |k..n; E|QUD &|
|00001920| 30 31 43 30 31 46 43 30 | 20 20 20 20 20 20 20 20 |01C01FC0| |
|00001930| 20 5c 20 73 74 61 63 6b | 20 74 6f 70 2d 26 34 30 | \ stack| top-&40|
|00001940| 2c 20 6d 61 79 20 63 68 | 61 6e 67 65 0d 0a 78 04 |, may ch|ange..x.|
|00001950| 0d 0a 82 12 2e 46 70 5f | 64 61 74 61 5f 61 62 6f |.....Fp_|data_abo|
|00001960| 72 74 0d 0a 8c 14 20 20 | 4d 4f 56 20 20 20 20 20 |rt.... |MOV |
|00001970| 52 30 2c 20 23 30 0d 0a | 96 1a 20 20 4c 44 52 20 |R0, #0..|.. LDR |
|00001980| 20 20 20 20 52 31 2c 20 | 46 70 5f 53 74 61 63 6b | R1, |Fp_Stack|
|00001990| 0d 0a a0 15 20 20 43 4d | 50 20 20 20 20 20 52 31 |.... CM|P R1|
|000019a0| 2c 20 52 31 33 0d 0a aa | 1a 20 20 42 4e 45 20 20 |, R13...|. BNE |
|000019b0| 20 20 20 44 6f 5f 4f 6c | 64 5f 41 62 6f 72 74 0d | Do_Ol|d_Abort.|
|000019c0| 0a b4 1f 20 20 80 20 20 | 20 20 20 52 32 2c 20 52 |... . | R2, R|
|000019d0| 31 34 2c 20 23 26 30 43 | 30 30 30 30 30 33 0d 0a |14, #&0C|000003..|
|000019e0| be 14 20 20 43 4d 50 20 | 20 20 20 20 52 32 2c 20 |.. CMP | R2, |
|000019f0| 23 33 0d 0a c8 1a 20 20 | 42 4e 45 20 20 20 20 20 |#3.... |BNE |
|00001a00| 44 6f 5f 4f 6c 64 5f 41 | 62 6f 72 74 0d 0a d2 1d |Do_Old_A|bort....|
|00001a10| 20 20 4c 44 52 20 20 20 | 20 20 52 33 2c 20 5b 52 | LDR | R3, [R|
|00001a20| 31 2c 20 23 34 2a 50 43 | 5d 0d 0a dc 1c 20 20 54 |1, #4*PC|].... T|
|00001a30| 53 54 20 20 20 20 20 52 | 33 2c 20 23 26 30 43 30 |ST R|3, #&0C0|
|00001a40| 30 30 30 30 33 0d 0a e6 | 1a 20 20 42 4e 45 20 20 |00003...|. BNE |
|00001a50| 20 20 20 44 6f 5f 4f 6c | 64 5f 41 62 6f 72 74 0d | Do_Ol|d_Abort.|
|00001a60| 0a f0 19 20 20 41 44 52 | 20 20 20 20 20 52 30 2c |... ADR| R0,|
|00001a70| 20 52 65 67 44 75 6d 70 | 0d 0a fa 1b 20 20 4c 44 | RegDump|.... LD|
|00001a80| 4d 49 41 20 20 20 52 31 | 33 21 2c 20 7b 52 31 2d |MIA R1|3!, {R1-|
|00001a90| 52 38 7d 0d 0b 04 1a 20 | 20 53 54 4d 49 41 20 20 |R8}.... | STMIA |
|00001aa0| 20 52 30 21 2c 20 7b 52 | 31 2d 52 38 7d 0d 0b 0e | R0!, {R|1-R8}...|
|00001ab0| 20 20 20 4c 44 4d 49 41 | 20 20 20 52 31 33 21 2c | LDMIA| R13!,|
|00001ac0| 20 7b 52 31 2d 52 37 2c | 20 52 31 34 7d 0d 0b 18 | {R1-R7,| R14}...|
|00001ad0| 44 20 20 41 44 44 20 20 | 20 20 20 52 31 34 2c 20 |D ADD | R14, |
|00001ae0| 52 31 34 2c 20 23 34 20 | 20 20 20 20 20 20 20 20 |R14, #4 | |
|00001af0| 20 5c 20 4d 61 6b 65 20 | 69 74 20 6c 6f 6f 6b 20 | \ Make |it look |
|00001b00| 6c 69 6b 65 20 61 20 64 | 61 74 61 20 61 62 6f 72 |like a d|ata abor|
|00001b10| 74 0d 0b 22 1f 20 20 53 | 54 4d 49 41 20 20 20 52 |t..". S|TMIA R|
|00001b20| 30 21 2c 20 7b 52 31 2d | 52 37 2c 20 52 31 34 7d |0!, {R1-|R7, R14}|
|00001b30| 0d 0b 2c 19 20 20 42 20 | 20 20 20 20 20 20 46 70 |..,. B | Fp|
|00001b40| 5f 43 6f 6d 65 62 61 63 | 6b 0d 0b 36 04 0d 0b 40 |_Comebac|k..6...@|
|00001b50| 16 5c 20 20 50 72 65 2d | 46 65 74 63 68 20 41 62 |.\ Pre-|Fetch Ab|
|00001b60| 6f 72 74 0d 0b 4a 36 5c | 20 20 55 6e 64 65 66 69 |ort..J6\| Undefi|
|00001b70| 6e 65 64 20 69 6e 73 74 | 72 75 63 74 69 6f 6e 20 |ned inst|ruction |
|00001b80| 69 6e 20 6c 61 73 74 20 | 77 6f 72 64 20 6f 66 20 |in last |word of |
|00001b90| 70 61 67 65 20 77 69 6c | 6c 0d 0b 54 35 5c 20 20 |page wil|l..T5\ |
|00001ba0| 63 61 75 73 65 20 61 20 | 70 72 65 2d 66 65 74 63 |cause a |pre-fetc|
|00001bb0| 68 20 61 62 6f 72 74 20 | 66 69 72 73 74 2e 20 54 |h abort |first. T|
|00001bc0| 68 69 73 20 69 73 20 68 | 61 6e 64 6c 65 64 0d 0b |his is h|andled..|
|00001bd0| 5e 14 5c 20 20 69 6e 20 | 4c 6f 61 64 5f 50 61 67 |^.\ in |Load_Pag|
|00001be0| 65 2e 0d 0b 68 04 0d 0b | 72 12 2e 49 6e 74 5f 41 |e...h...|r..Int_A|
|00001bf0| 62 6f 72 74 5f 50 72 65 | 0d 0b 7c 42 20 20 54 53 |bort_Pre|..|B TS|
|00001c00| 54 20 20 20 20 20 52 31 | 34 2c 20 23 26 30 43 30 |T R1|4, #&0C0|
|00001c10| 30 30 30 30 33 20 20 20 | 20 20 20 20 5c 20 4f 6e |00003 | \ On|
|00001c20| 6c 79 20 68 61 6e 64 6c | 65 20 56 53 49 20 69 6e |ly handl|e VSI in|
|00001c30| 20 55 73 65 72 20 6d 6f | 64 65 0d 0b 86 1f 20 20 | User mo|de.... |
|00001c40| 4c 44 52 4e 45 20 20 20 | 50 43 2c 20 4f 6c 64 5f |LDRNE |PC, Old_|
|00001c50| 41 62 6f 72 74 5f 50 72 | 65 0d 0b 90 19 20 20 53 |Abort_Pr|e.... S|
|00001c60| 54 52 20 20 20 20 20 52 | 30 2c 20 52 65 67 44 75 |TR R|0, RegDu|
|00001c70| 6d 70 0d 0b 9a 1b 20 20 | 41 44 52 20 20 20 20 20 |mp.... |ADR |
|00001c80| 52 30 2c 20 52 65 67 44 | 75 6d 70 2b 34 0d 0b a4 |R0, RegD|ump+4...|
|00001c90| 39 20 20 53 54 4d 49 41 | 20 20 20 52 30 2c 20 7b |9 STMIA| R0, {|
|00001ca0| 52 31 2d 52 31 34 7d 5e | 20 20 20 20 20 20 20 20 |R1-R14}^| |
|00001cb0| 20 5c 20 44 75 6d 70 20 | 55 73 65 72 20 72 65 67 | \ Dump |User reg|
|00001cc0| 69 73 74 65 72 73 0d 0b | ae 29 20 20 4d 4f 56 20 |isters..|.) MOV |
|00001cd0| 20 20 20 20 52 30 2c 20 | 52 30 20 20 20 20 20 20 | R0, |R0 |
|00001ce0| 20 20 20 20 20 20 20 20 | 20 20 5c 20 4e 4f 50 0d | | \ NOP.|
|00001cf0| 0b b8 1f 20 20 53 54 52 | 20 20 20 20 20 52 31 34 |... STR| R14|
|00001d00| 2c 20 52 65 67 44 75 6d | 70 2b 34 2a 50 43 0d 0b |, RegDum|p+4*PC..|
|00001d10| c2 34 20 20 53 55 42 20 | 20 20 20 20 52 31 2c 20 |.4 SUB | R1, |
|00001d20| 52 31 34 2c 20 23 34 20 | 20 20 20 20 20 20 20 20 |R14, #4 | |
|00001d30| 20 20 5c 20 2d 3e 20 6f | 70 20 74 6f 20 72 65 74 | \ -> o|p to ret|
|00001d40| 72 79 0d 0b cc 1b 20 20 | 53 54 52 20 20 20 20 20 |ry.... |STR |
|00001d50| 52 31 2c 20 52 65 73 74 | 61 72 74 50 43 0d 0b d6 |R1, Rest|artPC...|
|00001d60| 31 20 20 42 49 43 20 20 | 20 20 20 52 31 2c 20 52 |1 BIC | R1, R|
|00001d70| 31 2c 20 23 53 74 61 74 | 75 73 5f 62 69 74 73 20 |1, #Stat|us_bits |
|00001d80| 20 5c 20 56 53 49 20 61 | 64 64 72 65 73 73 0d 0b | \ VSI a|ddress..|
|00001d90| e0 45 20 20 4d 56 4e 20 | 20 20 20 20 52 30 2c 20 |.E MVN | R0, |
|00001da0| 23 30 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |#0 | |
|00001db0| 20 20 5c 20 50 72 65 2d | 46 65 74 63 68 20 2c 20 | \ Pre-|Fetch , |
|00001dc0| 62 69 74 20 32 30 20 73 | 65 74 20 66 6f 72 20 72 |bit 20 s|et for r|
|00001dd0| 65 61 64 0d 0b ea 17 20 | 20 42 20 20 20 20 20 20 |ead.... | B |
|00001de0| 20 4c 6f 61 64 5f 50 61 | 67 65 0d 0b f4 04 0d 0b | Load_Pa|ge......|
|00001df0| fe 11 5c 20 20 44 61 74 | 61 20 41 62 6f 72 74 0d |..\ Dat|a Abort.|
|00001e00| 0c 08 1f 5c 20 20 52 65 | 73 74 6f 72 65 20 61 6e |...\ Re|store an|
|00001e10| 79 20 62 61 73 65 20 61 | 64 64 72 65 73 73 0d 0c |y base a|ddress..|
|00001e20| 12 3b 5c 20 20 43 61 6c | 63 75 6c 61 74 65 20 61 |.;\ Cal|culate a|
|00001e30| 64 64 72 65 73 73 20 63 | 61 75 73 69 6e 67 20 66 |ddress c|ausing f|
|00001e40| 61 75 6c 74 2c 20 6f 72 | 20 61 74 20 6c 65 61 73 |ault, or| at leas|
|00001e50| 74 20 70 6f 69 6e 74 65 | 72 0d 0c 1c 28 5c 20 20 |t pointe|r...(\ |
|00001e60| 69 6e 74 6f 20 76 61 6c | 69 64 20 70 61 67 65 20 |into val|id page |
|00001e70| 62 65 66 6f 72 65 20 74 | 68 65 20 66 61 75 6c 74 |before t|he fault|
|00001e80| 2e 0d 0c 26 04 0d 0c 30 | 12 2e 49 6e 74 5f 41 62 |...&...0|..Int_Ab|
|00001e90| 6f 72 74 5f 41 64 72 0d | 0c 3a 19 20 20 53 54 52 |ort_Adr.|.:. STR|
|00001ea0| 20 20 20 20 20 52 30 2c | 20 52 65 67 44 75 6d 70 | R0,| RegDump|
|00001eb0| 0d 0c 44 1b 20 20 41 44 | 52 20 20 20 20 20 52 30 |..D. AD|R R0|
|00001ec0| 2c 20 52 65 67 44 75 6d | 70 2b 34 0d 0c 4e 39 20 |, RegDum|p+4..N9 |
|00001ed0| 20 53 54 4d 49 41 20 20 | 20 52 30 2c 20 7b 52 31 | STMIA | R0, {R1|
|00001ee0| 2d 52 31 34 7d 5e 20 20 | 20 20 20 20 20 20 20 5c |-R14}^ | \|
|00001ef0| 20 44 75 6d 70 20 55 73 | 65 72 20 72 65 67 69 73 | Dump Us|er regis|
|00001f00| 74 65 72 73 0d 0c 58 29 | 20 20 4d 4f 56 20 20 20 |ters..X)| MOV |
|00001f10| 20 20 52 30 2c 20 52 30 | 20 20 20 20 20 20 20 20 | R0, R0| |
|00001f20| 20 20 20 20 20 20 20 20 | 5c 20 4e 4f 50 0d 0c 62 | |\ NOP..b|
|00001f30| 1f 20 20 53 54 52 20 20 | 20 20 20 52 31 34 2c 20 |. STR | R14, |
|00001f40| 52 65 67 44 75 6d 70 2b | 34 2a 50 43 0d 0c 6c 42 |RegDump+|4*PC..lB|
|00001f50| 20 20 54 53 54 20 20 20 | 20 20 52 31 34 2c 20 23 | TST | R14, #|
|00001f60| 26 30 43 30 30 30 30 30 | 33 20 20 20 20 20 20 20 |&0C00000|3 |
|00001f70| 5c 20 4f 6e 6c 79 20 68 | 61 6e 64 6c 65 20 56 53 |\ Only h|andle VS|
|00001f80| 49 20 69 6e 20 75 73 65 | 72 20 6d 6f 64 65 0d 0c |I in use|r mode..|
|00001f90| 76 41 20 20 42 4e 45 20 | 20 20 20 20 46 70 5f 64 |vA BNE | Fp_d|
|00001fa0| 61 74 61 5f 61 62 6f 72 | 74 20 20 20 20 20 20 20 |ata_abor|t |
|00001fb0| 20 20 5c 20 44 6f 20 73 | 70 65 63 69 61 6c 20 45 | \ Do s|pecial E|
|00001fc0| 6d 75 6c 61 74 65 64 20 | 46 70 20 66 72 69 67 0d |mulated |Fp frig.|
|00001fd0| 0c 80 10 2e 46 70 5f 43 | 6f 6d 65 62 61 63 6b 0d |....Fp_C|omeback.|
|00001fe0| 0c 8a 34 20 20 53 55 42 | 20 20 20 20 20 52 31 2c |..4 SUB| R1,|
|00001ff0| 20 52 31 34 2c 20 23 38 | 20 20 20 20 20 20 20 20 | R14, #8| |
|00002000| 20 20 20 5c 20 2d 3e 20 | 6f 70 20 74 6f 20 72 65 | \ -> |op to re|
|00002010| 74 72 79 0d 0c 94 1b 20 | 20 53 54 52 20 20 20 20 |try.... | STR |
|00002020| 20 52 31 2c 20 52 65 73 | 74 61 72 74 50 43 0d 0c | R1, Res|tartPC..|
|00002030| 9e 22 20 20 42 49 43 20 | 20 20 20 20 52 31 2c 20 |." BIC | R1, |
|00002040| 52 31 2c 20 23 53 74 61 | 74 75 73 5f 62 69 74 73 |R1, #Sta|tus_bits|
|00002050| 0d 0c a8 04 0d 0c b2 27 | 5c 20 4e 6f 77 20 61 6e |.......'|\ Now an|
|00002060| 61 6c 79 73 65 20 74 68 | 65 20 66 61 69 6c 69 6e |alyse th|e failin|
|00002070| 67 20 6f 70 65 72 61 74 | 69 6f 6e 0d 0c bc 11 5c |g operat|ion....\|
|00002080| 20 20 52 30 20 6f 70 20 | 63 6f 64 65 0d 0c c6 15 | R0 op |code....|
|00002090| 5c 20 20 52 31 20 56 53 | 49 20 61 64 64 72 65 73 |\ R1 VS|I addres|
|000020a0| 73 0d 0c d0 13 5c 20 20 | 52 32 20 2d 3e 52 65 67 |s....\ |R2 ->Reg|
|000020b0| 44 75 6d 70 0d 0c da 1e | 5c 20 20 52 33 20 62 61 |Dump....|\ R3 ba|
|000020c0| 73 65 20 72 65 67 69 73 | 74 65 72 20 6e 75 6d 62 |se regis|ter numb|
|000020d0| 65 72 0d 0c e4 04 0d 0c | ee 19 20 20 41 44 52 20 |er......|.. ADR |
|000020e0| 20 20 20 20 52 32 2c 20 | 52 65 67 44 75 6d 70 0d | R2, |RegDump.|
|000020f0| 0c f8 34 20 20 4c 44 52 | 54 20 20 20 20 52 30 2c |..4 LDR|T R0,|
|00002100| 20 5b 52 31 5d 20 20 20 | 20 20 20 20 20 20 20 20 | [R1] | |
|00002110| 20 20 20 5c 20 47 65 74 | 20 66 61 69 6c 69 6e 67 | \ Get| failing|
|00002120| 20 6f 70 0d 0d 02 1d 20 | 20 4d 4f 56 20 20 20 20 | op.... | MOV |
|00002130| 20 52 33 2c 20 52 30 2c | 20 4c 53 52 20 23 31 36 | R3, R0,| LSR #16|
|00002140| 0d 0d 0c 3c 20 20 80 20 | 20 20 20 20 52 33 2c 20 |...< . | R3, |
|00002150| 52 33 2c 20 23 31 35 20 | 20 20 20 20 20 20 20 20 |R3, #15 | |
|00002160| 20 20 5c 20 47 65 74 20 | 62 61 73 65 20 72 65 67 | \ Get |base reg|
|00002170| 69 73 74 65 72 20 6e 75 | 6d 62 65 72 0d 0d 16 37 |ister nu|mber...7|
|00002180| 20 20 4c 44 52 20 20 20 | 20 20 52 31 2c 20 5b 52 | LDR | R1, [R|
|00002190| 32 2c 20 52 33 2c 20 4c | 53 4c 20 23 32 5d 20 20 |2, R3, L|SL #2] |
|000021a0| 5c 20 41 6e 64 20 67 65 | 74 20 74 68 65 20 76 61 |\ And ge|t the va|
|000021b0| 6c 75 65 0d 0d 20 1e 20 | 20 80 20 20 20 20 20 52 |lue.. . | . R|
|000021c0| 37 2c 20 52 30 2c 20 23 | 26 30 45 30 30 30 30 30 |7, R0, #|&0E00000|
|000021d0| 30 0d 0d 2a 1c 20 20 43 | 4d 50 20 20 20 20 20 52 |0..*. C|MP R|
|000021e0| 37 2c 20 23 26 30 34 30 | 30 30 30 30 30 0d 0d 34 |7, #&040|00000..4|
|000021f0| 1c 20 20 43 4d 50 4e 45 | 20 20 20 52 37 2c 20 23 |. CMPNE| R7, #|
|00002200| 26 30 36 30 30 30 30 30 | 30 0d 0d 3e 14 20 20 42 |&0600000|0..>. B|
|00002210| 45 51 20 20 20 20 20 6c | 64 72 73 74 72 0d 0d 48 |EQ l|drstr..H|
|00002220| 1c 20 20 43 4d 50 20 20 | 20 20 20 52 37 2c 20 23 |. CMP | R7, #|
|00002230| 26 30 38 30 30 30 30 30 | 30 0d 0d 52 14 20 20 42 |&0800000|0..R. B|
|00002240| 45 51 20 20 20 20 20 6c | 64 6d 73 74 6d 0d 0d 5c |EQ l|dmstm..\|
|00002250| 1c 20 20 43 4d 50 20 20 | 20 20 20 52 37 2c 20 23 |. CMP | R7, #|
|00002260| 26 30 43 30 30 30 30 30 | 30 0d 0d 66 14 20 20 42 |&0C00000|0..f. B|
|00002270| 45 51 20 20 20 20 20 6c | 64 63 73 74 63 0d 0d 70 |EQ l|dcstc..p|
|00002280| 3d 20 20 80 20 20 20 20 | 20 52 37 2c 20 52 30 2c |= . | R7, R0,|
|00002290| 20 23 26 30 46 42 30 30 | 30 30 30 20 20 20 20 20 | #&0FB00|000 |
|000022a0| 20 5c 20 26 20 26 30 46 | 42 30 30 46 46 30 20 3d | \ & &0F|B00FF0 =|
|000022b0| 20 26 30 31 30 30 30 30 | 39 30 0d 0d 7a 1c 20 20 | &010000|90..z. |
|000022c0| 43 4d 50 20 20 20 20 20 | 52 37 2c 20 23 26 30 31 |CMP |R7, #&01|
|000022d0| 30 30 30 30 30 30 0d 0d | 84 1e 20 20 80 45 51 20 |000000..|.. .EQ |
|000022e0| 20 20 52 37 2c 20 52 30 | 2c 20 23 26 30 30 30 30 | R7, R0|, #&0000|
|000022f0| 30 46 46 30 0d 0d 8e 1c | 20 20 43 4d 50 45 51 20 |0FF0....| CMPEQ |
|00002300| 20 20 52 37 2c 20 23 26 | 30 30 30 30 30 30 39 30 | R7, #&|00000090|
|00002310| 0d 0d 98 1a 20 20 42 4e | 45 20 20 20 20 20 44 6f |.... BN|E Do|
|00002320| 5f 4f 6c 64 5f 41 62 6f | 72 74 0d 0d a2 08 2e 73 |_Old_Abo|rt.....s|
|00002330| 77 70 0d 0d ac 3e 5c 20 | 42 69 74 20 32 30 20 3d |wp...>\ |Bit 20 =|
|00002340| 20 30 20 66 6f 72 20 77 | 72 69 74 65 20 6f 70 20 | 0 for w|rite op |
|00002350| 73 6f 20 6c 65 61 76 65 | 20 6f 70 20 63 6f 64 65 |so leave| op code|
|00002360| 20 69 6e 20 52 30 20 75 | 6e 63 68 61 6e 67 65 64 | in R0 u|nchanged|
|00002370| 0d 0d b6 17 20 20 42 20 | 20 20 20 20 20 20 4c 6f |.... B | Lo|
|00002380| 61 64 5f 50 61 67 65 0d | 0d c0 04 0d 0d ca 21 5c |ad_Page.|......!\|
|00002390| 20 20 43 6f 64 65 20 66 | 6f 72 20 68 61 6e 64 6c | Code f|or handl|
|000023a0| 69 6e 67 20 4c 44 4d 2c | 20 53 54 4d 0d 0d d4 2c |ing LDM,| STM...,|
|000023b0| 5c 20 20 52 65 73 74 6f | 72 65 20 62 61 73 65 20 |\ Resto|re base |
|000023c0| 69 66 20 6e 65 63 65 73 | 73 61 72 79 20 28 6e 6f |if neces|sary (no|
|000023d0| 74 20 69 66 20 50 43 29 | 0d 0d de 27 5c 20 20 43 |t if PC)|...'\ C|
|000023e0| 61 6c 63 75 6c 61 74 65 | 20 73 74 61 72 74 20 74 |alculate| start t|
|000023f0| 72 61 6e 73 66 65 72 20 | 61 64 64 72 65 73 73 0d |ransfer |address.|
|00002400| 0d e8 04 0d 0d f2 0b 2e | 6c 64 6d 73 74 6d 0d 0d |........|ldmstm..|
|00002410| fc 1e 20 20 80 20 20 20 | 20 20 52 35 2c 20 52 30 |.. . | R5, R0|
|00002420| 2c 20 23 26 30 30 41 30 | 30 30 30 30 0d 0e 06 3f |, #&00A0|0000...?|
|00002430| 20 20 43 4d 50 20 20 20 | 20 20 52 35 2c 20 23 26 | CMP | R5, #&|
|00002440| 30 30 38 30 30 30 30 30 | 20 20 20 20 20 20 20 20 |00800000| |
|00002450| 20 20 5c 20 69 6e 63 72 | 65 6d 65 6e 74 2c 20 6e | \ incr|ement, n|
|00002460| 6f 20 77 72 69 74 65 62 | 61 63 6b 0d 0e 10 17 20 |o writeb|ack.... |
|00002470| 20 42 45 51 20 20 20 20 | 20 69 6e 64 65 78 65 64 | BEQ | indexed|
|00002480| 75 70 0d 0e 1a 3d 20 20 | 4d 4f 56 20 20 20 20 20 |up...= |MOV |
|00002490| 52 35 2c 20 23 30 20 20 | 20 20 20 20 20 20 20 20 |R5, #0 | |
|000024a0| 20 20 20 20 20 20 20 20 | 5c 20 53 69 7a 65 20 6f | |\ Size o|
|000024b0| 66 20 72 65 67 69 73 74 | 65 72 20 6c 69 73 74 0d |f regist|er list.|
|000024c0| 0e 24 46 20 20 4d 4f 56 | 53 20 20 20 20 52 36 2c |.$F MOV|S R6,|
|000024d0| 20 52 30 2c 20 4c 53 4c | 20 23 31 36 20 20 20 20 | R0, LSL| #16 |
|000024e0| 20 20 20 20 20 5c 20 54 | 6f 70 20 62 69 74 73 20 | \ T|op bits |
|000024f0| 63 6f 6e 74 61 69 6e 20 | 72 65 67 69 73 74 65 72 |contain |register|
|00002500| 20 6c 69 73 74 0d 0e 2e | 0d 2e 72 65 67 63 6f 75 | list...|..regcou|
|00002510| 6e 74 0d 0e 38 3c 20 20 | 41 44 44 4e 45 20 20 20 |nt..8< |ADDNE |
|00002520| 52 35 2c 20 52 35 2c 20 | 23 34 20 20 20 20 20 20 |R5, R5, |#4 |
|00002530| 20 20 20 20 20 20 20 20 | 5c 20 34 20 62 79 74 65 | |\ 4 byte|
|00002540| 73 20 70 65 72 20 72 65 | 67 69 73 74 65 72 0d 0e |s per re|gister..|
|00002550| 42 39 20 20 53 55 42 20 | 20 20 20 20 52 37 2c 20 |B9 SUB | R7, |
|00002560| 52 36 2c 20 23 31 20 20 | 20 20 20 20 20 20 20 20 |R6, #1 | |
|00002570| 20 20 20 20 5c 20 65 78 | 70 6f 73 65 20 6e 65 78 | \ ex|pose nex|
|00002580| 74 20 31 20 62 69 74 0d | 0e 4c 16 20 20 80 53 20 |t 1 bit.|.L. .S |
|00002590| 20 20 20 52 36 2c 20 52 | 37 2c 20 52 36 0d 0e 56 | R6, R|7, R6..V|
|000025a0| 16 20 20 42 4e 45 20 20 | 20 20 20 72 65 67 63 6f |. BNE | regco|
|000025b0| 75 6e 74 0d 0e 60 32 20 | 20 54 53 54 20 20 20 20 |unt..`2 | TST |
|000025c0| 20 52 30 2c 20 23 26 30 | 30 32 30 30 30 30 30 20 | R0, #&0|0200000 |
|000025d0| 20 20 20 20 20 20 20 20 | 20 5c 20 57 72 69 74 65 | | \ Write|
|000025e0| 62 61 63 6b 3f 0d 0e 6a | 3c 20 20 43 4d 50 4e 45 |back?..j|< CMPNE|
|000025f0| 20 20 20 52 33 2c 20 23 | 50 43 20 20 20 20 20 20 | R3, #|PC |
|00002600| 20 20 20 20 20 20 20 20 | 20 20 20 5c 20 64 6f 65 | | \ doe|
|00002610| 73 20 6e 6f 74 20 61 70 | 70 6c 79 20 74 6f 20 50 |s not ap|ply to P|
|00002620| 43 0d 0e 74 19 20 20 42 | 45 51 20 20 20 20 20 4e |C..t. B|EQ N|
|00002630| 6f 57 72 69 74 65 62 61 | 63 6b 0d 0e 7e 3b 20 20 |oWriteba|ck..~; |
|00002640| 54 53 54 20 20 20 20 20 | 52 30 2c 20 23 26 30 30 |TST |R0, #&00|
|00002650| 38 30 30 30 30 30 20 20 | 20 20 20 20 20 20 20 20 |800000 | |
|00002660| 5c 20 41 64 64 20 6f 66 | 66 73 65 74 20 74 6f 20 |\ Add of|fset to |
|00002670| 62 61 73 65 3f 0d 0e 88 | 39 20 20 53 55 42 4e 45 |base?...|9 SUBNE|
|00002680| 20 20 20 52 31 2c 20 52 | 31 2c 20 52 35 20 20 20 | R1, R|1, R5 |
|00002690| 20 20 20 20 20 20 20 20 | 20 20 20 5c 20 52 65 76 | | \ Rev|
|000026a0| 65 72 73 65 20 77 72 69 | 74 65 62 61 63 6b 0d 0e |erse wri|teback..|
|000026b0| 92 18 20 20 41 44 44 45 | 51 20 20 20 52 31 2c 20 |.. ADDE|Q R1, |
|000026c0| 52 31 2c 20 52 35 0d 0e | 9c 3e 20 20 53 54 52 20 |R1, R5..|.> STR |
|000026d0| 20 20 20 20 52 31 2c 20 | 5b 52 32 2c 20 52 33 2c | R1, |[R2, R3,|
|000026e0| 20 4c 53 4c 20 23 32 5d | 20 20 20 20 5c 20 42 61 | LSL #2]| \ Ba|
|000026f0| 73 65 20 72 65 67 69 73 | 74 65 72 20 72 65 73 74 |se regis|ter rest|
|00002700| 6f 72 65 64 0d 0e a6 10 | 2e 4e 6f 57 72 69 74 65 |ored....|.NoWrite|
|00002710| 62 61 63 6b 0d 0e b0 3b | 20 20 54 53 54 20 20 20 |back...;| TST |
|00002720| 20 20 52 30 2c 20 23 26 | 30 30 38 30 30 30 30 30 | R0, #&|00800000|
|00002730| 20 20 20 20 20 20 20 20 | 20 20 5c 20 41 64 64 20 | | \ Add |
|00002740| 6f 66 66 73 65 74 20 74 | 6f 20 62 61 73 65 3f 0d |offset t|o base?.|
|00002750| 0e ba 4b 20 20 42 4e 45 | 20 20 20 20 20 69 6e 64 |..K BNE| ind|
|00002760| 65 78 65 64 75 70 20 20 | 20 20 20 20 20 20 20 20 |exedup | |
|00002770| 20 20 20 20 20 5c 20 53 | 70 6c 69 74 20 69 6e 63 | \ S|plit inc|
|00002780| 72 65 6d 65 6e 74 69 6e | 67 20 61 6e 64 20 64 65 |rementin|g and de|
|00002790| 63 72 65 6d 65 6e 74 69 | 6e 67 0d 0e c4 18 20 20 |crementi|ng.... |
|000027a0| 53 55 42 20 20 20 20 20 | 52 31 2c 20 52 31 2c 20 |SUB |R1, R1, |
|000027b0| 52 35 0d 0e ce 35 20 20 | 54 53 54 20 20 20 20 20 |R5...5 |TST |
|000027c0| 52 30 2c 20 23 26 30 31 | 30 30 30 30 30 30 20 20 |R0, #&01|000000 |
|000027d0| 20 20 20 20 20 20 20 20 | 5c 20 50 72 65 2d 69 6e | |\ Pre-in|
|000027e0| 64 65 78 69 6e 67 3f 0d | 0e d8 18 20 20 41 44 44 |dexing?.|... ADD|
|000027f0| 45 51 20 20 20 52 31 2c | 20 52 31 2c 20 23 34 0d |EQ R1,| R1, #4.|
|00002800| 0e e2 17 20 20 42 20 20 | 20 20 20 20 20 4c 6f 61 |... B | Loa|
|00002810| 64 5f 50 61 67 65 0d 0e | ec 0e 2e 69 6e 64 65 78 |d_Page..|...index|
|00002820| 65 64 75 70 0d 0e f6 1c | 20 20 54 53 54 20 20 20 |edup....| TST |
|00002830| 20 20 52 30 2c 20 23 26 | 30 31 30 30 30 30 30 30 | R0, #&|01000000|
|00002840| 0d 0f 00 18 20 20 41 44 | 44 4e 45 20 20 20 52 31 |.... AD|DNE R1|
|00002850| 2c 20 52 31 2c 20 23 34 | 0d 0f 0a 17 20 20 42 20 |, R1, #4|.... B |
|00002860| 20 20 20 20 20 20 4c 6f | 61 64 5f 50 61 67 65 0d | Lo|ad_Page.|
|00002870| 0f 14 04 0d 0f 1e 24 5c | 20 20 43 6f 64 65 20 66 |......$\| Code f|
|00002880| 6f 72 20 68 61 6e 64 6c | 69 6e 67 20 4c 44 52 20 |or handl|ing LDR |
|00002890| 61 6e 64 20 53 54 52 0d | 0f 28 29 5c 20 20 42 61 |and STR.|.()\ Ba|
|000028a0| 73 65 20 64 6f 65 73 20 | 6e 6f 74 20 6e 65 65 64 |se does |not need|
|000028b0| 20 74 6f 20 62 65 20 72 | 65 73 74 6f 72 65 64 2e | to be r|estored.|
|000028c0| 0d 0f 32 24 5c 20 20 49 | 6d 6d 65 64 69 61 74 65 |..2$\ I|mmediate|
|000028d0| 20 63 6f 6e 73 74 61 6e | 74 20 69 73 20 30 2e 2e | constan|t is 0..|
|000028e0| 34 30 39 35 0d 0f 3c 46 | 5c 20 20 52 65 67 69 73 |4095..<F|\ Regis|
|000028f0| 74 65 72 20 6f 66 66 73 | 65 74 20 69 73 20 61 73 |ter offs|et is as|
|00002900| 20 66 6f 72 20 62 61 73 | 69 63 20 6f 70 20 65 78 | for bas|ic op ex|
|00002910| 63 65 70 74 20 6e 6f 20 | 73 68 69 66 74 20 62 79 |cept no |shift by|
|00002920| 20 72 65 67 69 73 74 65 | 72 2e 0d 0f 46 04 0d 0f | registe|r...F...|
|00002930| 50 0b 2e 6c 64 72 73 74 | 72 0d 0f 5a 15 20 20 43 |P..ldrst|r..Z. C|
|00002940| 4d 50 20 20 20 20 20 52 | 33 2c 20 23 50 43 0d 0f |MP R|3, #PC..|
|00002950| 64 3a 20 20 42 49 43 45 | 51 20 20 20 52 31 2c 20 |d: BICE|Q R1, |
|00002960| 52 31 2c 20 23 26 46 43 | 30 30 30 30 30 33 20 20 |R1, #&FC|000003 |
|00002970| 20 20 20 20 5c 20 4d 61 | 73 6b 20 69 66 20 62 61 | \ Ma|sk if ba|
|00002980| 73 65 20 69 73 20 50 43 | 0d 0f 6e 35 20 20 54 53 |se is PC|..n5 TS|
|00002990| 54 20 20 20 20 20 52 30 | 2c 20 23 26 30 31 30 30 |T R0|, #&0100|
|000029a0| 30 30 30 30 20 20 20 20 | 20 20 20 20 20 20 5c 20 |0000 | \ |
|000029b0| 50 72 65 2d 69 6e 64 65 | 78 69 6e 67 3f 0d 0f 78 |Pre-inde|xing?..x|
|000029c0| 17 20 20 42 45 51 20 20 | 20 20 20 4c 6f 61 64 5f |. BEQ | Load_|
|000029d0| 50 61 67 65 0d 0f 82 3a | 20 20 54 53 54 20 20 20 |Page...:| TST |
|000029e0| 20 20 52 30 2c 20 23 26 | 30 32 30 30 30 30 30 30 | R0, #&|02000000|
|000029f0| 20 20 20 20 20 20 20 20 | 20 20 5c 20 69 6e 64 65 | | \ inde|
|00002a00| 78 20 69 73 20 72 65 67 | 69 73 74 65 72 3f 0d 0f |x is reg|ister?..|
|00002a10| 8c 16 20 20 42 4e 45 20 | 20 20 20 20 69 6e 64 65 |.. BNE | inde|
|00002a20| 78 72 65 67 0d 0f 96 1d | 20 20 4d 4f 56 20 20 20 |xreg....| MOV |
|00002a30| 20 20 52 35 2c 20 52 30 | 2c 20 4c 53 4c 20 23 32 | R5, R0|, LSL #2|
|00002a40| 30 0d 0f a0 3b 20 20 54 | 53 54 20 20 20 20 20 52 |0...; T|ST R|
|00002a50| 30 2c 20 23 26 30 30 38 | 30 30 30 30 30 20 20 20 |0, #&008|00000 |
|00002a60| 20 20 20 20 20 20 20 5c | 20 41 64 64 20 6f 66 66 | \| Add off|
|00002a70| 73 65 74 20 74 6f 20 62 | 61 73 65 3f 0d 0f aa 21 |set to b|ase?...!|
|00002a80| 20 20 41 44 44 4e 45 20 | 20 20 52 31 2c 20 52 31 | ADDNE | R1, R1|
|00002a90| 2c 20 52 35 2c 20 4c 53 | 52 20 23 32 30 0d 0f b4 |, R5, LS|R #20...|
|00002aa0| 21 20 20 53 55 42 45 51 | 20 20 20 52 31 2c 20 52 |! SUBEQ| R1, R|
|00002ab0| 31 2c 20 52 35 2c 20 4c | 53 52 20 23 32 30 0d 0f |1, R5, L|SR #20..|
|00002ac0| be 17 20 20 42 20 20 20 | 20 20 20 20 4c 6f 61 64 |.. B | Load|
|00002ad0| 5f 50 61 67 65 0d 0f c8 | 0d 2e 69 6e 64 65 78 72 |_Page...|..indexr|
|00002ae0| 65 67 0d 0f d2 3d 20 20 | 80 20 20 20 20 20 52 34 |eg...= |. R4|
|00002af0| 2c 20 52 30 2c 20 23 26 | 30 30 30 30 30 30 30 46 |, R0, #&|0000000F|
|00002b00| 20 20 20 20 20 20 5c 20 | 63 6f 6e 74 61 69 6e 73 | \ |contains|
|00002b10| 20 69 6e 64 65 78 20 72 | 65 67 69 73 74 65 72 0d | index r|egister.|
|00002b20| 0f dc 47 20 20 4c 44 52 | 20 20 20 20 20 52 34 2c |..G LDR| R4,|
|00002b30| 20 5b 52 32 2c 20 52 34 | 2c 20 4c 53 4c 20 23 32 | [R2, R4|, LSL #2|
|00002b40| 5d 20 20 20 20 5c 20 41 | 6e 64 20 69 6e 64 65 78 |] \ A|nd index|
|00002b50| 20 76 61 6c 75 65 2c 20 | 6b 65 65 70 20 70 73 72 | value, |keep psr|
|00002b60| 20 69 66 20 50 43 0d 0f | e6 37 20 20 80 20 20 20 | if PC..|.7 . |
|00002b70| 20 20 52 35 2c 20 52 30 | 2c 20 23 26 30 30 30 30 | R5, R0|, #&0000|
|00002b80| 30 46 46 30 20 20 20 20 | 20 20 5c 20 47 65 74 20 |0FF0 | \ Get |
|00002b90| 73 68 69 66 74 20 6f 70 | 65 72 61 6e 64 0d 0f f0 |shift op|erand...|
|00002ba0| 3e 20 20 84 52 20 20 20 | 20 20 52 35 2c 20 52 35 |> .R | R5, R5|
|00002bb0| 2c 20 23 26 45 30 30 30 | 30 30 30 30 2b 34 20 20 |, #&E000|0000+4 |
|00002bc0| 20 20 5c 20 43 6f 6e 64 | 20 41 4c 2c 20 49 6e 64 | \ Cond| AL, Ind|
|00002bd0| 65 78 20 72 65 67 69 73 | 74 65 72 0d 0f fa 40 20 |ex regis|ter...@ |
|00002be0| 20 84 52 20 20 20 20 20 | 52 35 2c 20 52 35 2c 20 | .R |R5, R5, |
|00002bf0| 23 28 31 3c 3c 31 32 29 | 2b 28 31 3c 3c 31 36 29 |#(1<<12)|+(1<<16)|
|00002c00| 20 20 20 20 5c 20 62 61 | 73 65 20 72 65 67 69 73 | \ ba|se regis|
|00002c10| 74 65 72 2c 20 72 65 73 | 75 6c 74 0d 10 04 3b 20 |ter, res|ult...; |
|00002c20| 20 54 53 54 20 20 20 20 | 20 52 30 2c 20 23 26 30 | TST | R0, #&0|
|00002c30| 30 38 30 30 30 30 30 20 | 20 20 20 20 20 20 20 20 |0800000 | |
|00002c40| 20 5c 20 41 64 64 20 6f | 66 66 73 65 74 20 74 6f | \ Add o|ffset to|
|00002c50| 20 62 61 73 65 3f 0d 10 | 0e 2a 20 20 84 52 4e 45 | base?..|.* .RNE|
|00002c60| 20 20 20 52 35 2c 20 52 | 35 2c 20 23 26 30 30 38 | R5, R|5, #&008|
|00002c70| 30 30 30 30 30 20 20 20 | 20 20 20 5c 20 61 64 64 |00000 | \ add|
|00002c80| 0d 10 18 2a 20 20 84 52 | 45 51 20 20 20 52 35 2c |...* .R|EQ R5,|
|00002c90| 20 52 35 2c 20 23 26 30 | 30 34 30 30 30 30 30 20 | R5, #&0|0400000 |
|00002ca0| 20 20 20 20 20 5c 20 73 | 75 62 0d 10 22 38 20 20 | \ s|ub.."8 |
|00002cb0| 53 54 52 20 20 20 20 20 | 52 35 2c 20 49 6e 64 65 |STR |R5, Inde|
|00002cc0| 78 41 64 64 20 20 20 20 | 20 20 20 20 20 20 20 20 |xAdd | |
|00002cd0| 5c 20 6d 65 61 20 6d 61 | 78 69 6d 61 20 63 75 6c |\ mea ma|xima cul|
|00002ce0| 70 61 0d 10 2c 2b 20 20 | 4d 4f 56 20 20 20 20 20 |pa..,+ |MOV |
|00002cf0| 52 30 2c 20 52 30 20 20 | 20 20 20 20 20 20 20 20 |R0, R0 | |
|00002d00| 20 20 20 20 20 20 20 20 | 5c 20 4e 4f 50 0d 10 36 | |\ NOP..6|
|00002d10| 0d 2e 49 6e 64 65 78 41 | 64 64 0d 10 40 49 20 20 |..IndexA|dd..@I |
|00002d20| 41 44 44 20 20 20 20 20 | 52 31 2c 20 52 31 2c 20 |ADD |R1, R1, |
|00002d30| 52 34 2c 20 4c 53 4c 20 | 23 32 20 20 20 20 20 20 |R4, LSL |#2 |
|00002d40| 5c 20 2a 2a 2a 2a 2a 20 | 4f 56 45 52 57 52 49 54 |\ ***** |OVERWRIT|
|00002d50| 54 45 4e 20 4f 50 45 52 | 41 54 49 4f 4e 20 2a 2a |TEN OPER|ATION **|
|00002d60| 2a 2a 2a 0d 10 4a 17 20 | 20 42 20 20 20 20 20 20 |***..J. | B |
|00002d70| 20 4c 6f 61 64 5f 50 61 | 67 65 0d 10 54 04 0d 10 | Load_Pa|ge..T...|
|00002d80| 5e 32 5c 20 20 43 6f 64 | 65 20 66 6f 72 20 68 61 |^2\ Cod|e for ha|
|00002d90| 6e 64 6c 69 6e 67 20 43 | 6f 70 72 6f 63 65 73 73 |ndling C|oprocess|
|00002da0| 6f 72 20 64 61 74 61 20 | 74 72 61 6e 73 66 65 72 |or data |transfer|
|00002db0| 0d 10 68 34 5c 20 20 2c | 20 6e 6f 74 20 74 68 61 |..h4\ ,| not tha|
|00002dc0| 74 20 49 27 76 65 20 67 | 6f 74 20 6f 6e 65 21 20 |t I've g|ot one! |
|00002dd0| 20 53 61 6d 65 20 63 6f | 64 65 20 77 6f 72 6b 73 | Same co|de works|
|00002de0| 20 66 6f 72 0d 10 72 23 | 5c 20 20 74 68 65 20 66 | for..r#|\ the f|
|00002df0| 6c 6f 61 74 69 6e 67 20 | 70 6f 69 6e 74 20 65 6d |loating |point em|
|00002e00| 75 6c 61 74 6f 72 2e 0d | 10 7c 04 0d 10 86 0b 2e |ulator..|.|......|
|00002e10| 6c 64 63 73 74 63 0d 10 | 90 15 20 20 43 4d 50 20 |ldcstc..|.. CMP |
|00002e20| 20 20 20 20 52 33 2c 20 | 23 50 43 0d 10 9a 3a 20 | R3, |#PC...: |
|00002e30| 20 42 49 43 45 51 20 20 | 20 52 31 2c 20 52 31 2c | BICEQ | R1, R1,|
|00002e40| 20 23 26 46 43 30 30 30 | 30 30 33 20 20 20 20 20 | #&FC000|003 |
|00002e50| 20 5c 20 4d 61 73 6b 20 | 69 66 20 62 61 73 65 20 | \ Mask |if base |
|00002e60| 69 73 20 50 43 0d 10 a4 | 1e 20 20 80 20 20 20 20 |is PC...|. . |
|00002e70| 20 52 35 2c 20 52 30 2c | 20 23 26 30 30 30 30 30 | R5, R0,| #&00000|
|00002e80| 30 46 46 0d 10 ae 33 20 | 20 54 53 54 20 20 20 20 |0FF...3 | TST |
|00002e90| 20 52 30 2c 20 23 26 30 | 30 32 30 30 30 30 30 20 | R0, #&0|0200000 |
|00002ea0| 20 20 20 20 20 20 20 20 | 20 5c 20 57 72 69 74 65 | | \ Write|
|00002eb0| 2d 62 61 63 6b 3f 0d 10 | b8 3c 20 20 43 4d 50 4e |-back?..|.< CMPN|
|00002ec0| 45 20 20 20 52 33 2c 20 | 23 50 43 20 20 20 20 20 |E R3, |#PC |
|00002ed0| 20 20 20 20 20 20 20 20 | 20 20 20 20 5c 20 64 6f | | \ do|
|00002ee0| 65 73 20 6e 6f 74 20 61 | 70 70 6c 79 20 74 6f 20 |es not a|pply to |
|00002ef0| 50 43 0d 10 c2 1d 20 20 | 42 45 51 20 20 20 20 20 |PC.... |BEQ |
|00002f00| 6c 64 63 5f 4e 6f 57 72 | 69 74 65 62 61 63 6b 0d |ldc_NoWr|iteback.|
|00002f10| 10 cc 3b 20 20 54 53 54 | 20 20 20 20 20 52 30 2c |..; TST| R0,|
|00002f20| 20 23 26 30 30 38 30 30 | 30 30 30 20 20 20 20 20 | #&00800|000 |
|00002f30| 20 20 20 20 20 5c 20 41 | 64 64 20 6f 66 66 73 65 | \ A|dd offse|
|00002f40| 74 20 74 6f 20 62 61 73 | 65 3f 0d 10 d6 39 20 20 |t to bas|e?...9 |
|00002f50| 53 55 42 4e 45 20 20 20 | 52 31 2c 20 52 31 2c 20 |SUBNE |R1, R1, |
|00002f60| 52 35 2c 20 4c 53 4c 20 | 23 32 20 20 20 20 20 20 |R5, LSL |#2 |
|00002f70| 5c 20 52 65 76 65 72 73 | 65 20 77 72 69 74 65 62 |\ Revers|e writeb|
|00002f80| 61 63 6b 0d 10 e0 20 20 | 20 41 44 44 45 51 20 20 |ack... | ADDEQ |
|00002f90| 20 52 31 2c 20 52 31 2c | 20 52 35 2c 20 4c 53 4c | R1, R1,| R5, LSL|
|00002fa0| 20 23 32 0d 10 ea 3e 20 | 20 53 54 52 20 20 20 20 | #2...> | STR |
|00002fb0| 20 52 31 2c 20 5b 52 32 | 2c 20 52 33 2c 20 4c 53 | R1, [R2|, R3, LS|
|00002fc0| 4c 20 23 32 5d 20 20 20 | 20 5c 20 42 61 73 65 20 |L #2] | \ Base |
|00002fd0| 72 65 67 69 73 74 65 72 | 20 72 65 73 74 6f 72 65 |register| restore|
|00002fe0| 64 0d 10 f4 14 2e 6c 64 | 63 5f 4e 6f 57 72 69 74 |d.....ld|c_NoWrit|
|00002ff0| 65 62 61 63 6b 0d 10 fe | 35 20 20 54 53 54 20 20 |eback...|5 TST |
|00003000| 20 20 20 52 30 2c 20 23 | 26 30 31 30 30 30 30 30 | R0, #|&0100000|
|00003010| 30 20 20 20 20 20 20 20 | 20 20 20 5c 20 50 72 65 |0 | \ Pre|
|00003020| 2d 69 6e 64 65 78 69 6e | 67 3f 0d 11 08 17 20 20 |-indexin|g?.... |
|00003030| 42 45 51 20 20 20 20 20 | 4c 6f 61 64 5f 50 61 67 |BEQ |Load_Pag|
|00003040| 65 0d 11 12 3b 20 20 54 | 53 54 20 20 20 20 20 52 |e...; T|ST R|
|00003050| 30 2c 20 23 26 30 30 38 | 30 30 30 30 30 20 20 20 |0, #&008|00000 |
|00003060| 20 20 20 20 20 20 20 5c | 20 41 64 64 20 6f 66 66 | \| Add off|
|00003070| 73 65 74 20 74 6f 20 62 | 61 73 65 3f 0d 11 1c 20 |set to b|ase?... |
|00003080| 20 20 41 44 44 4e 45 20 | 20 20 52 31 2c 20 52 31 | ADDNE | R1, R1|
|00003090| 2c 20 52 35 2c 20 4c 53 | 4c 20 23 32 0d 11 26 20 |, R5, LS|L #2..& |
|000030a0| 20 20 53 55 42 45 51 20 | 20 20 52 31 2c 20 52 31 | SUBEQ | R1, R1|
|000030b0| 2c 20 52 35 2c 20 4c 53 | 4c 20 23 32 0d 11 30 17 |, R5, LS|L #2..0.|
|000030c0| 20 20 42 20 20 20 20 20 | 20 20 4c 6f 61 64 5f 50 | B | Load_P|
|000030d0| 61 67 65 0d 11 3a 04 0d | 11 44 0f 5c 20 4c 6f 61 |age..:..|.D.\ Loa|
|000030e0| 64 20 50 61 67 65 0d 11 | 4e 29 5c 20 54 72 79 20 |d Page..|N)\ Try |
|000030f0| 74 6f 20 6c 6f 61 64 20 | 61 20 70 61 67 65 20 6f |to load |a page o|
|00003100| 66 20 76 69 72 74 75 61 | 6c 20 73 74 6f 72 65 0d |f virtua|l store.|
|00003110| 11 58 3a 5c 20 52 30 20 | 3d 20 6f 70 2c 20 2d 31 |.X:\ R0 |= op, -1|
|00003120| 20 69 66 20 50 72 65 5f | 46 65 74 63 68 2c 20 62 | if Pre_|Fetch, b|
|00003130| 69 74 20 32 30 20 3d 20 | 30 20 77 72 69 74 65 20 |it 20 = |0 write |
|00003140| 65 6c 73 65 20 72 65 61 | 64 0d 11 62 15 5c 20 20 |else rea|d..b.\ |
|00003150| 20 6e 6f 74 20 75 73 65 | 64 20 68 65 72 65 0d 11 | not use|d here..|
|00003160| 6c 1a 5c 20 52 31 20 3d | 20 61 64 64 72 65 73 73 |l.\ R1 =| address|
|00003170| 20 74 6f 20 6c 6f 61 64 | 0d 11 76 04 0d 11 80 0e | to load|..v.....|
|00003180| 2e 4c 6f 61 64 5f 50 61 | 67 65 0d 11 8a 04 0d 11 |.Load_Pa|ge......|
|00003190| 94 2c 5c 20 43 68 65 63 | 6b 20 61 64 64 72 65 73 |.,\ Chec|k addres|
|000031a0| 73 20 69 73 20 69 6e 20 | 76 69 72 74 75 61 6c 20 |s is in |virtual |
|000031b0| 73 74 6f 72 65 20 61 72 | 65 61 0d 11 9e 04 0d 11 |store ar|ea......|
|000031c0| a8 17 20 20 4c 44 52 20 | 20 20 20 20 52 32 2c 20 |.. LDR | R2, |
|000031d0| 56 5f 54 6f 70 0d 11 b2 | 14 20 20 43 4d 50 20 20 |V_Top...|. CMP |
|000031e0| 20 20 20 52 31 2c 20 52 | 32 0d 11 bc 1a 20 20 42 | R1, R|2.... B|
|000031f0| 47 45 20 20 20 20 20 44 | 6f 5f 4f 6c 64 5f 41 62 |GE D|o_Old_Ab|
|00003200| 6f 72 74 0d 11 c6 19 20 | 20 4c 44 52 20 20 20 20 |ort.... | LDR |
|00003210| 20 52 37 2c 20 56 5f 53 | 70 61 63 65 0d 11 d0 18 | R7, V_S|pace....|
|00003220| 20 20 53 55 42 53 20 20 | 20 20 52 35 2c 20 52 31 | SUBS | R5, R1|
|00003230| 2c 20 52 37 0d 11 da 1a | 20 20 42 4c 54 20 20 20 |, R7....| BLT |
|00003240| 20 20 44 6f 5f 4f 6c 64 | 5f 41 62 6f 72 74 0d 11 | Do_Old|_Abort..|
|00003250| e4 04 0d 11 ee 2a 5c 20 | 49 66 20 70 61 67 65 20 |.....*\ |If page |
|00003260| 70 72 65 73 65 6e 74 20 | 74 68 65 6e 20 6c 6f 61 |present |then loa|
|00003270| 64 20 6e 65 78 74 20 70 | 61 67 65 2c 0d 11 f8 35 |d next p|age,...5|
|00003280| 5c 20 44 6f 6e 27 74 20 | 77 6f 72 72 79 20 61 62 |\ Don't |worry ab|
|00003290| 6f 75 74 20 63 6f 70 72 | 6f 63 65 73 73 6f 72 20 |out copr|ocessor |
|000032a0| 70 72 65 2d 66 65 74 63 | 68 20 70 72 6f 62 6c 65 |pre-fetc|h proble|
|000032b0| 6d 0d 12 02 34 5c 20 69 | 6e 20 76 65 72 79 20 6c |m...4\ i|n very l|
|000032c0| 61 73 74 20 77 6f 72 64 | 20 6f 66 20 76 69 72 74 |ast word| of virt|
|000032d0| 75 61 6c 20 73 74 6f 72 | 65 21 20 2d 20 69 74 20 |ual stor|e! - it |
|000032e0| 77 6f 75 6c 64 0d 12 0c | 1b 5c 20 62 65 20 76 65 |would...|.\ be ve|
|000032f0| 72 79 20 73 69 6c 6c 79 | 20 61 6e 79 77 61 79 2e |ry silly| anyway.|
|00003300| 0d 12 16 04 0d 12 20 1a | 20 20 4c 44 52 20 20 20 |...... .| LDR |
|00003310| 20 20 52 36 2c 20 56 5f | 56 66 6c 61 67 73 0d 12 | R6, V_|Vflags..|
|00003320| 2a 28 20 20 4c 44 52 42 | 20 20 20 20 52 34 2c 20 |*( LDRB| R4, |
|00003330| 5b 52 36 2c 20 52 35 2c | 20 41 53 52 20 23 50 41 |[R6, R5,| ASR #PA|
|00003340| 47 45 5f 4c 4e 5d 0d 12 | 34 16 20 20 43 4d 50 20 |GE_LN]..|4. CMP |
|00003350| 20 20 20 20 52 34 2c 20 | 23 32 35 35 0d 12 3e 24 | R4, |#255..>$|
|00003360| 20 20 41 44 44 4e 45 20 | 20 20 52 31 2c 20 52 31 | ADDNE | R1, R1|
|00003370| 2c 20 23 56 53 49 5f 50 | 61 67 65 53 69 7a 65 25 |, #VSI_P|ageSize%|
|00003380| 0d 12 48 17 20 20 42 4e | 45 20 20 20 20 20 4c 6f |..H. BN|E Lo|
|00003390| 61 64 5f 50 61 67 65 0d | 12 52 04 0d 12 5c 1c 5c |ad_Page.|.R...\.\|
|000033a0| 20 52 36 3d 56 5f 56 66 | 6c 61 67 73 20 52 37 3d | R6=V_Vf|lags R7=|
|000033b0| 56 5f 53 70 61 63 65 0d | 12 66 04 0d 12 70 33 5c |V_Space.|.f...p3\|
|000033c0| 20 53 74 61 72 74 20 75 | 70 20 69 6e 20 75 73 65 | Start u|p in use|
|000033d0| 72 20 6d 6f 64 65 20 77 | 69 74 68 20 69 6e 74 65 |r mode w|ith inte|
|000033e0| 72 72 75 70 74 73 20 65 | 6e 61 62 6c 65 64 0d 12 |rrupts e|nabled..|
|000033f0| 7a 33 5c 20 53 68 6f 75 | 6c 64 20 6e 6f 74 20 63 |z3\ Shou|ld not c|
|00003400| 61 75 73 65 20 61 6e 6f | 74 68 65 72 20 56 53 49 |ause ano|ther VSI|
|00003410| 20 69 6e 74 65 72 72 75 | 70 74 20 77 68 69 6c 73 | interru|pt whils|
|00003420| 74 0d 12 84 1c 5c 20 64 | 65 61 6c 69 6e 67 20 77 |t....\ d|ealing w|
|00003430| 69 74 68 20 74 68 69 73 | 20 6f 6e 65 2e 0d 12 8e |ith this| one....|
|00003440| 04 0d 12 98 14 20 20 54 | 45 51 50 20 20 20 20 50 |..... T|EQP P|
|00003450| 43 2c 20 23 30 0d 12 a2 | 14 20 20 4d 4f 56 20 20 |C, #0...|. MOV |
|00003460| 20 20 20 52 30 2c 20 52 | 30 0d 12 ac 22 20 20 4d | R0, R|0..." M|
|00003470| 4f 56 20 20 20 20 20 52 | 35 2c 20 52 31 2c 20 41 |OV R|5, R1, A|
|00003480| 53 52 20 23 50 41 47 45 | 5f 4c 4e 0d 12 b6 22 20 |SR #PAGE|_LN..." |
|00003490| 20 4d 4f 56 20 20 20 20 | 20 52 35 2c 20 52 35 2c | MOV | R5, R5,|
|000034a0| 20 41 53 4c 20 23 50 41 | 47 45 5f 4c 4e 0d 12 c0 | ASL #PA|GE_LN...|
|000034b0| 04 0d 12 ca 24 5c 20 53 | 65 6c 65 63 74 20 61 20 |....$\ S|elect a |
|000034c0| 70 68 79 73 69 63 61 6c | 20 70 61 67 65 20 66 6f |physical| page fo|
|000034d0| 72 20 56 53 49 0d 12 d4 | 04 0d 12 de 18 20 20 4c |r VSI...|..... L|
|000034e0| 44 52 20 20 20 20 20 52 | 38 2c 20 56 5f 4e 65 78 |DR R|8, V_Nex|
|000034f0| 74 0d 12 e8 18 20 20 41 | 44 44 20 20 20 20 20 52 |t.... A|DD R|
|00003500| 38 2c 20 52 38 2c 20 23 | 31 0d 12 f2 1d 20 20 43 |8, R8, #|1.... C|
|00003510| 4d 50 20 20 20 20 20 52 | 38 2c 20 23 56 53 49 5f |MP R|8, #VSI_|
|00003520| 50 61 67 65 73 25 0d 12 | fc 14 20 20 4d 4f 56 47 |Pages%..|.. MOVG|
|00003530| 45 20 20 20 52 38 2c 20 | 23 30 0d 13 06 18 20 20 |E R8, |#0.... |
|00003540| 53 54 52 20 20 20 20 20 | 52 38 2c 20 56 5f 4e 65 |STR |R8, V_Ne|
|00003550| 78 74 0d 13 10 04 0d 13 | 1a 0f 5c 20 52 38 3d 56 |xt......|..\ R8=V|
|00003560| 5f 4e 65 78 74 0d 13 24 | 04 0d 13 2e 24 5c 20 53 |_Next..$|....$\ S|
|00003570| 61 76 65 20 6f 6c 64 20 | 70 61 67 65 20 61 6e 64 |ave old |page and|
|00003580| 20 6c 6f 61 64 20 6e 65 | 77 20 6f 6e 65 0d 13 38 | load ne|w one..8|
|00003590| 04 0d 13 42 21 20 20 41 | 44 44 20 20 20 20 20 52 |...B! A|DD R|
|000035a0| 31 30 2c 20 52 38 2c 20 | 52 38 2c 20 41 53 4c 20 |10, R8, |R8, ASL |
|000035b0| 23 31 0d 13 4c 1a 20 20 | 4c 44 52 20 20 20 20 20 |#1..L. |LDR |
|000035c0| 52 39 2c 20 56 5f 4e 65 | 77 4d 61 70 0d 13 56 21 |R9, V_Ne|wMap..V!|
|000035d0| 20 20 41 44 44 20 20 20 | 20 20 52 39 2c 20 52 39 | ADD | R9, R9|
|000035e0| 2c 20 52 31 30 2c 20 41 | 53 4c 20 23 32 0d 13 60 |, R10, A|SL #2..`|
|000035f0| 1b 20 20 4c 44 4d 49 41 | 20 20 20 52 39 2c 20 7b |. LDMIA| R9, {|
|00003600| 52 31 30 2d 52 31 32 7d | 0d 13 6a 04 0d 13 74 18 |R10-R12}|..j...t.|
|00003610| 5c 20 53 61 76 65 20 61 | 77 61 79 20 6f 6c 64 20 |\ Save a|way old |
|00003620| 70 61 67 65 0d 13 7e 04 | 0d 13 88 14 20 20 4d 4f |page..~.|.... MO|
|00003630| 56 20 20 20 20 20 52 30 | 2c 20 23 31 0d 13 92 18 |V R0|, #1....|
|00003640| 20 20 4c 44 52 20 20 20 | 20 20 52 31 2c 20 56 5f | LDR | R1, V_|
|00003650| 46 69 6c 65 0d 13 9c 15 | 20 20 4d 4f 56 20 20 20 |File....| MOV |
|00003660| 20 20 52 32 2c 20 52 31 | 31 0d 13 a6 20 20 20 4d | R2, R1|1... M|
|00003670| 4f 56 20 20 20 20 20 52 | 33 2c 20 23 56 53 49 5f |OV R|3, #VSI_|
|00003680| 50 61 67 65 53 69 7a 65 | 25 0d 13 b0 19 20 20 53 |PageSize|%.... S|
|00003690| 55 42 20 20 20 20 20 52 | 34 2c 20 52 31 31 2c 20 |UB R|4, R11, |
|000036a0| 52 37 0d 13 ba 17 20 20 | 53 57 49 20 20 20 20 20 |R7.... |SWI |
|000036b0| 22 4f 53 5f 47 42 50 42 | 22 0d 13 c4 04 0d 13 ce |"OS_GBPB|".......|
|000036c0| 15 5c 20 55 70 64 61 74 | 65 20 56 5f 56 66 6c 61 |.\ Updat|e V_Vfla|
|000036d0| 67 73 0d 13 d8 04 0d 13 | e2 19 20 20 53 55 42 20 |gs......|.. SUB |
|000036e0| 20 20 20 20 52 34 2c 20 | 52 31 31 2c 20 52 37 0d | R4, |R11, R7.|
|000036f0| 13 ec 16 20 20 4d 4f 56 | 20 20 20 20 20 52 32 2c |... MOV| R2,|
|00003700| 20 23 32 35 35 0d 13 f6 | 28 20 20 53 54 52 42 20 | #255...|( STRB |
|00003710| 20 20 20 52 32 2c 20 5b | 52 36 2c 20 52 34 2c 20 | R2, [|R6, R4, |
|00003720| 41 53 52 20 23 50 41 47 | 45 5f 4c 4e 5d 0d 14 00 |ASR #PAG|E_LN]...|
|00003730| 31 20 20 4d 4f 56 20 20 | 20 20 20 52 31 31 2c 20 |1 MOV | R11, |
|00003740| 52 35 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |R5 | |
|00003750| 20 5c 20 4e 65 77 20 61 | 64 64 72 65 73 73 0d 14 | \ New a|ddress..|
|00003760| 0a 19 20 20 53 55 42 20 | 20 20 20 20 52 34 2c 20 |.. SUB | R4, |
|00003770| 52 31 31 2c 20 52 37 0d | 14 14 28 20 20 53 54 52 |R11, R7.|..( STR|
|00003780| 42 20 20 20 20 52 38 2c | 20 5b 52 36 2c 20 52 34 |B R8,| [R6, R4|
|00003790| 2c 20 41 53 52 20 23 50 | 41 47 45 5f 4c 4e 5d 0d |, ASR #P|AGE_LN].|
|000037a0| 14 1e 04 0d 14 28 13 5c | 20 55 70 64 61 74 65 20 |.....(.\| Update |
|000037b0| 4e 65 77 4d 61 70 0d 14 | 32 04 0d 14 3c 1b 20 20 |NewMap..|2...<. |
|000037c0| 53 54 52 20 20 20 20 20 | 52 31 31 2c 20 5b 52 39 |STR |R11, [R9|
|000037d0| 2c 20 23 34 5d 0d 14 46 | 1a 20 20 41 44 52 20 20 |, #4]..F|. ADR |
|000037e0| 20 20 20 52 30 2c 20 56 | 5f 4d 65 6d 4d 61 70 0d | R0, V|_MemMap.|
|000037f0| 14 50 1b 20 20 53 54 4d | 49 41 20 20 20 52 30 2c |.P. STM|IA R0,|
|00003800| 20 7b 52 31 30 2d 52 31 | 32 7d 0d 14 5a 23 20 20 | {R10-R1|2}..Z# |
|00003810| 53 57 49 20 20 20 20 20 | 22 4f 53 5f 53 65 74 4d |SWI |"OS_SetM|
|00003820| 65 6d 4d 61 70 45 6e 74 | 72 69 65 73 22 0d 14 64 |emMapEnt|ries"..d|
|00003830| 04 0d 14 6e 13 5c 20 4c | 6f 61 64 20 6e 65 77 20 |...n.\ L|oad new |
|00003840| 70 61 67 65 0d 14 78 04 | 0d 14 82 14 20 20 4d 4f |page..x.|.... MO|
|00003850| 56 20 20 20 20 20 52 30 | 2c 20 23 33 0d 14 8c 18 |V R0|, #3....|
|00003860| 20 20 4c 44 52 20 20 20 | 20 20 52 31 2c 20 56 5f | LDR | R1, V_|
|00003870| 46 69 6c 65 0d 14 96 15 | 20 20 4d 4f 56 20 20 20 |File....| MOV |
|00003880| 20 20 52 32 2c 20 52 31 | 31 0d 14 a0 20 20 20 4d | R2, R1|1... M|
|00003890| 4f 56 20 20 20 20 20 52 | 33 2c 20 23 56 53 49 5f |OV R|3, #VSI_|
|000038a0| 50 61 67 65 53 69 7a 65 | 25 0d 14 aa 19 20 20 53 |PageSize|%.... S|
|000038b0| 55 42 20 20 20 20 20 52 | 34 2c 20 52 31 31 2c 20 |UB R|4, R11, |
|000038c0| 52 37 0d 14 b4 17 20 20 | 53 57 49 20 20 20 20 20 |R7.... |SWI |
|000038d0| 22 4f 53 5f 47 42 50 42 | 22 0d 14 be 04 0d 14 c8 |"OS_GBPB|".......|
|000038e0| 22 5c 20 52 65 73 74 6f | 72 65 20 72 65 67 69 73 |"\ Resto|re regis|
|000038f0| 74 65 72 73 20 61 6e 64 | 20 72 65 74 75 72 6e 0d |ters and| return.|
|00003900| 14 d2 04 0d 14 dc 1b 20 | 20 4c 44 52 20 20 20 20 |....... | LDR |
|00003910| 20 52 30 2c 20 52 65 73 | 74 61 72 74 50 43 0d 14 | R0, Res|tartPC..|
|00003920| e6 1e 20 20 53 54 52 20 | 20 20 20 20 52 30 2c 20 |.. STR | R0, |
|00003930| 52 65 67 44 75 6d 70 2b | 34 2a 50 43 0d 14 f0 19 |RegDump+|4*PC....|
|00003940| 20 20 41 44 52 20 20 20 | 20 20 52 30 2c 20 52 65 | ADR | R0, Re|
|00003950| 67 44 75 6d 70 0d 14 fa | 1b 20 20 4c 44 4d 49 41 |gDump...|. LDMIA|
|00003960| 20 20 20 52 30 2c 20 7b | 52 30 2d 52 31 35 7d 5e | R0, {|R0-R15}^|
|00003970| 0d 15 04 04 0d 15 0e 24 | 5c 20 44 6f 20 6f 6c 64 |.......$|\ Do old|
|00003980| 20 61 62 6f 72 74 20 69 | 66 20 61 6e 79 74 68 69 | abort i|f anythi|
|00003990| 6e 67 20 77 72 6f 6e 67 | 0d 15 18 2d 5c 20 4f 6e |ng wrong|...-\ On|
|000039a0| 6c 79 20 72 65 67 69 73 | 74 65 72 73 20 52 30 20 |ly regis|ters R0 |
|000039b0| 74 6f 20 52 37 20 61 74 | 20 6d 6f 73 74 20 63 68 |to R7 at| most ch|
|000039c0| 61 6e 67 65 64 0d 15 22 | 26 5c 20 62 65 66 6f 72 |anged.."|&\ befor|
|000039d0| 65 20 73 75 63 68 20 61 | 6e 20 65 72 72 6f 72 20 |e such a|n error |
|000039e0| 69 73 20 64 65 74 65 63 | 74 65 64 0d 15 2c 04 0d |is detec|ted..,..|
|000039f0| 15 36 11 2e 44 6f 5f 4f | 6c 64 5f 41 62 6f 72 74 |.6..Do_O|ld_Abort|
|00003a00| 0d 15 40 14 20 20 43 4d | 4e 20 20 20 20 20 52 30 |..@. CM|N R0|
|00003a10| 2c 20 23 31 0d 15 4a 19 | 20 20 41 44 52 20 20 20 |, #1..J.| ADR |
|00003a20| 20 20 52 30 2c 20 52 65 | 67 44 75 6d 70 0d 15 54 | R0, Re|gDump..T|
|00003a30| 19 20 20 4c 44 4d 49 41 | 20 20 20 52 30 2c 20 7b |. LDMIA| R0, {|
|00003a40| 52 30 2d 52 37 7d 0d 15 | 5e 1f 20 20 4c 44 52 45 |R0-R7}..|^. LDRE|
|00003a50| 51 20 20 20 50 43 2c 20 | 4f 6c 64 5f 41 62 6f 72 |Q PC, |Old_Abor|
|00003a60| 74 5f 50 72 65 0d 15 68 | 1f 20 20 4c 44 52 4e 45 |t_Pre..h|. LDRNE|
|00003a70| 20 20 20 50 43 2c 20 4f | 6c 64 5f 41 62 6f 72 74 | PC, O|ld_Abort|
|00003a80| 5f 41 64 72 0d 15 72 05 | 5d 0d 15 7c 05 ed 0d 15 |_Adr..r.|]..|....|
|00003a90| 86 14 f4 50 52 49 4e 54 | 20 50 25 2d 73 70 61 63 |...PRINT| P%-spac|
|00003aa0| 65 25 0d 15 90 13 e7 20 | 50 25 2d 73 70 61 63 65 |e%..... |P%-space|
|00003ab0| 25 3c 30 20 8c 0d 15 9a | 3a 20 20 85 20 31 2c 22 |%<0 ....|: . 1,"|
|00003ac0| 47 69 76 65 20 6d 6f 72 | 65 20 73 70 61 63 65 20 |Give mor|e space |
|00003ad0| 66 6f 72 20 61 73 73 65 | 6d 62 6c 79 20 22 5f 53 |for asse|mbly "_S|
|00003ae0| 54 52 7e 24 28 50 25 2d | 73 70 61 63 65 25 29 0d |TR~$(P%-|space%).|
|00003af0| 15 a4 05 cd 0d 15 ae 04 | 0d 15 b8 25 ff 28 22 43 |........|...%.("C|
|00003b00| 52 45 41 54 45 20 22 2b | 66 6e 61 6d 65 24 2b 22 |REATE "+|fname$+"|
|00003b10| 20 26 22 2b c3 7e 56 73 | 69 7a 65 25 29 0d 15 c2 | &"+.~Vs|ize%)...|
|00003b20| 17 56 53 49 5f 46 69 6c | 65 25 3d ad 28 66 6e 61 |.VSI_Fil|e%=.(fna|
|00003b30| 6d 65 24 29 0d 15 cc 15 | 56 53 49 5f 46 6e 61 6d |me$)....|VSI_Fnam|
|00003b40| 65 24 3d 66 6e 61 6d 65 | 24 0d 15 d6 17 21 56 5f |e$=fname|$....!V_|
|00003b50| 46 69 6c 65 20 3d 20 56 | 53 49 5f 46 69 6c 65 25 |File = V|SI_File%|
|00003b60| 0d 15 e0 13 e7 20 56 53 | 49 5f 46 69 6c 65 25 3d |..... VS|I_File%=|
|00003b70| 30 20 8c 0d 15 ea 26 20 | 20 85 20 31 2c 22 43 61 |0 ....& | . 1,"Ca|
|00003b80| 6e 6e 6f 74 20 63 72 65 | 61 74 65 20 66 69 6c 65 |nnot cre|ate file|
|00003b90| 20 22 2b 66 6e 61 6d 65 | 24 0d 15 f4 05 cd 0d 15 | "+fname|$.......|
|00003ba0| fe 04 0d 16 08 35 f4 20 | 49 6e 69 74 69 61 6c 69 |.....5. |Initiali|
|00003bb0| 73 65 20 76 69 72 74 75 | 61 6c 20 73 70 61 63 65 |se virtu|al space|
|00003bc0| 20 73 6f 20 74 68 65 20 | 66 69 72 73 74 20 66 65 | so the |first fe|
|00003bd0| 77 20 70 61 67 65 73 0d | 16 12 12 f4 20 61 72 65 |w pages.|.... are|
|00003be0| 20 70 72 65 73 65 6e 74 | 2e 0d 16 1c 04 0d 16 26 | present|.......&|
|00003bf0| 12 4d 25 3d 56 53 49 5f | 4e 65 77 4d 61 70 25 0d |.M%=VSI_|NewMap%.|
|00003c00| 16 30 19 e3 20 49 25 3d | 30 20 b8 20 56 53 49 5f |.0.. I%=|0 . VSI_|
|00003c10| 50 61 67 65 73 25 2d 31 | 0d 16 3a 20 20 20 4d 25 |Pages%-1|..: M%|
|00003c20| 21 30 20 3d 20 56 53 49 | 5f 4f 6c 64 4d 61 70 25 |!0 = VSI|_OldMap%|
|00003c30| 21 28 31 32 2a 49 25 29 | 0d 16 44 28 20 20 4d 25 |!(12*I%)|..D( M%|
|00003c40| 21 34 20 3d 20 56 53 49 | 5f 53 70 61 63 65 25 2b |!4 = VSI|_Space%+|
|00003c50| 56 53 49 5f 50 61 67 65 | 53 69 7a 65 25 2a 49 25 |VSI_Page|Size%*I%|
|00003c60| 0d 16 4e 0e 20 20 4d 25 | 21 38 20 3d 20 30 0d 16 |..N. M%|!8 = 0..|
|00003c70| 58 1d 20 20 f4 50 52 49 | 4e 54 7e 4d 25 21 30 2c |X. .PRI|NT~M%!0,|
|00003c80| 7e 4d 25 21 34 2c 7e 4d | 25 21 38 0d 16 62 0e 20 |~M%!4,~M|%!8..b. |
|00003c90| 20 4d 25 20 2b 3d 20 31 | 32 0d 16 6c 30 20 20 56 | M% += 1|2..l0 V|
|00003ca0| 53 49 5f 50 66 6c 61 67 | 73 25 3f 49 25 3d 30 3a |SI_Pflag|s%?I%=0:|
|00003cb0| 20 20 20 20 f4 20 50 66 | 6c 61 67 73 20 6e 6f 74 | . Pf|lags not|
|00003cc0| 20 75 73 65 64 20 79 65 | 74 0d 16 76 17 20 20 56 | used ye|t..v. V|
|00003cd0| 53 49 5f 56 66 6c 61 67 | 73 25 3f 49 25 3d 49 25 |SI_Vflag|s%?I%=I%|
|00003ce0| 0d 16 80 05 ed 0d 16 8a | 0d 4d 25 21 30 20 3d 20 |........|.M%!0 = |
|00003cf0| 2d 31 0d 16 94 04 0d 16 | 9e 3f c8 99 20 22 4f 53 |-1......|.?.. "OS|
|00003d00| 5f 43 68 61 6e 67 65 45 | 6e 76 69 72 6f 6e 6d 65 |_ChangeE|nvironme|
|00003d10| 6e 74 22 2c 32 2c 49 6e | 74 5f 41 62 6f 72 74 5f |nt",2,In|t_Abort_|
|00003d20| 50 72 65 20 b8 20 2c 21 | 4f 6c 64 5f 41 62 6f 72 |Pre . ,!|Old_Abor|
|00003d30| 74 5f 50 72 65 0d 16 a8 | 3f c8 99 20 22 4f 53 5f |t_Pre...|?.. "OS_|
|00003d40| 43 68 61 6e 67 65 45 6e | 76 69 72 6f 6e 6d 65 6e |ChangeEn|vironmen|
|00003d50| 74 22 2c 33 2c 49 6e 74 | 5f 41 62 6f 72 74 5f 41 |t",3,Int|_Abort_A|
|00003d60| 64 72 20 b8 20 2c 21 4f | 6c 64 5f 41 62 6f 72 74 |dr . ,!O|ld_Abort|
|00003d70| 5f 41 64 72 0d 16 b2 04 | 0d 16 bc 11 56 53 49 5f |_Adr....|....VSI_|
|00003d80| 41 63 74 69 76 65 25 3d | b9 0d 16 c6 04 0d 16 d0 |Active%=|........|
|00003d90| 11 f2 5f 56 53 49 5f 52 | 65 73 74 6f 72 65 0d 16 |.._VSI_R|estore..|
|00003da0| da 04 0d 16 e4 0f 3d 56 | 53 49 5f 53 70 61 63 65 |......=V|SI_Space|
|00003db0| 25 0d 16 ee 04 0d 16 f8 | 04 0d 17 02 32 f4 20 43 |%.......|....2. C|
|00003dc0| 61 6c 6c 20 50 52 4f 43 | 5f 56 53 49 5f 53 61 76 |all PROC|_VSI_Sav|
|00003dd0| 65 20 62 65 66 6f 72 65 | 20 61 6e 79 20 57 69 6d |e before| any Wim|
|00003de0| 70 5f 50 6f 6c 6c 20 63 | 61 6c 6c 0d 17 0c 30 f4 |p_Poll c|all...0.|
|00003df0| 20 49 74 20 73 65 74 73 | 20 74 68 65 20 76 69 72 | It sets| the vir|
|00003e00| 74 75 61 6c 20 73 74 6f | 72 65 20 62 61 63 6b 20 |tual sto|re back |
|00003e10| 74 68 65 20 77 61 79 20 | 74 68 65 0d 17 16 1c f4 |the way |the.....|
|00003e20| 20 57 69 6d 70 20 65 78 | 70 65 63 74 73 20 69 74 | Wimp ex|pects it|
|00003e30| 20 74 6f 20 62 65 2e 0d | 17 20 04 0d 17 2a 10 dd | to be..|. ...*..|
|00003e40| 20 f2 5f 56 53 49 5f 53 | 61 76 65 0d 17 34 17 e7 | ._VSI_S|ave..4..|
|00003e50| 20 ac 20 56 53 49 5f 41 | 63 74 69 76 65 25 20 8c | . VSI_A|ctive% .|
|00003e60| 20 e1 0d 17 3e 28 c8 99 | 20 22 4f 53 5f 53 65 74 | ...>(..| "OS_Set|
|00003e70| 4d 65 6d 4d 61 70 45 6e | 74 72 69 65 73 22 2c 56 |MemMapEn|tries",V|
|00003e80| 53 49 5f 4f 6c 64 4d 61 | 70 25 0d 17 48 05 e1 0d |SI_OldMa|p%..H...|
|00003e90| 17 52 04 0d 17 5c 04 0d | 17 66 2a f4 20 43 61 6c |.R...\..|.f*. Cal|
|00003ea0| 6c 20 50 52 4f 43 5f 56 | 53 49 5f 52 65 73 74 6f |l PROC_V|SI_Resto|
|00003eb0| 72 65 20 74 6f 20 72 65 | 73 74 6f 72 65 20 74 68 |re to re|store th|
|00003ec0| 65 0d 17 70 2a f4 20 76 | 69 72 74 75 61 6c 20 73 |e..p*. v|irtual s|
|00003ed0| 74 6f 72 65 20 6f 66 20 | 74 68 65 20 70 72 6f 67 |tore of |the prog|
|00003ee0| 72 61 6d 20 61 66 74 65 | 72 20 61 0d 17 7a 17 f4 |ram afte|r a..z..|
|00003ef0| 20 57 69 6d 70 5f 50 6f | 6c 6c 20 72 65 74 75 72 | Wimp_Po|ll retur|
|00003f00| 6e 73 0d 17 84 04 0d 17 | 8e 13 dd 20 f2 5f 56 53 |ns......|... ._VS|
|00003f10| 49 5f 52 65 73 74 6f 72 | 65 0d 17 98 17 e7 20 ac |I_Restor|e..... .|
|00003f20| 20 56 53 49 5f 41 63 74 | 69 76 65 25 20 8c 20 e1 | VSI_Act|ive% . .|
|00003f30| 0d 17 a2 28 c8 99 20 22 | 4f 53 5f 53 65 74 4d 65 |...(.. "|OS_SetMe|
|00003f40| 6d 4d 61 70 45 6e 74 72 | 69 65 73 22 2c 56 53 49 |mMapEntr|ies",VSI|
|00003f50| 5f 4e 65 77 4d 61 70 25 | 0d 17 ac 05 e1 0d 17 b6 |_NewMap%|........|
|00003f60| 04 0d 17 c0 04 0d 17 ca | 33 f4 20 43 61 6c 6c 20 |........|3. Call |
|00003f70| 50 52 4f 43 5f 56 53 49 | 5f 53 74 6f 70 20 74 6f |PROC_VSI|_Stop to|
|00003f80| 20 65 6e 64 20 75 73 69 | 6e 67 20 76 69 72 74 75 | end usi|ng virtu|
|00003f90| 61 6c 20 73 74 6f 72 65 | 0d 17 d4 30 f4 20 49 74 |al store|...0. It|
|00003fa0| 20 6d 75 73 74 20 62 65 | 20 63 61 6c 6c 65 64 20 | must be| called |
|00003fb0| 62 65 66 6f 72 65 20 74 | 68 65 20 70 72 6f 67 72 |before t|he progr|
|00003fc0| 61 6d 20 65 6e 64 73 2e | 0d 17 de 27 f4 20 42 65 |am ends.|...'. Be|
|00003fd0| 20 73 75 72 65 20 74 6f | 20 63 61 6c 6c 20 61 66 | sure to| call af|
|00003fe0| 74 65 72 20 61 6e 79 20 | 65 72 72 6f 72 73 2e 0d |ter any |errors..|
|00003ff0| 17 e8 2e f4 20 49 66 20 | 44 65 6c 65 74 65 25 20 |.... If |Delete% |
|00004000| 69 73 20 54 52 55 45 20 | 74 68 65 6e 20 64 65 6c |is TRUE |then del|
|00004010| 65 74 65 20 74 68 65 20 | 20 66 69 6c 65 0d 17 f2 |ete the | file...|
|00004020| 26 f4 20 75 73 65 64 20 | 66 6f 72 20 74 68 65 20 |&. used |for the |
|00004030| 76 69 72 74 75 61 6c 20 | 73 74 6f 72 65 20 61 72 |virtual |store ar|
|00004040| 65 61 2e 0d 17 fc 04 0d | 18 06 19 dd 20 f2 5f 56 |ea......|.... ._V|
|00004050| 53 49 5f 53 74 6f 70 28 | 44 65 6c 65 74 65 25 29 |SI_Stop(|Delete%)|
|00004060| 0d 18 10 17 e7 20 ac 20 | 56 53 49 5f 41 63 74 69 |..... . |VSI_Acti|
|00004070| 76 65 25 20 8c 20 e1 0d | 18 1a 2e c8 99 20 22 4f |ve% . ..|..... "O|
|00004080| 53 5f 43 68 61 6e 67 65 | 45 6e 76 69 72 6f 6e 6d |S_Change|Environm|
|00004090| 65 6e 74 22 2c 32 2c 21 | 4f 6c 64 5f 41 62 6f 72 |ent",2,!|Old_Abor|
|000040a0| 74 5f 50 72 65 0d 18 24 | 2e c8 99 20 22 4f 53 5f |t_Pre..$|... "OS_|
|000040b0| 43 68 61 6e 67 65 45 6e | 76 69 72 6f 6e 6d 65 6e |ChangeEn|vironmen|
|000040c0| 74 22 2c 33 2c 21 4f 6c | 64 5f 41 62 6f 72 74 5f |t",3,!Ol|d_Abort_|
|000040d0| 41 64 72 0d 18 2e 0e f2 | 5f 56 53 49 5f 53 61 76 |Adr.....|_VSI_Sav|
|000040e0| 65 0d 18 38 11 56 53 49 | 5f 41 63 74 69 76 65 25 |e..8.VSI|_Active%|
|000040f0| 3d a3 0d 18 42 0f d9 23 | 56 53 49 5f 46 69 6c 65 |=...B..#|VSI_File|
|00004100| 25 0d 18 4c 27 e7 20 44 | 65 6c 65 74 65 25 20 8c |%..L'. D|elete% .|
|00004110| 20 ff 28 22 52 45 4d 4f | 56 45 20 22 2b 56 53 49 | .("REMO|VE "+VSI|
|00004120| 5f 46 6e 61 6d 65 24 29 | 0d 18 56 05 e1 0d ff |_Fname$)|..V.... |
+--------+-------------------------+-------------------------+--------+--------+