📄 lcdp565_index2color.txt
字号:
; generated by ARM C/C++ Compiler with , RVCT4.0 [Build 524] for uVision
; commandline ArmCC [--split_sections --debug -c --asm --interleave -o.\Obj\lcdp565_index2color.o --depend=.\Obj\lcdp565_index2color.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\LCDP565_Index2Color.c]
THUMB
AREA ||i.LCD_Index2Color_565||, CODE, READONLY, ALIGN=1
LCD_Index2Color_565 PROC
;;;48 */
;;;49 LCD_COLOR LCD_Index2Color_565(int Index) {
000000 231f MOVS r3,#0x1f
;;;50 unsigned int r,g,b;
;;;51 /* Seperate the color masks */
;;;52 r = Index & R_MASK;
000002 f000021f AND r2,r0,#0x1f
;;;53 g = (Index >> R_BITS) & G_MASK;
000006 f3c01145 UBFX r1,r0,#5,#6
00000a b510 PUSH {r4,lr} ;49
;;;54 b = ((unsigned)Index >> (R_BITS + G_BITS)) & B_MASK;
00000c f3c020c4 UBFX r0,r0,#11,#5
;;;55 /* Convert the color masks */
;;;56 r = r * 255 / R_MASK;
000010 ebc22202 RSB r2,r2,r2,LSL #8
;;;57 g = g * 255 / G_MASK;
000014 ebc12101 RSB r1,r1,r1,LSL #8
000018 243f MOVS r4,#0x3f
00001a fbb2f2f3 UDIV r2,r2,r3 ;56
00001e fbb1f1f4 UDIV r1,r1,r4
;;;58 b = b * 255 / B_MASK;
000022 ebc02000 RSB r0,r0,r0,LSL #8
000026 fbb0f0f3 UDIV r0,r0,r3
;;;59 return r + (g<<8) + (((U32)b)<<16);
00002a eb022101 ADD r1,r2,r1,LSL #8
00002e eb014000 ADD r0,r1,r0,LSL #16
;;;60 }
000032 bd10 POP {r4,pc}
;;;61
ENDP
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -