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