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

📄 lcdlib.txt

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

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

                          AREA ||.text||, CODE, READONLY

                  LcdBGInit PROC
;;;19     void LcdBGInit(U32 displaytype)
;;;20     {
                  |L1.0|
000000  e92d4ff1          STMFD    sp!,{r0,r4-r11,lr}
000004  e24dd014          SUB      sp,sp,#0x14
;;;21     	U32 pagewidth, offsize, bytefactor;
;;;22     	U32 clkval, pnrmode, bppmode;
;;;23     	U32 vbpd, vfpd, vspw, hbpd, hfpd, hspw;
;;;24     	U32 lineval, hozval;
;;;25     	U32 hwswp;
;;;26     	U32 framebuffer1, framebuffer2;
;;;27     
;;;28     	if(displaytype&0x1000)
000008  e59d0014          LDR      r0,[sp,#0x14]
00000c  e3100d40          TST      r0,#0x1000
000010  0a000002          BEQ      |L1.32|
;;;29     		pnrmode=PNRMODE_SER_RGB;
000014  e3a0b002          MOV      r11,#2
000018  e58db00c          STR      r11,[sp,#0xc]
00001c  ea000001          B        |L1.40|
;;;30     	else
;;;31     		pnrmode=PNRMODE_PAR_RGB;
                  |L1.32|
000020  e3a0b000          MOV      r11,#0
000024  e58db00c          STR      r11,[sp,#0xc]
;;;32     
;;;33     	switch(displaytype&0xf) {
                  |L1.40|
000028  e59d0014          LDR      r0,[sp,#0x14]
00002c  e200000f          AND      r0,r0,#0xf
000030  e3500007          CMP      r0,#7
000034  908ff100          ADDLS    pc,pc,r0,LSL #2
000038  ea00001f          B        |L1.188|
00003c  ea000006          B        |L1.92|
000040  ea000008          B        |L1.104|
000044  ea00000a          B        |L1.116|
000048  ea00000c          B        |L1.128|
00004c  ea00000e          B        |L1.140|
000050  ea000010          B        |L1.152|
000054  ea000012          B        |L1.164|
000058  ea000014          B        |L1.176|
;;;34     		case 0x0:
;;;35     			bytefactor=1;
                  |L1.92|
00005c  e3a01001          MOV      r1,#1
;;;36     			bppmode=BPPMODE_1BPP;
000060  e3a0c000          MOV      r12,#0
;;;37     			break;
000064  ea000015          B        |L1.192|
;;;38     		case 0x1:
;;;39     			bytefactor=2;
                  |L1.104|
000068  e3a01002          MOV      r1,#2
;;;40     			bppmode=BPPMODE_2BPP;
00006c  e3a0c001          MOV      r12,#1
;;;41     			break;
000070  ea000012          B        |L1.192|
;;;42     		case 0x2:
;;;43     			bytefactor=4;
                  |L1.116|
000074  e3a01004          MOV      r1,#4
;;;44     			bppmode=BPPMODE_4BPP;
000078  e3a0c002          MOV      r12,#2
;;;45     			break;
00007c  ea00000f          B        |L1.192|
;;;46     		case 0x3:
;;;47     			bytefactor=8;
                  |L1.128|
000080  e3a01008          MOV      r1,#8
;;;48     			bppmode=BPPMODE_8BPP;
000084  e3a0c003          MOV      r12,#3
;;;49     			break;
000088  ea00000c          B        |L1.192|
;;;50     		case 0x4:	
;;;51     			bytefactor=8;
                  |L1.140|
00008c  e3a01008          MOV      r1,#8
;;;52     			bppmode=BPPMODE_8BPPNP;
000090  e3a0c004          MOV      r12,#4
;;;53     			break;
000094  ea000009          B        |L1.192|
;;;54     		case 0x5:
;;;55     			bytefactor=16;
                  |L1.152|
000098  e3a01010          MOV      r1,#0x10
;;;56     			bppmode=BPPMODE_16BPP565;
00009c  e3a0c005          MOV      r12,#5
;;;57     			break;
0000a0  ea000006          B        |L1.192|
;;;58     		case 0x6:
;;;59     			bytefactor=16;
                  |L1.164|
0000a4  e3a01010          MOV      r1,#0x10
;;;60     			bppmode=BPPMODE_16BPP5551;
0000a8  e3a0c006          MOV      r12,#6
;;;61     			break;
0000ac  ea000003          B        |L1.192|
;;;62     		case 0x7:
;;;63     			bytefactor=32;
                  |L1.176|
0000b0  e3a01020          MOV      r1,#0x20
;;;64     			bppmode=BPPMODE_18BPP;
0000b4  e3a0c007          MOV      r12,#7
;;;65     			break;			
0000b8  ea000000          B        |L1.192|
;;;66     		default:
;;;67     			break;
                  |L1.188|
0000bc  e1a00000          NOP      
;;;68     	}		
;;;69     			
;;;70     	switch(displaytype&0xff00) {
                  |L1.192|
0000c0  e59d0014          LDR      r0,[sp,#0x14]
0000c4  e2000cff          AND      r0,r0,#0xff00
0000c8  e3500d88          CMP      r0,#0x2200
0000cc  0a00002c          BEQ      |L1.388|
0000d0  ca000004          BGT      |L1.232|
0000d4  e3500d44          CMP      r0,#0x1100
0000d8  0a000007          BEQ      |L1.252|
0000dc  e3500d84          CMP      r0,#0x2100
0000e0  1a00005a          BNE      |L1.592|
0000e4  ea000015          B        |L1.320|
                  |L1.232|
0000e8  e3500d90          CMP      r0,#0x2400
0000ec  0a000035          BEQ      |L1.456|
0000f0  e3500da0          CMP      r0,#0x2800
0000f4  1a000055          BNE      |L1.592|
0000f8  ea000043          B        |L1.524|
;;;71     		case 0x1100:
;;;72     			clkval=CLKVAL_SER_176220;
                  |L1.252|
0000fc  e3a0b006          MOV      r11,#6
000100  e58db010          STR      r11,[sp,#0x10]
;;;73     			vbpd=VBPD_176220;
000104  e3a04004          MOV      r4,#4
;;;74     			vfpd=VFPD_176220;
000108  e3a05006          MOV      r5,#6
;;;75     			vspw=VSPW_176220;
00010c  e3a06003          MOV      r6,#3
;;;76     			hbpd=HBPD_176220;
000110  e3a0700b          MOV      r7,#0xb
;;;77     			hfpd=HFPD_176220;
000114  e3a08017          MOV      r8,#0x17
;;;78     			hspw=HSPW_176220;
000118  e3a0900b          MOV      r9,#0xb
;;;79     			lineval=LINEVAL_176220;
00011c  e3a0e0bf          MOV      lr,#0xbf
;;;80     			hozval=HOZVAL_176220;
000120  e3a0a0af          MOV      r10,#0xaf
;;;81     			pagewidth=BG_XSIZE_176220*bytefactor/8;
000124  e3a000b0          MOV      r0,#0xb0
000128  e00b0190          MUL      r11,r0,r1
00012c  e1a031ab          MOV      r3,r11,LSR #3
;;;82     			offsize=(BG_VXSIZE_176220-BG_XSIZE_176220)*bytefactor/8;
000130  e3a000b0          MOV      r0,#0xb0
000134  e00b0190          MUL      r11,r0,r1
000138  e1a021ab          MOV      r2,r11,LSR #3
;;;83     			break;
00013c  ea000044          B        |L1.596|
;;;84     		case 0x2100:	
;;;85     			clkval=CLKVAL_PAR_176220;
                  |L1.320|
000140  e3a0b006          MOV      r11,#6
000144  e58db010          STR      r11,[sp,#0x10]
;;;86     			vbpd=VBPD_176220;
000148  e3a04004          MOV      r4,#4
;;;87     			vfpd=VFPD_176220;
00014c  e3a05006          MOV      r5,#6
;;;88     			vspw=VSPW_176220;
000150  e3a06003          MOV      r6,#3
;;;89     			hbpd=HBPD_176220;
000154  e3a0700b          MOV      r7,#0xb
;;;90     			hfpd=HFPD_176220;
000158  e3a08017          MOV      r8,#0x17
;;;91     			hspw=HSPW_176220;
00015c  e3a0900b          MOV      r9,#0xb
;;;92     			lineval=LINEVAL_176220;
000160  e3a0e0bf          MOV      lr,#0xbf
;;;93     			hozval=HOZVAL_176220;
000164  e3a0a0af          MOV      r10,#0xaf
;;;94     			pagewidth=BG_XSIZE_176220*bytefactor/8;
000168  e3a000b0          MOV      r0,#0xb0
00016c  e00b0190          MUL      r11,r0,r1
000170  e1a031ab          MOV      r3,r11,LSR #3
;;;95     			offsize=(BG_VXSIZE_176220-BG_XSIZE_176220)*bytefactor/8;			
000174  e3a000b0          MOV      r0,#0xb0
000178  e00b0190          MUL      r11,r0,r1
00017c  e1a021ab          MOV      r2,r11,LSR #3
;;;96     			break;
000180  ea000033          B        |L1.596|
;;;97     		case 0x2200:
;;;98     			clkval=CLKVAL_PAR_240320;
                  |L1.388|
000184  e3a0b008          MOV      r11,#8
000188  e58db010          STR      r11,[sp,#0x10]
;;;99     			vbpd=VBPD_240320;
00018c  e3a04001          MOV      r4,#1
;;;100    			vfpd=VFPD_240320;
000190  e3a05002          MOV      r5,#2
;;;101    			vspw=VSPW_240320;
000194  e3a06001          MOV      r6,#1
;;;102    			hbpd=HBPD_240320;
000198  e3a07006          MOV      r7,#6
;;;103    			hfpd=HFPD_240320;
00019c  e3a08002          MOV      r8,#2
;;;104    			hspw=HSPW_240320;
0001a0  e3a09003          MOV      r9,#3
;;;105    			lineval=LINEVAL_240320;
0001a4  e289ef4f          ADD      lr,r9,#0x13c
;;;106    			hozval=HOZVAL_240320;
0001a8  e3a0a0ef          MOV      r10,#0xef
;;;107    			pagewidth=BG_XSIZE_240320*bytefactor/8;
0001ac  e3a000f0          MOV      r0,#0xf0
0001b0  e00b0190          MUL      r11,r0,r1
0001b4  e1a031ab          MOV      r3,r11,LSR #3
;;;108    			offsize=(BG_VXSIZE_240320-BG_XSIZE_240320)*bytefactor/8;			
0001b8  e3a000f0          MOV      r0,#0xf0
0001bc  e00b0190          MUL      r11,r0,r1
0001c0  e1a021ab          MOV      r2,r11,LSR #3
;;;109    			break;
0001c4  ea000022          B        |L1.596|
;;;110    		case 0x2400:
;;;111    			clkval=CLKVAL_PAR_640480;
                  |L1.456|
0001c8  e3a0b001          MOV      r11,#1
0001cc  e58db010          STR      r11,[sp,#0x10]
;;;112    			vbpd=VBPD_640480;
0001d0  e3a04020          MOV      r4,#0x20
;;;113    			vfpd=VFPD_640480;
0001d4  e3a05009          MOV      r5,#9
;;;114    			vspw=VSPW_640480;
0001d8  e3a06001          MOV      r6,#1
;;;115    			hbpd=HBPD_640480;
0001dc  e3a0702f          MOV      r7,#0x2f
;;;116    			hfpd=HFPD_640480;
0001e0  e3a0800f          MOV      r8,#0xf
;;;117    			hspw=HSPW_640480;
0001e4  e3a0905f          MOV      r9,#0x5f
;;;118    			lineval=LINEVAL_640480;
0001e8  e287ef6c          ADD      lr,r7,#0x1b0
;;;119    			hozval=HOZVAL_640480;
0001ec  e287af94          ADD      r10,r7,#0x250
;;;120    			pagewidth=BG_XSIZE_640480*bytefactor/8;
0001f0  e3a00fa0          MOV      r0,#0x280
0001f4  e00b0190          MUL      r11,r0,r1
0001f8  e1a031ab          MOV      r3,r11,LSR #3
;;;121    			offsize=(BG_VXSIZE_640480-BG_XSIZE_640480)*bytefactor/8;			
0001fc  e3a00fa0          MOV      r0,#0x280
000200  e00b0190          MUL      r11,r0,r1
000204  e1a021ab          MOV      r2,r11,LSR #3
;;;122    			break;
000208  ea000011          B        |L1.596|
;;;123    		case 0x2800:
;;;124    			clkval=CLKVAL_PAR_800600;
                  |L1.524|
00020c  e3a0b001          MOV      r11,#1
000210  e58db010          STR      r11,[sp,#0x10]
;;;125    			vbpd=VBPD_800600;
000214  e3a04020          MOV      r4,#0x20
;;;126    			vfpd=VFPD_800600;
000218  e3a05009          MOV      r5,#9
;;;127    			vspw=VSPW_800600;
00021c  e3a06001          MOV      r6,#1
;;;128    			hbpd=HBPD_800600;
000220  e3a0702f          MOV      r7,#0x2f
;;;129    			hfpd=HFPD_800600;
000224  e3a0800f          MOV      r8,#0xf
;;;130    			hspw=HSPW_800600;
000228  e3a0905f          MOV      r9,#0x5f
;;;131    			lineval=LINEVAL_800600;
00022c  e287ef8a          ADD      lr,r7,#0x228
;;;132    			hozval=HOZVAL_800600;
000230  e287afbc          ADD      r10,r7,#0x2f0
;;;133    			pagewidth=BG_XSIZE_800600*bytefactor/8;
000234  e3a00fc8          MOV      r0,#0x320
000238  e00b0190          MUL      r11,r0,r1
00023c  e1a031ab          MOV      r3,r11,LSR #3
;;;134    			offsize=(BG_VXSIZE_800600-BG_XSIZE_800600)*bytefactor/8;			
000240  e3a00fc8          MOV      r0,#0x320
000244  e00b0190          MUL      r11,r0,r1
000248  e1a021ab          MOV      r2,r11,LSR #3
;;;135    			break;
00024c  ea000000          B        |L1.596|
;;;136    		default:
;;;137    			break;
                  |L1.592|
000250  e1a00000          NOP      
;;;138    	}	
;;;139    
;;;140    	framebuffer1=LCDFRAMEBUFFERBG1;
                  |L1.596|
000254  e3a0054c          MOV      r0,#0x13000000
000258  e58d0004          STR      r0,[sp,#4]
;;;141    	framebuffer2=LCDFRAMEBUFFERBG2;
00025c  e2800980          ADD      r0,r0,#0x200000
000260  e58d0000          STR      r0,[sp,#0]
;;;142    
;;;143    #if 1	
;;;144    	hwswp=0;	
000264  e3a00000          MOV      r0,#0
000268  e58d0008          STR      r0,[sp,#8]
;;;145    	if(displaytype&MODE_NO_VIRTUAL_16B) {
00026c  e59d0014          LDR      r0,[sp,#0x14]
000270  e3100010          TST      r0,#0x10
000274  0a000002          BEQ      |L1.644|
;;;146    		offsize=0;
000278  e3a02000          MOV      r2,#0
;;;147    		hwswp=1;

⌨️ 快捷键说明

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