📄 pwr_c.txt
字号:
; generated by ARM C Compiler, ADS1.2 [Build 805]
; commandline [-errors .\err\pwr_c.err -O0 -asm -g+ -cpu ARM920T -fs "-IC:\Program Files\ARM\ADSv1_2\INCLUDE"]
CODE32
AREA ||.text||, CODE, READONLY
compare2 PROC
;;;166 int compare2(const void *a,const void *b)
;;;167 {
|L1.0|
000000 e1a02000 MOV r2,r0
;;;168
;;;169 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|
;;;170 return -1;
000014 e3e00000 MVN r0,#0
;;;171 else if(*(int *)a==*(int *)b)
;;;172 return 0;
;;;173 else
;;;174 return 1;
;;;175 }
|L1.24|
000018 e1a0f00e MOV pc,lr
|L1.28|
00001c e5920000 LDR r0,[r2,#0] ;171
000020 e5913000 LDR r3,[r1,#0] ;171
000024 e1500003 CMP r0,r3 ;171
000028 1a000001 BNE |L1.52| ;171
00002c e3a00000 MOV r0,#0 ;172
000030 eafffff8 B |L1.24| ;172
|L1.52|
000034 e3a00001 MOV r0,#1 ;174
000038 eafffff6 B |L1.24| ;174
ENDP
compare1 PROC
;;;155 int compare1(const void *a,const void *b)
;;;156 {
00003c e1a02000 MOV r2,r0
;;;157
;;;158 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|
;;;159 return 1;
000050 e3a00001 MOV r0,#1
;;;160 else if(*(int *)a==*(int *)b)
;;;161 return 0;
;;;162 else
;;;163 return -1;
;;;164 }
|L1.84|
000054 e1a0f00e MOV pc,lr
|L1.88|
000058 e5920000 LDR r0,[r2,#0] ;160
00005c e5913000 LDR r3,[r1,#0] ;160
000060 e1500003 CMP r0,r3 ;160
000064 1a000001 BNE |L1.112| ;160
000068 e3a00000 MOV r0,#0 ;161
00006c eafffff8 B |L1.84| ;161
|L1.112|
000070 e3e00000 MVN r0,#0 ;163
000074 eafffff6 B |L1.84| ;163
ENDP
PWR_IsrDma2 PROC
;;;273 void __irq PWR_IsrDma2(void)
;;;274 {
000078 e92d0003 STMFD sp!,{r0,r1}
;;;275 ClearPending(BIT_DMA2);
00007c e3a00a80 MOV r0,#0x80000
000080 e3a0144a MOV r1,#0x4a000000
000084 e5810000 STR r0,[r1,#0]
000088 e3a00a80 MOV r0,#0x80000
00008c e3a0144a MOV r1,#0x4a000000
000090 e5810010 STR r0,[r1,#0x10]
000094 e3a0044a MOV r0,#0x4a000000
000098 e5900010 LDR r0,[r0,#0x10]
;;;276 //Uart_Printf("#");
;;;277 }
00009c e8bd0003 LDMFD sp!,{r0,r1}
0000a0 e25ef004 SUBS pc,lr,#4
ENDP
PWR_StartIIS PROC
;;;279 void PWR_StartIIS(void)
;;;280 {
0000a4 e92d4030 STMFD sp!,{r4,r5,lr}
0000a8 e24dd01c SUB sp,sp,#0x1c
;;;281 U32 iis_div_val=3;
0000ac e3a04003 MOV r4,#3
;;;282
;;;283 //Uart_Printf("IIS(DMA2) is running(CDCLK=16.9Mhz,LRCK=44.1Khz).\n");
;;;284
;;;285 pISR_DMA2=(unsigned int)PWR_IsrDma2;
0000b0 e59f011c LDR r0,|L1.468|
0000b4 e59f111c LDR r1,|L1.472|
0000b8 e5810f6c STR r0,[r1,#0xf6c]
;;;286 rINTMSK=rINTMSK&~(BIT_DMA2);
0000bc e3a0044a MOV r0,#0x4a000000
0000c0 e5900008 LDR r0,[r0,#8]
0000c4 e3c00a80 BIC r0,r0,#0x80000
0000c8 e3a0144a MOV r1,#0x4a000000
0000cc e5810008 STR r0,[r1,#8]
;;;287
;;;288 rGPECON=rGPECON&~(3<<8|3<<4|3<<2|3<<0)|(2<<8|2<<4|2<<2|2<<0); //I2SSDO,CDCLK,I2SSCLK,I2SLRCK
0000d0 e3a00456 MOV r0,#0x56000000
0000d4 e5900040 LDR r0,[r0,#0x40]
0000d8 e3c00fc0 BIC r0,r0,#0x300
0000dc e3c0003f BIC r0,r0,#0x3f
0000e0 e3800f80 ORR r0,r0,#0x200
0000e4 e380002a ORR r0,r0,#0x2a
0000e8 e3a01456 MOV r1,#0x56000000
0000ec e5810040 STR r0,[r1,#0x40]
;;;289
;;;290 rDISRC2=(U32)buf3;
0000f0 e59f00e4 LDR r0,|L1.476|
0000f4 e3a0144b MOV r1,#0x4b000000
0000f8 e5810080 STR r0,[r1,#0x80]
;;;291 rDISRCC2=(0<<1)+(0<<0);//src=AHB,increment
0000fc e3a00000 MOV r0,#0
000100 e3a0144b MOV r1,#0x4b000000
000104 e5810084 STR r0,[r1,#0x84]
;;;292 rDIDST2=((U32) IISFIFO );
000108 e59f00d0 LDR r0,|L1.480|
00010c e3a0144b MOV r1,#0x4b000000
000110 e5810088 STR r0,[r1,#0x88]
;;;293 rDIDSTC2=(1<<1)+(1<<0); //APB,fix
000114 e3a00003 MOV r0,#3
000118 e3a0144b MOV r1,#0x4b000000
00011c e581008c STR r0,[r1,#0x8c]
;;;294 rDCON2=(1<<31)|(0<<30)|(1<<29)|(0<<28)|(0<<27)|(0<<24)|(1<<23)|(0<<22)|(1<<20)|(4096);
000120 e59f00bc LDR r0,|L1.484|
000124 e3a0144b MOV r1,#0x4b000000
000128 e5810090 STR r0,[r1,#0x90]
;;;295 //handshake, sync PCLK, TC int, single tx, single service, I2SSDO, I2S request,
;;;296 //auto-reload, half-word,
;;;297 rDMASKTRIG2=(1<<1)+0; //DMA2 channel on, no-sw trigger
00012c e3a00002 MOV r0,#2
000130 e3a0144b MOV r1,#0x4b000000
000134 e58100a0 STR r0,[r1,#0xa0]
;;;298
;;;299 iis_div_val = (U32)(((float)Pclk/16934400.0)+0.5)-1;
000138 e59f00a8 LDR r0,|L1.488|
00013c e5900000 LDR r0,[r0,#0] ; Pclk
000140 ebfffffe BL _ffltu
000144 e1a05000 MOV r5,r0
000148 ebfffffe BL _f2d
00014c e98d0003 STMIB sp,{r0,r1}
000150 e28f0094 ADR r0,|L1.492|
000154 e890000c LDMIA r0,{r2,r3}
000158 e59d0004 LDR r0,[sp,#4]
00015c ebfffffe BL _ddiv
000160 e58d000c STR r0,[sp,#0xc]
000164 e58d1010 STR r1,[sp,#0x10]
000168 e28f0084 ADR r0,|L1.500|
00016c e890000c LDMIA r0,{r2,r3}
000170 e59d000c LDR r0,[sp,#0xc]
000174 ebfffffe BL _dadd
000178 e58d0014 STR r0,[sp,#0x14]
00017c e58d1018 STR r1,[sp,#0x18]
000180 ebfffffe BL _dfixu
000184 e2404001 SUB r4,r0,#1
;;;300 rIISPSR=(iis_div_val<<5)|(iis_div_val<<0); //IIS_LRCK=44.1Khz @384fs,PCLK=50 or 66.7Mhz.
000188 e1840284 ORR r0,r4,r4,LSL #5
00018c e3a01455 MOV r1,#0x55000000
000190 e5810008 STR r0,[r1,#8]
;;;301
;;;302 rIISCON=(1<<5)+(1<<2)+(1<<1);
000194 e3a00026 MOV r0,#0x26
000198 e3a01455 MOV r1,#0x55000000
00019c e5810000 STR r0,[r1,#0]
;;;303 //Tx DMA enable,Rx idle,prescaler enable
;;;304 rIISMOD=(2<<6)|(1<<3)|(1<<2)|(1<<0);
0001a0 e3a0008d MOV r0,#0x8d
0001a4 e3a01455 MOV r1,#0x55000000
0001a8 e5810004 STR r0,[r1,#4]
;;;305 //Master,Tx,L-ch=low,iis,16bit ch.,CDCLK=384fs,IISCLK=32fs
;;;306
;;;307 rIISFCON=(1<<15)+(1<<13); //Tx DMA,Tx FIFO enable
0001ac e3a00ca0 MOV r0,#0xa000
0001b0 e3a01455 MOV r1,#0x55000000
0001b4 e581000c STR r0,[r1,#0xc]
;;;308
;;;309 rIISCON |=0x1;
0001b8 e3a00455 MOV r0,#0x55000000
0001bc e5900000 LDR r0,[r0,#0]
0001c0 e3800001 ORR r0,r0,#1
0001c4 e3a01455 MOV r1,#0x55000000
0001c8 e5810000 STR r0,[r1,#0]
;;;310 }
0001cc e28dd01c ADD sp,sp,#0x1c
0001d0 e8bd8030 LDMFD sp!,{r4,r5,pc}
|L1.468|
0001d4 00000000 DCD PWR_IsrDma2
|L1.472|
0001d8 31fff000 DCD 0x31fff000
|L1.476|
0001dc 00003018 DCD ||.bss$2|| + 12312
|L1.480|
0001e0 55000010 DCD 0x55000010
|L1.484|
0001e4 a0901000 DCD 0xa0901000
|L1.488|
0001e8 00000000 DCD Pclk
|L1.492|
0001ec 00000000 DCFD 0x4170266000000000 ; 16934400.0
0001f0 41702660
|L1.500|
0001f4 00000000 DCFD 0x3fe0000000000000 ; 0.5
0001f8 3fe00000
ENDP
Lcd_Port_Init PROC
;;;187 static void Lcd_Port_Init(void)
;;;188 {
0001fc e3a00456 MOV r0,#0x56000000
;;;189 save_rGPCCON=rGPCCON;
000200 e5900020 LDR r0,[r0,#0x20]
000204 e59f1384 LDR r1,|L1.1424|
000208 e5810000 STR r0,[r1,#0] ; save_rGPCCON
;;;190 save_rGPCDAT=rGPCDAT;
00020c e3a00456 MOV r0,#0x56000000
000210 e5900024 LDR r0,[r0,#0x24]
000214 e59f1378 LDR r1,|L1.1428|
000218 e5810000 STR r0,[r1,#0] ; save_rGPCDAT
;;;191 save_rGPCUP=rGPCUP;
00021c e3a00456 MOV r0,#0x56000000
000220 e5900028 LDR r0,[r0,#0x28]
000224 e59f136c LDR r1,|L1.1432|
000228 e5810000 STR r0,[r1,#0] ; save_rGPCUP
;;;192 save_rGPDCON=rGPDCON;
00022c e3a00456 MOV r0,#0x56000000
000230 e5900030 LDR r0,[r0,#0x30]
000234 e59f1360 LDR r1,|L1.1436|
000238 e5810000 STR r0,[r1,#0] ; save_rGPDCON
;;;193 save_rGPDDAT=rGPDDAT;
00023c e3a00456 MOV r0,#0x56000000
000240 e5900034 LDR r0,[r0,#0x34]
000244 e59f1354 LDR r1,|L1.1440|
000248 e5810000 STR r0,[r1,#0] ; save_rGPDDAT
;;;194 save_rGPDUP=rGPDUP;
00024c e3a00456 MOV r0,#0x56000000
000250 e5900038 LDR r0,[r0,#0x38]
000254 e59f1348 LDR r1,|L1.1444|
000258 e5810000 STR r0,[r1,#0] ; save_rGPDUP
;;;195 rGPCUP=0xffffffff; // Disable Pull-up register
00025c e3e00000 MVN r0,#0
000260 e3a01456 MOV r1,#0x56000000
000264 e5810028 STR r0,[r1,#0x28]
;;;196 rGPCCON=0xaaaaaaaa; //Initialize VD[7:0],LCDVF[2:0],VM,VFRAME,VLINE,VCLK,LEND
000268 e59f0338 LDR r0,|L1.1448|
00026c e3a01456 MOV r1,#0x56000000
000270 e5810020 STR r0,[r1,#0x20]
;;;197 rGPDUP=0xffffffff; // Disable Pull-up register
000274 e3e00000 MVN r0,#0
000278 e3a01456 MOV r1,#0x56000000
00027c e5810038 STR r0,[r1,#0x38]
;;;198 rGPDCON=0xaaaaaaaa; //Initialize VD[23:8]
000280 e59f0320 LDR r0,|L1.1448|
000284 e3a01456 MOV r1,#0x56000000
000288 e5810030 STR r0,[r1,#0x30]
;;;199 }
00028c e1a0f00e MOV pc,lr
ENDP
PWR_Lcd_Tft_16Bit_240320_On PROC
;;;202 void PWR_Lcd_Tft_16Bit_240320_On(void)
;;;203 {
000290 e92d4008 STMFD sp!,{r3,lr}
;;;204 Lcd_Port_Init();
000294 ebfffffe BL Lcd_Port_Init
;;;205 Lcd_Init(MODE_TFT_16BIT_240320);
000298 e59f030c LDR r0,|L1.1452|
00029c ebfffffe BL Lcd_Init
;;;206 Glib_Init(MODE_TFT_16BIT_240320);
0002a0 e59f0304 LDR r0,|L1.1452|
0002a4 ebfffffe BL Glib_Init
;;;207
;;;208 //Uart_Printf("TFT 64K-color(16bit) LCD on.\n");
;;;209
;;;210 //Lcd_Lpc3600Enable();
;;;211 Lcd_Lcc3600Enable();
0002a8 ebfffffe BL Lcd_Lcc3600Enable
;;;212
;;;213 Lcd_PowerEnable(0, 1);
0002ac e3a01001 MOV r1,#1
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -