Home » Archimedes archive » Acorn User » AU 1994-Xmas.adf » Programs » StarInfo/Bagnall/!QuickType/SourceCode
StarInfo/Bagnall/!QuickType/SourceCode
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-Xmas.adf » Programs |
Filename: | StarInfo/Bagnall/!QuickType/SourceCode |
Read OK: | ✔ |
File size: | 40C3 bytes |
Load address: | 0000 |
Exec address: | 0000 |
File contents
1ON ERROR PRINT REPORT$,ERL:END 2length%=4000 3DIM code% length% 4FOR pass%=12 TO 15 STEP 3 5P%=0:O%=code%:L%=code%+length% 6PROCasm 7NEXT 8end=P% 9OSCLI("save <quicktype$dir>.QuickType "+STR$~code%+" +"+STR$~end) 10OSCLI("settype <quicktype$dir>.QuickType module") 11END 12 13DEFFNdatablock 14FOR a%=0 TO &67 15[ OPT pass% : EQUD 0 : ] 16NEXT 17=0 18 19DEFFNindex 20RESTORE 21datapt=data+code% 22FOR a%=0 TO &67 23 READ name$ 24 datapt!(a%*4)=P% 25 [:OPT pass%:EQUS name$:EQUB 0:] 26NEXT 27=0 28 29DEFFNe(a%) 30=CHR$(27)+CHR$(a%) 31 32DATA "ESC","F1","F2","F3","F4","F5","F6","F7" 33DATA "F8","F9","F10","F11","F12","Print","Scroll","Break" 34DATA "`","1","2","3","4","5","6","7" 35DATA "8","9","0","-","=","�","Back","Insert" 36DATA "Home","PageUp","Num","n/","n*","n#","Tab","Q" 37DATA "W","E","R","T","Y","U","I","O" 38DATA "P","[","]","\","Delete","Copy","PageDown","n7" 39DATA "n8","n9","n-","Ctrl-L","A","S","D","F" 40DATA "G","H","J","K","L",";","'","Return" 41DATA "n4","n5","n6","n+","Shift-L","Extra","Z","X" 42DATA "C","V","B","N","M" , "," , "." , "/" 43DATA "Shift-R","Up","n1","n2","n3","Caps","Alt","Space" 44DATA "Alt","Ctrl-R","Left","Down","Right","n0","n.","Enter" 45 46DEFPROCasm 47RESTORE 48[ 49OPT pass% 50.module EQUD 0 :ALIGN 51 EQUD init :ALIGN 52 EQUD finish :ALIGN 53 EQUD 0 :ALIGN 54 EQUD title :ALIGN 55 EQUD help :ALIGN 56 EQUD commands :ALIGN 57 58.title EQUS "QuickType":EQUB 0 :ALIGN 59.help EQUS "QuickType":EQUB 9 60 EQUS "0.00 (08 Aug 1994)":EQUB 0 :ALIGN 61 62.init STMFD R13!,{R7-R11,R14} 63 MOV R0,#16 64 ADR R1,event 65 MOV R2,R12 66 SWI "XOS_Claim" 67 BVS clmerror 68 MOV R0,#14 69 MOV R1,#11 70 SWI "XOS_Byte" 71 BVS evterror 72 MOV R0,#6 73 MOV R3,#2048 74 SWI "XOS_Module" 75 BVS workerr 76 STR R2,[R12] 77 MOV R1,#604 78 ADD R1,R1,#1024 79 STR R1,[R2],#4 80 MOV R0,#&68 81 MVN R1,#0 82.reset STR R1,[R2],#4 83 SUBS R0,R0,#1 84 BNE reset 85 LDMFD R13!,{R7-R11,PC}^ 86 87.finish STMFD R13!,{R7-R11,R14} 88 MOV R0,#13 89 MOV R1,#11 90 SWI "XOS_Byte" 91 MOV R0,#16 92 ADR R1,event 93 MOV R2,R12 94 SWI "XOS_Release" 95 MOV R0,#7 96 LDR R12,[R12] 97 LDR R2,[R12] 98 SWI "XOS_Module" 99 LDMFD R13!,{R7-R11,PC}^ 100 101.workerr MOV R0,#13 102 MOV R1,#11 103 SWI "XOS_Byte" 104.evterror MOV R4,R0 105 MOV R0,#16 106 ADR R1,event 107 MOV R2,R12 108 SWI "XOS_Release" 109 MOV R0,R4 110.clmerror MOV R1,#1 111 ADR R2,title 112 SWI "XWimp_ReportError" 113 LDMFD R13!,{R7-R11,PC}^ 114 115.event STMFD R13!,{R1-R11,R14} 116 CMP R0,#11 117 LDMNEFD R13!,{R1-R11,PC}^ 118 LDR R12,[R12] 119 CMP R1,#0 120 BEQ keyup 121 LDR R4,[R12] 122 CMP R2,#&5E:ORREQ R4,R4,#%01 123 CMP R2,#&60:ORREQ R4,R4,#%10 124 CMPNE R2,#&5E:BNE firmkey 125 TST R4,#%11 126 STR R4,[R12] 127 LDMEQFD R13!,{R1-R11,PC}^ 128 MOV R9,PC 129 ORR R8,R9,#3 130 TEQP R8,#0 131 MOVNV R0,R0 132 STMFD R13!,{R14} 133 MOV R0,#201 134 MOV R1,#1 135 MOV R2,#0 136 SWI "XOS_Byte" 137 LDMFD R13!,{R14} 138 TEQP R9,#0 139 MOVNV R0,R0 140 LDMFD R13!,{R1-R11,PC}^ 141 142.keyup LDR R4,[R12] 143 CMP R2,#&5E 144 BICEQ R4,R4,#%01 145 CMP R2,#&60 146 BICEQ R4,R4,#%10 147 STR R4,[R12] 148 TST R4,#%11 149 LDMNEFD R13!,{R1-R11,PC}^ 150 MOV R9,PC 151 ORR R8,R9,#3 152 TEQP R8,#0 153 MOVNV R0,R0 154 STMFD R13!,{R14} 155 MOV R0,#201 156 MOV R1,#0 157 MOV R2,#0 158 SWI "XOS_Byte" 159 LDMFD R13!,{R14} 160 TEQP R9,#0 161 MOVNV R0,R0 162.outofhere LDMFD R13!,{R1-R11,PC}^ 163 164.firmkey TST R4,#%11 165 LDMEQFD R13!,{R1-R11,PC}^ 166 CMP R2,#&67 167 LDMHIFD R13!,{R1-R11,PC}^ 168 MOV R9,PC 169 ORR R8,R9,#3 170 TEQP R8,#0 171 MOVNV R0,R0 172 STMFD R13!,{R14} 173 ADD R12,R12,#4 174 ADD R4,R12,R2,LSL#2 175 LDR R4,[R4] 176 CMN R4,#1 177 BEQ out 178.bufloop LDRB R2,[R4],#1 179 CMP R2,#0 180 BEQ out 181 MOV R0,#138 182 MOV R1,#0 183 SWI "XOS_Byte" 184 B bufloop 185.out LDMFD R13!,{R14} 186 TEQP R9,#0 187 MOVNV R0,R0 188 LDMFD R13!,{R1-R11,PC}^ 189 190.commands EQUS "Expand" :EQUB 0 :ALIGN :EQUD expand 191 EQUD &00030002 :EQUD Expand_Syntax :EQUD Expand_Help 192 EQUS "KeyNames" :EQUB 0 :ALIGN :EQUD 0 193 EQUD &20020002 :EQUD 0 :EQUD KeyNames 194 EQUS "QuickTyping" :EQUB 0 :ALIGN :EQUD 0 195 EQUD &00030002 :EQUD 0 :EQUD QuickTyping 196 EQUB 0 197 198.Expand_Help EQUS "*"+FNe(0)+" "+FNe(19)+" "+FNe(2)+"key expansion definitions."+CHR$(13) 199.Expand_Syntax EQUS FNe(14)+"KeyName> <expansion>":EQUB 0 200.QuickTyping EQUS "Use either Alt key with any other key to produce a predefined string" 201 EQUS ". Eg Alt-P could be defined as PRINT etc. "+CHR$(0) : ALIGN 202.KeyNames STMFD R13!,{R14} 203 ADR R0,KeyText 204 ADR R1,0 205 ADR R2,0 206 SWI "XOS_PrettyPrint" 207 MOV R0,#0 208 LDMFD R13!,{PC} 209 ALIGN 210.KeyText EQUS "Each key has a name, for most this is the name" 211 EQUS " marked on the key. For keys with shifted and " 212 EQUS "unshifted markings use unshifted. Function keys are " 213 EQUS "named F1 etc, Numeric keypad keys are n0-n9, n#, n*," 214 EQUS " etc, Num and Enter. Other keys are ..."+CHR$13 215 EQUS CHR$9+"Shift-L, Shift-R"+CHR$9+" - Left/Right Hand Shift"+CHR$13 216 EQUS CHR$9+"Up, Down, Left, Right"+CHR$9+" - Cursor keys"+CHR$13 217 EQUS CHR$9+"Caps, Num, Scroll"+CHR$9+" - Caps, Num, Scroll Lock"+CHR$13 218 EQUS CHR$9+"PageUp, PageDown"+CHR$9+" - Page Up/Down"+CHR$13 219 EQUS CHR$9+"Ctrl-L, Ctrl-R"+CHR$9+CHR$9+" - Left/Right hand Ctrl"+CHR$13 220 EQUS CHR$9+"Back"+CHR$9+CHR$9+CHR$9+" - Backspace" : EQUB 0 221ALIGN 222.expand STMFD R13!,{R7-R11,R14} 223 MOV R5,R0 224 MOV R0,#6 225 MOV R3,#256 226 SWI "XOS_Module" 227 MOV R3,R2 228 229.copystr LDRB R0,[R5],#1 230 CMP R0,#0 231 STRB R0,[R3],#1 232 BNE copystr 233 MOV R3,R2 234.terminate1 LDRB R0,[R3],#1 235 CMP R0,#32 236 BNE terminate1 237 SUB R4,R3,#1 238 MOV R0,#0 239 STRB R0,[R4],#1 240 241 ADR R5,data 242 MOV R6,#0 243.findkey LDR R1,[R5,R6] 244.addpc ADD R1,PC,R1 245 SUB R1,R1,#8 246 SUB R1,R1,#addpc AND (255<<8) 247 SUB R1,R1,#addpc AND 255 248 MVN R0,#0 249 MOV R3,#1 250 SWI "XTerritory_Collate" 251 BEQ setkey 252 ADD R6,R6,#4 253 CMP R6,#&68<<2 254 BLT findkey 255 256.nokey MOV R0,#7 257 SWI "XOS_Module" 258 ADR R0,badkey 259.expanderror LDMFD R13!,{R7-R11,R14} 260 ORR R14,R14,#1<<28 261 MOVS PC,R14 262.badkey EQUD 0 263 EQUS "Illegal Keyname - see ""help KeyNames"" for proper names":EQUB 0 264.sillyalt EQUD 0 265 EQUS "Can't define the Alt keys. Silly!":EQUB 0 266.already EQUD 0 267 EQUS "Already defined":EQUB 0 268 269.setkey CMP R6,#&60<<2 270 CMPNE R6,#&5E<<2 271 ADREQ R0,sillyalt 272 BEQ expanderror 273 LDR R12,[R12] 274 ADD R12,R12,#4 275 LDR R0,[R12,R6] 276 CMN R0,#1 277 BEQ insert 278 279.delete MOV R5,R0 280.dloop LDRB R1,[R5],#1 281 CMP R1,#32 282 BGT dloop 283 SUB R5,R5,R0 284 TST R5,#%11 285 BICNE R5,R5,#%11 286 ADDNE R5,R5,#4 ; R5=length (ALIGNed) 287 288 ADD R5,R0,R5 289 ADD R9,R12,#2048 290.movelp LDR R3,[R5],#4 291 STR R3,[R0],#4 292 CMP R5,R9 293 BLT movelp 294 SUB R0,R5,R0 ; R0=length 295 ADD R5,R6,#4 ; R5=pointer to next string pointer 296.delloop LDR R3,[R12,R5] 297 CMN R3,#1 298 SUBNE R3,R3,R0 299 STRNE R3,[R12,R5] 300 ADD R5,R5,#4 301 CMP R5,#&67<<2 302 BLT delloop 303 MVN R0,#0 304 STR R0,[R12,R6] 305 306.insert ADD R5,R6,#4 307 CMP R5,#&67<<2 308 BGT lookback 309.floopf LDR R0,[R12,R5] 310 CMN R0,#1 311 BNE forward 312 ADDEQ R5,R5,#4 313 CMP R5,#&68<<2 314 BNE floopf 315.lookback SUBS R5,R6,#4 316 BMI whatthehell 317.floopb LDR R0,[R12,R5] 318 CMN R0,#1 319 BNE backwards 320 SUBEQ R5,R5,#4 321 CMP R5,#0 322 BPL floopb 323.whatthehell ADD R0,R12,#&68<<2 324 B copystring 325 326.spaceerr EQUD 0 327 EQUS "Not enough space for definition":EQUB 0 328 329.forward MOV R2,R4 330.nextbyte LDRB R1,[R2],#1 331 CMP R1,#32 332 BGT nextbyte 333 SUB R2,R2,R4 334 TST R2,#%11 335 BEQ modfour 336 BIC R2,R2,#%11 337 ADD R2,R2,#4 338.modfour LDR R1,[R12,#-4] 339 BIC R1,R1,#%11 340 CMP R1,R2 341 ADRLT R0,spaceerr 342 BLT expanderror 343 STR R0,[R12,R6] 344 ADD R9,R12,#2048 345 SUB R9,R9,#8 346.moveloop LDR R3,[R9,-R2] 347 STR R3,[R9],#-4 348 CMP R0,R9 349 BMI moveloop 350 ADD R9,R6,#4 351.cngaddr LDR R8,[R12,R9] 352 CMN R8,#1 353 ADDNE R8,R2,R8 354 STRNE R8,[R12,R9] 355 ADD R9,R9,#4 356 CMP R9,#&68<<2 357 BLT cngaddr 358 B copystring 359 360.backwards MOV R2,R4 361.nextbyte2 LDRB R1,[R2],#1 362 CMP R1,#32 363 BGT nextbyte2 364 SUB R2,R2,R4 365 TST R2,#%11 366 BICNE R2,R2,#%11 367 ADDNE R2,R2,#4 368 LDR R1,[R12,#-4] 369 BIC R1,R1,#%11 370 CMP R1,R2 371 ADRLT R0,spaceerr 372 BLT expanderror 373 374.nextbyte3 LDRB R1,[R0],#1 375 CMP R1,#32 376 BGT nextbyte3 377 TST R0,#%11 378 BICNE R0,R0,#%11 379 ADDNE R0,R0,#4 380 381 STR R0,[R12,R6] 382 ADD R9,R12,#2048 383 SUB R9,R9,#8 384.moveloop5 LDR R3,[R9,-R2] 385 STR R3,[R9],#-4 386 CMP R0,R9 387 BMI moveloop5 388 389.copystring STR R0,[R12,R6] 390 LDRB R1,[R4],#1 391 CMP R1,#32 392 BEQ copystring 393 MOV R9,R0 394.cloop STRB R1,[R0],#1 395 LDRB R1,[R4],#1 396 CMP R1,#32 397 BGT cloop 398 MOV R1,#0 399 STRB R1,[R0],#1 400 SUB R0,R0,R9 401 TST R0,#%11 402 ANDNE R0,R0,#255<<2 403 ADDNE R0,R0,#4 404 LDR R1,[R12,#-4] 405 SUB R1,R1,R0 406 STR R1,[R12,#-4] 407 LDMFD R13!,{R7-R11,PC}^ 408 409.data :FNdatablock 410.index :FNindex 411] 412ENDPROC
� � � �$,�:� length%=4000 � code% length% � pass%=12 � 15 � 3 "P%=0:O%=code%:L%=code%+length% �asm � end=P% ;�("save <quicktype$dir>.QuickType "+�~code%+" +"+�~end) 1�("settype <quicktype$dir>.QuickType module") � ݤdatablock � a%=0 � &67 [ OPT pass% : EQUD 0 : ] � =0 ݤindex � datapt=data+code% � a%=0 � &67 � name$ datapt!(a%*4)=P% $ [:OPT pass%:EQUS name$:EQUB 0:] � =0 ݤe(a%) =�(27)+�(a%) .� "ESC","F1","F2","F3","F4","F5","F6","F7" !:� "F8","F9","F10","F11","F12","Print","Scroll","Break" "%� "`","1","2","3","4","5","6","7" #-� "8","9","0","-","=","�","Back","Insert" $4� "Home","PageUp","Num","n/","n*","n#","Tab","Q" %%� "W","E","R","T","Y","U","I","O" &5� "P","[","]","\","Delete","Copy","PageDown","n7" '-� "n8","n9","n-","Ctrl-L","A","S","D","F" (*� "G","H","J","K","L",";","'","Return" )3� "n4","n5","n6","n+","Shift-L","Extra","Z","X" *+� "C","V","B","N","M" , "," , "." , "/" +8� "Shift-R","Up","n1","n2","n3","Caps","Alt","Space" ,<� "Alt","Ctrl-R","Left","Down","Right","n0","n.","Enter" - . ��asm /� 0[ 1 OPT pass% 2,.module EQUD 0 :ALIGN 3, EQUD init :ALIGN 4, EQUD finish :ALIGN 5, EQUD 0 :ALIGN 6, EQUD title :ALIGN 7, EQUD help :ALIGN 8, EQUD commands :ALIGN 9 :?.title EQUS "QuickType":EQUB 0 :ALIGN ;/.help EQUS "QuickType":EQUB 9 <? EQUS "0.00 (08 Aug 1994)":EQUB 0 :ALIGN = >1.init STMFD R13!,{R7-R11,R14} ?& MOV R0,#16 @( ADR R1,event A& MOV R2,R12 B+ SWI "XOS_Claim" C( BVS clmerror D& MOV R0,#14 E& MOV R1,#11 F* SWI "XOS_Byte" G( BVS evterror H% MOV R0,#6 I( MOV R3,#2048 J, SWI "XOS_Module" K' BVS workerr L( STR R2,[R12] M' MOV R1,#604 N+ ADD R1,R1,#1024 O* STR R1,[R2],#4 P' MOV R0,#&68 Q% MVN R1,#0 R*.reset STR R1,[R2],#4 S( SUBS R0,R0,#1 T% BNE reset U1 LDMFD R13!,{R7-R11,PC}^ V W1.finish STMFD R13!,{R7-R11,R14} X& MOV R0,#13 Y& MOV R1,#11 Z* SWI "XOS_Byte" [& MOV R0,#16 \( ADR R1,event ]& MOV R2,R12 ^- SWI "XOS_Release" _% MOV R0,#7 `) LDR R12,[R12] a( LDR R2,[R12] b, SWI "XOS_Module" c1 LDMFD R13!,{R7-R11,PC}^ d e&.workerr MOV R0,#13 f& MOV R1,#11 g* SWI "XOS_Byte" h%.evterror MOV R4,R0 i& MOV R0,#16 j( ADR R1,event k& MOV R2,R12 l- SWI "XOS_Release" m% MOV R0,R4 n%.clmerror MOV R1,#1 o( ADR R2,title p3 SWI "XWimp_ReportError" q1 LDMFD R13!,{R7-R11,PC}^ r s1.event STMFD R13!,{R1-R11,R14} t& CMP R0,#11 u1 LDMNEFD R13!,{R1-R11,PC}^ v) LDR R12,[R12] w% CMP R1,#0 x% BEQ keyup y( LDR R4,[R12] z9 CMP R2,#&5E:�REQ R4,R4,#%01 {9 CMP R2,#&60:�REQ R4,R4,#%10 |7 CMPNE R2,#&5E:BNE firmkey }' TST R4,#%11 ~( STR R4,[R12] 1 LDMEQFD R13!,{R1-R11,PC}^ �% MOV R9,PC �' �R R8,R9,#3 �% TEQP R8,#0 �% MOVNV R0,R0 �* STMFD R13!,{R14} �' MOV R0,#201 �% MOV R1,#1 �% MOV R2,#0 �* SWI "XOS_Byte" �* LDMFD R13!,{R14} �% TEQP R9,#0 �% MOVNV R0,R0 �1 LDMFD R13!,{R1-R11,PC}^ � �(.keyup LDR R4,[R12] �' CMP R2,#&5E �* BICEQ R4,R4,#%01 �' CMP R2,#&60 �* BICEQ R4,R4,#%10 �( STR R4,[R12] �' TST R4,#%11 �1 LDMNEFD R13!,{R1-R11,PC}^ �% MOV R9,PC �' �R R8,R9,#3 �% TEQP R8,#0 �% MOVNV R0,R0 �* STMFD R13!,{R14} �' MOV R0,#201 �% MOV R1,#0 �% MOV R2,#0 �* SWI "XOS_Byte" �* LDMFD R13!,{R14} �% TEQP R9,#0 �% MOVNV R0,R0 �1.outofhere LDMFD R13!,{R1-R11,PC}^ � �'.firmkey TST R4,#%11 �1 LDMEQFD R13!,{R1-R11,PC}^ �' CMP R2,#&67 �1 LDMHIFD R13!,{R1-R11,PC}^ �% MOV R9,PC �' �R R8,R9,#3 �% TEQP R8,#0 �% MOVNV R0,R0 �* STMFD R13!,{R14} �* ADD R12,R12,#4 �/ ADD R4,R12,R2,LSL#2 �' LDR R4,[R4] �% CMN R4,#1 �# BEQ out �*.bufloop LDRB R2,[R4],#1 �% CMP R2,#0 �# BEQ out �' MOV R0,#138 �% MOV R1,#0 �* SWI "XOS_Byte" �' B bufloop �*.out LDMFD R13!,{R14} �% TEQP R9,#0 �% MOVNV R0,R0 �1 LDMFD R13!,{R1-R11,PC}^ � �].commands EQUS "Expand" :EQUB 0 :ALIGN :EQUD expand �b EQUD &00030002 :EQUD Expand_Syntax :EQUD Expand_Help �X EQUS "KeyNames" :EQUB 0 :ALIGN :EQUD 0 �_ EQUD &20020002 :EQUD 0 :EQUD KeyNames �X EQUS "QuickTyping" :EQUB 0 :ALIGN :EQUD 0 �b EQUD &00030002 :EQUD 0 :EQUD QuickTyping �! EQUB 0 � �a.Expand_Help EQUS "*"+�e(0)+" "+�e(19)+" "+�e(2)+"key expansion definitions."+�(13) �D.Expand_Syntax EQUS �e(14)+"KeyName> <expansion>":EQUB 0 �f.QuickTyping EQUS "Use either Alt key with any other key to produce a predefined string" �Y EQUS ". Eg Alt-P could be defined as PRINT etc. "+�(0) : ALIGN �*.KeyNames STMFD R13!,{R14} �* ADR R0,KeyText �$ ADR R1,0 �$ ADR R2,0 �1 SWI "XOS_PrettyPrint" �% MOV R0,#0 �) LDMFD R13!,{PC} � ALIGN �P.KeyText EQUS "Each key has a name, for most this is the name" �P EQUS " marked on the key. For keys with shifted and " �V EQUS "unshifted markings use unshifted. Function keys are " �V EQUS "named F1 etc, Numeric keypad keys are n0-n9, n#, n*," �M EQUS " etc, Num and Enter. Other keys are ..."+�13 �W EQUS �9+"Shift-L, Shift-R"+�9+" - Left/Right Hand Shift"+�13 �R EQUS �9+"Up, Down, Left, Right"+�9+" - Cursor keys"+�13 �Y EQUS �9+"Caps, Num, Scroll"+�9+" - Caps, Num, Scroll Lock"+�13 �N EQUS �9+"PageUp, PageDown"+�9+" - Page Up/Down"+�13 �W EQUS �9+"Ctrl-L, Ctrl-R"+�9+�9+" - Left/Right hand Ctrl"+�13 �J EQUS �9+"Back"+�9+�9+�9+" - Backspace" : EQUB 0 � ALIGN �1.expand STMFD R13!,{R7-R11,R14} �% MOV R5,R0 �% MOV R0,#6 �' MOV R3,#256 �, SWI "XOS_Module" �% MOV R3,R2 � �*.copystr LDRB R0,[R5],#1 �% CMP R0,#0 �* STRB R0,[R3],#1 �' BNE copystr �% MOV R3,R2 �*.terminate1 LDRB R0,[R3],#1 �& CMP R0,#32 �* BNE terminate1 �( SUB R4,R3,#1 �% MOV R0,#0 �* STRB R0,[R4],#1 � �' ADR R5,data �% MOV R6,#0 �*.findkey LDR R1,[R5,R6] �(.addpc ADD R1,PC,R1 �( SUB R1,R1,#8 �7 SUB R1,R1,#addpc � (255<<8) �2 SUB R1,R1,#addpc � 255 �% MVN R0,#0 �% MOV R3,#1 �4 SWI "XTerritory_Collate" �& BEQ setkey �( ADD R6,R6,#4 �* CMP R6,#&68<<2 �' BLT findkey � %.nokey MOV R0,#7 , SWI "XOS_Module" ) ADR R0,badkey 1.expanderror LDMFD R13!,{R7-R11,R14} - �R R14,R14,#1<<28 & MOVS PC,R14 !.badkey EQUD 0 a EQUS "Illegal Keyname - see ""help KeyNames"" for proper names":EQUB 0 !.sillyalt EQUD 0 J EQUS "Can't define the Alt keys. Silly!":EQUB 0 !.already EQUD 0 8 EQUS "Already defined":EQUB 0 *.setkey CMP R6,#&60<<2 * CMPNE R6,#&5E<<2 + ADREQ R0,sillyalt + BEQ expanderror ) LDR R12,[R12] * ADD R12,R12,#4 + LDR R0,[R12,R6] % CMN R0,#1 & BEQ insert %.delete MOV R5,R0 *.dloop LDRB R1,[R5],#1 & CMP R1,#32 % BGT dloop ( SUB R5,R5,R0 ' TST R5,#%11 * BICNE R5,R5,#%11 > ADDNE R5,R5,#4 ; R5=length (ALIGNed) ( ADD R5,R0,R5 !, ADD R9,R12,#2048 "*.movelp LDR R3,[R5],#4 #* STR R3,[R0],#4 $% CMP R5,R9 %& BLT movelp &4 SUB R0,R5,R0 ; R0=length 'M ADD R5,R6,#4 ; R5=pointer to next string pointer (+.delloop LDR R3,[R12,R5] )% CMN R3,#1 *( SUBNE R3,R3,R0 ++ STRNE R3,[R12,R5] ,( ADD R5,R5,#4 -* CMP R5,#&67<<2 .' BLT delloop /% MVN R0,#0 0+ STR R0,[R12,R6] 1 2(.insert ADD R5,R6,#4 3* CMP R5,#&67<<2 4( BGT lookback 5+.floopf LDR R0,[R12,R5] 6% CMN R0,#1 7' BNE forward 8( ADDEQ R5,R5,#4 9* CMP R5,#&68<<2 :& BNE floopf ;(.lookback SUBS R5,R6,#4 <+ BMI whatthehell =+.floopb LDR R0,[R12,R5] >% CMN R0,#1 ?) BNE backwards @( SUBEQ R5,R5,#4 A% CMP R5,#0 B& BPL floopb C..whatthehell ADD R0,R12,#&68<<2 D* B copystring E F!.spaceerr EQUD 0 GH EQUS "Not enough space for definition":EQUB 0 H I%.forward MOV R2,R4 J*.nextbyte LDRB R1,[R2],#1 K& CMP R1,#32 L( BGT nextbyte M( SUB R2,R2,R4 N' TST R2,#%11 O' BEQ modfour P* BIC R2,R2,#%11 Q( ADD R2,R2,#4 R,.modfour LDR R1,[R12,#-4] S* BIC R1,R1,#%11 T% CMP R1,R2 U+ ADRLT R0,spaceerr V+ BLT expanderror W+ STR R0,[R12,R6] X, ADD R9,R12,#2048 Y( SUB R9,R9,#8 Z+.moveloop LDR R3,[R9,-R2] [+ STR R3,[R9],#-4 \% CMP R0,R9 ]( BMI moveloop ^( ADD R9,R6,#4 _+.cngaddr LDR R8,[R12,R9] `% CMN R8,#1 a( ADDNE R8,R2,R8 b+ STRNE R8,[R12,R9] c( ADD R9,R9,#4 d* CMP R9,#&68<<2 e' BLT cngaddr f* B copystring g h%.backwards MOV R2,R4 i*.nextbyte2 LDRB R1,[R2],#1 j& CMP R1,#32 k) BGT nextbyte2 l( SUB R2,R2,R4 m' TST R2,#%11 n, BICNE R2,R2,#%11 o* ADDNE R2,R2,#4 p, LDR R1,[R12,#-4] q* BIC R1,R1,#%11 r% CMP R1,R2 s+ ADRLT R0,spaceerr t+ BLT expanderror u v*.nextbyte3 LDRB R1,[R0],#1 w& CMP R1,#32 x) BGT nextbyte3 y' TST R0,#%11 z* BICNE R0,R0,#%11 {( ADDNE R0,R0,#4 | }+ STR R0,[R12,R6] ~, ADD R9,R12,#2048 ( SUB R9,R9,#8 �+.moveloop5 LDR R3,[R9,-R2] �+ STR R3,[R9],#-4 �% CMP R0,R9 �) BMI moveloop5 � �+.copystring STR R0,[R12,R6] �* LDRB R1,[R4],#1 �& CMP R1,#32 �* BEQ copystring �% MOV R9,R0 �*.cloop STRB R1,[R0],#1 �* LDRB R1,[R4],#1 �& CMP R1,#32 �% BGT cloop �% MOV R1,#0 �* STRB R1,[R0],#1 �( SUB R0,R0,R9 �' TST R0,#%11 �+ �NE R0,R0,#255<<2 �( ADDNE R0,R0,#4 �, LDR R1,[R12,#-4] �( SUB R1,R1,R0 �, STR R1,[R12,#-4] �1 LDMFD R13!,{R7-R11,PC}^ � �#.data :�datablock �.index :�index �] �� �
00000000 0d 00 01 10 ee 20 85 20 f1 20 f6 24 2c 9e 3a e0 |..... . . .$,.:.| 00000010 0d 00 02 10 6c 65 6e 67 74 68 25 3d 34 30 30 30 |....length%=4000| 00000020 0d 00 03 13 de 20 63 6f 64 65 25 20 6c 65 6e 67 |..... code% leng| 00000030 74 68 25 0d 00 04 17 e3 20 70 61 73 73 25 3d 31 |th%..... pass%=1| 00000040 32 20 b8 20 31 35 20 88 20 33 0d 00 05 22 50 25 |2 . 15 . 3..."P%| 00000050 3d 30 3a 4f 25 3d 63 6f 64 65 25 3a 4c 25 3d 63 |=0:O%=code%:L%=c| 00000060 6f 64 65 25 2b 6c 65 6e 67 74 68 25 0d 00 06 08 |ode%+length%....| 00000070 f2 61 73 6d 0d 00 07 05 ed 0d 00 08 0a 65 6e 64 |.asm.........end| 00000080 3d 50 25 0d 00 09 3b ff 28 22 73 61 76 65 20 3c |=P%...;.("save <| 00000090 71 75 69 63 6b 74 79 70 65 24 64 69 72 3e 2e 51 |quicktype$dir>.Q| 000000a0 75 69 63 6b 54 79 70 65 20 22 2b c3 7e 63 6f 64 |uickType "+.~cod| 000000b0 65 25 2b 22 20 2b 22 2b c3 7e 65 6e 64 29 0d 00 |e%+" +"+.~end)..| 000000c0 0a 31 ff 28 22 73 65 74 74 79 70 65 20 3c 71 75 |.1.("settype <qu| 000000d0 69 63 6b 74 79 70 65 24 64 69 72 3e 2e 51 75 69 |icktype$dir>.Qui| 000000e0 63 6b 54 79 70 65 20 6d 6f 64 75 6c 65 22 29 0d |ckType module").| 000000f0 00 0b 05 e0 0d 00 0c 04 0d 00 0d 0f dd a4 64 61 |..............da| 00000100 74 61 62 6c 6f 63 6b 0d 00 0e 10 e3 20 61 25 3d |tablock..... a%=| 00000110 30 20 b8 20 26 36 37 0d 00 0f 1c 5b 20 4f 50 54 |0 . &67....[ OPT| 00000120 20 70 61 73 73 25 20 3a 20 45 51 55 44 20 30 20 | pass% : EQUD 0 | 00000130 3a 20 5d 0d 00 10 05 ed 0d 00 11 06 3d 30 0d 00 |: ].........=0..| 00000140 12 04 0d 00 13 0b dd a4 69 6e 64 65 78 0d 00 14 |........index...| 00000150 05 f7 0d 00 15 15 64 61 74 61 70 74 3d 64 61 74 |......datapt=dat| 00000160 61 2b 63 6f 64 65 25 0d 00 16 10 e3 20 61 25 3d |a+code%..... a%=| 00000170 30 20 b8 20 26 36 37 0d 00 17 0c 20 f3 20 6e 61 |0 . &67.... . na| 00000180 6d 65 24 0d 00 18 15 20 64 61 74 61 70 74 21 28 |me$.... datapt!(| 00000190 61 25 2a 34 29 3d 50 25 0d 00 19 24 20 5b 3a 4f |a%*4)=P%...$ [:O| 000001a0 50 54 20 70 61 73 73 25 3a 45 51 55 53 20 6e 61 |PT pass%:EQUS na| 000001b0 6d 65 24 3a 45 51 55 42 20 30 3a 5d 0d 00 1a 05 |me$:EQUB 0:]....| 000001c0 ed 0d 00 1b 06 3d 30 0d 00 1c 04 0d 00 1d 0b dd |.....=0.........| 000001d0 a4 65 28 61 25 29 0d 00 1e 10 3d bd 28 32 37 29 |.e(a%)....=.(27)| 000001e0 2b bd 28 61 25 29 0d 00 1f 04 0d 00 20 2e dc 20 |+.(a%)...... .. | 000001f0 22 45 53 43 22 2c 22 46 31 22 2c 22 46 32 22 2c |"ESC","F1","F2",| 00000200 22 46 33 22 2c 22 46 34 22 2c 22 46 35 22 2c 22 |"F3","F4","F5","| 00000210 46 36 22 2c 22 46 37 22 0d 00 21 3a dc 20 22 46 |F6","F7"..!:. "F| 00000220 38 22 2c 22 46 39 22 2c 22 46 31 30 22 2c 22 46 |8","F9","F10","F| 00000230 31 31 22 2c 22 46 31 32 22 2c 22 50 72 69 6e 74 |11","F12","Print| 00000240 22 2c 22 53 63 72 6f 6c 6c 22 2c 22 42 72 65 61 |","Scroll","Brea| 00000250 6b 22 0d 00 22 25 dc 20 22 60 22 2c 22 31 22 2c |k".."%. "`","1",| 00000260 22 32 22 2c 22 33 22 2c 22 34 22 2c 22 35 22 2c |"2","3","4","5",| 00000270 22 36 22 2c 22 37 22 0d 00 23 2d dc 20 22 38 22 |"6","7"..#-. "8"| 00000280 2c 22 39 22 2c 22 30 22 2c 22 2d 22 2c 22 3d 22 |,"9","0","-","="| 00000290 2c 22 a3 22 2c 22 42 61 63 6b 22 2c 22 49 6e 73 |,".","Back","Ins| 000002a0 65 72 74 22 0d 00 24 34 dc 20 22 48 6f 6d 65 22 |ert"..$4. "Home"| 000002b0 2c 22 50 61 67 65 55 70 22 2c 22 4e 75 6d 22 2c |,"PageUp","Num",| 000002c0 22 6e 2f 22 2c 22 6e 2a 22 2c 22 6e 23 22 2c 22 |"n/","n*","n#","| 000002d0 54 61 62 22 2c 22 51 22 0d 00 25 25 dc 20 22 57 |Tab","Q"..%%. "W| 000002e0 22 2c 22 45 22 2c 22 52 22 2c 22 54 22 2c 22 59 |","E","R","T","Y| 000002f0 22 2c 22 55 22 2c 22 49 22 2c 22 4f 22 0d 00 26 |","U","I","O"..&| 00000300 35 dc 20 22 50 22 2c 22 5b 22 2c 22 5d 22 2c 22 |5. "P","[","]","| 00000310 5c 22 2c 22 44 65 6c 65 74 65 22 2c 22 43 6f 70 |\","Delete","Cop| 00000320 79 22 2c 22 50 61 67 65 44 6f 77 6e 22 2c 22 6e |y","PageDown","n| 00000330 37 22 0d 00 27 2d dc 20 22 6e 38 22 2c 22 6e 39 |7"..'-. "n8","n9| 00000340 22 2c 22 6e 2d 22 2c 22 43 74 72 6c 2d 4c 22 2c |","n-","Ctrl-L",| 00000350 22 41 22 2c 22 53 22 2c 22 44 22 2c 22 46 22 0d |"A","S","D","F".| 00000360 00 28 2a dc 20 22 47 22 2c 22 48 22 2c 22 4a 22 |.(*. "G","H","J"| 00000370 2c 22 4b 22 2c 22 4c 22 2c 22 3b 22 2c 22 27 22 |,"K","L",";","'"| 00000380 2c 22 52 65 74 75 72 6e 22 0d 00 29 33 dc 20 22 |,"Return"..)3. "| 00000390 6e 34 22 2c 22 6e 35 22 2c 22 6e 36 22 2c 22 6e |n4","n5","n6","n| 000003a0 2b 22 2c 22 53 68 69 66 74 2d 4c 22 2c 22 45 78 |+","Shift-L","Ex| 000003b0 74 72 61 22 2c 22 5a 22 2c 22 58 22 0d 00 2a 2b |tra","Z","X"..*+| 000003c0 dc 20 22 43 22 2c 22 56 22 2c 22 42 22 2c 22 4e |. "C","V","B","N| 000003d0 22 2c 22 4d 22 20 2c 20 22 2c 22 20 2c 20 22 2e |","M" , "," , ".| 000003e0 22 20 2c 20 22 2f 22 0d 00 2b 38 dc 20 22 53 68 |" , "/"..+8. "Sh| 000003f0 69 66 74 2d 52 22 2c 22 55 70 22 2c 22 6e 31 22 |ift-R","Up","n1"| 00000400 2c 22 6e 32 22 2c 22 6e 33 22 2c 22 43 61 70 73 |,"n2","n3","Caps| 00000410 22 2c 22 41 6c 74 22 2c 22 53 70 61 63 65 22 0d |","Alt","Space".| 00000420 00 2c 3c dc 20 22 41 6c 74 22 2c 22 43 74 72 6c |.,<. "Alt","Ctrl| 00000430 2d 52 22 2c 22 4c 65 66 74 22 2c 22 44 6f 77 6e |-R","Left","Down| 00000440 22 2c 22 52 69 67 68 74 22 2c 22 6e 30 22 2c 22 |","Right","n0","| 00000450 6e 2e 22 2c 22 45 6e 74 65 72 22 0d 00 2d 04 0d |n.","Enter"..-..| 00000460 00 2e 09 dd f2 61 73 6d 0d 00 2f 05 f7 0d 00 30 |.....asm../....0| 00000470 05 5b 0d 00 31 0d 4f 50 54 20 70 61 73 73 25 0d |.[..1.OPT pass%.| 00000480 00 32 2c 2e 6d 6f 64 75 6c 65 20 20 20 20 20 20 |.2,.module | 00000490 20 20 20 20 20 20 20 45 51 55 44 20 30 20 20 20 | EQUD 0 | 000004a0 20 20 20 20 20 3a 41 4c 49 47 4e 0d 00 33 2c 20 | :ALIGN..3, | 000004b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | 000004c0 20 20 20 45 51 55 44 20 69 6e 69 74 20 20 20 20 | EQUD init | 000004d0 20 3a 41 4c 49 47 4e 0d 00 34 2c 20 20 20 20 20 | :ALIGN..4, | 000004e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 45 | E| 000004f0 51 55 44 20 66 69 6e 69 73 68 20 20 20 3a 41 4c |QUD finish :AL| 00000500 49 47 4e 0d 00 35 2c 20 20 20 20 20 20 20 20 20 |IGN..5, | 00000510 20 20 20 20 20 20 20 20 20 20 20 45 51 55 44 20 | EQUD | 00000520 30 20 20 20 20 20 20 20 20 3a 41 4c 49 47 4e 0d |0 :ALIGN.| 00000530 00 36 2c 20 20 20 20 20 20 20 20 20 20 20 20 20 |.6, | 00000540 20 20 20 20 20 20 20 45 51 55 44 20 74 69 74 6c | EQUD titl| 00000550 65 20 20 20 20 3a 41 4c 49 47 4e 0d 00 37 2c 20 |e :ALIGN..7, | 00000560 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | 00000570 20 20 20 45 51 55 44 20 68 65 6c 70 20 20 20 20 | EQUD help | 00000580 20 3a 41 4c 49 47 4e 0d 00 38 2c 20 20 20 20 20 | :ALIGN..8, | 00000590 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 45 | E| 000005a0 51 55 44 20 63 6f 6d 6d 61 6e 64 73 20 3a 41 4c |QUD commands :AL| 000005b0 49 47 4e 0d 00 39 18 20 20 20 20 20 20 20 20 20 |IGN..9. | 000005c0 20 20 20 20 20 20 20 20 20 20 20 0d 00 3a 3f 2e | ..:?.| 000005d0 74 69 74 6c 65 20 20 20 20 20 20 20 20 20 20 20 |title | 000005e0 20 20 20 45 51 55 53 20 22 51 75 69 63 6b 54 79 | EQUS "QuickTy| 000005f0 70 65 22 3a 45 51 55 42 20 30 20 20 20 20 20 20 |pe":EQUB 0 | 00000600 20 20 20 20 3a 41 4c 49 47 4e 0d 00 3b 2f 2e 68 | :ALIGN..;/.h| 00000610 65 6c 70 20 20 20 20 20 20 20 20 20 20 20 20 20 |elp | 00000620 20 20 45 51 55 53 20 22 51 75 69 63 6b 54 79 70 | EQUS "QuickTyp| 00000630 65 22 3a 45 51 55 42 20 39 0d 00 3c 3f 20 20 20 |e":EQUB 9..<? | 00000640 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | 00000650 20 45 51 55 53 20 22 30 2e 30 30 20 28 30 38 20 | EQUS "0.00 (08 | 00000660 41 75 67 20 31 39 39 34 29 22 3a 45 51 55 42 20 |Aug 1994)":EQUB | 00000670 30 20 3a 41 4c 49 47 4e 0d 00 3d 18 20 20 20 20 |0 :ALIGN..=. | 00000680 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | 00000690 0d 00 3e 31 2e 69 6e 69 74 20 20 20 20 20 20 20 |..>1.init | 000006a0 20 20 20 20 20 20 20 20 53 54 4d 46 44 20 20 20 | STMFD | 000006b0 52 31 33 21 2c 7b 52 37 2d 52 31 31 2c 52 31 34 |R13!,{R7-R11,R14| 000006c0 7d 0d 00 3f 26 20 20 20 20 20 20 20 20 20 20 20 |}..?& | 000006d0 20 20 20 20 20 20 20 20 20 4d 4f 56 20 20 20 20 | MOV | 000006e0 20 52 30 2c 23 31 36 0d 00 40 28 20 20 20 20 20 | R0,#16..@( | 000006f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 41 | A| 00000700 44 52 20 20 20 20 20 52 31 2c 65 76 65 6e 74 0d |DR R1,event.| 00000710 00 41 26 20 20 20 20 20 20 20 20 20 20 20 20 20 |.A& | 00000720 20 20 20 20 20 20 20 4d 4f 56 20 20 20 20 20 52 | MOV R| 00000730 32 2c 52 31 32 0d 00 42 2b 20 20 20 20 20 20 20 |2,R12..B+ | 00000740 20 20 20 20 20 20 20 20 20 20 20 20 20 53 57 49 | SWI| 00000750 20 20 20 20 20 22 58 4f 53 5f 43 6c 61 69 6d 22 | "XOS_Claim"| 00000760 0d 00 43 28 20 20 20 20 20 20 20 20 20 20 20 20 |..C( | 00000770 20 20 20 20 20 20 20 20 42 56 53 20 20 20 20 20 | BVS | 00000780 63 6c 6d 65 72 72 6f 72 0d 00 44 26 20 20 20 20 |clmerror..D& | 00000790 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | 000007a0 4d 4f 56 20 20 20 20 20 52 30 2c 23 31 34 0d 00 |MOV R0,#14..| 000007b0 45 26 20 20 20 20 20 20 20 20 20 20 20 20 20 20 |E& | 000007c0 20 20 20 20 20 20 4d 4f 56 20 20 20 20 20 52 31 | MOV R1| 000007d0 2c 23 31 31 0d 00 46 2a 20 20 20 20 20 20 20 20 |,#11..F* | 000007e0 20 20 20 20 20 20 20 20 20 20 20 20 53 57 49 20 | SWI | 000007f0 20 20 20 20 22 58 4f 53 5f 42 79 74 65 22 0d 00 | "XOS_Byte"..| 00000800 47 28 20 20 20 20 20 20 20 20 20 20 20 20 20 20 |G( | 00000810 20 20 20 20 20 20 42 56 53 20 20 20 20 20 65 76 | BVS ev| 00000820 74 65 72 72 6f 72 0d 00 48 25 20 20 20 20 20 20 |terror..H% | 00000830 20 20 20 20 20 20 20 20 20 20 20 20 20 20 4d 4f | MO| 00000840 56 20 20 20 20 20 52 30 2c 23 36 0d 00 49 28 20 |V R0,#6..I( | 00000850 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | 00000860 20 20 20 4d 4f 56 20 20 20 20 20 52 33 2c 23 32 | MOV R3,#2| 00000870 30 34 38 0d 00 4a 2c 20 20 20 20 20 20 20 20 20 |048..J, | 00000880 20 20 20 20 20 20 20 20 20 20 20 53 57 49 20 20 | SWI | 00000890 20 20 20 22 58 4f 53 5f 4d 6f 64 75 6c 65 22 0d | "XOS_Module".| 000008a0 00 4b 27 20 20 20 20 20 20 20 20 20 20 20 20 20 |.K' | 000008b0 20 20 20 20 20 20 20 42 56 53 20 20 20 20 20 77 | BVS w| 000008c0 6f 72 6b 65 72 72 0d 00 4c 28 20 20 20 20 20 20 |orkerr..L( | 000008d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 53 54 | ST| 000008e0 52 20 20 20 20 20 52 32 2c 5b 52 31 32 5d 0d 00 |R R2,[R12]..| 000008f0 4d 27 20 20 20 20 20 20 20 20 20 20 20 20 20 20 |M' | 00000900 20 20 20 20 20 20 4d 4f 56 20 20 20 20 20 52 31 | MOV R1| 00000910 2c 23 36 30 34 0d 00 4e 2b 20 20 20 20 20 20 20 |,#604..N+ | 00000920 20 20 20 20 20 20 20 20 20 20 20 20 20 41 44 44 | ADD| 00000930 20 20 20 20 20 52 31 2c 52 31 2c 23 31 30 32 34 | R1,R1,#1024| 00000940 0d 00 4f 2a 20 20 20 20 20 20 20 20 20 20 20 20 |..O* | 00000950 20 20 20 20 20 20 20 20 53 54 52 20 20 20 20 20 | STR | 00000960 52 31 2c 5b 52 32 5d 2c 23 34 0d 00 50 27 20 20 |R1,[R2],#4..P' | 00000970 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | 00000980 20 20 4d 4f 56 20 20 20 20 20 52 30 2c 23 26 36 | MOV R0,#&6| 00000990 38 0d 00 51 25 20 20 20 20 20 20 20 20 20 20 20 |8..Q% | 000009a0 20 20 20 20 20 20 20 20 20 4d 56 4e 20 20 20 20 | MVN | 000009b0 20 52 31 2c 23 30 0d 00 52 2a 2e 72 65 73 65 74 | R1,#0..R*.reset| 000009c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 53 54 | ST| 000009d0 52 20 20 20 20 20 52 31 2c 5b 52 32 5d 2c 23 34 |R R1,[R2],#4| 000009e0 0d 00 53 28 20 20 20 20 20 20 20 20 20 20 20 20 |..S( | 000009f0 20 20 20 20 20 20 20 20 53 55 42 53 20 20 20 20 | SUBS | 00000a00 52 30 2c 52 30 2c 23 31 0d 00 54 25 20 20 20 20 |R0,R0,#1..T% | 00000a10 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | 00000a20 42 4e 45 20 20 20 20 20 72 65 73 65 74 0d 00 55 |BNE reset..U| 00000a30 31 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 |1 | 00000a40 20 20 20 20 20 4c 44 4d 46 44 20 20 20 52 31 33 | LDMFD R13| 00000a50 21 2c 7b 52 37 2d 52 31 31 2c 50 43 7d 5e 0d 00 |!,{R7-R11,PC}^..| 00000a60 56 18 20 20 20 20 20 20 20 20 20 20 20 20 20 20 |V. | 00000a70 20 20 20 20 20 20 0d 00 57 31 2e 66 69 6e 69 73 | ..W1.finis| 00000a80 68 20 20 20 20 20 20 20 20 20 20 20 20 20 53 54 |h ST| 00000a90 4d 46 44 20 20 20 52 31 33 21 2c 7b 52 37 2d 52 |MFD R13!,{R7-R| 00000aa0 31 31 2c 52 31 34 7d 0d 00 58 26 20 20 20 20 20 |11,R14}..X& | 00000ab0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 4d | M| 00000ac0 4f 56 20 20 20 20 20 52 30 2c 23 31 33 0d 00 59 |OV R0,#13..Y| 00000ad0 26 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 |& | 00000ae0 20 20 20 20 20 4d 4f 56 20 20 20 20 20 52 31 2c | MOV R1,| 00000af0 23 31 31 0d 00 5a 2a 20 20 20 20 20 20 20 20 20 |#11..Z* | 00000b00 20 20 20 20 20 20 20 20 20 20 20 53 57 49 20 20 | SWI | 00000b10 20 20 20 22 58 4f 53 5f 42 79 74 65 22 0d 00 5b | "XOS_Byte"..[| 00000b20 26 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 |& | 00000b30 20 20 20 20 20 4d 4f 56 20 20 20 20 20 52 30 2c | MOV R0,| 00000b40 23 31 36 0d 00 5c 28 20 20 20 20 20 20 20 20 20 |#16..\( | 00000b50 20 20 20 20 20 20 20 20 20 20 20 41 44 52 20 20 | ADR | 00000b60 20 20 20 52 31 2c 65 76 65 6e 74 0d 00 5d 26 20 | R1,event..]& | 00000b70 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | 00000b80 20 20 20 4d 4f 56 20 20 20 20 20 52 32 2c 52 31 | MOV R2,R1| 00000b90 32 0d 00 5e 2d 20 20 20 20 20 20 20 20 20 20 20 |2..^- | 00000ba0 20 20 20 20 20 20 20 20 20 53 57 49 20 20 20 20 | SWI | 00000bb0 20 22 58 4f 53 5f 52 65 6c 65 61 73 65 22 0d 00 | "XOS_Release"..| 00000bc0 5f 25 20 20 20 20 20 20 20 20 20 20 20 20 20 20 |_% | 00000bd0 20 20 20 20 20 20 4d 4f 56 20 20 20 20 20 52 30 | MOV R0| 00000be0 2c 23 37 0d 00 60 29 20 20 20 20 20 20 20 20 20 |,#7..`) | 00000bf0 20 20 20 20 20 20 20 20 20 20 20 4c 44 52 20 20 | LDR | 00000c00 20 20 20 52 31 32 2c 5b 52 31 32 5d 0d 00 61 28 | R12,[R12]..a(| 00000c10 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | 00000c20 20 20 20 20 4c 44 52 20 20 20 20 20 52 32 2c 5b | LDR R2,[| 00000c30 52 31 32 5d 0d 00 62 2c 20 20 20 20 20 20 20 20 |R12]..b, | 00000c40 20 20 20 20 20 20 20 20 20 20 20 20 53 57 49 20 | SWI | 00000c50 20 20 20 20 22 58 4f 53 5f 4d 6f 64 75 6c 65 22 | "XOS_Module"| 00000c60 0d 00 63 31 20 20 20 20 20 20 20 20 20 20 20 20 |..c1 | 00000c70 20 20 20 20 20 20 20 20 4c 44 4d 46 44 20 20 20 | LDMFD | 00000c80 52 31 33 21 2c 7b 52 37 2d 52 31 31 2c 50 43 7d |R13!,{R7-R11,PC}| 00000c90 5e 0d 00 64 18 20 20 20 20 20 20 20 20 20 20 20 |^..d. | 00000ca0 20 20 20 20 20 20 20 20 20 0d 00 65 26 2e 77 6f | ..e&.wo| 00000cb0 72 6b 65 72 72 20 20 20 20 20 20 20 20 20 20 20 |rkerr | 00000cc0 20 4d 4f 56 20 20 20 20 20 52 30 2c 23 31 33 0d | MOV R0,#13.| 00000cd0 00 66 26 20 20 20 20 20 20 20 20 20 20 20 20 20 |.f& | 00000ce0 20 20 20 20 20 20 20 4d 4f 56 20 20 20 20 20 52 | MOV R| 00000cf0 31 2c 23 31 31 0d 00 67 2a 20 20 20 20 20 20 20 |1,#11..g* | 00000d00 20 20 20 20 20 20 20 20 20 20 20 20 20 53 57 49 | SWI| 00000d10 20 20 20 20 20 22 58 4f 53 5f 42 79 74 65 22 0d | "XOS_Byte".| 00000d20 00 68 25 2e 65 76 74 65 72 72 6f 72 20 20 20 20 |.h%.evterror | 00000d30 20 20 20 20 20 20 20 4d 4f 56 20 20 20 20 20 52 | MOV R| 00000d40 34 2c 52 30 0d 00 69 26 20 20 20 20 20 20 20 20 |4,R0..i& | 00000d50 20 20 20 20 20 20 20 20 20 20 20 20 4d 4f 56 20 | MOV | 00000d60 20 20 20 20 52 30 2c 23 31 36 0d 00 6a 28 20 20 | R0,#16..j( | 00000d70 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | 00000d80 20 20 41 44 52 20 20 20 20 20 52 31 2c 65 76 65 | ADR R1,eve| 00000d90 6e 74 0d 00 6b 26 20 20 20 20 20 20 20 20 20 20 |nt..k& | 00000da0 20 20 20 20 20 20 20 20 20 20 4d 4f 56 20 20 20 | MOV | 00000db0 20 20 52 32 2c 52 31 32 0d 00 6c 2d 20 20 20 20 | R2,R12..l- | 00000dc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | 00000dd0 53 57 49 20 20 20 20 20 22 58 4f 53 5f 52 65 6c |SWI "XOS_Rel| 00000de0 65 61 73 65 22 0d 00 6d 25 20 20 20 20 20 20 20 |ease"..m% | 00000df0 20 20 20 20 20 20 20 20 20 20 20 20 20 4d 4f 56 | MOV| 00000e00 20 20 20 20 20 52 30 2c 52 34 0d 00 6e 25 2e 63 | R0,R4..n%.c| 00000e10 6c 6d 65 72 72 6f 72 20 20 20 20 20 20 20 20 20 |lmerror | 00000e20 20 20 4d 4f 56 20 20 20 20 20 52 31 2c 23 31 0d | MOV R1,#1.| 00000e30 00 6f 28 20 20 20 20 20 20 20 20 20 20 20 20 20 |.o( | 00000e40 20 20 20 20 20 20 20 41 44 52 20 20 20 20 20 52 | ADR R| 00000e50 32 2c 74 69 74 6c 65 0d 00 70 33 20 20 20 20 20 |2,title..p3 | 00000e60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 53 | S| 00000e70 57 49 20 20 20 20 20 22 58 57 69 6d 70 5f 52 65 |WI "XWimp_Re| 00000e80 70 6f 72 74 45 72 72 6f 72 22 0d 00 71 31 20 20 |portError"..q1 | 00000e90 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | 00000ea0 20 20 4c 44 4d 46 44 20 20 20 52 31 33 21 2c 7b | LDMFD R13!,{| 00000eb0 52 37 2d 52 31 31 2c 50 43 7d 5e 0d 00 72 18 20 |R7-R11,PC}^..r. | 00000ec0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | 00000ed0 20 20 20 0d 00 73 31 2e 65 76 65 6e 74 20 20 20 | ..s1.event | 00000ee0 20 20 20 20 20 20 20 20 20 20 20 53 54 4d 46 44 | STMFD| 00000ef0 20 20 20 52 31 33 21 2c 7b 52 31 2d 52 31 31 2c | R13!,{R1-R11,| 00000f00 52 31 34 7d 0d 00 74 26 20 20 20 20 20 20 20 20 |R14}..t& | 00000f10 20 20 20 20 20 20 20 20 20 20 20 20 43 4d 50 20 | CMP | 00000f20 20 20 20 20 52 30 2c 23 31 31 0d 00 75 31 20 20 | R0,#11..u1 | 00000f30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | 00000f40 20 20 4c 44 4d 4e 45 46 44 20 52 31 33 21 2c 7b | LDMNEFD R13!,{| 00000f50 52 31 2d 52 31 31 2c 50 43 7d 5e 0d 00 76 29 20 |R1-R11,PC}^..v) | 00000f60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | 00000f70 20 20 20 4c 44 52 20 20 20 20 20 52 31 32 2c 5b | LDR R12,[| 00000f80 52 31 32 5d 0d 00 77 25 20 20 20 20 20 20 20 20 |R12]..w% | 00000f90 20 20 20 20 20 20 20 20 20 20 20 20 43 4d 50 20 | CMP | 00000fa0 20 20 20 20 52 31 2c 23 30 0d 00 78 25 20 20 20 | R1,#0..x% | 00000fb0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | 00000fc0 20 42 45 51 20 20 20 20 20 6b 65 79 75 70 0d 00 | BEQ keyup..| 00000fd0 79 28 20 20 20 20 20 20 20 20 20 20 20 20 20 20 |y( | 00000fe0 20 20 20 20 20 20 4c 44 52 20 20 20 20 20 52 34 | LDR R4| 00000ff0 2c 5b 52 31 32 5d 0d 00 7a 39 20 20 20 20 20 20 |,[R12]..z9 | 00001000 20 20 20 20 20 20 20 20 20 20 20 20 20 20 43 4d | CM| 00001010 50 20 20 20 20 20 52 32 2c 23 26 35 45 3a 84 52 |P R2,#&5E:.R| 00001020 45 51 20 20 20 52 34 2c 52 34 2c 23 25 30 31 0d |EQ R4,R4,#%01.| 00001030 00 7b 39 20 20 20 20 20 20 20 20 20 20 20 20 20 |.{9 | 00001040 20 20 20 20 20 20 20 43 4d 50 20 20 20 20 20 52 | CMP R| 00001050 32 2c 23 26 36 30 3a 84 52 45 51 20 20 20 52 34 |2,#&60:.REQ R4| 00001060 2c 52 34 2c 23 25 31 30 0d 00 7c 37 20 20 20 20 |,R4,#%10..|7 | 00001070 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | 00001080 43 4d 50 4e 45 20 20 20 52 32 2c 23 26 35 45 3a |CMPNE R2,#&5E:| 00001090 42 4e 45 20 20 20 20 20 66 69 72 6d 6b 65 79 0d |BNE firmkey.| 000010a0 00 7d 27 20 20 20 20 20 20 20 20 20 20 20 20 20 |.}' | 000010b0 20 20 20 20 20 20 20 54 53 54 20 20 20 20 20 52 | TST R| 000010c0 34 2c 23 25 31 31 0d 00 7e 28 20 20 20 20 20 20 |4,#%11..~( | 000010d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 53 54 | ST| 000010e0 52 20 20 20 20 20 52 34 2c 5b 52 31 32 5d 0d 00 |R R4,[R12]..| 000010f0 7f 31 20 20 20 20 20 20 20 20 20 20 20 20 20 20 |.1 | 00001100 20 20 20 20 20 20 4c 44 4d 45 51 46 44 20 52 31 | LDMEQFD R1| 00001110 33 21 2c 7b 52 31 2d 52 31 31 2c 50 43 7d 5e 0d |3!,{R1-R11,PC}^.| 00001120 00 80 25 20 20 20 20 20 20 20 20 20 20 20 20 20 |..% | 00001130 20 20 20 20 20 20 20 4d 4f 56 20 20 20 20 20 52 | MOV R| 00001140 39 2c 50 43 0d 00 81 27 20 20 20 20 20 20 20 20 |9,PC...' | 00001150 20 20 20 20 20 20 20 20 20 20 20 20 84 52 20 20 | .R | 00001160 20 20 20 52 38 2c 52 39 2c 23 33 0d 00 82 25 20 | R8,R9,#3...% | 00001170 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | 00001180 20 20 20 54 45 51 50 20 20 20 20 52 38 2c 23 30 | TEQP R8,#0| 00001190 0d 00 83 25 20 20 20 20 20 20 20 20 20 20 20 20 |...% | 000011a0 20 20 20 20 20 20 20 20 4d 4f 56 4e 56 20 20 20 | MOVNV | 000011b0 52 30 2c 52 30 0d 00 84 2a 20 20 20 20 20 20 20 |R0,R0...* | 000011c0 20 20 20 20 20 20 20 20 20 20 20 20 20 53 54 4d | STM| 000011d0 46 44 20 20 20 52 31 33 21 2c 7b 52 31 34 7d 0d |FD R13!,{R14}.| 000011e0 00 85 27 20 20 20 20 20 20 20 20 20 20 20 20 20 |..' | 000011f0 20 20 20 20 20 20 20 4d 4f 56 20 20 20 20 20 52 | MOV R| 00001200 30 2c 23 32 30 31 0d 00 86 25 20 20 20 20 20 20 |0,#201...% | 00001210 20 20 20 20 20 20 20 20 20 20 20 20 20 20 4d 4f | MO| 00001220 56 20 20 20 20 20 52 31 2c 23 31 0d 00 87 25 20 |V R1,#1...% | 00001230 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | 00001240 20 20 20 4d 4f 56 20 20 20 20 20 52 32 2c 23 30 | MOV R2,#0| 00001250 0d 00 88 2a 20 20 20 20 20 20 20 20 20 20 20 20 |...* | 00001260 20 20 20 20 20 20 20 20 53 57 49 20 20 20 20 20 | SWI | 00001270 22 58 4f 53 5f 42 79 74 65 22 0d 00 89 2a 20 20 |"XOS_Byte"...* | 00001280 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | 00001290 20 20 4c 44 4d 46 44 20 20 20 52 31 33 21 2c 7b | LDMFD R13!,{| 000012a0 52 31 34 7d 0d 00 8a 25 20 20 20 20 20 20 20 20 |R14}...% | 000012b0 20 20 20 20 20 20 20 20 20 20 20 20 54 45 51 50 | TEQP| 000012c0 20 20 20 20 52 39 2c 23 30 0d 00 8b 25 20 20 20 | R9,#0...% | 000012d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | 000012e0 20 4d 4f 56 4e 56 20 20 20 52 30 2c 52 30 0d 00 | MOVNV R0,R0..| 000012f0 8c 31 20 20 20 20 20 20 20 20 20 20 20 20 20 20 |.1 | 00001300 20 20 20 20 20 20 4c 44 4d 46 44 20 20 20 52 31 | LDMFD R1| 00001310 33 21 2c 7b 52 31 2d 52 31 31 2c 50 43 7d 5e 0d |3!,{R1-R11,PC}^.| 00001320 00 8d 18 20 20 20 20 20 20 20 20 20 20 20 20 20 |... | 00001330 20 20 20 20 20 20 20 0d 00 8e 28 2e 6b 65 79 75 | ...(.keyu| 00001340 70 20 20 20 20 20 20 20 20 20 20 20 20 20 20 4c |p L| 00001350 44 52 20 20 20 20 20 52 34 2c 5b 52 31 32 5d 0d |DR R4,[R12].| 00001360 00 8f 27 20 20 20 20 20 20 20 20 20 20 20 20 20 |..' | 00001370 20 20 20 20 20 20 20 43 4d 50 20 20 20 20 20 52 | CMP R| 00001380 32 2c 23 26 35 45 0d 00 90 2a 20 20 20 20 20 20 |2,#&5E...* | 00001390 20 20 20 20 20 20 20 20 20 20 20 20 20 20 42 49 | BI| 000013a0 43 45 51 20 20 20 52 34 2c 52 34 2c 23 25 30 31 |CEQ R4,R4,#%01| 000013b0 0d 00 91 27 20 20 20 20 20 20 20 20 20 20 20 20 |...' | 000013c0 20 20 20 20 20 20 20 20 43 4d 50 20 20 20 20 20 | CMP | 000013d0 52 32 2c 23 26 36 30 0d 00 92 2a 20 20 20 20 20 |R2,#&60...* | 000013e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 42 | B| 000013f0 49 43 45 51 20 20 20 52 34 2c 52 34 2c 23 25 31 |ICEQ R4,R4,#%1| 00001400 30 0d 00 93 28 20 20 20 20 20 20 20 20 20 20 20 |0...( | 00001410 20 20 20 20 20 20 20 20 20 53 54 52 20 20 20 20 | STR | 00001420 20 52 34 2c 5b 52 31 32 5d 0d 00 94 27 20 20 20 | R4,[R12]...' | 00001430 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | 00001440 20 54 53 54 20 20 20 20 20 52 34 2c 23 25 31 31 | TST R4,#%11| 00001450 0d 00 95 31 20 20 20 20 20 20 20 20 20 20 20 20 |...1 | 00001460 20 20 20 20 20 20 20 20 4c 44 4d 4e 45 46 44 20 | LDMNEFD | 00001470 52 31 33 21 2c 7b 52 31 2d 52 31 31 2c 50 43 7d |R13!,{R1-R11,PC}| 00001480 5e 0d 00 96 25 20 20 20 20 20 20 20 20 20 20 20 |^...% | 00001490 20 20 20 20 20 20 20 20 20 4d 4f 56 20 20 20 20 | MOV | 000014a0 20 52 39 2c 50 43 0d 00 97 27 20 20 20 20 20 20 | R9,PC...' | 000014b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 84 52 | .R| 000014c0 20 20 20 20 20 52 38 2c 52 39 2c 23 33 0d 00 98 | R8,R9,#3...| 000014d0 25 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 |% | 000014e0 20 20 20 20 20 54 45 51 50 20 20 20 20 52 38 2c | TEQP R8,| 000014f0 23 30 0d 00 99 25 20 20 20 20 20 20 20 20 20 20 |#0...% | 00001500 20 20 20 20 20 20 20 20 20 20 4d 4f 56 4e 56 20 | MOVNV | 00001510 20 20 52 30 2c 52 30 0d 00 9a 2a 20 20 20 20 20 | R0,R0...* | 00001520 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 53 | S| 00001530 54 4d 46 44 20 20 20 52 31 33 21 2c 7b 52 31 34 |TMFD R13!,{R14| 00001540 7d 0d 00 9b 27 20 20 20 20 20 20 20 20 20 20 20 |}...' | 00001550 20 20 20 20 20 20 20 20 20 4d 4f 56 20 20 20 20 | MOV | 00001560 20 52 30 2c 23 32 30 31 0d 00 9c 25 20 20 20 20 | R0,#201...% | 00001570 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | 00001580 4d 4f 56 20 20 20 20 20 52 31 2c 23 30 0d 00 9d |MOV R1,#0...| 00001590 25 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 |% | 000015a0 20 20 20 20 20 4d 4f 56 20 20 20 20 20 52 32 2c | MOV R2,| 000015b0 23 30 0d 00 9e 2a 20 20 20 20 20 20 20 20 20 20 |#0...* | 000015c0 20 20 20 20 20 20 20 20 20 20 53 57 49 20 20 20 | SWI | 000015d0 20 20 22 58 4f 53 5f 42 79 74 65 22 0d 00 9f 2a | "XOS_Byte"...*| 000015e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | 000015f0 20 20 20 20 4c 44 4d 46 44 20 20 20 52 31 33 21 | LDMFD R13!| 00001600 2c 7b 52 31 34 7d 0d 00 a0 25 20 20 20 20 20 20 |,{R14}...% | 00001610 20 20 20 20 20 20 20 20 20 20 20 20 20 20 54 45 | TE| 00001620 51 50 20 20 20 20 52 39 2c 23 30 0d 00 a1 25 20 |QP R9,#0...% | 00001630 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | 00001640 20 20 20 4d 4f 56 4e 56 20 20 20 52 30 2c 52 30 | MOVNV R0,R0| 00001650 0d 00 a2 31 2e 6f 75 74 6f 66 68 65 72 65 20 20 |...1.outofhere | 00001660 20 20 20 20 20 20 20 20 4c 44 4d 46 44 20 20 20 | LDMFD | 00001670 52 31 33 21 2c 7b 52 31 2d 52 31 31 2c 50 43 7d |R13!,{R1-R11,PC}| 00001680 5e 0d 00 a3 18 20 20 20 20 20 20 20 20 20 20 20 |^.... | 00001690 20 20 20 20 20 20 20 20 20 0d 00 a4 27 2e 66 69 | ...'.fi| 000016a0 72 6d 6b 65 79 20 20 20 20 20 20 20 20 20 20 20 |rmkey | 000016b0 20 54 53 54 20 20 20 20 20 52 34 2c 23 25 31 31 | TST R4,#%11| 000016c0 0d 00 a5 31 20 20 20 20 20 20 20 20 20 20 20 20 |...1 | 000016d0 20 20 20 20 20 20 20 20 4c 44 4d 45 51 46 44 20 | LDMEQFD | 000016e0 52 31 33 21 2c 7b 52 31 2d 52 31 31 2c 50 43 7d |R13!,{R1-R11,PC}| 000016f0 5e 0d 00 a6 27 20 20 20 20 20 20 20 20 20 20 20 |^...' | 00001700 20 20 20 20 20 20 20 20 20 43 4d 50 20 20 20 20 | CMP | 00001710 20 52 32 2c 23 26 36 37 0d 00 a7 31 20 20 20 20 | R2,#&67...1 | 00001720 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | 00001730 4c 44 4d 48 49 46 44 20 52 31 33 21 2c 7b 52 31 |LDMHIFD R13!,{R1| 00001740 2d 52 31 31 2c 50 43 7d 5e 0d 00 a8 25 20 20 20 |-R11,PC}^...% | 00001750 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | 00001760 20 4d 4f 56 20 20 20 20 20 52 39 2c 50 43 0d 00 | MOV R9,PC..| 00001770 a9 27 20 20 20 20 20 20 20 20 20 20 20 20 20 20 |.' | 00001780 20 20 20 20 20 20 84 52 20 20 20 20 20 52 38 2c | .R R8,| 00001790 52 39 2c 23 33 0d 00 aa 25 20 20 20 20 20 20 20 |R9,#3...% | 000017a0 20 20 20 20 20 20 20 20 20 20 20 20 20 54 45 51 | TEQ| 000017b0 50 20 20 20 20 52 38 2c 23 30 0d 00 ab 25 20 20 |P R8,#0...% | 000017c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | 000017d0 20 20 4d 4f 56 4e 56 20 20 20 52 30 2c 52 30 0d | MOVNV R0,R0.| 000017e0 00 ac 2a 20 20 20 20 20 20 20 20 20 20 20 20 20 |..* | 000017f0 20 20 20 20 20 20 20 53 54 4d 46 44 20 20 20 52 | STMFD R| 00001800 31 33 21 2c 7b 52 31 34 7d 0d 00 ad 2a 20 20 20 |13!,{R14}...* | 00001810 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | 00001820 20 41 44 44 20 20 20 20 20 52 31 32 2c 52 31 32 | ADD R12,R12| 00001830 2c 23 34 0d 00 ae 2f 20 20 20 20 20 20 20 20 20 |,#4.../ | 00001840 20 20 20 20 20 20 20 20 20 20 20 41 44 44 20 20 | ADD | 00001850 20 20 20 52 34 2c 52 31 32 2c 52 32 2c 4c 53 4c | R4,R12,R2,LSL| 00001860 23 32 0d 00 af 27 20 20 20 20 20 20 20 20 20 20 |#2...' | 00001870 20 20 20 20 20 20 20 20 20 20 4c 44 52 20 20 20 | LDR | 00001880 20 20 52 34 2c 5b 52 34 5d 0d 00 b0 25 20 20 20 | R4,[R4]...% | 00001890 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | 000018a0 20 43 4d 4e 20 20 20 20 20 52 34 2c 23 31 0d 00 | CMN R4,#1..| 000018b0 b1 23 20 20 20 20 20 20 20 20 20 20 20 20 20 20 |.# | 000018c0 20 20 20 20 20 20 42 45 51 20 20 20 20 20 6f 75 | BEQ ou| 000018d0 74 0d 00 b2 2a 2e 62 75 66 6c 6f 6f 70 20 20 20 |t...*.bufloop | 000018e0 20 20 20 20 20 20 20 20 20 4c 44 52 42 20 20 20 | LDRB | 000018f0 20 52 32 2c 5b 52 34 5d 2c 23 31 0d 00 b3 25 20 | R2,[R4],#1...% | 00001900 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | 00001910 20 20 20 43 4d 50 20 20 20 20 20 52 32 2c 23 30 | CMP R2,#0| 00001920 0d 00 b4 23 20 20 20 20 20 20 20 20 20 20 20 20 |...# | 00001930 20 20 20 20 20 20 20 20 42 45 51 20 20 20 20 20 | BEQ | 00001940 6f 75 74 0d 00 b5 27 20 20 20 20 20 20 20 20 20 |out...' | 00001950 20 20 20 20 20 20 20 20 20 20 20 4d 4f 56 20 20 | MOV | 00001960 20 20 20 52 30 2c 23 31 33 38 0d 00 b6 25 20 20 | R0,#138...% | 00001970 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | 00001980 20 20 4d 4f 56 20 20 20 20 20 52 31 2c 23 30 0d | MOV R1,#0.| 00001990 00 b7 2a 20 20 20 20 20 20 20 20 20 20 20 20 20 |..* | 000019a0 20 20 20 20 20 20 20 53 57 49 20 20 20 20 20 22 | SWI "| 000019b0 58 4f 53 5f 42 79 74 65 22 0d 00 b8 27 20 20 20 |XOS_Byte"...' | 000019c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | 000019d0 20 42 20 20 20 20 20 20 20 62 75 66 6c 6f 6f 70 | B bufloop| 000019e0 0d 00 b9 2a 2e 6f 75 74 20 20 20 20 20 20 20 20 |...*.out | 000019f0 20 20 20 20 20 20 20 20 4c 44 4d 46 44 20 20 20 | LDMFD | 00001a00 52 31 33 21 2c 7b 52 31 34 7d 0d 00 ba 25 20 20 |R13!,{R14}...% | 00001a10 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | 00001a20 20 20 54 45 51 50 20 20 20 20 52 39 2c 23 30 0d | TEQP R9,#0.| 00001a30 00 bb 25 20 20 20 20 20 20 20 20 20 20 20 20 20 |..% | 00001a40 20 20 20 20 20 20 20 4d 4f 56 4e 56 20 20 20 52 | MOVNV R| 00001a50 30 2c 52 30 0d 00 bc 31 20 20 20 20 20 20 20 20 |0,R0...1 | 00001a60 20 20 20 20 20 20 20 20 20 20 20 20 4c 44 4d 46 | LDMF| 00001a70 44 20 20 20 52 31 33 21 2c 7b 52 31 2d 52 31 31 |D R13!,{R1-R11| 00001a80 2c 50 43 7d 5e 0d 00 bd 18 20 20 20 20 20 20 20 |,PC}^.... | 00001a90 20 20 20 20 20 20 20 20 20 20 20 20 20 0d 00 be | ...| 00001aa0 5d 2e 63 6f 6d 6d 61 6e 64 73 20 20 20 20 20 20 |].commands | 00001ab0 20 20 20 20 20 45 51 55 53 20 20 20 20 22 45 78 | EQUS "Ex| 00001ac0 70 61 6e 64 22 20 20 20 20 20 20 3a 45 51 55 42 |pand" :EQUB| 00001ad0 20 20 20 20 30 20 20 20 20 20 20 20 20 20 20 20 | 0 | 00001ae0 20 20 3a 41 4c 49 47 4e 20 20 20 3a 45 51 55 44 | :ALIGN :EQUD| 00001af0 20 20 20 20 65 78 70 61 6e 64 0d 00 bf 62 20 20 | expand...b | 00001b00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | 00001b10 20 20 45 51 55 44 20 20 20 20 26 30 30 30 33 30 | EQUD &00030| 00001b20 30 30 32 20 20 20 20 20 3a 45 51 55 44 20 20 20 |002 :EQUD | 00001b30 20 45 78 70 61 6e 64 5f 53 79 6e 74 61 78 20 20 | Expand_Syntax | 00001b40 20 20 20 20 20 20 20 20 3a 45 51 55 44 20 20 20 | :EQUD | 00001b50 20 45 78 70 61 6e 64 5f 48 65 6c 70 0d 00 c0 58 | Expand_Help...X| 00001b60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | 00001b70 20 20 20 20 45 51 55 53 20 20 20 20 22 4b 65 79 | EQUS "Key| 00001b80 4e 61 6d 65 73 22 20 20 20 20 3a 45 51 55 42 20 |Names" :EQUB | 00001b90 20 20 20 30 20 20 20 20 20 20 20 20 20 20 20 20 | 0 | 00001ba0 20 3a 41 4c 49 47 4e 20 20 20 3a 45 51 55 44 20 | :ALIGN :EQUD | 00001bb0 20 20 20 30 0d 00 c1 5f 20 20 20 20 20 20 20 20 | 0..._ | 00001bc0 20 20 20 20 20 20 20 20 20 20 20 20 45 51 55 44 | EQUD| 00001bd0 20 20 20 20 26 32 30 30 32 30 30 30 32 20 20 20 | &20020002 | 00001be0 20 20 3a 45 51 55 44 20 20 20 20 30 20 20 20 20 | :EQUD 0 | 00001bf0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | 00001c00 20 20 3a 45 51 55 44 20 20 20 20 4b 65 79 4e 61 | :EQUD KeyNa| 00001c10 6d 65 73 0d 00 c2 58 20 20 20 20 20 20 20 20 20 |mes...X | 00001c20 20 20 20 20 20 20 20 20 20 20 20 45 51 55 53 20 | EQUS | 00001c30 20 20 20 22 51 75 69 63 6b 54 79 70 69 6e 67 22 | "QuickTyping"| 00001c40 20 3a 45 51 55 42 20 20 20 20 30 20 20 20 20 20 | :EQUB 0 | 00001c50 20 20 20 20 20 20 20 20 3a 41 4c 49 47 4e 20 20 | :ALIGN | 00001c60 20 3a 45 51 55 44 20 20 20 20 30 0d 00 c3 62 20 | :EQUD 0...b | 00001c70 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | 00001c80 20 20 20 45 51 55 44 20 20 20 20 26 30 30 30 33 | EQUD &0003| 00001c90 30 30 30 32 20 20 20 20 20 3a 45 51 55 44 20 20 |0002 :EQUD | 00001ca0 20 20 30 20 20 20 20 20 20 20 20 20 20 20 20 20 | 0 | 00001cb0 20 20 20 20 20 20 20 20 20 3a 45 51 55 44 20 20 | :EQUD | 00001cc0 20 20 51 75 69 63 6b 54 79 70 69 6e 67 0d 00 c4 | QuickTyping...| 00001cd0 21 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 |! | 00001ce0 20 20 20 20 20 45 51 55 42 20 20 20 20 30 0d 00 | EQUB 0..| 00001cf0 c5 18 20 20 20 20 20 20 20 20 20 20 20 20 20 20 |.. | 00001d00 20 20 20 20 20 20 0d 00 c6 61 2e 45 78 70 61 6e | ...a.Expan| 00001d10 64 5f 48 65 6c 70 20 20 20 20 20 20 20 20 45 51 |d_Help EQ| 00001d20 55 53 20 20 20 20 22 2a 22 2b a4 65 28 30 29 2b |US "*"+.e(0)+| 00001d30 22 20 22 2b a4 65 28 31 39 29 2b 22 20 22 2b a4 |" "+.e(19)+" "+.| 00001d40 65 28 32 29 2b 22 6b 65 79 20 65 78 70 61 6e 73 |e(2)+"key expans| 00001d50 69 6f 6e 20 64 65 66 69 6e 69 74 69 6f 6e 73 2e |ion definitions.| 00001d60 22 2b bd 28 31 33 29 0d 00 c7 44 2e 45 78 70 61 |"+.(13)...D.Expa| 00001d70 6e 64 5f 53 79 6e 74 61 78 20 20 20 20 20 20 45 |nd_Syntax E| 00001d80 51 55 53 20 20 20 20 a4 65 28 31 34 29 2b 22 4b |QUS .e(14)+"K| 00001d90 65 79 4e 61 6d 65 3e 20 3c 65 78 70 61 6e 73 69 |eyName> <expansi| 00001da0 6f 6e 3e 22 3a 45 51 55 42 20 30 0d 00 c8 66 2e |on>":EQUB 0...f.| 00001db0 51 75 69 63 6b 54 79 70 69 6e 67 20 20 20 20 20 |QuickTyping | 00001dc0 20 20 20 45 51 55 53 20 20 20 20 22 55 73 65 20 | EQUS "Use | 00001dd0 65 69 74 68 65 72 20 41 6c 74 20 6b 65 79 20 77 |either Alt key w| 00001de0 69 74 68 20 61 6e 79 20 6f 74 68 65 72 20 6b 65 |ith any other ke| 00001df0 79 20 74 6f 20 70 72 6f 64 75 63 65 20 61 20 70 |y to produce a p| 00001e00 72 65 64 65 66 69 6e 65 64 20 73 74 72 69 6e 67 |redefined string| 00001e10 22 0d 00 c9 59 20 20 20 20 20 20 20 20 20 20 20 |"...Y | 00001e20 20 20 20 20 20 20 20 20 20 45 51 55 53 20 20 20 | EQUS | 00001e30 20 22 2e 20 45 67 20 41 6c 74 2d 50 20 63 6f 75 | ". Eg Alt-P cou| 00001e40 6c 64 20 62 65 20 64 65 66 69 6e 65 64 20 61 73 |ld be defined as| 00001e50 20 50 52 49 4e 54 20 65 74 63 2e 20 22 2b bd 28 | PRINT etc. "+.(| 00001e60 30 29 20 3a 20 41 4c 49 47 4e 0d 00 ca 2a 2e 4b |0) : ALIGN...*.K| 00001e70 65 79 4e 61 6d 65 73 20 20 20 20 20 20 20 20 20 |eyNames | 00001e80 20 20 53 54 4d 46 44 20 20 20 52 31 33 21 2c 7b | STMFD R13!,{| 00001e90 52 31 34 7d 0d 00 cb 2a 20 20 20 20 20 20 20 20 |R14}...* | 00001ea0 20 20 20 20 20 20 20 20 20 20 20 20 41 44 52 20 | ADR | 00001eb0 20 20 20 20 52 30 2c 4b 65 79 54 65 78 74 0d 00 | R0,KeyText..| 00001ec0 cc 24 20 20 20 20 20 20 20 20 20 20 20 20 20 20 |.$ | 00001ed0 20 20 20 20 20 20 41 44 52 20 20 20 20 20 52 31 | ADR R1| 00001ee0 2c 30 0d 00 cd 24 20 20 20 20 20 20 20 20 20 20 |,0...$ | 00001ef0 20 20 20 20 20 20 20 20 20 20 41 44 52 20 20 20 | ADR | 00001f00 20 20 52 32 2c 30 0d 00 ce 31 20 20 20 20 20 20 | R2,0...1 | 00001f10 20 20 20 20 20 20 20 20 20 20 20 20 20 20 53 57 | SW| 00001f20 49 20 20 20 20 20 22 58 4f 53 5f 50 72 65 74 74 |I "XOS_Prett| 00001f30 79 50 72 69 6e 74 22 0d 00 cf 25 20 20 20 20 20 |yPrint"...% | 00001f40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 4d | M| 00001f50 4f 56 20 20 20 20 20 52 30 2c 23 30 0d 00 d0 29 |OV R0,#0...)| 00001f60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | 00001f70 20 20 20 20 4c 44 4d 46 44 20 20 20 52 31 33 21 | LDMFD R13!| 00001f80 2c 7b 50 43 7d 0d 00 d1 1d 20 20 20 20 20 20 20 |,{PC}.... | 00001f90 20 20 20 20 20 20 20 20 20 20 20 20 20 41 4c 49 | ALI| 00001fa0 47 4e 0d 00 d2 50 2e 4b 65 79 54 65 78 74 20 20 |GN...P.KeyText | 00001fb0 20 20 20 20 20 20 20 20 20 20 45 51 55 53 20 20 | EQUS | 00001fc0 20 20 22 45 61 63 68 20 6b 65 79 20 68 61 73 20 | "Each key has | 00001fd0 61 20 6e 61 6d 65 2c 20 66 6f 72 20 6d 6f 73 74 |a name, for most| 00001fe0 20 74 68 69 73 20 69 73 20 74 68 65 20 6e 61 6d | this is the nam| 00001ff0 65 22 0d 00 d3 50 20 20 20 20 20 20 20 20 20 20 |e"...P | 00002000 20 20 20 20 20 20 20 20 20 20 45 51 55 53 20 20 | EQUS | 00002010 20 20 22 20 6d 61 72 6b 65 64 20 6f 6e 20 74 68 | " marked on th| 00002020 65 20 6b 65 79 2e 20 46 6f 72 20 6b 65 79 73 20 |e key. For keys | 00002030 77 69 74 68 20 73 68 69 66 74 65 64 20 61 6e 64 |with shifted and| 00002040 20 22 0d 00 d4 56 20 20 20 20 20 20 20 20 20 20 | "...V | 00002050 20 20 20 20 20 20 20 20 20 20 45 51 55 53 20 20 | EQUS | 00002060 20 20 22 75 6e 73 68 69 66 74 65 64 20 6d 61 72 | "unshifted mar| 00002070 6b 69 6e 67 73 20 75 73 65 20 75 6e 73 68 69 66 |kings use unshif| 00002080 74 65 64 2e 20 46 75 6e 63 74 69 6f 6e 20 6b 65 |ted. Function ke| 00002090 79 73 20 61 72 65 20 22 0d 00 d5 56 20 20 20 20 |ys are "...V | 000020a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | 000020b0 45 51 55 53 20 20 20 20 22 6e 61 6d 65 64 20 46 |EQUS "named F| 000020c0 31 20 65 74 63 2c 20 4e 75 6d 65 72 69 63 20 6b |1 etc, Numeric k| 000020d0 65 79 70 61 64 20 6b 65 79 73 20 61 72 65 20 6e |eypad keys are n| 000020e0 30 2d 6e 39 2c 20 6e 23 2c 20 6e 2a 2c 22 0d 00 |0-n9, n#, n*,"..| 000020f0 d6 4d 20 20 20 20 20 20 20 20 20 20 20 20 20 20 |.M | 00002100 20 20 20 20 20 20 45 51 55 53 20 20 20 20 22 20 | EQUS " | 00002110 65 74 63 2c 20 4e 75 6d 20 61 6e 64 20 45 6e 74 |etc, Num and Ent| 00002120 65 72 2e 20 4f 74 68 65 72 20 6b 65 79 73 20 61 |er. Other keys a| 00002130 72 65 20 2e 2e 2e 22 2b bd 31 33 0d 00 d7 57 20 |re ..."+.13...W | 00002140 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | 00002150 20 20 20 45 51 55 53 20 20 20 20 bd 39 2b 22 53 | EQUS .9+"S| 00002160 68 69 66 74 2d 4c 2c 20 53 68 69 66 74 2d 52 22 |hift-L, Shift-R"| 00002170 2b bd 39 2b 22 20 2d 20 4c 65 66 74 2f 52 69 67 |+.9+" - Left/Rig| 00002180 68 74 20 48 61 6e 64 20 53 68 69 66 74 22 2b bd |ht Hand Shift"+.| 00002190 31 33 0d 00 d8 52 20 20 20 20 20 20 20 20 20 20 |13...R | 000021a0 20 20 20 20 20 20 20 20 20 20 45 51 55 53 20 20 | EQUS | 000021b0 20 20 bd 39 2b 22 55 70 2c 20 44 6f 77 6e 2c 20 | .9+"Up, Down, | 000021c0 4c 65 66 74 2c 20 52 69 67 68 74 22 2b bd 39 2b |Left, Right"+.9+| 000021d0 22 20 2d 20 43 75 72 73 6f 72 20 6b 65 79 73 22 |" - Cursor keys"| 000021e0 2b bd 31 33 0d 00 d9 59 20 20 20 20 20 20 20 20 |+.13...Y | 000021f0 20 20 20 20 20 20 20 20 20 20 20 20 45 51 55 53 | EQUS| 00002200 20 20 20 20 bd 39 2b 22 43 61 70 73 2c 20 4e 75 | .9+"Caps, Nu| 00002210 6d 2c 20 53 63 72 6f 6c 6c 22 2b bd 39 2b 22 20 |m, Scroll"+.9+" | 00002220 2d 20 43 61 70 73 2c 20 4e 75 6d 2c 20 53 63 72 |- Caps, Num, Scr| 00002230 6f 6c 6c 20 4c 6f 63 6b 22 2b bd 31 33 0d 00 da |oll Lock"+.13...| 00002240 4e 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 |N | 00002250 20 20 20 20 20 45 51 55 53 20 20 20 20 bd 39 2b | EQUS .9+| 00002260 22 50 61 67 65 55 70 2c 20 50 61 67 65 44 6f 77 |"PageUp, PageDow| 00002270 6e 22 2b bd 39 2b 22 20 2d 20 50 61 67 65 20 55 |n"+.9+" - Page U| 00002280 70 2f 44 6f 77 6e 22 2b bd 31 33 0d 00 db 57 20 |p/Down"+.13...W | 00002290 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | 000022a0 20 20 20 45 51 55 53 20 20 20 20 bd 39 2b 22 43 | EQUS .9+"C| 000022b0 74 72 6c 2d 4c 2c 20 43 74 72 6c 2d 52 22 2b bd |trl-L, Ctrl-R"+.| 000022c0 39 2b bd 39 2b 22 20 2d 20 4c 65 66 74 2f 52 69 |9+.9+" - Left/Ri| 000022d0 67 68 74 20 68 61 6e 64 20 43 74 72 6c 22 2b bd |ght hand Ctrl"+.| 000022e0 31 33 0d 00 dc 4a 20 20 20 20 20 20 20 20 20 20 |13...J | 000022f0 20 20 20 20 20 20 20 20 20 20 45 51 55 53 20 20 | EQUS | 00002300 20 20 bd 39 2b 22 42 61 63 6b 22 2b bd 39 2b bd | .9+"Back"+.9+.| 00002310 39 2b bd 39 2b 22 20 2d 20 42 61 63 6b 73 70 61 |9+.9+" - Backspa| 00002320 63 65 22 20 3a 20 45 51 55 42 20 30 0d 00 dd 09 |ce" : EQUB 0....| 00002330 41 4c 49 47 4e 0d 00 de 31 2e 65 78 70 61 6e 64 |ALIGN...1.expand| 00002340 20 20 20 20 20 20 20 20 20 20 20 20 20 53 54 4d | STM| 00002350 46 44 20 20 20 52 31 33 21 2c 7b 52 37 2d 52 31 |FD R13!,{R7-R1| 00002360 31 2c 52 31 34 7d 0d 00 df 25 20 20 20 20 20 20 |1,R14}...% | 00002370 20 20 20 20 20 20 20 20 20 20 20 20 20 20 4d 4f | MO| 00002380 56 20 20 20 20 20 52 35 2c 52 30 0d 00 e0 25 20 |V R5,R0...% | 00002390 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | 000023a0 20 20 20 4d 4f 56 20 20 20 20 20 52 30 2c 23 36 | MOV R0,#6| 000023b0 0d 00 e1 27 20 20 20 20 20 20 20 20 20 20 20 20 |...' | 000023c0 20 20 20 20 20 20 20 20 4d 4f 56 20 20 20 20 20 | MOV | 000023d0 52 33 2c 23 32 35 36 0d 00 e2 2c 20 20 20 20 20 |R3,#256..., | 000023e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 53 | S| 000023f0 57 49 20 20 20 20 20 22 58 4f 53 5f 4d 6f 64 75 |WI "XOS_Modu| 00002400 6c 65 22 0d 00 e3 25 20 20 20 20 20 20 20 20 20 |le"...% | 00002410 20 20 20 20 20 20 20 20 20 20 20 4d 4f 56 20 20 | MOV | 00002420 20 20 20 52 33 2c 52 32 0d 00 e4 18 20 20 20 20 | R3,R2.... | 00002430 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | 00002440 0d 00 e5 2a 2e 63 6f 70 79 73 74 72 20 20 20 20 |...*.copystr | 00002450 20 20 20 20 20 20 20 20 4c 44 52 42 20 20 20 20 | LDRB | 00002460 52 30 2c 5b 52 35 5d 2c 23 31 0d 00 e6 25 20 20 |R0,[R5],#1...% | 00002470 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | 00002480 20 20 43 4d 50 20 20 20 20 20 52 30 2c 23 30 0d | CMP R0,#0.| 00002490 00 e7 2a 20 20 20 20 20 20 20 20 20 20 20 20 20 |..* | 000024a0 20 20 20 20 20 20 20 53 54 52 42 20 20 20 20 52 | STRB R| 000024b0 30 2c 5b 52 33 5d 2c 23 31 0d 00 e8 27 20 20 20 |0,[R3],#1...' | 000024c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | 000024d0 20 42 4e 45 20 20 20 20 20 63 6f 70 79 73 74 72 | BNE copystr| 000024e0 0d 00 e9 25 20 20 20 20 20 20 20 20 20 20 20 20 |...% | 000024f0 20 20 20 20 20 20 20 20 4d 4f 56 20 20 20 20 20 | MOV | 00002500 52 33 2c 52 32 0d 00 ea 2a 2e 74 65 72 6d 69 6e |R3,R2...*.termin| 00002510 61 74 65 31 20 20 20 20 20 20 20 20 20 4c 44 52 |ate1 LDR| 00002520 42 20 20 20 20 52 30 2c 5b 52 33 5d 2c 23 31 0d |B R0,[R3],#1.| 00002530 00 eb 26 20 20 20 20 20 20 20 20 20 20 20 20 20 |..& | 00002540 20 20 20 20 20 20 20 43 4d 50 20 20 20 20 20 52 | CMP R| 00002550 30 2c 23 33 32 0d 00 ec 2a 20 20 20 20 20 20 20 |0,#32...* | 00002560 20 20 20 20 20 20 20 20 20 20 20 20 20 42 4e 45 | BNE| 00002570 20 20 20 20 20 74 65 72 6d 69 6e 61 74 65 31 0d | terminate1.| 00002580 00 ed 28 20 20 20 20 20 20 20 20 20 20 20 20 20 |..( | 00002590 20 20 20 20 20 20 20 53 55 42 20 20 20 20 20 52 | SUB R| 000025a0 34 2c 52 33 2c 23 31 0d 00 ee 25 20 20 20 20 20 |4,R3,#1...% | 000025b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 4d | M| 000025c0 4f 56 20 20 20 20 20 52 30 2c 23 30 0d 00 ef 2a |OV R0,#0...*| 000025d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | 000025e0 20 20 20 20 53 54 52 42 20 20 20 20 52 30 2c 5b | STRB R0,[| 000025f0 52 34 5d 2c 23 31 0d 00 f0 18 20 20 20 20 20 20 |R4],#1.... | 00002600 20 20 20 20 20 20 20 20 20 20 20 20 20 20 0d 00 | ..| 00002610 f1 27 20 20 20 20 20 20 20 20 20 20 20 20 20 20 |.' | 00002620 20 20 20 20 20 20 41 44 52 20 20 20 20 20 52 35 | ADR R5| 00002630 2c 64 61 74 61 0d 00 f2 25 20 20 20 20 20 20 20 |,data...% | 00002640 20 20 20 20 20 20 20 20 20 20 20 20 20 4d 4f 56 | MOV| 00002650 20 20 20 20 20 52 36 2c 23 30 0d 00 f3 2a 2e 66 | R6,#0...*.f| 00002660 69 6e 64 6b 65 79 20 20 20 20 20 20 20 20 20 20 |indkey | 00002670 20 20 4c 44 52 20 20 20 20 20 52 31 2c 5b 52 35 | LDR R1,[R5| 00002680 2c 52 36 5d 0d 00 f4 28 2e 61 64 64 70 63 20 20 |,R6]...(.addpc | 00002690 20 20 20 20 20 20 20 20 20 20 20 20 41 44 44 20 | ADD | 000026a0 20 20 20 20 52 31 2c 50 43 2c 52 31 0d 00 f5 28 | R1,PC,R1...(| 000026b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | 000026c0 20 20 20 20 53 55 42 20 20 20 20 20 52 31 2c 52 | SUB R1,R| 000026d0 31 2c 23 38 0d 00 f6 37 20 20 20 20 20 20 20 20 |1,#8...7 | 000026e0 20 20 20 20 20 20 20 20 20 20 20 20 53 55 42 20 | SUB | 000026f0 20 20 20 20 52 31 2c 52 31 2c 23 61 64 64 70 63 | R1,R1,#addpc| 00002700 20 80 20 28 32 35 35 3c 3c 38 29 0d 00 f7 32 20 | . (255<<8)...2 | 00002710 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | 00002720 20 20 20 53 55 42 20 20 20 20 20 52 31 2c 52 31 | SUB R1,R1| 00002730 2c 23 61 64 64 70 63 20 80 20 32 35 35 0d 00 f8 |,#addpc . 255...| 00002740 25 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 |% | 00002750 20 20 20 20 20 4d 56 4e 20 20 20 20 20 52 30 2c | MVN R0,| 00002760 23 30 0d 00 f9 25 20 20 20 20 20 20 20 20 20 20 |#0...% | 00002770 20 20 20 20 20 20 20 20 20 20 4d 4f 56 20 20 20 | MOV | 00002780 20 20 52 33 2c 23 31 0d 00 fa 34 20 20 20 20 20 | R3,#1...4 | 00002790 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 53 | S| 000027a0 57 49 20 20 20 20 20 22 58 54 65 72 72 69 74 6f |WI "XTerrito| 000027b0 72 79 5f 43 6f 6c 6c 61 74 65 22 0d 00 fb 26 20 |ry_Collate"...& | 000027c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | 000027d0 20 20 20 42 45 51 20 20 20 20 20 73 65 74 6b 65 | BEQ setke| 000027e0 79 0d 00 fc 28 20 20 20 20 20 20 20 20 20 20 20 |y...( | 000027f0 20 20 20 20 20 20 20 20 20 41 44 44 20 20 20 20 | ADD | 00002800 20 52 36 2c 52 36 2c 23 34 0d 00 fd 2a 20 20 20 | R6,R6,#4...* | 00002810 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | 00002820 20 43 4d 50 20 20 20 20 20 52 36 2c 23 26 36 38 | CMP R6,#&68| 00002830 3c 3c 32 0d 00 fe 27 20 20 20 20 20 20 20 20 20 |<<2...' | 00002840 20 20 20 20 20 20 20 20 20 20 20 42 4c 54 20 20 | BLT | 00002850 20 20 20 66 69 6e 64 6b 65 79 0d 00 ff 18 20 20 | findkey.... | 00002860 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | 00002870 20 20 0d 01 00 25 2e 6e 6f 6b 65 79 20 20 20 20 | ...%.nokey | 00002880 20 20 20 20 20 20 20 20 20 20 4d 4f 56 20 20 20 | MOV | 00002890 20 20 52 30 2c 23 37 0d 01 01 2c 20 20 20 20 20 | R0,#7..., | 000028a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 53 | S| 000028b0 57 49 20 20 20 20 20 22 58 4f 53 5f 4d 6f 64 75 |WI "XOS_Modu| 000028c0 6c 65 22 0d 01 02 29 20 20 20 20 20 20 20 20 20 |le"...) | 000028d0 20 20 20 20 20 20 20 20 20 20 20 41 44 52 20 20 | ADR | 000028e0 20 20 20 52 30 2c 62 61 64 6b 65 79 0d 01 03 31 | R0,badkey...1| 000028f0 2e 65 78 70 61 6e 64 65 72 72 6f 72 20 20 20 20 |.expanderror | 00002900 20 20 20 20 4c 44 4d 46 44 20 20 20 52 31 33 21 | LDMFD R13!| 00002910 2c 7b 52 37 2d 52 31 31 2c 52 31 34 7d 0d 01 04 |,{R7-R11,R14}...| 00002920 2d 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 |- | 00002930 20 20 20 20 20 84 52 20 20 20 20 20 52 31 34 2c | .R R14,| 00002940 52 31 34 2c 23 31 3c 3c 32 38 0d 01 05 26 20 20 |R14,#1<<28...& | 00002950 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | 00002960 20 20 4d 4f 56 53 20 20 20 20 50 43 2c 52 31 34 | MOVS PC,R14| 00002970 0d 01 06 21 2e 62 61 64 6b 65 79 20 20 20 20 20 |...!.badkey | 00002980 20 20 20 20 20 20 20 20 45 51 55 44 20 20 20 20 | EQUD | 00002990 30 0d 01 07 61 20 20 20 20 20 20 20 20 20 20 20 |0...a | 000029a0 20 20 20 20 20 20 20 20 20 45 51 55 53 20 20 20 | EQUS | 000029b0 20 22 49 6c 6c 65 67 61 6c 20 4b 65 79 6e 61 6d | "Illegal Keynam| 000029c0 65 20 2d 20 73 65 65 20 22 22 68 65 6c 70 20 4b |e - see ""help K| 000029d0 65 79 4e 61 6d 65 73 22 22 20 66 6f 72 20 70 72 |eyNames"" for pr| 000029e0 6f 70 65 72 20 6e 61 6d 65 73 22 3a 45 51 55 42 |oper names":EQUB| 000029f0 20 30 0d 01 08 21 2e 73 69 6c 6c 79 61 6c 74 20 | 0...!.sillyalt | 00002a00 20 20 20 20 20 20 20 20 20 20 45 51 55 44 20 20 | EQUD | 00002a10 20 20 30 0d 01 09 4a 20 20 20 20 20 20 20 20 20 | 0...J | 00002a20 20 20 20 20 20 20 20 20 20 20 20 45 51 55 53 20 | EQUS | 00002a30 20 20 20 22 43 61 6e 27 74 20 64 65 66 69 6e 65 | "Can't define| 00002a40 20 74 68 65 20 41 6c 74 20 6b 65 79 73 2e 20 53 | the Alt keys. S| 00002a50 69 6c 6c 79 21 22 3a 45 51 55 42 20 30 0d 01 0a |illy!":EQUB 0...| 00002a60 21 2e 61 6c 72 65 61 64 79 20 20 20 20 20 20 20 |!.already | 00002a70 20 20 20 20 20 45 51 55 44 20 20 20 20 30 0d 01 | EQUD 0..| 00002a80 0b 38 20 20 20 20 20 20 20 20 20 20 20 20 20 20 |.8 | 00002a90 20 20 20 20 20 20 45 51 55 53 20 20 20 20 22 41 | EQUS "A| 00002aa0 6c 72 65 61 64 79 20 64 65 66 69 6e 65 64 22 3a |lready defined":| 00002ab0 45 51 55 42 20 30 0d 01 0c 18 20 20 20 20 20 20 |EQUB 0.... | 00002ac0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 0d 01 | ..| 00002ad0 0d 2a 2e 73 65 74 6b 65 79 20 20 20 20 20 20 20 |.*.setkey | 00002ae0 20 20 20 20 20 20 43 4d 50 20 20 20 20 20 52 36 | CMP R6| 00002af0 2c 23 26 36 30 3c 3c 32 0d 01 0e 2a 20 20 20 20 |,#&60<<2...* | 00002b00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | 00002b10 43 4d 50 4e 45 20 20 20 52 36 2c 23 26 35 45 3c |CMPNE R6,#&5E<| 00002b20 3c 32 0d 01 0f 2b 20 20 20 20 20 20 20 20 20 20 |<2...+ | 00002b30 20 20 20 20 20 20 20 20 20 20 41 44 52 45 51 20 | ADREQ | 00002b40 20 20 52 30 2c 73 69 6c 6c 79 61 6c 74 0d 01 10 | R0,sillyalt...| 00002b50 2b 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 |+ | 00002b60 20 20 20 20 20 42 45 51 20 20 20 20 20 65 78 70 | BEQ exp| 00002b70 61 6e 64 65 72 72 6f 72 0d 01 11 29 20 20 20 20 |anderror...) | 00002b80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | 00002b90 4c 44 52 20 20 20 20 20 52 31 32 2c 5b 52 31 32 |LDR R12,[R12| 00002ba0 5d 0d 01 12 2a 20 20 20 20 20 20 20 20 20 20 20 |]...* | 00002bb0 20 20 20 20 20 20 20 20 20 41 44 44 20 20 20 20 | ADD | 00002bc0 20 52 31 32 2c 52 31 32 2c 23 34 0d 01 13 2b 20 | R12,R12,#4...+ | 00002bd0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | 00002be0 20 20 20 4c 44 52 20 20 20 20 20 52 30 2c 5b 52 | LDR R0,[R| 00002bf0 31 32 2c 52 36 5d 0d 01 14 25 20 20 20 20 20 20 |12,R6]...% | 00002c00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 43 4d | CM| 00002c10 4e 20 20 20 20 20 52 30 2c 23 31 0d 01 15 26 20 |N R0,#1...& | 00002c20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | 00002c30 20 20 20 42 45 51 20 20 20 20 20 69 6e 73 65 72 | BEQ inser| 00002c40 74 0d 01 16 04 0d 01 17 25 2e 64 65 6c 65 74 65 |t.......%.delete| 00002c50 20 20 20 20 20 20 20 20 20 20 20 20 20 4d 4f 56 | MOV| 00002c60 20 20 20 20 20 52 35 2c 52 30 0d 01 18 2a 2e 64 | R5,R0...*.d| 00002c70 6c 6f 6f 70 20 20 20 20 20 20 20 20 20 20 20 20 |loop | 00002c80 20 20 4c 44 52 42 20 20 20 20 52 31 2c 5b 52 35 | LDRB R1,[R5| 00002c90 5d 2c 23 31 0d 01 19 26 20 20 20 20 20 20 20 20 |],#1...& | 00002ca0 20 20 20 20 20 20 20 20 20 20 20 20 43 4d 50 20 | CMP | 00002cb0 20 20 20 20 52 31 2c 23 33 32 0d 01 1a 25 20 20 | R1,#32...% | 00002cc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | 00002cd0 20 20 42 47 54 20 20 20 20 20 64 6c 6f 6f 70 0d | BGT dloop.| 00002ce0 01 1b 28 20 20 20 20 20 20 20 20 20 20 20 20 20 |..( | 00002cf0 20 20 20 20 20 20 20 53 55 42 20 20 20 20 20 52 | SUB R| 00002d00 35 2c 52 35 2c 52 30 0d 01 1c 27 20 20 20 20 20 |5,R5,R0...' | 00002d10 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 54 | T| 00002d20 53 54 20 20 20 20 20 52 35 2c 23 25 31 31 0d 01 |ST R5,#%11..| 00002d30 1d 2a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 |.* | 00002d40 20 20 20 20 20 20 42 49 43 4e 45 20 20 20 52 35 | BICNE R5| 00002d50 2c 52 35 2c 23 25 31 31 0d 01 1e 3e 20 20 20 20 |,R5,#%11...> | 00002d60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | 00002d70 41 44 44 4e 45 20 20 20 52 35 2c 52 35 2c 23 34 |ADDNE R5,R5,#4| 00002d80 20 3b 20 52 35 3d 6c 65 6e 67 74 68 20 28 41 4c | ; R5=length (AL| 00002d90 49 47 4e 65 64 29 0d 01 1f 18 20 20 20 20 20 20 |IGNed).... | 00002da0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 0d 01 | ..| 00002db0 20 28 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ( | 00002dc0 20 20 20 20 20 20 41 44 44 20 20 20 20 20 52 35 | ADD R5| 00002dd0 2c 52 30 2c 52 35 0d 01 21 2c 20 20 20 20 20 20 |,R0,R5..!, | 00002de0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 41 44 | AD| 00002df0 44 20 20 20 20 20 52 39 2c 52 31 32 2c 23 32 30 |D R9,R12,#20| 00002e00 34 38 0d 01 22 2a 2e 6d 6f 76 65 6c 70 20 20 20 |48.."*.movelp | 00002e10 20 20 20 20 20 20 20 20 20 20 4c 44 52 20 20 20 | LDR | 00002e20 20 20 52 33 2c 5b 52 35 5d 2c 23 34 0d 01 23 2a | R3,[R5],#4..#*| 00002e30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | 00002e40 20 20 20 20 53 54 52 20 20 20 20 20 52 33 2c 5b | STR R3,[| 00002e50 52 30 5d 2c 23 34 0d 01 24 25 20 20 20 20 20 20 |R0],#4..$% | 00002e60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 43 4d | CM| 00002e70 50 20 20 20 20 20 52 35 2c 52 39 0d 01 25 26 20 |P R5,R9..%& | 00002e80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | 00002e90 20 20 20 42 4c 54 20 20 20 20 20 6d 6f 76 65 6c | BLT movel| 00002ea0 70 0d 01 26 34 20 20 20 20 20 20 20 20 20 20 20 |p..&4 | 00002eb0 20 20 20 20 20 20 20 20 20 53 55 42 20 20 20 20 | SUB | 00002ec0 20 52 30 2c 52 35 2c 52 30 20 3b 20 52 30 3d 6c | R0,R5,R0 ; R0=l| 00002ed0 65 6e 67 74 68 0d 01 27 4d 20 20 20 20 20 20 20 |ength..'M | 00002ee0 20 20 20 20 20 20 20 20 20 20 20 20 20 41 44 44 | ADD| 00002ef0 20 20 20 20 20 52 35 2c 52 36 2c 23 34 20 20 3b | R5,R6,#4 ;| 00002f00 20 52 35 3d 70 6f 69 6e 74 65 72 20 74 6f 20 6e | R5=pointer to n| 00002f10 65 78 74 20 73 74 72 69 6e 67 20 70 6f 69 6e 74 |ext string point| 00002f20 65 72 0d 01 28 2b 2e 64 65 6c 6c 6f 6f 70 20 20 |er..(+.delloop | 00002f30 20 20 20 20 20 20 20 20 20 20 4c 44 52 20 20 20 | LDR | 00002f40 20 20 52 33 2c 5b 52 31 32 2c 52 35 5d 0d 01 29 | R3,[R12,R5]..)| 00002f50 25 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 |% | 00002f60 20 20 20 20 20 43 4d 4e 20 20 20 20 20 52 33 2c | CMN R3,| 00002f70 23 31 0d 01 2a 28 20 20 20 20 20 20 20 20 20 20 |#1..*( | 00002f80 20 20 20 20 20 20 20 20 20 20 53 55 42 4e 45 20 | SUBNE | 00002f90 20 20 52 33 2c 52 33 2c 52 30 0d 01 2b 2b 20 20 | R3,R3,R0..++ | 00002fa0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | 00002fb0 20 20 53 54 52 4e 45 20 20 20 52 33 2c 5b 52 31 | STRNE R3,[R1| 00002fc0 32 2c 52 35 5d 0d 01 2c 28 20 20 20 20 20 20 20 |2,R5]..,( | 00002fd0 20 20 20 20 20 20 20 20 20 20 20 20 20 41 44 44 | ADD| 00002fe0 20 20 20 20 20 52 35 2c 52 35 2c 23 34 0d 01 2d | R5,R5,#4..-| 00002ff0 2a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 |* | 00003000 20 20 20 20 20 43 4d 50 20 20 20 20 20 52 35 2c | CMP R5,| 00003010 23 26 36 37 3c 3c 32 0d 01 2e 27 20 20 20 20 20 |#&67<<2...' | 00003020 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 42 | B| 00003030 4c 54 20 20 20 20 20 64 65 6c 6c 6f 6f 70 0d 01 |LT delloop..| 00003040 2f 25 20 20 20 20 20 20 20 20 20 20 20 20 20 20 |/% | 00003050 20 20 20 20 20 20 4d 56 4e 20 20 20 20 20 52 30 | MVN R0| 00003060 2c 23 30 0d 01 30 2b 20 20 20 20 20 20 20 20 20 |,#0..0+ | 00003070 20 20 20 20 20 20 20 20 20 20 20 53 54 52 20 20 | STR | 00003080 20 20 20 52 30 2c 5b 52 31 32 2c 52 36 5d 0d 01 | R0,[R12,R6]..| 00003090 31 18 20 20 20 20 20 20 20 20 20 20 20 20 20 20 |1. | 000030a0 20 20 20 20 20 20 0d 01 32 28 2e 69 6e 73 65 72 | ..2(.inser| 000030b0 74 20 20 20 20 20 20 20 20 20 20 20 20 20 41 44 |t AD| 000030c0 44 20 20 20 20 20 52 35 2c 52 36 2c 23 34 0d 01 |D R5,R6,#4..| 000030d0 33 2a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 |3* | 000030e0 20 20 20 20 20 20 43 4d 50 20 20 20 20 20 52 35 | CMP R5| 000030f0 2c 23 26 36 37 3c 3c 32 0d 01 34 28 20 20 20 20 |,#&67<<2..4( | 00003100 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | 00003110 42 47 54 20 20 20 20 20 6c 6f 6f 6b 62 61 63 6b |BGT lookback| 00003120 0d 01 35 2b 2e 66 6c 6f 6f 70 66 20 20 20 20 20 |..5+.floopf | 00003130 20 20 20 20 20 20 20 20 4c 44 52 20 20 20 20 20 | LDR | 00003140 52 30 2c 5b 52 31 32 2c 52 35 5d 0d 01 36 25 20 |R0,[R12,R5]..6% | 00003150 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | 00003160 20 20 20 43 4d 4e 20 20 20 20 20 52 30 2c 23 31 | CMN R0,#1| 00003170 0d 01 37 27 20 20 20 20 20 20 20 20 20 20 20 20 |..7' | 00003180 20 20 20 20 20 20 20 20 42 4e 45 20 20 20 20 20 | BNE | 00003190 66 6f 72 77 61 72 64 0d 01 38 28 20 20 20 20 20 |forward..8( | 000031a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 41 | A| 000031b0 44 44 45 51 20 20 20 52 35 2c 52 35 2c 23 34 0d |DDEQ R5,R5,#4.| 000031c0 01 39 2a 20 20 20 20 20 20 20 20 20 20 20 20 20 |.9* | 000031d0 20 20 20 20 20 20 20 43 4d 50 20 20 20 20 20 52 | CMP R| 000031e0 35 2c 23 26 36 38 3c 3c 32 0d 01 3a 26 20 20 20 |5,#&68<<2..:& | 000031f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | 00003200 20 42 4e 45 20 20 20 20 20 66 6c 6f 6f 70 66 0d | BNE floopf.| 00003210 01 3b 28 2e 6c 6f 6f 6b 62 61 63 6b 20 20 20 20 |.;(.lookback | 00003220 20 20 20 20 20 20 20 53 55 42 53 20 20 20 20 52 | SUBS R| 00003230 35 2c 52 36 2c 23 34 0d 01 3c 2b 20 20 20 20 20 |5,R6,#4..<+ | 00003240 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 42 | B| 00003250 4d 49 20 20 20 20 20 77 68 61 74 74 68 65 68 65 |MI whatthehe| 00003260 6c 6c 0d 01 3d 2b 2e 66 6c 6f 6f 70 62 20 20 20 |ll..=+.floopb | 00003270 20 20 20 20 20 20 20 20 20 20 4c 44 52 20 20 20 | LDR | 00003280 20 20 52 30 2c 5b 52 31 32 2c 52 35 5d 0d 01 3e | R0,[R12,R5]..>| 00003290 25 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 |% | 000032a0 20 20 20 20 20 43 4d 4e 20 20 20 20 20 52 30 2c | CMN R0,| 000032b0 23 31 0d 01 3f 29 20 20 20 20 20 20 20 20 20 20 |#1..?) | 000032c0 20 20 20 20 20 20 20 20 20 20 42 4e 45 20 20 20 | BNE | 000032d0 20 20 62 61 63 6b 77 61 72 64 73 0d 01 40 28 20 | backwards..@( | 000032e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | 000032f0 20 20 20 53 55 42 45 51 20 20 20 52 35 2c 52 35 | SUBEQ R5,R5| 00003300 2c 23 34 0d 01 41 25 20 20 20 20 20 20 20 20 20 |,#4..A% | 00003310 20 20 20 20 20 20 20 20 20 20 20 43 4d 50 20 20 | CMP | 00003320 20 20 20 52 35 2c 23 30 0d 01 42 26 20 20 20 20 | R5,#0..B& | 00003330 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | 00003340 42 50 4c 20 20 20 20 20 66 6c 6f 6f 70 62 0d 01 |BPL floopb..| 00003350 43 2e 2e 77 68 61 74 74 68 65 68 65 6c 6c 20 20 |C..whatthehell | 00003360 20 20 20 20 20 20 41 44 44 20 20 20 20 20 52 30 | ADD R0| 00003370 2c 52 31 32 2c 23 26 36 38 3c 3c 32 0d 01 44 2a |,R12,#&68<<2..D*| 00003380 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | 00003390 20 20 20 20 42 20 20 20 20 20 20 20 63 6f 70 79 | B copy| 000033a0 73 74 72 69 6e 67 0d 01 45 04 0d 01 46 21 2e 73 |string..E...F!.s| 000033b0 70 61 63 65 65 72 72 20 20 20 20 20 20 20 20 20 |paceerr | 000033c0 20 20 45 51 55 44 20 20 20 20 30 0d 01 47 48 20 | EQUD 0..GH | 000033d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | 000033e0 20 20 20 45 51 55 53 20 20 20 20 22 4e 6f 74 20 | EQUS "Not | 000033f0 65 6e 6f 75 67 68 20 73 70 61 63 65 20 66 6f 72 |enough space for| 00003400 20 64 65 66 69 6e 69 74 69 6f 6e 22 3a 45 51 55 | definition":EQU| 00003410 42 20 30 0d 01 48 04 0d 01 49 25 2e 66 6f 72 77 |B 0..H...I%.forw| 00003420 61 72 64 20 20 20 20 20 20 20 20 20 20 20 20 4d |ard M| 00003430 4f 56 20 20 20 20 20 52 32 2c 52 34 0d 01 4a 2a |OV R2,R4..J*| 00003440 2e 6e 65 78 74 62 79 74 65 20 20 20 20 20 20 20 |.nextbyte | 00003450 20 20 20 20 4c 44 52 42 20 20 20 20 52 31 2c 5b | LDRB R1,[| 00003460 52 32 5d 2c 23 31 0d 01 4b 26 20 20 20 20 20 20 |R2],#1..K& | 00003470 20 20 20 20 20 20 20 20 20 20 20 20 20 20 43 4d | CM| 00003480 50 20 20 20 20 20 52 31 2c 23 33 32 0d 01 4c 28 |P R1,#32..L(| 00003490 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | 000034a0 20 20 20 20 42 47 54 20 20 20 20 20 6e 65 78 74 | BGT next| 000034b0 62 79 74 65 0d 01 4d 28 20 20 20 20 20 20 20 20 |byte..M( | 000034c0 20 20 20 20 20 20 20 20 20 20 20 20 53 55 42 20 | SUB | 000034d0 20 20 20 20 52 32 2c 52 32 2c 52 34 0d 01 4e 27 | R2,R2,R4..N'| 000034e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | 000034f0 20 20 20 20 54 53 54 20 20 20 20 20 52 32 2c 23 | TST R2,#| 00003500 25 31 31 0d 01 4f 27 20 20 20 20 20 20 20 20 20 |%11..O' | 00003510 20 20 20 20 20 20 20 20 20 20 20 42 45 51 20 20 | BEQ | 00003520 20 20 20 6d 6f 64 66 6f 75 72 0d 01 50 2a 20 20 | modfour..P* | 00003530 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | 00003540 20 20 42 49 43 20 20 20 20 20 52 32 2c 52 32 2c | BIC R2,R2,| 00003550 23 25 31 31 0d 01 51 28 20 20 20 20 20 20 20 20 |#%11..Q( | 00003560 20 20 20 20 20 20 20 20 20 20 20 20 41 44 44 20 | ADD | 00003570 20 20 20 20 52 32 2c 52 32 2c 23 34 0d 01 52 2c | R2,R2,#4..R,| 00003580 2e 6d 6f 64 66 6f 75 72 20 20 20 20 20 20 20 20 |.modfour | 00003590 20 20 20 20 4c 44 52 20 20 20 20 20 52 31 2c 5b | LDR R1,[| 000035a0 52 31 32 2c 23 2d 34 5d 0d 01 53 2a 20 20 20 20 |R12,#-4]..S* | 000035b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | 000035c0 42 49 43 20 20 20 20 20 52 31 2c 52 31 2c 23 25 |BIC R1,R1,#%| 000035d0 31 31 0d 01 54 25 20 20 20 20 20 20 20 20 20 20 |11..T% | 000035e0 20 20 20 20 20 20 20 20 20 20 43 4d 50 20 20 20 | CMP | 000035f0 20 20 52 31 2c 52 32 0d 01 55 2b 20 20 20 20 20 | R1,R2..U+ | 00003600 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 41 | A| 00003610 44 52 4c 54 20 20 20 52 30 2c 73 70 61 63 65 65 |DRLT R0,spacee| 00003620 72 72 0d 01 56 2b 20 20 20 20 20 20 20 20 20 20 |rr..V+ | 00003630 20 20 20 20 20 20 20 20 20 20 42 4c 54 20 20 20 | BLT | 00003640 20 20 65 78 70 61 6e 64 65 72 72 6f 72 0d 01 57 | expanderror..W| 00003650 2b 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 |+ | 00003660 20 20 20 20 20 53 54 52 20 20 20 20 20 52 30 2c | STR R0,| 00003670 5b 52 31 32 2c 52 36 5d 0d 01 58 2c 20 20 20 20 |[R12,R6]..X, | 00003680 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | 00003690 41 44 44 20 20 20 20 20 52 39 2c 52 31 32 2c 23 |ADD R9,R12,#| 000036a0 32 30 34 38 0d 01 59 28 20 20 20 20 20 20 20 20 |2048..Y( | 000036b0 20 20 20 20 20 20 20 20 20 20 20 20 53 55 42 20 | SUB | 000036c0 20 20 20 20 52 39 2c 52 39 2c 23 38 0d 01 5a 2b | R9,R9,#8..Z+| 000036d0 2e 6d 6f 76 65 6c 6f 6f 70 20 20 20 20 20 20 20 |.moveloop | 000036e0 20 20 20 20 4c 44 52 20 20 20 20 20 52 33 2c 5b | LDR R3,[| 000036f0 52 39 2c 2d 52 32 5d 0d 01 5b 2b 20 20 20 20 20 |R9,-R2]..[+ | 00003700 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 53 | S| 00003710 54 52 20 20 20 20 20 52 33 2c 5b 52 39 5d 2c 23 |TR R3,[R9],#| 00003720 2d 34 0d 01 5c 25 20 20 20 20 20 20 20 20 20 20 |-4..\% | 00003730 20 20 20 20 20 20 20 20 20 20 43 4d 50 20 20 20 | CMP | 00003740 20 20 52 30 2c 52 39 0d 01 5d 28 20 20 20 20 20 | R0,R9..]( | 00003750 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 42 | B| 00003760 4d 49 20 20 20 20 20 6d 6f 76 65 6c 6f 6f 70 0d |MI moveloop.| 00003770 01 5e 28 20 20 20 20 20 20 20 20 20 20 20 20 20 |.^( | 00003780 20 20 20 20 20 20 20 41 44 44 20 20 20 20 20 52 | ADD R| 00003790 39 2c 52 36 2c 23 34 0d 01 5f 2b 2e 63 6e 67 61 |9,R6,#4.._+.cnga| 000037a0 64 64 72 20 20 20 20 20 20 20 20 20 20 20 20 4c |ddr L| 000037b0 44 52 20 20 20 20 20 52 38 2c 5b 52 31 32 2c 52 |DR R8,[R12,R| 000037c0 39 5d 0d 01 60 25 20 20 20 20 20 20 20 20 20 20 |9]..`% | 000037d0 20 20 20 20 20 20 20 20 20 20 43 4d 4e 20 20 20 | CMN | 000037e0 20 20 52 38 2c 23 31 0d 01 61 28 20 20 20 20 20 | R8,#1..a( | 000037f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 41 | A| 00003800 44 44 4e 45 20 20 20 52 38 2c 52 32 2c 52 38 0d |DDNE R8,R2,R8.| 00003810 01 62 2b 20 20 20 20 20 20 20 20 20 20 20 20 20 |.b+ | 00003820 20 20 20 20 20 20 20 53 54 52 4e 45 20 20 20 52 | STRNE R| 00003830 38 2c 5b 52 31 32 2c 52 39 5d 0d 01 63 28 20 20 |8,[R12,R9]..c( | 00003840 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | 00003850 20 20 41 44 44 20 20 20 20 20 52 39 2c 52 39 2c | ADD R9,R9,| 00003860 23 34 0d 01 64 2a 20 20 20 20 20 20 20 20 20 20 |#4..d* | 00003870 20 20 20 20 20 20 20 20 20 20 43 4d 50 20 20 20 | CMP | 00003880 20 20 52 39 2c 23 26 36 38 3c 3c 32 0d 01 65 27 | R9,#&68<<2..e'| 00003890 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | 000038a0 20 20 20 20 42 4c 54 20 20 20 20 20 63 6e 67 61 | BLT cnga| 000038b0 64 64 72 0d 01 66 2a 20 20 20 20 20 20 20 20 20 |ddr..f* | 000038c0 20 20 20 20 20 20 20 20 20 20 20 42 20 20 20 20 | B | 000038d0 20 20 20 63 6f 70 79 73 74 72 69 6e 67 0d 01 67 | copystring..g| 000038e0 18 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 |. | 000038f0 20 20 20 20 20 0d 01 68 25 2e 62 61 63 6b 77 61 | ..h%.backwa| 00003900 72 64 73 20 20 20 20 20 20 20 20 20 20 4d 4f 56 |rds MOV| 00003910 20 20 20 20 20 52 32 2c 52 34 0d 01 69 2a 2e 6e | R2,R4..i*.n| 00003920 65 78 74 62 79 74 65 32 20 20 20 20 20 20 20 20 |extbyte2 | 00003930 20 20 4c 44 52 42 20 20 20 20 52 31 2c 5b 52 32 | LDRB R1,[R2| 00003940 5d 2c 23 31 0d 01 6a 26 20 20 20 20 20 20 20 20 |],#1..j& | 00003950 20 20 20 20 20 20 20 20 20 20 20 20 43 4d 50 20 | CMP | 00003960 20 20 20 20 52 31 2c 23 33 32 0d 01 6b 29 20 20 | R1,#32..k) | 00003970 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | 00003980 20 20 42 47 54 20 20 20 20 20 6e 65 78 74 62 79 | BGT nextby| 00003990 74 65 32 0d 01 6c 28 20 20 20 20 20 20 20 20 20 |te2..l( | 000039a0 20 20 20 20 20 20 20 20 20 20 20 53 55 42 20 20 | SUB | 000039b0 20 20 20 52 32 2c 52 32 2c 52 34 0d 01 6d 27 20 | R2,R2,R4..m' | 000039c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | 000039d0 20 20 20 54 53 54 20 20 20 20 20 52 32 2c 23 25 | TST R2,#%| 000039e0 31 31 0d 01 6e 2c 20 20 20 20 20 20 20 20 20 20 |11..n, | 000039f0 20 20 20 20 20 20 20 20 20 20 42 49 43 4e 45 20 | BICNE | 00003a00 20 20 20 20 52 32 2c 52 32 2c 23 25 31 31 0d 01 | R2,R2,#%11..| 00003a10 6f 2a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 |o* | 00003a20 20 20 20 20 20 20 41 44 44 4e 45 20 20 20 20 20 | ADDNE | 00003a30 52 32 2c 52 32 2c 23 34 0d 01 70 2c 20 20 20 20 |R2,R2,#4..p, | 00003a40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | 00003a50 4c 44 52 20 20 20 20 20 52 31 2c 5b 52 31 32 2c |LDR R1,[R12,| 00003a60 23 2d 34 5d 0d 01 71 2a 20 20 20 20 20 20 20 20 |#-4]..q* | 00003a70 20 20 20 20 20 20 20 20 20 20 20 20 42 49 43 20 | BIC | 00003a80 20 20 20 20 52 31 2c 52 31 2c 23 25 31 31 0d 01 | R1,R1,#%11..| 00003a90 72 25 20 20 20 20 20 20 20 20 20 20 20 20 20 20 |r% | 00003aa0 20 20 20 20 20 20 43 4d 50 20 20 20 20 20 52 31 | CMP R1| 00003ab0 2c 52 32 0d 01 73 2b 20 20 20 20 20 20 20 20 20 |,R2..s+ | 00003ac0 20 20 20 20 20 20 20 20 20 20 20 41 44 52 4c 54 | ADRLT| 00003ad0 20 20 20 52 30 2c 73 70 61 63 65 65 72 72 0d 01 | R0,spaceerr..| 00003ae0 74 2b 20 20 20 20 20 20 20 20 20 20 20 20 20 20 |t+ | 00003af0 20 20 20 20 20 20 42 4c 54 20 20 20 20 20 65 78 | BLT ex| 00003b00 70 61 6e 64 65 72 72 6f 72 0d 01 75 04 0d 01 76 |panderror..u...v| 00003b10 2a 2e 6e 65 78 74 62 79 74 65 33 20 20 20 20 20 |*.nextbyte3 | 00003b20 20 20 20 20 20 4c 44 52 42 20 20 20 20 52 31 2c | LDRB R1,| 00003b30 5b 52 30 5d 2c 23 31 0d 01 77 26 20 20 20 20 20 |[R0],#1..w& | 00003b40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 43 | C| 00003b50 4d 50 20 20 20 20 20 52 31 2c 23 33 32 0d 01 78 |MP R1,#32..x| 00003b60 29 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 |) | 00003b70 20 20 20 20 20 42 47 54 20 20 20 20 20 6e 65 78 | BGT nex| 00003b80 74 62 79 74 65 33 0d 01 79 27 20 20 20 20 20 20 |tbyte3..y' | 00003b90 20 20 20 20 20 20 20 20 20 20 20 20 20 20 54 53 | TS| 00003ba0 54 20 20 20 20 20 52 30 2c 23 25 31 31 0d 01 7a |T R0,#%11..z| 00003bb0 2a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 |* | 00003bc0 20 20 20 20 20 42 49 43 4e 45 20 20 20 52 30 2c | BICNE R0,| 00003bd0 52 30 2c 23 25 31 31 0d 01 7b 28 20 20 20 20 20 |R0,#%11..{( | 00003be0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 41 | A| 00003bf0 44 44 4e 45 20 20 20 52 30 2c 52 30 2c 23 34 0d |DDNE R0,R0,#4.| 00003c00 01 7c 18 20 20 20 20 20 20 20 20 20 20 20 20 20 |.|. | 00003c10 20 20 20 20 20 20 20 0d 01 7d 2b 20 20 20 20 20 | ..}+ | 00003c20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 53 | S| 00003c30 54 52 20 20 20 20 20 52 30 2c 5b 52 31 32 2c 52 |TR R0,[R12,R| 00003c40 36 5d 0d 01 7e 2c 20 20 20 20 20 20 20 20 20 20 |6]..~, | 00003c50 20 20 20 20 20 20 20 20 20 20 41 44 44 20 20 20 | ADD | 00003c60 20 20 52 39 2c 52 31 32 2c 23 32 30 34 38 0d 01 | R9,R12,#2048..| 00003c70 7f 28 20 20 20 20 20 20 20 20 20 20 20 20 20 20 |.( | 00003c80 20 20 20 20 20 20 53 55 42 20 20 20 20 20 52 39 | SUB R9| 00003c90 2c 52 39 2c 23 38 0d 01 80 2b 2e 6d 6f 76 65 6c |,R9,#8...+.movel| 00003ca0 6f 6f 70 35 20 20 20 20 20 20 20 20 20 20 4c 44 |oop5 LD| 00003cb0 52 20 20 20 20 20 52 33 2c 5b 52 39 2c 2d 52 32 |R R3,[R9,-R2| 00003cc0 5d 0d 01 81 2b 20 20 20 20 20 20 20 20 20 20 20 |]...+ | 00003cd0 20 20 20 20 20 20 20 20 20 53 54 52 20 20 20 20 | STR | 00003ce0 20 52 33 2c 5b 52 39 5d 2c 23 2d 34 0d 01 82 25 | R3,[R9],#-4...%| 00003cf0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | 00003d00 20 20 20 20 43 4d 50 20 20 20 20 20 52 30 2c 52 | CMP R0,R| 00003d10 39 0d 01 83 29 20 20 20 20 20 20 20 20 20 20 20 |9...) | 00003d20 20 20 20 20 20 20 20 20 20 42 4d 49 20 20 20 20 | BMI | 00003d30 20 6d 6f 76 65 6c 6f 6f 70 35 0d 01 84 18 20 20 | moveloop5.... | 00003d40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | 00003d50 20 20 0d 01 85 2b 2e 63 6f 70 79 73 74 72 69 6e | ...+.copystrin| 00003d60 67 20 20 20 20 20 20 20 20 20 53 54 52 20 20 20 |g STR | 00003d70 20 20 52 30 2c 5b 52 31 32 2c 52 36 5d 0d 01 86 | R0,[R12,R6]...| 00003d80 2a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 |* | 00003d90 20 20 20 20 20 4c 44 52 42 20 20 20 20 52 31 2c | LDRB R1,| 00003da0 5b 52 34 5d 2c 23 31 0d 01 87 26 20 20 20 20 20 |[R4],#1...& | 00003db0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 43 | C| 00003dc0 4d 50 20 20 20 20 20 52 31 2c 23 33 32 0d 01 88 |MP R1,#32...| 00003dd0 2a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 |* | 00003de0 20 20 20 20 20 42 45 51 20 20 20 20 20 63 6f 70 | BEQ cop| 00003df0 79 73 74 72 69 6e 67 0d 01 89 25 20 20 20 20 20 |ystring...% | 00003e00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 4d | M| 00003e10 4f 56 20 20 20 20 20 52 39 2c 52 30 0d 01 8a 2a |OV R9,R0...*| 00003e20 2e 63 6c 6f 6f 70 20 20 20 20 20 20 20 20 20 20 |.cloop | 00003e30 20 20 20 20 53 54 52 42 20 20 20 20 52 31 2c 5b | STRB R1,[| 00003e40 52 30 5d 2c 23 31 0d 01 8b 2a 20 20 20 20 20 20 |R0],#1...* | 00003e50 20 20 20 20 20 20 20 20 20 20 20 20 20 20 4c 44 | LD| 00003e60 52 42 20 20 20 20 52 31 2c 5b 52 34 5d 2c 23 31 |RB R1,[R4],#1| 00003e70 0d 01 8c 26 20 20 20 20 20 20 20 20 20 20 20 20 |...& | 00003e80 20 20 20 20 20 20 20 20 43 4d 50 20 20 20 20 20 | CMP | 00003e90 52 31 2c 23 33 32 0d 01 8d 25 20 20 20 20 20 20 |R1,#32...% | 00003ea0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 42 47 | BG| 00003eb0 54 20 20 20 20 20 63 6c 6f 6f 70 0d 01 8e 25 20 |T cloop...% | 00003ec0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | 00003ed0 20 20 20 4d 4f 56 20 20 20 20 20 52 31 2c 23 30 | MOV R1,#0| 00003ee0 0d 01 8f 2a 20 20 20 20 20 20 20 20 20 20 20 20 |...* | 00003ef0 20 20 20 20 20 20 20 20 53 54 52 42 20 20 20 20 | STRB | 00003f00 52 31 2c 5b 52 30 5d 2c 23 31 0d 01 90 28 20 20 |R1,[R0],#1...( | 00003f10 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | 00003f20 20 20 53 55 42 20 20 20 20 20 52 30 2c 52 30 2c | SUB R0,R0,| 00003f30 52 39 0d 01 91 27 20 20 20 20 20 20 20 20 20 20 |R9...' | 00003f40 20 20 20 20 20 20 20 20 20 20 54 53 54 20 20 20 | TST | 00003f50 20 20 52 30 2c 23 25 31 31 0d 01 92 2b 20 20 20 | R0,#%11...+ | 00003f60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | 00003f70 20 80 4e 45 20 20 20 52 30 2c 52 30 2c 23 32 35 | .NE R0,R0,#25| 00003f80 35 3c 3c 32 0d 01 93 28 20 20 20 20 20 20 20 20 |5<<2...( | 00003f90 20 20 20 20 20 20 20 20 20 20 20 20 41 44 44 4e | ADDN| 00003fa0 45 20 20 20 52 30 2c 52 30 2c 23 34 0d 01 94 2c |E R0,R0,#4...,| 00003fb0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | 00003fc0 20 20 20 20 4c 44 52 20 20 20 20 20 52 31 2c 5b | LDR R1,[| 00003fd0 52 31 32 2c 23 2d 34 5d 0d 01 95 28 20 20 20 20 |R12,#-4]...( | 00003fe0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | 00003ff0 53 55 42 20 20 20 20 20 52 31 2c 52 31 2c 52 30 |SUB R1,R1,R0| 00004000 0d 01 96 2c 20 20 20 20 20 20 20 20 20 20 20 20 |..., | 00004010 20 20 20 20 20 20 20 20 53 54 52 20 20 20 20 20 | STR | 00004020 52 31 2c 5b 52 31 32 2c 23 2d 34 5d 0d 01 97 31 |R1,[R12,#-4]...1| 00004030 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | 00004040 20 20 20 20 4c 44 4d 46 44 20 20 20 52 31 33 21 | LDMFD R13!| 00004050 2c 7b 52 37 2d 52 31 31 2c 50 43 7d 5e 0d 01 98 |,{R7-R11,PC}^...| 00004060 18 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 |. | 00004070 20 20 20 20 20 0d 01 99 23 2e 64 61 74 61 20 20 | ...#.data | 00004080 20 20 20 20 20 20 20 20 20 20 20 20 20 3a a4 64 | :.d| 00004090 61 74 61 62 6c 6f 63 6b 0d 01 9a 1f 2e 69 6e 64 |atablock.....ind| 000040a0 65 78 20 20 20 20 20 20 20 20 20 20 20 20 20 20 |ex | 000040b0 3a a4 69 6e 64 65 78 0d 01 9b 05 5d 0d 01 9c 05 |:.index....]....| 000040c0 e1 0d ff |...| 000040c3