Home » Archimedes archive » Acorn User » AU 1998-07.adf » Regulars » RTR/SamTst
RTR/SamTst
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 1998-07.adf » Regulars |
Filename: | RTR/SamTst |
Read OK: | ✔ |
File size: | 0B5E bytes |
Load address: | 0000 |
Exec address: | 0000 |
File contents
10REM >SmaTest 40DIM CODE% &400, BP% 6400 50PRINT TAB(0,5)"Run The RISC" 60PRINT TAB(0,8)"By Mike Cook" 70PRINT TAB(0,10)"Sound Sampler Oscilloscope V0.1" 80PRINT TAB(0,15)"You need the Sound Sampler for this" 90PRINT"Any key to continue" 110NewH%=FALSE:SW%=1 170SPEED%=0:PROC_CSU 231PROC_SAMPLE 232END 233 1870DEF PROC_SAMPLE 1880G%=BP%+320*SW%:H%=320 1890SW%=SW% EOR 1 1900CALL SAMPN 1910ENDPROC 1920 1930DEF PROC_CSU :REM CODE SETUP 1940FOR A=0 TO 2 STEP 2 1950P%=CODE% 1960[ 1970OPT A 1980.TVAL EQUD 0 \ TRIGGER VALUE 1990.SPE1 EQUD 0 \ LSB OF SPEED 2000.SPE2 EQUD 0 \ MSB OF SPEED 2010\ GATHER SOUND 2960 2970.SAMPN \ LVAR HARDWARE SAMPLEING 2980STMFD R13!,{R14} 2990MOV R9,R15 3000SWI "OS_EnterOS" 3010TEQP R15,#&C000003 \DISABLE INTERRUPTS 3020MOVNV R0,R0 3030MOV R0,#&3200000 \ BASE ADDRESS OF IOC 3040MOV R1,#&3000000 \ BASE OF PRINTER LATCH 3050ADD R1,R1,#&10000 3060ADD R1,R1,#&9E0 3071 3080\ HOLD FOR TRIGGER 3090LDR R2,TVAL 3100CMP R2,#0 3110BEQ TRUNN \ SKIP THIS IF TRIGGER VALUE IS 0 3120.THOLD 3130MOV R2,#0 \ CHIP SELECT LOW 3140STR R2,[R1] 3150MOV R3,#&A \ BITS TO READ IN 3160MOV R5,#0 \ COLLECT BITS HERE 3170.LOOP2 3180LDR R4,[R1,#4] \ GET DATA 3190MOV R2,#&10000 \ CLOCK HIGH 3200STR R2,[R1] \ PUT OUT TO PRINTER 3210MOV R4,R4,LSR #6 3220AND R4,R4,#1 \ MASK DATA BIT 3230MOV R5,R5,LSL #1 \ PREPARE R5 TO RECIEVE IT 3240ORR R5,R5,R4 \ MIX IT IN WITH R5 3250MOV R2,#0 \ CLOCK LOW 3260STR R2,[R1] 3270SUBS R3,R3,#1 3280BNE LOOP2 3290MOV R2,#&20000 \ CHIP SELECT HIGH 3300STR R2,[R1] 3310AND R5,R5,#&FF \ MASK OFF START BIT 3320\R5 NOW HAS SAMPLE 3330LDR R2,TVAL 3340CMP R2,R5 3350BLS THOLD 3360 3370.TRUNN 3380LDR R2,SPE2 \ T1 VALUE HIGH 3390STR R2,[R0,#&44] \ T0 LATCH HIGH 3400LDR R2,SPE1 \ T1 VALUE LOW 3410STR R2,[R0,#&40] \ T0 LATCH LOW 3420 3430LDR R2,[R0,#&18] \ GET IRQ MASK 3440ORR R2,R2,#&20 \ ENABLE T0 3450MOV R2,R2,LSL #16 3460STR R2,[R0,#&18] \ MASK REG 3470 3480MOV R2,#&200000 \ CLEAR T0 INTERRUPT 3490STR R2,[R0,#&14] \ IRQ CLEAR 3500STR R2,[R0,#&48] \ GO T0 3510 3520.TLOOP \ DELAY LOOP FOR TIMER T0 3530LDRB R2,[R0,#&10] 3540TST R2,#&20 3550BEQ TLOOP 3560MOV R2,#&200000 \ CLEAR T0 INTERRUPT 3570STR R2,[R0,#&14] \ IRQ CLEAR 3580 3581B exit 3590\ TAKE ONE SAMPLE 3600MOV R2,#0 \ CHIP SELECT LOW 3610STR R2,[R1] 3620MOV R3,#&A \ BITS TO READ IN 3630MOV R5,#0 \ COLLECT BITS HERE 3640.LOOP1 3650LDR R4,[R1,#4] \ GET DATA 3660MOV R2,#&10000 \ CLOCK HIGH 3670STR R2,[R1] \ PUT OUT TO PRINTER 3680MOV R4,R4,LSR #6 3690AND R4,R4,#1 \ MASK DATA BIT 3700MOV R5,R5,LSL #1 \ PREPARE R5 TO RECIEVE IT 3710ORR R5,R5,R4 \ MIX IT IN WITH R5 3720MOV R2,#0 \ CLOCK LOW 3730STR R2,[R1] 3740SUBS R3,R3,#1 3750BNE LOOP1 3760MOV R2,#&20000 \ CHIP SELECT HIGH 3770STR R2,[R1] 3780AND R5,R5,#&FF \ MASK OFF START BIT 3790\R5 NOW HAS SAMPLE 3800STRB R5,[R6],#1 \ PUT IT IN THE BUFFER 3810SUBS R7,R7,#1 \ DECREMENT BYTES TO GO 3820BNE TLOOP \ BACK UNTILL ALL DONE 3830 3831.exit 3840\PREPARE TO EXIT 3850MOV R2,#&200000 \ CLEAR T0 INTERRUPT 3860\STR R2,[R0,#&14] \ IRQ CLEAR 3870LDR R2,[R0,#&18] \ GET IRQ MASK 3880AND R2,R2,#&DF \ ENABLE T0 3890MOV R2,R2,LSL #16 3900\STR R2,[R0,#&18] \ MASK REG 3910 3920TEQP R9,#0 3930MOVNV R0,R0 3940LDMFD R13!, {PC} \ BACK FROM WHENST YOU CAME 3950 4230] 4240NEXT 4290ENDPROC
� >SmaTest (� CODE% &400, BP% 6400 2� �0,5)"Run The RISC" <� �0,8)"By Mike Cook" F-� �0,10)"Sound Sampler Oscilloscope V0.1" P1� �0,15)"You need the Sound Sampler for this" Z�"Any key to continue" nNewH%=�:SW%=1 �SPEED%=0:�_CSU ��_SAMPLE �� � N� �_SAMPLE XG%=BP%+320*SW%:H%=320 bSW%=SW% � 1 l� SAMPN v� � �� �_CSU :� CODE SETUP �� A=0 � 2 � 2 �P%=CODE% �[ � OPT A �.TVAL EQUD 0 \ TRIGGER �UE �.SPE1 EQUD 0 \ LSB � SPEED �.SPE2 EQUD 0 \ MSB � SPEED �\ GATHER � � �".SAMPN \ ǖ HARDWARE SAMPLEING �STMFD R13!,{R14} �MOV R9,R15 �SWI "OS_EnterOS" �(TEQP R15,#&C000003 \DISABLE �ERRUPTS �MOVNV R0,R0 �)MOV R0,#&3200000 \ BASE ADDRESS � IOC �'MOV R1,#&3000000 \ BASE � �ER LATCH �ADD R1,R1,#&10000 �ADD R1,R1,#&9E0 � \ HOLD � TRIGGER LDR R2,TVAL CMP R2,#0 &,BEQ TRUNN \ SKIP THIS � TRIGGER �UE IS 0 0 .THOLD :MOV R2,#0 \ CHIP SELECT LOW DSTR R2,[R1] NMOV R3,#&A \ BITS � � IN X!MOV R5,#0 \ COLLECT BITS HERE b .LOOP2 lLDR R4,[R1,#4] \ � � vMOV R2,#&10000 \ CLOCK HIGH �STR R2,[R1] \ PUT OUT � �ER �MOV R4,R4,LSR #6 �� 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] �SUBS R3,R3,#1 � BNE LOOP2 �%MOV R2,#&20000 \ CHIP SELECT HIGH �STR R2,[R1] �#� R5,R5,#&FF \ MASK � START BIT �\R5 NOW HAS SAMPLE LDR R2,TVAL CMP R2,R5 BLS THOLD * .TRUNN 4LDR R2,SPE2 \ T1 �UE HIGH >$STR R2,[R0,#&44] \ T0 LATCH HIGH HLDR R2,SPE1 \ T1 �UE LOW R#STR R2,[R0,#&40] \ T0 LATCH LOW \ f!LDR R2,[R0,#&18] \ � IRQ MASK p�R R2,R2,#&20 \ ENABLE T0 zMOV R2,R2,LSL #16 �STR R2,[R0,#&18] \ MASK REG � �"MOV R2,#&200000 \ � T0 �ERRUPT �STR R2,[R0,#&14] \ IRQ � �STR R2,[R0,#&48] \ GO T0 � �".TLOOP \ DELAY LOOP � TIMER T0 �LDRB R2,[R0,#&10] �TST R2,#&20 � BEQ TLOOP �"MOV R2,#&200000 \ � T0 �ERRUPT �STR R2,[R0,#&14] \ IRQ � � � B exit \ TAKE �E SAMPLE MOV R2,#0 \ CHIP SELECT LOW STR R2,[R1] $MOV R3,#&A \ BITS � � IN .!MOV R5,#0 \ COLLECT BITS HERE 8 .LOOP1 BLDR R4,[R1,#4] \ � � LMOV R2,#&10000 \ CLOCK HIGH VSTR R2,[R1] \ PUT OUT � �ER `MOV R4,R4,LSR #6 j� R4,R4,#1 \ MASK � BIT t.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] �SUBS R3,R3,#1 � BNE LOOP1 �%MOV R2,#&20000 \ CHIP SELECT HIGH �STR R2,[R1] �#� R5,R5,#&FF \ MASK � START BIT �\R5 NOW HAS SAMPLE �*STRB R5,[R6],#1 \ PUT IT IN THE BUFFER �)SUBS R7,R7,#1 \ DECREMENT BYTES � GO �!BNE TLOOP \ BACK �L ALL DONE � � .exit \PREPARE � EXIT "MOV R2,#&200000 \ � T0 �ERRUPT \STR R2,[R0,#&14] \ IRQ � !LDR R2,[R0,#&18] \ � IRQ MASK (� R2,R2,#&DF \ ENABLE T0 2MOV R2,R2,LSL #16 < \STR R2,[R0,#&18] \ MASK REG F PTEQP R9,#0 ZMOVNV R0,R0 d-LDMFD R13!, {PC} \ BACK FROM �ST YOU CAME n �] �� �� �
00000000 0d 00 0a 0e f4 20 3e 53 6d 61 54 65 73 74 0d 00 |..... >SmaTest..| 00000010 28 1a de 20 43 4f 44 45 25 20 26 34 30 30 2c 20 |(.. CODE% &400, | 00000020 42 50 25 20 36 34 30 30 0d 00 32 19 f1 20 8a 30 |BP% 6400..2.. .0| 00000030 2c 35 29 22 52 75 6e 20 54 68 65 20 52 49 53 43 |,5)"Run The RISC| 00000040 22 0d 00 3c 19 f1 20 8a 30 2c 38 29 22 42 79 20 |"..<.. .0,8)"By | 00000050 4d 69 6b 65 20 43 6f 6f 6b 22 0d 00 46 2d f1 20 |Mike Cook"..F-. | 00000060 8a 30 2c 31 30 29 22 53 6f 75 6e 64 20 53 61 6d |.0,10)"Sound Sam| 00000070 70 6c 65 72 20 4f 73 63 69 6c 6c 6f 73 63 6f 70 |pler Oscilloscop| 00000080 65 20 56 30 2e 31 22 0d 00 50 31 f1 20 8a 30 2c |e V0.1"..P1. .0,| 00000090 31 35 29 22 59 6f 75 20 6e 65 65 64 20 74 68 65 |15)"You need the| 000000a0 20 53 6f 75 6e 64 20 53 61 6d 70 6c 65 72 20 66 | Sound Sampler f| 000000b0 6f 72 20 74 68 69 73 22 0d 00 5a 1a f1 22 41 6e |or this"..Z.."An| 000000c0 79 20 6b 65 79 20 74 6f 20 63 6f 6e 74 69 6e 75 |y key to continu| 000000d0 65 22 0d 00 6e 11 4e 65 77 48 25 3d a3 3a 53 57 |e"..n.NewH%=.:SW| 000000e0 25 3d 31 0d 00 aa 12 53 50 45 45 44 25 3d 30 3a |%=1....SPEED%=0:| 000000f0 f2 5f 43 53 55 0d 00 e7 0c f2 5f 53 41 4d 50 4c |._CSU....._SAMPL| 00000100 45 0d 00 e8 05 e0 0d 00 e9 04 0d 07 4e 0e dd 20 |E...........N.. | 00000110 f2 5f 53 41 4d 50 4c 45 0d 07 58 19 47 25 3d 42 |._SAMPLE..X.G%=B| 00000120 50 25 2b 33 32 30 2a 53 57 25 3a 48 25 3d 33 32 |P%+320*SW%:H%=32| 00000130 30 0d 07 62 0f 53 57 25 3d 53 57 25 20 82 20 31 |0..b.SW%=SW% . 1| 00000140 0d 07 6c 0b d6 20 53 41 4d 50 4e 0d 07 76 05 e1 |..l.. SAMPN..v..| 00000150 0d 07 80 04 0d 07 8a 19 dd 20 f2 5f 43 53 55 20 |......... ._CSU | 00000160 3a f4 20 43 4f 44 45 20 53 45 54 55 50 0d 07 94 |:. CODE SETUP...| 00000170 11 e3 20 41 3d 30 20 b8 20 32 20 88 20 32 0d 07 |.. A=0 . 2 . 2..| 00000180 9e 0c 50 25 3d 43 4f 44 45 25 0d 07 a8 05 5b 0d |..P%=CODE%....[.| 00000190 07 b2 09 4f 50 54 20 41 0d 07 bc 1e 2e 54 56 41 |...OPT A.....TVA| 000001a0 4c 20 45 51 55 44 20 30 20 5c 20 54 52 49 47 47 |L EQUD 0 \ TRIGG| 000001b0 45 52 20 bb 55 45 0d 07 c6 1e 2e 53 50 45 31 20 |ER .UE.....SPE1 | 000001c0 45 51 55 44 20 30 20 5c 20 4c 53 42 20 ca 20 53 |EQUD 0 \ LSB . S| 000001d0 50 45 45 44 0d 07 d0 1e 2e 53 50 45 32 20 45 51 |PEED.....SPE2 EQ| 000001e0 55 44 20 30 20 5c 20 4d 53 42 20 ca 20 53 50 45 |UD 0 \ MSB . SPE| 000001f0 45 44 0d 07 da 0e 5c 20 47 41 54 48 45 52 20 d4 |ED....\ GATHER .| 00000200 0d 0b 90 04 0d 0b 9a 22 2e 53 41 4d 50 4e 20 5c |.......".SAMPN \| 00000210 20 c7 96 20 48 41 52 44 57 41 52 45 20 53 41 4d | .. HARDWARE SAM| 00000220 50 4c 45 49 4e 47 0d 0b a4 14 53 54 4d 46 44 20 |PLEING....STMFD | 00000230 52 31 33 21 2c 7b 52 31 34 7d 0d 0b ae 0e 4d 4f |R13!,{R14}....MO| 00000240 56 20 52 39 2c 52 31 35 0d 0b b8 14 53 57 49 20 |V R9,R15....SWI | 00000250 22 4f 53 5f 45 6e 74 65 72 4f 53 22 0d 0b c2 28 |"OS_EnterOS"...(| 00000260 54 45 51 50 20 52 31 35 2c 23 26 43 30 30 30 30 |TEQP R15,#&C0000| 00000270 30 33 20 5c 44 49 53 41 42 4c 45 20 a8 45 52 52 |03 \DISABLE .ERR| 00000280 55 50 54 53 0d 0b cc 0f 4d 4f 56 4e 56 20 52 30 |UPTS....MOVNV R0| 00000290 2c 52 30 0d 0b d6 29 4d 4f 56 20 52 30 2c 23 26 |,R0...)MOV R0,#&| 000002a0 33 32 30 30 30 30 30 20 5c 20 42 41 53 45 20 41 |3200000 \ BASE A| 000002b0 44 44 52 45 53 53 20 ca 20 49 4f 43 0d 0b e0 27 |DDRESS . IOC...'| 000002c0 4d 4f 56 20 52 31 2c 23 26 33 30 30 30 30 30 30 |MOV R1,#&3000000| 000002d0 20 5c 20 42 41 53 45 20 ca 20 f1 45 52 20 4c 41 | \ BASE . .ER LA| 000002e0 54 43 48 0d 0b ea 15 41 44 44 20 52 31 2c 52 31 |TCH....ADD R1,R1| 000002f0 2c 23 26 31 30 30 30 30 0d 0b f4 13 41 44 44 20 |,#&10000....ADD | 00000300 52 31 2c 52 31 2c 23 26 39 45 30 0d 0b ff 04 0d |R1,R1,#&9E0.....| 00000310 0c 08 14 5c 20 48 4f 4c 44 20 e3 20 54 52 49 47 |...\ HOLD . TRIG| 00000320 47 45 52 0d 0c 12 0f 4c 44 52 20 52 32 2c 54 56 |GER....LDR R2,TV| 00000330 41 4c 0d 0c 1c 0d 43 4d 50 20 52 32 2c 23 30 0d |AL....CMP R2,#0.| 00000340 0c 26 2c 42 45 51 20 54 52 55 4e 4e 20 5c 20 53 |.&,BEQ TRUNN \ S| 00000350 4b 49 50 20 54 48 49 53 20 e7 20 54 52 49 47 47 |KIP THIS . TRIGG| 00000360 45 52 20 bb 55 45 20 49 53 20 30 0d 0c 30 0a 2e |ER .UE IS 0..0..| 00000370 54 48 4f 4c 44 0d 0c 3a 1f 4d 4f 56 20 52 32 2c |THOLD..:.MOV R2,| 00000380 23 30 20 5c 20 43 48 49 50 20 53 45 4c 45 43 54 |#0 \ CHIP SELECT| 00000390 20 4c 4f 57 0d 0c 44 0f 53 54 52 20 52 32 2c 5b | LOW..D.STR R2,[| 000003a0 52 31 5d 0d 0c 4e 1c 4d 4f 56 20 52 33 2c 23 26 |R1]..N.MOV R3,#&| 000003b0 41 20 5c 20 42 49 54 53 20 b8 20 f3 20 49 4e 0d |A \ BITS . . IN.| 000003c0 0c 58 21 4d 4f 56 20 52 35 2c 23 30 20 5c 20 43 |.X!MOV R5,#0 \ C| 000003d0 4f 4c 4c 45 43 54 20 42 49 54 53 20 48 45 52 45 |OLLECT BITS HERE| 000003e0 0d 0c 62 0a 2e 4c 4f 4f 50 32 0d 0c 6c 18 4c 44 |..b..LOOP2..l.LD| 000003f0 52 20 52 34 2c 5b 52 31 2c 23 34 5d 20 5c 20 a5 |R R4,[R1,#4] \ .| 00000400 20 dc 0d 0c 76 1f 4d 4f 56 20 52 32 2c 23 26 31 | ...v.MOV R2,#&1| 00000410 30 30 30 30 20 5c 20 43 4c 4f 43 4b 20 48 49 47 |0000 \ CLOCK HIG| 00000420 48 0d 0c 80 1f 53 54 52 20 52 32 2c 5b 52 31 5d |H....STR R2,[R1]| 00000430 20 5c 20 50 55 54 20 4f 55 54 20 b8 20 f1 45 52 | \ PUT OUT . .ER| 00000440 0d 0c 8a 14 4d 4f 56 20 52 34 2c 52 34 2c 4c 53 |....MOV R4,R4,LS| 00000450 52 20 23 36 0d 0c 94 1b 80 20 52 34 2c 52 34 2c |R #6..... R4,R4,| 00000460 23 31 20 5c 20 4d 41 53 4b 20 dc 20 42 49 54 0d |#1 \ MASK . BIT.| 00000470 0c 9e 2e 4d 4f 56 20 52 35 2c 52 35 2c 4c 53 4c |...MOV R5,R5,LSL| 00000480 20 23 31 20 5c 20 50 52 45 50 41 52 45 20 52 35 | #1 \ PREPARE R5| 00000490 20 b8 20 52 45 43 49 45 56 45 20 49 54 0d 0c a8 | . RECIEVE IT...| 000004a0 23 84 52 20 52 35 2c 52 35 2c 52 34 20 5c 20 4d |#.R R5,R5,R4 \ M| 000004b0 49 58 20 49 54 20 49 4e 20 57 49 54 48 20 52 35 |IX IT IN WITH R5| 000004c0 0d 0c b2 19 4d 4f 56 20 52 32 2c 23 30 20 5c 20 |....MOV R2,#0 \ | 000004d0 43 4c 4f 43 4b 20 4c 4f 57 0d 0c bc 0f 53 54 52 |CLOCK LOW....STR| 000004e0 20 52 32 2c 5b 52 31 5d 0d 0c c6 11 53 55 42 53 | R2,[R1]....SUBS| 000004f0 20 52 33 2c 52 33 2c 23 31 0d 0c d0 0d 42 4e 45 | R3,R3,#1....BNE| 00000500 20 4c 4f 4f 50 32 0d 0c da 25 4d 4f 56 20 52 32 | LOOP2...%MOV R2| 00000510 2c 23 26 32 30 30 30 30 20 5c 20 43 48 49 50 20 |,#&20000 \ CHIP | 00000520 53 45 4c 45 43 54 20 48 49 47 48 0d 0c e4 0f 53 |SELECT HIGH....S| 00000530 54 52 20 52 32 2c 5b 52 31 5d 0d 0c ee 23 80 20 |TR R2,[R1]...#. | 00000540 52 35 2c 52 35 2c 23 26 46 46 20 5c 20 4d 41 53 |R5,R5,#&FF \ MAS| 00000550 4b 20 87 20 53 54 41 52 54 20 42 49 54 0d 0c f8 |K . START BIT...| 00000560 16 5c 52 35 20 4e 4f 57 20 48 41 53 20 53 41 4d |.\R5 NOW HAS SAM| 00000570 50 4c 45 0d 0d 02 0f 4c 44 52 20 52 32 2c 54 56 |PLE....LDR R2,TV| 00000580 41 4c 0d 0d 0c 0d 43 4d 50 20 52 32 2c 52 35 0d |AL....CMP R2,R5.| 00000590 0d 16 0d 42 4c 53 20 54 48 4f 4c 44 0d 0d 20 04 |...BLS THOLD.. .| 000005a0 0d 0d 2a 0a 2e 54 52 55 4e 4e 0d 0d 34 1d 4c 44 |..*..TRUNN..4.LD| 000005b0 52 20 52 32 2c 53 50 45 32 20 5c 20 54 31 20 bb |R R2,SPE2 \ T1 .| 000005c0 55 45 20 48 49 47 48 0d 0d 3e 24 53 54 52 20 52 |UE HIGH..>$STR R| 000005d0 32 2c 5b 52 30 2c 23 26 34 34 5d 20 5c 20 54 30 |2,[R0,#&44] \ T0| 000005e0 20 4c 41 54 43 48 20 48 49 47 48 0d 0d 48 1c 4c | LATCH HIGH..H.L| 000005f0 44 52 20 52 32 2c 53 50 45 31 20 5c 20 54 31 20 |DR R2,SPE1 \ T1 | 00000600 bb 55 45 20 4c 4f 57 0d 0d 52 23 53 54 52 20 52 |.UE LOW..R#STR R| 00000610 32 2c 5b 52 30 2c 23 26 34 30 5d 20 5c 20 54 30 |2,[R0,#&40] \ T0| 00000620 20 4c 41 54 43 48 20 4c 4f 57 0d 0d 5c 04 0d 0d | LATCH LOW..\...| 00000630 66 21 4c 44 52 20 52 32 2c 5b 52 30 2c 23 26 31 |f!LDR R2,[R0,#&1| 00000640 38 5d 20 5c 20 a5 20 49 52 51 20 4d 41 53 4b 0d |8] \ . IRQ MASK.| 00000650 0d 70 1d 84 52 20 52 32 2c 52 32 2c 23 26 32 30 |.p..R R2,R2,#&20| 00000660 20 5c 20 45 4e 41 42 4c 45 20 54 30 0d 0d 7a 16 | \ ENABLE T0..z.| 00000670 4d 4f 56 20 20 52 32 2c 52 32 2c 4c 53 4c 20 23 |MOV R2,R2,LSL #| 00000680 31 36 0d 0d 84 1f 53 54 52 20 52 32 2c 5b 52 30 |16....STR R2,[R0| 00000690 2c 23 26 31 38 5d 20 5c 20 4d 41 53 4b 20 52 45 |,#&18] \ MASK RE| 000006a0 47 0d 0d 8e 04 0d 0d 98 22 4d 4f 56 20 52 32 2c |G......."MOV R2,| 000006b0 23 26 32 30 30 30 30 30 20 5c 20 d8 20 54 30 20 |#&200000 \ . T0 | 000006c0 a8 45 52 52 55 50 54 0d 0d a2 1c 53 54 52 20 52 |.ERRUPT....STR R| 000006d0 32 2c 5b 52 30 2c 23 26 31 34 5d 20 5c 20 49 52 |2,[R0,#&14] \ IR| 000006e0 51 20 d8 0d 0d ac 1d 53 54 52 20 20 52 32 2c 5b |Q .....STR R2,[| 000006f0 52 30 2c 23 26 34 38 5d 20 5c 20 47 4f 20 54 30 |R0,#&48] \ GO T0| 00000700 0d 0d b6 04 0d 0d c0 22 2e 54 4c 4f 4f 50 20 5c |.......".TLOOP \| 00000710 20 44 45 4c 41 59 20 4c 4f 4f 50 20 e3 20 54 49 | DELAY LOOP . TI| 00000720 4d 45 52 20 54 30 0d 0d ca 15 4c 44 52 42 20 52 |MER T0....LDRB R| 00000730 32 2c 5b 52 30 2c 23 26 31 30 5d 0d 0d d4 0f 54 |2,[R0,#&10]....T| 00000740 53 54 20 52 32 2c 23 26 32 30 0d 0d de 0d 42 45 |ST R2,#&20....BE| 00000750 51 20 54 4c 4f 4f 50 0d 0d e8 22 4d 4f 56 20 52 |Q TLOOP..."MOV R| 00000760 32 2c 23 26 32 30 30 30 30 30 20 5c 20 d8 20 54 |2,#&200000 \ . T| 00000770 30 20 a8 45 52 52 55 50 54 0d 0d f2 1c 53 54 52 |0 .ERRUPT....STR| 00000780 20 52 32 2c 5b 52 30 2c 23 26 31 34 5d 20 5c 20 | R2,[R0,#&14] \ | 00000790 49 52 51 20 d8 0d 0d fc 04 0d 0d fd 0a 42 20 65 |IRQ .........B e| 000007a0 78 69 74 0d 0e 06 14 5c 20 54 41 4b 45 20 ee 45 |xit....\ TAKE .E| 000007b0 20 53 41 4d 50 4c 45 0d 0e 10 1f 4d 4f 56 20 52 | SAMPLE....MOV R| 000007c0 32 2c 23 30 20 5c 20 43 48 49 50 20 53 45 4c 45 |2,#0 \ CHIP SELE| 000007d0 43 54 20 4c 4f 57 0d 0e 1a 0f 53 54 52 20 52 32 |CT LOW....STR R2| 000007e0 2c 5b 52 31 5d 0d 0e 24 1c 4d 4f 56 20 52 33 2c |,[R1]..$.MOV R3,| 000007f0 23 26 41 20 5c 20 42 49 54 53 20 b8 20 f3 20 49 |#&A \ BITS . . I| 00000800 4e 0d 0e 2e 21 4d 4f 56 20 52 35 2c 23 30 20 5c |N...!MOV R5,#0 \| 00000810 20 43 4f 4c 4c 45 43 54 20 42 49 54 53 20 48 45 | COLLECT BITS HE| 00000820 52 45 0d 0e 38 0a 2e 4c 4f 4f 50 31 0d 0e 42 18 |RE..8..LOOP1..B.| 00000830 4c 44 52 20 52 34 2c 5b 52 31 2c 23 34 5d 20 5c |LDR R4,[R1,#4] \| 00000840 20 a5 20 dc 0d 0e 4c 1f 4d 4f 56 20 52 32 2c 23 | . ...L.MOV R2,#| 00000850 26 31 30 30 30 30 20 5c 20 43 4c 4f 43 4b 20 48 |&10000 \ CLOCK H| 00000860 49 47 48 0d 0e 56 1f 53 54 52 20 52 32 2c 5b 52 |IGH..V.STR R2,[R| 00000870 31 5d 20 5c 20 50 55 54 20 4f 55 54 20 b8 20 f1 |1] \ PUT OUT . .| 00000880 45 52 0d 0e 60 14 4d 4f 56 20 52 34 2c 52 34 2c |ER..`.MOV R4,R4,| 00000890 4c 53 52 20 23 36 0d 0e 6a 1b 80 20 52 34 2c 52 |LSR #6..j.. R4,R| 000008a0 34 2c 23 31 20 5c 20 4d 41 53 4b 20 dc 20 42 49 |4,#1 \ MASK . BI| 000008b0 54 0d 0e 74 2e 4d 4f 56 20 52 35 2c 52 35 2c 4c |T..t.MOV R5,R5,L| 000008c0 53 4c 20 23 31 20 5c 20 50 52 45 50 41 52 45 20 |SL #1 \ PREPARE | 000008d0 52 35 20 b8 20 52 45 43 49 45 56 45 20 49 54 0d |R5 . RECIEVE IT.| 000008e0 0e 7e 23 84 52 20 52 35 2c 52 35 2c 52 34 20 5c |.~#.R R5,R5,R4 \| 000008f0 20 4d 49 58 20 49 54 20 49 4e 20 57 49 54 48 20 | MIX IT IN WITH | 00000900 52 35 0d 0e 88 19 4d 4f 56 20 52 32 2c 23 30 20 |R5....MOV R2,#0 | 00000910 5c 20 43 4c 4f 43 4b 20 4c 4f 57 0d 0e 92 0f 53 |\ CLOCK LOW....S| 00000920 54 52 20 52 32 2c 5b 52 31 5d 0d 0e 9c 11 53 55 |TR R2,[R1]....SU| 00000930 42 53 20 52 33 2c 52 33 2c 23 31 0d 0e a6 0d 42 |BS R3,R3,#1....B| 00000940 4e 45 20 4c 4f 4f 50 31 0d 0e b0 25 4d 4f 56 20 |NE LOOP1...%MOV | 00000950 52 32 2c 23 26 32 30 30 30 30 20 5c 20 43 48 49 |R2,#&20000 \ CHI| 00000960 50 20 53 45 4c 45 43 54 20 48 49 47 48 0d 0e ba |P SELECT HIGH...| 00000970 0f 53 54 52 20 52 32 2c 5b 52 31 5d 0d 0e c4 23 |.STR R2,[R1]...#| 00000980 80 20 52 35 2c 52 35 2c 23 26 46 46 20 5c 20 4d |. R5,R5,#&FF \ M| 00000990 41 53 4b 20 87 20 53 54 41 52 54 20 42 49 54 0d |ASK . START BIT.| 000009a0 0e ce 16 5c 52 35 20 4e 4f 57 20 48 41 53 20 53 |...\R5 NOW HAS S| 000009b0 41 4d 50 4c 45 0d 0e d8 2a 53 54 52 42 20 52 35 |AMPLE...*STRB R5| 000009c0 2c 5b 52 36 5d 2c 23 31 20 5c 20 50 55 54 20 49 |,[R6],#1 \ PUT I| 000009d0 54 20 49 4e 20 54 48 45 20 42 55 46 46 45 52 0d |T IN THE BUFFER.| 000009e0 0e e2 29 53 55 42 53 20 52 37 2c 52 37 2c 23 31 |..)SUBS R7,R7,#1| 000009f0 20 20 5c 20 44 45 43 52 45 4d 45 4e 54 20 42 59 | \ DECREMENT BY| 00000a00 54 45 53 20 b8 20 47 4f 0d 0e ec 21 42 4e 45 20 |TES . GO...!BNE | 00000a10 20 54 4c 4f 4f 50 20 5c 20 42 41 43 4b 20 fd 4c | TLOOP \ BACK .L| 00000a20 20 41 4c 4c 20 44 4f 4e 45 0d 0e f6 04 0d 0e f7 | ALL DONE.......| 00000a30 09 2e 65 78 69 74 0d 0f 00 13 5c 50 52 45 50 41 |..exit....\PREPA| 00000a40 52 45 20 b8 20 45 58 49 54 0d 0f 0a 22 4d 4f 56 |RE . EXIT..."MOV| 00000a50 20 52 32 2c 23 26 32 30 30 30 30 30 20 5c 20 d8 | R2,#&200000 \ .| 00000a60 20 54 30 20 a8 45 52 52 55 50 54 0d 0f 14 1d 5c | T0 .ERRUPT....\| 00000a70 53 54 52 20 52 32 2c 5b 52 30 2c 23 26 31 34 5d |STR R2,[R0,#&14]| 00000a80 20 5c 20 49 52 51 20 d8 0d 0f 1e 21 4c 44 52 20 | \ IRQ ....!LDR | 00000a90 52 32 2c 5b 52 30 2c 23 26 31 38 5d 20 5c 20 a5 |R2,[R0,#&18] \ .| 00000aa0 20 49 52 51 20 4d 41 53 4b 0d 0f 28 1c 80 20 52 | IRQ MASK..(.. R| 00000ab0 32 2c 52 32 2c 23 26 44 46 20 5c 20 45 4e 41 42 |2,R2,#&DF \ ENAB| 00000ac0 4c 45 20 54 30 0d 0f 32 16 4d 4f 56 20 20 52 32 |LE T0..2.MOV R2| 00000ad0 2c 52 32 2c 4c 53 4c 20 23 31 36 0d 0f 3c 20 5c |,R2,LSL #16..< \| 00000ae0 53 54 52 20 52 32 2c 5b 52 30 2c 23 26 31 38 5d |STR R2,[R0,#&18]| 00000af0 20 5c 20 4d 41 53 4b 20 52 45 47 0d 0f 46 04 0d | \ MASK REG..F..| 00000b00 0f 50 0e 54 45 51 50 20 52 39 2c 23 30 0d 0f 5a |.P.TEQP R9,#0..Z| 00000b10 0f 4d 4f 56 4e 56 20 52 30 2c 52 30 0d 0f 64 2d |.MOVNV R0,R0..d-| 00000b20 4c 44 4d 46 44 20 52 31 33 21 2c 20 7b 50 43 7d |LDMFD R13!, {PC}| 00000b30 20 5c 20 42 41 43 4b 20 46 52 4f 4d 20 c9 53 54 | \ BACK FROM .ST| 00000b40 20 59 4f 55 20 43 41 4d 45 0d 0f 6e 04 0d 10 86 | YOU CAME..n....| 00000b50 05 5d 0d 10 90 05 ed 0d 10 c2 05 e1 0d ff |.]............| 00000b5e