Home » Archimedes archive » Acorn User » AU 1995-05.adf » !StarInfo_StarInfo » Turnbull/!Foggy/!RunImage
Turnbull/!Foggy/!RunImage
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-05.adf » !StarInfo_StarInfo |
Filename: | Turnbull/!Foggy/!RunImage |
Read OK: | ✔ |
File size: | 1288 bytes |
Load address: | 0000 |
Exec address: | 0000 |
File contents
10MODE9 20VC%=16:threshold%=180:maxit%=12 30MC%=VC%+INT(LN(threshold%)/LN(2)) 40DIMV%64 50!V%=4:V%!4=5:V%!8=6:V%!12=10:V%!16=11:V%!20=12:V%!24=-1 60SYS"OS_ReadVduVariables",V%,V% 70IFV%!12<>2THENERROR255,"16 colour modes only, please" 80CASEV%!8OF 90WHEN160:LI%=7 100WHEN320:LI%=8 110WHEN640:LI%=9 120OTHERWISE:ERROR255,"640 or 1280 pixel width modes only please" 130ENDCASE 140EX%=!V%:EY%=V%!4:W%=V%!16+1:H%=V%!20+1 150xclip%=(threshold%+2)*(W%/2<<EX%)/1024+2 160yclip%=(threshold%+2)*(H%/2<<EY%)/1024+2 170FORT%=0TO15:COLOUR15-T%,T%<<4,T%<<4,T%<<4:NEXT 180DIMcode%4096 190PROCassemble 200XX=1:XY=0:XZ=0:YX=0:YY=1:YZ=0:ZX=0:ZY=0:ZZ=1:D=4 210NT%=TIME:REPEAT:DT%=TIME-NT%:NT%+=DT%:DT=DT%/100 220MOUSEX%,Y%,Z%:MOUSETO640,512 230A=(X%-640)/1024:C=COS(A):S=SIN(A) 240O=XZ:XZ=XZ*C+XX*S:XX=XX*C-O*S 250O=YZ:YZ=YZ*C+YX*S:YX=YX*C-O*S 260O=ZZ:ZZ=ZZ*C+ZX*S:ZX=ZX*C-O*S 270A=(Y%-512)/1024:C=COS(A):S=SIN(A) 280O=XZ:XZ=XZ*C+XY*S:XY=XY*C-O*S 290O=YZ:YZ=YZ*C+YY*S:YY=YY*C-O*S 300O=ZZ:ZZ=ZZ*C+ZY*S:ZY=ZY*C-O*S 310IFZ%=4THEND-=DT ELSEIFZ%=1THEND+=DT 320view%!00=XX*(1<<VC%):view%!04=XY*(1<<VC%):view%!08=XZ*(1<<VC%) 330view%!12=YX*(1<<VC%):view%!16=YY*(1<<VC%):view%!20=YZ*(1<<VC%) 340view%!24=ZX*(1<<VC%):view%!28=ZY*(1<<VC%):view%!32=ZZ*(1<<VC%) 350view%!36=0:view%!40=0:view%!44=D*(1<<VC%) 360CALLframe% 370UNTIL0 380: 390: 400DEFPROCassemble 410FORT%=0TO2STEP2:P%=code% 420[OPT T% 430: 440.vduvars%:EQUD 148:EQUD -1 450.scraddr%:EQUD -1 460.bank%:EQUD 1 470: 480.view% 490EQUD 1<<VC%:EQUD 0:EQUD 0:; X-Vector 500EQUD 0:EQUD 1<<VC%:EQUD 0:; Y-Vector 510EQUD 0:EQUD 0:EQUD 1<<VC%:; Z-Vector 520EQUD 0:EQUD 0:EQUD 4<<VC%:; Centre 530: 540.corners% 550EQUD -1:EQUD -1:EQUD -1 560EQUD -1:EQUD -1:EQUD -1 570EQUD -1:EQUD -1:EQUD -1 580EQUD -1:EQUD -1:EQUD -1 590: 600.frame% 610STMFD R13!,{R14} 620LDR R1,bank% 630CMP R1,#1 640MOVEQ R1,#2 650MOVNE R1,#1 660STR R1,bank% 670MOV R0,#112 680SWI "OS_Byte" 690ADR R0,vduvars% 700ADR R1,scraddr% 710SWI "OS_ReadVduVariables" 720MOV R0,#19 730SWI "OS_Byte" 740SWI &10C 750; Generate corners 760ADR R0,view% 770LDMIA R0,{R0-R2,R3-R5,R6-R8} 780ADR R9,corners% 790ADD R10,R0,R3 800ADD R10,R10,R6 810ADD R11,R1,R4 820ADD R11,R11,R7 830ADD R12,R2,R5 840ADD R12,R12,R8 850STMIA R9!,{R10-R12} 860SUB R10,R0,R3 870SUB R10,R10,R6 880SUB R11,R1,R4 890SUB R11,R11,R7 900SUB R12,R2,R5 910SUB R12,R12,R8 920STMIA R9!,{R10-R12} 930SUB R10,R3,R6 940SUB R10,R10,R0 950SUB R11,R4,R7 960SUB R11,R11,R1 970SUB R12,R5,R8 980SUB R12,R12,R2 990STMIA R9!,{R10-R12} 1000SUB R10,R6,R0 1010SUB R10,R10,R3 1020SUB R11,R7,R1 1030SUB R11,R11,R4 1040SUB R12,R8,R2 1050SUB R12,R12,R5 1060STMIA R9!,{R10-R12} 1070; Sort them 1080ADR R0,corners% 1090MOV R2,#3 1100.oloop% 1110MOV R1,R0 1120LDMIA R1!,{R4-R6} 1130MOV R3,R2 1140.iloop% 1150LDMIA R1,{R7-R9} 1160CMP R6,R9 1170STMLTDB R1,{R7-R9} 1180STMGEDB R1,{R4-R6} 1190MOVGE R4,R7 1200MOVGE R5,R8 1210MOVGE R6,R9 1220ADD R1,R1,#12 1230SUBS R3,R3,#1 1240STMDB R1,{R4-R6} 1250BGT iloop% 1260SUBS R2,R2,#1 1270BGT oloop% 1280; Call the recursive tree 1290ADR R0,view%+36 1300LDMIA R0,{R0-R2} 1310LDR R10,scraddr% 1320MOV R11,#maxit% 1330BL tree% 1340MOV R0,#113 1350LDR R1,bank% 1360SWI "OS_Byte" 1370LDMFD R13!,{PC} 1380: 1390.tree% 1400STMFD R13!,{R14} 1410CMP R2,#threshold%<<VC% 1420BGE plot% 1430; Subdivide 1440CMP R11,#0 1450LDMLEFD R13!,{PC} 1460ADR R3,corners%+0 1470LDMIA R3,{R3-R5} 1480CMN R2,R5 1490CMNGT R0,#xclip%<<VC% 1500CMNGT R1,#yclip%<<VC% 1510LDMLEFD R13!,{PC} 1520CMP R0,#xclip%<<VC% 1530CMPLT R1,#yclip%<<VC% 1540LDMGEFD R13!,{PC} 1550SUB R11,R11,#1 1560STMFD R13!,{R0-R2} 1570ADD R0,R3,R0,ASL#1 1580ADD R1,R4,R1,ASL#1 1590ADD R2,R5,R2,ASL#1 1600BL tree% 1610LDMFD R13,{R0-R2} 1620ADR R3,corners%+12 1630LDMIA R3,{R3-R5} 1640ADD R0,R3,R0,ASL#1 1650ADD R1,R4,R1,ASL#1 1660ADD R2,R5,R2,ASL#1 1670BL tree% 1680LDMFD R13,{R0-R2} 1690ADR R3,corners%+24 1700LDMIA R3,{R3-R5} 1710ADD R0,R3,R0,ASL#1 1720ADD R1,R4,R1,ASL#1 1730ADD R2,R5,R2,ASL#1 1740BL tree% 1750LDMFD R13!,{R0-R2} 1760ADR R3,corners%+36 1770LDMIA R3,{R3-R5} 1780ADD R0,R3,R0,ASL#1 1790ADD R1,R4,R1,ASL#1 1800ADD R2,R5,R2,ASL#1 1810BL tree% 1820ADD R11,R11,#1 1830LDMFD R13!,{PC} 1840: 1850.plot% 1860MOV R3,#1<<MC% 1870MOV R4,#0 1880SUBS R3,R3,R2 1890ADDLT R3,R3,R2 1900ADDGE R4,R4,#1<<8 1910]:FORU%=7TO1STEP-1:[OPT T% 1920RSBS R3,R2,R3,ASL#1 1930ADDLT R3,R3,R2 1940ADDGE R4,R4,#1<<U% 1950]:NEXT:[OPT T% 1960RSBS R3,R2,R3,ASL#1 1970ADDGE R4,R4,#1 1980MOV R0,R0,ASR#MC%-9 1990MOV R1,R1,ASR#MC%-9 2000MUL R3,R0,R4 2010MOV R0,R3,ASR#8+9-10+EX% 2020MUL R3,R1,R4 2030MOV R1,R3,ASR#8+9-10+EY% 2040ADDS R0,R0,#W%/2 2050RSBGES R1,R1,#H%/2-1 2060LDMLTFD R13!,{PC} 2070CMP R0,#W% 2080CMPLT R1,#H% 2090LDMGEFD R13!,{PC} 2100ADD R4,R10,R1,ASL#LI% 2110ADD R4,R4,R1,ASL#LI%-2 2120RSB R1,R11,#maxit%+(VC%+3)-4 2130ADD R2,R2,R2,ASR#1 2140MOV R2,R2,ASR R1 2150RSBS R2,R2,#15 2160MOVLT R2,#0 2170MOV R3,#&F 2180TST R0,#1 2190MOVNE R2,R2,LSL#4 2200MOVNE R3,R3,LSL#4 2210LDRB R1,[R4,R0,ASR#1] 2220BIC R1,R1,R3 2230ORR R1,R1,R2 2240STRB R1,[R4,R0,ASR#1] 2250LDMFD R13!,{PC} 2260: 2270]:NEXT 2280ENDPROC
�9 #VC%=16:threshold%=180:maxit%=12 !MC%=VC%+�(�(threshold%)/�(2)) ( �V%64 2;!V%=4:V%!4=5:V%!8=6:V%!12=10:V%!16=11:V%!20=12:V%!24=-1 <!ș"OS_ReadVduVariables",V%,V% F1�V%!12<>2��255,"16 colour modes only, please" PȎV%!8� Z�160:LI%=7 d�320:LI%=8 n�640:LI%=9 x6:�255,"640 or 1280 pixel width modes only please" �� �*EX%=!V%:EY%=V%!4:W%=V%!16+1:H%=V%!20+1 �,xclip%=(threshold%+2)*(W%/2<<EX%)/1024+2 �,yclip%=(threshold%+2)*(H%/2<<EY%)/1024+2 �'�T%=0�15:�15-T%,T%<<4,T%<<4,T%<<4:� ��code%4096 � �assemble �4XX=1:XY=0:XZ=0:YX=0:YY=1:YZ=0:ZX=0:ZY=0:ZZ=1:D=4 �)NT%=�:�:DT%=�-NT%:NT%+=DT%:DT=DT%/100 �ȗX%,Y%,Z%:ȗ�640,512 �!A=(X%-640)/1024:C=�(A):S=�(A) �!O=XZ:XZ=XZ*C+XX*S:XX=XX*C-O*S �!O=YZ:YZ=YZ*C+YX*S:YX=YX*C-O*S !O=ZZ:ZZ=ZZ*C+ZX*S:ZX=ZX*C-O*S !A=(Y%-512)/1024:C=�(A):S=�(A) !O=XZ:XZ=XZ*C+XY*S:XY=XY*C-O*S "!O=YZ:YZ=YZ*C+YY*S:YY=YY*C-O*S ,!O=ZZ:ZZ=ZZ*C+ZY*S:ZY=ZY*C-O*S 6�Z%=4�D-=DT ��Z%=1�D+=DT @Bview%!00=XX*(1<<VC%):view%!04=XY*(1<<VC%):view%!08=XZ*(1<<VC%) JBview%!12=YX*(1<<VC%):view%!16=YY*(1<<VC%):view%!20=YZ*(1<<VC%) TBview%!24=ZX*(1<<VC%):view%!28=ZY*(1<<VC%):view%!32=ZZ*(1<<VC%) ^-view%!36=0:view%!40=0:view%!44=D*(1<<VC%) h�frame% r�0 |: �: ���assemble ��T%=0�2�2:P%=code% �[OPT T% �: �.vduvars%:EQUD 148:EQUD -1 �.scraddr%:EQUD -1 �.bank%:EQUD 1 �: � .view% �(EQUD 1<<VC%:EQUD 0:EQUD 0:; X-Vector �(EQUD 0:EQUD 1<<VC%:EQUD 0:; Y-Vector �(EQUD 0:EQUD 0:EQUD 1<<VC%:; Z-Vector &EQUD 0:EQUD 0:EQUD 4<<VC%:; Centre : .corners% &EQUD -1:EQUD -1:EQUD -1 0EQUD -1:EQUD -1:EQUD -1 :EQUD -1:EQUD -1:EQUD -1 DEQUD -1:EQUD -1:EQUD -1 N: X.frame% bSTMFD R13!,{R14} lLDR R1,bank% v CMP R1,#1 ��Q R1,#2 �MOVNE R1,#1 �STR R1,bank% �MOV R0,#112 �SWI "OS_Byte" �ADR R0,vduvars% �ADR R1,scraddr% �SWI "OS_ReadVduVariables" �MOV R0,#19 �SWI "OS_Byte" �SWI &10C �; Generate corners �ADR R0,view% LDMIA R0,{R0-R2,R3-R5,R6-R8} ADR R9,corners% ADD R10,R0,R3 ADD R10,R10,R6 *ADD R11,R1,R4 4ADD R11,R11,R7 >ADD R12,R2,R5 HADD R12,R12,R8 RSTMIA R9!,{R10-R12} \SUB R10,R0,R3 fSUB R10,R10,R6 pSUB R11,R1,R4 zSUB R11,R11,R7 �SUB R12,R2,R5 �SUB R12,R12,R8 �STMIA R9!,{R10-R12} �SUB R10,R3,R6 �SUB R10,R10,R0 �SUB R11,R4,R7 �SUB R11,R11,R1 �SUB R12,R5,R8 �SUB R12,R12,R2 �STMIA R9!,{R10-R12} �SUB R10,R6,R0 �SUB R10,R10,R3 �SUB R11,R7,R1 SUB R11,R11,R4 SUB R12,R8,R2 SUB R12,R12,R5 $STMIA R9!,{R10-R12} .; Sort them 8ADR R0,corners% B MOV R2,#3 L.oloop% V MOV R1,R0 `LDMIA R1!,{R4-R6} j MOV R3,R2 t.iloop% ~LDMIA R1,{R7-R9} � CMP R6,R9 �STMLTDB R1,{R7-R9} �STMGEDB R1,{R4-R6} �MOVGE R4,R7 �MOVGE R5,R8 �MOVGE R6,R9 �ADD R1,R1,#12 �SUBS R3,R3,#1 �STMDB R1,{R4-R6} �BGT iloop% �SUBS R2,R2,#1 �BGT oloop% ; Call the recursive tree ADR R0,view%+36 LDMIA R0,{R0-R2} LDR R10,scraddr% (MOV R11,#maxit% 2BL tree% <MOV R0,#113 FLDR R1,bank% PSWI "OS_Byte" ZLDMFD R13!,{PC} d: n .tree% xSTMFD R13!,{R14} �CMP R2,#threshold%<<VC% � BGE plot% �; Subdivide �CMP R11,#0 �LDMLEFD R13!,{PC} �ADR R3,corners%+0 �LDMIA R3,{R3-R5} � CMN R2,R5 �CMNGT R0,#xclip%<<VC% �CMNGT R1,#yclip%<<VC% �LDMLEFD R13!,{PC} �CMP R0,#xclip%<<VC% �CMPLT R1,#yclip%<<VC% LDMGEFD R13!,{PC} SUB R11,R11,#1 STMFD R13!,{R0-R2} "ADD R0,R3,R0,ASL#1 ,ADD R1,R4,R1,ASL#1 6ADD R2,R5,R2,ASL#1 @BL tree% JLDMFD R13,{R0-R2} TADR R3,corners%+12 ^LDMIA R3,{R3-R5} hADD R0,R3,R0,ASL#1 rADD R1,R4,R1,ASL#1 |ADD R2,R5,R2,ASL#1 �BL tree% �LDMFD R13,{R0-R2} �ADR R3,corners%+24 �LDMIA R3,{R3-R5} �ADD R0,R3,R0,ASL#1 �ADD R1,R4,R1,ASL#1 �ADD R2,R5,R2,ASL#1 �BL tree% �LDMFD R13!,{R0-R2} �ADR R3,corners%+36 �LDMIA R3,{R3-R5} �ADD R0,R3,R0,ASL#1 �ADD R1,R4,R1,ASL#1 ADD R2,R5,R2,ASL#1 BL tree% ADD R11,R11,#1 &LDMFD R13!,{PC} 0: : .plot% DMOV R3,#1<<MC% N MOV R4,#0 XSUBS R3,R3,R2 bADDLT R3,R3,R2 lADDGE R4,R4,#1<<8 v]:�U%=7�1�-1:[OPT T% �RSBS R3,R2,R3,ASL#1 �ADDLT R3,R3,R2 �ADDGE R4,R4,#1<<U% �]:�:[OPT T% �RSBS R3,R2,R3,ASL#1 �ADDGE R4,R4,#1 �MOV R0,R0,ASR#MC%-9 �MOV R1,R1,ASR#MC%-9 �MUL R3,R0,R4 �MOV R0,R3,ASR#8+9-10+EX% �MUL R3,R1,R4 �MOV R1,R3,ASR#8+9-10+EY% �ADDS R0,R0,#W%/2 RSBGES R1,R1,#H%/2-1 LDMLTFD R13!,{PC} CMP R0,#W% CMPLT R1,#H% *LDMGEFD R13!,{PC} 4ADD R4,R10,R1,ASL#LI% >ADD R4,R4,R1,ASL#LI%-2 H RSB R1,R11,#maxit%+(VC%+3)-4 RADD R2,R2,R2,ASR#1 \MOV R2,R2,ASR R1 fRSBS R2,R2,#15 pMOVLT R2,#0 zMOV R3,#&F � TST R0,#1 �MOVNE R2,R2,LSL#4 �MOVNE R3,R3,LSL#4 �LDRB R1,[R4,R0,ASR#1] �BIC R1,R1,R3 ��R R1,R1,R2 �STRB R1,[R4,R0,ASR#1] �LDMFD R13!,{PC} �: �]:� �� �
00000000 0d 00 0a 06 eb 39 0d 00 14 23 56 43 25 3d 31 36 |.....9...#VC%=16| 00000010 3a 74 68 72 65 73 68 6f 6c 64 25 3d 31 38 30 3a |:threshold%=180:| 00000020 6d 61 78 69 74 25 3d 31 32 0d 00 1e 21 4d 43 25 |maxit%=12...!MC%| 00000030 3d 56 43 25 2b a8 28 aa 28 74 68 72 65 73 68 6f |=VC%+.(.(thresho| 00000040 6c 64 25 29 2f aa 28 32 29 29 0d 00 28 09 de 56 |ld%)/.(2))..(..V| 00000050 25 36 34 0d 00 32 3b 21 56 25 3d 34 3a 56 25 21 |%64..2;!V%=4:V%!| 00000060 34 3d 35 3a 56 25 21 38 3d 36 3a 56 25 21 31 32 |4=5:V%!8=6:V%!12| 00000070 3d 31 30 3a 56 25 21 31 36 3d 31 31 3a 56 25 21 |=10:V%!16=11:V%!| 00000080 32 30 3d 31 32 3a 56 25 21 32 34 3d 2d 31 0d 00 |20=12:V%!24=-1..| 00000090 3c 21 c8 99 22 4f 53 5f 52 65 61 64 56 64 75 56 |<!.."OS_ReadVduV| 000000a0 61 72 69 61 62 6c 65 73 22 2c 56 25 2c 56 25 0d |ariables",V%,V%.| 000000b0 00 46 31 e7 56 25 21 31 32 3c 3e 32 8c 85 32 35 |.F1.V%!12<>2..25| 000000c0 35 2c 22 31 36 20 63 6f 6c 6f 75 72 20 6d 6f 64 |5,"16 colour mod| 000000d0 65 73 20 6f 6e 6c 79 2c 20 70 6c 65 61 73 65 22 |es only, please"| 000000e0 0d 00 50 0b c8 8e 56 25 21 38 ca 0d 00 5a 0e c9 |..P...V%!8...Z..| 000000f0 31 36 30 3a 4c 49 25 3d 37 0d 00 64 0e c9 33 32 |160:LI%=7..d..32| 00000100 30 3a 4c 49 25 3d 38 0d 00 6e 0e c9 36 34 30 3a |0:LI%=8..n..640:| 00000110 4c 49 25 3d 39 0d 00 78 36 7f 3a 85 32 35 35 2c |LI%=9..x6.:.255,| 00000120 22 36 34 30 20 6f 72 20 31 32 38 30 20 70 69 78 |"640 or 1280 pix| 00000130 65 6c 20 77 69 64 74 68 20 6d 6f 64 65 73 20 6f |el width modes o| 00000140 6e 6c 79 20 70 6c 65 61 73 65 22 0d 00 82 05 cb |nly please".....| 00000150 0d 00 8c 2a 45 58 25 3d 21 56 25 3a 45 59 25 3d |...*EX%=!V%:EY%=| 00000160 56 25 21 34 3a 57 25 3d 56 25 21 31 36 2b 31 3a |V%!4:W%=V%!16+1:| 00000170 48 25 3d 56 25 21 32 30 2b 31 0d 00 96 2c 78 63 |H%=V%!20+1...,xc| 00000180 6c 69 70 25 3d 28 74 68 72 65 73 68 6f 6c 64 25 |lip%=(threshold%| 00000190 2b 32 29 2a 28 57 25 2f 32 3c 3c 45 58 25 29 2f |+2)*(W%/2<<EX%)/| 000001a0 31 30 32 34 2b 32 0d 00 a0 2c 79 63 6c 69 70 25 |1024+2...,yclip%| 000001b0 3d 28 74 68 72 65 73 68 6f 6c 64 25 2b 32 29 2a |=(threshold%+2)*| 000001c0 28 48 25 2f 32 3c 3c 45 59 25 29 2f 31 30 32 34 |(H%/2<<EY%)/1024| 000001d0 2b 32 0d 00 aa 27 e3 54 25 3d 30 b8 31 35 3a fb |+2...'.T%=0.15:.| 000001e0 31 35 2d 54 25 2c 54 25 3c 3c 34 2c 54 25 3c 3c |15-T%,T%<<4,T%<<| 000001f0 34 2c 54 25 3c 3c 34 3a ed 0d 00 b4 0e de 63 6f |4,T%<<4:......co| 00000200 64 65 25 34 30 39 36 0d 00 be 0d f2 61 73 73 65 |de%4096.....asse| 00000210 6d 62 6c 65 0d 00 c8 34 58 58 3d 31 3a 58 59 3d |mble...4XX=1:XY=| 00000220 30 3a 58 5a 3d 30 3a 59 58 3d 30 3a 59 59 3d 31 |0:XZ=0:YX=0:YY=1| 00000230 3a 59 5a 3d 30 3a 5a 58 3d 30 3a 5a 59 3d 30 3a |:YZ=0:ZX=0:ZY=0:| 00000240 5a 5a 3d 31 3a 44 3d 34 0d 00 d2 29 4e 54 25 3d |ZZ=1:D=4...)NT%=| 00000250 91 3a f5 3a 44 54 25 3d 91 2d 4e 54 25 3a 4e 54 |.:.:DT%=.-NT%:NT| 00000260 25 2b 3d 44 54 25 3a 44 54 3d 44 54 25 2f 31 30 |%+=DT%:DT=DT%/10| 00000270 30 0d 00 dc 19 c8 97 58 25 2c 59 25 2c 5a 25 3a |0......X%,Y%,Z%:| 00000280 c8 97 b8 36 34 30 2c 35 31 32 0d 00 e6 21 41 3d |...640,512...!A=| 00000290 28 58 25 2d 36 34 30 29 2f 31 30 32 34 3a 43 3d |(X%-640)/1024:C=| 000002a0 9b 28 41 29 3a 53 3d b5 28 41 29 0d 00 f0 21 4f |.(A):S=.(A)...!O| 000002b0 3d 58 5a 3a 58 5a 3d 58 5a 2a 43 2b 58 58 2a 53 |=XZ:XZ=XZ*C+XX*S| 000002c0 3a 58 58 3d 58 58 2a 43 2d 4f 2a 53 0d 00 fa 21 |:XX=XX*C-O*S...!| 000002d0 4f 3d 59 5a 3a 59 5a 3d 59 5a 2a 43 2b 59 58 2a |O=YZ:YZ=YZ*C+YX*| 000002e0 53 3a 59 58 3d 59 58 2a 43 2d 4f 2a 53 0d 01 04 |S:YX=YX*C-O*S...| 000002f0 21 4f 3d 5a 5a 3a 5a 5a 3d 5a 5a 2a 43 2b 5a 58 |!O=ZZ:ZZ=ZZ*C+ZX| 00000300 2a 53 3a 5a 58 3d 5a 58 2a 43 2d 4f 2a 53 0d 01 |*S:ZX=ZX*C-O*S..| 00000310 0e 21 41 3d 28 59 25 2d 35 31 32 29 2f 31 30 32 |.!A=(Y%-512)/102| 00000320 34 3a 43 3d 9b 28 41 29 3a 53 3d b5 28 41 29 0d |4:C=.(A):S=.(A).| 00000330 01 18 21 4f 3d 58 5a 3a 58 5a 3d 58 5a 2a 43 2b |..!O=XZ:XZ=XZ*C+| 00000340 58 59 2a 53 3a 58 59 3d 58 59 2a 43 2d 4f 2a 53 |XY*S:XY=XY*C-O*S| 00000350 0d 01 22 21 4f 3d 59 5a 3a 59 5a 3d 59 5a 2a 43 |.."!O=YZ:YZ=YZ*C| 00000360 2b 59 59 2a 53 3a 59 59 3d 59 59 2a 43 2d 4f 2a |+YY*S:YY=YY*C-O*| 00000370 53 0d 01 2c 21 4f 3d 5a 5a 3a 5a 5a 3d 5a 5a 2a |S..,!O=ZZ:ZZ=ZZ*| 00000380 43 2b 5a 59 2a 53 3a 5a 59 3d 5a 59 2a 43 2d 4f |C+ZY*S:ZY=ZY*C-O| 00000390 2a 53 0d 01 36 1c e7 5a 25 3d 34 8c 44 2d 3d 44 |*S..6..Z%=4.D-=D| 000003a0 54 20 8b e7 5a 25 3d 31 8c 44 2b 3d 44 54 0d 01 |T ..Z%=1.D+=DT..| 000003b0 40 42 76 69 65 77 25 21 30 30 3d 58 58 2a 28 31 |@Bview%!00=XX*(1| 000003c0 3c 3c 56 43 25 29 3a 76 69 65 77 25 21 30 34 3d |<<VC%):view%!04=| 000003d0 58 59 2a 28 31 3c 3c 56 43 25 29 3a 76 69 65 77 |XY*(1<<VC%):view| 000003e0 25 21 30 38 3d 58 5a 2a 28 31 3c 3c 56 43 25 29 |%!08=XZ*(1<<VC%)| 000003f0 0d 01 4a 42 76 69 65 77 25 21 31 32 3d 59 58 2a |..JBview%!12=YX*| 00000400 28 31 3c 3c 56 43 25 29 3a 76 69 65 77 25 21 31 |(1<<VC%):view%!1| 00000410 36 3d 59 59 2a 28 31 3c 3c 56 43 25 29 3a 76 69 |6=YY*(1<<VC%):vi| 00000420 65 77 25 21 32 30 3d 59 5a 2a 28 31 3c 3c 56 43 |ew%!20=YZ*(1<<VC| 00000430 25 29 0d 01 54 42 76 69 65 77 25 21 32 34 3d 5a |%)..TBview%!24=Z| 00000440 58 2a 28 31 3c 3c 56 43 25 29 3a 76 69 65 77 25 |X*(1<<VC%):view%| 00000450 21 32 38 3d 5a 59 2a 28 31 3c 3c 56 43 25 29 3a |!28=ZY*(1<<VC%):| 00000460 76 69 65 77 25 21 33 32 3d 5a 5a 2a 28 31 3c 3c |view%!32=ZZ*(1<<| 00000470 56 43 25 29 0d 01 5e 2d 76 69 65 77 25 21 33 36 |VC%)..^-view%!36| 00000480 3d 30 3a 76 69 65 77 25 21 34 30 3d 30 3a 76 69 |=0:view%!40=0:vi| 00000490 65 77 25 21 34 34 3d 44 2a 28 31 3c 3c 56 43 25 |ew%!44=D*(1<<VC%| 000004a0 29 0d 01 68 0b d6 66 72 61 6d 65 25 0d 01 72 06 |)..h..frame%..r.| 000004b0 fd 30 0d 01 7c 05 3a 0d 01 86 05 3a 0d 01 90 0e |.0..|.:....:....| 000004c0 dd f2 61 73 73 65 6d 62 6c 65 0d 01 9a 16 e3 54 |..assemble.....T| 000004d0 25 3d 30 b8 32 88 32 3a 50 25 3d 63 6f 64 65 25 |%=0.2.2:P%=code%| 000004e0 0d 01 a4 0b 5b 4f 50 54 20 54 25 0d 01 ae 05 3a |....[OPT T%....:| 000004f0 0d 01 b8 1e 2e 76 64 75 76 61 72 73 25 3a 45 51 |.....vduvars%:EQ| 00000500 55 44 20 31 34 38 3a 45 51 55 44 20 2d 31 0d 01 |UD 148:EQUD -1..| 00000510 c2 15 2e 73 63 72 61 64 64 72 25 3a 45 51 55 44 |...scraddr%:EQUD| 00000520 20 2d 31 0d 01 cc 11 2e 62 61 6e 6b 25 3a 45 51 | -1.....bank%:EQ| 00000530 55 44 20 31 0d 01 d6 05 3a 0d 01 e0 0a 2e 76 69 |UD 1....:.....vi| 00000540 65 77 25 0d 01 ea 28 45 51 55 44 20 31 3c 3c 56 |ew%...(EQUD 1<<V| 00000550 43 25 3a 45 51 55 44 20 30 3a 45 51 55 44 20 30 |C%:EQUD 0:EQUD 0| 00000560 3a 3b 20 58 2d 56 65 63 74 6f 72 0d 01 f4 28 45 |:; X-Vector...(E| 00000570 51 55 44 20 30 3a 45 51 55 44 20 31 3c 3c 56 43 |QUD 0:EQUD 1<<VC| 00000580 25 3a 45 51 55 44 20 30 3a 3b 20 59 2d 56 65 63 |%:EQUD 0:; Y-Vec| 00000590 74 6f 72 0d 01 fe 28 45 51 55 44 20 30 3a 45 51 |tor...(EQUD 0:EQ| 000005a0 55 44 20 30 3a 45 51 55 44 20 31 3c 3c 56 43 25 |UD 0:EQUD 1<<VC%| 000005b0 3a 3b 20 5a 2d 56 65 63 74 6f 72 0d 02 08 26 45 |:; Z-Vector...&E| 000005c0 51 55 44 20 30 3a 45 51 55 44 20 30 3a 45 51 55 |QUD 0:EQUD 0:EQU| 000005d0 44 20 34 3c 3c 56 43 25 3a 3b 20 43 65 6e 74 72 |D 4<<VC%:; Centr| 000005e0 65 0d 02 12 05 3a 0d 02 1c 0d 2e 63 6f 72 6e 65 |e....:.....corne| 000005f0 72 73 25 0d 02 26 1b 45 51 55 44 20 2d 31 3a 45 |rs%..&.EQUD -1:E| 00000600 51 55 44 20 2d 31 3a 45 51 55 44 20 2d 31 0d 02 |QUD -1:EQUD -1..| 00000610 30 1b 45 51 55 44 20 2d 31 3a 45 51 55 44 20 2d |0.EQUD -1:EQUD -| 00000620 31 3a 45 51 55 44 20 2d 31 0d 02 3a 1b 45 51 55 |1:EQUD -1..:.EQU| 00000630 44 20 2d 31 3a 45 51 55 44 20 2d 31 3a 45 51 55 |D -1:EQUD -1:EQU| 00000640 44 20 2d 31 0d 02 44 1b 45 51 55 44 20 2d 31 3a |D -1..D.EQUD -1:| 00000650 45 51 55 44 20 2d 31 3a 45 51 55 44 20 2d 31 0d |EQUD -1:EQUD -1.| 00000660 02 4e 05 3a 0d 02 58 0b 2e 66 72 61 6d 65 25 0d |.N.:..X..frame%.| 00000670 02 62 14 53 54 4d 46 44 20 52 31 33 21 2c 7b 52 |.b.STMFD R13!,{R| 00000680 31 34 7d 0d 02 6c 10 4c 44 52 20 52 31 2c 62 61 |14}..l.LDR R1,ba| 00000690 6e 6b 25 0d 02 76 0d 43 4d 50 20 52 31 2c 23 31 |nk%..v.CMP R1,#1| 000006a0 0d 02 80 0c ec 51 20 52 31 2c 23 32 0d 02 8a 0f |.....Q R1,#2....| 000006b0 4d 4f 56 4e 45 20 52 31 2c 23 31 0d 02 94 10 53 |MOVNE R1,#1....S| 000006c0 54 52 20 52 31 2c 62 61 6e 6b 25 0d 02 9e 0f 4d |TR R1,bank%....M| 000006d0 4f 56 20 52 30 2c 23 31 31 32 0d 02 a8 11 53 57 |OV R0,#112....SW| 000006e0 49 20 22 4f 53 5f 42 79 74 65 22 0d 02 b2 13 41 |I "OS_Byte"....A| 000006f0 44 52 20 52 30 2c 76 64 75 76 61 72 73 25 0d 02 |DR R0,vduvars%..| 00000700 bc 13 41 44 52 20 52 31 2c 73 63 72 61 64 64 72 |..ADR R1,scraddr| 00000710 25 0d 02 c6 1d 53 57 49 20 22 4f 53 5f 52 65 61 |%....SWI "OS_Rea| 00000720 64 56 64 75 56 61 72 69 61 62 6c 65 73 22 0d 02 |dVduVariables"..| 00000730 d0 0e 4d 4f 56 20 52 30 2c 23 31 39 0d 02 da 11 |..MOV R0,#19....| 00000740 53 57 49 20 22 4f 53 5f 42 79 74 65 22 0d 02 e4 |SWI "OS_Byte"...| 00000750 0c 53 57 49 20 26 31 30 43 0d 02 ee 16 3b 20 47 |.SWI &10C....; G| 00000760 65 6e 65 72 61 74 65 20 63 6f 72 6e 65 72 73 0d |enerate corners.| 00000770 02 f8 10 41 44 52 20 52 30 2c 76 69 65 77 25 0d |...ADR R0,view%.| 00000780 03 02 20 4c 44 4d 49 41 20 52 30 2c 7b 52 30 2d |.. LDMIA R0,{R0-| 00000790 52 32 2c 52 33 2d 52 35 2c 52 36 2d 52 38 7d 0d |R2,R3-R5,R6-R8}.| 000007a0 03 0c 13 41 44 52 20 52 39 2c 63 6f 72 6e 65 72 |...ADR R9,corner| 000007b0 73 25 0d 03 16 11 41 44 44 20 52 31 30 2c 52 30 |s%....ADD R10,R0| 000007c0 2c 52 33 0d 03 20 12 41 44 44 20 52 31 30 2c 52 |,R3.. .ADD R10,R| 000007d0 31 30 2c 52 36 0d 03 2a 11 41 44 44 20 52 31 31 |10,R6..*.ADD R11| 000007e0 2c 52 31 2c 52 34 0d 03 34 12 41 44 44 20 52 31 |,R1,R4..4.ADD R1| 000007f0 31 2c 52 31 31 2c 52 37 0d 03 3e 11 41 44 44 20 |1,R11,R7..>.ADD | 00000800 52 31 32 2c 52 32 2c 52 35 0d 03 48 12 41 44 44 |R12,R2,R5..H.ADD| 00000810 20 52 31 32 2c 52 31 32 2c 52 38 0d 03 52 17 53 | R12,R12,R8..R.S| 00000820 54 4d 49 41 20 52 39 21 2c 7b 52 31 30 2d 52 31 |TMIA R9!,{R10-R1| 00000830 32 7d 0d 03 5c 11 53 55 42 20 52 31 30 2c 52 30 |2}..\.SUB R10,R0| 00000840 2c 52 33 0d 03 66 12 53 55 42 20 52 31 30 2c 52 |,R3..f.SUB R10,R| 00000850 31 30 2c 52 36 0d 03 70 11 53 55 42 20 52 31 31 |10,R6..p.SUB R11| 00000860 2c 52 31 2c 52 34 0d 03 7a 12 53 55 42 20 52 31 |,R1,R4..z.SUB R1| 00000870 31 2c 52 31 31 2c 52 37 0d 03 84 11 53 55 42 20 |1,R11,R7....SUB | 00000880 52 31 32 2c 52 32 2c 52 35 0d 03 8e 12 53 55 42 |R12,R2,R5....SUB| 00000890 20 52 31 32 2c 52 31 32 2c 52 38 0d 03 98 17 53 | R12,R12,R8....S| 000008a0 54 4d 49 41 20 52 39 21 2c 7b 52 31 30 2d 52 31 |TMIA R9!,{R10-R1| 000008b0 32 7d 0d 03 a2 11 53 55 42 20 52 31 30 2c 52 33 |2}....SUB R10,R3| 000008c0 2c 52 36 0d 03 ac 12 53 55 42 20 52 31 30 2c 52 |,R6....SUB R10,R| 000008d0 31 30 2c 52 30 0d 03 b6 11 53 55 42 20 52 31 31 |10,R0....SUB R11| 000008e0 2c 52 34 2c 52 37 0d 03 c0 12 53 55 42 20 52 31 |,R4,R7....SUB R1| 000008f0 31 2c 52 31 31 2c 52 31 0d 03 ca 11 53 55 42 20 |1,R11,R1....SUB | 00000900 52 31 32 2c 52 35 2c 52 38 0d 03 d4 12 53 55 42 |R12,R5,R8....SUB| 00000910 20 52 31 32 2c 52 31 32 2c 52 32 0d 03 de 17 53 | R12,R12,R2....S| 00000920 54 4d 49 41 20 52 39 21 2c 7b 52 31 30 2d 52 31 |TMIA R9!,{R10-R1| 00000930 32 7d 0d 03 e8 11 53 55 42 20 52 31 30 2c 52 36 |2}....SUB R10,R6| 00000940 2c 52 30 0d 03 f2 12 53 55 42 20 52 31 30 2c 52 |,R0....SUB R10,R| 00000950 31 30 2c 52 33 0d 03 fc 11 53 55 42 20 52 31 31 |10,R3....SUB R11| 00000960 2c 52 37 2c 52 31 0d 04 06 12 53 55 42 20 52 31 |,R7,R1....SUB R1| 00000970 31 2c 52 31 31 2c 52 34 0d 04 10 11 53 55 42 20 |1,R11,R4....SUB | 00000980 52 31 32 2c 52 38 2c 52 32 0d 04 1a 12 53 55 42 |R12,R8,R2....SUB| 00000990 20 52 31 32 2c 52 31 32 2c 52 35 0d 04 24 17 53 | R12,R12,R5..$.S| 000009a0 54 4d 49 41 20 52 39 21 2c 7b 52 31 30 2d 52 31 |TMIA R9!,{R10-R1| 000009b0 32 7d 0d 04 2e 0f 3b 20 53 6f 72 74 20 74 68 65 |2}....; Sort the| 000009c0 6d 0d 04 38 13 41 44 52 20 52 30 2c 63 6f 72 6e |m..8.ADR R0,corn| 000009d0 65 72 73 25 0d 04 42 0d 4d 4f 56 20 52 32 2c 23 |ers%..B.MOV R2,#| 000009e0 33 0d 04 4c 0b 2e 6f 6c 6f 6f 70 25 0d 04 56 0d |3..L..oloop%..V.| 000009f0 4d 4f 56 20 52 31 2c 52 30 0d 04 60 15 4c 44 4d |MOV R1,R0..`.LDM| 00000a00 49 41 20 52 31 21 2c 7b 52 34 2d 52 36 7d 0d 04 |IA R1!,{R4-R6}..| 00000a10 6a 0d 4d 4f 56 20 52 33 2c 52 32 0d 04 74 0b 2e |j.MOV R3,R2..t..| 00000a20 69 6c 6f 6f 70 25 0d 04 7e 14 4c 44 4d 49 41 20 |iloop%..~.LDMIA | 00000a30 52 31 2c 7b 52 37 2d 52 39 7d 0d 04 88 0d 43 4d |R1,{R7-R9}....CM| 00000a40 50 20 52 36 2c 52 39 0d 04 92 16 53 54 4d 4c 54 |P R6,R9....STMLT| 00000a50 44 42 20 52 31 2c 7b 52 37 2d 52 39 7d 0d 04 9c |DB R1,{R7-R9}...| 00000a60 16 53 54 4d 47 45 44 42 20 52 31 2c 7b 52 34 2d |.STMGEDB R1,{R4-| 00000a70 52 36 7d 0d 04 a6 0f 4d 4f 56 47 45 20 52 34 2c |R6}....MOVGE R4,| 00000a80 52 37 0d 04 b0 0f 4d 4f 56 47 45 20 52 35 2c 52 |R7....MOVGE R5,R| 00000a90 38 0d 04 ba 0f 4d 4f 56 47 45 20 52 36 2c 52 39 |8....MOVGE R6,R9| 00000aa0 0d 04 c4 11 41 44 44 20 52 31 2c 52 31 2c 23 31 |....ADD R1,R1,#1| 00000ab0 32 0d 04 ce 11 53 55 42 53 20 52 33 2c 52 33 2c |2....SUBS R3,R3,| 00000ac0 23 31 0d 04 d8 14 53 54 4d 44 42 20 52 31 2c 7b |#1....STMDB R1,{| 00000ad0 52 34 2d 52 36 7d 0d 04 e2 0e 42 47 54 20 69 6c |R4-R6}....BGT il| 00000ae0 6f 6f 70 25 0d 04 ec 11 53 55 42 53 20 52 32 2c |oop%....SUBS R2,| 00000af0 52 32 2c 23 31 0d 04 f6 0e 42 47 54 20 6f 6c 6f |R2,#1....BGT olo| 00000b00 6f 70 25 0d 05 00 1d 3b 20 43 61 6c 6c 20 74 68 |op%....; Call th| 00000b10 65 20 72 65 63 75 72 73 69 76 65 20 74 72 65 65 |e recursive tree| 00000b20 0d 05 0a 13 41 44 52 20 52 30 2c 76 69 65 77 25 |....ADR R0,view%| 00000b30 2b 33 36 0d 05 14 14 4c 44 4d 49 41 20 52 30 2c |+36....LDMIA R0,| 00000b40 7b 52 30 2d 52 32 7d 0d 05 1e 14 4c 44 52 20 52 |{R0-R2}....LDR R| 00000b50 31 30 2c 73 63 72 61 64 64 72 25 0d 05 28 13 4d |10,scraddr%..(.M| 00000b60 4f 56 20 52 31 31 2c 23 6d 61 78 69 74 25 0d 05 |OV R11,#maxit%..| 00000b70 32 0c 42 4c 20 74 72 65 65 25 0d 05 3c 0f 4d 4f |2.BL tree%..<.MO| 00000b80 56 20 52 30 2c 23 31 31 33 0d 05 46 10 4c 44 52 |V R0,#113..F.LDR| 00000b90 20 52 31 2c 62 61 6e 6b 25 0d 05 50 11 53 57 49 | R1,bank%..P.SWI| 00000ba0 20 22 4f 53 5f 42 79 74 65 22 0d 05 5a 13 4c 44 | "OS_Byte"..Z.LD| 00000bb0 4d 46 44 20 52 31 33 21 2c 7b 50 43 7d 0d 05 64 |MFD R13!,{PC}..d| 00000bc0 05 3a 0d 05 6e 0a 2e 74 72 65 65 25 0d 05 78 14 |.:..n..tree%..x.| 00000bd0 53 54 4d 46 44 20 52 31 33 21 2c 7b 52 31 34 7d |STMFD R13!,{R14}| 00000be0 0d 05 82 1b 43 4d 50 20 52 32 2c 23 74 68 72 65 |....CMP R2,#thre| 00000bf0 73 68 6f 6c 64 25 3c 3c 56 43 25 0d 05 8c 0d 42 |shold%<<VC%....B| 00000c00 47 45 20 70 6c 6f 74 25 0d 05 96 0f 3b 20 53 75 |GE plot%....; Su| 00000c10 62 64 69 76 69 64 65 0d 05 a0 0e 43 4d 50 20 52 |bdivide....CMP R| 00000c20 31 31 2c 23 30 0d 05 aa 15 4c 44 4d 4c 45 46 44 |11,#0....LDMLEFD| 00000c30 20 52 31 33 21 2c 7b 50 43 7d 0d 05 b4 15 41 44 | R13!,{PC}....AD| 00000c40 52 20 52 33 2c 63 6f 72 6e 65 72 73 25 2b 30 0d |R R3,corners%+0.| 00000c50 05 be 14 4c 44 4d 49 41 20 52 33 2c 7b 52 33 2d |...LDMIA R3,{R3-| 00000c60 52 35 7d 0d 05 c8 0d 43 4d 4e 20 52 32 2c 52 35 |R5}....CMN R2,R5| 00000c70 0d 05 d2 19 43 4d 4e 47 54 20 52 30 2c 23 78 63 |....CMNGT R0,#xc| 00000c80 6c 69 70 25 3c 3c 56 43 25 0d 05 dc 19 43 4d 4e |lip%<<VC%....CMN| 00000c90 47 54 20 52 31 2c 23 79 63 6c 69 70 25 3c 3c 56 |GT R1,#yclip%<<V| 00000ca0 43 25 0d 05 e6 15 4c 44 4d 4c 45 46 44 20 52 31 |C%....LDMLEFD R1| 00000cb0 33 21 2c 7b 50 43 7d 0d 05 f0 17 43 4d 50 20 52 |3!,{PC}....CMP R| 00000cc0 30 2c 23 78 63 6c 69 70 25 3c 3c 56 43 25 0d 05 |0,#xclip%<<VC%..| 00000cd0 fa 19 43 4d 50 4c 54 20 52 31 2c 23 79 63 6c 69 |..CMPLT R1,#ycli| 00000ce0 70 25 3c 3c 56 43 25 0d 06 04 15 4c 44 4d 47 45 |p%<<VC%....LDMGE| 00000cf0 46 44 20 52 31 33 21 2c 7b 50 43 7d 0d 06 0e 12 |FD R13!,{PC}....| 00000d00 53 55 42 20 52 31 31 2c 52 31 31 2c 23 31 0d 06 |SUB R11,R11,#1..| 00000d10 18 16 53 54 4d 46 44 20 52 31 33 21 2c 7b 52 30 |..STMFD R13!,{R0| 00000d20 2d 52 32 7d 0d 06 22 16 41 44 44 20 52 30 2c 52 |-R2}..".ADD R0,R| 00000d30 33 2c 52 30 2c 41 53 4c 23 31 0d 06 2c 16 41 44 |3,R0,ASL#1..,.AD| 00000d40 44 20 52 31 2c 52 34 2c 52 31 2c 41 53 4c 23 31 |D R1,R4,R1,ASL#1| 00000d50 0d 06 36 16 41 44 44 20 52 32 2c 52 35 2c 52 32 |..6.ADD R2,R5,R2| 00000d60 2c 41 53 4c 23 31 0d 06 40 0c 42 4c 20 74 72 65 |,ASL#1..@.BL tre| 00000d70 65 25 0d 06 4a 15 4c 44 4d 46 44 20 52 31 33 2c |e%..J.LDMFD R13,| 00000d80 7b 52 30 2d 52 32 7d 0d 06 54 16 41 44 52 20 52 |{R0-R2}..T.ADR R| 00000d90 33 2c 63 6f 72 6e 65 72 73 25 2b 31 32 0d 06 5e |3,corners%+12..^| 00000da0 14 4c 44 4d 49 41 20 52 33 2c 7b 52 33 2d 52 35 |.LDMIA R3,{R3-R5| 00000db0 7d 0d 06 68 16 41 44 44 20 52 30 2c 52 33 2c 52 |}..h.ADD R0,R3,R| 00000dc0 30 2c 41 53 4c 23 31 0d 06 72 16 41 44 44 20 52 |0,ASL#1..r.ADD R| 00000dd0 31 2c 52 34 2c 52 31 2c 41 53 4c 23 31 0d 06 7c |1,R4,R1,ASL#1..|| 00000de0 16 41 44 44 20 52 32 2c 52 35 2c 52 32 2c 41 53 |.ADD R2,R5,R2,AS| 00000df0 4c 23 31 0d 06 86 0c 42 4c 20 74 72 65 65 25 0d |L#1....BL tree%.| 00000e00 06 90 15 4c 44 4d 46 44 20 52 31 33 2c 7b 52 30 |...LDMFD R13,{R0| 00000e10 2d 52 32 7d 0d 06 9a 16 41 44 52 20 52 33 2c 63 |-R2}....ADR R3,c| 00000e20 6f 72 6e 65 72 73 25 2b 32 34 0d 06 a4 14 4c 44 |orners%+24....LD| 00000e30 4d 49 41 20 52 33 2c 7b 52 33 2d 52 35 7d 0d 06 |MIA R3,{R3-R5}..| 00000e40 ae 16 41 44 44 20 52 30 2c 52 33 2c 52 30 2c 41 |..ADD R0,R3,R0,A| 00000e50 53 4c 23 31 0d 06 b8 16 41 44 44 20 52 31 2c 52 |SL#1....ADD R1,R| 00000e60 34 2c 52 31 2c 41 53 4c 23 31 0d 06 c2 16 41 44 |4,R1,ASL#1....AD| 00000e70 44 20 52 32 2c 52 35 2c 52 32 2c 41 53 4c 23 31 |D R2,R5,R2,ASL#1| 00000e80 0d 06 cc 0c 42 4c 20 74 72 65 65 25 0d 06 d6 16 |....BL tree%....| 00000e90 4c 44 4d 46 44 20 52 31 33 21 2c 7b 52 30 2d 52 |LDMFD R13!,{R0-R| 00000ea0 32 7d 0d 06 e0 16 41 44 52 20 52 33 2c 63 6f 72 |2}....ADR R3,cor| 00000eb0 6e 65 72 73 25 2b 33 36 0d 06 ea 14 4c 44 4d 49 |ners%+36....LDMI| 00000ec0 41 20 52 33 2c 7b 52 33 2d 52 35 7d 0d 06 f4 16 |A R3,{R3-R5}....| 00000ed0 41 44 44 20 52 30 2c 52 33 2c 52 30 2c 41 53 4c |ADD R0,R3,R0,ASL| 00000ee0 23 31 0d 06 fe 16 41 44 44 20 52 31 2c 52 34 2c |#1....ADD R1,R4,| 00000ef0 52 31 2c 41 53 4c 23 31 0d 07 08 16 41 44 44 20 |R1,ASL#1....ADD | 00000f00 52 32 2c 52 35 2c 52 32 2c 41 53 4c 23 31 0d 07 |R2,R5,R2,ASL#1..| 00000f10 12 0c 42 4c 20 74 72 65 65 25 0d 07 1c 12 41 44 |..BL tree%....AD| 00000f20 44 20 52 31 31 2c 52 31 31 2c 23 31 0d 07 26 13 |D R11,R11,#1..&.| 00000f30 4c 44 4d 46 44 20 52 31 33 21 2c 7b 50 43 7d 0d |LDMFD R13!,{PC}.| 00000f40 07 30 05 3a 0d 07 3a 0a 2e 70 6c 6f 74 25 0d 07 |.0.:..:..plot%..| 00000f50 44 12 4d 4f 56 20 52 33 2c 23 31 3c 3c 4d 43 25 |D.MOV R3,#1<<MC%| 00000f60 0d 07 4e 0d 4d 4f 56 20 52 34 2c 23 30 0d 07 58 |..N.MOV R4,#0..X| 00000f70 11 53 55 42 53 20 52 33 2c 52 33 2c 52 32 0d 07 |.SUBS R3,R3,R2..| 00000f80 62 12 41 44 44 4c 54 20 52 33 2c 52 33 2c 52 32 |b.ADDLT R3,R3,R2| 00000f90 0d 07 6c 15 41 44 44 47 45 20 52 34 2c 52 34 2c |..l.ADDGE R4,R4,| 00000fa0 23 31 3c 3c 38 0d 07 76 18 5d 3a e3 55 25 3d 37 |#1<<8..v.]:.U%=7| 00000fb0 b8 31 88 2d 31 3a 5b 4f 50 54 20 54 25 0d 07 80 |.1.-1:[OPT T%...| 00000fc0 17 52 53 42 53 20 52 33 2c 52 32 2c 52 33 2c 41 |.RSBS R3,R2,R3,A| 00000fd0 53 4c 23 31 0d 07 8a 12 41 44 44 4c 54 20 52 33 |SL#1....ADDLT R3| 00000fe0 2c 52 33 2c 52 32 0d 07 94 16 41 44 44 47 45 20 |,R3,R2....ADDGE | 00000ff0 52 34 2c 52 34 2c 23 31 3c 3c 55 25 0d 07 9e 0f |R4,R4,#1<<U%....| 00001000 5d 3a ed 3a 5b 4f 50 54 20 54 25 0d 07 a8 17 52 |]:.:[OPT T%....R| 00001010 53 42 53 20 52 33 2c 52 32 2c 52 33 2c 41 53 4c |SBS R3,R2,R3,ASL| 00001020 23 31 0d 07 b2 12 41 44 44 47 45 20 52 34 2c 52 |#1....ADDGE R4,R| 00001030 34 2c 23 31 0d 07 bc 17 4d 4f 56 20 52 30 2c 52 |4,#1....MOV R0,R| 00001040 30 2c 41 53 52 23 4d 43 25 2d 39 0d 07 c6 17 4d |0,ASR#MC%-9....M| 00001050 4f 56 20 52 31 2c 52 31 2c 41 53 52 23 4d 43 25 |OV R1,R1,ASR#MC%| 00001060 2d 39 0d 07 d0 10 4d 55 4c 20 52 33 2c 52 30 2c |-9....MUL R3,R0,| 00001070 52 34 0d 07 da 1c 4d 4f 56 20 52 30 2c 52 33 2c |R4....MOV R0,R3,| 00001080 41 53 52 23 38 2b 39 2d 31 30 2b 45 58 25 0d 07 |ASR#8+9-10+EX%..| 00001090 e4 10 4d 55 4c 20 52 33 2c 52 31 2c 52 34 0d 07 |..MUL R3,R1,R4..| 000010a0 ee 1c 4d 4f 56 20 52 31 2c 52 33 2c 41 53 52 23 |..MOV R1,R3,ASR#| 000010b0 38 2b 39 2d 31 30 2b 45 59 25 0d 07 f8 14 41 44 |8+9-10+EY%....AD| 000010c0 44 53 20 52 30 2c 52 30 2c 23 57 25 2f 32 0d 08 |DS R0,R0,#W%/2..| 000010d0 02 18 52 53 42 47 45 53 20 52 31 2c 52 31 2c 23 |..RSBGES R1,R1,#| 000010e0 48 25 2f 32 2d 31 0d 08 0c 15 4c 44 4d 4c 54 46 |H%/2-1....LDMLTF| 000010f0 44 20 52 31 33 21 2c 7b 50 43 7d 0d 08 16 0e 43 |D R13!,{PC}....C| 00001100 4d 50 20 52 30 2c 23 57 25 0d 08 20 10 43 4d 50 |MP R0,#W%.. .CMP| 00001110 4c 54 20 52 31 2c 23 48 25 0d 08 2a 15 4c 44 4d |LT R1,#H%..*.LDM| 00001120 47 45 46 44 20 52 31 33 21 2c 7b 50 43 7d 0d 08 |GEFD R13!,{PC}..| 00001130 34 19 41 44 44 20 52 34 2c 52 31 30 2c 52 31 2c |4.ADD R4,R10,R1,| 00001140 41 53 4c 23 4c 49 25 0d 08 3e 1a 41 44 44 20 52 |ASL#LI%..>.ADD R| 00001150 34 2c 52 34 2c 52 31 2c 41 53 4c 23 4c 49 25 2d |4,R4,R1,ASL#LI%-| 00001160 32 0d 08 48 20 52 53 42 20 52 31 2c 52 31 31 2c |2..H RSB R1,R11,| 00001170 23 6d 61 78 69 74 25 2b 28 56 43 25 2b 33 29 2d |#maxit%+(VC%+3)-| 00001180 34 0d 08 52 16 41 44 44 20 52 32 2c 52 32 2c 52 |4..R.ADD R2,R2,R| 00001190 32 2c 41 53 52 23 31 0d 08 5c 14 4d 4f 56 20 52 |2,ASR#1..\.MOV R| 000011a0 32 2c 52 32 2c 41 53 52 20 52 31 0d 08 66 12 52 |2,R2,ASR R1..f.R| 000011b0 53 42 53 20 52 32 2c 52 32 2c 23 31 35 0d 08 70 |SBS R2,R2,#15..p| 000011c0 0f 4d 4f 56 4c 54 20 52 32 2c 23 30 0d 08 7a 0e |.MOVLT R2,#0..z.| 000011d0 4d 4f 56 20 52 33 2c 23 26 46 0d 08 84 0d 54 53 |MOV R3,#&F....TS| 000011e0 54 20 52 30 2c 23 31 0d 08 8e 15 4d 4f 56 4e 45 |T R0,#1....MOVNE| 000011f0 20 52 32 2c 52 32 2c 4c 53 4c 23 34 0d 08 98 15 | R2,R2,LSL#4....| 00001200 4d 4f 56 4e 45 20 52 33 2c 52 33 2c 4c 53 4c 23 |MOVNE R3,R3,LSL#| 00001210 34 0d 08 a2 19 4c 44 52 42 20 52 31 2c 5b 52 34 |4....LDRB R1,[R4| 00001220 2c 52 30 2c 41 53 52 23 31 5d 0d 08 ac 10 42 49 |,R0,ASR#1]....BI| 00001230 43 20 52 31 2c 52 31 2c 52 33 0d 08 b6 0f 84 52 |C R1,R1,R3.....R| 00001240 20 52 31 2c 52 31 2c 52 32 0d 08 c0 19 53 54 52 | R1,R1,R2....STR| 00001250 42 20 52 31 2c 5b 52 34 2c 52 30 2c 41 53 52 23 |B R1,[R4,R0,ASR#| 00001260 31 5d 0d 08 ca 13 4c 44 4d 46 44 20 52 31 33 21 |1]....LDMFD R13!| 00001270 2c 7b 50 43 7d 0d 08 d4 05 3a 0d 08 de 07 5d 3a |,{PC}....:....]:| 00001280 ed 0d 08 e8 05 e1 0d ff |........| 00001288