📄 lcdcolor.txt
字号:
; generated by ARM C/C++ Compiler with , RVCT4.0 [Build 524] for uVision
; commandline ArmCC [--split_sections --debug -c --asm --interleave -o.\Obj\lcdcolor.o --depend=.\Obj\lcdcolor.d --device=DARMSTM --apcs=interwork -O3 -I..\..\include -I..\..\..\FWLib\library\inc -I..\..\..\USBLib\library\inc -I..\..\Config -I..\..\GUI\Core -I..\..\GUI\Font -I..\..\GUI\ConvertColor -I..\..\GUI\AntiAlias -I..\..\GUI\ConvertMono -I..\..\GUI\JPEG -I..\..\GUI\MemDev -I..\..\GUI\MultiLayer -I..\..\GUI\Widget -I..\..\GUI\WM -IC:\Keil\ARM\INC\ST\STM32F10x ..\..\GUI\Core\LCDColor.c]
THUMB
AREA ||i.LCD_GetpPalConvTable||, CODE, READONLY, ALIGN=1
LCD_GetpPalConvTable PROC
;;;86 */
;;;87 LCD_PIXELINDEX* LCD_GetpPalConvTable(const LCD_LOGPALETTE GUI_UNI_PTR * pLogPal) {
000000 f7ffbffe B.W LCD_GetpPalConvTableUncached
;;;88 /* Check cache */
;;;89 #if LCD_SIZEOF_COLORCACHE
;;;90 if (pLogPalCache == pLogPal) {
;;;91 return &LCD__aConvTable[0];
;;;92 }
;;;93 pLogPalCache = pLogPal;
;;;94 #endif
;;;95 return LCD_GetpPalConvTableUncached(pLogPal);
;;;96 }
;;;97
ENDP
AREA ||i.LCD_GetpPalConvTableUncached||, CODE, READONLY, ALIGN=2
LCD_GetpPalConvTableUncached PROC
;;;59 */
;;;60 LCD_PIXELINDEX* LCD_GetpPalConvTableUncached(const LCD_LOGPALETTE GUI_UNI_PTR * pLogPal) {
000000 e92d41f0 PUSH {r4-r8,lr}
;;;61 if (pLogPal == NULL) {
000004 b128 CBZ r0,|L2.18|
;;;62 return NULL;
;;;63 }
;;;64 if (!pLogPal->pPalEntries) {
000006 6886 LDR r6,[r0,#8]
000008 b11e CBZ r6,|L2.18|
;;;65 return NULL;
;;;66 }
;;;67 /* Check if sufficient space is available */
;;;68 if (pLogPal->NumEntries > LCD_MAX_LOG_COLORS) {
00000a 6805 LDR r5,[r0,#0]
00000c f5b57f80 CMP r5,#0x100
000010 dd02 BLE |L2.24|
|L2.18|
;;;69 return NULL;
000012 2000 MOVS r0,#0
|L2.20|
;;;70 }
;;;71 /* Build conversion table */
;;;72 {
;;;73 int i;
;;;74 int NumEntries = pLogPal->NumEntries;
;;;75 const LCD_COLOR GUI_UNI_PTR * pPalEntry = &pLogPal->pPalEntries[0];
;;;76 for (i=0; i< NumEntries; i++) {
;;;77 LCD__aConvTable[i] = LCD_Color2Index(*(pPalEntry+i));
;;;78 }
;;;79 }
;;;80 return &LCD__aConvTable[0];
;;;81 }
000014 e8bd81f0 POP {r4-r8,pc}
|L2.24|
000018 2400 MOVS r4,#0 ;76
00001a 4f07 LDR r7,|L2.56|
00001c e007 B |L2.46|
00001e bf00 NOP ;77
|L2.32|
000020 f8560024 LDR r0,[r6,r4,LSL #2] ;77
000024 f7fffffe BL LCD_Color2Index
000028 f8270014 STRH r0,[r7,r4,LSL #1] ;77
00002c 1c64 ADDS r4,r4,#1 ;76
|L2.46|
00002e 42ac CMP r4,r5 ;76
000030 dbf6 BLT |L2.32|
000032 4801 LDR r0,|L2.56|
000034 e7ee B |L2.20|
;;;82
ENDP
000036 0000 DCW 0x0000
|L2.56|
DCD ||.bss||
AREA ||i.LCD_InitLUT||, CODE, READONLY, ALIGN=1
LCD_InitLUT PROC
;;;101 */
;;;102 void LCD_InitLUT(void) {
000000 4770 BX lr
;;;103 #if (LCD_BITSPERPIXEL <= 8)
;;;104 {
;;;105 int i;
;;;106 for (i=0; i < LCD_NUM_COLORS; i++) {
;;;107 LCD_COLOR color = LCD_Index2Color((U8)i);
;;;108 #if LCD_REVERSE_LUT
;;;109 color ^= 0xffffff; /* Invert R,G,B components */
;;;110 #endif
;;;111 LCD_L0_SetLUTEntry((U8)i, color);
;;;112 }
;;;113 }
;;;114 #endif
;;;115 #if (GUI_NUM_LAYERS > 1)
;;;116 #if (LCD_BITSPERPIXEL_1 <= 8)
;;;117 {
;;;118 int i;
;;;119 int DisplayOld = GUI_SelectLayer(1);
;;;120 for (i=0; i < LCD_NUM_COLORS_1; i++) {
;;;121 LCD_COLOR color = LCD_Index2Color((U8)i);
;;;122 #if LCD_REVERSE_LUT_1
;;;123 color ^= 0xffffff; /* Invert R,G,B components */
;;;124 #endif
;;;125 LCD_L0_1_SetLUTEntry((U8)i, color);
;;;126 }
;;;127 GUI_SelectLayer(DisplayOld);
;;;128 }
;;;129 #endif
;;;130 #endif
;;;131 #if (GUI_NUM_LAYERS > 2)
;;;132 #if (LCD_BITSPERPIXEL_2 <= 8)
;;;133 {
;;;134 int i;
;;;135 int DisplayOld = GUI_SelectLayer(2);
;;;136 for (i=0; i < LCD_NUM_COLORS_2; i++) {
;;;137 LCD_COLOR color = LCD_Index2Color((U8)i);
;;;138 #if LCD_REVERSE_LUT_2
;;;139 color ^= 0xffffff; /* Invert R,G,B components */
;;;140 #endif
;;;141 LCD_L0_2_SetLUTEntry((U8)i, color);
;;;142 }
;;;143 GUI_SelectLayer(DisplayOld);
;;;144 }
;;;145 #endif
;;;146 #endif
;;;147 #if (GUI_NUM_LAYERS > 3)
;;;148 #if (LCD_BITSPERPIXEL_3 <= 8)
;;;149 {
;;;150 int i;
;;;151 int DisplayOld = GUI_SelectLayer(3);
;;;152 for (i=0; i < LCD_NUM_COLORS_3; i++) {
;;;153 LCD_COLOR color = LCD_Index2Color((U8)i);
;;;154 #if LCD_REVERSE_LUT_3
;;;155 color ^= 0xffffff; /* Invert R,G,B components */
;;;156 #endif
;;;157 LCD_L0_3_SetLUTEntry((U8)i, color);
;;;158 }
;;;159 GUI_SelectLayer(DisplayOld);
;;;160 }
;;;161 #endif
;;;162 #endif
;;;163 #if (GUI_NUM_LAYERS > 4)
;;;164 #if (LCD_BITSPERPIXEL_4 <= 8)
;;;165 {
;;;166 int i;
;;;167 int DisplayOld = GUI_SelectLayer(4);
;;;168 for (i=0; i < LCD_NUM_COLORS_4; i++) {
;;;169 LCD_COLOR color = LCD_Index2Color((U8)i);
;;;170 #if LCD_REVERSE_LUT_4
;;;171 color ^= 0xffffff; /* Invert R,G,B components */
;;;172 #endif
;;;173 LCD_L0_4_SetLUTEntry((U8)i, color);
;;;174 }
;;;175 GUI_SelectLayer(DisplayOld);
;;;176 }
;;;177 #endif
;;;178 #endif
;;;179 }
;;;180
ENDP
AREA ||.bss||, DATA, NOINIT, ALIGN=1
LCD__aConvTable
% 512
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -