📄 glib.txt
字号:
;;;154 frameBuffer8BitTft240320[(y)][(x)/4]=( frameBuffer8BitTft240320[(y)][x/4]
000340 e0613201 RSB r3,r1,r1,LSL #4
000344 e59fc664 LDR r12,|L1.2480|
000348 e59cc000 LDR r12,[r12,#0] ; frameBuffer8BitTft240320
00034c e08c3283 ADD r3,r12,r3,LSL #5
000350 e1a0c120 MOV r12,r0,LSR #2
000354 e793310c LDR r3,[r3,r12,LSL #2]
000358 e1a0cf00 MOV r12,r0,LSL #30
00035c e1a0cdac MOV r12,r12,LSR #27
000360 e3a0e4ff MOV lr,#0xff000000
000364 e1c33c3e BIC r3,r3,lr,LSR r12
000368 e202c0ff AND r12,r2,#0xff
00036c e200e003 AND lr,r0,#3
000370 e26ee003 RSB lr,lr,#3
000374 e1a0e18e MOV lr,lr,LSL #3
000378 e1833e1c ORR r3,r3,r12,LSL lr
00037c e061c201 RSB r12,r1,r1,LSL #4
000380 e59fe628 LDR lr,|L1.2480|
000384 e59ee000 LDR lr,[lr,#0] ; frameBuffer8BitTft240320
000388 e08ec28c ADD r12,lr,r12,LSL #5
00038c e1a0e120 MOV lr,r0,LSR #2
000390 e78c310e STR r3,[r12,lr,LSL #2]
;;;155 & ~(0xff000000>>((x)%4)*8) ) | ( (c&0x000000ff)<<((4-1-((x)%4))*8) );
;;;156 }
|L1.916|
000394 e49df004 LDR pc,[sp],#4
ENDP
_PutCstn16Bit PROC
;;;143 void _PutCstn16Bit(U32 x,U32 y,U32 c)
;;;144 {
000398 e52de004 STR lr,[sp,#-4]!
;;;145 if(x<SCR_XSIZE_CSTN&& y<SCR_YSIZE_CSTN)
00039c e3500fa0 CMP r0,#0x280
0003a0 2a000016 BCS |L1.1024|
0003a4 e3510f78 CMP r1,#0x1e0
0003a8 2a000014 BCS |L1.1024|
;;;146 frameBuffer16Bit[(y)][(x)/2]=( frameBuffer16Bit[(y)][x/2]
0003ac e0813101 ADD r3,r1,r1,LSL #2
0003b0 e59fc5fc LDR r12,|L1.2484|
0003b4 e59cc000 LDR r12,[r12,#0] ; frameBuffer16Bit
0003b8 e08c3403 ADD r3,r12,r3,LSL #8
0003bc e1a0c0a0 MOV r12,r0,LSR #1
0003c0 e793310c LDR r3,[r3,r12,LSL #2]
0003c4 e1a0cf80 MOV r12,r0,LSL #31
0003c8 e1a0cdac MOV r12,r12,LSR #27
0003cc e59fe5bc LDR lr,|L1.2448|
0003d0 e1c33c3e BIC r3,r3,lr,LSR r12
0003d4 e002c82e AND r12,r2,lr,LSR #16
0003d8 e200e001 AND lr,r0,#1
0003dc e26ee001 RSB lr,lr,#1
0003e0 e1a0e20e MOV lr,lr,LSL #4
0003e4 e1833e1c ORR r3,r3,r12,LSL lr
0003e8 e081c101 ADD r12,r1,r1,LSL #2
0003ec e59fe5c0 LDR lr,|L1.2484|
0003f0 e59ee000 LDR lr,[lr,#0] ; frameBuffer16Bit
0003f4 e08ec40c ADD r12,lr,r12,LSL #8
0003f8 e1a0e0a0 MOV lr,r0,LSR #1
0003fc e78c310e STR r3,[r12,lr,LSL #2]
;;;147 & ~(0xffff0000>>((x)%2)*16) ) | ( (c&0x0000ffff)<<((2-1-((x)%2))*16) );
;;;148 }
|L1.1024|
000400 e49df004 LDR pc,[sp],#4
ENDP
_PutCstn12Bit PROC
;;;112 void _PutCstn12Bit(U32 x,U32 y,U32 c)
;;;113 {
000404 e92d43f8 STMFD sp!,{r3-r9,lr}
000408 e1a04000 MOV r4,r0
00040c e1a05001 MOV r5,r1
000410 e1a07002 MOV r7,r2
;;;114 U32 z;
;;;115 z=((x)%8);
000414 e2046007 AND r6,r4,#7
;;;116 if(x<SCR_XSIZE_CSTN&& y<SCR_YSIZE_CSTN)
000418 e3540fa0 CMP r4,#0x280
00041c 2a000079 BCS |L1.1544|
000420 e3550f78 CMP r5,#0x1e0
000424 2a000077 BCS |L1.1544|
;;;117 {
;;;118
;;;119 if((z%3)!=2)
000428 e1a01006 MOV r1,r6
00042c e3a00003 MOV r0,#3
000430 ebfffffe BL __rt_udiv
000434 e3510002 CMP r1,#2
000438 0a000027 BEQ |L1.1244|
;;;120 frameBuffer12Bit[(y)][(x)*3/8]=
00043c e1a01006 MOV r1,r6
000440 e3a00003 MOV r0,#3
000444 ebfffffe BL __rt_udiv
000448 e1a08100 MOV r8,r0,LSL #2
00044c e1a01006 MOV r1,r6
000450 e3a00003 MOV r0,#3
000454 ebfffffe BL __rt_udiv
000458 e0810081 ADD r0,r1,r1,LSL #1
00045c e0880100 ADD r0,r8,r0,LSL #2
000460 e59f1550 LDR r1,|L1.2488|
000464 e1a00031 MOV r0,r1,LSR r0
000468 e0651205 RSB r1,r5,r5,LSL #4
00046c e59f2548 LDR r2,|L1.2492|
000470 e5922000 LDR r2,[r2,#0] ; frameBuffer12Bit
000474 e0821301 ADD r1,r2,r1,LSL #6
000478 e0842084 ADD r2,r4,r4,LSL #1
00047c e1a021a2 MOV r2,r2,LSR #3
000480 e7911102 LDR r1,[r1,r2,LSL #2]
000484 e1c18000 BIC r8,r1,r0
000488 e1a01006 MOV r1,r6
00048c e3a00003 MOV r0,#3
000490 ebfffffe BL __rt_udiv
000494 e1a09100 MOV r9,r0,LSL #2
000498 e1a01006 MOV r1,r6
00049c e3a00003 MOV r0,#3
0004a0 ebfffffe BL __rt_udiv
0004a4 e0810081 ADD r0,r1,r1,LSL #1
0004a8 e0890100 ADD r0,r9,r0,LSL #2
0004ac e2600014 RSB r0,r0,#0x14
0004b0 e1a01a07 MOV r1,r7,LSL #20
0004b4 e1a01a21 MOV r1,r1,LSR #20
0004b8 e1880011 ORR r0,r8,r1,LSL r0
0004bc e0651205 RSB r1,r5,r5,LSL #4
0004c0 e59f24f4 LDR r2,|L1.2492|
0004c4 e5922000 LDR r2,[r2,#0] ; frameBuffer12Bit
0004c8 e0821301 ADD r1,r2,r1,LSL #6
0004cc e0842084 ADD r2,r4,r4,LSL #1
0004d0 e1a021a2 MOV r2,r2,LSR #3
0004d4 e7810102 STR r0,[r1,r2,LSL #2]
0004d8 ea00004a B |L1.1544|
;;;121 ( frameBuffer12Bit[(y)][(x)*3/8] & ~(0xfff00000>>(((z/3)*4)+((z)%3)*12) )
;;;122 | ( (c&0xfff)<<(20-(((z/3)*4)+((z)%3)*12))) );
;;;123 else
;;;124 {
;;;125 if(z==2)
|L1.1244|
0004dc e3560002 CMP r6,#2
0004e0 1a000023 BNE |L1.1396|
;;;126 {
;;;127 frameBuffer12Bit[(y)][(x)*3/8]=( (frameBuffer12Bit[(y)][(x)*3/8]
0004e4 e0650205 RSB r0,r5,r5,LSL #4
0004e8 e59f14cc LDR r1,|L1.2492|
0004ec e5911000 LDR r1,[r1,#0] ; frameBuffer12Bit
0004f0 e0810300 ADD r0,r1,r0,LSL #6
0004f4 e0841084 ADD r1,r4,r4,LSL #1
0004f8 e1a011a1 MOV r1,r1,LSR #3
0004fc e7900101 LDR r0,[r0,r1,LSL #2]
000500 e3c000ff BIC r0,r0,#0xff
000504 e1a01a07 MOV r1,r7,LSL #20
000508 e1800c21 ORR r0,r0,r1,LSR #24
00050c e0651205 RSB r1,r5,r5,LSL #4
000510 e59f24a4 LDR r2,|L1.2492|
000514 e5922000 LDR r2,[r2,#0] ; frameBuffer12Bit
000518 e0821301 ADD r1,r2,r1,LSL #6
00051c e0842084 ADD r2,r4,r4,LSL #1
000520 e1a021a2 MOV r2,r2,LSR #3
000524 e7810102 STR r0,[r1,r2,LSL #2]
;;;128 & ~(0xff)) | ((c&0xff0)>>4) );
;;;129 frameBuffer12Bit[(y)][((x)*3/8)+1]=( (frameBuffer12Bit[(y)][((x)*3/8)+1]
000528 e0650205 RSB r0,r5,r5,LSL #4
00052c e59f1488 LDR r1,|L1.2492|
000530 e5911000 LDR r1,[r1,#0] ; frameBuffer12Bit
000534 e0810300 ADD r0,r1,r0,LSL #6
000538 e0841084 ADD r1,r4,r4,LSL #1
00053c e1a011a1 MOV r1,r1,LSR #3
000540 e0800101 ADD r0,r0,r1,LSL #2
000544 e5900004 LDR r0,[r0,#4]
000548 e3c004f0 BIC r0,r0,#0xf0000000
00054c e1800e07 ORR r0,r0,r7,LSL #28
000550 e0651205 RSB r1,r5,r5,LSL #4
000554 e59f2460 LDR r2,|L1.2492|
000558 e5922000 LDR r2,[r2,#0] ; frameBuffer12Bit
00055c e0821301 ADD r1,r2,r1,LSL #6
000560 e0842084 ADD r2,r4,r4,LSL #1
000564 e1a021a2 MOV r2,r2,LSR #3
000568 e0811102 ADD r1,r1,r2,LSL #2
00056c e5810004 STR r0,[r1,#4]
000570 ea000024 B |L1.1544|
;;;130 & ~(0xf0000000)) | ((c&0xf)<<28) );
;;;131 }
;;;132 else if(z==5)
|L1.1396|
000574 e3560005 CMP r6,#5
000578 1a000022 BNE |L1.1544|
;;;133 {
;;;134 frameBuffer12Bit[(y)][(x)*3/8]=( (frameBuffer12Bit[(y)][(x)*3/8]
00057c e0650205 RSB r0,r5,r5,LSL #4
000580 e59f1434 LDR r1,|L1.2492|
000584 e5911000 LDR r1,[r1,#0] ; frameBuffer12Bit
000588 e0810300 ADD r0,r1,r0,LSL #6
00058c e0841084 ADD r1,r4,r4,LSL #1
000590 e1a011a1 MOV r1,r1,LSR #3
000594 e7900101 LDR r0,[r0,r1,LSL #2]
000598 e3c0000f BIC r0,r0,#0xf
00059c e1a01a07 MOV r1,r7,LSL #20
0005a0 e1800e21 ORR r0,r0,r1,LSR #28
0005a4 e0651205 RSB r1,r5,r5,LSL #4
0005a8 e59f240c LDR r2,|L1.2492|
0005ac e5922000 LDR r2,[r2,#0] ; frameBuffer12Bit
0005b0 e0821301 ADD r1,r2,r1,LSL #6
0005b4 e0842084 ADD r2,r4,r4,LSL #1
0005b8 e1a021a2 MOV r2,r2,LSR #3
0005bc e7810102 STR r0,[r1,r2,LSL #2]
;;;135 & ~(0xf)) | ((c&0xf00)>>8) );
;;;136 frameBuffer12Bit[(y)][((x)*3/8)+1]=( (frameBuffer12Bit[(y)][((x)*3/8)+1]
0005c0 e0650205 RSB r0,r5,r5,LSL #4
0005c4 e59f13f0 LDR r1,|L1.2492|
0005c8 e5911000 LDR r1,[r1,#0] ; frameBuffer12Bit
0005cc e0810300 ADD r0,r1,r0,LSL #6
0005d0 e0841084 ADD r1,r4,r4,LSL #1
0005d4 e1a011a1 MOV r1,r1,LSR #3
0005d8 e0800101 ADD r0,r0,r1,LSL #2
0005dc e5900004 LDR r0,[r0,#4]
0005e0 e3c004ff BIC r0,r0,#0xff000000
0005e4 e1800c07 ORR r0,r0,r7,LSL #24
0005e8 e0651205 RSB r1,r5,r5,LSL #4
0005ec e59f23c8 LDR r2,|L1.2492|
0005f0 e5922000 LDR r2,[r2,#0] ; frameBuffer12Bit
0005f4 e0821301 ADD r1,r2,r1,LSL #6
0005f8 e0842084 ADD r2,r4,r4,LSL #1
0005fc e1a021a2 MOV r2,r2,LSR #3
000600 e0811102 ADD r1,r1,r2,LSL #2
000604 e5810004 STR r0,[r1,#4]
;;;137 & ~(0xff000000)) | ((c&0xff)<<24) );
;;;138 }
;;;139 }
;;;140 }
;;;141 }
|L1.1544|
000608 e8bd83f8 LDMFD sp!,{r3-r9,pc}
ENDP
_PutCstn8Bit PROC
;;;104 void _PutCstn8Bit(U32 x,U32 y,U32 c)
;;;105 {
00060c e52de004 STR lr,[sp,#-4]!
;;;106 if(x<SCR_XSIZE_CSTN&& y<SCR_YSIZE_CSTN)
000610 e3500fa0 CMP r0,#0x280
000614 2a000016 BCS |L1.1652|
000618 e3510f78 CMP r1,#0x1e0
00061c 2a000014 BCS |L1.1652|
;;;107 frameBuffer8Bit[(y)][(x)/4]=( frameBuffer8Bit[(y)][x/4]
000620 e0813101 ADD r3,r1,r1,LSL #2
000624 e59fc394 LDR r12,|L1.2496|
000628 e59cc000 LDR r12,[r12,#0] ; frameBuffer8Bit
00062c e08c3383 ADD r3,r12,r3,LSL #7
000630 e1a0c120 MOV r12,r0,LSR #2
000634 e793310c LDR r3,[r3,r12,LSL #2]
000638 e1a0cf00 MOV r12,r0,LSL #30
00063c e1a0cdac MOV r12,r12,LSR #27
000640 e3a0e4ff MOV lr,#0xff000000
000644 e1c33c3e BIC r3,r3,lr,LSR r12
000648 e202c0ff AND r12,r2,#0xff
00064c e200e003 AND lr,r0,#3
000650 e26ee003 RSB lr,lr,#3
000654 e1a0e18e MOV lr,lr,LSL #3
000658 e1833e1c ORR r3,r3,r12,LSL lr
00065c e081c101 ADD r12,r1,r1,LSL #2
000660 e59fe358 LDR lr,|L1.2496|
000664 e59ee000 LDR lr,[lr,#0] ; frameBuffer8Bit
000668 e08ec38c ADD r12,lr,r12,LSL #7
00066c e1a0e120 MOV lr,r0,LSR #2
000670 e78c310e STR r3,[r12,lr,LSL #2]
;;;108 & ~(0xff000000>>((x)%4)*8) ) | ( (c&0x000000ff)<<((4-1-((x)%4))*8) );
;;;109 }
|L1.1652|
000674 e49df004 LDR pc,[sp],#4
ENDP
_PutStn4Bit PROC
;;;96 void _PutStn4Bit(U32 x,U32 y,U32 c)
;;;97 {
000678 e52de004 STR lr,[sp,#-4]!
;;;98 if(x<SCR_XSIZE_STN&& y<SCR_YSIZE_STN)
00067c e3500fa0 CMP r0,#0x280
000680 2a000016 BCS |L1.1760|
000684 e3510f78 CMP r1,#0x1e0
000688 2a000014 BCS |L1.1760|
;;;99 frameBuffer4Bit[(y)][(x)/8]=( frameBuffer4Bit[(y)][x/8]
00068c e0813101 ADD r3,r1,r1,LSL #2
000690 e59fc32c LDR r12,|L1.2500|
000694 e59cc000 LDR r12,[r12,#0] ; frameBuffer4Bit
000698 e08c3303 ADD r3,r12,r3,LSL #6
00069c e1a0c1a0 MOV r12,r0,LSR #3
0006a0 e793310c LDR r3,[r3,r12,LSL #2]
0006a4 e1a0ce80 MOV r12,r0,LSL #29
0006a8 e1a0cdac MOV r12,r12,LSR #27
0006ac e3a0e4f0 MOV lr,#0xf0000000
0006b0 e1c33c3e BIC r3,r3,lr,LSR r12
0006b4 e202c00f AND r12,r2,#0xf
0006b8 e200e007 AND lr,r0,#7
0006bc e26ee007 RSB lr,lr,#7
0006c0 e1a0e10e MOV lr,lr,LSL #2
0006c4 e1833e1c ORR r3,r3,r12,LSL lr
0006c8 e081c101 ADD r12,r1,r1,LSL #2
0006cc e59fe2f0 LDR lr,|L1.2500|
0006d0 e59ee000 LDR lr,[lr,#0] ; frameBuffer4Bit
0006d4 e08ec30c ADD r12,lr,r12,LSL #6
0006d8 e1a0e1a0 MOV lr,r0,LSR #3
0006dc e78c310e STR r3,[r12,lr,LSL #2]
;;;100 & ~(0xf0000000>>((x)%8)*4) ) | ( (c&0x0000000f)<<((8-1-((x)%8))*4) );
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -