Home » Archimedes archive » Acorn User » AU 1994-01.adf » !StarInfo_StarInfo » Hallas/AccentSrc

Hallas/AccentSrc

This website contains an archive of files for the Acorn Electron, BBC Micro, Acorn Archimedes, Commodore 16 and Commodore 64 computers, which Dominic Ford has rescued from his private collection of floppy disks and cassettes.

Some of these files were originally commercial releases in the 1980s and 1990s, but they are now widely available online. I assume that copyright over them is no longer being asserted. If you own the copyright and would like files to be removed, please contact me.

Tape/disk: Home » Archimedes archive » Acorn User » AU 1994-01.adf » !StarInfo_StarInfo
Filename: Hallas/AccentSrc
Read OK:
File size: 0D7B bytes
Load address: 0000
Exec address: 0000
File contents
   10REM     >AccentSrc
   20REM by  J M Faber
   30REM for 32-bit machines
   40REM (c) BAU August 1992
   50REM New data by Richard Hallas, (c) BAU January 1994
   60:
   70DIM code% 1000
   80name$="Accent"
   90sp=13:link=14:pc=15
  100FOR pass%=4 TO 6 STEP 2
  110P%=0:O%=code%
  120[OPT pass%
  130        EQUD    0
  140        EQUD    init%
  150        EQUD    finish%
  160        EQUD    0
  170        EQUD    title%
  180        EQUD    helptext%
  190        EQUD    0
  200
  210.title% EQUS    name$
  220        EQUB    0
  230        ALIGN
  240.helptext%
  250        EQUS    name$+CHR$9+CHR$9+"1.01 ("+MID$(TIME$,5,11)+")"
  260        EQUB    0
  270        ALIGN
  280
  290.init%  STMFD   (sp)!,{R0-R12,link}
  300        MOV     R0,#&10
  310        ADR     R1,handler%
  320        ADR     R2,workspace%
  330        SWI     "XOS_Claim"
  340        MOV     R0,#14
  350        MOV     R1,#11
  360        SWI     "XOS_Byte"
  370        LDMFD   (sp)!,{R0-R12,pc}
  380
  390.finish%
  400        STMFD   (sp)!,{R0-R12,link}
  410        MOV     R0,#13
  420        MOV     R1,#11
  430        SWI     "XOS_Byte"
  440        MOV     R0,#&10
  450        ADR     R1,handler%
  460        ADR     R2,workspace%
  470        SWI     "XOS_Release"
  480        LDMFD   (sp)!,{R0-R12,pc}
  490
  500.handler%
  510        CMP     R0,#11
  520        MOVNE   PC,R14
  530        CMP     R2,#&5E
  540        STREQ   R1,[R12]
  550        MOVEQ   PC,R14
  560        CMP     R1,#0
  570        MOVEQ   PC,R14
  580        STMFD   R13!,{R0-R12,R14}
  590        LDR     R0,[R12]
  600        TEQ     R0,#0
  610        BEQ     exithandler%
  620        CMP     R2,R0,LSR #8
  630        ANDLT   R0,R0,#&FF00
  640        ORRLT   R0,R0,R2
  650        MOVGT   R0,R0,LSR #8
  660        ORRGT   R0,R0,R2,LSL #8
  670        STR     R0,[R12]
  680        LDR     R0,[R12,#4]
  690        CMP     R0,#0
  700        BNE     exithandler%
  710        MOV     R1,#1
  720        STR     R1,[R12,#4]
  730        ADR     R0,callback%
  740        ADR     R1,workspace%
  750        MOV     R9,PC
  760        ORR     R8,R9,#3
  770        TEQP    R8,#0
  780        MOVNV   R0,R0
  790        STMFD   R13!,{R14}
  800        SWI     "XOS_AddCallBack"
  810        LDMFD   R13!,{R14}
  820        TEQP    R9,#0
  830        MOVNV   R0,R0
  840.exithandler%
  850        LDMFD   R13!,{R0-R12,R15}
  860
  870.callback%
  880        STMFD   R13!,{R0-R12,R14}
  890        LDR     R2,[R12]
  900        ADR     R0,data%
  910.loop   LDR     R3,[R0],#4
  920        TEQ     R3,#0
  930        BEQ     exitcallback%
  940        CMP     R2,R3,LSR #16
  950        BNE     loop
  960        MOV     R0,#202
  970        MOV     R1,#0
  980        MOV     R2,#255
  990        SWI     "XOS_Byte"
 1000        TST     R1,#%10000000
 1010        EORNE   R1,R1,#%11000
 1020        EOR     R1,R1,#%10000
 1030        TST     R1,#%11000
 1040        MOVNE   R3,R3,LSR #8
 1050        MOV     R0,#153
 1060        MOV     R1,#0
 1070        MOV     R2,#0
 1080        SWI     "XOS_Byte"
 1090        MOV     R1,#0
 1100        AND     R2,R3,#&FF
 1110        SWI     "XOS_Byte"
 1120.exitcallback%
 1130        MOV     R1,#0
 1140        STR     R1,[R12,#4]
 1150        LDMFD   R13!,{R0-R12,R15}
 1160
 1170.data%  EQUD    &28279490
 1180        EQUD    &29279591
 1190        EQUD    &1D1C9C8F
 1200        EQUD    &44299A9B
 1210        EQUD    &3F2E9E9E
 1220        EQUD    &443F9F9F
 1230        EQUD    &5655B7B7
 1240        EQUD    &532B8D8D
 1250
 1260.workspace%
 1270        EQUD    0
 1280        EQUD    0
 1290]:NEXT  pass%
 1300name$="Accent"
 1310SYS "OS_File",10,name$,&FFA,,code%,O%
 1320REM PRINT"Module saved as '"name$"'"
 1330OSCLI"RMLoad "+name$
 1340END
�     >AccentSrc
� by  J M Faber
� for 32-bit machines
(� (c) BAU August 1992
26� New data by Richard Hallas, (c) BAU January 1994
<:
F� code% 1000
Pname$="Accent"
Zsp=13:link=14:pc=15
d� pass%=4 � 6 � 2
nP%=0:O%=code%
x[OPT pass%
�        EQUD    0
�        EQUD    init%
�        EQUD    finish%
�        EQUD    0
�        EQUD    title%
�        EQUD    helptext%
�        EQUD    0
�
�.title% EQUS    name$
�        EQUB    0
�        ALIGN
�.helptext%
�6        EQUS    name$+�9+�9+"1.01 ("+��$,5,11)+")"
        EQUB    0
        ALIGN

"'.init%  STMFD   (sp)!,{R0-R12,link}
,        MOV     R0,#&10
6        ADR     R1,handler%
@!        ADR     R2,workspace%
J        SWI     "XOS_Claim"
T        MOV     R0,#14
^        MOV     R1,#11
h        SWI     "XOS_Byte"
r%        LDMFD   (sp)!,{R0-R12,pc}
|
�.finish%
�'        STMFD   (sp)!,{R0-R12,link}
�        MOV     R0,#13
�        MOV     R1,#11
�        SWI     "XOS_Byte"
�        MOV     R0,#&10
�        ADR     R1,handler%
�!        ADR     R2,workspace%
�!        SWI     "XOS_Release"
�%        LDMFD   (sp)!,{R0-R12,pc}
�
�
.handler%
�        CMP     R0,#11
        MOVNE   PC,R14
        CMP     R2,#&5E
        STREQ   R1,[R12]
&        �Q   PC,R14
0        CMP     R1,#0
:        �Q   PC,R14
D%        STMFD   R13!,{R0-R12,R14}
N        LDR     R0,[R12]
X        TEQ     R0,#0
b         BEQ     exithandler%
l         CMP     R2,R0,LSR #8
v        �LT   R0,R0,#&FF00
�        �RLT   R0,R0,R2
�         MOVGT   R0,R0,LSR #8
�"        �RGT   R0,R0,R2,LSL #8
�        STR     R0,[R12]
�        LDR     R0,[R12,#4]
�        CMP     R0,#0
�         BNE     exithandler%
�        MOV     R1,#1
�        STR     R1,[R12,#4]
�         ADR     R0,callback%
�!        ADR     R1,workspace%
�        MOV     R9,PC
�        �R     R8,R9,#3
        TEQP    R8,#0
        MOVNV   R0,R0
        STMFD   R13!,{R14}
 %        SWI     "XOS_AddCallBack"
*        LDMFD   R13!,{R14}
4        TEQP    R9,#0
>        MOVNV   R0,R0
H.exithandler%
R%        LDMFD   R13!,{R0-R12,R15}
\
f.callback%
p%        STMFD   R13!,{R0-R12,R14}
z        LDR     R2,[R12]
�        ADR     R0,data%
�.loop   LDR     R3,[R0],#4
�        TEQ     R3,#0
�!        BEQ     exitcallback%
�!        CMP     R2,R3,LSR #16
�        BNE     loop
�        MOV     R0,#202
�        MOV     R1,#0
�        MOV     R2,#255
�        SWI     "XOS_Byte"
�!        TST     R1,#%10000000
�        �NE   R1,R1,#%11000
�        �     R1,R1,#%10000
        TST     R1,#%11000
         MOVNE   R3,R3,LSR #8
        MOV     R0,#153
$        MOV     R1,#0
.        MOV     R2,#0
8        SWI     "XOS_Byte"
B        MOV     R1,#0
L        �     R2,R3,#&FF
V        SWI     "XOS_Byte"
`.exitcallback%
j        MOV     R1,#0
t        STR     R1,[R12,#4]
~%        LDMFD   R13!,{R0-R12,R15}
�
�.data%  EQUD    &28279490
�        EQUD    &29279591
�        EQUD    &1D1C9C8F
�        EQUD    &44299A9B
�        EQUD    &3F2E9E9E
�        EQUD    &443F9F9F
�        EQUD    &5655B7B7
�        EQUD    &532B8D8D
�
�.workspace%
�        EQUD    0
        EQUD    0

]:�  pass%
name$="Accent"
(ș "OS_File",10,name$,&FFA,,code%,O%
(&� PRINT"Module saved as '"name$"'"
2�"RMLoad "+name$
<�
�
00000000  0d 00 0a 14 f4 20 20 20  20 20 3e 41 63 63 65 6e  |.....     >Accen|
00000010  74 53 72 63 0d 00 14 13  f4 20 62 79 20 20 4a 20  |tSrc..... by  J |
00000020  4d 20 46 61 62 65 72 0d  00 1e 19 f4 20 66 6f 72  |M Faber..... for|
00000030  20 33 32 2d 62 69 74 20  6d 61 63 68 69 6e 65 73  | 32-bit machines|
00000040  0d 00 28 19 f4 20 28 63  29 20 42 41 55 20 41 75  |..(.. (c) BAU Au|
00000050  67 75 73 74 20 31 39 39  32 0d 00 32 36 f4 20 4e  |gust 1992..26. N|
00000060  65 77 20 64 61 74 61 20  62 79 20 52 69 63 68 61  |ew data by Richa|
00000070  72 64 20 48 61 6c 6c 61  73 2c 20 28 63 29 20 42  |rd Hallas, (c) B|
00000080  41 55 20 4a 61 6e 75 61  72 79 20 31 39 39 34 0d  |AU January 1994.|
00000090  00 3c 05 3a 0d 00 46 10  de 20 63 6f 64 65 25 20  |.<.:..F.. code% |
000000a0  31 30 30 30 0d 00 50 12  6e 61 6d 65 24 3d 22 41  |1000..P.name$="A|
000000b0  63 63 65 6e 74 22 0d 00  5a 17 73 70 3d 31 33 3a  |ccent"..Z.sp=13:|
000000c0  6c 69 6e 6b 3d 31 34 3a  70 63 3d 31 35 0d 00 64  |link=14:pc=15..d|
000000d0  15 e3 20 70 61 73 73 25  3d 34 20 b8 20 36 20 88  |.. pass%=4 . 6 .|
000000e0  20 32 0d 00 6e 11 50 25  3d 30 3a 4f 25 3d 63 6f  | 2..n.P%=0:O%=co|
000000f0  64 65 25 0d 00 78 0e 5b  4f 50 54 20 70 61 73 73  |de%..x.[OPT pass|
00000100  25 0d 00 82 15 20 20 20  20 20 20 20 20 45 51 55  |%....        EQU|
00000110  44 20 20 20 20 30 0d 00  8c 19 20 20 20 20 20 20  |D    0....      |
00000120  20 20 45 51 55 44 20 20  20 20 69 6e 69 74 25 0d  |  EQUD    init%.|
00000130  00 96 1b 20 20 20 20 20  20 20 20 45 51 55 44 20  |...        EQUD |
00000140  20 20 20 66 69 6e 69 73  68 25 0d 00 a0 15 20 20  |   finish%....  |
00000150  20 20 20 20 20 20 45 51  55 44 20 20 20 20 30 0d  |      EQUD    0.|
00000160  00 aa 1a 20 20 20 20 20  20 20 20 45 51 55 44 20  |...        EQUD |
00000170  20 20 20 74 69 74 6c 65  25 0d 00 b4 1d 20 20 20  |   title%....   |
00000180  20 20 20 20 20 45 51 55  44 20 20 20 20 68 65 6c  |     EQUD    hel|
00000190  70 74 65 78 74 25 0d 00  be 15 20 20 20 20 20 20  |ptext%....      |
000001a0  20 20 45 51 55 44 20 20  20 20 30 0d 00 c8 04 0d  |  EQUD    0.....|
000001b0  00 d2 19 2e 74 69 74 6c  65 25 20 45 51 55 53 20  |....title% EQUS |
000001c0  20 20 20 6e 61 6d 65 24  0d 00 dc 15 20 20 20 20  |   name$....    |
000001d0  20 20 20 20 45 51 55 42  20 20 20 20 30 0d 00 e6  |    EQUB    0...|
000001e0  11 20 20 20 20 20 20 20  20 41 4c 49 47 4e 0d 00  |.        ALIGN..|
000001f0  f0 0e 2e 68 65 6c 70 74  65 78 74 25 0d 00 fa 36  |...helptext%...6|
00000200  20 20 20 20 20 20 20 20  45 51 55 53 20 20 20 20  |        EQUS    |
00000210  6e 61 6d 65 24 2b bd 39  2b bd 39 2b 22 31 2e 30  |name$+.9+.9+"1.0|
00000220  31 20 28 22 2b c1 91 24  2c 35 2c 31 31 29 2b 22  |1 ("+..$,5,11)+"|
00000230  29 22 0d 01 04 15 20 20  20 20 20 20 20 20 45 51  |)"....        EQ|
00000240  55 42 20 20 20 20 30 0d  01 0e 11 20 20 20 20 20  |UB    0....     |
00000250  20 20 20 41 4c 49 47 4e  0d 01 18 04 0d 01 22 27  |   ALIGN......"'|
00000260  2e 69 6e 69 74 25 20 20  53 54 4d 46 44 20 20 20  |.init%  STMFD   |
00000270  28 73 70 29 21 2c 7b 52  30 2d 52 31 32 2c 6c 69  |(sp)!,{R0-R12,li|
00000280  6e 6b 7d 0d 01 2c 1b 20  20 20 20 20 20 20 20 4d  |nk}..,.        M|
00000290  4f 56 20 20 20 20 20 52  30 2c 23 26 31 30 0d 01  |OV     R0,#&10..|
000002a0  36 1f 20 20 20 20 20 20  20 20 41 44 52 20 20 20  |6.        ADR   |
000002b0  20 20 52 31 2c 68 61 6e  64 6c 65 72 25 0d 01 40  |  R1,handler%..@|
000002c0  21 20 20 20 20 20 20 20  20 41 44 52 20 20 20 20  |!        ADR    |
000002d0  20 52 32 2c 77 6f 72 6b  73 70 61 63 65 25 0d 01  | R2,workspace%..|
000002e0  4a 1f 20 20 20 20 20 20  20 20 53 57 49 20 20 20  |J.        SWI   |
000002f0  20 20 22 58 4f 53 5f 43  6c 61 69 6d 22 0d 01 54  |  "XOS_Claim"..T|
00000300  1a 20 20 20 20 20 20 20  20 4d 4f 56 20 20 20 20  |.        MOV    |
00000310  20 52 30 2c 23 31 34 0d  01 5e 1a 20 20 20 20 20  | R0,#14..^.     |
00000320  20 20 20 4d 4f 56 20 20  20 20 20 52 31 2c 23 31  |   MOV     R1,#1|
00000330  31 0d 01 68 1e 20 20 20  20 20 20 20 20 53 57 49  |1..h.        SWI|
00000340  20 20 20 20 20 22 58 4f  53 5f 42 79 74 65 22 0d  |     "XOS_Byte".|
00000350  01 72 25 20 20 20 20 20  20 20 20 4c 44 4d 46 44  |.r%        LDMFD|
00000360  20 20 20 28 73 70 29 21  2c 7b 52 30 2d 52 31 32  |   (sp)!,{R0-R12|
00000370  2c 70 63 7d 0d 01 7c 04  0d 01 86 0c 2e 66 69 6e  |,pc}..|......fin|
00000380  69 73 68 25 0d 01 90 27  20 20 20 20 20 20 20 20  |ish%...'        |
00000390  53 54 4d 46 44 20 20 20  28 73 70 29 21 2c 7b 52  |STMFD   (sp)!,{R|
000003a0  30 2d 52 31 32 2c 6c 69  6e 6b 7d 0d 01 9a 1a 20  |0-R12,link}.... |
000003b0  20 20 20 20 20 20 20 4d  4f 56 20 20 20 20 20 52  |       MOV     R|
000003c0  30 2c 23 31 33 0d 01 a4  1a 20 20 20 20 20 20 20  |0,#13....       |
000003d0  20 4d 4f 56 20 20 20 20  20 52 31 2c 23 31 31 0d  | MOV     R1,#11.|
000003e0  01 ae 1e 20 20 20 20 20  20 20 20 53 57 49 20 20  |...        SWI  |
000003f0  20 20 20 22 58 4f 53 5f  42 79 74 65 22 0d 01 b8  |   "XOS_Byte"...|
00000400  1b 20 20 20 20 20 20 20  20 4d 4f 56 20 20 20 20  |.        MOV    |
00000410  20 52 30 2c 23 26 31 30  0d 01 c2 1f 20 20 20 20  | R0,#&10....    |
00000420  20 20 20 20 41 44 52 20  20 20 20 20 52 31 2c 68  |    ADR     R1,h|
00000430  61 6e 64 6c 65 72 25 0d  01 cc 21 20 20 20 20 20  |andler%...!     |
00000440  20 20 20 41 44 52 20 20  20 20 20 52 32 2c 77 6f  |   ADR     R2,wo|
00000450  72 6b 73 70 61 63 65 25  0d 01 d6 21 20 20 20 20  |rkspace%...!    |
00000460  20 20 20 20 53 57 49 20  20 20 20 20 22 58 4f 53  |    SWI     "XOS|
00000470  5f 52 65 6c 65 61 73 65  22 0d 01 e0 25 20 20 20  |_Release"...%   |
00000480  20 20 20 20 20 4c 44 4d  46 44 20 20 20 28 73 70  |     LDMFD   (sp|
00000490  29 21 2c 7b 52 30 2d 52  31 32 2c 70 63 7d 0d 01  |)!,{R0-R12,pc}..|
000004a0  ea 04 0d 01 f4 0d 2e 68  61 6e 64 6c 65 72 25 0d  |.......handler%.|
000004b0  01 fe 1a 20 20 20 20 20  20 20 20 43 4d 50 20 20  |...        CMP  |
000004c0  20 20 20 52 30 2c 23 31  31 0d 02 08 1a 20 20 20  |   R0,#11....   |
000004d0  20 20 20 20 20 4d 4f 56  4e 45 20 20 20 50 43 2c  |     MOVNE   PC,|
000004e0  52 31 34 0d 02 12 1b 20  20 20 20 20 20 20 20 43  |R14....        C|
000004f0  4d 50 20 20 20 20 20 52  32 2c 23 26 35 45 0d 02  |MP     R2,#&5E..|
00000500  1c 1c 20 20 20 20 20 20  20 20 53 54 52 45 51 20  |..        STREQ |
00000510  20 20 52 31 2c 5b 52 31  32 5d 0d 02 26 17 20 20  |  R1,[R12]..&.  |
00000520  20 20 20 20 20 20 ec 51  20 20 20 50 43 2c 52 31  |      .Q   PC,R1|
00000530  34 0d 02 30 19 20 20 20  20 20 20 20 20 43 4d 50  |4..0.        CMP|
00000540  20 20 20 20 20 52 31 2c  23 30 0d 02 3a 17 20 20  |     R1,#0..:.  |
00000550  20 20 20 20 20 20 ec 51  20 20 20 50 43 2c 52 31  |      .Q   PC,R1|
00000560  34 0d 02 44 25 20 20 20  20 20 20 20 20 53 54 4d  |4..D%        STM|
00000570  46 44 20 20 20 52 31 33  21 2c 7b 52 30 2d 52 31  |FD   R13!,{R0-R1|
00000580  32 2c 52 31 34 7d 0d 02  4e 1c 20 20 20 20 20 20  |2,R14}..N.      |
00000590  20 20 4c 44 52 20 20 20  20 20 52 30 2c 5b 52 31  |  LDR     R0,[R1|
000005a0  32 5d 0d 02 58 19 20 20  20 20 20 20 20 20 54 45  |2]..X.        TE|
000005b0  51 20 20 20 20 20 52 30  2c 23 30 0d 02 62 20 20  |Q     R0,#0..b  |
000005c0  20 20 20 20 20 20 20 42  45 51 20 20 20 20 20 65  |       BEQ     e|
000005d0  78 69 74 68 61 6e 64 6c  65 72 25 0d 02 6c 20 20  |xithandler%..l  |
000005e0  20 20 20 20 20 20 20 43  4d 50 20 20 20 20 20 52  |       CMP     R|
000005f0  32 2c 52 30 2c 4c 53 52  20 23 38 0d 02 76 1e 20  |2,R0,LSR #8..v. |
00000600  20 20 20 20 20 20 20 80  4c 54 20 20 20 52 30 2c  |       .LT   R0,|
00000610  52 30 2c 23 26 46 46 30  30 0d 02 80 1b 20 20 20  |R0,#&FF00....   |
00000620  20 20 20 20 20 84 52 4c  54 20 20 20 52 30 2c 52  |     .RLT   R0,R|
00000630  30 2c 52 32 0d 02 8a 20  20 20 20 20 20 20 20 20  |0,R2...         |
00000640  4d 4f 56 47 54 20 20 20  52 30 2c 52 30 2c 4c 53  |MOVGT   R0,R0,LS|
00000650  52 20 23 38 0d 02 94 22  20 20 20 20 20 20 20 20  |R #8..."        |
00000660  84 52 47 54 20 20 20 52  30 2c 52 30 2c 52 32 2c  |.RGT   R0,R0,R2,|
00000670  4c 53 4c 20 23 38 0d 02  9e 1c 20 20 20 20 20 20  |LSL #8....      |
00000680  20 20 53 54 52 20 20 20  20 20 52 30 2c 5b 52 31  |  STR     R0,[R1|
00000690  32 5d 0d 02 a8 1f 20 20  20 20 20 20 20 20 4c 44  |2]....        LD|
000006a0  52 20 20 20 20 20 52 30  2c 5b 52 31 32 2c 23 34  |R     R0,[R12,#4|
000006b0  5d 0d 02 b2 19 20 20 20  20 20 20 20 20 43 4d 50  |]....        CMP|
000006c0  20 20 20 20 20 52 30 2c  23 30 0d 02 bc 20 20 20  |     R0,#0...   |
000006d0  20 20 20 20 20 20 42 4e  45 20 20 20 20 20 65 78  |      BNE     ex|
000006e0  69 74 68 61 6e 64 6c 65  72 25 0d 02 c6 19 20 20  |ithandler%....  |
000006f0  20 20 20 20 20 20 4d 4f  56 20 20 20 20 20 52 31  |      MOV     R1|
00000700  2c 23 31 0d 02 d0 1f 20  20 20 20 20 20 20 20 53  |,#1....        S|
00000710  54 52 20 20 20 20 20 52  31 2c 5b 52 31 32 2c 23  |TR     R1,[R12,#|
00000720  34 5d 0d 02 da 20 20 20  20 20 20 20 20 20 41 44  |4]...         AD|
00000730  52 20 20 20 20 20 52 30  2c 63 61 6c 6c 62 61 63  |R     R0,callbac|
00000740  6b 25 0d 02 e4 21 20 20  20 20 20 20 20 20 41 44  |k%...!        AD|
00000750  52 20 20 20 20 20 52 31  2c 77 6f 72 6b 73 70 61  |R     R1,workspa|
00000760  63 65 25 0d 02 ee 19 20  20 20 20 20 20 20 20 4d  |ce%....        M|
00000770  4f 56 20 20 20 20 20 52  39 2c 50 43 0d 02 f8 1b  |OV     R9,PC....|
00000780  20 20 20 20 20 20 20 20  84 52 20 20 20 20 20 52  |        .R     R|
00000790  38 2c 52 39 2c 23 33 0d  03 02 19 20 20 20 20 20  |8,R9,#3....     |
000007a0  20 20 20 54 45 51 50 20  20 20 20 52 38 2c 23 30  |   TEQP    R8,#0|
000007b0  0d 03 0c 19 20 20 20 20  20 20 20 20 4d 4f 56 4e  |....        MOVN|
000007c0  56 20 20 20 52 30 2c 52  30 0d 03 16 1e 20 20 20  |V   R0,R0....   |
000007d0  20 20 20 20 20 53 54 4d  46 44 20 20 20 52 31 33  |     STMFD   R13|
000007e0  21 2c 7b 52 31 34 7d 0d  03 20 25 20 20 20 20 20  |!,{R14}.. %     |
000007f0  20 20 20 53 57 49 20 20  20 20 20 22 58 4f 53 5f  |   SWI     "XOS_|
00000800  41 64 64 43 61 6c 6c 42  61 63 6b 22 0d 03 2a 1e  |AddCallBack"..*.|
00000810  20 20 20 20 20 20 20 20  4c 44 4d 46 44 20 20 20  |        LDMFD   |
00000820  52 31 33 21 2c 7b 52 31  34 7d 0d 03 34 19 20 20  |R13!,{R14}..4.  |
00000830  20 20 20 20 20 20 54 45  51 50 20 20 20 20 52 39  |      TEQP    R9|
00000840  2c 23 30 0d 03 3e 19 20  20 20 20 20 20 20 20 4d  |,#0..>.        M|
00000850  4f 56 4e 56 20 20 20 52  30 2c 52 30 0d 03 48 11  |OVNV   R0,R0..H.|
00000860  2e 65 78 69 74 68 61 6e  64 6c 65 72 25 0d 03 52  |.exithandler%..R|
00000870  25 20 20 20 20 20 20 20  20 4c 44 4d 46 44 20 20  |%        LDMFD  |
00000880  20 52 31 33 21 2c 7b 52  30 2d 52 31 32 2c 52 31  | R13!,{R0-R12,R1|
00000890  35 7d 0d 03 5c 04 0d 03  66 0e 2e 63 61 6c 6c 62  |5}..\...f..callb|
000008a0  61 63 6b 25 0d 03 70 25  20 20 20 20 20 20 20 20  |ack%..p%        |
000008b0  53 54 4d 46 44 20 20 20  52 31 33 21 2c 7b 52 30  |STMFD   R13!,{R0|
000008c0  2d 52 31 32 2c 52 31 34  7d 0d 03 7a 1c 20 20 20  |-R12,R14}..z.   |
000008d0  20 20 20 20 20 4c 44 52  20 20 20 20 20 52 32 2c  |     LDR     R2,|
000008e0  5b 52 31 32 5d 0d 03 84  1c 20 20 20 20 20 20 20  |[R12]....       |
000008f0  20 41 44 52 20 20 20 20  20 52 30 2c 64 61 74 61  | ADR     R0,data|
00000900  25 0d 03 8e 1e 2e 6c 6f  6f 70 20 20 20 4c 44 52  |%.....loop   LDR|
00000910  20 20 20 20 20 52 33 2c  5b 52 30 5d 2c 23 34 0d  |     R3,[R0],#4.|
00000920  03 98 19 20 20 20 20 20  20 20 20 54 45 51 20 20  |...        TEQ  |
00000930  20 20 20 52 33 2c 23 30  0d 03 a2 21 20 20 20 20  |   R3,#0...!    |
00000940  20 20 20 20 42 45 51 20  20 20 20 20 65 78 69 74  |    BEQ     exit|
00000950  63 61 6c 6c 62 61 63 6b  25 0d 03 ac 21 20 20 20  |callback%...!   |
00000960  20 20 20 20 20 43 4d 50  20 20 20 20 20 52 32 2c  |     CMP     R2,|
00000970  52 33 2c 4c 53 52 20 23  31 36 0d 03 b6 18 20 20  |R3,LSR #16....  |
00000980  20 20 20 20 20 20 42 4e  45 20 20 20 20 20 6c 6f  |      BNE     lo|
00000990  6f 70 0d 03 c0 1b 20 20  20 20 20 20 20 20 4d 4f  |op....        MO|
000009a0  56 20 20 20 20 20 52 30  2c 23 32 30 32 0d 03 ca  |V     R0,#202...|
000009b0  19 20 20 20 20 20 20 20  20 4d 4f 56 20 20 20 20  |.        MOV    |
000009c0  20 52 31 2c 23 30 0d 03  d4 1b 20 20 20 20 20 20  | R1,#0....      |
000009d0  20 20 4d 4f 56 20 20 20  20 20 52 32 2c 23 32 35  |  MOV     R2,#25|
000009e0  35 0d 03 de 1e 20 20 20  20 20 20 20 20 53 57 49  |5....        SWI|
000009f0  20 20 20 20 20 22 58 4f  53 5f 42 79 74 65 22 0d  |     "XOS_Byte".|
00000a00  03 e8 21 20 20 20 20 20  20 20 20 54 53 54 20 20  |..!        TST  |
00000a10  20 20 20 52 31 2c 23 25  31 30 30 30 30 30 30 30  |   R1,#%10000000|
00000a20  0d 03 f2 1f 20 20 20 20  20 20 20 20 82 4e 45 20  |....        .NE |
00000a30  20 20 52 31 2c 52 31 2c  23 25 31 31 30 30 30 0d  |  R1,R1,#%11000.|
00000a40  03 fc 1f 20 20 20 20 20  20 20 20 82 20 20 20 20  |...        .    |
00000a50  20 52 31 2c 52 31 2c 23  25 31 30 30 30 30 0d 04  | R1,R1,#%10000..|
00000a60  06 1e 20 20 20 20 20 20  20 20 54 53 54 20 20 20  |..        TST   |
00000a70  20 20 52 31 2c 23 25 31  31 30 30 30 0d 04 10 20  |  R1,#%11000... |
00000a80  20 20 20 20 20 20 20 20  4d 4f 56 4e 45 20 20 20  |        MOVNE   |
00000a90  52 33 2c 52 33 2c 4c 53  52 20 23 38 0d 04 1a 1b  |R3,R3,LSR #8....|
00000aa0  20 20 20 20 20 20 20 20  4d 4f 56 20 20 20 20 20  |        MOV     |
00000ab0  52 30 2c 23 31 35 33 0d  04 24 19 20 20 20 20 20  |R0,#153..$.     |
00000ac0  20 20 20 4d 4f 56 20 20  20 20 20 52 31 2c 23 30  |   MOV     R1,#0|
00000ad0  0d 04 2e 19 20 20 20 20  20 20 20 20 4d 4f 56 20  |....        MOV |
00000ae0  20 20 20 20 52 32 2c 23  30 0d 04 38 1e 20 20 20  |    R2,#0..8.   |
00000af0  20 20 20 20 20 53 57 49  20 20 20 20 20 22 58 4f  |     SWI     "XO|
00000b00  53 5f 42 79 74 65 22 0d  04 42 19 20 20 20 20 20  |S_Byte"..B.     |
00000b10  20 20 20 4d 4f 56 20 20  20 20 20 52 31 2c 23 30  |   MOV     R1,#0|
00000b20  0d 04 4c 1c 20 20 20 20  20 20 20 20 80 20 20 20  |..L.        .   |
00000b30  20 20 52 32 2c 52 33 2c  23 26 46 46 0d 04 56 1e  |  R2,R3,#&FF..V.|
00000b40  20 20 20 20 20 20 20 20  53 57 49 20 20 20 20 20  |        SWI     |
00000b50  22 58 4f 53 5f 42 79 74  65 22 0d 04 60 12 2e 65  |"XOS_Byte"..`..e|
00000b60  78 69 74 63 61 6c 6c 62  61 63 6b 25 0d 04 6a 19  |xitcallback%..j.|
00000b70  20 20 20 20 20 20 20 20  4d 4f 56 20 20 20 20 20  |        MOV     |
00000b80  52 31 2c 23 30 0d 04 74  1f 20 20 20 20 20 20 20  |R1,#0..t.       |
00000b90  20 53 54 52 20 20 20 20  20 52 31 2c 5b 52 31 32  | STR     R1,[R12|
00000ba0  2c 23 34 5d 0d 04 7e 25  20 20 20 20 20 20 20 20  |,#4]..~%        |
00000bb0  4c 44 4d 46 44 20 20 20  52 31 33 21 2c 7b 52 30  |LDMFD   R13!,{R0|
00000bc0  2d 52 31 32 2c 52 31 35  7d 0d 04 88 04 0d 04 92  |-R12,R15}.......|
00000bd0  1d 2e 64 61 74 61 25 20  20 45 51 55 44 20 20 20  |..data%  EQUD   |
00000be0  20 26 32 38 32 37 39 34  39 30 0d 04 9c 1d 20 20  | &28279490....  |
00000bf0  20 20 20 20 20 20 45 51  55 44 20 20 20 20 26 32  |      EQUD    &2|
00000c00  39 32 37 39 35 39 31 0d  04 a6 1d 20 20 20 20 20  |9279591....     |
00000c10  20 20 20 45 51 55 44 20  20 20 20 26 31 44 31 43  |   EQUD    &1D1C|
00000c20  39 43 38 46 0d 04 b0 1d  20 20 20 20 20 20 20 20  |9C8F....        |
00000c30  45 51 55 44 20 20 20 20  26 34 34 32 39 39 41 39  |EQUD    &44299A9|
00000c40  42 0d 04 ba 1d 20 20 20  20 20 20 20 20 45 51 55  |B....        EQU|
00000c50  44 20 20 20 20 26 33 46  32 45 39 45 39 45 0d 04  |D    &3F2E9E9E..|
00000c60  c4 1d 20 20 20 20 20 20  20 20 45 51 55 44 20 20  |..        EQUD  |
00000c70  20 20 26 34 34 33 46 39  46 39 46 0d 04 ce 1d 20  |  &443F9F9F.... |
00000c80  20 20 20 20 20 20 20 45  51 55 44 20 20 20 20 26  |       EQUD    &|
00000c90  35 36 35 35 42 37 42 37  0d 04 d8 1d 20 20 20 20  |5655B7B7....    |
00000ca0  20 20 20 20 45 51 55 44  20 20 20 20 26 35 33 32  |    EQUD    &532|
00000cb0  42 38 44 38 44 0d 04 e2  04 0d 04 ec 0f 2e 77 6f  |B8D8D.........wo|
00000cc0  72 6b 73 70 61 63 65 25  0d 04 f6 15 20 20 20 20  |rkspace%....    |
00000cd0  20 20 20 20 45 51 55 44  20 20 20 20 30 0d 05 00  |    EQUD    0...|
00000ce0  15 20 20 20 20 20 20 20  20 45 51 55 44 20 20 20  |.        EQUD   |
00000cf0  20 30 0d 05 0a 0e 5d 3a  ed 20 20 70 61 73 73 25  | 0....]:.  pass%|
00000d00  0d 05 14 12 6e 61 6d 65  24 3d 22 41 63 63 65 6e  |....name$="Accen|
00000d10  74 22 0d 05 1e 28 c8 99  20 22 4f 53 5f 46 69 6c  |t"...(.. "OS_Fil|
00000d20  65 22 2c 31 30 2c 6e 61  6d 65 24 2c 26 46 46 41  |e",10,name$,&FFA|
00000d30  2c 2c 63 6f 64 65 25 2c  4f 25 0d 05 28 26 f4 20  |,,code%,O%..(&. |
00000d40  50 52 49 4e 54 22 4d 6f  64 75 6c 65 20 73 61 76  |PRINT"Module sav|
00000d50  65 64 20 61 73 20 27 22  6e 61 6d 65 24 22 27 22  |ed as '"name$"'"|
00000d60  0d 05 32 14 ff 22 52 4d  4c 6f 61 64 20 22 2b 6e  |..2.."RMLoad "+n|
00000d70  61 6d 65 24 0d 05 3c 05  e0 0d ff                 |ame$..<....|
00000d7b