📄 iis_dual.txt
字号:
; generated by ARM C Compiler, ADS1.2 [Build 805]
; commandline [-errors .\err\iis_dual.err -O0 -asm -g+ -cpu ARM920T -fs "-IC:\Program Files\ARM\ADSv1_2\INCLUDE"]
CODE32
AREA ||.text||, CODE, READONLY
InterruptLatencyStop PROC
;;;201 void InterruptLatencyStop(void)
;;;202 {
|L1.0|
000000 e92d4008 STMFD sp!,{r3,lr}
;;;203 rINTMSK|=BIT_TIMER0;
000004 e3a0044a MOV r0,#0x4a000000
000008 e5900008 LDR r0,[r0,#8]
00000c e3800e40 ORR r0,r0,#0x400
000010 e3a0144a MOV r1,#0x4a000000
000014 e5810008 STR r0,[r1,#8]
;;;204
;;;205 Uart_Printf("[Random Interrupt Latency Stop]\n");
000018 e28f0004 ADR r0,|L1.36|
00001c ebfffffe BL Uart_Printf
;;;206 }
000020 e8bd8008 LDMFD sp!,{r3,pc}
|L1.36|
000024 6e61525b DCB "[Ran"
000028 206d6f64 DCB "dom "
00002c 65746e49 DCB "Inte"
000030 70757272 DCB "rrup"
000034 614c2074 DCB "t La"
000038 636e6574 DCB "tenc"
00003c 74532079 DCB "y St"
000040 0a5d706f DCB "op]\n"
000044 00000000 DCB "\0\0\0\0"
ENDP
IsrTimer0_InterruptLatency PROC
;;;462 void __irq IsrTimer0_InterruptLatency(void)
;;;463 {
000048 e92d500f STMFD sp!,{r0-r3,r12,lr}
;;;464 static U16 count=0;
;;;465 ClearPending(BIT_TIMER0);
00004c e3a00e40 MOV r0,#0x400
000050 e3a0144a MOV r1,#0x4a000000
000054 e5810000 STR r0,[r1,#0]
000058 e3a00e40 MOV r0,#0x400
00005c e3a0144a MOV r1,#0x4a000000
000060 e5810010 STR r0,[r1,#0x10]
000064 e3a0044a MOV r0,#0x4a000000
000068 e5900010 LDR r0,[r0,#0x10]
;;;466 count++;
00006c e59f00e0 LDR r0,|L1.340|
000070 e1d000b0 LDRH r0,[r0,#0] ; count@IsrTimer0_InterruptLatency_0
000074 e2800001 ADD r0,r0,#1
000078 e59f10d4 LDR r1,|L1.340|
00007c e1c100b0 STRH r0,[r1,#0] ; count@IsrTimer0_InterruptLatency_0
;;;467 if(count==0x0)count=1;
000080 e59f00cc LDR r0,|L1.340|
000084 e1d000b0 LDRH r0,[r0,#0] ; count@IsrTimer0_InterruptLatency_0
000088 e3500000 CMP r0,#0
00008c 1a000002 BNE |L1.156|
000090 e3a00001 MOV r0,#1
000094 e59f10b8 LDR r1,|L1.340|
000098 e1c100b0 STRH r0,[r1,#0] ; count@IsrTimer0_InterruptLatency_0
;;;468 Delay(count&0x7f);
|L1.156|
00009c e59f10b0 LDR r1,|L1.340|
0000a0 e1d110b0 LDRH r1,[r1,#0] ; count@IsrTimer0_InterruptLatency_0
0000a4 e201007f AND r0,r1,#0x7f
0000a8 ebfffffe BL Delay
;;;469 Led_Display(count);
0000ac e59f00a0 LDR r0,|L1.340|
0000b0 e1d000b0 LDRH r0,[r0,#0] ; count@IsrTimer0_InterruptLatency_0
0000b4 ebfffffe BL Led_Display
;;;470
;;;471 rTCNTB0=count;
0000b8 e59f0094 LDR r0,|L1.340|
0000bc e1d000b0 LDRH r0,[r0,#0] ; count@IsrTimer0_InterruptLatency_0
0000c0 e3a01451 MOV r1,#0x51000000
0000c4 e581000c STR r0,[r1,#0xc]
;;;472 rTCON=(1<<1); //T0ManualUpdate
0000c8 e3a00002 MOV r0,#2
0000cc e3a01451 MOV r1,#0x51000000
0000d0 e5810008 STR r0,[r1,#8]
;;;473 rTCON=(1<<0); //T0Start
0000d4 e3a00001 MOV r0,#1
0000d8 e3a01451 MOV r1,#0x51000000
0000dc e5810008 STR r0,[r1,#8]
;;;474
;;;475 }
0000e0 e8bd500f LDMFD sp!,{r0-r3,r12,lr}
0000e4 e25ef004 SUBS pc,lr,#4
ENDP
InterruptLatencyStart PROC
;;;188 void InterruptLatencyStart(void)
;;;189 {
0000e8 e92d4008 STMFD sp!,{r3,lr}
;;;190 Uart_Printf("[Random Interrupt Latency Start]\n");
0000ec e28f0064 ADR r0,|L1.344|
0000f0 ebfffffe BL Uart_Printf
;;;191 pISR_TIMER0 = (U32)IsrTimer0_InterruptLatency; //to make a worst condition
0000f4 e59f0080 LDR r0,|L1.380|
0000f8 e59f1080 LDR r1,|L1.384|
0000fc e5810f48 STR r0,[r1,#0xf48]
;;;192 rTCFG0=(3<<0); //Timer0&1Prescaler=(3+1)
000100 e3a00003 MOV r0,#3
000104 e3a01451 MOV r1,#0x51000000
000108 e5810000 STR r0,[r1,#0]
;;;193 rTCFG1=(3<<0); //Timer0=PCLK/4/16
00010c e3a00003 MOV r0,#3
000110 e3a01451 MOV r1,#0x51000000
000114 e5810004 STR r0,[r1,#4]
;;;194 rTCNTB0=1;
000118 e3a00001 MOV r0,#1
00011c e3a01451 MOV r1,#0x51000000
000120 e581000c STR r0,[r1,#0xc]
;;;195 rTCON=(1<<1); //T0ManualUpdate
000124 e3a00002 MOV r0,#2
000128 e3a01451 MOV r1,#0x51000000
00012c e5810008 STR r0,[r1,#8]
;;;196 rTCON=(1<<0); //T0Start
000130 e3a00001 MOV r0,#1
000134 e3a01451 MOV r1,#0x51000000
000138 e5810008 STR r0,[r1,#8]
;;;197
;;;198 rINTMSK&=~(BIT_TIMER0);
00013c e3a0044a MOV r0,#0x4a000000
000140 e5900008 LDR r0,[r0,#8]
000144 e3c00e40 BIC r0,r0,#0x400
000148 e3a0144a MOV r1,#0x4a000000
00014c e5810008 STR r0,[r1,#8]
;;;199 }
000150 e8bd8008 LDMFD sp!,{r3,pc}
|L1.340|
000154 0000000c DCD ||.bss$2|| + 12
|L1.344|
000158 6e61525b DCB "[Ran"
00015c 206d6f64 DCB "dom "
000160 65746e49 DCB "Inte"
000164 70757272 DCB "rrup"
000168 614c2074 DCB "t La"
00016c 636e6574 DCB "tenc"
000170 74532079 DCB "y St"
000174 5d747261 DCB "art]"
000178 0000000a DCB "\n\0\0\0"
|L1.380|
00017c 00000000 DCD IsrTimer0_InterruptLatency
|L1.384|
000180 31fff000 DCD 0x31fff000
ENDP
AudioBufCopy PROC
;;;171 void AudioBufCopy(void)
;;;172 {
000184 e92d4038 STMFD sp!,{r3-r5,lr}
;;;173 int i,j;
;;;174 Uart_Printf("[Audio Buffer Copy recBuf -> playBuf]\n");
000188 e28f0090 ADR r0,|L1.544|
00018c ebfffffe BL Uart_Printf
;;;175
;;;176 if(audioInActive==TRUE)
000190 e59f00b0 LDR r0,|L1.584|
000194 e5900000 LDR r0,[r0,#0] ; audioInActive
000198 e3500001 CMP r0,#1
00019c 1a000002 BNE |L1.428|
;;;177 {
;;;178 Uart_Printf("Rec is ongoing. Please Stop Recording.\n");
0001a0 e28f00a4 ADR r0,|L1.588|
0001a4 ebfffffe BL Uart_Printf
;;;179 return;
;;;180 }
;;;181
;;;182 for(i=0;i<MAX_INDEX_AUDIO_BUF;i++)
;;;183 for(j=0;j<AUDIO_BUF_SIZE;j++)
;;;184 playBuf[i][j]=recBuf[i][j];
;;;185 }
|L1.424|
0001a8 e8bd8038 LDMFD sp!,{r3-r5,pc}
|L1.428|
0001ac e3a05000 MOV r5,#0 ;182
|L1.432|
0001b0 e35500c8 CMP r5,#0xc8 ;182
0001b4 aa000018 BGE |L1.540| ;182
0001b8 ea000001 B |L1.452| ;182
|L1.444|
0001bc e2855001 ADD r5,r5,#1 ;182
0001c0 eafffffa B |L1.432| ;182
|L1.452|
0001c4 e3a04000 MOV r4,#0 ;183
|L1.456|
0001c8 e3540ffa CMP r4,#0x3e8 ;183
0001cc aa000011 BGE |L1.536| ;183
0001d0 ea000001 B |L1.476| ;183
|L1.468|
0001d4 e2844001 ADD r4,r4,#1 ;183
0001d8 eafffffa B |L1.456| ;183
|L1.476|
0001dc e3a0007d MOV r0,#0x7d ;184
0001e0 e0010590 MUL r1,r0,r5 ;184
0001e4 e59f0088 LDR r0,|L1.628| ;184
0001e8 e5900000 LDR r0,[r0,#0] ;184 ; recBuf
0001ec e0800201 ADD r0,r0,r1,LSL #4 ;184
0001f0 e0800084 ADD r0,r0,r4,LSL #1 ;184
0001f4 e1d000b0 LDRH r0,[r0,#0] ;184
0001f8 e3a0107d MOV r1,#0x7d ;184
0001fc e0020591 MUL r2,r1,r5 ;184
000200 e59f1070 LDR r1,|L1.632| ;184
000204 e5911000 LDR r1,[r1,#0] ;184 ; playBuf
000208 e0811202 ADD r1,r1,r2,LSL #4 ;184
00020c e0811084 ADD r1,r1,r4,LSL #1 ;184
000210 e1c100b0 STRH r0,[r1,#0] ;184
000214 eaffffee B |L1.468| ;184
|L1.536|
000218 eaffffe7 B |L1.444| ;184
|L1.540|
00021c eaffffe1 B |L1.424|
|L1.544|
000220 6475415b DCB "[Aud"
000224 42206f69 DCB "io B"
000228 65666675 DCB "uffe"
00022c 6f432072 DCB "r Co"
000230 72207970 DCB "py r"
000234 75426365 DCB "ecBu"
000238 3e2d2066 DCB "f ->"
00023c 616c7020 DCB " pla"
000240 66754279 DCB "yBuf"
000244 00000a5d DCB "]\n\0\0"
|L1.584|
000248 0000002c DCD ||.bss$2|| + 44
|L1.588|
00024c 20636552 DCB "Rec "
000250 6f207369 DCB "is o"
000254 696f676e DCB "ngoi"
000258 202e676e DCB "ng. "
00025c 61656c50 DCB "Plea"
000260 53206573 DCB "se S"
000264 20706f74 DCB "top "
000268 6f636552 DCB "Reco"
00026c 6e696472 DCB "rdin"
000270 000a2e67 DCB "g.\n\0"
|L1.628|
000274 00000014 DCD ||.bss$2|| + 20
|L1.632|
000278 00000010 DCD ||.bss$2|| + 16
ENDP
AudioOutStop PROC
;;;269 void AudioOutStop(void)
;;;270 {
00027c e92d4008 STMFD sp!,{r3,lr}
;;;271 Uart_Printf("\n[AudioOut Stop]\n");
000280 e28f0010 ADR r0,|L1.664|
000284 ebfffffe BL Uart_Printf
;;;272 stopPlay=TRUE;
000288 e3a00001 MOV r0,#1
00028c e59f1018 LDR r1,|L1.684|
000290 e5810000 STR r0,[r1,#0] ; stopPlay
;;;273 }
000294 e8bd8008 LDMFD sp!,{r3,pc}
|L1.664|
000298 75415b0a DCB "\n[Au"
00029c 4f6f6964 DCB "dioO"
0002a0 53207475 DCB "ut S"
0002a4 5d706f74 DCB "top]"
0002a8 0000000a DCB "\n\0\0\0"
|L1.684|
0002ac 00000020 DCD ||.bss$2|| + 32
ENDP
AudioOutStart PROC
;;;239 void AudioOutStart(void)
;;;240 {
0002b0 e92d4008 STMFD sp!,{r3,lr}
;;;241 if(audioOutActive!=FALSE)
0002b4 e59f00b4 LDR r0,|L1.880|
0002b8 e5900000 LDR r0,[r0,#0] ; audioOutActive
0002bc e3500000 CMP r0,#0
0002c0 0a000002 BEQ |L1.720|
;;;242 {
;;;243 Uart_Printf("[N/A]");
0002c4 e28f00a8 ADR r0,|L1.884|
0002c8 ebfffffe BL Uart_Printf
;;;244 return;
;;;245 }
;;;246
;;;247 Uart_Printf("[AudioOut Start]\n");
;;;248 stopPlay=FALSE;
;;;249 audioOutActive=TRUE;
;;;250 indexPlayBuf=0;
;;;251
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -