📄 lcdpm555.txt
字号:
; generated by ARM C/C++ Compiler with , RVCT4.0 [Build 524] for uVision
; commandline ArmCC [--split_sections --debug -c --asm --interleave -o.\Obj\lcdpm555.o --depend=.\Obj\lcdpm555.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\ConvertColor\LCDPM555.c]
THUMB
AREA ||i.LCD_Color2Index_M555||, CODE, READONLY, ALIGN=1
LCD_Color2Index_M555 PROC
;;;48 */
;;;49 unsigned LCD_Color2Index_M555(LCD_COLOR Color) {
000000 f3c001c4 UBFX r1,r0,#3,#5
;;;50 int r,g,b;
;;;51 r = (Color>> (8 - R_BITS)) & R_MASK;
;;;52 g = (Color>> (16 - G_BITS)) & G_MASK;
000004 f3c022c4 UBFX r2,r0,#11,#5
;;;53 b = (Color>> (24 - B_BITS)) & B_MASK;
000008 f3c040c4 UBFX r0,r0,#19,#5
;;;54 return b + (g << B_BITS) + (r << (G_BITS + B_BITS));
00000c eb001042 ADD r0,r0,r2,LSL #5
000010 eb002081 ADD r0,r0,r1,LSL #10
;;;55 }
000014 4770 BX lr
;;;56
ENDP
AREA ||i.LCD_GetIndexMask_M555||, CODE, READONLY, ALIGN=1
LCD_GetIndexMask_M555 PROC
;;;77 */
;;;78 unsigned LCD_GetIndexMask_M555(void) {
000000 f64770ff MOV r0,#0x7fff
;;;79 return 0x7fff;
;;;80 }
000004 4770 BX lr
;;;81
ENDP
AREA ||i.LCD_Index2Color_M555||, CODE, READONLY, ALIGN=1
LCD_Index2Color_M555 PROC
;;;60 */
;;;61 LCD_COLOR LCD_Index2Color_M555(int Index) {
000000 f000021f AND r2,r0,#0x1f
;;;62 unsigned int r,g,b;
;;;63 /* Seperate the color masks */
;;;64 b = Index & B_MASK;
;;;65 g = (Index >> B_BITS) & G_MASK;
000004 f3c01144 UBFX r1,r0,#5,#5
;;;66 r = ((unsigned)Index >> (B_BITS + G_BITS)) & R_MASK;
000008 f3c02084 UBFX r0,r0,#10,#5
;;;67 /* Convert the color masks */
;;;68 r = r * 255 / R_MASK;
00000c ebc02300 RSB r3,r0,r0,LSL #8
000010 201f MOVS r0,#0x1f
;;;69 g = g * 255 / G_MASK;
000012 ebc12101 RSB r1,r1,r1,LSL #8
000016 fbb3f3f0 UDIV r3,r3,r0 ;68
00001a fbb1f1f0 UDIV r1,r1,r0
;;;70 b = b * 255 / B_MASK;
00001e ebc22202 RSB r2,r2,r2,LSL #8
000022 fbb2f0f0 UDIV r0,r2,r0
;;;71 return r + (g<<8) + (((U32)b)<<16);
000026 eb032101 ADD r1,r3,r1,LSL #8
00002a eb014000 ADD r0,r1,r0,LSL #16
;;;72 }
00002e 4770 BX lr
;;;73
ENDP
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -