Home » Archimedes archive » Micro User » MU 1992-02.adf » Listings » 32/SampleS
32/SampleS
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 » Micro User » MU 1992-02.adf » Listings |
Filename: | 32/SampleS |
Read OK: | ✔ |
File size: | 0AB6 bytes |
Load address: | 0000 |
Exec address: | 0000 |
File contents
10REM > <BasicSave$Dir>.SampleS 20REM (c) Mike Cook 30MODE 0 40DIM CODE% &100 50SBUFS=&8000 : REM 32K Sound buffer 60DIM SBUF SBUFS 70PROC_CSU 80PRINT"Testing the Sampler" 90PRINT SBUFS/1024;" K Buffer "; 100PRINT" at 12KHZ" 110REPEAT 120PRINT"PRESS SPACE TO SAMPLE OR S TO SAVE" 130A$=GET$ 140CASE A$ OF 150WHEN " ": PROC_SAMPLE:T=TIME:PROC_SHOW 160WHEN "S": OSCLI("SAVE SAMP "+STR$~SBUF+" "+STR$~(SBUF+SBUFS)):OSCLI("SETTYPE SAMP ED0") 170ENDCASE 180UNTIL FALSE 190END 200 210DEF PROC_SHOW 220CLS 230MOVE 0,?SBUF*4 240X%=0 250FOR A%=SBUF TO SBUF+SBUFS STEP (SBUFS/640) 260DRAW X%,?A%*4 270X%+=2 280NEXT 290ENDPROC 300 310DEF PROC_SAMPLE 320G%=SBUF:H%=SBUFS 340CALL SAMP 360ENDPROC 370 380DEF PROC_CSU :REM CODE SETUP 390FOR A=0 TO 2 STEP 2 400P%=CODE% 410[ 420OPT A 430.SAMP 440MOV R0,#&18 \ UNUSED VECTOR NUMBER 450ADR R1,GS \ ROUTINE TO CALL ON UNKNOWN SWI 460MOV R2,#0 \ NUMBER TO PASS TO CALLING ROUTINE 470SWI "OS_Claim" \ CLAIM VECTOR 480SWI &80101 \ UNUSED VECTOR TO CALL READ IN ROUTINE 490MOV R2,#0 500MOV R0,#&18 \ VECTOR NUMBER 510ADR R1,GS 520SWI &20 \ RELEASE VECTOR 530MOV R15,R14 \ BACK TO BASIC 540 550.GS \ GATHER SOUND 560TEQP R15,#&C000003 \ DISABLE INTERRUPTS 570MOV R0,#&3200000 \ BASE ADDRESS OF IOC 580ADD R1,R0,#&50000 \ BASE OF PRINTER LATCH 590 600\ DELAY VALUES FOR 8MHz Clock 610\ 16B 5.5KHz sampling 620\ 10E 7.4KHz sampling 630\ 0B5 11KHz sampling 640\ 0A6 12KHz sampling 650\ 080 Maximum rate for a 310 660 670MOV R2,#&00000 \ T1 VALUE HIGH 680STR R2,[R0,#&54] \ T1 LATCH HIGH 690MOV R2,#&A60000 \ T1 VALUE LOW 700STR R2,[R0,#&50] \ T1 LATCH LOW 710 720LDR R2,[R0,#&18] \ GET IRQ MASK 730ORR R2,R2,#&40 \ ENABLE T1 740MOV R2,R2,LSL #16 750STR R2,[R0,#&18] \ MASK REG 760 770MOV R2,#&400000 \ CLEAR T1 INTERRUPT 780STR R2,[R0,#&14] \ IRQ CLEAR 790STR R2,[R0,#&58] \ GO T1 800 810.TLOOP \ DELAY LOOP FOR TIMER T1 820LDRB R2,[R0,#&10] 830TST R2,#&40 840BEQ TLOOP 850MOV R2,#&400000 \ CLEAR T1 INTERRUPT 860STR R2,[R0,#&14] \ IRQ CLEAR 870 880\ TAKE ONE SAMPLE 890MOV R2,#0 \ CHIP SELECT LOW 900STR R2,[R1,#&10] 910MOV R3,#&A \ BITS TO READ IN 920MOV R5,#0 \ COLLECT BITS HERE 930.LOOP1 940LDR R4,[R0,#&10] \ GET DATA 950MOV R2,#&10000 \ CLOCK HIGH 960STR R2,[R1,#&10] \ PUT OUT TO PRINTER 970AND R4,R4,#1 \ MASK DATA BIT 980MOV R5,R5,LSL #1 \ PREPARE R5 TO RECIEVE IT 990ORR R5,R5,R4 \ MIX IT IN WITH R5 1000MOV R2,#0 \ CLOCK LOW 1010STR R2,[R1,#&10] 1020STR R2,[R1,#&10] 1030SUBS R3,R3,#1 1040BNE LOOP1 1050MOV R2,#&20000 \ CHIP SELECT HIGH 1060STR R2,[R1,#&10] 1070AND R5,R5,#&FF \ MASK OFF START BIT 1080EOR R5,R5,#&FF \ TURN RIGHT WAY UP 1090\R5 NOW HAS SAMPLE 1100STRB R5,[R6],#1 \ PUT IT IN THE BUFFER 1110SUBS R7,R7,#1 \ DECREMENT BYTES TO GO 1120BNE TLOOP \ BACK UNTIL ALL DONE 1130 1140\PREPARE TO EXIT 1150MOV R2,#&400000 \ CLEAR T1 INTERRUPT 1160STR R2,[R0,#&14] \ IRQ CLEAR 1170LDR R2,[R0,#&18] \ GET IRQ MASK 1180AND R2,R2,#&BF \ ENABLE T1 1190MOV R2,R2,LSL #16 1200STR R2,[R0,#&18] \ MASK REG 1210 1220LDMFD R13!, {PC} \ BACK FROM WHENCE YOU CAME 1230] 1240NEXT 1250ENDPROC
� > <BasicSave$Dir>.SampleS � (c) Mike Cook � 0 (� CODE% &100 2$SBUFS=&8000 : � 32K Sound buffer <� SBUF SBUFS F �_CSU P�"Testing the Sampler" Z� SBUFS/1024;" K Buffer "; d�" at 12KHZ" n� x)�"PRESS SPACE TO SAMPLE OR S TO SAVE" �A$=� �Ȏ A$ � �� " ": �_SAMPLE:T=�:�_SHOW �J� "S": �("SAVE SAMP "+�~SBUF+" "+�~(SBUF+SBUFS)):�("SETTYPE SAMP ED0") �� �� � �� � �� �_SHOW �� �� 0,?SBUF*4 �X%=0 �(� A%=SBUF � SBUF+SBUFS � (SBUFS/640) � X%,?A%*4 X%+=2 � "� , 6� �_SAMPLE @G%=SBUF:H%=SBUFS T � SAMP h� r |� �_CSU :� CODE SETUP �� A=0 � 2 � 2 �P%=CODE% �[ � OPT A � .SAMP �&MOV R0,#&18 \ UNUSED VECTOR NUMBER �)ADR R1,GS \ ROUTINE � � � UNKNOWN SWI �,MOV R2,#0 \ NUMBER � PASS � �ING ROUTINE �!SWI "OS_Claim" \ CLAIM VECTOR �/SWI &80101 \ UNUSED VECTOR � � � IN ROUTINE � MOV R2,#0 �MOV R0,#&18 \ VECTOR NUMBER � ADR R1,GS SWI &20 \ RELEASE VECTOR MOV R15,R14 \ BACK � BASIC &.GS \ GATHER � 0)TEQP R15,#&C000003 \ DISABLE �ERRUPTS :)MOV R0,#&3200000 \ BASE ADDRESS � IOC D(ADD R1,R0,#&50000 \ BASE � �ER LATCH N X\ DELAY �UES � 8MHz Clock b\ 16B 5.5KHz sampling l\ 10E 7.4KHz sampling v\ 0B5 11KHz sampling �\ 0A6 12KHz sampling � \ 080 Maximum rate for a 310 � � MOV R2,#&00000 \ T1 �UE HIGH �$STR R2,[R0,#&54] \ T1 LATCH HIGH � MOV R2,#&A60000 \ T1 �UE LOW �#STR R2,[R0,#&50] \ T1 LATCH LOW � �!LDR R2,[R0,#&18] \ � IRQ MASK ��R R2,R2,#&40 \ ENABLE T1 �MOV R2,R2,LSL #16 �STR R2,[R0,#&18] \ MASK REG � "MOV R2,#&400000 \ � T1 �ERRUPT STR R2,[R0,#&14] \ IRQ � STR R2,[R0,#&58] \ GO T1 *".TLOOP \ DELAY LOOP � TIMER T1 4LDRB R2,[R0,#&10] >TST R2,#&40 H BEQ TLOOP R"MOV R2,#&400000 \ � T1 �ERRUPT \STR R2,[R0,#&14] \ IRQ � f p\ TAKE �E SAMPLE zMOV R2,#0 \ CHIP SELECT LOW �STR R2,[R1,#&10] �MOV R3,#&A \ BITS � � IN �!MOV R5,#0 \ COLLECT BITS HERE � .LOOP1 �LDR R4,[R0,#&10] \ � � �MOV R2,#&10000 \ CLOCK HIGH �$STR R2,[R1,#&10] \ PUT OUT � �ER �� R4,R4,#1 \ MASK � BIT �.MOV R5,R5,LSL #1 \ PREPARE R5 � RECIEVE IT �#�R R5,R5,R4 \ MIX IT IN WITH R5 �MOV R2,#0 \ CLOCK LOW �STR R2,[R1,#&10] �STR R2,[R1,#&10] SUBS R3,R3,#1 BNE LOOP1 %MOV R2,#&20000 \ CHIP SELECT HIGH $STR R2,[R1,#&10] .#� R5,R5,#&FF \ MASK � START BIT 8$� R5,R5,#&FF \ TURN RIGHT WAY UP B\R5 NOW HAS SAMPLE L*STRB R5,[R6],#1 \ PUT IT IN THE BUFFER V)SUBS R7,R7,#1 \ DECREMENT BYTES � GO ` BNE TLOOP \ BACK � ALL DONE j t\PREPARE � EXIT ~"MOV R2,#&400000 \ � T1 �ERRUPT �STR R2,[R0,#&14] \ IRQ � �!LDR R2,[R0,#&18] \ � IRQ MASK �� R2,R2,#&BF \ ENABLE T1 �MOV R2,R2,LSL #16 �STR R2,[R0,#&18] \ MASK REG � �-LDMFD R13!, {PC} \ BACK FROM �CE YOU CAME �] �� �� �
00000000 0d 00 0a 1f f4 20 3e 20 3c 42 61 73 69 63 53 61 |..... > <BasicSa| 00000010 76 65 24 44 69 72 3e 2e 53 61 6d 70 6c 65 53 0d |ve$Dir>.SampleS.| 00000020 00 14 13 f4 20 28 63 29 20 4d 69 6b 65 20 43 6f |.... (c) Mike Co| 00000030 6f 6b 0d 00 1e 07 eb 20 30 0d 00 28 10 de 20 43 |ok..... 0..(.. C| 00000040 4f 44 45 25 20 26 31 30 30 0d 00 32 24 53 42 55 |ODE% &100..2$SBU| 00000050 46 53 3d 26 38 30 30 30 20 3a 20 f4 20 33 32 4b |FS=&8000 : . 32K| 00000060 20 53 6f 75 6e 64 20 62 75 66 66 65 72 0d 00 3c | Sound buffer..<| 00000070 10 de 20 53 42 55 46 20 53 42 55 46 53 0d 00 46 |.. SBUF SBUFS..F| 00000080 09 f2 5f 43 53 55 0d 00 50 1a f1 22 54 65 73 74 |.._CSU..P.."Test| 00000090 69 6e 67 20 74 68 65 20 53 61 6d 70 6c 65 72 22 |ing the Sampler"| 000000a0 0d 00 5a 1e f1 20 53 42 55 46 53 2f 31 30 32 34 |..Z.. SBUFS/1024| 000000b0 3b 22 20 4b 20 42 75 66 66 65 72 20 22 3b 0d 00 |;" K Buffer ";..| 000000c0 64 10 f1 22 20 61 74 20 31 32 4b 48 5a 22 0d 00 |d.." at 12KHZ"..| 000000d0 6e 05 f5 0d 00 78 29 f1 22 50 52 45 53 53 20 53 |n....x)."PRESS S| 000000e0 50 41 43 45 20 54 4f 20 53 41 4d 50 4c 45 20 4f |PACE TO SAMPLE O| 000000f0 52 20 53 20 54 4f 20 53 41 56 45 22 0d 00 82 08 |R S TO SAVE"....| 00000100 41 24 3d be 0d 00 8c 0b c8 8e 20 41 24 20 ca 0d |A$=....... A$ ..| 00000110 00 96 1e c9 20 22 20 22 3a 20 f2 5f 53 41 4d 50 |.... " ": ._SAMP| 00000120 4c 45 3a 54 3d 91 3a f2 5f 53 48 4f 57 0d 00 a0 |LE:T=.:._SHOW...| 00000130 4a c9 20 22 53 22 3a 20 ff 28 22 53 41 56 45 20 |J. "S": .("SAVE | 00000140 53 41 4d 50 20 22 2b c3 7e 53 42 55 46 2b 22 20 |SAMP "+.~SBUF+" | 00000150 22 2b c3 7e 28 53 42 55 46 2b 53 42 55 46 53 29 |"+.~(SBUF+SBUFS)| 00000160 29 3a ff 28 22 53 45 54 54 59 50 45 20 53 41 4d |):.("SETTYPE SAM| 00000170 50 20 45 44 30 22 29 0d 00 aa 05 cb 0d 00 b4 07 |P ED0").........| 00000180 fd 20 a3 0d 00 be 05 e0 0d 00 c8 04 0d 00 d2 0c |. ..............| 00000190 dd 20 f2 5f 53 48 4f 57 0d 00 dc 05 db 0d 00 e6 |. ._SHOW........| 000001a0 0f ec 20 30 2c 3f 53 42 55 46 2a 34 0d 00 f0 08 |.. 0,?SBUF*4....| 000001b0 58 25 3d 30 0d 00 fa 28 e3 20 41 25 3d 53 42 55 |X%=0...(. A%=SBU| 000001c0 46 20 b8 20 53 42 55 46 2b 53 42 55 46 53 20 88 |F . SBUF+SBUFS .| 000001d0 20 28 53 42 55 46 53 2f 36 34 30 29 0d 01 04 0e | (SBUFS/640)....| 000001e0 df 20 58 25 2c 3f 41 25 2a 34 0d 01 0e 09 58 25 |. X%,?A%*4....X%| 000001f0 2b 3d 32 0d 01 18 05 ed 0d 01 22 05 e1 0d 01 2c |+=2......."....,| 00000200 04 0d 01 36 0e dd 20 f2 5f 53 41 4d 50 4c 45 0d |...6.. ._SAMPLE.| 00000210 01 40 14 47 25 3d 53 42 55 46 3a 48 25 3d 53 42 |.@.G%=SBUF:H%=SB| 00000220 55 46 53 0d 01 54 0a d6 20 53 41 4d 50 0d 01 68 |UFS..T.. SAMP..h| 00000230 05 e1 0d 01 72 04 0d 01 7c 19 dd 20 f2 5f 43 53 |....r...|.. ._CS| 00000240 55 20 3a f4 20 43 4f 44 45 20 53 45 54 55 50 0d |U :. CODE SETUP.| 00000250 01 86 11 e3 20 41 3d 30 20 b8 20 32 20 88 20 32 |.... A=0 . 2 . 2| 00000260 0d 01 90 0c 50 25 3d 43 4f 44 45 25 0d 01 9a 05 |....P%=CODE%....| 00000270 5b 0d 01 a4 09 4f 50 54 20 41 0d 01 ae 09 2e 53 |[....OPT A.....S| 00000280 41 4d 50 0d 01 b8 26 4d 4f 56 20 52 30 2c 23 26 |AMP...&MOV R0,#&| 00000290 31 38 20 5c 20 55 4e 55 53 45 44 20 56 45 43 54 |18 \ UNUSED VECT| 000002a0 4f 52 20 4e 55 4d 42 45 52 0d 01 c2 29 41 44 52 |OR NUMBER...)ADR| 000002b0 20 52 31 2c 47 53 20 5c 20 52 4f 55 54 49 4e 45 | R1,GS \ ROUTINE| 000002c0 20 b8 20 d6 20 ee 20 55 4e 4b 4e 4f 57 4e 20 53 | . . . UNKNOWN S| 000002d0 57 49 0d 01 cc 2c 4d 4f 56 20 52 32 2c 23 30 20 |WI...,MOV R2,#0 | 000002e0 5c 20 4e 55 4d 42 45 52 20 b8 20 50 41 53 53 20 |\ NUMBER . PASS | 000002f0 b8 20 d6 49 4e 47 20 52 4f 55 54 49 4e 45 0d 01 |. .ING ROUTINE..| 00000300 d6 21 53 57 49 20 22 4f 53 5f 43 6c 61 69 6d 22 |.!SWI "OS_Claim"| 00000310 20 5c 20 43 4c 41 49 4d 20 56 45 43 54 4f 52 0d | \ CLAIM VECTOR.| 00000320 01 e0 2f 53 57 49 20 26 38 30 31 30 31 20 5c 20 |../SWI &80101 \ | 00000330 55 4e 55 53 45 44 20 56 45 43 54 4f 52 20 b8 20 |UNUSED VECTOR . | 00000340 d6 20 f3 20 49 4e 20 52 4f 55 54 49 4e 45 0d 01 |. . IN ROUTINE..| 00000350 ea 0d 4d 4f 56 20 52 32 2c 23 30 0d 01 f4 1f 4d |..MOV R2,#0....M| 00000360 4f 56 20 52 30 2c 23 26 31 38 20 5c 20 56 45 43 |OV R0,#&18 \ VEC| 00000370 54 4f 52 20 4e 55 4d 42 45 52 0d 01 fe 0d 41 44 |TOR NUMBER....AD| 00000380 52 20 52 31 2c 47 53 0d 02 08 1c 53 57 49 20 26 |R R1,GS....SWI &| 00000390 32 30 20 5c 20 52 45 4c 45 41 53 45 20 56 45 43 |20 \ RELEASE VEC| 000003a0 54 4f 52 0d 02 12 1e 4d 4f 56 20 52 31 35 2c 52 |TOR....MOV R15,R| 000003b0 31 34 20 5c 20 42 41 43 4b 20 b8 20 42 41 53 49 |14 \ BACK . BASI| 000003c0 43 0d 02 1c 04 0d 02 26 12 2e 47 53 20 5c 20 47 |C......&..GS \ G| 000003d0 41 54 48 45 52 20 d4 0d 02 30 29 54 45 51 50 20 |ATHER ...0)TEQP | 000003e0 52 31 35 2c 23 26 43 30 30 30 30 30 33 20 5c 20 |R15,#&C000003 \ | 000003f0 44 49 53 41 42 4c 45 20 a8 45 52 52 55 50 54 53 |DISABLE .ERRUPTS| 00000400 0d 02 3a 29 4d 4f 56 20 52 30 2c 23 26 33 32 30 |..:)MOV R0,#&320| 00000410 30 30 30 30 20 5c 20 42 41 53 45 20 41 44 44 52 |0000 \ BASE ADDR| 00000420 45 53 53 20 ca 20 49 4f 43 0d 02 44 28 41 44 44 |ESS . IOC..D(ADD| 00000430 20 52 31 2c 52 30 2c 23 26 35 30 30 30 30 20 5c | R1,R0,#&50000 \| 00000440 20 42 41 53 45 20 ca 20 f1 45 52 20 4c 41 54 43 | BASE . .ER LATC| 00000450 48 0d 02 4e 04 0d 02 58 1d 5c 20 44 45 4c 41 59 |H..N...X.\ DELAY| 00000460 20 bb 55 45 53 20 e3 20 38 4d 48 7a 20 43 6c 6f | .UES . 8MHz Clo| 00000470 63 6b 0d 02 62 19 5c 20 31 36 42 20 35 2e 35 4b |ck..b.\ 16B 5.5K| 00000480 48 7a 20 73 61 6d 70 6c 69 6e 67 0d 02 6c 19 5c |Hz sampling..l.\| 00000490 20 31 30 45 20 37 2e 34 4b 48 7a 20 73 61 6d 70 | 10E 7.4KHz samp| 000004a0 6c 69 6e 67 0d 02 76 18 5c 20 30 42 35 20 31 31 |ling..v.\ 0B5 11| 000004b0 4b 48 7a 20 73 61 6d 70 6c 69 6e 67 0d 02 80 18 |KHz sampling....| 000004c0 5c 20 30 41 36 20 31 32 4b 48 7a 20 73 61 6d 70 |\ 0A6 12KHz samp| 000004d0 6c 69 6e 67 0d 02 8a 20 5c 20 30 38 30 20 4d 61 |ling... \ 080 Ma| 000004e0 78 69 6d 75 6d 20 72 61 74 65 20 66 6f 72 20 61 |ximum rate for a| 000004f0 20 33 31 30 0d 02 94 04 0d 02 9e 20 4d 4f 56 20 | 310....... MOV | 00000500 52 32 2c 23 26 30 30 30 30 30 20 5c 20 54 31 20 |R2,#&00000 \ T1 | 00000510 bb 55 45 20 48 49 47 48 0d 02 a8 24 53 54 52 20 |.UE HIGH...$STR | 00000520 52 32 2c 5b 52 30 2c 23 26 35 34 5d 20 5c 20 54 |R2,[R0,#&54] \ T| 00000530 31 20 4c 41 54 43 48 20 48 49 47 48 0d 02 b2 20 |1 LATCH HIGH... | 00000540 4d 4f 56 20 52 32 2c 23 26 41 36 30 30 30 30 20 |MOV R2,#&A60000 | 00000550 5c 20 54 31 20 bb 55 45 20 4c 4f 57 0d 02 bc 23 |\ T1 .UE LOW...#| 00000560 53 54 52 20 52 32 2c 5b 52 30 2c 23 26 35 30 5d |STR R2,[R0,#&50]| 00000570 20 5c 20 54 31 20 4c 41 54 43 48 20 4c 4f 57 0d | \ T1 LATCH LOW.| 00000580 02 c6 04 0d 02 d0 21 4c 44 52 20 52 32 2c 5b 52 |......!LDR R2,[R| 00000590 30 2c 23 26 31 38 5d 20 5c 20 a5 20 49 52 51 20 |0,#&18] \ . IRQ | 000005a0 4d 41 53 4b 0d 02 da 1d 84 52 20 52 32 2c 52 32 |MASK.....R R2,R2| 000005b0 2c 23 26 34 30 20 5c 20 45 4e 41 42 4c 45 20 54 |,#&40 \ ENABLE T| 000005c0 31 0d 02 e4 16 4d 4f 56 20 20 52 32 2c 52 32 2c |1....MOV R2,R2,| 000005d0 4c 53 4c 20 23 31 36 0d 02 ee 1f 53 54 52 20 52 |LSL #16....STR R| 000005e0 32 2c 5b 52 30 2c 23 26 31 38 5d 20 5c 20 4d 41 |2,[R0,#&18] \ MA| 000005f0 53 4b 20 52 45 47 0d 02 f8 04 0d 03 02 22 4d 4f |SK REG......."MO| 00000600 56 20 52 32 2c 23 26 34 30 30 30 30 30 20 5c 20 |V R2,#&400000 \ | 00000610 d8 20 54 31 20 a8 45 52 52 55 50 54 0d 03 0c 1c |. T1 .ERRUPT....| 00000620 53 54 52 20 52 32 2c 5b 52 30 2c 23 26 31 34 5d |STR R2,[R0,#&14]| 00000630 20 5c 20 49 52 51 20 d8 0d 03 16 1d 53 54 52 20 | \ IRQ .....STR | 00000640 20 52 32 2c 5b 52 30 2c 23 26 35 38 5d 20 5c 20 | R2,[R0,#&58] \ | 00000650 47 4f 20 54 31 0d 03 20 04 0d 03 2a 22 2e 54 4c |GO T1.. ...*".TL| 00000660 4f 4f 50 20 5c 20 44 45 4c 41 59 20 4c 4f 4f 50 |OOP \ DELAY LOOP| 00000670 20 e3 20 54 49 4d 45 52 20 54 31 0d 03 34 15 4c | . TIMER T1..4.L| 00000680 44 52 42 20 52 32 2c 5b 52 30 2c 23 26 31 30 5d |DRB R2,[R0,#&10]| 00000690 0d 03 3e 0f 54 53 54 20 52 32 2c 23 26 34 30 0d |..>.TST R2,#&40.| 000006a0 03 48 0d 42 45 51 20 54 4c 4f 4f 50 0d 03 52 22 |.H.BEQ TLOOP..R"| 000006b0 4d 4f 56 20 52 32 2c 23 26 34 30 30 30 30 30 20 |MOV R2,#&400000 | 000006c0 5c 20 d8 20 54 31 20 a8 45 52 52 55 50 54 0d 03 |\ . T1 .ERRUPT..| 000006d0 5c 1c 53 54 52 20 52 32 2c 5b 52 30 2c 23 26 31 |\.STR R2,[R0,#&1| 000006e0 34 5d 20 5c 20 49 52 51 20 d8 0d 03 66 04 0d 03 |4] \ IRQ ...f...| 000006f0 70 14 5c 20 54 41 4b 45 20 ee 45 20 53 41 4d 50 |p.\ TAKE .E SAMP| 00000700 4c 45 0d 03 7a 1f 4d 4f 56 20 52 32 2c 23 30 20 |LE..z.MOV R2,#0 | 00000710 5c 20 43 48 49 50 20 53 45 4c 45 43 54 20 4c 4f |\ CHIP SELECT LO| 00000720 57 0d 03 84 14 53 54 52 20 52 32 2c 5b 52 31 2c |W....STR R2,[R1,| 00000730 23 26 31 30 5d 0d 03 8e 1c 4d 4f 56 20 52 33 2c |#&10]....MOV R3,| 00000740 23 26 41 20 5c 20 42 49 54 53 20 b8 20 f3 20 49 |#&A \ BITS . . I| 00000750 4e 0d 03 98 21 4d 4f 56 20 52 35 2c 23 30 20 5c |N...!MOV R5,#0 \| 00000760 20 43 4f 4c 4c 45 43 54 20 42 49 54 53 20 48 45 | COLLECT BITS HE| 00000770 52 45 0d 03 a2 0a 2e 4c 4f 4f 50 31 0d 03 ac 1a |RE.....LOOP1....| 00000780 4c 44 52 20 52 34 2c 5b 52 30 2c 23 26 31 30 5d |LDR R4,[R0,#&10]| 00000790 20 5c 20 a5 20 dc 0d 03 b6 1f 4d 4f 56 20 52 32 | \ . .....MOV R2| 000007a0 2c 23 26 31 30 30 30 30 20 5c 20 43 4c 4f 43 4b |,#&10000 \ CLOCK| 000007b0 20 48 49 47 48 0d 03 c0 24 53 54 52 20 52 32 2c | HIGH...$STR R2,| 000007c0 5b 52 31 2c 23 26 31 30 5d 20 5c 20 50 55 54 20 |[R1,#&10] \ PUT | 000007d0 4f 55 54 20 b8 20 f1 45 52 0d 03 ca 1b 80 20 52 |OUT . .ER..... R| 000007e0 34 2c 52 34 2c 23 31 20 5c 20 4d 41 53 4b 20 dc |4,R4,#1 \ MASK .| 000007f0 20 42 49 54 0d 03 d4 2e 4d 4f 56 20 52 35 2c 52 | BIT....MOV R5,R| 00000800 35 2c 4c 53 4c 20 23 31 20 5c 20 50 52 45 50 41 |5,LSL #1 \ PREPA| 00000810 52 45 20 52 35 20 b8 20 52 45 43 49 45 56 45 20 |RE R5 . RECIEVE | 00000820 49 54 0d 03 de 23 84 52 20 52 35 2c 52 35 2c 52 |IT...#.R R5,R5,R| 00000830 34 20 5c 20 4d 49 58 20 49 54 20 49 4e 20 57 49 |4 \ MIX IT IN WI| 00000840 54 48 20 52 35 0d 03 e8 19 4d 4f 56 20 52 32 2c |TH R5....MOV R2,| 00000850 23 30 20 5c 20 43 4c 4f 43 4b 20 4c 4f 57 0d 03 |#0 \ CLOCK LOW..| 00000860 f2 14 53 54 52 20 52 32 2c 5b 52 31 2c 23 26 31 |..STR R2,[R1,#&1| 00000870 30 5d 0d 03 fc 14 53 54 52 20 52 32 2c 5b 52 31 |0]....STR R2,[R1| 00000880 2c 23 26 31 30 5d 0d 04 06 11 53 55 42 53 20 52 |,#&10]....SUBS R| 00000890 33 2c 52 33 2c 23 31 0d 04 10 0d 42 4e 45 20 4c |3,R3,#1....BNE L| 000008a0 4f 4f 50 31 0d 04 1a 25 4d 4f 56 20 52 32 2c 23 |OOP1...%MOV R2,#| 000008b0 26 32 30 30 30 30 20 5c 20 43 48 49 50 20 53 45 |&20000 \ CHIP SE| 000008c0 4c 45 43 54 20 48 49 47 48 0d 04 24 14 53 54 52 |LECT HIGH..$.STR| 000008d0 20 52 32 2c 5b 52 31 2c 23 26 31 30 5d 0d 04 2e | R2,[R1,#&10]...| 000008e0 23 80 20 52 35 2c 52 35 2c 23 26 46 46 20 5c 20 |#. R5,R5,#&FF \ | 000008f0 4d 41 53 4b 20 87 20 53 54 41 52 54 20 42 49 54 |MASK . START BIT| 00000900 0d 04 38 24 82 20 52 35 2c 52 35 2c 23 26 46 46 |..8$. R5,R5,#&FF| 00000910 20 5c 20 54 55 52 4e 20 52 49 47 48 54 20 57 41 | \ TURN RIGHT WA| 00000920 59 20 55 50 0d 04 42 16 5c 52 35 20 4e 4f 57 20 |Y UP..B.\R5 NOW | 00000930 48 41 53 20 53 41 4d 50 4c 45 0d 04 4c 2a 53 54 |HAS SAMPLE..L*ST| 00000940 52 42 20 52 35 2c 5b 52 36 5d 2c 23 31 20 5c 20 |RB R5,[R6],#1 \ | 00000950 50 55 54 20 49 54 20 49 4e 20 54 48 45 20 42 55 |PUT IT IN THE BU| 00000960 46 46 45 52 0d 04 56 29 53 55 42 53 20 52 37 2c |FFER..V)SUBS R7,| 00000970 52 37 2c 23 31 20 20 5c 20 44 45 43 52 45 4d 45 |R7,#1 \ DECREME| 00000980 4e 54 20 42 59 54 45 53 20 b8 20 47 4f 0d 04 60 |NT BYTES . GO..`| 00000990 20 42 4e 45 20 20 54 4c 4f 4f 50 20 5c 20 42 41 | BNE TLOOP \ BA| 000009a0 43 4b 20 fd 20 41 4c 4c 20 44 4f 4e 45 0d 04 6a |CK . ALL DONE..j| 000009b0 04 0d 04 74 13 5c 50 52 45 50 41 52 45 20 b8 20 |...t.\PREPARE . | 000009c0 45 58 49 54 0d 04 7e 22 4d 4f 56 20 52 32 2c 23 |EXIT..~"MOV R2,#| 000009d0 26 34 30 30 30 30 30 20 5c 20 d8 20 54 31 20 a8 |&400000 \ . T1 .| 000009e0 45 52 52 55 50 54 0d 04 88 1c 53 54 52 20 52 32 |ERRUPT....STR R2| 000009f0 2c 5b 52 30 2c 23 26 31 34 5d 20 5c 20 49 52 51 |,[R0,#&14] \ IRQ| 00000a00 20 d8 0d 04 92 21 4c 44 52 20 52 32 2c 5b 52 30 | ....!LDR R2,[R0| 00000a10 2c 23 26 31 38 5d 20 5c 20 a5 20 49 52 51 20 4d |,#&18] \ . IRQ M| 00000a20 41 53 4b 0d 04 9c 1c 80 20 52 32 2c 52 32 2c 23 |ASK..... R2,R2,#| 00000a30 26 42 46 20 5c 20 45 4e 41 42 4c 45 20 54 31 0d |&BF \ ENABLE T1.| 00000a40 04 a6 16 4d 4f 56 20 20 52 32 2c 52 32 2c 4c 53 |...MOV R2,R2,LS| 00000a50 4c 20 23 31 36 0d 04 b0 1f 53 54 52 20 52 32 2c |L #16....STR R2,| 00000a60 5b 52 30 2c 23 26 31 38 5d 20 5c 20 4d 41 53 4b |[R0,#&18] \ MASK| 00000a70 20 52 45 47 0d 04 ba 04 0d 04 c4 2d 4c 44 4d 46 | REG.......-LDMF| 00000a80 44 20 52 31 33 21 2c 20 7b 50 43 7d 20 5c 20 42 |D R13!, {PC} \ B| 00000a90 41 43 4b 20 46 52 4f 4d 20 c9 43 45 20 59 4f 55 |ACK FROM .CE YOU| 00000aa0 20 43 41 4d 45 0d 04 ce 05 5d 0d 04 d8 05 ed 0d | CAME....]......| 00000ab0 04 e2 05 e1 0d ff |......| 00000ab6