📄 glib.txt
字号:
;;;101 }
|L1.1760|
0006e0 e49df004 LDR pc,[sp],#4
ENDP
_PutStn2Bit PROC
;;;88 void _PutStn2Bit(U32 x,U32 y,U32 c)
;;;89 {
0006e4 e52de004 STR lr,[sp,#-4]!
;;;90 if(x<SCR_XSIZE_STN&& y<SCR_YSIZE_STN)
0006e8 e3500fa0 CMP r0,#0x280
0006ec 2a000016 BCS |L1.1868|
0006f0 e3510f78 CMP r1,#0x1e0
0006f4 2a000014 BCS |L1.1868|
;;;91 frameBuffer2Bit[(y)][(x)/16]=( frameBuffer2Bit[(y)][x/16]
0006f8 e0813101 ADD r3,r1,r1,LSL #2
0006fc e59fc2c4 LDR r12,|L1.2504|
000700 e59cc000 LDR r12,[r12,#0] ; frameBuffer2Bit
000704 e08c3283 ADD r3,r12,r3,LSL #5
000708 e1a0c220 MOV r12,r0,LSR #4
00070c e793310c LDR r3,[r3,r12,LSL #2]
000710 e1a0ce00 MOV r12,r0,LSL #28
000714 e1a0cdac MOV r12,r12,LSR #27
000718 e3a0e4c0 MOV lr,#0xc0000000
00071c e1c33c3e BIC r3,r3,lr,LSR r12
000720 e202c003 AND r12,r2,#3
000724 e200e00f AND lr,r0,#0xf
000728 e26ee00f RSB lr,lr,#0xf
00072c e1a0e08e MOV lr,lr,LSL #1
000730 e1833e1c ORR r3,r3,r12,LSL lr
000734 e081c101 ADD r12,r1,r1,LSL #2
000738 e59fe288 LDR lr,|L1.2504|
00073c e59ee000 LDR lr,[lr,#0] ; frameBuffer2Bit
000740 e08ec28c ADD r12,lr,r12,LSL #5
000744 e1a0e220 MOV lr,r0,LSR #4
000748 e78c310e STR r3,[r12,lr,LSL #2]
;;;92 & ~(0xc0000000>>((x)%16)*2) ) | ( (c&0x00000003)<<((16-1-((x)%16))*2) );
;;;93 }
|L1.1868|
00074c e49df004 LDR pc,[sp],#4
ENDP
_PutStn1Bit PROC
;;;80 void _PutStn1Bit(U32 x,U32 y,U32 c)
;;;81 {
000750 e52de004 STR lr,[sp,#-4]!
;;;82 if(x<SCR_XSIZE_STN&& y<SCR_YSIZE_STN)
000754 e3500fa0 CMP r0,#0x280
000758 2a000014 BCS |L1.1968|
00075c e3510f78 CMP r1,#0x1e0
000760 2a000012 BCS |L1.1968|
;;;83 frameBuffer1Bit[(y)][(x)/32]=( frameBuffer1Bit[(y)][(x)/32]
000764 e0813101 ADD r3,r1,r1,LSL #2
000768 e59fc25c LDR r12,|L1.2508|
00076c e59cc000 LDR r12,[r12,#0] ; frameBuffer1Bit
000770 e08c3203 ADD r3,r12,r3,LSL #4
000774 e1a0c2a0 MOV r12,r0,LSR #5
000778 e793310c LDR r3,[r3,r12,LSL #2]
00077c e200c01f AND r12,r0,#0x1f
000780 e3a0e480 MOV lr,#0x80000000
000784 e1c33c3e BIC r3,r3,lr,LSR r12
000788 e202c001 AND r12,r2,#1
00078c e200e01f AND lr,r0,#0x1f
000790 e26ee01f RSB lr,lr,#0x1f
000794 e1833e1c ORR r3,r3,r12,LSL lr
000798 e081c101 ADD r12,r1,r1,LSL #2
00079c e59fe228 LDR lr,|L1.2508|
0007a0 e59ee000 LDR lr,[lr,#0] ; frameBuffer1Bit
0007a4 e08ec20c ADD r12,lr,r12,LSL #4
0007a8 e1a0e2a0 MOV lr,r0,LSR #5
0007ac e78c310e STR r3,[r12,lr,LSL #2]
;;;84 & ~(0x80000000>>((x)%32)*1) ) | ( (c&0x00000001)<< ((32-1-((x)%32))*1) );
;;;85 }
|L1.1968|
0007b0 e49df004 LDR pc,[sp],#4
ENDP
Glib_Init PROC
;;;22 void Glib_Init(int type)
;;;23 {
0007b4 e250cc40 SUBS r12,r0,#0x4000
;;;24 switch(type)
0007b8 a25ccf41 SUBGES r12,r12,#0x104
0007bc 0a000050 BEQ |L1.2308|
0007c0 ca00001a BGT |L1.2096|
0007c4 e250cd80 SUBS r12,r0,#0x2000
0007c8 a25cc002 SUBGES r12,r12,#2
0007cc 0a00003f BEQ |L1.2256|
0007d0 ca00000c BGT |L1.2056|
0007d4 e240cd40 SUB r12,r0,#0x1000
0007d8 e25cc001 SUBS r12,r12,#1
0007dc 0a00002b BEQ |L1.2192|
0007e0 e240cd40 SUB r12,r0,#0x1000
0007e4 e25cc002 SUBS r12,r12,#2
0007e8 0a00002c BEQ |L1.2208|
0007ec e240cd40 SUB r12,r0,#0x1000
0007f0 e25cc004 SUBS r12,r12,#4
0007f4 0a00002d BEQ |L1.2224|
0007f8 e240cd80 SUB r12,r0,#0x2000
0007fc e25cc001 SUBS r12,r12,#1
000800 1a00005f BNE |L1.2436|
000804 ea00002d B |L1.2240|
|L1.2056|
000808 e240cd80 SUB r12,r0,#0x2000
00080c e25cc004 SUBS r12,r12,#4
000810 0a000032 BEQ |L1.2272|
000814 e240cd80 SUB r12,r0,#0x2000
000818 e25cc008 SUBS r12,r12,#8
00081c 0a000030 BEQ |L1.2276|
000820 e240cc41 SUB r12,r0,#0x4100
000824 e25cc002 SUBS r12,r12,#2
000828 1a000055 BNE |L1.2436|
00082c ea000030 B |L1.2292|
|L1.2096|
000830 e250cc40 SUBS r12,r0,#0x4000
000834 a25ccf82 SUBGES r12,r12,#0x208
000838 0a000041 BEQ |L1.2372|
00083c ca000009 BGT |L1.2152|
000840 e240cc42 SUB r12,r0,#0x4200
000844 e25cc001 SUBS r12,r12,#1
000848 0a000031 BEQ |L1.2324|
00084c e240cc42 SUB r12,r0,#0x4200
000850 e25cc002 SUBS r12,r12,#2
000854 0a000032 BEQ |L1.2340|
000858 e240cc40 SUB r12,r0,#0x4000
00085c e25ccf81 SUBS r12,r12,#0x204
000860 1a000047 BNE |L1.2436|
000864 ea000032 B |L1.2356|
|L1.2152|
000868 e240cc44 SUB r12,r0,#0x4400
00086c e25cc001 SUBS r12,r12,#1
000870 0a000037 BEQ |L1.2388|
000874 e240cc44 SUB r12,r0,#0x4400
000878 e25cc002 SUBS r12,r12,#2
00087c 0a000038 BEQ |L1.2404|
000880 e240cc44 SUB r12,r0,#0x4400
000884 e25cc004 SUBS r12,r12,#4
000888 1a00003d BNE |L1.2436|
00088c ea000038 B |L1.2420|
;;;25 {
;;;26 case MODE_STN_1BIT:
;;;27 PutPixel=_PutStn1Bit;
|L1.2192|
000890 e59f1138 LDR r1,|L1.2512|
000894 e59f2138 LDR r2,|L1.2516|
000898 e5821000 STR r1,[r2,#0] ; PutPixel
;;;28 break;
00089c ea000039 B |L1.2442|
;;;29 case MODE_STN_2BIT:
;;;30 PutPixel=_PutStn2Bit;
|L1.2208|
0008a0 e59f1130 LDR r1,|L1.2520|
0008a4 e59f2128 LDR r2,|L1.2516|
0008a8 e5821000 STR r1,[r2,#0] ; PutPixel
;;;31 break;
0008ac ea000035 B |L1.2442|
;;;32 case MODE_STN_4BIT:
;;;33 PutPixel=_PutStn4Bit;
|L1.2224|
0008b0 e59f1124 LDR r1,|L1.2524|
0008b4 e59f2118 LDR r2,|L1.2516|
0008b8 e5821000 STR r1,[r2,#0] ; PutPixel
;;;34 break;
0008bc ea000031 B |L1.2442|
;;;35 case MODE_CSTN_8BIT:
;;;36 PutPixel=_PutCstn8Bit;
|L1.2240|
0008c0 e59f1118 LDR r1,|L1.2528|
0008c4 e59f2108 LDR r2,|L1.2516|
0008c8 e5821000 STR r1,[r2,#0] ; PutPixel
;;;37 break;
0008cc ea00002d B |L1.2442|
;;;38 case MODE_CSTN_12BIT:
;;;39 PutPixel=_PutCstn12Bit;
|L1.2256|
0008d0 e59f110c LDR r1,|L1.2532|
0008d4 e59f20f8 LDR r2,|L1.2516|
0008d8 e5821000 STR r1,[r2,#0] ; PutPixel
;;;40 break;
0008dc ea000029 B |L1.2442|
;;;41 case MODE_CSTN_12BIT_UP:
;;;42 case MODE_CSTN_16BIT:
|L1.2272|
0008e0 e1a00000 NOP
;;;43 PutPixel=_PutCstn16Bit;
|L1.2276|
0008e4 e59f10fc LDR r1,|L1.2536|
0008e8 e59f20e4 LDR r2,|L1.2516|
0008ec e5821000 STR r1,[r2,#0] ; PutPixel
;;;44 break;
0008f0 ea000024 B |L1.2442|
;;;45 case MODE_TFT_8BIT_240320:
;;;46 PutPixel=_PutTft8Bit_240320;
|L1.2292|
0008f4 e59f10f0 LDR r1,|L1.2540|
0008f8 e59f20d4 LDR r2,|L1.2516|
0008fc e5821000 STR r1,[r2,#0] ; PutPixel
;;;47 break;
000900 ea000020 B |L1.2442|
;;;48 case MODE_TFT_16BIT_240320:
;;;49 PutPixel=_PutTft16Bit_240320;
|L1.2308|
000904 e59f10e4 LDR r1,|L1.2544|
000908 e59f20c4 LDR r2,|L1.2516|
00090c e5821000 STR r1,[r2,#0] ; PutPixel
;;;50 break;
000910 ea00001c B |L1.2442|
;;;51 case MODE_TFT_1BIT_640480:
;;;52 PutPixel=_PutTft1Bit_640480;
|L1.2324|
000914 e59f10d8 LDR r1,|L1.2548|
000918 e59f20b4 LDR r2,|L1.2516|
00091c e5821000 STR r1,[r2,#0] ; PutPixel
;;;53 break;
000920 ea000018 B |L1.2442|
;;;54 case MODE_TFT_8BIT_640480:
;;;55 PutPixel=_PutTft8Bit_640480;
|L1.2340|
000924 e59f10cc LDR r1,|L1.2552|
000928 e59f20a4 LDR r2,|L1.2516|
00092c e5821000 STR r1,[r2,#0] ; PutPixel
;;;56 break;
000930 ea000014 B |L1.2442|
;;;57 case MODE_TFT_16BIT_640480:
;;;58 PutPixel=_PutTft16Bit_640480;
|L1.2356|
000934 e59f10c0 LDR r1,|L1.2556|
000938 e59f2094 LDR r2,|L1.2516|
00093c e5821000 STR r1,[r2,#0] ; PutPixel
;;;59 break;
000940 ea000010 B |L1.2442|
;;;60 case MODE_TFT_24BIT_640480:
;;;61 PutPixel=_PutTft24Bit_640480;
|L1.2372|
000944 e59f10b4 LDR r1,|L1.2560|
000948 e59f2084 LDR r2,|L1.2516|
00094c e5821000 STR r1,[r2,#0] ; PutPixel
;;;62 break;
000950 ea00000c B |L1.2442|
;;;63 //--------------------------------------
;;;64 case MODE_TFT_1BIT_800600:
;;;65 PutPixel=_PutTft1Bit_800600;
|L1.2388|
000954 e59f10a8 LDR r1,|L1.2564|
000958 e59f2074 LDR r2,|L1.2516|
00095c e5821000 STR r1,[r2,#0] ; PutPixel
;;;66 break;
000960 ea000008 B |L1.2442|
;;;67 case MODE_TFT_8BIT_800600:
;;;68 PutPixel=_PutTft8Bit_800600;
|L1.2404|
000964 e59f109c LDR r1,|L1.2568|
000968 e59f2064 LDR r2,|L1.2516|
00096c e5821000 STR r1,[r2,#0] ; PutPixel
;;;69 break;
000970 ea000004 B |L1.2442|
;;;70 case MODE_TFT_16BIT_800600:
;;;71 PutPixel=_PutTft16Bit_800600;
|L1.2420|
000974 e59f1090 LDR r1,|L1.2572|
000978 e59f2054 LDR r2,|L1.2516|
00097c e5821000 STR r1,[r2,#0] ; PutPixel
;;;72 break;
000980 ea000000 B |L1.2442|
;;;73 //--------------------------------------
;;;74 default:
;;;75 break;
|L1.2436|
000984 e1a00000 NOP
;;;76 }
;;;77 }
|L1.2442|
000988 e1a0f00e MOV pc,lr
|L1.2444|
00098c 00000000 DCD frameBuffer16BitTft800600
|L1.2448|
000990 ffff0000 DCD 0xffff0000
|L1.2452|
000994 00000000 DCD frameBuffer8BitTft800600
|L1.2456|
000998 00000000 DCD frameBuffer1BitTft800600
|L1.2460|
00099c 00000000 DCD frameBuffer24BitTft640480
|L1.2464|
0009a0 00000000 DCD frameBuffer16BitTft640480
|L1.2468|
0009a4 00000000 DCD frameBuffer8BitTft640480
|L1.2472|
0009a8 00000000 DCD frameBuffer1BitTft640480
|L1.2476|
0009ac 00000000 DCD frameBuffer16BitTft240320
|L1.2480|
0009b0 00000000 DCD frameBuffer8BitTft240320
|L1.2484|
0009b4 00000000 DCD frameBuffer16Bit
|L1.2488|
0009b8 fff00000 DCD 0xfff00000
|L1.2492|
0009bc 00000000 DCD frameBuffer12Bit
|L1.2496|
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -