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

📄 pwr_c.txt

📁 支持三星原产的S3C24A0开发板
💻 TXT
📖 第 1 页 / 共 5 页
字号:
; generated by ARM C Compiler, ADS1.2 [Build 805]

; commandline [-errors .\err\pwr_c.err -O0 -asm -g+ -cpu 5TEJ -fs -Wd -Ec -I.\include "-IC:\Program Files\ARM\ADSv1_2\INCLUDE"]
                          CODE32

                          AREA ||.text||, CODE, READONLY

                  compare2 PROC
;;;185    int compare2(const void *a,const void *b)
;;;186    {
                  |L1.0|
000000  e1a02000          MOV      r2,r0
;;;187        if(*(int *)a>*(int *)b)
000004  e5920000          LDR      r0,[r2,#0]
000008  e5913000          LDR      r3,[r1,#0]
00000c  e1500003          CMP      r0,r3
000010  da000001          BLE      |L1.28|
;;;188        	return -1;
000014  e3e00000          MVN      r0,#0
;;;189        else if(*(int *)a==*(int *)b)
;;;190        	return 0;
;;;191        else 
;;;192        	return 1;
;;;193    }
                  |L1.24|
000018  e12fff1e          BX       lr
                  |L1.28|
00001c  e5920000          LDR      r0,[r2,#0]            ;189
000020  e5913000          LDR      r3,[r1,#0]            ;189
000024  e1500003          CMP      r0,r3                 ;189
000028  1a000001          BNE      |L1.52|               ;189
00002c  e3a00000          MOV      r0,#0                 ;190
000030  eafffff8          B        |L1.24|               ;190
                  |L1.52|
000034  e3a00001          MOV      r0,#1                 ;192
000038  eafffff6          B        |L1.24|               ;192
                          ENDP

                  compare1 PROC
;;;175    int compare1(const void *a,const void *b)
;;;176    {
00003c  e1a02000          MOV      r2,r0
;;;177        if(*(int *)a>*(int *)b)
000040  e5920000          LDR      r0,[r2,#0]
000044  e5913000          LDR      r3,[r1,#0]
000048  e1500003          CMP      r0,r3
00004c  da000001          BLE      |L1.88|
;;;178        	return 1;
000050  e3a00001          MOV      r0,#1
;;;179        else if(*(int *)a==*(int *)b)
;;;180        	return 0;
;;;181        else 
;;;182        	return -1;
;;;183    }
                  |L1.84|
000054  e12fff1e          BX       lr
                  |L1.88|
000058  e5920000          LDR      r0,[r2,#0]            ;179
00005c  e5913000          LDR      r3,[r1,#0]            ;179
000060  e1500003          CMP      r0,r3                 ;179
000064  1a000001          BNE      |L1.112|              ;179
000068  e3a00000          MOV      r0,#0                 ;180
00006c  eafffff8          B        |L1.84|               ;180
                  |L1.112|
000070  e3e00000          MVN      r0,#0                 ;182
000074  eafffff6          B        |L1.84|               ;182
                          ENDP

                  PWR_IsrDma2 PROC
;;;275    void __irq PWR_IsrDma2(void)
;;;276    {
000078  e92d500f          STMFD    sp!,{r0-r3,r12,lr}
;;;277        rINTSUBMSK=rINTSUBMSK|(BIT_SUB_DMA2);
00007c  e59f007c          LDR      r0,|L1.256|
000080  e590001c          LDR      r0,[r0,#0x1c]
000084  e3800680          ORR      r0,r0,#0x8000000
000088  e59f1070          LDR      r1,|L1.256|
00008c  e581001c          STR      r0,[r1,#0x1c]
;;;278        rINTMSK=rINTMSK|(BIT_DMA);
000090  e1a00001          MOV      r0,r1
000094  e5900008          LDR      r0,[r0,#8]
000098  e3800940          ORR      r0,r0,#0x100000
00009c  e5810008          STR      r0,[r1,#8]
;;;279        ClearPending(BIT_DMA);
0000a0  e3a00940          MOV      r0,#0x100000
0000a4  e1c11000          BIC      r1,r1,r0
0000a8  e5810000          STR      r0,[r1,#0]
0000ac  e1c10000          BIC      r0,r1,r0
0000b0  e5900010          LDR      r0,[r0,#0x10]
0000b4  e5810010          STR      r0,[r1,#0x10]
0000b8  e1a00001          MOV      r0,r1
0000bc  e5900010          LDR      r0,[r0,#0x10]
;;;280        rSUBSRCPND=BIT_SUB_DMA0;
0000c0  e3a00780          MOV      r0,#0x2000000
0000c4  e1c11000          BIC      r1,r1,r0
0000c8  e5810018          STR      r0,[r1,#0x18]
;;;281    
;;;282        Uart_Printf("#");
0000cc  e28f0030          ADR      r0,|L1.260|
0000d0  ebfffffe          BL       _printf
;;;283    
;;;284        rINTMSK=rINTMSK&~(BIT_DMA);
0000d4  e59f0024          LDR      r0,|L1.256|
0000d8  e5900008          LDR      r0,[r0,#8]
0000dc  e3c00940          BIC      r0,r0,#0x100000
0000e0  e59f1018          LDR      r1,|L1.256|
0000e4  e5810008          STR      r0,[r1,#8]
;;;285        rINTSUBMSK=rINTSUBMSK&~(BIT_SUB_DMA2);
0000e8  e1a00001          MOV      r0,r1
0000ec  e590001c          LDR      r0,[r0,#0x1c]
0000f0  e3c00680          BIC      r0,r0,#0x8000000
0000f4  e581001c          STR      r0,[r1,#0x1c]
;;;286    }
0000f8  e8bd500f          LDMFD    sp!,{r0-r3,r12,lr}
0000fc  e25ef004          SUBS     pc,lr,#4
                  |L1.256|
000100  40200000          DCD      0x40200000
                  |L1.260|
000104  00000023          DCB      "#\0\0\0"
                          ENDP

                  PWR_StartIIS PROC
;;;288    void PWR_StartIIS(void)
;;;289    {
000108  e92d4008          STMFD    sp!,{r3,lr}
;;;290        Uart_Printf("IIS(DMA2) is running(CDCLK=16.9Mhz,LRCK=44.1Khz).\n");
00010c  e28f00e4          ADR      r0,|L1.504|
000110  ebfffffe          BL       _printf
;;;291    
;;;292        pISR_DMA=(unsigned)PWR_IsrDma2;	
000114  e59f0110          LDR      r0,|L1.556|
000118  e59f1110          LDR      r1,|L1.560|
00011c  e5810f70          STR      r0,[r1,#0xf70]
;;;293        //Clear interrupt pending
;;;294        ClearPending(BIT_DMA);
000120  e3a00940          MOV      r0,#0x100000
000124  e51f102c          LDR      r1,|L1.256|
000128  e5810000          STR      r0,[r1,#0]
00012c  e1c10000          BIC      r0,r1,r0
000130  e5900010          LDR      r0,[r0,#0x10]
000134  e5810010          STR      r0,[r1,#0x10]
000138  e1a00001          MOV      r0,r1
00013c  e5900010          LDR      r0,[r0,#0x10]
;;;295        rSUBSRCPND=BIT_SUB_DMA2;
000140  e3a00680          MOV      r0,#0x8000000
000144  e1c11000          BIC      r1,r1,r0
000148  e5810018          STR      r0,[r1,#0x18]
;;;296        //Unmask interrupt
;;;297        rINTMSK=rINTMSK&~(BIT_DMA);
00014c  e1c10000          BIC      r0,r1,r0
000150  e5900008          LDR      r0,[r0,#8]
000154  e3c00940          BIC      r0,r0,#0x100000
000158  e5810008          STR      r0,[r1,#8]
;;;298        rINTSUBMSK=rINTSUBMSK&~(BIT_SUB_DMA2);
00015c  e1a00001          MOV      r0,r1
000160  e590001c          LDR      r0,[r0,#0x1c]
000164  e3c00680          BIC      r0,r0,#0x8000000
000168  e581001c          STR      r0,[r1,#0x1c]
;;;299    
;;;300        rDISRC2=(U32)buf3; 
00016c  e59f00c0          LDR      r0,|L1.564|
000170  e2811840          ADD      r1,r1,#0x400000
000174  e5810000          STR      r0,[r1,#0]
;;;301        rDISRCC2=(0<<1)|(0<<0);//src=AHB,increment
000178  e3a00000          MOV      r0,#0
00017c  e1c11000          BIC      r1,r1,r0
000180  e5810004          STR      r0,[r1,#4]
;;;302        rDIDST2=((U32) IISFIFO);
000184  e59f00ac          LDR      r0,|L1.568|
000188  e0011000          AND      r1,r1,r0
00018c  e5810008          STR      r0,[r1,#8]
;;;303        rDIDSTC2=(1<<1)|(1<<0); //APB,fix
000190  e3a00003          MOV      r0,#3
000194  e1c11000          BIC      r1,r1,r0
000198  e581000c          STR      r0,[r1,#0xc]
;;;304        rDCON2=(1<<31)|(0<<30)|(1<<29)|(0<<28)|(0<<27)|(1<<24)|(1<<23)|(0<<22)|(1<<20)|(4096);
00019c  e59f0098          LDR      r0,|L1.572|
0001a0  e1c11000          BIC      r1,r1,r0
0001a4  e5810010          STR      r0,[r1,#0x10]
;;;305        //handshake, sync PCLK, TC int, single tx, single service, I2SSDO, I2S request, 
;;;306        //auto-reload, half-word,
;;;307        rDMASKTRIG2=(1<<1)|(0); //DMA2 channel on, no-sw trigger 
0001a8  e3a00002          MOV      r0,#2
0001ac  e1c11000          BIC      r1,r1,r0
0001b0  e5810020          STR      r0,[r1,#0x20]
;;;308    
;;;309        rIISPSR=(2<<5)|(2<<0); //IIS_LRCK=44.1Khz @384fs,PCLK=50Mhz.
0001b4  e3a00042          MOV      r0,#0x42
0001b8  e2811641          ADD      r1,r1,#0x4100000
0001bc  e5810008          STR      r0,[r1,#8]
;;;310        rIISCON=(1<<5)|(1<<2)|(1<<1);
0001c0  e3a00026          MOV      r0,#0x26
0001c4  e1c11000          BIC      r1,r1,r0
0001c8  e5810000          STR      r0,[r1,#0]
;;;311        //Tx DMA enable,Rx idle,prescaler enable
;;;312        rIISMOD=(2<<6)|(1<<3)|(1<<2)|(1<<0);
0001cc  e3a0008d          MOV      r0,#0x8d
0001d0  e1c11000          BIC      r1,r1,r0
0001d4  e5810004          STR      r0,[r1,#4]
;;;313        //Master,Tx,L-ch=low,iis,16bit ch.,CDCLK=384fs,IISCLK=32fs
;;;314        rIISFCON=(1<<15)|(1<<13);	//Tx DMA,Tx FIFO enable
0001d8  e3a00ca0          MOV      r0,#0xa000
0001dc  e1c11000          BIC      r1,r1,r0
0001e0  e581000c          STR      r0,[r1,#0xc]
;;;315        rIISCON |=0x1;
0001e4  e1c10000          BIC      r0,r1,r0
0001e8  e5900000          LDR      r0,[r0,#0]
0001ec  e3800001          ORR      r0,r0,#1
0001f0  e5810000          STR      r0,[r1,#0]
;;;316    }
0001f4  e8bd8008          LDMFD    sp!,{r3,pc}
                  |L1.504|
0001f8  28534949          DCB      "IIS("
0001fc  32414d44          DCB      "DMA2"
000200  73692029          DCB      ") is"
000204  6e757220          DCB      " run"
000208  676e696e          DCB      "ning"
00020c  43444328          DCB      "(CDC"
000210  313d4b4c          DCB      "LK=1"
000214  4d392e36          DCB      "6.9M"
000218  4c2c7a68          DCB      "hz,L"
00021c  3d4b4352          DCB      "RCK="
000220  312e3434          DCB      "44.1"
000224  297a684b          DCB      "Khz)"
000228  00000a2e          DCB      ".\n\0\0"
                  |L1.556|
00022c  00000000          DCD      PWR_IsrDma2
                  |L1.560|
000230  13fff000          DCD      0x13fff000
                  |L1.564|
000234  00042004          DCD      ||.bss$2|| + 270340
                  |L1.568|
000238  44700010          DCD      0x44700010
                  |L1.572|
00023c  a1901000          DCD      0xa1901000
                          ENDP

                  PWR_Lcd_Tft_16Bit_240320_On PROC
;;;201    void PWR_Lcd_Tft_16Bit_240320_On(void)
;;;202    {
000240  e92d4008          STMFD    sp!,{r3,lr}
;;;203    
;;;204        int i,j,k;
;;;205        LcdBGInit(MODE_PAR_16BIT565_240320);
000244  e59f00a0          LDR      r0,|L1.748|
000248  ebfffffe          BL       LcdBGInit
;;;206        LcdEnvidOnOff(1);
00024c  e3a00001          MOV      r0,#1
000250  ebfffffe          BL       LcdEnvidOnOff
;;;207        
;;;208        GlibRectangle(0,0,239,319,0x07e0);   
000254  e3a03e7e          MOV      r3,#0x7e0
000258  e58d3000          STR      r3,[sp,#0]
00025c  e59f308c          LDR      r3,|L1.752|
000260  e3a020ef          MOV      r2,#0xef
000264  e3a01000          MOV      r1,#0
000268  e3a00000          MOV      r0,#0
00026c  ebfffffe          BL       GlibRectangle
;;;209        GlibFilledRectangle(0,0,20,20,65535);	 
000270  e59f307c          LDR      r3,|L1.756|
000274  e58d3000          STR      r3,[sp,#0]
000278  e3a03014          MOV      r3,#0x14
00027c  e3a02014          MOV      r2,#0x14
000280  e3a01000          MOV      r1,#0
000284  e3a00000          MOV      r0,#0
000288  ebfffffe          BL       GlibFilledRectangle
;;;210        GlibRectangle(220,300,239,319,65535);	 
00028c  e59f3060          LDR      r3,|L1.756|
000290  e58d3000          STR      r3,[sp,#0]
000294  e59f3054          LDR      r3,|L1.752|
000298  e3a020ef          MOV      r2,#0xef
00029c  e3a01f4b          MOV      r1,#0x12c
0002a0  e3a000dc          MOV      r0,#0xdc
0002a4  ebfffffe          BL       GlibRectangle
;;;211        GlibLine(0,0,239,319,0x1f);	    
0002a8  e3a0301f          MOV      r3,#0x1f
0002ac  e58d3000          STR      r3,[sp,#0]
0002b0  e2833f48          ADD      r3,r3,#0x120
0002b4  e3a020ef          MOV      r2,#0xef
0002b8  e3a01000          MOV      r1,#0
0002bc  e3a00000          MOV      r0,#0
0002c0  ebfffffe          BL       GlibLine
;;;212        GlibLine(239,0,0,319,0xf800);
0002c4  e3a03cf8          MOV      r3,#0xf800
0002c8  e58d3000          STR      r3,[sp,#0]
0002cc  e59f301c          LDR      r3,|L1.752|
0002d0  e3a02000          MOV      r2,#0
0002d4  e3a01000          MOV      r1,#0
0002d8  e3a000ef          MOV      r0,#0xef
0002dc  ebfffffe          BL       GlibLine
;;;213        Uart_Printf("TFT 64K color mode test.\n");
0002e0  e28f0010          ADR      r0,|L1.760|
0002e4  ebfffffe          BL       _printf
;;;214    }
0002e8  e8bd8008          LDMFD    sp!,{r3,pc}
                  |L1.748|
0002ec  00002205          DCD      0x00002205
                  |L1.752|
0002f0  0000013f          DCD      0x0000013f
                  |L1.756|
0002f4  0000ffff          DCD      0x0000ffff
                  |L1.760|
0002f8  20544654          DCB      "TFT "
0002fc  204b3436          DCB      "64K "
000300  6f6c6f63          DCB      "colo"
000304  6f6d2072          DCB      "r mo"
000308  74206564          DCB      "de t"

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -