Home » Archimedes archive » Acorn User » AU 1995-01.adf » !StarInfo_StarInfo » Bower+/MemSource
Bower+/MemSource
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 1995-01.adf » !StarInfo_StarInfo |
Filename: | Bower+/MemSource |
Read OK: | ✔ |
File size: | 2076 bytes |
Load address: | 0000 |
Exec address: | 0000 |
File contents
10REM >ADFS::Prog.$.Utils.MemUtil.MemSource 20REM I think it is compatible with RISC OS 2 30REM By Andrew Bower 40REM 18 August 1994 50REM Version: 0.02 (12 Oct 1994) 60: 70*FX1,3 80*RMEnsure UtilityModule 3.00 FX1,2 90SYS "OS_Byte",1 TO ,osver% 100: 110module%=FALSE :REM **** DO NOT USE **** (not completed,see below) 120: 130DIM code 20480 140L%=code+20460 150FOR pass=%1100 TO %1110 STEP %10 160O%=code 170P%=0 180PROCcode 190NEXT pass 200OSCLI "Save ADFS::Prog.$.Utils.MemUtil.MemUtil "+STR$~code+" "+STR$~O% 210OSCLI "SetType ADFS::Prog.$.Utils.MemUtil.MemUtil Utility" 220END 230: 240DEF FNname(s$) :REM used for the table entries 250n=(32-LEN(s$))DIV8 260m=(32-LEN(s$))MOD8 270IF m THEN n+=1 280[OPT pass 290DCB LEN(s$)+n+2 300EQUS s$+STRING$(n,CHR$9)+CHR$0 :REM to tabulate it 310] 320=LEN(s$) 330: 340DEF PROCcode 350[OPT pass:.start:] 360IF module% THEN 370[OPT pass 380EQUD 0 390EQUD 0 400EQUD 0 410EQUD 0 420EQUD progname 430EQUD help_str 440EQUD commands 450EQUD 0 460EQUD 0 470EQUD 0 480EQUD 0 490.help_str 500EQUS "MemUtil"+CHR$9+CHR$9+"0.01 (19 Aug 1994)"+CHR$0 510.commands 520EQUS "MemUtil"+CHR$0 530ALIGN 540EQUD entry 550EQUB 0:EQUB 0:EQUB 255:EQUB 0 560EQUD syntax_mess 570EQUD command_help 580EQUD 0 590.init 600 610.entry 620LDR R12,[R12] 630MOV R1,R0 640; ***** do not use module section, it is not finished 650; ***** e.g. MUST enter user mode, preserve regs, ... 660; ***** and reserve 1K workspace. 670] 680ENDIF 690: 700[OPT pass 710STR R14,retaddr 720LDRB R0,[R1]:CMP R0,#0:ADREQ R1,default-2048:ADDEQ R1,R1,#2048 730BL readargs 740LDR R0,[R11,#1<<2]:TEQ R0,#0: BLNE syntax 750LDR R0,[R11,#3<<2]:TEQ R0,#0: MOVNE R9,#0: BLNE change 760LDR R0,[R11,#4<<2]:TEQ R0,#0: MOVNE R9,#1: BLNE change 770LDR R0,[R11,#5<<2]:TEQ R0,#0: MOVNE R9,#2: BLNE change 780LDR R0,[R11,#6<<2]:TEQ R0,#0: MOVNE R9,#3: BLNE change 790LDR R0,[R11,#7<<2]:TEQ R0,#0: MOVNE R9,#4: BLNE change 800LDR R0,[R11,#8<<2]:TEQ R0,#0: MOVNE R9,#5: BLNE change 810LDR R0,[R11,#0<<2]:TEQ R0,#0: BLNE showinfo 820LDR R0,[R11,#2<<2]:TEQ R0,#0: BLNE interactive 830LDR PC,retaddr 840: 850EQUS "�A.Bower" 860ALIGN 870: 880.readargs 890ADR R0,keyword 900ADD R11,R12,#512 910MOV R2,R11 920MOV R3,#256 930SWI "XOS_ReadArgs" 940BVS error 950MOV PC,R14 960.keyword 970EQUS"display/s,help/s,interactive/s," 980EQUS"system,rma,screen,sprite,font,ramfs" 990EQUB 0 1000.syntax 1010ADR R0,syntax_string 1020MOV R1,#0 1030ADR R2,progname 1040SWI "XOS_PrettyPrint" 1050BVS error 1060MOV PC,R14 1070.progname 1080EQUS "MemUtil"+CHR$0 1090.syntax_string 1100EQUS "==> Help on utility "+CHR$27+CHR$0+CHR$13 1110.command_help 1120EQUS "Reads"+CHR$27+CHR$16+"alters"+CHR$27+CHR$2+"machine's memory allocations."+CHR$13 1130.syntax_mess 1140EQUS CHR$27+CHR$30+"-help] [-display] [-interactive] [[-system] [+|-|=]<n>] [[-RMA] [+|-|=]<n>] [[-screen] [+|-|=]<n>] [[-"+CHR$27+CHR$31+"] [+|-|=]<n>] [[-font] [+|-|=]<n>] [[-RAMFS] [+|-|=]<n>]"+CHR$13+CHR$0 1150.interactive 1160SWI "OS_WriteS" 1170EQUS "Type number of area to change or press ESCAPE to quit."+CHR$13+CHR$10+">> "+CHR$0 1180ORR R0,R12,#0 ; was #1<<31, but fails with 'LineEditor' module 1190MOV R1,#128 1200MOV R2,#ASC"0" 1210MOV R3,#ASC"9" 1220SWI "XOS_ReadLine" 1230BVS error 1240MOVCS PC,R14 1250CMP R1,#0 1260MOVEQ PC,R14 1270MOV R0,#0 1280STRB R0,[R12,R1] 1290; base 10 implied because R0 is invalid 1300MOV R1,R12 1310SWI "XOS_ReadUnsigned" 1320BVS error 1330MOV R9,R2 1340SWI "XOS_WriteS" 1350EQUS "�+n�, �-n�, �=n�: to alter the size, �n� to ensure free space (in KB)"+CHR$13+CHR$10+">> "+CHR$0 1360ORR R0,R12,#0 ; was #1<<31, but fails with 'LineEditor' module 1370MOV R1,#128 1380MOV R2,#ASC"&" 1390MOV R3,#ASC"_" 1400SWI "XOS_ReadLine" 1410BVS error 1420MOVCS PC,R14 1430CMP R1,#0 1440MOVEQ PC,R14 1450MOV R0,#0 1460STRB R0,[R12,R1] 1470MOV R0,R12 1480.change 1490MOV R10,R0 1500.change_nextchar 1510LDRB R8,[R10],#1 1520TEQ R8,#32 1530BEQ change_nextchar 1540SUB R10,R10,#1 1550MOV R7,#0 1560MOV R1,R10 1570MOV R0,#10 OR (1<<31) 1580SWI "XOS_ReadUnsigned" 1590BVC change_ok 1600TEQ R8,#ASC"+" 1610TEQNE R8,#ASC"-" 1620TEQNE R8,#ASC"=" 1630MOVEQ R7,R8 1640ADD R1,R10,#1 1650MOV R0,#10 OR (1<<31) 1660SWI "XOS_ReadUnsigned" 1670BVS error 1680.change_ok 1690MOV R6,R2,LSL #10 1700TEQ R7,#0 1710MOVEQ R1,#&80000000 1720MOVEQ R0,R9 1730SWIEQ "XOS_ChangeDynamicArea" 1740TEQP PC,#0 1750MOVEQ R7,#ASC"+" 1760TEQ R7,#ASC"=" 1770MOVEQ R0,R9 1780SWIEQ "XOS_ReadDynamicArea" 1790BVS error 1800SUBEQ R6,R6,R1 1810MOVEQ R7,#ASC"+" 1820TEQ R7,#ASC"-" 1830RSBEQ R6,R6,#0 1840MOV R0,R9 1850MOV R1,R6 1860SWI "XOS_ChangeDynamicArea" 1870MOV PC,R14 1880.showinfo 1890STMFD R13!,{R14} 1900ADR R0,progname 1910SWI "XOS_Write0" 1920SWI "XOS_NewLine" 1930SWI "XOS_NewLine" 1940ADR R0,info_headings 1950MOV R1,#0 1960MOV R2,#0 1970SWI "XOS_PrettyPrint" 1980BVS error 1990MOV R6,#0 ; number of area 2000.infoloop 2010BL info_display 2020ADD R6,R6,#1 2030CMP R6,#5 2040BLS infoloop 2050SWI "XOS_NewLine" 2060SWI "XOS_GetEnv" 2070BVS error 2080SUB R0,R1,#&8000 2090MOV R1,R12 2100MOV R2,#512 2110SWI "XOS_ConvertFixedFileSize" 2120BVS error 2130SWI "XOS_Write0" 2140SWI "XOS_WriteS" 2150EQUS " available for next application."+CHR$13+CHR$10+CHR$0 2160ALIGN 2170SWI "XOS_ReadMemMapInfo" 2180STR R0,[R12,#0] 2190STR R1,[R12,#4] 2200BVS error 2210MUL R2,R1,R0 2220MOV R0,R2 2230ADD R1,R12,#8 2240MOV R2,#512-8 2250SWI "XOS_ConvertFixedFileSize" 2260BVS error 2270SWI "XOS_Write0" 2280SWI "XOS_WriteS" 2290EQUS " total memory in this machine, in "+CHR$0 2300ALIGN 2310LDR R0,[R12,#4] 2320SWI "XOS_ConvertCardinal4" 2330BVS error 2340SWI "XOS_Write0" 2350SWI "XOS_WriteS" 2360EQUS " pages of "+CHR$0 2370LDR R0,[R12,#0] 2380SWI "XOS_ConvertFileSize" 2390BVS error 2400SWI "XOS_Write0" 2410SWI "XOS_WriteS" 2420EQUS "."+CHR$13+CHR$10+CHR$10+CHR$0 2430ALIGN 2440LDMFD R13!,{PC} 2450.info_display 2460MOV R0,R6 ; takes area number in R6 2470ORR R0,R0,#1<<7 2480SWI "XOS_ReadDynamicArea" 2490BVS error 2500ADR R5,table-256 2510ADD R5,R5,#256 2520ADD R5,R5,R6,LSL #4 2530STR R1,[R5,#0] 2540STR R2,[R5,#4] 2550MOV R0,R6 2560MOV R1,R12 2570MOV R2,#512 2580SWI "XOS_ConvertCardinal1" 2590BVS error 2600MOV R3,#9 2610STRB R3,[R1],#1 2620MOV R3,#27 2630STRB R3,[R1],#1 2640ADD R0,R6,#1 2650STRB R0,[R1],#1 2660MOV R0,#0 2670STRB R0,[R1],#1 2680MOV R0,R12 2690ADR R1,info_names-256 2700ADD R1,R1,#256 2710LDR R2,[R5,#8] 2720SWI "XOS_PrettyPrint" 2730MOV R1,R12 2740MOV R2,#512-4 2750LDR R0,[R5,#0] 2760SWI "XOS_ConvertFixedFileSize" 2770BVS error 2780SUB R1,R1,#6 2790LDRB R3,[R1] 2800STRB R3,[R1,#-1] 2810MOV R3,#32 2820STRB R3,[R1],#1 2830STRB R3,[R1],#1 2840STRB R3,[R1],#1 2850STRB R3,[R1],#1 2860LDR R0,[R5,#4] 2870SWI "XOS_ConvertFixedFileSize" 2880BVS error 2890SUB R1,R1,#6 2900LDRB R3,[R1] 2910STRB R3,[R1,#-1] 2920MOV R3,#0 2930STRB R3,[R1],#1 2940LDR R0,[R5,#12] 2950CMP R0,#0 2960BEQ info_continue 2970STMFD R13!,{R14} 2980ADR R14,info_freecont 2990ADR R8,start+512 3000SUB R8,R8,#512 3010ADD PC,R8,R0 3020.info_freecont 3030SUB R1,R1,#1 3040MOV R3,#32 3050STRB R3,[R1],#1 3060STRB R3,[R1],#1 3070SWI "XOS_ConvertFixedFileSize" 3080BVS error 3090LDMFD R13!,{R14} 3100.info_continue 3110MOV R0,R12 3120SWI "XOS_Write0" 3130SWI "XOS_NewLine" 3140BVS error 3150MOV PC,R14 3160.table 3170DCD 0 :DCD 0 :DCD 0 :DCD 0 3180DCD 0 :DCD 0 :DCD 0 :DCD rma_free 3190DCD 0 :DCD 0 :DCD 0 :DCD screen_free 3200DCD 0 :DCD 0 :DCD 0 :DCD sprite_free 3210DCD 0 :DCD 0 :DCD 0 :DCD font_free 3220DCD 0 :DCD 0 :DCD 0 :DCD -ramfs_free*(osver%>2) 3230.info_names 3240FNname("System heap") 3250FNname("Relocatable Module Area") 3260FNname("Screen area") 3270FNname("Sprite area") 3280FNname("Font cache") 3290FNname("RAM filing system") 3300DCD 0 3310.error 3320ALIGN 3330OPT pass 3340LDR PC,retaddr 3350.retaddr 3360EQUD 0 3370.info_headings 3380EQUS "Dynamic area"+CHR$9+CHR$9+CHR$9+CHR$9+"size"+CHR$9+CHR$31+CHR$31+"max"+CHR$9+CHR$31+CHR$31+CHR$31+CHR$31+CHR$31+CHR$31+"free"+CHR$13+CHR$13+CHR$0 3390.debug 3400EQUS "Debug"+CHR$0 3410ALIGN 3420.value 3430EQUD 0 3440.font_free 3450STMFD R13!,{R2-R3} 3460SWI "XFont_CacheAddr" 3470BVS error 3480SUB R0,R2,R3 3490LDMFD R13!,{R2-R3} 3500MOV PC,R14 3510.rma_free 3520STMFD R13!,{R2-R3} 3530MOV R0,#5 3540SWI "XOS_Module" 3550BVS error 3560MOV R0,R2 3570LDMFD R13!,{R2-R3} 3580MOV PC,R14 3590.sprite_free 3600STMFD R13!,{R2-R5} 3610MOV R0,#8 3620SWI "XOS_SpriteOp" 3630MOVVS R2,R5 3640SUB R0,R2,R5 3650LDMFD R13!,{R2-R5} 3660MOV PC,R14 3670.screen_free 3680STMFD R13!,{R1-R2} 3690MOV R0,#1 3700MVN R1,#0 3710BIC R1,R1,#1<<31 3720SWI "XOS_ClaimScreenMemory" 3730BVS error 3740MOVCC R0,#0 3750SWICC "XOS_ClaimScreenMemory" 3760BVS error 3770MOV R0,R1 3780LDMFD R13!,{R1-R2} 3790MOV PC,R14 3800.ramfs_free 3810STMFD R13!,{R1-R2} 3820MOV R0,#49 3830ADR R1,ramfs_object 3840SWI "XOS_FSControl" 3850MOVVS R0,#0 3860LDMFD R13!,{R1-R2} 3870MOV PC,R14 3880.ramfs_object 3890EQUS "RAM:$"+CHR$0 3900.default 3910EQUS "-h-d-i"+CHR$0 3920] 3930ENDPROC
+� >ADFS::Prog.$.Utils.MemUtil.MemSource -� I think it is compatible with RISC OS 2 � By Andrew Bower (� 18 August 1994 2(� Version: 0.02 (12 Oct 1994) <: F *FX1,3 P&*RMEnsure UtilityModule 3.00 FX1,2 Zș "OS_Byte",1 � ,osver% d: n?module%=� :� **** DO NOT USE **** (not completed,see below) x: �� code 20480 �L%=code+20460 �� pass=%1100 � %1110 � %10 �O%=code �P%=0 � �code � � pass �@� "Save ADFS::Prog.$.Utils.MemUtil.MemUtil "+�~code+" "+�~O% �:� "SetType ADFS::Prog.$.Utils.MemUtil.MemUtil Utility" �� �: �6� �name(s$) :� used for the table entries �n=(32-�(s$))�8 m=(32-�(s$))�8 � m � n+=1 [OPT pass "DCB �(s$)+n+2 ,)EQUS s$+�n,�9)+�0 :� to tabulate it 6] @ =�(s$) J: T� �code ^[OPT pass:.start:] h� module% � r [OPT pass | EQUD 0 � EQUD 0 � EQUD 0 � EQUD 0 �EQUD progname �EQUD help_str �EQUD commands � EQUD 0 � EQUD 0 � EQUD 0 � EQUD 0 � .help_str �0EQUS "MemUtil"+�9+�9+"0.01 (19 Aug 1994)"+�0 � .commands EQUS "MemUtil"+�0 ALIGN EQUD entry &!EQUB 0:EQUB 0:EQUB 255:EQUB 0 0EQUD syntax_mess :EQUD command_help D EQUD 0 N .init X b .entry lLDR R12,[R12] v MOV R1,R0 �9; ***** do not use module section, it is not finished �9; ***** e.g. MUST enter user mode, preserve regs, ... �%; ***** and reserve 1K workspace. �] �� �: � [OPT pass �STR R14,retaddr �BLDRB R0,[R1]:CMP R0,#0:ADREQ R1,default-2048:ADDEQ R1,R1,#2048 �BL readargs �-LDR R0,[R11,#1<<2]:TEQ R0,#0: BLNE syntax �:LDR R0,[R11,#3<<2]:TEQ R0,#0: MOVNE R9,#0: BLNE change �:LDR R0,[R11,#4<<2]:TEQ R0,#0: MOVNE R9,#1: BLNE change :LDR R0,[R11,#5<<2]:TEQ R0,#0: MOVNE R9,#2: BLNE change :LDR R0,[R11,#6<<2]:TEQ R0,#0: MOVNE R9,#3: BLNE change :LDR R0,[R11,#7<<2]:TEQ R0,#0: MOVNE R9,#4: BLNE change :LDR R0,[R11,#8<<2]:TEQ R0,#0: MOVNE R9,#5: BLNE change */LDR R0,[R11,#0<<2]:TEQ R0,#0: BLNE showinfo 42LDR R0,[R11,#2<<2]:TEQ R0,#0: BLNE interactive >LDR PC,retaddr H: REQUS "�A.Bower" \ ALIGN f: p .readargs zADR R0,keyword �ADD R11,R12,#512 �MOV R2,R11 �MOV R3,#256 �SWI "XOS_ReadArgs" � BVS error �MOV PC,R14 �.keyword �)EQUS"display/s,help/s,interactive/s," �-EQUS"system,rma,screen,sprite,font,ramfs" � EQUB 0 �.syntax �ADR R0,syntax_string � MOV R1,#0 ADR R2,progname SWI "XOS_PrettyPrint" BVS error $MOV PC,R14 . .progname 8EQUS "MemUtil"+�0 B.syntax_string L*EQUS "==> Help on utility "+�27+�0+�13 V.command_help `LEQUS "Reads"+�27+�16+"alters"+�27+�2+"machine's memory allocations."+�13 j.syntax_mess t�EQUS �27+�30+"-help] [-display] [-interactive] [[-system] [+|-|=]<n>] [[-RMA] [+|-|=]<n>] [[-screen] [+|-|=]<n>] [[-"+�27+�31+"] [+|-|=]<n>] [[-font] [+|-|=]<n>] [[-RAMFS] [+|-|=]<n>]"+�13+�0 ~.interactive �SWI "OS_WriteS" �REQUS "Type number of area to change or press ESCAPE to quit."+�13+�10+">> "+�0 �A�R R0,R12,#0 ; was #1<<31, but fails with 'LineEditor' module �MOV R1,#128 �MOV R2,#�"0" �MOV R3,#�"9" �SWI "XOS_ReadLine" � BVS error �MOVCS PC,R14 � CMP R1,#0 � �Q PC,R14 � MOV R0,#0 STRB R0,[R12,R1] +; base 10 implied because R0 is invalid MOV R1,R12 SWI "XOS_ReadUnsigned" ( BVS error 2 MOV R9,R2 <SWI "XOS_WriteS" FcEQUS "�+n�, �-n�, �=n�: to alter the size, �n� to ensure free space (in KB)"+�13+�10+">> "+�0 PA�R R0,R12,#0 ; was #1<<31, but fails with 'LineEditor' module ZMOV R1,#128 dMOV R2,#�"&" nMOV R3,#�"_" xSWI "XOS_ReadLine" � BVS error �MOVCS PC,R14 � CMP R1,#0 � �Q PC,R14 � MOV R0,#0 �STRB R0,[R12,R1] �MOV R0,R12 �.change �MOV R10,R0 �.change_nextchar �LDRB R8,[R10],#1 �TEQ R8,#32 �BEQ change_nextchar SUB R10,R10,#1 MOV R7,#0 MOV R1,R10 "MOV R0,#10 � (1<<31) ,SWI "XOS_ReadUnsigned" 6BVC change_ok @TEQ R8,#�"+" JTEQNE R8,#�"-" TTEQNE R8,#�"=" ^�Q R7,R8 hADD R1,R10,#1 rMOV R0,#10 � (1<<31) |SWI "XOS_ReadUnsigned" � BVS error �.change_ok �MOV R6,R2,LSL #10 � TEQ R7,#0 ��Q R1,#&80000000 ��Q R0,R9 �!SWIEQ "XOS_ChangeDynamicArea" �TEQP PC,#0 ��Q R7,#�"+" �TEQ R7,#�"=" ��Q R0,R9 �SWIEQ "XOS_ReadDynamicArea" � BVS error SUBEQ R6,R6,R1 �Q R7,#�"+" TEQ R7,#�"-" &RSBEQ R6,R6,#0 0 MOV R0,R9 : MOV R1,R6 DSWI "XOS_ChangeDynamicArea" NMOV PC,R14 X .showinfo bSTMFD R13!,{R14} lADR R0,progname vSWI "XOS_Write0" �SWI "XOS_NewLine" �SWI "XOS_NewLine" �ADR R0,info_headings � MOV R1,#0 � MOV R2,#0 �SWI "XOS_PrettyPrint" � BVS error �*MOV R6,#0 ; number of area � .infoloop �BL info_display �ADD R6,R6,#1 � CMP R6,#5 �BLS infoloop SWI "XOS_NewLine" SWI "XOS_GetEnv" BVS error SUB R0,R1,#&8000 *MOV R1,R12 4MOV R2,#512 >"SWI "XOS_ConvertFixedFileSize" H BVS error RSWI "XOS_Write0" \SWI "XOS_WriteS" f6EQUS " available for next application."+�13+�10+�0 p ALIGN zSWI "XOS_ReadMemMapInfo" �STR R0,[R12,#0] �STR R1,[R12,#4] � BVS error �MUL R2,R1,R0 � MOV R0,R2 �ADD R1,R12,#8 �MOV R2,#512-8 �"SWI "XOS_ConvertFixedFileSize" � BVS error �SWI "XOS_Write0" �SWI "XOS_WriteS" �0EQUS " total memory in this machine, in "+�0 � ALIGN LDR R0,[R12,#4] SWI "XOS_ConvertCardinal4" BVS error $SWI "XOS_Write0" .SWI "XOS_WriteS" 8EQUS " pages of "+�0 BLDR R0,[R12,#0] LSWI "XOS_ConvertFileSize" V BVS error `SWI "XOS_Write0" jSWI "XOS_WriteS" tEQUS "."+�13+�10+�10+�0 ~ ALIGN �LDMFD R13!,{PC} �.info_display �3MOV R0,R6 ; takes area number in R6 ��R R0,R0,#1<<7 �SWI "XOS_ReadDynamicArea" � BVS error �ADR R5,table-256 �ADD R5,R5,#256 �ADD R5,R5,R6,LSL #4 �STR R1,[R5,#0] �STR R2,[R5,#4] � MOV R0,R6 MOV R1,R12 MOV R2,#512 SWI "XOS_ConvertCardinal1" BVS error ( MOV R3,#9 2STRB R3,[R1],#1 <MOV R3,#27 FSTRB R3,[R1],#1 PADD R0,R6,#1 ZSTRB R0,[R1],#1 d MOV R0,#0 nSTRB R0,[R1],#1 xMOV R0,R12 �ADR R1,info_names-256 �ADD R1,R1,#256 �LDR R2,[R5,#8] �SWI "XOS_PrettyPrint" �MOV R1,R12 �MOV R2,#512-4 �LDR R0,[R5,#0] �"SWI "XOS_ConvertFixedFileSize" � BVS error �SUB R1,R1,#6 �LDRB R3,[R1] �STRB R3,[R1,#-1] �MOV R3,#32 STRB R3,[R1],#1 STRB R3,[R1],#1 STRB R3,[R1],#1 "STRB R3,[R1],#1 ,LDR R0,[R5,#4] 6"SWI "XOS_ConvertFixedFileSize" @ BVS error JSUB R1,R1,#6 TLDRB R3,[R1] ^STRB R3,[R1,#-1] h MOV R3,#0 rSTRB R3,[R1],#1 |LDR R0,[R5,#12] � CMP R0,#0 �BEQ info_continue �STMFD R13!,{R14} �ADR R14,info_freecont �ADR R8,start+512 �SUB R8,R8,#512 �ADD PC,R8,R0 �.info_freecont �SUB R1,R1,#1 �MOV R3,#32 �STRB R3,[R1],#1 �STRB R3,[R1],#1 �"SWI "XOS_ConvertFixedFileSize" BVS error LDMFD R13!,{R14} .info_continue &MOV R0,R12 0SWI "XOS_Write0" :SWI "XOS_NewLine" D BVS error NMOV PC,R14 X .table bDCD 0 :DCD 0 :DCD 0 :DCD 0 l%DCD 0 :DCD 0 :DCD 0 :DCD rma_free v(DCD 0 :DCD 0 :DCD 0 :DCD screen_free �(DCD 0 :DCD 0 :DCD 0 :DCD sprite_free �&DCD 0 :DCD 0 :DCD 0 :DCD font_free �3DCD 0 :DCD 0 :DCD 0 :DCD -ramfs_free*(osver%>2) �.info_names ��name("System heap") �$�name("Relocatable Module Area") ��name("Screen area") ��name("Sprite area") ��name("Font cache") ��name("RAM filing system") � DCD 0 � .error � ALIGN OPT pass LDR PC,retaddr .retaddr EQUD 0 *.info_headings 4hEQUS "Dynamic area"+�9+�9+�9+�9+"size"+�9+�31+�31+"max"+�9+�31+�31+�31+�31+�31+�31+"free"+�13+�13+�0 > .debug HEQUS "Debug"+�0 R ALIGN \ .value f EQUD 0 p.font_free zSTMFD R13!,{R2-R3} �SWI "XFont_CacheAddr" � BVS error �SUB R0,R2,R3 �LDMFD R13!,{R2-R3} �MOV PC,R14 � .rma_free �STMFD R13!,{R2-R3} � MOV R0,#5 �SWI "XOS_Module" � BVS error � MOV R0,R2 �LDMFD R13!,{R2-R3} �MOV PC,R14 .sprite_free STMFD R13!,{R2-R5} MOV R0,#8 $SWI "XOS_SpriteOp" .MOVVS R2,R5 8SUB R0,R2,R5 BLDMFD R13!,{R2-R5} LMOV PC,R14 V.screen_free `STMFD R13!,{R1-R2} j MOV R0,#1 t MVN R1,#0 ~BIC R1,R1,#1<<31 �SWI "XOS_ClaimScreenMemory" � BVS error �MOVCC R0,#0 �!SWICC "XOS_ClaimScreenMemory" � BVS error � MOV R0,R1 �LDMFD R13!,{R1-R2} �MOV PC,R14 �.ramfs_free �STMFD R13!,{R1-R2} �MOV R0,#49 �ADR R1,ramfs_object SWI "XOS_FSControl" MOVVS R0,#0 LDMFD R13!,{R1-R2} MOV PC,R14 (.ramfs_object 2EQUS "RAM:$"+�0 <.default FEQUS "-h-d-i"+�0 P] Z� �
00000000 0d 00 0a 2b f4 20 3e 41 44 46 53 3a 3a 50 72 6f |...+. >ADFS::Pro| 00000010 67 2e 24 2e 55 74 69 6c 73 2e 4d 65 6d 55 74 69 |g.$.Utils.MemUti| 00000020 6c 2e 4d 65 6d 53 6f 75 72 63 65 0d 00 14 2d f4 |l.MemSource...-.| 00000030 20 49 20 74 68 69 6e 6b 20 69 74 20 69 73 20 63 | I think it is c| 00000040 6f 6d 70 61 74 69 62 6c 65 20 77 69 74 68 20 52 |ompatible with R| 00000050 49 53 43 20 4f 53 20 32 0d 00 1e 15 f4 20 42 79 |ISC OS 2..... By| 00000060 20 41 6e 64 72 65 77 20 42 6f 77 65 72 0d 00 28 | Andrew Bower..(| 00000070 14 f4 20 31 38 20 41 75 67 75 73 74 20 31 39 39 |.. 18 August 199| 00000080 34 0d 00 32 28 f4 20 56 65 72 73 69 6f 6e 3a 20 |4..2(. Version: | 00000090 20 20 20 20 20 20 20 30 2e 30 32 20 28 31 32 20 | 0.02 (12 | 000000a0 4f 63 74 20 31 39 39 34 29 0d 00 3c 05 3a 0d 00 |Oct 1994)..<.:..| 000000b0 46 0a 2a 46 58 31 2c 33 0d 00 50 26 2a 52 4d 45 |F.*FX1,3..P&*RME| 000000c0 6e 73 75 72 65 20 55 74 69 6c 69 74 79 4d 6f 64 |nsure UtilityMod| 000000d0 75 6c 65 20 33 2e 30 30 20 46 58 31 2c 32 0d 00 |ule 3.00 FX1,2..| 000000e0 5a 1c c8 99 20 22 4f 53 5f 42 79 74 65 22 2c 31 |Z... "OS_Byte",1| 000000f0 20 b8 20 2c 6f 73 76 65 72 25 0d 00 64 05 3a 0d | . ,osver%..d.:.| 00000100 00 6e 3f 6d 6f 64 75 6c 65 25 3d a3 20 3a f4 20 |.n?module%=. :. | 00000110 2a 2a 2a 2a 20 44 4f 20 4e 4f 54 20 55 53 45 20 |**** DO NOT USE | 00000120 2a 2a 2a 2a 20 28 6e 6f 74 20 63 6f 6d 70 6c 65 |**** (not comple| 00000130 74 65 64 2c 73 65 65 20 62 65 6c 6f 77 29 0d 00 |ted,see below)..| 00000140 78 05 3a 0d 00 82 10 de 20 63 6f 64 65 20 32 30 |x.:..... code 20| 00000150 34 38 30 0d 00 8c 11 4c 25 3d 63 6f 64 65 2b 32 |480....L%=code+2| 00000160 30 34 36 30 0d 00 96 1e e3 20 70 61 73 73 3d 25 |0460..... pass=%| 00000170 31 31 30 30 20 b8 20 25 31 31 31 30 20 88 20 25 |1100 . %1110 . %| 00000180 31 30 0d 00 a0 0b 4f 25 3d 63 6f 64 65 0d 00 aa |10....O%=code...| 00000190 08 50 25 3d 30 0d 00 b4 09 f2 63 6f 64 65 0d 00 |.P%=0.....code..| 000001a0 be 0a ed 20 70 61 73 73 0d 00 c8 40 ff 20 22 53 |... pass...@. "S| 000001b0 61 76 65 20 41 44 46 53 3a 3a 50 72 6f 67 2e 24 |ave ADFS::Prog.$| 000001c0 2e 55 74 69 6c 73 2e 4d 65 6d 55 74 69 6c 2e 4d |.Utils.MemUtil.M| 000001d0 65 6d 55 74 69 6c 20 22 2b c3 7e 63 6f 64 65 2b |emUtil "+.~code+| 000001e0 22 20 22 2b c3 7e 4f 25 0d 00 d2 3a ff 20 22 53 |" "+.~O%...:. "S| 000001f0 65 74 54 79 70 65 20 41 44 46 53 3a 3a 50 72 6f |etType ADFS::Pro| 00000200 67 2e 24 2e 55 74 69 6c 73 2e 4d 65 6d 55 74 69 |g.$.Utils.MemUti| 00000210 6c 2e 4d 65 6d 55 74 69 6c 20 55 74 69 6c 69 74 |l.MemUtil Utilit| 00000220 79 22 0d 00 dc 05 e0 0d 00 e6 05 3a 0d 00 f0 36 |y".........:...6| 00000230 dd 20 a4 6e 61 6d 65 28 73 24 29 20 20 20 20 20 |. .name(s$) | 00000240 20 20 20 20 20 3a f4 20 75 73 65 64 20 66 6f 72 | :. used for| 00000250 20 74 68 65 20 74 61 62 6c 65 20 65 6e 74 72 69 | the table entri| 00000260 65 73 0d 00 fa 12 6e 3d 28 33 32 2d a9 28 73 24 |es....n=(32-.(s$| 00000270 29 29 81 38 0d 01 04 12 6d 3d 28 33 32 2d a9 28 |)).8....m=(32-.(| 00000280 73 24 29 29 83 38 0d 01 0e 0e e7 20 6d 20 8c 20 |s$)).8..... m . | 00000290 6e 2b 3d 31 0d 01 18 0d 5b 4f 50 54 20 70 61 73 |n+=1....[OPT pas| 000002a0 73 0d 01 22 11 44 43 42 20 a9 28 73 24 29 2b 6e |s..".DCB .(s$)+n| 000002b0 2b 32 0d 01 2c 29 45 51 55 53 20 73 24 2b c4 6e |+2..,)EQUS s$+.n| 000002c0 2c bd 39 29 2b bd 30 20 20 20 3a f4 20 74 6f 20 |,.9)+.0 :. to | 000002d0 74 61 62 75 6c 61 74 65 20 69 74 0d 01 36 05 5d |tabulate it..6.]| 000002e0 0d 01 40 0a 3d a9 28 73 24 29 0d 01 4a 05 3a 0d |..@.=.(s$)..J.:.| 000002f0 01 54 0b dd 20 f2 63 6f 64 65 0d 01 5e 16 5b 4f |.T.. .code..^.[O| 00000300 50 54 20 70 61 73 73 3a 2e 73 74 61 72 74 3a 5d |PT pass:.start:]| 00000310 0d 01 68 0f e7 20 6d 6f 64 75 6c 65 25 20 8c 0d |..h.. module% ..| 00000320 01 72 0d 5b 4f 50 54 20 70 61 73 73 0d 01 7c 0a |.r.[OPT pass..|.| 00000330 45 51 55 44 20 30 0d 01 86 0a 45 51 55 44 20 30 |EQUD 0....EQUD 0| 00000340 0d 01 90 0a 45 51 55 44 20 30 0d 01 9a 0a 45 51 |....EQUD 0....EQ| 00000350 55 44 20 30 0d 01 a4 11 45 51 55 44 20 70 72 6f |UD 0....EQUD pro| 00000360 67 6e 61 6d 65 0d 01 ae 11 45 51 55 44 20 68 65 |gname....EQUD he| 00000370 6c 70 5f 73 74 72 0d 01 b8 11 45 51 55 44 20 63 |lp_str....EQUD c| 00000380 6f 6d 6d 61 6e 64 73 0d 01 c2 0a 45 51 55 44 20 |ommands....EQUD | 00000390 30 0d 01 cc 0a 45 51 55 44 20 30 0d 01 d6 0a 45 |0....EQUD 0....E| 000003a0 51 55 44 20 30 0d 01 e0 0a 45 51 55 44 20 30 0d |QUD 0....EQUD 0.| 000003b0 01 ea 0d 2e 68 65 6c 70 5f 73 74 72 0d 01 f4 30 |....help_str...0| 000003c0 45 51 55 53 20 22 4d 65 6d 55 74 69 6c 22 2b bd |EQUS "MemUtil"+.| 000003d0 39 2b bd 39 2b 22 30 2e 30 31 20 28 31 39 20 41 |9+.9+"0.01 (19 A| 000003e0 75 67 20 31 39 39 34 29 22 2b bd 30 0d 01 fe 0d |ug 1994)"+.0....| 000003f0 2e 63 6f 6d 6d 61 6e 64 73 0d 02 08 15 45 51 55 |.commands....EQU| 00000400 53 20 22 4d 65 6d 55 74 69 6c 22 2b bd 30 0d 02 |S "MemUtil"+.0..| 00000410 12 09 41 4c 49 47 4e 0d 02 1c 0e 45 51 55 44 20 |..ALIGN....EQUD | 00000420 65 6e 74 72 79 0d 02 26 21 45 51 55 42 20 30 3a |entry..&!EQUB 0:| 00000430 45 51 55 42 20 30 3a 45 51 55 42 20 32 35 35 3a |EQUB 0:EQUB 255:| 00000440 45 51 55 42 20 30 0d 02 30 14 45 51 55 44 20 73 |EQUB 0..0.EQUD s| 00000450 79 6e 74 61 78 5f 6d 65 73 73 0d 02 3a 15 45 51 |yntax_mess..:.EQ| 00000460 55 44 20 63 6f 6d 6d 61 6e 64 5f 68 65 6c 70 0d |UD command_help.| 00000470 02 44 0a 45 51 55 44 20 30 0d 02 4e 09 2e 69 6e |.D.EQUD 0..N..in| 00000480 69 74 0d 02 58 04 0d 02 62 0a 2e 65 6e 74 72 79 |it..X...b..entry| 00000490 0d 02 6c 11 4c 44 52 20 52 31 32 2c 5b 52 31 32 |..l.LDR R12,[R12| 000004a0 5d 0d 02 76 0d 4d 4f 56 20 52 31 2c 52 30 0d 02 |]..v.MOV R1,R0..| 000004b0 80 39 3b 20 2a 2a 2a 2a 2a 20 64 6f 20 6e 6f 74 |.9; ***** do not| 000004c0 20 75 73 65 20 6d 6f 64 75 6c 65 20 73 65 63 74 | use module sect| 000004d0 69 6f 6e 2c 20 69 74 20 69 73 20 6e 6f 74 20 66 |ion, it is not f| 000004e0 69 6e 69 73 68 65 64 0d 02 8a 39 3b 20 2a 2a 2a |inished...9; ***| 000004f0 2a 2a 20 65 2e 67 2e 20 4d 55 53 54 20 65 6e 74 |** e.g. MUST ent| 00000500 65 72 20 75 73 65 72 20 6d 6f 64 65 2c 20 70 72 |er user mode, pr| 00000510 65 73 65 72 76 65 20 72 65 67 73 2c 20 2e 2e 2e |eserve regs, ...| 00000520 0d 02 94 25 3b 20 2a 2a 2a 2a 2a 20 61 6e 64 20 |...%; ***** and | 00000530 72 65 73 65 72 76 65 20 31 4b 20 77 6f 72 6b 73 |reserve 1K works| 00000540 70 61 63 65 2e 0d 02 9e 05 5d 0d 02 a8 05 cd 0d |pace.....]......| 00000550 02 b2 05 3a 0d 02 bc 0d 5b 4f 50 54 20 70 61 73 |...:....[OPT pas| 00000560 73 0d 02 c6 13 53 54 52 20 52 31 34 2c 72 65 74 |s....STR R14,ret| 00000570 61 64 64 72 0d 02 d0 42 4c 44 52 42 20 52 30 2c |addr...BLDRB R0,| 00000580 5b 52 31 5d 3a 43 4d 50 20 52 30 2c 23 30 3a 41 |[R1]:CMP R0,#0:A| 00000590 44 52 45 51 20 52 31 2c 64 65 66 61 75 6c 74 2d |DREQ R1,default-| 000005a0 32 30 34 38 3a 41 44 44 45 51 20 52 31 2c 52 31 |2048:ADDEQ R1,R1| 000005b0 2c 23 32 30 34 38 0d 02 da 0f 42 4c 20 72 65 61 |,#2048....BL rea| 000005c0 64 61 72 67 73 0d 02 e4 2d 4c 44 52 20 52 30 2c |dargs...-LDR R0,| 000005d0 5b 52 31 31 2c 23 31 3c 3c 32 5d 3a 54 45 51 20 |[R11,#1<<2]:TEQ | 000005e0 52 30 2c 23 30 3a 20 42 4c 4e 45 20 73 79 6e 74 |R0,#0: BLNE synt| 000005f0 61 78 0d 02 ee 3a 4c 44 52 20 52 30 2c 5b 52 31 |ax...:LDR R0,[R1| 00000600 31 2c 23 33 3c 3c 32 5d 3a 54 45 51 20 52 30 2c |1,#3<<2]:TEQ R0,| 00000610 23 30 3a 20 4d 4f 56 4e 45 20 52 39 2c 23 30 3a |#0: MOVNE R9,#0:| 00000620 20 42 4c 4e 45 20 63 68 61 6e 67 65 0d 02 f8 3a | BLNE change...:| 00000630 4c 44 52 20 52 30 2c 5b 52 31 31 2c 23 34 3c 3c |LDR R0,[R11,#4<<| 00000640 32 5d 3a 54 45 51 20 52 30 2c 23 30 3a 20 4d 4f |2]:TEQ R0,#0: MO| 00000650 56 4e 45 20 52 39 2c 23 31 3a 20 42 4c 4e 45 20 |VNE R9,#1: BLNE | 00000660 63 68 61 6e 67 65 0d 03 02 3a 4c 44 52 20 52 30 |change...:LDR R0| 00000670 2c 5b 52 31 31 2c 23 35 3c 3c 32 5d 3a 54 45 51 |,[R11,#5<<2]:TEQ| 00000680 20 52 30 2c 23 30 3a 20 4d 4f 56 4e 45 20 52 39 | R0,#0: MOVNE R9| 00000690 2c 23 32 3a 20 42 4c 4e 45 20 63 68 61 6e 67 65 |,#2: BLNE change| 000006a0 0d 03 0c 3a 4c 44 52 20 52 30 2c 5b 52 31 31 2c |...:LDR R0,[R11,| 000006b0 23 36 3c 3c 32 5d 3a 54 45 51 20 52 30 2c 23 30 |#6<<2]:TEQ R0,#0| 000006c0 3a 20 4d 4f 56 4e 45 20 52 39 2c 23 33 3a 20 42 |: MOVNE R9,#3: B| 000006d0 4c 4e 45 20 63 68 61 6e 67 65 0d 03 16 3a 4c 44 |LNE change...:LD| 000006e0 52 20 52 30 2c 5b 52 31 31 2c 23 37 3c 3c 32 5d |R R0,[R11,#7<<2]| 000006f0 3a 54 45 51 20 52 30 2c 23 30 3a 20 4d 4f 56 4e |:TEQ R0,#0: MOVN| 00000700 45 20 52 39 2c 23 34 3a 20 42 4c 4e 45 20 63 68 |E R9,#4: BLNE ch| 00000710 61 6e 67 65 0d 03 20 3a 4c 44 52 20 52 30 2c 5b |ange.. :LDR R0,[| 00000720 52 31 31 2c 23 38 3c 3c 32 5d 3a 54 45 51 20 52 |R11,#8<<2]:TEQ R| 00000730 30 2c 23 30 3a 20 4d 4f 56 4e 45 20 52 39 2c 23 |0,#0: MOVNE R9,#| 00000740 35 3a 20 42 4c 4e 45 20 63 68 61 6e 67 65 0d 03 |5: BLNE change..| 00000750 2a 2f 4c 44 52 20 52 30 2c 5b 52 31 31 2c 23 30 |*/LDR R0,[R11,#0| 00000760 3c 3c 32 5d 3a 54 45 51 20 52 30 2c 23 30 3a 20 |<<2]:TEQ R0,#0: | 00000770 42 4c 4e 45 20 73 68 6f 77 69 6e 66 6f 0d 03 34 |BLNE showinfo..4| 00000780 32 4c 44 52 20 52 30 2c 5b 52 31 31 2c 23 32 3c |2LDR R0,[R11,#2<| 00000790 3c 32 5d 3a 54 45 51 20 52 30 2c 23 30 3a 20 42 |<2]:TEQ R0,#0: B| 000007a0 4c 4e 45 20 69 6e 74 65 72 61 63 74 69 76 65 0d |LNE interactive.| 000007b0 03 3e 12 4c 44 52 20 50 43 2c 72 65 74 61 64 64 |.>.LDR PC,retadd| 000007c0 72 0d 03 48 05 3a 0d 03 52 13 45 51 55 53 20 22 |r..H.:..R.EQUS "| 000007d0 a9 41 2e 42 6f 77 65 72 22 0d 03 5c 09 41 4c 49 |.A.Bower"..\.ALI| 000007e0 47 4e 0d 03 66 05 3a 0d 03 70 0d 2e 72 65 61 64 |GN..f.:..p..read| 000007f0 61 72 67 73 0d 03 7a 12 41 44 52 20 52 30 2c 6b |args..z.ADR R0,k| 00000800 65 79 77 6f 72 64 0d 03 84 14 41 44 44 20 52 31 |eyword....ADD R1| 00000810 31 2c 52 31 32 2c 23 35 31 32 0d 03 8e 0e 4d 4f |1,R12,#512....MO| 00000820 56 20 52 32 2c 52 31 31 0d 03 98 0f 4d 4f 56 20 |V R2,R11....MOV | 00000830 52 33 2c 23 32 35 36 0d 03 a2 16 53 57 49 20 22 |R3,#256....SWI "| 00000840 58 4f 53 5f 52 65 61 64 41 72 67 73 22 0d 03 ac |XOS_ReadArgs"...| 00000850 0d 42 56 53 20 65 72 72 6f 72 0d 03 b6 0e 4d 4f |.BVS error....MO| 00000860 56 20 50 43 2c 52 31 34 0d 03 c0 0c 2e 6b 65 79 |V PC,R14.....key| 00000870 77 6f 72 64 0d 03 ca 29 45 51 55 53 22 64 69 73 |word...)EQUS"dis| 00000880 70 6c 61 79 2f 73 2c 68 65 6c 70 2f 73 2c 69 6e |play/s,help/s,in| 00000890 74 65 72 61 63 74 69 76 65 2f 73 2c 22 0d 03 d4 |teractive/s,"...| 000008a0 2d 45 51 55 53 22 73 79 73 74 65 6d 2c 72 6d 61 |-EQUS"system,rma| 000008b0 2c 73 63 72 65 65 6e 2c 73 70 72 69 74 65 2c 66 |,screen,sprite,f| 000008c0 6f 6e 74 2c 72 61 6d 66 73 22 0d 03 de 0a 45 51 |ont,ramfs"....EQ| 000008d0 55 42 20 30 0d 03 e8 0b 2e 73 79 6e 74 61 78 0d |UB 0.....syntax.| 000008e0 03 f2 18 41 44 52 20 52 30 2c 73 79 6e 74 61 78 |...ADR R0,syntax| 000008f0 5f 73 74 72 69 6e 67 0d 03 fc 0d 4d 4f 56 20 52 |_string....MOV R| 00000900 31 2c 23 30 0d 04 06 13 41 44 52 20 52 32 2c 70 |1,#0....ADR R2,p| 00000910 72 6f 67 6e 61 6d 65 0d 04 10 19 53 57 49 20 22 |rogname....SWI "| 00000920 58 4f 53 5f 50 72 65 74 74 79 50 72 69 6e 74 22 |XOS_PrettyPrint"| 00000930 0d 04 1a 0d 42 56 53 20 65 72 72 6f 72 0d 04 24 |....BVS error..$| 00000940 0e 4d 4f 56 20 50 43 2c 52 31 34 0d 04 2e 0d 2e |.MOV PC,R14.....| 00000950 70 72 6f 67 6e 61 6d 65 0d 04 38 15 45 51 55 53 |progname..8.EQUS| 00000960 20 22 4d 65 6d 55 74 69 6c 22 2b bd 30 0d 04 42 | "MemUtil"+.0..B| 00000970 12 2e 73 79 6e 74 61 78 5f 73 74 72 69 6e 67 0d |..syntax_string.| 00000980 04 4c 2a 45 51 55 53 20 22 3d 3d 3e 20 48 65 6c |.L*EQUS "==> Hel| 00000990 70 20 6f 6e 20 75 74 69 6c 69 74 79 20 22 2b bd |p on utility "+.| 000009a0 32 37 2b bd 30 2b bd 31 33 0d 04 56 11 2e 63 6f |27+.0+.13..V..co| 000009b0 6d 6d 61 6e 64 5f 68 65 6c 70 0d 04 60 4c 45 51 |mmand_help..`LEQ| 000009c0 55 53 20 22 52 65 61 64 73 22 2b bd 32 37 2b bd |US "Reads"+.27+.| 000009d0 31 36 2b 22 61 6c 74 65 72 73 22 2b bd 32 37 2b |16+"alters"+.27+| 000009e0 bd 32 2b 22 6d 61 63 68 69 6e 65 27 73 20 6d 65 |.2+"machine's me| 000009f0 6d 6f 72 79 20 61 6c 6c 6f 63 61 74 69 6f 6e 73 |mory allocations| 00000a00 2e 22 2b bd 31 33 0d 04 6a 10 2e 73 79 6e 74 61 |."+.13..j..synta| 00000a10 78 5f 6d 65 73 73 0d 04 74 c3 45 51 55 53 20 bd |x_mess..t.EQUS .| 00000a20 32 37 2b bd 33 30 2b 22 2d 68 65 6c 70 5d 20 5b |27+.30+"-help] [| 00000a30 2d 64 69 73 70 6c 61 79 5d 20 5b 2d 69 6e 74 65 |-display] [-inte| 00000a40 72 61 63 74 69 76 65 5d 20 5b 5b 2d 73 79 73 74 |ractive] [[-syst| 00000a50 65 6d 5d 20 5b 2b 7c 2d 7c 3d 5d 3c 6e 3e 5d 20 |em] [+|-|=]<n>] | 00000a60 5b 5b 2d 52 4d 41 5d 20 5b 2b 7c 2d 7c 3d 5d 3c |[[-RMA] [+|-|=]<| 00000a70 6e 3e 5d 20 5b 5b 2d 73 63 72 65 65 6e 5d 20 5b |n>] [[-screen] [| 00000a80 2b 7c 2d 7c 3d 5d 3c 6e 3e 5d 20 5b 5b 2d 22 2b |+|-|=]<n>] [[-"+| 00000a90 bd 32 37 2b bd 33 31 2b 22 5d 20 5b 2b 7c 2d 7c |.27+.31+"] [+|-|| 00000aa0 3d 5d 3c 6e 3e 5d 20 5b 5b 2d 66 6f 6e 74 5d 20 |=]<n>] [[-font] | 00000ab0 5b 2b 7c 2d 7c 3d 5d 3c 6e 3e 5d 20 5b 5b 2d 52 |[+|-|=]<n>] [[-R| 00000ac0 41 4d 46 53 5d 20 5b 2b 7c 2d 7c 3d 5d 3c 6e 3e |AMFS] [+|-|=]<n>| 00000ad0 5d 22 2b bd 31 33 2b bd 30 0d 04 7e 10 2e 69 6e |]"+.13+.0..~..in| 00000ae0 74 65 72 61 63 74 69 76 65 0d 04 88 13 53 57 49 |teractive....SWI| 00000af0 20 22 4f 53 5f 57 72 69 74 65 53 22 0d 04 92 52 | "OS_WriteS"...R| 00000b00 45 51 55 53 20 22 54 79 70 65 20 6e 75 6d 62 65 |EQUS "Type numbe| 00000b10 72 20 6f 66 20 61 72 65 61 20 74 6f 20 63 68 61 |r of area to cha| 00000b20 6e 67 65 20 6f 72 20 70 72 65 73 73 20 45 53 43 |nge or press ESC| 00000b30 41 50 45 20 74 6f 20 71 75 69 74 2e 22 2b bd 31 |APE to quit."+.1| 00000b40 33 2b bd 31 30 2b 22 3e 3e 20 22 2b bd 30 0d 04 |3+.10+">> "+.0..| 00000b50 9c 41 84 52 20 52 30 2c 52 31 32 2c 23 30 20 3b |.A.R R0,R12,#0 ;| 00000b60 20 77 61 73 20 23 31 3c 3c 33 31 2c 20 62 75 74 | was #1<<31, but| 00000b70 20 66 61 69 6c 73 20 77 69 74 68 20 27 4c 69 6e | fails with 'Lin| 00000b80 65 45 64 69 74 6f 72 27 20 6d 6f 64 75 6c 65 0d |eEditor' module.| 00000b90 04 a6 0f 4d 4f 56 20 52 31 2c 23 31 32 38 0d 04 |...MOV R1,#128..| 00000ba0 b0 10 4d 4f 56 20 52 32 2c 23 97 22 30 22 0d 04 |..MOV R2,#."0"..| 00000bb0 ba 10 4d 4f 56 20 52 33 2c 23 97 22 39 22 0d 04 |..MOV R3,#."9"..| 00000bc0 c4 16 53 57 49 20 22 58 4f 53 5f 52 65 61 64 4c |..SWI "XOS_ReadL| 00000bd0 69 6e 65 22 0d 04 ce 0d 42 56 53 20 65 72 72 6f |ine"....BVS erro| 00000be0 72 0d 04 d8 10 4d 4f 56 43 53 20 50 43 2c 52 31 |r....MOVCS PC,R1| 00000bf0 34 0d 04 e2 0d 43 4d 50 20 52 31 2c 23 30 0d 04 |4....CMP R1,#0..| 00000c00 ec 0d ec 51 20 50 43 2c 52 31 34 0d 04 f6 0d 4d |...Q PC,R14....M| 00000c10 4f 56 20 52 30 2c 23 30 0d 05 00 14 53 54 52 42 |OV R0,#0....STRB| 00000c20 20 52 30 2c 5b 52 31 32 2c 52 31 5d 0d 05 0a 2b | R0,[R12,R1]...+| 00000c30 3b 20 62 61 73 65 20 31 30 20 69 6d 70 6c 69 65 |; base 10 implie| 00000c40 64 20 62 65 63 61 75 73 65 20 52 30 20 69 73 20 |d because R0 is | 00000c50 69 6e 76 61 6c 69 64 0d 05 14 0e 4d 4f 56 20 52 |invalid....MOV R| 00000c60 31 2c 52 31 32 0d 05 1e 1a 53 57 49 20 22 58 4f |1,R12....SWI "XO| 00000c70 53 5f 52 65 61 64 55 6e 73 69 67 6e 65 64 22 0d |S_ReadUnsigned".| 00000c80 05 28 0d 42 56 53 20 65 72 72 6f 72 0d 05 32 0d |.(.BVS error..2.| 00000c90 4d 4f 56 20 52 39 2c 52 32 0d 05 3c 14 53 57 49 |MOV R9,R2..<.SWI| 00000ca0 20 22 58 4f 53 5f 57 72 69 74 65 53 22 0d 05 46 | "XOS_WriteS"..F| 00000cb0 63 45 51 55 53 20 22 94 2b 6e 95 2c 20 94 2d 6e |cEQUS ".+n., .-n| 00000cc0 95 2c 20 94 3d 6e 95 3a 20 74 6f 20 61 6c 74 65 |., .=n.: to alte| 00000cd0 72 20 74 68 65 20 73 69 7a 65 2c 20 20 20 94 6e |r the size, .n| 00000ce0 95 20 74 6f 20 65 6e 73 75 72 65 20 66 72 65 65 |. to ensure free| 00000cf0 20 73 70 61 63 65 20 28 69 6e 20 4b 42 29 22 2b | space (in KB)"+| 00000d00 bd 31 33 2b bd 31 30 2b 22 3e 3e 20 22 2b bd 30 |.13+.10+">> "+.0| 00000d10 0d 05 50 41 84 52 20 52 30 2c 52 31 32 2c 23 30 |..PA.R R0,R12,#0| 00000d20 20 3b 20 77 61 73 20 23 31 3c 3c 33 31 2c 20 62 | ; was #1<<31, b| 00000d30 75 74 20 66 61 69 6c 73 20 77 69 74 68 20 27 4c |ut fails with 'L| 00000d40 69 6e 65 45 64 69 74 6f 72 27 20 6d 6f 64 75 6c |ineEditor' modul| 00000d50 65 0d 05 5a 0f 4d 4f 56 20 52 31 2c 23 31 32 38 |e..Z.MOV R1,#128| 00000d60 0d 05 64 10 4d 4f 56 20 52 32 2c 23 97 22 26 22 |..d.MOV R2,#."&"| 00000d70 0d 05 6e 10 4d 4f 56 20 52 33 2c 23 97 22 5f 22 |..n.MOV R3,#."_"| 00000d80 0d 05 78 16 53 57 49 20 22 58 4f 53 5f 52 65 61 |..x.SWI "XOS_Rea| 00000d90 64 4c 69 6e 65 22 0d 05 82 0d 42 56 53 20 65 72 |dLine"....BVS er| 00000da0 72 6f 72 0d 05 8c 10 4d 4f 56 43 53 20 50 43 2c |ror....MOVCS PC,| 00000db0 52 31 34 0d 05 96 0d 43 4d 50 20 52 31 2c 23 30 |R14....CMP R1,#0| 00000dc0 0d 05 a0 0d ec 51 20 50 43 2c 52 31 34 0d 05 aa |.....Q PC,R14...| 00000dd0 0d 4d 4f 56 20 52 30 2c 23 30 0d 05 b4 14 53 54 |.MOV R0,#0....ST| 00000de0 52 42 20 52 30 2c 5b 52 31 32 2c 52 31 5d 0d 05 |RB R0,[R12,R1]..| 00000df0 be 0e 4d 4f 56 20 52 30 2c 52 31 32 0d 05 c8 0b |..MOV R0,R12....| 00000e00 2e 63 68 61 6e 67 65 0d 05 d2 0e 4d 4f 56 20 52 |.change....MOV R| 00000e10 31 30 2c 52 30 0d 05 dc 14 2e 63 68 61 6e 67 65 |10,R0.....change| 00000e20 5f 6e 65 78 74 63 68 61 72 0d 05 e6 14 4c 44 52 |_nextchar....LDR| 00000e30 42 20 52 38 2c 5b 52 31 30 5d 2c 23 31 0d 05 f0 |B R8,[R10],#1...| 00000e40 0e 54 45 51 20 52 38 2c 23 33 32 0d 05 fa 17 42 |.TEQ R8,#32....B| 00000e50 45 51 20 63 68 61 6e 67 65 5f 6e 65 78 74 63 68 |EQ change_nextch| 00000e60 61 72 0d 06 04 12 53 55 42 20 52 31 30 2c 52 31 |ar....SUB R10,R1| 00000e70 30 2c 23 31 0d 06 0e 0d 4d 4f 56 20 52 37 2c 23 |0,#1....MOV R7,#| 00000e80 30 0d 06 18 0e 4d 4f 56 20 52 31 2c 52 31 30 0d |0....MOV R1,R10.| 00000e90 06 22 18 4d 4f 56 20 52 30 2c 23 31 30 20 84 20 |.".MOV R0,#10 . | 00000ea0 28 31 3c 3c 33 31 29 0d 06 2c 1a 53 57 49 20 22 |(1<<31)..,.SWI "| 00000eb0 58 4f 53 5f 52 65 61 64 55 6e 73 69 67 6e 65 64 |XOS_ReadUnsigned| 00000ec0 22 0d 06 36 11 42 56 43 20 63 68 61 6e 67 65 5f |"..6.BVC change_| 00000ed0 6f 6b 0d 06 40 10 54 45 51 20 52 38 2c 23 97 22 |ok..@.TEQ R8,#."| 00000ee0 2b 22 0d 06 4a 12 54 45 51 4e 45 20 52 38 2c 23 |+"..J.TEQNE R8,#| 00000ef0 97 22 2d 22 0d 06 54 12 54 45 51 4e 45 20 52 38 |."-"..T.TEQNE R8| 00000f00 2c 23 97 22 3d 22 0d 06 5e 0c ec 51 20 52 37 2c |,#."="..^..Q R7,| 00000f10 52 38 0d 06 68 11 41 44 44 20 52 31 2c 52 31 30 |R8..h.ADD R1,R10| 00000f20 2c 23 31 0d 06 72 18 4d 4f 56 20 52 30 2c 23 31 |,#1..r.MOV R0,#1| 00000f30 30 20 84 20 28 31 3c 3c 33 31 29 0d 06 7c 1a 53 |0 . (1<<31)..|.S| 00000f40 57 49 20 22 58 4f 53 5f 52 65 61 64 55 6e 73 69 |WI "XOS_ReadUnsi| 00000f50 67 6e 65 64 22 0d 06 86 0d 42 56 53 20 65 72 72 |gned"....BVS err| 00000f60 6f 72 0d 06 90 0e 2e 63 68 61 6e 67 65 5f 6f 6b |or.....change_ok| 00000f70 0d 06 9a 15 4d 4f 56 20 52 36 2c 52 32 2c 4c 53 |....MOV R6,R2,LS| 00000f80 4c 20 23 31 30 0d 06 a4 0d 54 45 51 20 52 37 2c |L #10....TEQ R7,| 00000f90 23 30 0d 06 ae 14 ec 51 20 52 31 2c 23 26 38 30 |#0.....Q R1,#&80| 00000fa0 30 30 30 30 30 30 0d 06 b8 0c ec 51 20 52 30 2c |000000.....Q R0,| 00000fb0 52 39 0d 06 c2 21 53 57 49 45 51 20 22 58 4f 53 |R9...!SWIEQ "XOS| 00000fc0 5f 43 68 61 6e 67 65 44 79 6e 61 6d 69 63 41 72 |_ChangeDynamicAr| 00000fd0 65 61 22 0d 06 cc 0e 54 45 51 50 20 50 43 2c 23 |ea"....TEQP PC,#| 00000fe0 30 0d 06 d6 0f ec 51 20 52 37 2c 23 97 22 2b 22 |0.....Q R7,#."+"| 00000ff0 0d 06 e0 10 54 45 51 20 52 37 2c 23 97 22 3d 22 |....TEQ R7,#."="| 00001000 0d 06 ea 0c ec 51 20 52 30 2c 52 39 0d 06 f4 1f |.....Q R0,R9....| 00001010 53 57 49 45 51 20 22 58 4f 53 5f 52 65 61 64 44 |SWIEQ "XOS_ReadD| 00001020 79 6e 61 6d 69 63 41 72 65 61 22 0d 06 fe 0d 42 |ynamicArea"....B| 00001030 56 53 20 65 72 72 6f 72 0d 07 08 12 53 55 42 45 |VS error....SUBE| 00001040 51 20 52 36 2c 52 36 2c 52 31 0d 07 12 0f ec 51 |Q R6,R6,R1.....Q| 00001050 20 52 37 2c 23 97 22 2b 22 0d 07 1c 10 54 45 51 | R7,#."+"....TEQ| 00001060 20 52 37 2c 23 97 22 2d 22 0d 07 26 12 52 53 42 | R7,#."-"..&.RSB| 00001070 45 51 20 52 36 2c 52 36 2c 23 30 0d 07 30 0d 4d |EQ R6,R6,#0..0.M| 00001080 4f 56 20 52 30 2c 52 39 0d 07 3a 0d 4d 4f 56 20 |OV R0,R9..:.MOV | 00001090 52 31 2c 52 36 0d 07 44 1f 53 57 49 20 22 58 4f |R1,R6..D.SWI "XO| 000010a0 53 5f 43 68 61 6e 67 65 44 79 6e 61 6d 69 63 41 |S_ChangeDynamicA| 000010b0 72 65 61 22 0d 07 4e 0e 4d 4f 56 20 50 43 2c 52 |rea"..N.MOV PC,R| 000010c0 31 34 0d 07 58 0d 2e 73 68 6f 77 69 6e 66 6f 0d |14..X..showinfo.| 000010d0 07 62 14 53 54 4d 46 44 20 52 31 33 21 2c 7b 52 |.b.STMFD R13!,{R| 000010e0 31 34 7d 0d 07 6c 13 41 44 52 20 52 30 2c 70 72 |14}..l.ADR R0,pr| 000010f0 6f 67 6e 61 6d 65 0d 07 76 14 53 57 49 20 22 58 |ogname..v.SWI "X| 00001100 4f 53 5f 57 72 69 74 65 30 22 0d 07 80 15 53 57 |OS_Write0"....SW| 00001110 49 20 22 58 4f 53 5f 4e 65 77 4c 69 6e 65 22 0d |I "XOS_NewLine".| 00001120 07 8a 15 53 57 49 20 22 58 4f 53 5f 4e 65 77 4c |...SWI "XOS_NewL| 00001130 69 6e 65 22 0d 07 94 18 41 44 52 20 52 30 2c 69 |ine"....ADR R0,i| 00001140 6e 66 6f 5f 68 65 61 64 69 6e 67 73 0d 07 9e 0d |nfo_headings....| 00001150 4d 4f 56 20 52 31 2c 23 30 0d 07 a8 0d 4d 4f 56 |MOV R1,#0....MOV| 00001160 20 52 32 2c 23 30 0d 07 b2 19 53 57 49 20 22 58 | R2,#0....SWI "X| 00001170 4f 53 5f 50 72 65 74 74 79 50 72 69 6e 74 22 0d |OS_PrettyPrint".| 00001180 07 bc 0d 42 56 53 20 65 72 72 6f 72 0d 07 c6 2a |...BVS error...*| 00001190 4d 4f 56 20 52 36 2c 23 30 20 20 20 20 20 20 20 |MOV R6,#0 | 000011a0 20 20 20 20 20 20 3b 20 6e 75 6d 62 65 72 20 6f | ; number o| 000011b0 66 20 61 72 65 61 0d 07 d0 0d 2e 69 6e 66 6f 6c |f area.....infol| 000011c0 6f 6f 70 0d 07 da 13 42 4c 20 69 6e 66 6f 5f 64 |oop....BL info_d| 000011d0 69 73 70 6c 61 79 0d 07 e4 10 41 44 44 20 52 36 |isplay....ADD R6| 000011e0 2c 52 36 2c 23 31 0d 07 ee 0d 43 4d 50 20 52 36 |,R6,#1....CMP R6| 000011f0 2c 23 35 0d 07 f8 10 42 4c 53 20 69 6e 66 6f 6c |,#5....BLS infol| 00001200 6f 6f 70 0d 08 02 15 53 57 49 20 22 58 4f 53 5f |oop....SWI "XOS_| 00001210 4e 65 77 4c 69 6e 65 22 0d 08 0c 14 53 57 49 20 |NewLine"....SWI | 00001220 22 58 4f 53 5f 47 65 74 45 6e 76 22 0d 08 16 0d |"XOS_GetEnv"....| 00001230 42 56 53 20 65 72 72 6f 72 0d 08 20 14 53 55 42 |BVS error.. .SUB| 00001240 20 52 30 2c 52 31 2c 23 26 38 30 30 30 0d 08 2a | R0,R1,#&8000..*| 00001250 0e 4d 4f 56 20 52 31 2c 52 31 32 0d 08 34 0f 4d |.MOV R1,R12..4.M| 00001260 4f 56 20 52 32 2c 23 35 31 32 0d 08 3e 22 53 57 |OV R2,#512..>"SW| 00001270 49 20 22 58 4f 53 5f 43 6f 6e 76 65 72 74 46 69 |I "XOS_ConvertFi| 00001280 78 65 64 46 69 6c 65 53 69 7a 65 22 0d 08 48 0d |xedFileSize"..H.| 00001290 42 56 53 20 65 72 72 6f 72 0d 08 52 14 53 57 49 |BVS error..R.SWI| 000012a0 20 22 58 4f 53 5f 57 72 69 74 65 30 22 0d 08 5c | "XOS_Write0"..\| 000012b0 14 53 57 49 20 22 58 4f 53 5f 57 72 69 74 65 53 |.SWI "XOS_WriteS| 000012c0 22 0d 08 66 36 45 51 55 53 20 22 20 61 76 61 69 |"..f6EQUS " avai| 000012d0 6c 61 62 6c 65 20 66 6f 72 20 6e 65 78 74 20 61 |lable for next a| 000012e0 70 70 6c 69 63 61 74 69 6f 6e 2e 22 2b bd 31 33 |pplication."+.13| 000012f0 2b bd 31 30 2b bd 30 0d 08 70 09 41 4c 49 47 4e |+.10+.0..p.ALIGN| 00001300 0d 08 7a 1c 53 57 49 20 22 58 4f 53 5f 52 65 61 |..z.SWI "XOS_Rea| 00001310 64 4d 65 6d 4d 61 70 49 6e 66 6f 22 0d 08 84 13 |dMemMapInfo"....| 00001320 53 54 52 20 52 30 2c 5b 52 31 32 2c 23 30 5d 0d |STR R0,[R12,#0].| 00001330 08 8e 13 53 54 52 20 52 31 2c 5b 52 31 32 2c 23 |...STR R1,[R12,#| 00001340 34 5d 0d 08 98 0d 42 56 53 20 65 72 72 6f 72 0d |4]....BVS error.| 00001350 08 a2 10 4d 55 4c 20 52 32 2c 52 31 2c 52 30 0d |...MUL R2,R1,R0.| 00001360 08 ac 0d 4d 4f 56 20 52 30 2c 52 32 0d 08 b6 11 |...MOV R0,R2....| 00001370 41 44 44 20 52 31 2c 52 31 32 2c 23 38 0d 08 c0 |ADD R1,R12,#8...| 00001380 11 4d 4f 56 20 52 32 2c 23 35 31 32 2d 38 0d 08 |.MOV R2,#512-8..| 00001390 ca 22 53 57 49 20 22 58 4f 53 5f 43 6f 6e 76 65 |."SWI "XOS_Conve| 000013a0 72 74 46 69 78 65 64 46 69 6c 65 53 69 7a 65 22 |rtFixedFileSize"| 000013b0 0d 08 d4 0d 42 56 53 20 65 72 72 6f 72 0d 08 de |....BVS error...| 000013c0 14 53 57 49 20 22 58 4f 53 5f 57 72 69 74 65 30 |.SWI "XOS_Write0| 000013d0 22 0d 08 e8 14 53 57 49 20 22 58 4f 53 5f 57 72 |"....SWI "XOS_Wr| 000013e0 69 74 65 53 22 0d 08 f2 30 45 51 55 53 20 22 20 |iteS"...0EQUS " | 000013f0 74 6f 74 61 6c 20 6d 65 6d 6f 72 79 20 69 6e 20 |total memory in | 00001400 74 68 69 73 20 6d 61 63 68 69 6e 65 2c 20 69 6e |this machine, in| 00001410 20 22 2b bd 30 0d 08 fc 09 41 4c 49 47 4e 0d 09 | "+.0....ALIGN..| 00001420 06 13 4c 44 52 20 52 30 2c 5b 52 31 32 2c 23 34 |..LDR R0,[R12,#4| 00001430 5d 0d 09 10 1e 53 57 49 20 22 58 4f 53 5f 43 6f |]....SWI "XOS_Co| 00001440 6e 76 65 72 74 43 61 72 64 69 6e 61 6c 34 22 0d |nvertCardinal4".| 00001450 09 1a 0d 42 56 53 20 65 72 72 6f 72 0d 09 24 14 |...BVS error..$.| 00001460 53 57 49 20 22 58 4f 53 5f 57 72 69 74 65 30 22 |SWI "XOS_Write0"| 00001470 0d 09 2e 14 53 57 49 20 22 58 4f 53 5f 57 72 69 |....SWI "XOS_Wri| 00001480 74 65 53 22 0d 09 38 18 45 51 55 53 20 22 20 70 |teS"..8.EQUS " p| 00001490 61 67 65 73 20 6f 66 20 22 2b bd 30 0d 09 42 13 |ages of "+.0..B.| 000014a0 4c 44 52 20 52 30 2c 5b 52 31 32 2c 23 30 5d 0d |LDR R0,[R12,#0].| 000014b0 09 4c 1d 53 57 49 20 22 58 4f 53 5f 43 6f 6e 76 |.L.SWI "XOS_Conv| 000014c0 65 72 74 46 69 6c 65 53 69 7a 65 22 0d 09 56 0d |ertFileSize"..V.| 000014d0 42 56 53 20 65 72 72 6f 72 0d 09 60 14 53 57 49 |BVS error..`.SWI| 000014e0 20 22 58 4f 53 5f 57 72 69 74 65 30 22 0d 09 6a | "XOS_Write0"..j| 000014f0 14 53 57 49 20 22 58 4f 53 5f 57 72 69 74 65 53 |.SWI "XOS_WriteS| 00001500 22 0d 09 74 1b 45 51 55 53 20 22 2e 22 2b bd 31 |"..t.EQUS "."+.1| 00001510 33 2b bd 31 30 2b bd 31 30 2b bd 30 0d 09 7e 09 |3+.10+.10+.0..~.| 00001520 41 4c 49 47 4e 0d 09 88 13 4c 44 4d 46 44 20 52 |ALIGN....LDMFD R| 00001530 31 33 21 2c 7b 50 43 7d 0d 09 92 11 2e 69 6e 66 |13!,{PC}.....inf| 00001540 6f 5f 64 69 73 70 6c 61 79 0d 09 9c 33 4d 4f 56 |o_display...3MOV| 00001550 20 52 30 2c 52 36 20 20 20 20 20 20 20 20 20 20 | R0,R6 | 00001560 20 20 20 3b 20 74 61 6b 65 73 20 61 72 65 61 20 | ; takes area | 00001570 6e 75 6d 62 65 72 20 69 6e 20 52 36 0d 09 a6 12 |number in R6....| 00001580 84 52 20 52 30 2c 52 30 2c 23 31 3c 3c 37 0d 09 |.R R0,R0,#1<<7..| 00001590 b0 1d 53 57 49 20 22 58 4f 53 5f 52 65 61 64 44 |..SWI "XOS_ReadD| 000015a0 79 6e 61 6d 69 63 41 72 65 61 22 0d 09 ba 0d 42 |ynamicArea"....B| 000015b0 56 53 20 65 72 72 6f 72 0d 09 c4 14 41 44 52 20 |VS error....ADR | 000015c0 52 35 2c 74 61 62 6c 65 2d 32 35 36 0d 09 ce 12 |R5,table-256....| 000015d0 41 44 44 20 52 35 2c 52 35 2c 23 32 35 36 0d 09 |ADD R5,R5,#256..| 000015e0 d8 17 41 44 44 20 52 35 2c 52 35 2c 52 36 2c 4c |..ADD R5,R5,R6,L| 000015f0 53 4c 20 23 34 0d 09 e2 12 53 54 52 20 52 31 2c |SL #4....STR R1,| 00001600 5b 52 35 2c 23 30 5d 0d 09 ec 12 53 54 52 20 52 |[R5,#0]....STR R| 00001610 32 2c 5b 52 35 2c 23 34 5d 0d 09 f6 0d 4d 4f 56 |2,[R5,#4]....MOV| 00001620 20 52 30 2c 52 36 0d 0a 00 0e 4d 4f 56 20 52 31 | R0,R6....MOV R1| 00001630 2c 52 31 32 0d 0a 0a 0f 4d 4f 56 20 52 32 2c 23 |,R12....MOV R2,#| 00001640 35 31 32 0d 0a 14 1e 53 57 49 20 22 58 4f 53 5f |512....SWI "XOS_| 00001650 43 6f 6e 76 65 72 74 43 61 72 64 69 6e 61 6c 31 |ConvertCardinal1| 00001660 22 0d 0a 1e 0d 42 56 53 20 65 72 72 6f 72 0d 0a |"....BVS error..| 00001670 28 0d 4d 4f 56 20 52 33 2c 23 39 0d 0a 32 13 53 |(.MOV R3,#9..2.S| 00001680 54 52 42 20 52 33 2c 5b 52 31 5d 2c 23 31 0d 0a |TRB R3,[R1],#1..| 00001690 3c 0e 4d 4f 56 20 52 33 2c 23 32 37 0d 0a 46 13 |<.MOV R3,#27..F.| 000016a0 53 54 52 42 20 52 33 2c 5b 52 31 5d 2c 23 31 0d |STRB R3,[R1],#1.| 000016b0 0a 50 10 41 44 44 20 52 30 2c 52 36 2c 23 31 0d |.P.ADD R0,R6,#1.| 000016c0 0a 5a 13 53 54 52 42 20 52 30 2c 5b 52 31 5d 2c |.Z.STRB R0,[R1],| 000016d0 23 31 0d 0a 64 0d 4d 4f 56 20 52 30 2c 23 30 0d |#1..d.MOV R0,#0.| 000016e0 0a 6e 13 53 54 52 42 20 52 30 2c 5b 52 31 5d 2c |.n.STRB R0,[R1],| 000016f0 23 31 0d 0a 78 0e 4d 4f 56 20 52 30 2c 52 31 32 |#1..x.MOV R0,R12| 00001700 0d 0a 82 19 41 44 52 20 52 31 2c 69 6e 66 6f 5f |....ADR R1,info_| 00001710 6e 61 6d 65 73 2d 32 35 36 0d 0a 8c 12 41 44 44 |names-256....ADD| 00001720 20 52 31 2c 52 31 2c 23 32 35 36 0d 0a 96 12 4c | R1,R1,#256....L| 00001730 44 52 20 52 32 2c 5b 52 35 2c 23 38 5d 0d 0a a0 |DR R2,[R5,#8]...| 00001740 19 53 57 49 20 22 58 4f 53 5f 50 72 65 74 74 79 |.SWI "XOS_Pretty| 00001750 50 72 69 6e 74 22 0d 0a aa 0e 4d 4f 56 20 52 31 |Print"....MOV R1| 00001760 2c 52 31 32 0d 0a b4 11 4d 4f 56 20 52 32 2c 23 |,R12....MOV R2,#| 00001770 35 31 32 2d 34 0d 0a be 12 4c 44 52 20 52 30 2c |512-4....LDR R0,| 00001780 5b 52 35 2c 23 30 5d 0d 0a c8 22 53 57 49 20 22 |[R5,#0]..."SWI "| 00001790 58 4f 53 5f 43 6f 6e 76 65 72 74 46 69 78 65 64 |XOS_ConvertFixed| 000017a0 46 69 6c 65 53 69 7a 65 22 0d 0a d2 0d 42 56 53 |FileSize"....BVS| 000017b0 20 65 72 72 6f 72 0d 0a dc 10 53 55 42 20 52 31 | error....SUB R1| 000017c0 2c 52 31 2c 23 36 0d 0a e6 10 4c 44 52 42 20 52 |,R1,#6....LDRB R| 000017d0 33 2c 5b 52 31 5d 0d 0a f0 14 53 54 52 42 20 52 |3,[R1]....STRB R| 000017e0 33 2c 5b 52 31 2c 23 2d 31 5d 0d 0a fa 0e 4d 4f |3,[R1,#-1]....MO| 000017f0 56 20 52 33 2c 23 33 32 0d 0b 04 13 53 54 52 42 |V R3,#32....STRB| 00001800 20 52 33 2c 5b 52 31 5d 2c 23 31 0d 0b 0e 13 53 | R3,[R1],#1....S| 00001810 54 52 42 20 52 33 2c 5b 52 31 5d 2c 23 31 0d 0b |TRB R3,[R1],#1..| 00001820 18 13 53 54 52 42 20 52 33 2c 5b 52 31 5d 2c 23 |..STRB R3,[R1],#| 00001830 31 0d 0b 22 13 53 54 52 42 20 52 33 2c 5b 52 31 |1..".STRB R3,[R1| 00001840 5d 2c 23 31 0d 0b 2c 12 4c 44 52 20 52 30 2c 5b |],#1..,.LDR R0,[| 00001850 52 35 2c 23 34 5d 0d 0b 36 22 53 57 49 20 22 58 |R5,#4]..6"SWI "X| 00001860 4f 53 5f 43 6f 6e 76 65 72 74 46 69 78 65 64 46 |OS_ConvertFixedF| 00001870 69 6c 65 53 69 7a 65 22 0d 0b 40 0d 42 56 53 20 |ileSize"..@.BVS | 00001880 65 72 72 6f 72 0d 0b 4a 10 53 55 42 20 52 31 2c |error..J.SUB R1,| 00001890 52 31 2c 23 36 0d 0b 54 10 4c 44 52 42 20 52 33 |R1,#6..T.LDRB R3| 000018a0 2c 5b 52 31 5d 0d 0b 5e 14 53 54 52 42 20 52 33 |,[R1]..^.STRB R3| 000018b0 2c 5b 52 31 2c 23 2d 31 5d 0d 0b 68 0d 4d 4f 56 |,[R1,#-1]..h.MOV| 000018c0 20 52 33 2c 23 30 0d 0b 72 13 53 54 52 42 20 52 | R3,#0..r.STRB R| 000018d0 33 2c 5b 52 31 5d 2c 23 31 0d 0b 7c 13 4c 44 52 |3,[R1],#1..|.LDR| 000018e0 20 52 30 2c 5b 52 35 2c 23 31 32 5d 0d 0b 86 0d | R0,[R5,#12]....| 000018f0 43 4d 50 20 52 30 2c 23 30 0d 0b 90 15 42 45 51 |CMP R0,#0....BEQ| 00001900 20 69 6e 66 6f 5f 63 6f 6e 74 69 6e 75 65 0d 0b | info_continue..| 00001910 9a 14 53 54 4d 46 44 20 52 31 33 21 2c 7b 52 31 |..STMFD R13!,{R1| 00001920 34 7d 0d 0b a4 19 41 44 52 20 52 31 34 2c 69 6e |4}....ADR R14,in| 00001930 66 6f 5f 66 72 65 65 63 6f 6e 74 0d 0b ae 14 41 |fo_freecont....A| 00001940 44 52 20 52 38 2c 73 74 61 72 74 2b 35 31 32 0d |DR R8,start+512.| 00001950 0b b8 12 53 55 42 20 52 38 2c 52 38 2c 23 35 31 |...SUB R8,R8,#51| 00001960 32 0d 0b c2 10 41 44 44 20 50 43 2c 52 38 2c 52 |2....ADD PC,R8,R| 00001970 30 0d 0b cc 12 2e 69 6e 66 6f 5f 66 72 65 65 63 |0.....info_freec| 00001980 6f 6e 74 0d 0b d6 10 53 55 42 20 52 31 2c 52 31 |ont....SUB R1,R1| 00001990 2c 23 31 0d 0b e0 0e 4d 4f 56 20 52 33 2c 23 33 |,#1....MOV R3,#3| 000019a0 32 0d 0b ea 13 53 54 52 42 20 52 33 2c 5b 52 31 |2....STRB R3,[R1| 000019b0 5d 2c 23 31 0d 0b f4 13 53 54 52 42 20 52 33 2c |],#1....STRB R3,| 000019c0 5b 52 31 5d 2c 23 31 0d 0b fe 22 53 57 49 20 22 |[R1],#1..."SWI "| 000019d0 58 4f 53 5f 43 6f 6e 76 65 72 74 46 69 78 65 64 |XOS_ConvertFixed| 000019e0 46 69 6c 65 53 69 7a 65 22 0d 0c 08 0d 42 56 53 |FileSize"....BVS| 000019f0 20 65 72 72 6f 72 0d 0c 12 14 4c 44 4d 46 44 20 | error....LDMFD | 00001a00 52 31 33 21 2c 7b 52 31 34 7d 0d 0c 1c 12 2e 69 |R13!,{R14}.....i| 00001a10 6e 66 6f 5f 63 6f 6e 74 69 6e 75 65 0d 0c 26 0e |nfo_continue..&.| 00001a20 4d 4f 56 20 52 30 2c 52 31 32 0d 0c 30 14 53 57 |MOV R0,R12..0.SW| 00001a30 49 20 22 58 4f 53 5f 57 72 69 74 65 30 22 0d 0c |I "XOS_Write0"..| 00001a40 3a 15 53 57 49 20 22 58 4f 53 5f 4e 65 77 4c 69 |:.SWI "XOS_NewLi| 00001a50 6e 65 22 0d 0c 44 0d 42 56 53 20 65 72 72 6f 72 |ne"..D.BVS error| 00001a60 0d 0c 4e 0e 4d 4f 56 20 50 43 2c 52 31 34 0d 0c |..N.MOV PC,R14..| 00001a70 58 0a 2e 74 61 62 6c 65 0d 0c 62 1e 44 43 44 20 |X..table..b.DCD | 00001a80 30 20 3a 44 43 44 20 30 20 3a 44 43 44 20 30 20 |0 :DCD 0 :DCD 0 | 00001a90 3a 44 43 44 20 30 0d 0c 6c 25 44 43 44 20 30 20 |:DCD 0..l%DCD 0 | 00001aa0 3a 44 43 44 20 30 20 3a 44 43 44 20 30 20 3a 44 |:DCD 0 :DCD 0 :D| 00001ab0 43 44 20 72 6d 61 5f 66 72 65 65 0d 0c 76 28 44 |CD rma_free..v(D| 00001ac0 43 44 20 30 20 3a 44 43 44 20 30 20 3a 44 43 44 |CD 0 :DCD 0 :DCD| 00001ad0 20 30 20 3a 44 43 44 20 73 63 72 65 65 6e 5f 66 | 0 :DCD screen_f| 00001ae0 72 65 65 0d 0c 80 28 44 43 44 20 30 20 3a 44 43 |ree...(DCD 0 :DC| 00001af0 44 20 30 20 3a 44 43 44 20 30 20 3a 44 43 44 20 |D 0 :DCD 0 :DCD | 00001b00 73 70 72 69 74 65 5f 66 72 65 65 0d 0c 8a 26 44 |sprite_free...&D| 00001b10 43 44 20 30 20 3a 44 43 44 20 30 20 3a 44 43 44 |CD 0 :DCD 0 :DCD| 00001b20 20 30 20 3a 44 43 44 20 66 6f 6e 74 5f 66 72 65 | 0 :DCD font_fre| 00001b30 65 0d 0c 94 33 44 43 44 20 30 20 3a 44 43 44 20 |e...3DCD 0 :DCD | 00001b40 30 20 3a 44 43 44 20 30 20 3a 44 43 44 20 2d 72 |0 :DCD 0 :DCD -r| 00001b50 61 6d 66 73 5f 66 72 65 65 2a 28 6f 73 76 65 72 |amfs_free*(osver| 00001b60 25 3e 32 29 0d 0c 9e 0f 2e 69 6e 66 6f 5f 6e 61 |%>2).....info_na| 00001b70 6d 65 73 0d 0c a8 18 a4 6e 61 6d 65 28 22 53 79 |mes.....name("Sy| 00001b80 73 74 65 6d 20 68 65 61 70 22 29 0d 0c b2 24 a4 |stem heap")...$.| 00001b90 6e 61 6d 65 28 22 52 65 6c 6f 63 61 74 61 62 6c |name("Relocatabl| 00001ba0 65 20 4d 6f 64 75 6c 65 20 41 72 65 61 22 29 0d |e Module Area").| 00001bb0 0c bc 18 a4 6e 61 6d 65 28 22 53 63 72 65 65 6e |....name("Screen| 00001bc0 20 61 72 65 61 22 29 0d 0c c6 18 a4 6e 61 6d 65 | area").....name| 00001bd0 28 22 53 70 72 69 74 65 20 61 72 65 61 22 29 0d |("Sprite area").| 00001be0 0c d0 17 a4 6e 61 6d 65 28 22 46 6f 6e 74 20 63 |....name("Font c| 00001bf0 61 63 68 65 22 29 0d 0c da 1e a4 6e 61 6d 65 28 |ache").....name(| 00001c00 22 52 41 4d 20 66 69 6c 69 6e 67 20 73 79 73 74 |"RAM filing syst| 00001c10 65 6d 22 29 0d 0c e4 09 44 43 44 20 30 0d 0c ee |em")....DCD 0...| 00001c20 0a 2e 65 72 72 6f 72 0d 0c f8 09 41 4c 49 47 4e |..error....ALIGN| 00001c30 0d 0d 02 0c 4f 50 54 20 70 61 73 73 0d 0d 0c 12 |....OPT pass....| 00001c40 4c 44 52 20 50 43 2c 72 65 74 61 64 64 72 0d 0d |LDR PC,retaddr..| 00001c50 16 0c 2e 72 65 74 61 64 64 72 0d 0d 20 0a 45 51 |...retaddr.. .EQ| 00001c60 55 44 20 30 0d 0d 2a 12 2e 69 6e 66 6f 5f 68 65 |UD 0..*..info_he| 00001c70 61 64 69 6e 67 73 0d 0d 34 68 45 51 55 53 20 22 |adings..4hEQUS "| 00001c80 44 79 6e 61 6d 69 63 20 61 72 65 61 22 2b bd 39 |Dynamic area"+.9| 00001c90 2b bd 39 2b bd 39 2b bd 39 2b 22 73 69 7a 65 22 |+.9+.9+.9+"size"| 00001ca0 2b bd 39 2b bd 33 31 2b bd 33 31 2b 22 6d 61 78 |+.9+.31+.31+"max| 00001cb0 22 2b bd 39 2b bd 33 31 2b bd 33 31 2b bd 33 31 |"+.9+.31+.31+.31| 00001cc0 2b bd 33 31 2b bd 33 31 2b bd 33 31 2b 22 66 72 |+.31+.31+.31+"fr| 00001cd0 65 65 22 2b bd 31 33 2b bd 31 33 2b bd 30 0d 0d |ee"+.13+.13+.0..| 00001ce0 3e 0a 2e 64 65 62 75 67 0d 0d 48 13 45 51 55 53 |>..debug..H.EQUS| 00001cf0 20 22 44 65 62 75 67 22 2b bd 30 0d 0d 52 09 41 | "Debug"+.0..R.A| 00001d00 4c 49 47 4e 0d 0d 5c 0a 2e 76 61 6c 75 65 0d 0d |LIGN..\..value..| 00001d10 66 0a 45 51 55 44 20 30 0d 0d 70 0e 2e 66 6f 6e |f.EQUD 0..p..fon| 00001d20 74 5f 66 72 65 65 0d 0d 7a 16 53 54 4d 46 44 20 |t_free..z.STMFD | 00001d30 52 31 33 21 2c 7b 52 32 2d 52 33 7d 0d 0d 84 19 |R13!,{R2-R3}....| 00001d40 53 57 49 20 22 58 46 6f 6e 74 5f 43 61 63 68 65 |SWI "XFont_Cache| 00001d50 41 64 64 72 22 0d 0d 8e 0d 42 56 53 20 65 72 72 |Addr"....BVS err| 00001d60 6f 72 0d 0d 98 10 53 55 42 20 52 30 2c 52 32 2c |or....SUB R0,R2,| 00001d70 52 33 0d 0d a2 16 4c 44 4d 46 44 20 52 31 33 21 |R3....LDMFD R13!| 00001d80 2c 7b 52 32 2d 52 33 7d 0d 0d ac 0e 4d 4f 56 20 |,{R2-R3}....MOV | 00001d90 50 43 2c 52 31 34 0d 0d b6 0d 2e 72 6d 61 5f 66 |PC,R14.....rma_f| 00001da0 72 65 65 0d 0d c0 16 53 54 4d 46 44 20 52 31 33 |ree....STMFD R13| 00001db0 21 2c 7b 52 32 2d 52 33 7d 0d 0d ca 0d 4d 4f 56 |!,{R2-R3}....MOV| 00001dc0 20 52 30 2c 23 35 0d 0d d4 14 53 57 49 20 22 58 | R0,#5....SWI "X| 00001dd0 4f 53 5f 4d 6f 64 75 6c 65 22 0d 0d de 0d 42 56 |OS_Module"....BV| 00001de0 53 20 65 72 72 6f 72 0d 0d e8 0d 4d 4f 56 20 52 |S error....MOV R| 00001df0 30 2c 52 32 0d 0d f2 16 4c 44 4d 46 44 20 52 31 |0,R2....LDMFD R1| 00001e00 33 21 2c 7b 52 32 2d 52 33 7d 0d 0d fc 0e 4d 4f |3!,{R2-R3}....MO| 00001e10 56 20 50 43 2c 52 31 34 0d 0e 06 10 2e 73 70 72 |V PC,R14.....spr| 00001e20 69 74 65 5f 66 72 65 65 0d 0e 10 16 53 54 4d 46 |ite_free....STMF| 00001e30 44 20 52 31 33 21 2c 7b 52 32 2d 52 35 7d 0d 0e |D R13!,{R2-R5}..| 00001e40 1a 0d 4d 4f 56 20 52 30 2c 23 38 0d 0e 24 16 53 |..MOV R0,#8..$.S| 00001e50 57 49 20 22 58 4f 53 5f 53 70 72 69 74 65 4f 70 |WI "XOS_SpriteOp| 00001e60 22 0d 0e 2e 0f 4d 4f 56 56 53 20 52 32 2c 52 35 |"....MOVVS R2,R5| 00001e70 0d 0e 38 10 53 55 42 20 52 30 2c 52 32 2c 52 35 |..8.SUB R0,R2,R5| 00001e80 0d 0e 42 16 4c 44 4d 46 44 20 52 31 33 21 2c 7b |..B.LDMFD R13!,{| 00001e90 52 32 2d 52 35 7d 0d 0e 4c 0e 4d 4f 56 20 50 43 |R2-R5}..L.MOV PC| 00001ea0 2c 52 31 34 0d 0e 56 10 2e 73 63 72 65 65 6e 5f |,R14..V..screen_| 00001eb0 66 72 65 65 0d 0e 60 16 53 54 4d 46 44 20 52 31 |free..`.STMFD R1| 00001ec0 33 21 2c 7b 52 31 2d 52 32 7d 0d 0e 6a 0d 4d 4f |3!,{R1-R2}..j.MO| 00001ed0 56 20 52 30 2c 23 31 0d 0e 74 0d 4d 56 4e 20 52 |V R0,#1..t.MVN R| 00001ee0 31 2c 23 30 0d 0e 7e 14 42 49 43 20 52 31 2c 52 |1,#0..~.BIC R1,R| 00001ef0 31 2c 23 31 3c 3c 33 31 0d 0e 88 1f 53 57 49 20 |1,#1<<31....SWI | 00001f00 22 58 4f 53 5f 43 6c 61 69 6d 53 63 72 65 65 6e |"XOS_ClaimScreen| 00001f10 4d 65 6d 6f 72 79 22 0d 0e 92 0d 42 56 53 20 65 |Memory"....BVS e| 00001f20 72 72 6f 72 0d 0e 9c 0f 4d 4f 56 43 43 20 52 30 |rror....MOVCC R0| 00001f30 2c 23 30 0d 0e a6 21 53 57 49 43 43 20 22 58 4f |,#0...!SWICC "XO| 00001f40 53 5f 43 6c 61 69 6d 53 63 72 65 65 6e 4d 65 6d |S_ClaimScreenMem| 00001f50 6f 72 79 22 0d 0e b0 0d 42 56 53 20 65 72 72 6f |ory"....BVS erro| 00001f60 72 0d 0e ba 0d 4d 4f 56 20 52 30 2c 52 31 0d 0e |r....MOV R0,R1..| 00001f70 c4 16 4c 44 4d 46 44 20 52 31 33 21 2c 7b 52 31 |..LDMFD R13!,{R1| 00001f80 2d 52 32 7d 0d 0e ce 0e 4d 4f 56 20 50 43 2c 52 |-R2}....MOV PC,R| 00001f90 31 34 0d 0e d8 0f 2e 72 61 6d 66 73 5f 66 72 65 |14.....ramfs_fre| 00001fa0 65 0d 0e e2 16 53 54 4d 46 44 20 52 31 33 21 2c |e....STMFD R13!,| 00001fb0 7b 52 31 2d 52 32 7d 0d 0e ec 0e 4d 4f 56 20 52 |{R1-R2}....MOV R| 00001fc0 30 2c 23 34 39 0d 0e f6 17 41 44 52 20 52 31 2c |0,#49....ADR R1,| 00001fd0 72 61 6d 66 73 5f 6f 62 6a 65 63 74 0d 0f 00 17 |ramfs_object....| 00001fe0 53 57 49 20 22 58 4f 53 5f 46 53 43 6f 6e 74 72 |SWI "XOS_FSContr| 00001ff0 6f 6c 22 0d 0f 0a 0f 4d 4f 56 56 53 20 52 30 2c |ol"....MOVVS R0,| 00002000 23 30 0d 0f 14 16 4c 44 4d 46 44 20 52 31 33 21 |#0....LDMFD R13!| 00002010 2c 7b 52 31 2d 52 32 7d 0d 0f 1e 0e 4d 4f 56 20 |,{R1-R2}....MOV | 00002020 50 43 2c 52 31 34 0d 0f 28 11 2e 72 61 6d 66 73 |PC,R14..(..ramfs| 00002030 5f 6f 62 6a 65 63 74 0d 0f 32 13 45 51 55 53 20 |_object..2.EQUS | 00002040 22 52 41 4d 3a 24 22 2b bd 30 0d 0f 3c 0c 2e 64 |"RAM:$"+.0..<..d| 00002050 65 66 61 75 6c 74 0d 0f 46 14 45 51 55 53 20 22 |efault..F.EQUS "| 00002060 2d 68 2d 64 2d 69 22 2b bd 30 0d 0f 50 05 5d 0d |-h-d-i"+.0..P.].| 00002070 0f 5a 05 e1 0d ff |.Z....| 00002076