Home » Archimedes archive » Zipped Apps » BCPL » BCPLi/swis
BCPLi/swis
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 » Zipped Apps » BCPL |
Filename: | BCPLi/swis |
Read OK: | ✔ |
File size: | 3768 bytes |
Load address: | 0000 |
Exec address: | 0000 |
File contents
;Compiled code conventions ; ;Registers: ; ;RB 8 Called address ;can be used without saving ;RL 12 Caller's static ;RTS 11 Top of stack (empty word above) ;RP 10 Frame pointer ;RG 9 Global base ;RGB 7 Special global base ; ;There is an upwards-growing stack, addressed by two registers. R(F)P is the ;frame pointer, RTS the top of stack+1 free word pointer. ;RG points at the base of the global vector; RGB addresses a set of subroutines ;within the library. ; ;On procedure entry, RB holds the address of the called procedure. It need not ;be preserved. RL holds the address of the caller's static data, and must be ;preserved. R14 holds the link: this must be written to both PC and PSR on ;return. R1 to R4 hold the first four arguments, with others on the stack ;above RTS in the usual way. Thus, a general procedure would look like: ; STMEA rts!, {rb, rp, rl, r14} ; save linkage ; SUB rp, rts, #16 ; new frame pointer ; STMEA rts!, {a1, ...} ; arguments ; ... ; ;R0 to R6 and RB(8) may be used without saving their values; so may R13 and ;moreover it is accessible from BCPL through the name NIL (assignment to NIL ;from BCPL has the side-effect of updating R6). R6 and R13 are guaranteed ;untouched by the library, and by BCPL code which does not update NIL. ; ;On return, a1 holds value received. Result2 = 13 << 2 .include "regnames" .include "swinames" Timersw=400 ; <= 0 to remove report .AREA Code Start: .ascii "BCPL" .LONG Globinits-Start .ascii "Byte&SWI" .ASCII "25 Dec 89 00-00-00 " .LONG 0 .long -1 .ascic "OSNewln" OSNewLine:swi OS_NewLine mov pc,lr .long -1 .ascic "OSRdMdV" OSReadModeVariable: mov r0, a1 mov a1, a2 swi OS_ReadModeVariable mov a1, a2 movcc r0, #0 mvncs r0, #0 strcc r0, [ rg, #Result2 ] mov pc, lr .long -1 .ascic "OSModeV" OSCheckModeValid: mov r0, a1 swi OS_CheckModeValid movcc a1, #0 movcc pc, lr str a1, [ rg, #Result2 ] mov a1, r0 mov pc, lr .long -1 .ascic "OSGBPB " OSGBPB: mov r0, a1 ; action mov a1, a2 ; handle mov rb, a3, lsl #2 ; Args ldmia rb,{ a2 - r6 } ; R2-5 from vector swi OS_GBPB+XOS stmia rb,{ a2 - r6 } ; R2-5 to vector mov a1, #0 ; OK return 0 mvnvs a1, #0 ; Error return -1 mov pc, lr .long -1 .ascic "OSConfm" OSConfirm: swi OS_Confirm str r0, [rg, #Result2] ; character returned movcs r1, #1 movcs pc, lr ; returns 1 for escape mov r1, #0 ; 0 No mvnvs r1, #0 ; -1 Yes mov pc, lr .long -1 .ascic "OSFSctr" OSGenerateEvent: mov r0, a1 ; Event no mov a1, a2 mov a2, a3 mov rb, a4, lsl #2 ; Args 4-6 ldmia rb, {a3 - r6} swi OS_GenerateEvent mov pc, lr OSFSControl: stmea rts!, {rgb, nil} mov nil, a4, lsl #2 ; p4 (Args) mov r0, a1 mov a1, a2, lsl #2 ldrb a2, [a1], #1 ; string byte base, length; incr a1 add a4, a2, a1 ; string byte terminator position mov a2, a3 ; p3 ldrb r5, [a4] mov rb, #0 strb rb, [a4] stmea rts!, {a4, r5} ldmia nil, {a3-rb} ; a3 - a8 swi OS_FSControl + XOS stmia nil, {a2-a3} ; returns a2,3 mov rb, #0 mvnvs rb, #0 str rb, [rg, #Result2] ; returns fault ldmea rts!, {a4, r5} strb r5, [a4] ; restore terminator mov a4, nil, lsr #2 ldmea rts!, {rgb, nil} mov pc, lr .long -1 .ascic "OSRdUns" OSReadUnsigned: mov r0, a1 ; base mov a1, a3 add a1, a1, a2, lsl #2 ; bcpl string a2%a3 mov a2, a4 ; max val swi OS_ReadUnsigned + XOS str a1, [ rg, #Result2 ] ; Terminator to Result2 mov a1, a2 mov pc, lr .long -1 .ascic "OSRdvar" OSReadVarVal: ldr r0, [pc, #rvv-$-8] rsvv: str r0, [pc, #swivv-$-8] mov r0, #1 add r0, r0, a1, lsl #2 ; name cmp a2, #0 movge a1, #1 addge a1, a1, a2, lsl #2 ; BCPL Word buffer if p2 >= 0 sublt a2, a2, #1 mvnlt a1, a2 ; Byte Buffer if p2 < 0 mov rb, a3, lsl #2 ; Args ldmia rb, { a2 - a4 } ; R2-4 from vector cmp a4, #1 ; Number ? subeq a1, a1, #1 swivv: .long 0 stmia rb, { a2 - a4 } ; R2-4 to vector mov pc, lr rvv: swi OS_ReadVarVal+XOS .long -1 .ascic "OSSetvv" OSSetVarVal: ldr r0, [pc, #svv-$-8] b rsvv svv: swi OS_SetVarVal .long -1 .ascic "OSEvExp" OSEvaluateExpression: mov r0, #1 add r0, r0, a1, lsl #2 ; String mov a1, #1 add a1, a1, a2, lsl #2 ; Buffer mov rb, a1 mov a2, a3 ; length of Buffer swi OS_EvaluateExpression res2: str a2, [ rg, #Result2 ] ; Val/Length to Result2 mov a1, r0 ; type result mov pc, lr .long -1 .ascic "OSWrteN" OSWriteN: cmp a2, #0 movle pc, lr mov r0, a1 ; String mov a1, a2 ; Length SWI OS_WriteN mov pc, lr .long -1 .ascic "OSWrte0" OSWrite0: mov r0, a1 swi OS_Write0 mov a1, r0 mov pc, lr .long -1 .ascic "OSRdPal" OSReadPalette: mov r0, a1 mov a1, a2 swi OS_ReadPalette str a3, [ rg, #Result2 ] mov a1, a2 mov pc, lr .long -1 .ascic "ADDrive" ADFSFreeSpace: mov r0, a1 ; Drive swi ADFS_FreeSpace str a1, [ rg, #Result2 ] ; Largest Single area mov a1, r0 mov pc, lr .long -1 .ascic "OSRdArg" OSReadArgs: mov r0, #1 add r0, r0, a1, lsl #2 ; Key defn mov a1, #1 add a1, a1, a2, lsl #2 ; Input string ldr a2, [a1] cmp a2, #0 addeq a1, a1, #1 mov a2, a3, lsl #2 ; Output vector mov a3, a4 ; Bytes in ov swi OS_ReadArgs + XOS str r3, [ rg, #Result2 ] mov a1, #0 ; OK return 0 mvnvs a1, #0 ; Error return -1 mov pc, lr .long -1 .ascic "OSBtoA " OSConvert: ldr r5, [pc, #swi0-$-8] cmp a4, #0 suble r5, r5, a4 ; decr -ve a4 -> Byte-addressed buffer addgt r5, r5, a4 str r5, [pc, #swid-$-8] mov r0, a1 movle a1, a2 ; byte addr movgt a1, a2, lsl #2 ; word addr mov a2, a3 swid: .long 0 sub a1, a1, r0 ; Text length (next 0) mov pc, lr swi0: swi OS_WriteC ;0 .long -1 .ascic "OSModul" OSModule: mov r0, a1 mov a1, a2 mov rb, a3, lsl #2 ldmia rb, { a2-a3 } swi OS_Module stmia rb, {a2-r5} str a1, [rg, #Result2] mov a1, a2 mov pc, lr .long -1 .ascic "OSHeap " OSHeap: mov r0, a1 mov a1, a2 mov a2, a3, lsl #2 mov a3, a4 swi OS_Heap mov a1, a3 str a2, [ rg, #Result2 ] mov pc, lr .long -1 .ascic "OSRMTim" OSReadMonotonicTime: swi OS_ReadMonotonicTime mov a1, r0 mov pc, lr .long -1 .ascic "OSRemcr" OSRemoveCursors: swi OS_RemoveCursors mov pc, lr .long -1 .ascic "OSRescr" OSRestoreCursors: swi OS_RestoreCursors mov pc, lr .long -1 .ascic "OSPrint" OSPrintChar: mov r0, a1 swi OS_PrintChar mov pc, lr .long -1 .ascic "OSRdVdu" OSReadVduVariables: mov r0, a1, lsl #2 mov a1, a2, lsl #2 swi OS_ReadVduVariables mov pc, lr .long -1 .ascic "OSMouse" OSMouse: mov rb, a1, lsl #2 swi OS_Mouse stmia rb, {r0 - a3} mov pc, lr .long -1 .ascic "OSSprOp" OSSpriteOp: mov r0, a1 ; Reason Code mov a1, a2, lsl #2 ; Control Block mov a2, a3, lsl #2 add a2, a2, #1 ; Path Name str rgb, [pc, #srgb-$-8] ldmia rb, {a3-rgb } swi OS_SpriteOp stmea rb, {a3-rgb} ldr rgb, [pc, #srgb-$-8] mov pc, lr srgb: .long 0 .long -1 .ascic "OSPlotX" OSPlot: mov r0, a1 mov a1, a2 mov a2, a3 swi OS_Plot mov pc, lr Globinits: .long 23 .long OSNewLine-Start .long 69 .long OSReadModeVariable - Start .long 70 .long OSCheckModeValid - Start .long 107 .long OSGBPB-Start .long 108 .long OSConfirm-Start .long 109 .long OSGenerateEvent - Start .long 114 .long OSWriteN-Start .long 115 .long OSFSControl-Start .long 116 .long OSSetVarVal-Start .long 117 .long OSReadVarVal-Start .long 120 .long OSEvaluateExpression-Start .long 121 .long OSReadUnsigned-Start .long 122 .long OSWrite0-Start .long 123 .long OSReadPalette-Start .long 125 .long ADFSFreeSpace-Start .long 126 .long OSReadArgs-Start .long 127 .long OSConvert-Start .long 128 .long OSModule-Start .long 129 .long OSHeap-Start .long 130 .long OSReadMonotonicTime-Start .long 131 .long OSRemoveCursors .long 132 .long OSRestoreCursors .long 133 .long OSPrintChar .long 134 .long OSReadVduVariables .long 143 .long OSMouse-Start .long 144 .long OSSpriteOp-Start .long 145 .long OSPlot-Start .long 150 .long 0 .LONG 0x12345678 .LONG Globinits + 4 - Start .LONG Globinits + 12 - Start .LONG Globinits + 20 - Start .LONG Globinits + 28 - Start .LONG Globinits + 36 - Start .LONG Globinits + 44 - Start .LONG Globinits + 52 - Start .LONG Globinits + 60 - Start .LONG Globinits + 68 - Start .LONG Globinits + 76 - Start .LONG Globinits + 84 - Start .LONG Globinits + 92 - Start .LONG Globinits + 100 - Start .LONG Globinits + 108 - Start .LONG Globinits + 116 - Start .LONG Globinits + 124 - Start .LONG Globinits + 132 - Start .LONG Globinits + 140 - Start .LONG Globinits + 148 - Start .LONG Globinits + 156 - Start .LONG Globinits + 164 - Start .LONG Globinits + 172 - Start .LONG Globinits + 180 - Start .LONG Globinits + 188 - Start .LONG Globinits + 196 - Start .LONG Globinits + 204 - Start .LONG Globinits + 212 - Start .LONG 0x87654321
00000000 3b 43 6f 6d 70 69 6c 65 64 20 63 6f 64 65 20 63 |;Compiled code c| 00000010 6f 6e 76 65 6e 74 69 6f 6e 73 20 3b 0d 0a 3b 52 |onventions ;..;R| 00000020 65 67 69 73 74 65 72 73 3a 0d 0a 3b 0d 0a 3b 52 |egisters:..;..;R| 00000030 42 20 20 20 20 20 20 20 20 20 38 20 20 20 20 43 |B 8 C| 00000040 61 6c 6c 65 64 20 61 64 64 72 65 73 73 20 20 20 |alled address | 00000050 20 20 3b 63 61 6e 20 62 65 20 75 73 65 64 20 77 | ;can be used w| 00000060 69 74 68 6f 75 74 20 73 61 76 69 6e 67 0d 0a 3b |ithout saving..;| 00000070 52 4c 20 20 20 20 20 20 20 20 20 31 32 20 20 20 |RL 12 | 00000080 43 61 6c 6c 65 72 27 73 20 73 74 61 74 69 63 0d |Caller's static.| 00000090 0a 3b 52 54 53 20 20 20 20 20 20 20 20 31 31 20 |.;RTS 11 | 000000a0 20 20 54 6f 70 20 6f 66 20 73 74 61 63 6b 20 28 | Top of stack (| 000000b0 65 6d 70 74 79 20 77 6f 72 64 20 61 62 6f 76 65 |empty word above| 000000c0 29 0d 0a 3b 52 50 20 20 20 20 20 20 20 20 20 31 |)..;RP 1| 000000d0 30 20 20 20 46 72 61 6d 65 20 70 6f 69 6e 74 65 |0 Frame pointe| 000000e0 72 0d 0a 3b 52 47 20 20 20 20 20 20 20 20 20 39 |r..;RG 9| 000000f0 20 20 20 20 47 6c 6f 62 61 6c 20 62 61 73 65 0d | Global base.| 00000100 0a 3b 52 47 42 20 20 20 20 20 20 20 20 37 20 20 |.;RGB 7 | 00000110 20 20 53 70 65 63 69 61 6c 20 67 6c 6f 62 61 6c | Special global| 00000120 20 62 61 73 65 0d 0a 3b 0d 0a 3b 54 68 65 72 65 | base..;..;There| 00000130 20 69 73 20 61 6e 20 75 70 77 61 72 64 73 2d 67 | is an upwards-g| 00000140 72 6f 77 69 6e 67 20 73 74 61 63 6b 2c 20 61 64 |rowing stack, ad| 00000150 64 72 65 73 73 65 64 20 62 79 20 74 77 6f 20 72 |dressed by two r| 00000160 65 67 69 73 74 65 72 73 2e 20 20 52 28 46 29 50 |egisters. R(F)P| 00000170 20 69 73 20 74 68 65 0d 0a 3b 66 72 61 6d 65 20 | is the..;frame | 00000180 70 6f 69 6e 74 65 72 2c 20 52 54 53 20 74 68 65 |pointer, RTS the| 00000190 20 74 6f 70 20 6f 66 20 73 74 61 63 6b 2b 31 20 | top of stack+1 | 000001a0 66 72 65 65 20 77 6f 72 64 20 70 6f 69 6e 74 65 |free word pointe| 000001b0 72 2e 0d 0a 3b 52 47 20 70 6f 69 6e 74 73 20 61 |r...;RG points a| 000001c0 74 20 74 68 65 20 62 61 73 65 20 6f 66 20 74 68 |t the base of th| 000001d0 65 20 67 6c 6f 62 61 6c 20 76 65 63 74 6f 72 3b |e global vector;| 000001e0 20 52 47 42 20 61 64 64 72 65 73 73 65 73 20 61 | RGB addresses a| 000001f0 20 73 65 74 20 6f 66 20 73 75 62 72 6f 75 74 69 | set of subrouti| 00000200 6e 65 73 0d 0a 3b 77 69 74 68 69 6e 20 74 68 65 |nes..;within the| 00000210 20 6c 69 62 72 61 72 79 2e 0d 0a 3b 0d 0a 3b 4f | library...;..;O| 00000220 6e 20 70 72 6f 63 65 64 75 72 65 20 65 6e 74 72 |n procedure entr| 00000230 79 2c 20 52 42 20 68 6f 6c 64 73 20 74 68 65 20 |y, RB holds the | 00000240 61 64 64 72 65 73 73 20 6f 66 20 74 68 65 20 63 |address of the c| 00000250 61 6c 6c 65 64 20 70 72 6f 63 65 64 75 72 65 2e |alled procedure.| 00000260 20 20 49 74 20 6e 65 65 64 20 6e 6f 74 0d 0a 3b | It need not..;| 00000270 62 65 20 70 72 65 73 65 72 76 65 64 2e 20 20 52 |be preserved. R| 00000280 4c 20 68 6f 6c 64 73 20 74 68 65 20 61 64 64 72 |L holds the addr| 00000290 65 73 73 20 6f 66 20 74 68 65 20 63 61 6c 6c 65 |ess of the calle| 000002a0 72 27 73 20 73 74 61 74 69 63 20 64 61 74 61 2c |r's static data,| 000002b0 20 61 6e 64 20 6d 75 73 74 20 62 65 0d 0a 3b 70 | and must be..;p| 000002c0 72 65 73 65 72 76 65 64 2e 20 20 52 31 34 20 68 |reserved. R14 h| 000002d0 6f 6c 64 73 20 74 68 65 20 6c 69 6e 6b 3a 20 74 |olds the link: t| 000002e0 68 69 73 20 6d 75 73 74 20 62 65 20 77 72 69 74 |his must be writ| 000002f0 74 65 6e 20 74 6f 20 62 6f 74 68 20 50 43 20 61 |ten to both PC a| 00000300 6e 64 20 50 53 52 20 6f 6e 0d 0a 3b 72 65 74 75 |nd PSR on..;retu| 00000310 72 6e 2e 20 20 52 31 20 74 6f 20 52 34 20 68 6f |rn. R1 to R4 ho| 00000320 6c 64 20 74 68 65 20 66 69 72 73 74 20 66 6f 75 |ld the first fou| 00000330 72 20 61 72 67 75 6d 65 6e 74 73 2c 20 77 69 74 |r arguments, wit| 00000340 68 20 6f 74 68 65 72 73 20 6f 6e 20 74 68 65 20 |h others on the | 00000350 73 74 61 63 6b 0d 0a 3b 61 62 6f 76 65 20 52 54 |stack..;above RT| 00000360 53 20 69 6e 20 74 68 65 20 75 73 75 61 6c 20 77 |S in the usual w| 00000370 61 79 2e 20 54 68 75 73 2c 20 61 20 67 65 6e 65 |ay. Thus, a gene| 00000380 72 61 6c 20 70 72 6f 63 65 64 75 72 65 20 77 6f |ral procedure wo| 00000390 75 6c 64 20 6c 6f 6f 6b 20 6c 69 6b 65 3a 0d 0a |uld look like:..| 000003a0 3b 20 20 20 20 20 20 20 20 53 54 4d 45 41 20 20 |; STMEA | 000003b0 20 72 74 73 21 2c 20 7b 72 62 2c 20 72 70 2c 20 | rts!, {rb, rp, | 000003c0 72 6c 2c 20 72 31 34 7d 20 3b 20 73 61 76 65 20 |rl, r14} ; save | 000003d0 6c 69 6e 6b 61 67 65 0d 0a 3b 20 20 20 20 20 20 |linkage..; | 000003e0 20 20 53 55 42 20 20 20 20 20 72 70 2c 20 72 74 | SUB rp, rt| 000003f0 73 2c 20 23 31 36 20 20 20 20 20 20 20 20 20 20 |s, #16 | 00000400 20 20 3b 20 6e 65 77 20 66 72 61 6d 65 20 70 6f | ; new frame po| 00000410 69 6e 74 65 72 0d 0a 3b 20 20 20 20 20 20 20 20 |inter..; | 00000420 53 54 4d 45 41 20 20 20 72 74 73 21 2c 20 7b 61 |STMEA rts!, {a| 00000430 31 2c 20 2e 2e 2e 7d 20 20 20 20 20 20 20 20 20 |1, ...} | 00000440 3b 20 61 72 67 75 6d 65 6e 74 73 0d 0a 3b 20 20 |; arguments..; | 00000450 20 20 20 20 20 20 20 20 20 2e 2e 2e 0d 0a 3b 0d | .....;.| 00000460 0a 3b 52 30 20 74 6f 20 52 36 20 61 6e 64 20 52 |.;R0 to R6 and R| 00000470 42 28 38 29 20 6d 61 79 20 62 65 20 75 73 65 64 |B(8) may be used| 00000480 20 77 69 74 68 6f 75 74 20 73 61 76 69 6e 67 20 | without saving | 00000490 74 68 65 69 72 20 76 61 6c 75 65 73 3b 20 73 6f |their values; so| 000004a0 20 6d 61 79 20 52 31 33 20 61 6e 64 0d 0a 3b 6d | may R13 and..;m| 000004b0 6f 72 65 6f 76 65 72 20 69 74 20 69 73 20 61 63 |oreover it is ac| 000004c0 63 65 73 73 69 62 6c 65 20 66 72 6f 6d 20 42 43 |cessible from BC| 000004d0 50 4c 20 74 68 72 6f 75 67 68 20 74 68 65 20 6e |PL through the n| 000004e0 61 6d 65 20 4e 49 4c 20 28 61 73 73 69 67 6e 6d |ame NIL (assignm| 000004f0 65 6e 74 20 74 6f 20 4e 49 4c 0d 0a 3b 66 72 6f |ent to NIL..;fro| 00000500 6d 20 42 43 50 4c 20 68 61 73 20 74 68 65 20 73 |m BCPL has the s| 00000510 69 64 65 2d 65 66 66 65 63 74 20 6f 66 20 75 70 |ide-effect of up| 00000520 64 61 74 69 6e 67 20 52 36 29 2e 20 20 52 36 20 |dating R6). R6 | 00000530 61 6e 64 20 52 31 33 20 61 72 65 20 67 75 61 72 |and R13 are guar| 00000540 61 6e 74 65 65 64 0d 0a 3b 75 6e 74 6f 75 63 68 |anteed..;untouch| 00000550 65 64 20 62 79 20 74 68 65 20 6c 69 62 72 61 72 |ed by the librar| 00000560 79 2c 20 61 6e 64 20 62 79 20 42 43 50 4c 20 63 |y, and by BCPL c| 00000570 6f 64 65 20 77 68 69 63 68 20 64 6f 65 73 20 6e |ode which does n| 00000580 6f 74 20 75 70 64 61 74 65 20 4e 49 4c 2e 0d 0a |ot update NIL...| 00000590 3b 0d 0a 3b 4f 6e 20 72 65 74 75 72 6e 2c 20 61 |;..;On return, a| 000005a0 31 20 68 6f 6c 64 73 20 76 61 6c 75 65 20 72 65 |1 holds value re| 000005b0 63 65 69 76 65 64 2e 0d 0a 0d 0a 0d 0a 20 20 20 |ceived....... | 000005c0 20 20 20 20 20 20 20 52 65 73 75 6c 74 32 20 3d | Result2 =| 000005d0 20 31 33 20 3c 3c 20 32 0d 0a 0d 0a 20 20 20 20 | 13 << 2.... | 000005e0 20 20 20 20 20 20 2e 69 6e 63 6c 75 64 65 20 20 | .include | 000005f0 22 72 65 67 6e 61 6d 65 73 22 0d 0a 20 20 20 20 |"regnames".. | 00000600 20 20 20 20 20 20 2e 69 6e 63 6c 75 64 65 20 20 | .include | 00000610 22 73 77 69 6e 61 6d 65 73 22 0d 0a 54 69 6d 65 |"swinames"..Time| 00000620 72 73 77 3d 34 30 30 20 20 20 20 20 20 20 20 20 |rsw=400 | 00000630 3b 20 3c 3d 20 30 20 74 6f 20 72 65 6d 6f 76 65 |; <= 0 to remove| 00000640 20 72 65 70 6f 72 74 0d 0a 20 20 20 20 20 20 20 | report.. | 00000650 20 20 20 2e 41 52 45 41 20 20 20 20 20 43 6f 64 | .AREA Cod| 00000660 65 0d 0a 53 74 61 72 74 3a 20 20 20 20 2e 61 73 |e..Start: .as| 00000670 63 69 69 20 20 20 20 20 22 42 43 50 4c 22 0d 0a |cii "BCPL"..| 00000680 20 20 20 20 20 20 20 20 20 20 2e 4c 4f 4e 47 20 | .LONG | 00000690 20 20 20 20 47 6c 6f 62 69 6e 69 74 73 2d 53 74 | Globinits-St| 000006a0 61 72 74 0d 0a 20 20 20 20 20 20 20 20 20 20 2e |art.. .| 000006b0 61 73 63 69 69 20 20 20 20 22 42 79 74 65 26 53 |ascii "Byte&S| 000006c0 57 49 22 0d 0a 20 20 20 20 20 20 20 20 20 20 2e |WI".. .| 000006d0 41 53 43 49 49 20 20 20 20 22 32 35 20 44 65 63 |ASCII "25 Dec| 000006e0 20 38 39 20 30 30 2d 30 30 2d 30 30 20 20 22 0d | 89 00-00-00 ".| 000006f0 0a 20 20 20 20 20 20 20 20 20 20 2e 4c 4f 4e 47 |. .LONG| 00000700 20 20 20 20 20 30 0d 0a 20 20 20 20 20 20 20 20 | 0.. | 00000710 20 20 2e 6c 6f 6e 67 20 20 20 20 20 2d 31 0d 0a | .long -1..| 00000720 20 20 20 20 20 20 20 20 20 20 2e 61 73 63 69 63 | .ascic| 00000730 20 20 20 20 22 4f 53 4e 65 77 6c 6e 22 0d 0a 4f | "OSNewln"..O| 00000740 53 4e 65 77 4c 69 6e 65 3a 73 77 69 20 20 20 20 |SNewLine:swi | 00000750 20 20 20 4f 53 5f 4e 65 77 4c 69 6e 65 0d 0a 20 | OS_NewLine.. | 00000760 20 20 20 20 20 20 20 20 20 6d 6f 76 20 20 20 20 | mov | 00000770 20 20 20 70 63 2c 6c 72 0d 0a 20 20 20 20 20 20 | pc,lr.. | 00000780 20 20 20 20 2e 6c 6f 6e 67 20 20 20 20 20 2d 31 | .long -1| 00000790 0d 0a 20 20 20 20 20 20 20 20 20 20 2e 61 73 63 |.. .asc| 000007a0 69 63 20 20 20 20 22 4f 53 52 64 4d 64 56 22 0d |ic "OSRdMdV".| 000007b0 0a 4f 53 52 65 61 64 4d 6f 64 65 56 61 72 69 61 |.OSReadModeVaria| 000007c0 62 6c 65 3a 0d 0a 20 20 20 20 20 20 20 20 20 20 |ble:.. | 000007d0 6d 6f 76 20 20 20 20 20 20 20 72 30 2c 20 61 31 |mov r0, a1| 000007e0 0d 0a 20 20 20 20 20 20 20 20 20 20 6d 6f 76 20 |.. mov | 000007f0 20 20 20 20 20 20 61 31 2c 20 61 32 0d 0a 20 20 | a1, a2.. | 00000800 20 20 20 20 20 20 20 20 73 77 69 20 20 20 20 20 | swi | 00000810 20 20 4f 53 5f 52 65 61 64 4d 6f 64 65 56 61 72 | OS_ReadModeVar| 00000820 69 61 62 6c 65 0d 0a 20 20 20 20 20 20 20 20 20 |iable.. | 00000830 20 6d 6f 76 20 20 20 20 20 20 20 61 31 2c 20 61 | mov a1, a| 00000840 32 0d 0a 20 20 20 20 20 20 20 20 20 20 6d 6f 76 |2.. mov| 00000850 63 63 20 20 20 20 20 72 30 2c 20 23 30 0d 0a 20 |cc r0, #0.. | 00000860 20 20 20 20 20 20 20 20 20 6d 76 6e 63 73 20 20 | mvncs | 00000870 20 20 20 72 30 2c 20 23 30 0d 0a 20 20 20 20 20 | r0, #0.. | 00000880 20 20 20 20 20 73 74 72 63 63 20 20 20 20 20 72 | strcc r| 00000890 30 2c 20 5b 20 72 67 2c 20 23 52 65 73 75 6c 74 |0, [ rg, #Result| 000008a0 32 20 5d 0d 0a 20 20 20 20 20 20 20 20 20 20 6d |2 ].. m| 000008b0 6f 76 20 20 20 20 20 20 20 70 63 2c 20 6c 72 0d |ov pc, lr.| 000008c0 0a 20 20 20 20 20 20 20 20 20 20 2e 6c 6f 6e 67 |. .long| 000008d0 20 20 20 20 20 2d 31 0d 0a 20 20 20 20 20 20 20 | -1.. | 000008e0 20 20 20 2e 61 73 63 69 63 20 20 20 20 22 4f 53 | .ascic "OS| 000008f0 4d 6f 64 65 56 22 0d 0a 4f 53 43 68 65 63 6b 4d |ModeV"..OSCheckM| 00000900 6f 64 65 56 61 6c 69 64 3a 0d 0a 20 20 20 20 20 |odeValid:.. | 00000910 20 20 20 20 20 6d 6f 76 20 20 20 20 20 20 20 72 | mov r| 00000920 30 2c 20 61 31 0d 0a 20 20 20 20 20 20 20 20 20 |0, a1.. | 00000930 20 73 77 69 20 20 20 20 20 20 20 4f 53 5f 43 68 | swi OS_Ch| 00000940 65 63 6b 4d 6f 64 65 56 61 6c 69 64 0d 0a 20 20 |eckModeValid.. | 00000950 20 20 20 20 20 20 20 20 6d 6f 76 63 63 20 20 20 | movcc | 00000960 20 20 61 31 2c 20 23 30 0d 0a 20 20 20 20 20 20 | a1, #0.. | 00000970 20 20 20 20 6d 6f 76 63 63 20 20 20 20 20 70 63 | movcc pc| 00000980 2c 20 6c 72 0d 0a 20 20 20 20 20 20 20 20 20 20 |, lr.. | 00000990 73 74 72 20 20 20 20 20 20 20 61 31 2c 20 5b 20 |str a1, [ | 000009a0 72 67 2c 20 23 52 65 73 75 6c 74 32 20 5d 0d 0a |rg, #Result2 ]..| 000009b0 20 20 20 20 20 20 20 20 20 20 6d 6f 76 20 20 20 | mov | 000009c0 20 20 20 20 61 31 2c 20 72 30 0d 0a 20 20 20 20 | a1, r0.. | 000009d0 20 20 20 20 20 20 6d 6f 76 20 20 20 20 20 20 20 | mov | 000009e0 70 63 2c 20 6c 72 0d 0a 20 20 20 20 20 20 20 20 |pc, lr.. | 000009f0 20 20 2e 6c 6f 6e 67 20 20 20 20 20 2d 31 0d 0a | .long -1..| 00000a00 20 20 20 20 20 20 20 20 20 20 2e 61 73 63 69 63 | .ascic| 00000a10 20 20 20 20 22 4f 53 47 42 50 42 20 22 0d 0a 4f | "OSGBPB "..O| 00000a20 53 47 42 50 42 3a 20 20 20 6d 6f 76 20 20 20 20 |SGBPB: mov | 00000a30 20 20 20 72 30 2c 20 61 31 20 20 20 20 20 20 20 | r0, a1 | 00000a40 20 20 20 20 20 20 20 3b 20 61 63 74 69 6f 6e 0d | ; action.| 00000a50 0a 20 20 20 20 20 20 20 20 20 20 6d 6f 76 20 20 |. mov | 00000a60 20 20 20 20 20 61 31 2c 20 61 32 20 20 20 20 20 | a1, a2 | 00000a70 20 20 20 20 20 20 20 20 20 3b 20 68 61 6e 64 6c | ; handl| 00000a80 65 0d 0a 20 20 20 20 20 20 20 20 20 20 6d 6f 76 |e.. mov| 00000a90 20 20 20 20 20 20 20 72 62 2c 20 61 33 2c 20 6c | rb, a3, l| 00000aa0 73 6c 20 23 32 20 20 20 20 20 20 3b 20 41 72 67 |sl #2 ; Arg| 00000ab0 73 0d 0a 20 20 20 20 20 20 20 20 20 20 6c 64 6d |s.. ldm| 00000ac0 69 61 20 20 20 20 20 72 62 2c 7b 20 61 32 20 2d |ia rb,{ a2 -| 00000ad0 20 72 36 20 7d 20 20 20 20 20 20 3b 20 52 32 2d | r6 } ; R2-| 00000ae0 35 20 66 72 6f 6d 20 76 65 63 74 6f 72 0d 0a 20 |5 from vector.. | 00000af0 20 20 20 20 20 20 20 20 20 73 77 69 20 20 20 20 | swi | 00000b00 20 20 20 4f 53 5f 47 42 50 42 2b 58 4f 53 0d 0a | OS_GBPB+XOS..| 00000b10 20 20 20 20 20 20 20 20 20 20 73 74 6d 69 61 20 | stmia | 00000b20 20 20 20 20 72 62 2c 7b 20 61 32 20 2d 20 72 36 | rb,{ a2 - r6| 00000b30 20 7d 20 20 20 20 20 20 3b 20 52 32 2d 35 20 74 | } ; R2-5 t| 00000b40 6f 20 76 65 63 74 6f 72 0d 0a 20 20 20 20 20 20 |o vector.. | 00000b50 20 20 20 20 6d 6f 76 20 20 20 20 20 20 20 61 31 | mov a1| 00000b60 2c 20 23 30 20 20 20 20 20 20 20 20 20 20 20 20 |, #0 | 00000b70 20 20 3b 20 4f 4b 20 72 65 74 75 72 6e 20 30 0d | ; OK return 0.| 00000b80 0a 20 20 20 20 20 20 20 20 20 20 6d 76 6e 76 73 |. mvnvs| 00000b90 20 20 20 20 20 61 31 2c 20 23 30 20 20 20 20 20 | a1, #0 | 00000ba0 20 20 20 20 20 20 20 20 20 3b 20 45 72 72 6f 72 | ; Error| 00000bb0 20 72 65 74 75 72 6e 20 2d 31 0d 0a 20 20 20 20 | return -1.. | 00000bc0 20 20 20 20 20 20 6d 6f 76 20 20 20 20 20 20 20 | mov | 00000bd0 70 63 2c 20 6c 72 0d 0a 20 20 20 20 20 20 20 20 |pc, lr.. | 00000be0 20 20 2e 6c 6f 6e 67 20 20 20 20 20 2d 31 0d 0a | .long -1..| 00000bf0 20 20 20 20 20 20 20 20 20 20 2e 61 73 63 69 63 | .ascic| 00000c00 20 20 20 20 22 4f 53 43 6f 6e 66 6d 22 0d 0a 4f | "OSConfm"..O| 00000c10 53 43 6f 6e 66 69 72 6d 3a 0d 0a 20 20 20 20 20 |SConfirm:.. | 00000c20 20 20 20 20 20 73 77 69 20 20 20 20 20 20 20 4f | swi O| 00000c30 53 5f 43 6f 6e 66 69 72 6d 0d 0a 20 20 20 20 20 |S_Confirm.. | 00000c40 20 20 20 20 20 73 74 72 20 20 20 20 20 20 20 72 | str r| 00000c50 30 2c 20 5b 72 67 2c 20 23 52 65 73 75 6c 74 32 |0, [rg, #Result2| 00000c60 5d 20 20 3b 20 63 68 61 72 61 63 74 65 72 20 72 |] ; character r| 00000c70 65 74 75 72 6e 65 64 0d 0a 20 20 20 20 20 20 20 |eturned.. | 00000c80 20 20 20 6d 6f 76 63 73 20 20 20 20 20 72 31 2c | movcs r1,| 00000c90 20 23 31 0d 0a 20 20 20 20 20 20 20 20 20 20 6d | #1.. m| 00000ca0 6f 76 63 73 20 20 20 20 20 70 63 2c 20 6c 72 20 |ovcs pc, lr | 00000cb0 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 20 72 | ; r| 00000cc0 65 74 75 72 6e 73 20 31 20 66 6f 72 20 65 73 63 |eturns 1 for esc| 00000cd0 61 70 65 0d 0a 20 20 20 20 20 20 20 20 20 20 6d |ape.. m| 00000ce0 6f 76 20 20 20 20 20 20 20 72 31 2c 20 23 30 20 |ov r1, #0 | 00000cf0 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 20 20 | ; | 00000d00 30 20 4e 6f 0d 0a 20 20 20 20 20 20 20 20 20 20 |0 No.. | 00000d10 6d 76 6e 76 73 20 20 20 20 20 72 31 2c 20 23 30 |mvnvs r1, #0| 00000d20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 20 | ; | 00000d30 2d 31 20 59 65 73 0d 0a 20 20 20 20 20 20 20 20 |-1 Yes.. | 00000d40 20 20 6d 6f 76 20 20 20 20 20 20 20 70 63 2c 20 | mov pc, | 00000d50 6c 72 0d 0a 20 20 20 20 20 20 20 20 20 20 2e 6c |lr.. .l| 00000d60 6f 6e 67 20 20 20 20 20 2d 31 0d 0a 20 20 20 20 |ong -1.. | 00000d70 20 20 20 20 20 20 2e 61 73 63 69 63 20 20 20 20 | .ascic | 00000d80 22 4f 53 46 53 63 74 72 22 0d 0a 4f 53 47 65 6e |"OSFSctr"..OSGen| 00000d90 65 72 61 74 65 45 76 65 6e 74 3a 0d 0a 20 20 20 |erateEvent:.. | 00000da0 20 20 20 20 20 20 20 6d 6f 76 20 20 20 20 20 20 | mov | 00000db0 20 72 30 2c 20 61 31 20 20 20 20 20 20 20 20 20 | r0, a1 | 00000dc0 20 20 20 3b 20 45 76 65 6e 74 20 6e 6f 0d 0a 20 | ; Event no.. | 00000dd0 20 20 20 20 20 20 20 20 20 6d 6f 76 20 20 20 20 | mov | 00000de0 20 20 20 61 31 2c 20 61 32 0d 0a 20 20 20 20 20 | a1, a2.. | 00000df0 20 20 20 20 20 6d 6f 76 20 20 20 20 20 20 20 61 | mov a| 00000e00 32 2c 20 61 33 0d 0a 20 20 20 20 20 20 20 20 20 |2, a3.. | 00000e10 20 6d 6f 76 20 20 20 20 20 20 20 72 62 2c 20 61 | mov rb, a| 00000e20 34 2c 20 6c 73 6c 20 23 32 20 20 20 20 20 20 3b |4, lsl #2 ;| 00000e30 20 41 72 67 73 20 34 2d 36 0d 0a 20 20 20 20 20 | Args 4-6.. | 00000e40 20 20 20 20 20 6c 64 6d 69 61 20 20 20 20 20 72 | ldmia r| 00000e50 62 2c 20 7b 61 33 20 2d 20 72 36 7d 0d 0a 20 20 |b, {a3 - r6}.. | 00000e60 20 20 20 20 20 20 20 20 73 77 69 20 20 20 20 20 | swi | 00000e70 20 20 4f 53 5f 47 65 6e 65 72 61 74 65 45 76 65 | OS_GenerateEve| 00000e80 6e 74 0d 0a 20 20 20 20 20 20 20 20 20 20 6d 6f |nt.. mo| 00000e90 76 20 20 20 20 20 20 20 70 63 2c 20 6c 72 0d 0a |v pc, lr..| 00000ea0 4f 53 46 53 43 6f 6e 74 72 6f 6c 3a 0d 0a 20 20 |OSFSControl:.. | 00000eb0 20 20 20 20 20 20 20 20 73 74 6d 65 61 20 20 20 | stmea | 00000ec0 20 20 72 74 73 21 2c 20 7b 72 67 62 2c 20 6e 69 | rts!, {rgb, ni| 00000ed0 6c 7d 0d 0a 20 20 20 20 20 20 20 20 20 20 6d 6f |l}.. mo| 00000ee0 76 20 20 20 20 20 20 20 6e 69 6c 2c 20 61 34 2c |v nil, a4,| 00000ef0 20 6c 73 6c 20 23 32 20 20 20 20 20 3b 20 70 34 | lsl #2 ; p4| 00000f00 20 28 41 72 67 73 29 0d 0a 20 20 20 20 20 20 20 | (Args).. | 00000f10 20 20 20 6d 6f 76 20 20 20 20 20 20 20 72 30 2c | mov r0,| 00000f20 20 61 31 0d 0a 20 20 20 20 20 20 20 20 20 20 6d | a1.. m| 00000f30 6f 76 20 20 20 20 20 20 20 61 31 2c 20 61 32 2c |ov a1, a2,| 00000f40 20 6c 73 6c 20 23 32 0d 0a 20 20 20 20 20 20 20 | lsl #2.. | 00000f50 20 20 20 6c 64 72 62 20 20 20 20 20 20 61 32 2c | ldrb a2,| 00000f60 20 5b 61 31 5d 2c 20 23 31 20 20 20 20 20 20 20 | [a1], #1 | 00000f70 20 3b 20 73 74 72 69 6e 67 20 62 79 74 65 20 62 | ; string byte b| 00000f80 61 73 65 2c 20 6c 65 6e 67 74 68 3b 20 69 6e 63 |ase, length; inc| 00000f90 72 20 61 31 0d 0a 20 20 20 20 20 20 20 20 20 20 |r a1.. | 00000fa0 61 64 64 20 20 20 20 20 20 20 61 34 2c 20 61 32 |add a4, a2| 00000fb0 2c 20 61 31 20 20 20 20 20 20 20 20 20 20 3b 20 |, a1 ; | 00000fc0 73 74 72 69 6e 67 20 62 79 74 65 20 74 65 72 6d |string byte term| 00000fd0 69 6e 61 74 6f 72 20 70 6f 73 69 74 69 6f 6e 0d |inator position.| 00000fe0 0a 20 20 20 20 20 20 20 20 20 20 6d 6f 76 20 20 |. mov | 00000ff0 20 20 20 20 20 61 32 2c 20 61 33 20 20 20 20 20 | a2, a3 | 00001000 20 20 20 20 20 20 20 20 20 3b 20 70 33 0d 0a 20 | ; p3.. | 00001010 20 20 20 20 20 20 20 20 20 6c 64 72 62 20 20 20 | ldrb | 00001020 20 20 20 72 35 2c 20 5b 61 34 5d 0d 0a 20 20 20 | r5, [a4].. | 00001030 20 20 20 20 20 20 20 6d 6f 76 20 20 20 20 20 20 | mov | 00001040 20 72 62 2c 20 23 30 0d 0a 20 20 20 20 20 20 20 | rb, #0.. | 00001050 20 20 20 73 74 72 62 20 20 20 20 20 20 72 62 2c | strb rb,| 00001060 20 5b 61 34 5d 0d 0a 20 20 20 20 20 20 20 20 20 | [a4].. | 00001070 20 73 74 6d 65 61 20 20 20 20 20 72 74 73 21 2c | stmea rts!,| 00001080 20 7b 61 34 2c 20 72 35 7d 0d 0a 20 20 20 20 20 | {a4, r5}.. | 00001090 20 20 20 20 20 6c 64 6d 69 61 20 20 20 20 20 6e | ldmia n| 000010a0 69 6c 2c 20 7b 61 33 2d 72 62 7d 20 20 20 20 20 |il, {a3-rb} | 000010b0 20 20 20 3b 20 61 33 20 2d 20 61 38 0d 0a 20 20 | ; a3 - a8.. | 000010c0 20 20 20 20 20 20 20 20 73 77 69 20 20 20 20 20 | swi | 000010d0 20 20 4f 53 5f 46 53 43 6f 6e 74 72 6f 6c 20 2b | OS_FSControl +| 000010e0 20 58 4f 53 0d 0a 20 20 20 20 20 20 20 20 20 20 | XOS.. | 000010f0 73 74 6d 69 61 20 20 20 20 20 6e 69 6c 2c 20 7b |stmia nil, {| 00001100 61 32 2d 61 33 7d 20 20 20 20 20 20 20 20 20 3b |a2-a3} ;| 00001110 20 72 65 74 75 72 6e 73 20 61 32 2c 33 0d 0a 20 | returns a2,3.. | 00001120 20 20 20 20 20 20 20 20 20 6d 6f 76 20 20 20 20 | mov | 00001130 20 20 20 72 62 2c 20 23 30 0d 0a 20 20 20 20 20 | rb, #0.. | 00001140 20 20 20 20 20 6d 76 6e 76 73 20 20 20 20 20 72 | mvnvs r| 00001150 62 2c 20 23 30 0d 0a 20 20 20 20 20 20 20 20 20 |b, #0.. | 00001160 20 73 74 72 20 20 20 20 20 20 20 72 62 2c 20 5b | str rb, [| 00001170 72 67 2c 20 23 52 65 73 75 6c 74 32 5d 20 20 3b |rg, #Result2] ;| 00001180 20 72 65 74 75 72 6e 73 20 66 61 75 6c 74 0d 0a | returns fault..| 00001190 20 20 20 20 20 20 20 20 20 20 6c 64 6d 65 61 20 | ldmea | 000011a0 20 20 20 20 72 74 73 21 2c 20 7b 61 34 2c 20 72 | rts!, {a4, r| 000011b0 35 7d 0d 0a 20 20 20 20 20 20 20 20 20 20 73 74 |5}.. st| 000011c0 72 62 20 20 20 20 20 20 72 35 2c 20 5b 61 34 5d |rb r5, [a4]| 000011d0 20 20 20 20 20 20 20 20 20 20 20 20 3b 20 72 65 | ; re| 000011e0 73 74 6f 72 65 20 74 65 72 6d 69 6e 61 74 6f 72 |store terminator| 000011f0 0d 0a 20 20 20 20 20 20 20 20 20 20 6d 6f 76 20 |.. mov | 00001200 20 20 20 20 20 20 61 34 2c 20 6e 69 6c 2c 20 6c | a4, nil, l| 00001210 73 72 20 23 32 0d 0a 20 20 20 20 20 20 20 20 20 |sr #2.. | 00001220 20 6c 64 6d 65 61 20 20 20 20 20 72 74 73 21 2c | ldmea rts!,| 00001230 20 7b 72 67 62 2c 20 6e 69 6c 7d 0d 0a 20 20 20 | {rgb, nil}.. | 00001240 20 20 20 20 20 20 20 6d 6f 76 20 20 20 20 20 20 | mov | 00001250 20 70 63 2c 20 6c 72 0d 0a 20 20 20 20 20 20 20 | pc, lr.. | 00001260 20 20 20 2e 6c 6f 6e 67 20 20 20 20 20 2d 31 0d | .long -1.| 00001270 0a 20 20 20 20 20 20 20 20 20 20 2e 61 73 63 69 |. .asci| 00001280 63 20 20 20 20 22 4f 53 52 64 55 6e 73 22 0d 0a |c "OSRdUns"..| 00001290 4f 53 52 65 61 64 55 6e 73 69 67 6e 65 64 3a 0d |OSReadUnsigned:.| 000012a0 0a 20 20 20 20 20 20 20 20 20 20 6d 6f 76 20 20 |. mov | 000012b0 20 20 20 20 20 72 30 2c 20 61 31 20 20 20 20 20 | r0, a1 | 000012c0 20 20 20 20 20 20 20 20 20 20 3b 20 62 61 73 65 | ; base| 000012d0 0d 0a 20 20 20 20 20 20 20 20 20 20 6d 6f 76 20 |.. mov | 000012e0 20 20 20 20 20 20 61 31 2c 20 61 33 0d 0a 20 20 | a1, a3.. | 000012f0 20 20 20 20 20 20 20 20 61 64 64 20 20 20 20 20 | add | 00001300 20 20 61 31 2c 20 61 31 2c 20 61 32 2c 20 6c 73 | a1, a1, a2, ls| 00001310 6c 20 23 32 20 20 3b 20 62 63 70 6c 20 73 74 72 |l #2 ; bcpl str| 00001320 69 6e 67 20 61 32 25 61 33 0d 0a 20 20 20 20 20 |ing a2%a3.. | 00001330 20 20 20 20 20 6d 6f 76 20 20 20 20 20 20 20 61 | mov a| 00001340 32 2c 20 61 34 20 20 20 20 20 20 20 20 20 20 20 |2, a4 | 00001350 20 20 20 3b 20 6d 61 78 20 76 61 6c 0d 0a 20 20 | ; max val.. | 00001360 20 20 20 20 20 20 20 20 73 77 69 20 20 20 20 20 | swi | 00001370 20 20 4f 53 5f 52 65 61 64 55 6e 73 69 67 6e 65 | OS_ReadUnsigne| 00001380 64 20 2b 20 58 4f 53 0d 0a 20 20 20 20 20 20 20 |d + XOS.. | 00001390 20 20 20 73 74 72 20 20 20 20 20 20 20 61 31 2c | str a1,| 000013a0 20 5b 20 72 67 2c 20 23 52 65 73 75 6c 74 32 20 | [ rg, #Result2 | 000013b0 5d 20 20 20 20 20 3b 20 54 65 72 6d 69 6e 61 74 |] ; Terminat| 000013c0 6f 72 20 74 6f 20 52 65 73 75 6c 74 32 0d 0a 20 |or to Result2.. | 000013d0 20 20 20 20 20 20 20 20 20 6d 6f 76 20 20 20 20 | mov | 000013e0 20 20 20 61 31 2c 20 61 32 0d 0a 20 20 20 20 20 | a1, a2.. | 000013f0 20 20 20 20 20 6d 6f 76 20 20 20 20 20 20 20 70 | mov p| 00001400 63 2c 20 6c 72 0d 0a 20 20 20 20 20 20 20 20 20 |c, lr.. | 00001410 20 2e 6c 6f 6e 67 20 20 20 20 20 2d 31 0d 0a 20 | .long -1.. | 00001420 20 20 20 20 20 20 20 20 20 2e 61 73 63 69 63 20 | .ascic | 00001430 20 20 20 22 4f 53 52 64 76 61 72 22 0d 0a 4f 53 | "OSRdvar"..OS| 00001440 52 65 61 64 56 61 72 56 61 6c 3a 0d 0a 20 20 20 |ReadVarVal:.. | 00001450 20 20 20 20 20 20 20 6c 64 72 20 20 20 20 20 20 | ldr | 00001460 20 72 30 2c 20 5b 70 63 2c 20 23 72 76 76 2d 24 | r0, [pc, #rvv-$| 00001470 2d 38 5d 0d 0a 72 73 76 76 3a 20 20 20 20 20 73 |-8]..rsvv: s| 00001480 74 72 20 20 20 20 20 20 20 72 30 2c 20 5b 70 63 |tr r0, [pc| 00001490 2c 20 23 73 77 69 76 76 2d 24 2d 38 5d 0d 0a 20 |, #swivv-$-8].. | 000014a0 20 20 20 20 20 20 20 20 20 6d 6f 76 20 20 20 20 | mov | 000014b0 20 20 20 72 30 2c 20 23 31 0d 0a 20 20 20 20 20 | r0, #1.. | 000014c0 20 20 20 20 20 61 64 64 20 20 20 20 20 20 20 72 | add r| 000014d0 30 2c 20 72 30 2c 20 61 31 2c 20 6c 73 6c 20 23 |0, r0, a1, lsl #| 000014e0 32 20 20 3b 20 6e 61 6d 65 0d 0a 20 20 20 20 20 |2 ; name.. | 000014f0 20 20 20 20 20 63 6d 70 20 20 20 20 20 20 20 61 | cmp a| 00001500 32 2c 20 23 30 0d 0a 20 20 20 20 20 20 20 20 20 |2, #0.. | 00001510 20 6d 6f 76 67 65 20 20 20 20 20 61 31 2c 20 23 | movge a1, #| 00001520 31 0d 0a 20 20 20 20 20 20 20 20 20 20 61 64 64 |1.. add| 00001530 67 65 20 20 20 20 20 61 31 2c 20 61 31 2c 20 61 |ge a1, a1, a| 00001540 32 2c 20 6c 73 6c 20 23 32 20 20 3b 20 42 43 50 |2, lsl #2 ; BCP| 00001550 4c 20 57 6f 72 64 20 62 75 66 66 65 72 20 69 66 |L Word buffer if| 00001560 20 70 32 20 3e 3d 20 30 0d 0a 20 20 20 20 20 20 | p2 >= 0.. | 00001570 20 20 20 20 73 75 62 6c 74 20 20 20 20 20 61 32 | sublt a2| 00001580 2c 20 61 32 2c 20 23 31 0d 0a 20 20 20 20 20 20 |, a2, #1.. | 00001590 20 20 20 20 6d 76 6e 6c 74 20 20 20 20 20 61 31 | mvnlt a1| 000015a0 2c 20 61 32 20 20 20 20 20 20 20 20 20 20 20 20 |, a2 | 000015b0 20 20 3b 20 42 79 74 65 20 42 75 66 66 65 72 20 | ; Byte Buffer | 000015c0 69 66 20 70 32 20 3c 20 30 0d 0a 20 20 20 20 20 |if p2 < 0.. | 000015d0 20 20 20 20 20 6d 6f 76 20 20 20 20 20 20 20 72 | mov r| 000015e0 62 2c 20 61 33 2c 20 6c 73 6c 20 23 32 20 20 20 |b, a3, lsl #2 | 000015f0 20 20 20 3b 20 41 72 67 73 0d 0a 20 20 20 20 20 | ; Args.. | 00001600 20 20 20 20 20 6c 64 6d 69 61 20 20 20 20 20 72 | ldmia r| 00001610 62 2c 20 7b 20 61 32 20 2d 20 61 34 20 7d 20 20 |b, { a2 - a4 } | 00001620 20 20 20 3b 20 52 32 2d 34 20 66 72 6f 6d 20 76 | ; R2-4 from v| 00001630 65 63 74 6f 72 0d 0a 20 20 20 20 20 20 20 20 20 |ector.. | 00001640 20 63 6d 70 20 20 20 20 20 20 20 61 34 2c 20 23 | cmp a4, #| 00001650 31 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b |1 ;| 00001660 20 4e 75 6d 62 65 72 20 3f 0d 0a 20 20 20 20 20 | Number ?.. | 00001670 20 20 20 20 20 73 75 62 65 71 20 20 20 20 20 61 | subeq a| 00001680 31 2c 20 61 31 2c 20 23 31 0d 0a 73 77 69 76 76 |1, a1, #1..swivv| 00001690 3a 20 20 20 20 2e 6c 6f 6e 67 20 20 20 20 20 30 |: .long 0| 000016a0 0d 0a 20 20 20 20 20 20 20 20 20 20 73 74 6d 69 |.. stmi| 000016b0 61 20 20 20 20 20 72 62 2c 20 7b 20 61 32 20 2d |a rb, { a2 -| 000016c0 20 61 34 20 7d 20 20 20 20 20 3b 20 52 32 2d 34 | a4 } ; R2-4| 000016d0 20 74 6f 20 76 65 63 74 6f 72 0d 0a 20 20 20 20 | to vector.. | 000016e0 20 20 20 20 20 20 6d 6f 76 20 20 20 20 20 20 20 | mov | 000016f0 70 63 2c 20 6c 72 0d 0a 72 76 76 3a 20 20 20 20 |pc, lr..rvv: | 00001700 20 20 73 77 69 20 20 20 20 20 20 20 4f 53 5f 52 | swi OS_R| 00001710 65 61 64 56 61 72 56 61 6c 2b 58 4f 53 0d 0a 20 |eadVarVal+XOS.. | 00001720 20 20 20 20 20 20 20 20 20 2e 6c 6f 6e 67 20 20 | .long | 00001730 20 20 20 2d 31 0d 0a 20 20 20 20 20 20 20 20 20 | -1.. | 00001740 20 2e 61 73 63 69 63 20 20 20 20 22 4f 53 53 65 | .ascic "OSSe| 00001750 74 76 76 22 0d 0a 4f 53 53 65 74 56 61 72 56 61 |tvv"..OSSetVarVa| 00001760 6c 3a 0d 0a 20 20 20 20 20 20 20 20 20 20 6c 64 |l:.. ld| 00001770 72 20 20 20 20 20 20 20 72 30 2c 20 5b 70 63 2c |r r0, [pc,| 00001780 20 23 73 76 76 2d 24 2d 38 5d 0d 0a 20 20 20 20 | #svv-$-8].. | 00001790 20 20 20 20 20 20 62 20 20 20 20 20 20 20 20 20 | b | 000017a0 72 73 76 76 0d 0a 73 76 76 3a 20 20 20 20 20 20 |rsvv..svv: | 000017b0 73 77 69 20 20 20 20 20 20 20 4f 53 5f 53 65 74 |swi OS_Set| 000017c0 56 61 72 56 61 6c 0d 0a 20 20 20 20 20 20 20 20 |VarVal.. | 000017d0 20 20 2e 6c 6f 6e 67 20 20 20 20 20 2d 31 0d 0a | .long -1..| 000017e0 20 20 20 20 20 20 20 20 20 20 2e 61 73 63 69 63 | .ascic| 000017f0 20 20 20 20 22 4f 53 45 76 45 78 70 22 0d 0a 4f | "OSEvExp"..O| 00001800 53 45 76 61 6c 75 61 74 65 45 78 70 72 65 73 73 |SEvaluateExpress| 00001810 69 6f 6e 3a 0d 0a 20 20 20 20 20 20 20 20 20 20 |ion:.. | 00001820 6d 6f 76 20 20 20 20 20 20 20 72 30 2c 20 23 31 |mov r0, #1| 00001830 0d 0a 20 20 20 20 20 20 20 20 20 20 61 64 64 20 |.. add | 00001840 20 20 20 20 20 20 72 30 2c 20 72 30 2c 20 61 31 | r0, r0, a1| 00001850 2c 20 6c 73 6c 20 23 32 20 20 3b 20 53 74 72 69 |, lsl #2 ; Stri| 00001860 6e 67 0d 0a 20 20 20 20 20 20 20 20 20 20 6d 6f |ng.. mo| 00001870 76 20 20 20 20 20 20 20 61 31 2c 20 23 31 0d 0a |v a1, #1..| 00001880 20 20 20 20 20 20 20 20 20 20 61 64 64 20 20 20 | add | 00001890 20 20 20 20 61 31 2c 20 61 31 2c 20 61 32 2c 20 | a1, a1, a2, | 000018a0 6c 73 6c 20 23 32 20 20 3b 20 42 75 66 66 65 72 |lsl #2 ; Buffer| 000018b0 0d 0a 20 20 20 20 20 20 20 20 20 20 6d 6f 76 20 |.. mov | 000018c0 20 20 20 20 20 20 72 62 2c 20 61 31 0d 0a 20 20 | rb, a1.. | 000018d0 20 20 20 20 20 20 20 20 6d 6f 76 20 20 20 20 20 | mov | 000018e0 20 20 61 32 2c 20 61 33 20 20 20 20 20 20 20 20 | a2, a3 | 000018f0 20 20 20 20 20 20 3b 20 6c 65 6e 67 74 68 20 6f | ; length o| 00001900 66 20 42 75 66 66 65 72 0d 0a 20 20 20 20 20 20 |f Buffer.. | 00001910 20 20 20 20 73 77 69 20 20 20 20 20 20 20 4f 53 | swi OS| 00001920 5f 45 76 61 6c 75 61 74 65 45 78 70 72 65 73 73 |_EvaluateExpress| 00001930 69 6f 6e 0d 0a 72 65 73 32 3a 20 20 20 20 20 73 |ion..res2: s| 00001940 74 72 20 20 20 20 20 20 20 61 32 2c 20 5b 20 72 |tr a2, [ r| 00001950 67 2c 20 23 52 65 73 75 6c 74 32 20 5d 20 20 20 |g, #Result2 ] | 00001960 20 20 3b 20 56 61 6c 2f 4c 65 6e 67 74 68 20 74 | ; Val/Length t| 00001970 6f 20 52 65 73 75 6c 74 32 0d 0a 20 20 20 20 20 |o Result2.. | 00001980 20 20 20 20 20 6d 6f 76 20 20 20 20 20 20 20 61 | mov a| 00001990 31 2c 20 72 30 20 20 20 20 20 20 20 20 20 20 20 |1, r0 | 000019a0 20 20 20 3b 20 74 79 70 65 20 72 65 73 75 6c 74 | ; type result| 000019b0 0d 0a 20 20 20 20 20 20 20 20 20 20 6d 6f 76 20 |.. mov | 000019c0 20 20 20 20 20 20 70 63 2c 20 6c 72 0d 0a 20 20 | pc, lr.. | 000019d0 20 20 20 20 20 20 20 20 2e 6c 6f 6e 67 20 20 20 | .long | 000019e0 20 20 2d 31 0d 0a 20 20 20 20 20 20 20 20 20 20 | -1.. | 000019f0 2e 61 73 63 69 63 20 20 20 20 22 4f 53 57 72 74 |.ascic "OSWrt| 00001a00 65 4e 22 0d 0a 4f 53 57 72 69 74 65 4e 3a 20 63 |eN"..OSWriteN: c| 00001a10 6d 70 20 20 20 20 20 20 20 61 32 2c 20 23 30 0d |mp a2, #0.| 00001a20 0a 20 20 20 20 20 20 20 20 20 20 6d 6f 76 6c 65 |. movle| 00001a30 20 20 20 20 20 70 63 2c 20 6c 72 0d 0a 20 20 20 | pc, lr.. | 00001a40 20 20 20 20 20 20 20 6d 6f 76 20 20 20 20 20 20 | mov | 00001a50 20 72 30 2c 20 61 31 20 20 20 20 20 20 20 20 20 | r0, a1 | 00001a60 20 20 20 20 20 3b 20 53 74 72 69 6e 67 0d 0a 20 | ; String.. | 00001a70 20 20 20 20 20 20 20 20 20 6d 6f 76 20 20 20 20 | mov | 00001a80 20 20 20 61 31 2c 20 61 32 20 20 20 20 20 20 20 | a1, a2 | 00001a90 20 20 20 20 20 20 20 3b 20 4c 65 6e 67 74 68 0d | ; Length.| 00001aa0 0a 20 20 20 20 20 20 20 20 20 20 53 57 49 20 20 |. SWI | 00001ab0 20 20 20 20 20 4f 53 5f 57 72 69 74 65 4e 0d 0a | OS_WriteN..| 00001ac0 20 20 20 20 20 20 20 20 20 20 6d 6f 76 20 20 20 | mov | 00001ad0 20 20 20 20 70 63 2c 20 6c 72 0d 0a 20 20 20 20 | pc, lr.. | 00001ae0 20 20 20 20 20 20 2e 6c 6f 6e 67 20 20 20 20 20 | .long | 00001af0 2d 31 0d 0a 20 20 20 20 20 20 20 20 20 20 2e 61 |-1.. .a| 00001b00 73 63 69 63 20 20 20 20 22 4f 53 57 72 74 65 30 |scic "OSWrte0| 00001b10 22 0d 0a 4f 53 57 72 69 74 65 30 3a 20 6d 6f 76 |"..OSWrite0: mov| 00001b20 20 20 20 20 20 20 20 72 30 2c 20 61 31 0d 0a 20 | r0, a1.. | 00001b30 20 20 20 20 20 20 20 20 20 73 77 69 20 20 20 20 | swi | 00001b40 20 20 20 4f 53 5f 57 72 69 74 65 30 0d 0a 20 20 | OS_Write0.. | 00001b50 20 20 20 20 20 20 20 20 6d 6f 76 20 20 20 20 20 | mov | 00001b60 20 20 61 31 2c 20 72 30 0d 0a 20 20 20 20 20 20 | a1, r0.. | 00001b70 20 20 20 20 6d 6f 76 20 20 20 20 20 20 20 70 63 | mov pc| 00001b80 2c 20 6c 72 0d 0a 20 20 20 20 20 20 20 20 20 20 |, lr.. | 00001b90 2e 6c 6f 6e 67 20 20 20 20 20 2d 31 0d 0a 20 20 |.long -1.. | 00001ba0 20 20 20 20 20 20 20 20 2e 61 73 63 69 63 20 20 | .ascic | 00001bb0 20 20 22 4f 53 52 64 50 61 6c 22 0d 0a 4f 53 52 | "OSRdPal"..OSR| 00001bc0 65 61 64 50 61 6c 65 74 74 65 3a 0d 0a 20 20 20 |eadPalette:.. | 00001bd0 20 20 20 20 20 20 20 6d 6f 76 20 20 20 20 20 20 | mov | 00001be0 20 72 30 2c 20 61 31 0d 0a 20 20 20 20 20 20 20 | r0, a1.. | 00001bf0 20 20 20 6d 6f 76 20 20 20 20 20 20 20 61 31 2c | mov a1,| 00001c00 20 61 32 0d 0a 20 20 20 20 20 20 20 20 20 20 73 | a2.. s| 00001c10 77 69 20 20 20 20 20 20 20 4f 53 5f 52 65 61 64 |wi OS_Read| 00001c20 50 61 6c 65 74 74 65 0d 0a 20 20 20 20 20 20 20 |Palette.. | 00001c30 20 20 20 73 74 72 20 20 20 20 20 20 20 61 33 2c | str a3,| 00001c40 20 5b 20 72 67 2c 20 23 52 65 73 75 6c 74 32 20 | [ rg, #Result2 | 00001c50 5d 0d 0a 20 20 20 20 20 20 20 20 20 20 6d 6f 76 |].. mov| 00001c60 20 20 20 20 20 20 20 61 31 2c 20 61 32 0d 0a 20 | a1, a2.. | 00001c70 20 20 20 20 20 20 20 20 20 6d 6f 76 20 20 20 20 | mov | 00001c80 20 20 20 70 63 2c 20 6c 72 0d 0a 20 20 20 20 20 | pc, lr.. | 00001c90 20 20 20 20 20 2e 6c 6f 6e 67 20 20 20 20 20 2d | .long -| 00001ca0 31 0d 0a 20 20 20 20 20 20 20 20 20 20 2e 61 73 |1.. .as| 00001cb0 63 69 63 20 20 20 20 22 41 44 44 72 69 76 65 22 |cic "ADDrive"| 00001cc0 0d 0a 41 44 46 53 46 72 65 65 53 70 61 63 65 3a |..ADFSFreeSpace:| 00001cd0 0d 0a 20 20 20 20 20 20 20 20 20 20 6d 6f 76 20 |.. mov | 00001ce0 20 20 20 20 20 20 72 30 2c 20 61 31 20 20 20 20 | r0, a1 | 00001cf0 20 20 20 20 20 20 20 20 20 20 3b 20 44 72 69 76 | ; Driv| 00001d00 65 0d 0a 20 20 20 20 20 20 20 20 20 20 73 77 69 |e.. swi| 00001d10 20 20 20 20 20 20 20 41 44 46 53 5f 46 72 65 65 | ADFS_Free| 00001d20 53 70 61 63 65 0d 0a 20 20 20 20 20 20 20 20 20 |Space.. | 00001d30 20 73 74 72 20 20 20 20 20 20 20 61 31 2c 20 5b | str a1, [| 00001d40 20 72 67 2c 20 23 52 65 73 75 6c 74 32 20 5d 20 | rg, #Result2 ] | 00001d50 20 20 20 20 3b 20 4c 61 72 67 65 73 74 20 53 69 | ; Largest Si| 00001d60 6e 67 6c 65 20 61 72 65 61 0d 0a 20 20 20 20 20 |ngle area.. | 00001d70 20 20 20 20 20 6d 6f 76 20 20 20 20 20 20 20 61 | mov a| 00001d80 31 2c 20 72 30 0d 0a 20 20 20 20 20 20 20 20 20 |1, r0.. | 00001d90 20 6d 6f 76 20 20 20 20 20 20 20 70 63 2c 20 6c | mov pc, l| 00001da0 72 0d 0a 20 20 20 20 20 20 20 20 20 20 2e 6c 6f |r.. .lo| 00001db0 6e 67 20 20 20 20 20 2d 31 0d 0a 20 20 20 20 20 |ng -1.. | 00001dc0 20 20 20 20 20 2e 61 73 63 69 63 20 20 20 20 22 | .ascic "| 00001dd0 4f 53 52 64 41 72 67 22 0d 0a 4f 53 52 65 61 64 |OSRdArg"..OSRead| 00001de0 41 72 67 73 3a 0d 0a 20 20 20 20 20 20 20 20 20 |Args:.. | 00001df0 20 6d 6f 76 20 20 20 20 20 20 20 72 30 2c 20 23 | mov r0, #| 00001e00 31 0d 0a 20 20 20 20 20 20 20 20 20 20 61 64 64 |1.. add| 00001e10 20 20 20 20 20 20 20 72 30 2c 20 72 30 2c 20 61 | r0, r0, a| 00001e20 31 2c 20 6c 73 6c 20 23 32 20 20 3b 20 4b 65 79 |1, lsl #2 ; Key| 00001e30 20 64 65 66 6e 0d 0a 20 20 20 20 20 20 20 20 20 | defn.. | 00001e40 20 6d 6f 76 20 20 20 20 20 20 20 61 31 2c 20 23 | mov a1, #| 00001e50 31 0d 0a 20 20 20 20 20 20 20 20 20 20 61 64 64 |1.. add| 00001e60 20 20 20 20 20 20 20 61 31 2c 20 61 31 2c 20 61 | a1, a1, a| 00001e70 32 2c 20 6c 73 6c 20 23 32 20 20 3b 20 49 6e 70 |2, lsl #2 ; Inp| 00001e80 75 74 20 73 74 72 69 6e 67 0d 0a 20 20 20 20 20 |ut string.. | 00001e90 20 20 20 20 20 6c 64 72 20 20 20 20 20 20 20 61 | ldr a| 00001ea0 32 2c 20 5b 61 31 5d 0d 0a 20 20 20 20 20 20 20 |2, [a1].. | 00001eb0 20 20 20 63 6d 70 20 20 20 20 20 20 20 61 32 2c | cmp a2,| 00001ec0 20 23 30 0d 0a 20 20 20 20 20 20 20 20 20 20 61 | #0.. a| 00001ed0 64 64 65 71 20 20 20 20 20 61 31 2c 20 61 31 2c |ddeq a1, a1,| 00001ee0 20 23 31 0d 0a 20 20 20 20 20 20 20 20 20 20 6d | #1.. m| 00001ef0 6f 76 20 20 20 20 20 20 20 61 32 2c 20 61 33 2c |ov a2, a3,| 00001f00 20 6c 73 6c 20 23 32 20 20 20 20 20 20 3b 20 4f | lsl #2 ; O| 00001f10 75 74 70 75 74 20 76 65 63 74 6f 72 0d 0a 20 20 |utput vector.. | 00001f20 20 20 20 20 20 20 20 20 6d 6f 76 20 20 20 20 20 | mov | 00001f30 20 20 61 33 2c 20 61 34 20 20 20 20 20 20 20 20 | a3, a4 | 00001f40 20 20 20 20 20 20 3b 20 42 79 74 65 73 20 69 6e | ; Bytes in| 00001f50 20 6f 76 0d 0a 20 20 20 20 20 20 20 20 20 20 73 | ov.. s| 00001f60 77 69 20 20 20 20 20 20 20 4f 53 5f 52 65 61 64 |wi OS_Read| 00001f70 41 72 67 73 20 2b 20 58 4f 53 0d 0a 20 20 20 20 |Args + XOS.. | 00001f80 20 20 20 20 20 20 73 74 72 20 20 20 20 20 20 20 | str | 00001f90 72 33 2c 20 5b 20 72 67 2c 20 23 52 65 73 75 6c |r3, [ rg, #Resul| 00001fa0 74 32 20 5d 0d 0a 20 20 20 20 20 20 20 20 20 20 |t2 ].. | 00001fb0 6d 6f 76 20 20 20 20 20 20 20 61 31 2c 20 23 30 |mov a1, #0| 00001fc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 20 | ; | 00001fd0 4f 4b 20 72 65 74 75 72 6e 20 30 0d 0a 20 20 20 |OK return 0.. | 00001fe0 20 20 20 20 20 20 20 6d 76 6e 76 73 20 20 20 20 | mvnvs | 00001ff0 20 61 31 2c 20 23 30 20 20 20 20 20 20 20 20 20 | a1, #0 | 00002000 20 20 20 20 20 3b 20 45 72 72 6f 72 20 72 65 74 | ; Error ret| 00002010 75 72 6e 20 2d 31 0d 0a 20 20 20 20 20 20 20 20 |urn -1.. | 00002020 20 20 6d 6f 76 20 20 20 20 20 20 20 70 63 2c 20 | mov pc, | 00002030 6c 72 0d 0a 20 20 20 20 20 20 20 20 20 20 2e 6c |lr.. .l| 00002040 6f 6e 67 20 20 20 20 20 2d 31 0d 0a 20 20 20 20 |ong -1.. | 00002050 20 20 20 20 20 20 2e 61 73 63 69 63 20 20 20 20 | .ascic | 00002060 22 4f 53 42 74 6f 41 20 22 0d 0a 4f 53 43 6f 6e |"OSBtoA "..OSCon| 00002070 76 65 72 74 3a 0d 0a 20 20 20 20 20 20 20 20 20 |vert:.. | 00002080 20 6c 64 72 20 20 20 20 20 20 20 72 35 2c 20 5b | ldr r5, [| 00002090 70 63 2c 20 23 73 77 69 30 2d 24 2d 38 5d 0d 0a |pc, #swi0-$-8]..| 000020a0 20 20 20 20 20 20 20 20 20 20 63 6d 70 20 20 20 | cmp | 000020b0 20 20 20 20 61 34 2c 20 23 30 0d 0a 20 20 20 20 | a4, #0.. | 000020c0 20 20 20 20 20 20 73 75 62 6c 65 20 20 20 20 20 | suble | 000020d0 72 35 2c 20 72 35 2c 20 61 34 20 20 20 20 20 20 |r5, r5, a4 | 000020e0 20 20 20 20 3b 20 64 65 63 72 20 2d 76 65 20 61 | ; decr -ve a| 000020f0 34 20 2d 3e 20 42 79 74 65 2d 61 64 64 72 65 73 |4 -> Byte-addres| 00002100 73 65 64 20 62 75 66 66 65 72 0d 0a 20 20 20 20 |sed buffer.. | 00002110 20 20 20 20 20 20 61 64 64 67 74 20 20 20 20 20 | addgt | 00002120 72 35 2c 20 72 35 2c 20 61 34 0d 0a 20 20 20 20 |r5, r5, a4.. | 00002130 20 20 20 20 20 20 73 74 72 20 20 20 20 20 20 20 | str | 00002140 72 35 2c 20 5b 70 63 2c 20 23 73 77 69 64 2d 24 |r5, [pc, #swid-$| 00002150 2d 38 5d 0d 0a 20 20 20 20 20 20 20 20 20 20 6d |-8].. m| 00002160 6f 76 20 20 20 20 20 20 20 72 30 2c 20 61 31 0d |ov r0, a1.| 00002170 0a 20 20 20 20 20 20 20 20 20 20 6d 6f 76 6c 65 |. movle| 00002180 20 20 20 20 20 61 31 2c 20 61 32 20 20 20 20 20 | a1, a2 | 00002190 20 20 20 20 20 20 20 20 20 3b 20 62 79 74 65 20 | ; byte | 000021a0 61 64 64 72 0d 0a 20 20 20 20 20 20 20 20 20 20 |addr.. | 000021b0 6d 6f 76 67 74 20 20 20 20 20 61 31 2c 20 61 32 |movgt a1, a2| 000021c0 2c 20 6c 73 6c 20 23 32 20 20 20 20 20 20 3b 20 |, lsl #2 ; | 000021d0 77 6f 72 64 20 61 64 64 72 0d 0a 20 20 20 20 20 |word addr.. | 000021e0 20 20 20 20 20 6d 6f 76 20 20 20 20 20 20 20 61 | mov a| 000021f0 32 2c 20 61 33 0d 0a 73 77 69 64 3a 20 20 20 20 |2, a3..swid: | 00002200 20 2e 6c 6f 6e 67 20 20 20 20 20 30 0d 0a 20 20 | .long 0.. | 00002210 20 20 20 20 20 20 20 20 73 75 62 20 20 20 20 20 | sub | 00002220 20 20 61 31 2c 20 61 31 2c 20 72 30 20 20 20 20 | a1, a1, r0 | 00002230 20 20 20 20 20 20 3b 20 54 65 78 74 20 6c 65 6e | ; Text len| 00002240 67 74 68 20 28 6e 65 78 74 20 30 29 0d 0a 20 20 |gth (next 0).. | 00002250 20 20 20 20 20 20 20 20 6d 6f 76 20 20 20 20 20 | mov | 00002260 20 20 70 63 2c 20 6c 72 0d 0a 73 77 69 30 3a 20 | pc, lr..swi0: | 00002270 20 20 20 20 73 77 69 20 20 20 20 20 20 20 4f 53 | swi OS| 00002280 5f 57 72 69 74 65 43 20 20 20 20 20 20 20 20 20 |_WriteC | 00002290 20 20 3b 30 0d 0a 20 20 20 20 20 20 20 20 20 20 | ;0.. | 000022a0 2e 6c 6f 6e 67 20 20 20 20 20 2d 31 0d 0a 20 20 |.long -1.. | 000022b0 20 20 20 20 20 20 20 20 2e 61 73 63 69 63 20 20 | .ascic | 000022c0 20 20 22 4f 53 4d 6f 64 75 6c 22 0d 0a 4f 53 4d | "OSModul"..OSM| 000022d0 6f 64 75 6c 65 3a 20 6d 6f 76 20 20 20 20 20 20 |odule: mov | 000022e0 20 72 30 2c 20 61 31 0d 0a 20 20 20 20 20 20 20 | r0, a1.. | 000022f0 20 20 20 6d 6f 76 20 20 20 20 20 20 20 61 31 2c | mov a1,| 00002300 20 61 32 0d 0a 20 20 20 20 20 20 20 20 20 20 6d | a2.. m| 00002310 6f 76 20 20 20 20 20 20 20 72 62 2c 20 61 33 2c |ov rb, a3,| 00002320 20 6c 73 6c 20 23 32 0d 0a 20 20 20 20 20 20 20 | lsl #2.. | 00002330 20 20 20 6c 64 6d 69 61 20 20 20 20 20 72 62 2c | ldmia rb,| 00002340 20 7b 20 61 32 2d 61 33 20 7d 0d 0a 20 20 20 20 | { a2-a3 }.. | 00002350 20 20 20 20 20 20 73 77 69 20 20 20 20 20 20 20 | swi | 00002360 4f 53 5f 4d 6f 64 75 6c 65 0d 0a 20 20 20 20 20 |OS_Module.. | 00002370 20 20 20 20 20 73 74 6d 69 61 20 20 20 20 20 72 | stmia r| 00002380 62 2c 20 7b 61 32 2d 72 35 7d 0d 0a 20 20 20 20 |b, {a2-r5}.. | 00002390 20 20 20 20 20 20 73 74 72 20 20 20 20 20 20 20 | str | 000023a0 61 31 2c 20 5b 72 67 2c 20 23 52 65 73 75 6c 74 |a1, [rg, #Result| 000023b0 32 5d 0d 0a 20 20 20 20 20 20 20 20 20 20 6d 6f |2].. mo| 000023c0 76 20 20 20 20 20 20 20 61 31 2c 20 61 32 0d 0a |v a1, a2..| 000023d0 20 20 20 20 20 20 20 20 20 20 6d 6f 76 20 20 20 | mov | 000023e0 20 20 20 20 70 63 2c 20 6c 72 0d 0a 20 20 20 20 | pc, lr.. | 000023f0 20 20 20 20 20 20 2e 6c 6f 6e 67 20 20 20 20 20 | .long | 00002400 2d 31 0d 0a 20 20 20 20 20 20 20 20 20 20 2e 61 |-1.. .a| 00002410 73 63 69 63 20 20 20 20 22 4f 53 48 65 61 70 20 |scic "OSHeap | 00002420 22 0d 0a 4f 53 48 65 61 70 3a 20 20 20 6d 6f 76 |"..OSHeap: mov| 00002430 20 20 20 20 20 20 20 72 30 2c 20 61 31 0d 0a 20 | r0, a1.. | 00002440 20 20 20 20 20 20 20 20 20 6d 6f 76 20 20 20 20 | mov | 00002450 20 20 20 61 31 2c 20 61 32 0d 0a 20 20 20 20 20 | a1, a2.. | 00002460 20 20 20 20 20 6d 6f 76 20 20 20 20 20 20 20 61 | mov a| 00002470 32 2c 20 61 33 2c 20 6c 73 6c 20 23 32 0d 0a 20 |2, a3, lsl #2.. | 00002480 20 20 20 20 20 20 20 20 20 6d 6f 76 20 20 20 20 | mov | 00002490 20 20 20 61 33 2c 20 61 34 0d 0a 20 20 20 20 20 | a3, a4.. | 000024a0 20 20 20 20 20 73 77 69 20 20 20 20 20 20 20 4f | swi O| 000024b0 53 5f 48 65 61 70 0d 0a 20 20 20 20 20 20 20 20 |S_Heap.. | 000024c0 20 20 6d 6f 76 20 20 20 20 20 20 20 61 31 2c 20 | mov a1, | 000024d0 61 33 0d 0a 20 20 20 20 20 20 20 20 20 20 73 74 |a3.. st| 000024e0 72 20 20 20 20 20 20 20 61 32 2c 20 5b 20 72 67 |r a2, [ rg| 000024f0 2c 20 23 52 65 73 75 6c 74 32 20 5d 0d 0a 20 20 |, #Result2 ].. | 00002500 20 20 20 20 20 20 20 20 6d 6f 76 20 20 20 20 20 | mov | 00002510 20 20 70 63 2c 20 6c 72 0d 0a 20 20 20 20 20 20 | pc, lr.. | 00002520 20 20 20 20 2e 6c 6f 6e 67 20 20 20 20 20 2d 31 | .long -1| 00002530 0d 0a 20 20 20 20 20 20 20 20 20 20 2e 61 73 63 |.. .asc| 00002540 69 63 20 20 20 20 22 4f 53 52 4d 54 69 6d 22 0d |ic "OSRMTim".| 00002550 0a 4f 53 52 65 61 64 4d 6f 6e 6f 74 6f 6e 69 63 |.OSReadMonotonic| 00002560 54 69 6d 65 3a 0d 0a 20 20 20 20 20 20 20 20 20 |Time:.. | 00002570 20 73 77 69 20 20 20 20 20 20 20 4f 53 5f 52 65 | swi OS_Re| 00002580 61 64 4d 6f 6e 6f 74 6f 6e 69 63 54 69 6d 65 0d |adMonotonicTime.| 00002590 0a 20 20 20 20 20 20 20 20 20 20 6d 6f 76 20 20 |. mov | 000025a0 20 20 20 20 20 61 31 2c 20 72 30 0d 0a 20 20 20 | a1, r0.. | 000025b0 20 20 20 20 20 20 20 6d 6f 76 20 20 20 20 20 20 | mov | 000025c0 20 70 63 2c 20 6c 72 0d 0a 20 20 20 20 20 20 20 | pc, lr.. | 000025d0 20 20 20 2e 6c 6f 6e 67 20 20 20 20 20 2d 31 0d | .long -1.| 000025e0 0a 20 20 20 20 20 20 20 20 20 20 2e 61 73 63 69 |. .asci| 000025f0 63 20 20 20 20 20 22 4f 53 52 65 6d 63 72 22 0d |c "OSRemcr".| 00002600 0a 4f 53 52 65 6d 6f 76 65 43 75 72 73 6f 72 73 |.OSRemoveCursors| 00002610 3a 0d 0a 20 20 20 20 20 20 20 20 20 20 73 77 69 |:.. swi| 00002620 20 20 20 20 20 20 20 4f 53 5f 52 65 6d 6f 76 65 | OS_Remove| 00002630 43 75 72 73 6f 72 73 0d 0a 20 20 20 20 20 20 20 |Cursors.. | 00002640 20 20 20 6d 6f 76 20 20 20 20 20 20 20 70 63 2c | mov pc,| 00002650 20 6c 72 0d 0a 20 20 20 20 20 20 20 20 20 20 2e | lr.. .| 00002660 6c 6f 6e 67 20 20 20 20 20 2d 31 0d 0a 20 20 20 |long -1.. | 00002670 20 20 20 20 20 20 20 2e 61 73 63 69 63 20 20 20 | .ascic | 00002680 20 22 4f 53 52 65 73 63 72 22 0d 0a 4f 53 52 65 | "OSRescr"..OSRe| 00002690 73 74 6f 72 65 43 75 72 73 6f 72 73 3a 0d 0a 20 |storeCursors:.. | 000026a0 20 20 20 20 20 20 20 20 20 73 77 69 20 20 20 20 | swi | 000026b0 20 20 20 4f 53 5f 52 65 73 74 6f 72 65 43 75 72 | OS_RestoreCur| 000026c0 73 6f 72 73 0d 0a 20 20 20 20 20 20 20 20 20 20 |sors.. | 000026d0 6d 6f 76 20 20 20 20 20 20 20 70 63 2c 20 6c 72 |mov pc, lr| 000026e0 0d 0a 20 20 20 20 20 20 20 20 20 20 2e 6c 6f 6e |.. .lon| 000026f0 67 20 20 20 20 20 2d 31 0d 0a 20 20 20 20 20 20 |g -1.. | 00002700 20 20 20 20 2e 61 73 63 69 63 20 20 20 20 22 4f | .ascic "O| 00002710 53 50 72 69 6e 74 22 0d 0a 4f 53 50 72 69 6e 74 |SPrint"..OSPrint| 00002720 43 68 61 72 3a 0d 0a 20 20 20 20 20 20 20 20 20 |Char:.. | 00002730 20 6d 6f 76 20 20 20 20 20 20 20 72 30 2c 20 61 | mov r0, a| 00002740 31 0d 0a 20 20 20 20 20 20 20 20 20 20 73 77 69 |1.. swi| 00002750 20 20 20 20 20 20 20 4f 53 5f 50 72 69 6e 74 43 | OS_PrintC| 00002760 68 61 72 0d 0a 20 20 20 20 20 20 20 20 20 20 6d |har.. m| 00002770 6f 76 20 20 20 20 20 20 20 70 63 2c 20 6c 72 0d |ov pc, lr.| 00002780 0a 20 20 20 20 20 20 20 20 20 20 2e 6c 6f 6e 67 |. .long| 00002790 20 20 20 20 20 2d 31 0d 0a 20 20 20 20 20 20 20 | -1.. | 000027a0 20 20 20 2e 61 73 63 69 63 20 20 20 20 22 4f 53 | .ascic "OS| 000027b0 52 64 56 64 75 22 0d 0a 4f 53 52 65 61 64 56 64 |RdVdu"..OSReadVd| 000027c0 75 56 61 72 69 61 62 6c 65 73 3a 0d 0a 20 20 20 |uVariables:.. | 000027d0 20 20 20 20 20 20 20 6d 6f 76 20 20 20 20 20 20 | mov | 000027e0 20 72 30 2c 20 61 31 2c 20 6c 73 6c 20 23 32 0d | r0, a1, lsl #2.| 000027f0 0a 20 20 20 20 20 20 20 20 20 20 6d 6f 76 20 20 |. mov | 00002800 20 20 20 20 20 61 31 2c 20 61 32 2c 20 6c 73 6c | a1, a2, lsl| 00002810 20 23 32 0d 0a 20 20 20 20 20 20 20 20 20 20 73 | #2.. s| 00002820 77 69 20 20 20 20 20 20 20 4f 53 5f 52 65 61 64 |wi OS_Read| 00002830 56 64 75 56 61 72 69 61 62 6c 65 73 0d 0a 20 20 |VduVariables.. | 00002840 20 20 20 20 20 20 20 20 6d 6f 76 20 20 20 20 20 | mov | 00002850 20 20 70 63 2c 20 6c 72 0d 0a 20 20 20 20 20 20 | pc, lr.. | 00002860 20 20 20 20 2e 6c 6f 6e 67 20 20 20 20 20 2d 31 | .long -1| 00002870 0d 0a 20 20 20 20 20 20 20 20 20 20 2e 61 73 63 |.. .asc| 00002880 69 63 20 20 20 20 20 22 4f 53 4d 6f 75 73 65 22 |ic "OSMouse"| 00002890 0d 0a 4f 53 4d 6f 75 73 65 3a 20 20 6d 6f 76 20 |..OSMouse: mov | 000028a0 20 20 20 20 20 20 72 62 2c 20 61 31 2c 20 6c 73 | rb, a1, ls| 000028b0 6c 20 23 32 0d 0a 20 20 20 20 20 20 20 20 20 20 |l #2.. | 000028c0 73 77 69 20 20 20 20 20 20 20 4f 53 5f 4d 6f 75 |swi OS_Mou| 000028d0 73 65 0d 0a 20 20 20 20 20 20 20 20 20 20 73 74 |se.. st| 000028e0 6d 69 61 20 20 20 20 20 72 62 2c 20 7b 72 30 20 |mia rb, {r0 | 000028f0 2d 20 61 33 7d 0d 0a 20 20 20 20 20 20 20 20 20 |- a3}.. | 00002900 20 6d 6f 76 20 20 20 20 20 20 20 70 63 2c 20 6c | mov pc, l| 00002910 72 0d 0a 20 20 20 20 20 20 20 20 20 20 2e 6c 6f |r.. .lo| 00002920 6e 67 20 20 20 20 20 2d 31 0d 0a 20 20 20 20 20 |ng -1.. | 00002930 20 20 20 20 20 2e 61 73 63 69 63 20 20 20 20 22 | .ascic "| 00002940 4f 53 53 70 72 4f 70 22 0d 0a 4f 53 53 70 72 69 |OSSprOp"..OSSpri| 00002950 74 65 4f 70 3a 0d 0a 20 20 20 20 20 20 20 20 20 |teOp:.. | 00002960 20 6d 6f 76 20 20 20 20 20 20 20 72 30 2c 20 61 | mov r0, a| 00002970 31 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b |1 ;| 00002980 20 52 65 61 73 6f 6e 20 43 6f 64 65 0d 0a 20 20 | Reason Code.. | 00002990 20 20 20 20 20 20 20 20 6d 6f 76 20 20 20 20 20 | mov | 000029a0 20 20 61 31 2c 20 61 32 2c 20 6c 73 6c 20 23 32 | a1, a2, lsl #2| 000029b0 20 20 20 20 20 20 3b 20 43 6f 6e 74 72 6f 6c 20 | ; Control | 000029c0 42 6c 6f 63 6b 0d 0a 20 20 20 20 20 20 20 20 20 |Block.. | 000029d0 20 6d 6f 76 20 20 20 20 20 20 20 61 32 2c 20 61 | mov a2, a| 000029e0 33 2c 20 6c 73 6c 20 23 32 0d 0a 20 20 20 20 20 |3, lsl #2.. | 000029f0 20 20 20 20 20 61 64 64 20 20 20 20 20 20 20 61 | add a| 00002a00 32 2c 20 61 32 2c 20 23 31 20 20 20 20 20 20 20 |2, a2, #1 | 00002a10 20 20 20 3b 20 50 61 74 68 20 4e 61 6d 65 0d 0a | ; Path Name..| 00002a20 20 20 20 20 20 20 20 20 20 20 73 74 72 20 20 20 | str | 00002a30 20 20 20 20 72 67 62 2c 20 5b 70 63 2c 20 23 73 | rgb, [pc, #s| 00002a40 72 67 62 2d 24 2d 38 5d 0d 0a 20 20 20 20 20 20 |rgb-$-8].. | 00002a50 20 20 20 20 6c 64 6d 69 61 20 20 20 20 20 72 62 | ldmia rb| 00002a60 2c 20 7b 61 33 2d 72 67 62 20 7d 0d 0a 20 20 20 |, {a3-rgb }.. | 00002a70 20 20 20 20 20 20 20 73 77 69 20 20 20 20 20 20 | swi | 00002a80 20 4f 53 5f 53 70 72 69 74 65 4f 70 0d 0a 20 20 | OS_SpriteOp.. | 00002a90 20 20 20 20 20 20 20 20 73 74 6d 65 61 20 20 20 | stmea | 00002aa0 20 20 72 62 2c 20 7b 61 33 2d 72 67 62 7d 0d 0a | rb, {a3-rgb}..| 00002ab0 20 20 20 20 20 20 20 20 20 20 6c 64 72 20 20 20 | ldr | 00002ac0 20 20 20 20 72 67 62 2c 20 5b 70 63 2c 20 23 73 | rgb, [pc, #s| 00002ad0 72 67 62 2d 24 2d 38 5d 0d 0a 20 20 20 20 20 20 |rgb-$-8].. | 00002ae0 20 20 20 20 6d 6f 76 20 20 20 20 20 20 20 70 63 | mov pc| 00002af0 2c 20 6c 72 0d 0a 73 72 67 62 3a 20 20 20 20 20 |, lr..srgb: | 00002b00 2e 6c 6f 6e 67 20 20 20 20 20 30 0d 0a 20 20 20 |.long 0.. | 00002b10 20 20 20 20 20 20 20 2e 6c 6f 6e 67 20 20 20 20 | .long | 00002b20 20 2d 31 0d 0a 20 20 20 20 20 20 20 20 20 20 2e | -1.. .| 00002b30 61 73 63 69 63 20 20 20 20 22 4f 53 50 6c 6f 74 |ascic "OSPlot| 00002b40 58 22 0d 0a 4f 53 50 6c 6f 74 3a 20 20 20 6d 6f |X"..OSPlot: mo| 00002b50 76 20 20 20 20 20 20 20 72 30 2c 20 61 31 0d 0a |v r0, a1..| 00002b60 20 20 20 20 20 20 20 20 20 20 6d 6f 76 20 20 20 | mov | 00002b70 20 20 20 20 61 31 2c 20 61 32 0d 0a 20 20 20 20 | a1, a2.. | 00002b80 20 20 20 20 20 20 6d 6f 76 20 20 20 20 20 20 20 | mov | 00002b90 61 32 2c 20 61 33 0d 0a 20 20 20 20 20 20 20 20 |a2, a3.. | 00002ba0 20 20 73 77 69 20 20 20 20 20 20 20 4f 53 5f 50 | swi OS_P| 00002bb0 6c 6f 74 0d 0a 20 20 20 20 20 20 20 20 20 20 6d |lot.. m| 00002bc0 6f 76 20 20 20 20 20 20 20 70 63 2c 20 6c 72 0d |ov pc, lr.| 00002bd0 0a 47 6c 6f 62 69 6e 69 74 73 3a 0d 0a 20 20 20 |.Globinits:.. | 00002be0 20 20 20 20 20 20 20 2e 6c 6f 6e 67 20 20 20 20 | .long | 00002bf0 20 32 33 0d 0a 20 20 20 20 20 20 20 20 20 20 2e | 23.. .| 00002c00 6c 6f 6e 67 20 20 20 20 20 4f 53 4e 65 77 4c 69 |long OSNewLi| 00002c10 6e 65 2d 53 74 61 72 74 0d 0a 20 20 20 20 20 20 |ne-Start.. | 00002c20 20 20 20 20 2e 6c 6f 6e 67 20 20 20 20 20 36 39 | .long 69| 00002c30 0d 0a 20 20 20 20 20 20 20 20 20 20 2e 6c 6f 6e |.. .lon| 00002c40 67 20 20 20 20 20 4f 53 52 65 61 64 4d 6f 64 65 |g OSReadMode| 00002c50 56 61 72 69 61 62 6c 65 20 2d 20 53 74 61 72 74 |Variable - Start| 00002c60 0d 0a 20 20 20 20 20 20 20 20 20 20 2e 6c 6f 6e |.. .lon| 00002c70 67 20 20 20 20 20 37 30 0d 0a 20 20 20 20 20 20 |g 70.. | 00002c80 20 20 20 20 2e 6c 6f 6e 67 20 20 20 20 20 4f 53 | .long OS| 00002c90 43 68 65 63 6b 4d 6f 64 65 56 61 6c 69 64 20 2d |CheckModeValid -| 00002ca0 20 53 74 61 72 74 0d 0a 20 20 20 20 20 20 20 20 | Start.. | 00002cb0 20 20 2e 6c 6f 6e 67 20 20 20 20 20 31 30 37 0d | .long 107.| 00002cc0 0a 20 20 20 20 20 20 20 20 20 20 2e 6c 6f 6e 67 |. .long| 00002cd0 20 20 20 20 20 4f 53 47 42 50 42 2d 53 74 61 72 | OSGBPB-Star| 00002ce0 74 0d 0a 20 20 20 20 20 20 20 20 20 20 2e 6c 6f |t.. .lo| 00002cf0 6e 67 20 20 20 20 20 31 30 38 0d 0a 20 20 20 20 |ng 108.. | 00002d00 20 20 20 20 20 20 2e 6c 6f 6e 67 20 20 20 20 20 | .long | 00002d10 4f 53 43 6f 6e 66 69 72 6d 2d 53 74 61 72 74 0d |OSConfirm-Start.| 00002d20 0a 20 20 20 20 20 20 20 20 20 20 2e 6c 6f 6e 67 |. .long| 00002d30 20 20 20 20 20 31 30 39 0d 0a 20 20 20 20 20 20 | 109.. | 00002d40 20 20 20 20 2e 6c 6f 6e 67 20 20 20 20 20 4f 53 | .long OS| 00002d50 47 65 6e 65 72 61 74 65 45 76 65 6e 74 20 2d 20 |GenerateEvent - | 00002d60 53 74 61 72 74 0d 0a 20 20 20 20 20 20 20 20 20 |Start.. | 00002d70 20 2e 6c 6f 6e 67 20 20 20 20 20 31 31 34 0d 0a | .long 114..| 00002d80 20 20 20 20 20 20 20 20 20 20 2e 6c 6f 6e 67 20 | .long | 00002d90 20 20 20 20 4f 53 57 72 69 74 65 4e 2d 53 74 61 | OSWriteN-Sta| 00002da0 72 74 0d 0a 20 20 20 20 20 20 20 20 20 20 2e 6c |rt.. .l| 00002db0 6f 6e 67 20 20 20 20 20 31 31 35 0d 0a 20 20 20 |ong 115.. | 00002dc0 20 20 20 20 20 20 20 2e 6c 6f 6e 67 20 20 20 20 | .long | 00002dd0 20 4f 53 46 53 43 6f 6e 74 72 6f 6c 2d 53 74 61 | OSFSControl-Sta| 00002de0 72 74 0d 0a 20 20 20 20 20 20 20 20 20 20 2e 6c |rt.. .l| 00002df0 6f 6e 67 20 20 20 20 20 31 31 36 0d 0a 20 20 20 |ong 116.. | 00002e00 20 20 20 20 20 20 20 2e 6c 6f 6e 67 20 20 20 20 | .long | 00002e10 20 4f 53 53 65 74 56 61 72 56 61 6c 2d 53 74 61 | OSSetVarVal-Sta| 00002e20 72 74 0d 0a 20 20 20 20 20 20 20 20 20 20 2e 6c |rt.. .l| 00002e30 6f 6e 67 20 20 20 20 20 31 31 37 0d 0a 20 20 20 |ong 117.. | 00002e40 20 20 20 20 20 20 20 2e 6c 6f 6e 67 20 20 20 20 | .long | 00002e50 20 4f 53 52 65 61 64 56 61 72 56 61 6c 2d 53 74 | OSReadVarVal-St| 00002e60 61 72 74 0d 0a 20 20 20 20 20 20 20 20 20 20 2e |art.. .| 00002e70 6c 6f 6e 67 20 20 20 20 20 31 32 30 0d 0a 20 20 |long 120.. | 00002e80 20 20 20 20 20 20 20 20 2e 6c 6f 6e 67 20 20 20 | .long | 00002e90 20 20 4f 53 45 76 61 6c 75 61 74 65 45 78 70 72 | OSEvaluateExpr| 00002ea0 65 73 73 69 6f 6e 2d 53 74 61 72 74 0d 0a 20 20 |ession-Start.. | 00002eb0 20 20 20 20 20 20 20 20 2e 6c 6f 6e 67 20 20 20 | .long | 00002ec0 20 20 31 32 31 0d 0a 20 20 20 20 20 20 20 20 20 | 121.. | 00002ed0 20 2e 6c 6f 6e 67 20 20 20 20 20 4f 53 52 65 61 | .long OSRea| 00002ee0 64 55 6e 73 69 67 6e 65 64 2d 53 74 61 72 74 0d |dUnsigned-Start.| 00002ef0 0a 20 20 20 20 20 20 20 20 20 20 2e 6c 6f 6e 67 |. .long| 00002f00 20 20 20 20 20 31 32 32 0d 0a 20 20 20 20 20 20 | 122.. | 00002f10 20 20 20 20 2e 6c 6f 6e 67 20 20 20 20 20 4f 53 | .long OS| 00002f20 57 72 69 74 65 30 2d 53 74 61 72 74 0d 0a 20 20 |Write0-Start.. | 00002f30 20 20 20 20 20 20 20 20 2e 6c 6f 6e 67 20 20 20 | .long | 00002f40 20 20 31 32 33 0d 0a 20 20 20 20 20 20 20 20 20 | 123.. | 00002f50 20 2e 6c 6f 6e 67 20 20 20 20 20 4f 53 52 65 61 | .long OSRea| 00002f60 64 50 61 6c 65 74 74 65 2d 53 74 61 72 74 0d 0a |dPalette-Start..| 00002f70 20 20 20 20 20 20 20 20 20 20 2e 6c 6f 6e 67 20 | .long | 00002f80 20 20 20 20 31 32 35 0d 0a 20 20 20 20 20 20 20 | 125.. | 00002f90 20 20 20 2e 6c 6f 6e 67 20 20 20 20 20 41 44 46 | .long ADF| 00002fa0 53 46 72 65 65 53 70 61 63 65 2d 53 74 61 72 74 |SFreeSpace-Start| 00002fb0 0d 0a 20 20 20 20 20 20 20 20 20 20 2e 6c 6f 6e |.. .lon| 00002fc0 67 20 20 20 20 20 31 32 36 0d 0a 20 20 20 20 20 |g 126.. | 00002fd0 20 20 20 20 20 2e 6c 6f 6e 67 20 20 20 20 20 4f | .long O| 00002fe0 53 52 65 61 64 41 72 67 73 2d 53 74 61 72 74 0d |SReadArgs-Start.| 00002ff0 0a 20 20 20 20 20 20 20 20 20 20 2e 6c 6f 6e 67 |. .long| 00003000 20 20 20 20 20 31 32 37 0d 0a 20 20 20 20 20 20 | 127.. | 00003010 20 20 20 20 2e 6c 6f 6e 67 20 20 20 20 20 4f 53 | .long OS| 00003020 43 6f 6e 76 65 72 74 2d 53 74 61 72 74 0d 0a 20 |Convert-Start.. | 00003030 20 20 20 20 20 20 20 20 20 2e 6c 6f 6e 67 20 20 | .long | 00003040 20 20 20 31 32 38 0d 0a 20 20 20 20 20 20 20 20 | 128.. | 00003050 20 20 2e 6c 6f 6e 67 20 20 20 20 20 4f 53 4d 6f | .long OSMo| 00003060 64 75 6c 65 2d 53 74 61 72 74 0d 0a 20 20 20 20 |dule-Start.. | 00003070 20 20 20 20 20 20 2e 6c 6f 6e 67 20 20 20 20 20 | .long | 00003080 31 32 39 0d 0a 20 20 20 20 20 20 20 20 20 20 2e |129.. .| 00003090 6c 6f 6e 67 20 20 20 20 20 4f 53 48 65 61 70 2d |long OSHeap-| 000030a0 53 74 61 72 74 0d 0a 20 20 20 20 20 20 20 20 20 |Start.. | 000030b0 20 2e 6c 6f 6e 67 20 20 20 20 20 31 33 30 0d 0a | .long 130..| 000030c0 20 20 20 20 20 20 20 20 20 20 2e 6c 6f 6e 67 20 | .long | 000030d0 20 20 20 20 4f 53 52 65 61 64 4d 6f 6e 6f 74 6f | OSReadMonoto| 000030e0 6e 69 63 54 69 6d 65 2d 53 74 61 72 74 0d 0a 20 |nicTime-Start.. | 000030f0 20 20 20 20 20 20 20 20 20 2e 6c 6f 6e 67 20 20 | .long | 00003100 20 20 20 31 33 31 0d 0a 20 20 20 20 20 20 20 20 | 131.. | 00003110 20 20 2e 6c 6f 6e 67 20 20 20 20 20 4f 53 52 65 | .long OSRe| 00003120 6d 6f 76 65 43 75 72 73 6f 72 73 0d 0a 20 20 20 |moveCursors.. | 00003130 20 20 20 20 20 20 20 2e 6c 6f 6e 67 20 20 20 20 | .long | 00003140 20 31 33 32 0d 0a 20 20 20 20 20 20 20 20 20 20 | 132.. | 00003150 2e 6c 6f 6e 67 20 20 20 20 20 4f 53 52 65 73 74 |.long OSRest| 00003160 6f 72 65 43 75 72 73 6f 72 73 0d 0a 20 20 20 20 |oreCursors.. | 00003170 20 20 20 20 20 20 2e 6c 6f 6e 67 20 20 20 20 20 | .long | 00003180 31 33 33 0d 0a 20 20 20 20 20 20 20 20 20 20 2e |133.. .| 00003190 6c 6f 6e 67 20 20 20 20 20 4f 53 50 72 69 6e 74 |long OSPrint| 000031a0 43 68 61 72 0d 0a 20 20 20 20 20 20 20 20 20 20 |Char.. | 000031b0 2e 6c 6f 6e 67 20 20 20 20 20 31 33 34 0d 0a 20 |.long 134.. | 000031c0 20 20 20 20 20 20 20 20 20 2e 6c 6f 6e 67 20 20 | .long | 000031d0 20 20 20 4f 53 52 65 61 64 56 64 75 56 61 72 69 | OSReadVduVari| 000031e0 61 62 6c 65 73 0d 0a 20 20 20 20 20 20 20 20 20 |ables.. | 000031f0 20 2e 6c 6f 6e 67 20 20 20 20 20 31 34 33 0d 0a | .long 143..| 00003200 20 20 20 20 20 20 20 20 20 20 2e 6c 6f 6e 67 20 | .long | 00003210 20 20 20 20 4f 53 4d 6f 75 73 65 2d 53 74 61 72 | OSMouse-Star| 00003220 74 0d 0a 20 20 20 20 20 20 20 20 20 20 2e 6c 6f |t.. .lo| 00003230 6e 67 20 20 20 20 20 31 34 34 0d 0a 20 20 20 20 |ng 144.. | 00003240 20 20 20 20 20 20 2e 6c 6f 6e 67 20 20 20 20 20 | .long | 00003250 4f 53 53 70 72 69 74 65 4f 70 2d 53 74 61 72 74 |OSSpriteOp-Start| 00003260 0d 0a 20 20 20 20 20 20 20 20 20 20 2e 6c 6f 6e |.. .lon| 00003270 67 20 20 20 20 20 31 34 35 0d 0a 20 20 20 20 20 |g 145.. | 00003280 20 20 20 20 20 2e 6c 6f 6e 67 20 20 20 20 20 4f | .long O| 00003290 53 50 6c 6f 74 2d 53 74 61 72 74 0d 0a 20 20 20 |SPlot-Start.. | 000032a0 20 20 20 20 20 20 20 2e 6c 6f 6e 67 20 20 20 20 | .long | 000032b0 20 31 35 30 0d 0a 20 20 20 20 20 20 20 20 20 20 | 150.. | 000032c0 2e 6c 6f 6e 67 20 20 20 20 20 30 0d 0a 20 20 20 |.long 0.. | 000032d0 20 20 20 20 20 20 20 2e 4c 4f 4e 47 20 20 30 78 | .LONG 0x| 000032e0 31 32 33 34 35 36 37 38 0d 0a 20 20 20 20 20 20 |12345678.. | 000032f0 20 20 20 20 2e 4c 4f 4e 47 20 20 47 6c 6f 62 69 | .LONG Globi| 00003300 6e 69 74 73 20 2b 20 34 20 2d 20 53 74 61 72 74 |nits + 4 - Start| 00003310 0d 0a 20 20 20 20 20 20 20 20 20 20 2e 4c 4f 4e |.. .LON| 00003320 47 20 20 47 6c 6f 62 69 6e 69 74 73 20 2b 20 31 |G Globinits + 1| 00003330 32 20 2d 20 53 74 61 72 74 0d 0a 20 20 20 20 20 |2 - Start.. | 00003340 20 20 20 20 20 2e 4c 4f 4e 47 20 20 47 6c 6f 62 | .LONG Glob| 00003350 69 6e 69 74 73 20 2b 20 32 30 20 2d 20 53 74 61 |inits + 20 - Sta| 00003360 72 74 0d 0a 20 20 20 20 20 20 20 20 20 20 2e 4c |rt.. .L| 00003370 4f 4e 47 20 20 47 6c 6f 62 69 6e 69 74 73 20 2b |ONG Globinits +| 00003380 20 32 38 20 2d 20 53 74 61 72 74 0d 0a 20 20 20 | 28 - Start.. | 00003390 20 20 20 20 20 20 20 2e 4c 4f 4e 47 20 20 47 6c | .LONG Gl| 000033a0 6f 62 69 6e 69 74 73 20 2b 20 33 36 20 2d 20 53 |obinits + 36 - S| 000033b0 74 61 72 74 0d 0a 20 20 20 20 20 20 20 20 20 20 |tart.. | 000033c0 2e 4c 4f 4e 47 20 20 47 6c 6f 62 69 6e 69 74 73 |.LONG Globinits| 000033d0 20 2b 20 34 34 20 2d 20 53 74 61 72 74 0d 0a 20 | + 44 - Start.. | 000033e0 20 20 20 20 20 20 20 20 20 2e 4c 4f 4e 47 20 20 | .LONG | 000033f0 47 6c 6f 62 69 6e 69 74 73 20 2b 20 35 32 20 2d |Globinits + 52 -| 00003400 20 53 74 61 72 74 0d 0a 20 20 20 20 20 20 20 20 | Start.. | 00003410 20 20 2e 4c 4f 4e 47 20 20 47 6c 6f 62 69 6e 69 | .LONG Globini| 00003420 74 73 20 2b 20 36 30 20 2d 20 53 74 61 72 74 0d |ts + 60 - Start.| 00003430 0a 20 20 20 20 20 20 20 20 20 20 2e 4c 4f 4e 47 |. .LONG| 00003440 20 20 47 6c 6f 62 69 6e 69 74 73 20 2b 20 36 38 | Globinits + 68| 00003450 20 2d 20 53 74 61 72 74 0d 0a 20 20 20 20 20 20 | - Start.. | 00003460 20 20 20 20 2e 4c 4f 4e 47 20 20 47 6c 6f 62 69 | .LONG Globi| 00003470 6e 69 74 73 20 2b 20 37 36 20 2d 20 53 74 61 72 |nits + 76 - Star| 00003480 74 0d 0a 20 20 20 20 20 20 20 20 20 20 2e 4c 4f |t.. .LO| 00003490 4e 47 20 20 47 6c 6f 62 69 6e 69 74 73 20 2b 20 |NG Globinits + | 000034a0 38 34 20 2d 20 53 74 61 72 74 0d 0a 20 20 20 20 |84 - Start.. | 000034b0 20 20 20 20 20 20 2e 4c 4f 4e 47 20 20 47 6c 6f | .LONG Glo| 000034c0 62 69 6e 69 74 73 20 2b 20 39 32 20 2d 20 53 74 |binits + 92 - St| 000034d0 61 72 74 0d 0a 20 20 20 20 20 20 20 20 20 20 2e |art.. .| 000034e0 4c 4f 4e 47 20 20 47 6c 6f 62 69 6e 69 74 73 20 |LONG Globinits | 000034f0 2b 20 31 30 30 20 2d 20 53 74 61 72 74 0d 0a 20 |+ 100 - Start.. | 00003500 20 20 20 20 20 20 20 20 20 2e 4c 4f 4e 47 20 20 | .LONG | 00003510 47 6c 6f 62 69 6e 69 74 73 20 2b 20 31 30 38 20 |Globinits + 108 | 00003520 2d 20 53 74 61 72 74 0d 0a 20 20 20 20 20 20 20 |- Start.. | 00003530 20 20 20 2e 4c 4f 4e 47 20 20 47 6c 6f 62 69 6e | .LONG Globin| 00003540 69 74 73 20 2b 20 31 31 36 20 2d 20 53 74 61 72 |its + 116 - Star| 00003550 74 0d 0a 20 20 20 20 20 20 20 20 20 20 2e 4c 4f |t.. .LO| 00003560 4e 47 20 20 47 6c 6f 62 69 6e 69 74 73 20 2b 20 |NG Globinits + | 00003570 31 32 34 20 2d 20 53 74 61 72 74 0d 0a 20 20 20 |124 - Start.. | 00003580 20 20 20 20 20 20 20 2e 4c 4f 4e 47 20 20 47 6c | .LONG Gl| 00003590 6f 62 69 6e 69 74 73 20 2b 20 31 33 32 20 2d 20 |obinits + 132 - | 000035a0 53 74 61 72 74 0d 0a 20 20 20 20 20 20 20 20 20 |Start.. | 000035b0 20 2e 4c 4f 4e 47 20 20 47 6c 6f 62 69 6e 69 74 | .LONG Globinit| 000035c0 73 20 2b 20 31 34 30 20 2d 20 53 74 61 72 74 0d |s + 140 - Start.| 000035d0 0a 20 20 20 20 20 20 20 20 20 20 2e 4c 4f 4e 47 |. .LONG| 000035e0 20 20 47 6c 6f 62 69 6e 69 74 73 20 2b 20 31 34 | Globinits + 14| 000035f0 38 20 2d 20 53 74 61 72 74 0d 0a 20 20 20 20 20 |8 - Start.. | 00003600 20 20 20 20 20 2e 4c 4f 4e 47 20 20 47 6c 6f 62 | .LONG Glob| 00003610 69 6e 69 74 73 20 2b 20 31 35 36 20 2d 20 53 74 |inits + 156 - St| 00003620 61 72 74 0d 0a 20 20 20 20 20 20 20 20 20 20 2e |art.. .| 00003630 4c 4f 4e 47 20 20 47 6c 6f 62 69 6e 69 74 73 20 |LONG Globinits | 00003640 2b 20 31 36 34 20 2d 20 53 74 61 72 74 0d 0a 20 |+ 164 - Start.. | 00003650 20 20 20 20 20 20 20 20 20 2e 4c 4f 4e 47 20 20 | .LONG | 00003660 47 6c 6f 62 69 6e 69 74 73 20 2b 20 31 37 32 20 |Globinits + 172 | 00003670 2d 20 53 74 61 72 74 0d 0a 20 20 20 20 20 20 20 |- Start.. | 00003680 20 20 20 2e 4c 4f 4e 47 20 20 47 6c 6f 62 69 6e | .LONG Globin| 00003690 69 74 73 20 2b 20 31 38 30 20 2d 20 53 74 61 72 |its + 180 - Star| 000036a0 74 0d 0a 20 20 20 20 20 20 20 20 20 20 2e 4c 4f |t.. .LO| 000036b0 4e 47 20 20 47 6c 6f 62 69 6e 69 74 73 20 2b 20 |NG Globinits + | 000036c0 31 38 38 20 2d 20 53 74 61 72 74 0d 0a 20 20 20 |188 - Start.. | 000036d0 20 20 20 20 20 20 20 2e 4c 4f 4e 47 20 20 47 6c | .LONG Gl| 000036e0 6f 62 69 6e 69 74 73 20 2b 20 31 39 36 20 2d 20 |obinits + 196 - | 000036f0 53 74 61 72 74 0d 0a 20 20 20 20 20 20 20 20 20 |Start.. | 00003700 20 2e 4c 4f 4e 47 20 20 47 6c 6f 62 69 6e 69 74 | .LONG Globinit| 00003710 73 20 2b 20 32 30 34 20 2d 20 53 74 61 72 74 0d |s + 204 - Start.| 00003720 0a 20 20 20 20 20 20 20 20 20 20 2e 4c 4f 4e 47 |. .LONG| 00003730 20 20 47 6c 6f 62 69 6e 69 74 73 20 2b 20 32 31 | Globinits + 21| 00003740 32 20 2d 20 53 74 61 72 74 0d 0a 20 20 20 20 20 |2 - Start.. | 00003750 20 20 20 20 20 2e 4c 4f 4e 47 20 20 30 78 38 37 | .LONG 0x87| 00003760 36 35 34 33 32 31 0d 0a |654321..| 00003768