📄 mobile_demo.txt
字号:
; generated by ARM C Compiler, ADS1.2 [Build 805]
; commandline [-errors .\err\mobile_demo.err -O0 -asm -g+ -cpu 5TEJ -fs -Wd -Ec -I.\include "-IC:\Program Files\ARM\ADSv1_2\INCLUDE"]
CODE32
AREA ||.text||, CODE, READONLY
Ch22_mpeg4_test PROC
;;;88 void Ch22_mpeg4_test(void)
;;;89 {
|L1.0|
000000 e92d4010 STMFD sp!,{r4,lr}
;;;90 int i;
;;;91
;;;92 while(1)
000004 e1a00000 NOP
|L1.8|
000008 e1a00000 NOP
;;;93 {
;;;94 i = 0;
00000c e3a04000 MOV r4,#0
;;;95
;;;96 Uart_Printf("\n\nS3C24A0A MPEG4 Test Program \n\n");
000010 e28f009c ADR r0,|L1.180|
000014 ebfffffe BL _printf
;;;97
;;;98 while(1)
000018 e1a00000 NOP
|L1.28|
00001c e1a00000 NOP
;;;99 { //display menu
;;;100 Uart_Printf("%2d:%s",i,mp4_function[i][1]);
000020 e59f00b0 LDR r0,|L1.216|
000024 e0800184 ADD r0,r0,r4,LSL #3
000028 e1a01004 MOV r1,r4
00002c e5902004 LDR r2,[r0,#4]
000030 e28f00a4 ADR r0,|L1.220|
000034 ebfffffe BL _printf
;;;101 i++;
000038 e2844001 ADD r4,r4,#1
;;;102 if((int)(mp4_function[i][0])==0)
00003c e59f0094 LDR r0,|L1.216|
000040 e7900184 LDR r0,[r0,r4,LSL #3]
000044 e3500000 CMP r0,#0
000048 1a000002 BNE |L1.88|
;;;103 {
;;;104 Uart_Printf("\n");
00004c e28f0090 ADR r0,|L1.228|
000050 ebfffffe BL _printf
;;;105 break;
000054 ea000004 B |L1.108|
;;;106 }
;;;107 if((i%2)==0)
|L1.88|
000058 e3140001 TST r4,#1
00005c 1a000001 BNE |L1.104|
;;;108 Uart_Printf("\n");
000060 e28f007c ADR r0,|L1.228|
000064 ebfffffe BL _printf
;;;109 }
|L1.104|
000068 eaffffeb B |L1.28|
;;;110
;;;111 Uart_Printf("\nSelect the function to test : ");
|L1.108|
00006c e28f0074 ADR r0,|L1.232|
000070 ebfffffe BL _printf
;;;112 i = Uart_GetIntNum();
000074 ebfffffe BL Uart_GetIntNum
000078 e1a04000 MOV r4,r0
;;;113 Uart_Printf("\n");
00007c e28f0060 ADR r0,|L1.228|
000080 ebfffffe BL _printf
;;;114
;;;115 if(i==-1) break;
000084 e3740001 CMN r4,#1
000088 1a000000 BNE |L1.144|
00008c ea000007 B |L1.176|
;;;116
;;;117 if(i>=0 && (i<(sizeof(mp4_function)/8)) )
|L1.144|
000090 e3540000 CMP r4,#0
000094 ba000004 BLT |L1.172|
000098 e3540006 CMP r4,#6
00009c 2a000002 BCS |L1.172|
;;;118 ( (void (*)(void)) (mp4_function[i][0]) )();
0000a0 e59f1030 LDR r1,|L1.216|
0000a4 e7910184 LDR r0,[r1,r4,LSL #3]
0000a8 e12fff30 BLX r0
;;;119 }
|L1.172|
0000ac eaffffd5 B |L1.8|
;;;120
;;;121
;;;122 }
|L1.176|
0000b0 e8bd8010 LDMFD sp!,{r4,pc}
|L1.180|
0000b4 33530a0a DCB "\n\nS3"
0000b8 41343243 DCB "C24A"
0000bc 4d204130 DCB "0A M"
0000c0 34474550 DCB "PEG4"
0000c4 73655420 DCB " Tes"
0000c8 72502074 DCB "t Pr"
0000cc 6172676f DCB "ogra"
0000d0 0a0a206d DCB "m \n\n"
0000d4 00000000 DCB "\0\0\0\0"
|L1.216|
0000d8 00000000 DCD mp4_function
|L1.220|
0000dc 3a643225 DCB "%2d:"
0000e0 00007325 DCB "%s\0\0"
|L1.228|
0000e4 0000000a DCB "\n\0\0\0"
|L1.232|
0000e8 6c65530a DCB "\nSel"
0000ec 20746365 DCB "ect "
0000f0 20656874 DCB "the "
0000f4 636e7566 DCB "func"
0000f8 6e6f6974 DCB "tion"
0000fc 206f7420 DCB " to "
000100 74736574 DCB "test"
000104 00203a20 DCB " : \0"
ENDP
demo_PostIsr PROC
;;;962 void __irq demo_PostIsr(void)
;;;963 {
000108 e92d0003 STMFD sp!,{r0,r1}
;;;964
;;;965 rINTSUBMSK=BIT_SUB_DISP_FIFO|BIT_SUB_DISP_FRAME|BIT_SUB_POST;
00010c e3a00946 MOV r0,#0x118000
000110 e59f10cc LDR r1,|L1.484|
000114 e581001c STR r0,[r1,#0x1c]
;;;966
;;;967 rMODE &= ~(1<<6);//Clear Source in POST Processor
000118 e281069f ADD r0,r1,#0x9f00000
00011c e5900000 LDR r0,[r0,#0]
000120 e3c00040 BIC r0,r0,#0x40
000124 e281169f ADD r1,r1,#0x9f00000
000128 e5810000 STR r0,[r1,#0]
;;;968 rSUBSRCPND=BIT_SUB_POST; //Clear SUB Interrupt Source Pending.
00012c e3a00c80 MOV r0,#0x8000
000130 e241169f SUB r1,r1,#0x9f00000
000134 e5810018 STR r0,[r1,#0x18]
;;;969 ClearPending(BIT_LCD_POST);//Clear Source Pending, Interrupt Pending
000138 e3a00c40 MOV r0,#0x4000
00013c e1c11000 BIC r1,r1,r0
000140 e5810000 STR r0,[r1,#0]
000144 e1c10000 BIC r0,r1,r0
000148 e5900010 LDR r0,[r0,#0x10]
00014c e5810010 STR r0,[r1,#0x10]
000150 e1a00001 MOV r0,r1
000154 e5900010 LDR r0,[r0,#0x10]
;;;970
;;;971
;;;972 //postProcessingDone=1;
;;;973 rINTSUBMSK&= ~(BIT_SUB_POST);
000158 e1a00001 MOV r0,r1
00015c e590001c LDR r0,[r0,#0x1c]
000160 e3c00c80 BIC r0,r0,#0x8000
000164 e581001c STR r0,[r1,#0x1c]
;;;974
;;;975 //Uart_Printf("{P}\n");
;;;976 }
000168 e8bd0003 LDMFD sp!,{r0,r1}
00016c e25ef004 SUBS pc,lr,#4
ENDP
demo_VlxIsr PROC
;;;953 void __irq demo_VlxIsr(void)
;;;954 {
000170 e92d500f STMFD sp!,{r0-r3,r12,lr}
;;;955 printf("2 %08x\n",rVLX_OUT1);
000174 e59f006c LDR r0,|L1.488|
000178 e590002c LDR r0,[r0,#0x2c]
00017c e1a01000 MOV r1,r0
000180 e28f0064 ADR r0,|L1.492|
000184 ebfffffe BL _printf
;;;956 rSUBSRCPND |= BIT_SUB_VLX;
000188 e59f0054 LDR r0,|L1.484|
00018c e5900018 LDR r0,[r0,#0x18]
000190 e3800740 ORR r0,r0,#0x1000000
000194 e59f1048 LDR r1,|L1.484|
000198 e5810018 STR r0,[r1,#0x18]
;;;957 ClearPending(BIT_VLX_SPI1);
00019c e3a00580 MOV r0,#0x20000000
0001a0 e1c11000 BIC r1,r1,r0
0001a4 e5810000 STR r0,[r1,#0]
0001a8 e1c10000 BIC r0,r1,r0
0001ac e5900010 LDR r0,[r0,#0x10]
0001b0 e5810010 STR r0,[r1,#0x10]
0001b4 e1a00001 MOV r0,r1
0001b8 e5900010 LDR r0,[r0,#0x10]
;;;958 printf("3 %08x\n",rVLX_OUT1);
0001bc e2810692 ADD r0,r1,#0x9200000
0001c0 e590002c LDR r0,[r0,#0x2c]
0001c4 e1a01000 MOV r1,r0
0001c8 e28f0024 ADR r0,|L1.500|
0001cc ebfffffe BL _printf
;;;959 d_vlxDone=TRUE;
0001d0 e3a00001 MOV r0,#1
0001d4 e59f1020 LDR r1,|L1.508|
0001d8 e5810000 STR r0,[r1,#0] ; d_vlxDone
;;;960 //printf("{v}");
;;;961 }
0001dc e8bd500f LDMFD sp!,{r0-r3,r12,lr}
0001e0 e25ef004 SUBS pc,lr,#4
|L1.484|
0001e4 40200000 DCD 0x40200000
|L1.488|
0001e8 49400000 DCD 0x49400000
|L1.492|
0001ec 30252032 DCB "2 %0"
0001f0 000a7838 DCB "8x\n\0"
|L1.500|
0001f4 30252033 DCB "3 %0"
0001f8 000a7838 DCB "8x\n\0"
|L1.508|
0001fc 0000000c DCD ||.bss$2|| + 12
ENDP
demo_McIsr PROC
;;;947 void __irq demo_McIsr(void)
;;;948 {
000200 e92d0003 STMFD sp!,{r0,r1}
;;;949 ClearPending(BIT_MC);
000204 e3a00080 MOV r0,#0x80
000208 e51f102c LDR r1,|L1.484|
00020c e5810000 STR r0,[r1,#0]
000210 e1c10000 BIC r0,r1,r0
000214 e5900010 LDR r0,[r0,#0x10]
000218 e5810010 STR r0,[r1,#0x10]
00021c e1a00001 MOV r0,r1
000220 e5900010 LDR r0,[r0,#0x10]
;;;950 d_mcDone=TRUE;
000224 e3a00001 MOV r0,#1
000228 e59f14c0 LDR r1,|L1.1776|
00022c e5810000 STR r0,[r1,#0] ; d_mcDone
;;;951 //printf("{c}");
;;;952 }
000230 e8bd0003 LDMFD sp!,{r0,r1}
000234 e25ef004 SUBS pc,lr,#4
ENDP
demo_MeIsr PROC
;;;941 void __irq demo_MeIsr(void)
;;;942 {
000238 e92d0003 STMFD sp!,{r0,r1}
;;;943 ClearPending(BIT_ME);
00023c e3a00f40 MOV r0,#0x100
000240 e51f1064 LDR r1,|L1.484|
000244 e5810000 STR r0,[r1,#0]
000248 e1c10000 BIC r0,r1,r0
00024c e5900010 LDR r0,[r0,#0x10]
000250 e5810010 STR r0,[r1,#0x10]
000254 e1a00001 MOV r0,r1
000258 e5900010 LDR r0,[r0,#0x10]
;;;944 d_meDone=TRUE;
00025c e3a00001 MOV r0,#1
000260 e59f148c LDR r1,|L1.1780|
000264 e5810000 STR r0,[r1,#0] ; d_meDone
;;;945 //printf("{e}");
;;;946 }
000268 e8bd0003 LDMFD sp!,{r0,r1}
00026c e25ef004 SUBS pc,lr,#4
ENDP
demo_DctqIsr PROC
;;;935 void __irq demo_DctqIsr(void)
;;;936 {
000270 e92d0003 STMFD sp!,{r0,r1}
;;;937 ClearPending(BIT_DCTQ);
000274 e3a00040 MOV r0,#0x40
000278 e51f109c LDR r1,|L1.484|
00027c e5810000 STR r0,[r1,#0]
000280 e1c10000 BIC r0,r1,r0
000284 e5900010 LDR r0,[r0,#0x10]
000288 e5810010 STR r0,[r1,#0x10]
00028c e1a00001 MOV r0,r1
000290 e5900010 LDR r0,[r0,#0x10]
;;;938 d_dctqDone=TRUE;
000294 e3a00001 MOV r0,#1
000298 e59f1458 LDR r1,|L1.1784|
00029c e5810000 STR r0,[r1,#0] ; d_dctqDone
;;;939 //printf("{d}");
;;;940 }
0002a0 e8bd0003 LDMFD sp!,{r0,r1}
0002a4 e25ef004 SUBS pc,lr,#4
ENDP
Init_FIMV20_Isr PROC
;;;906 void Init_FIMV20_Isr(void)
;;;907 {
0002a8 e59f044c LDR r0,|L1.1788|
;;;908
;;;909 pISR_DCTQ=(U32)demo_DctqIsr;
0002ac e59f144c LDR r1,|L1.1792|
0002b0 e5810f38 STR r0,[r1,#0xf38]
;;;910
;;;911 rINTMSK&=~BIT_DCTQ;
0002b4 e51f00d8 LDR r0,|L1.484|
0002b8 e5900008 LDR r0,[r0,#8]
0002bc e3c00040 BIC r0,r0,#0x40
0002c0 e51f10e4 LDR r1,|L1.484|
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -