⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 mobile_demo.txt

📁 支持三星原产的S3C24A0开发板
💻 TXT
📖 第 1 页 / 共 5 页
字号:
; 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 + -