📄 gui_calccolordist.txt
字号:
; generated by ARM C/C++ Compiler with , RVCT4.0 [Build 524] for uVision
; commandline ArmCC [--split_sections --debug -c --asm --interleave -o.\Obj\gui_calccolordist.o --depend=.\Obj\gui_calccolordist.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\GUI_CalcColorDist.c]
THUMB
AREA ||i.GUI_CalcColorDist||, CODE, READONLY, ALIGN=1
GUI_CalcColorDist PROC
;;;62 */
;;;63 U32 GUI_CalcColorDist (LCD_COLOR PalColor, LCD_COLOR Color) {
000000 b510 PUSH {r4,lr}
;;;64 /* This routine does not use abs() because we are optimizing for speed ! */
;;;65 I16 Dist;
;;;66 U32 Sum;
;;;67 Dist = (PalColor&0xff) - (Color&0xff);
000002 b2c2 UXTB r2,r0
000004 b2cb UXTB r3,r1
000006 1ad2 SUBS r2,r2,r3
;;;68 if (Dist < 0)
000008 d501 BPL |L1.14|
;;;69 Dist = -Dist;
00000a 4252 RSBS r2,r2,#0
00000c b212 SXTH r2,r2
|L1.14|
;;;70 Sum = SQUARE(Dist);
00000e b293 UXTH r3,r2
000010 435b MULS r3,r3,r3
;;;71 Dist = ((PalColor>>8)&0xff) - ((Color>>8)&0xff);
000012 f3c02207 UBFX r2,r0,#8,#8
000016 f3c12407 UBFX r4,r1,#8,#8
00001a 1b12 SUBS r2,r2,r4
;;;72 if (Dist < 0)
00001c d501 BPL |L1.34|
;;;73 Dist = -Dist;
00001e 4252 RSBS r2,r2,#0
000020 b212 SXTH r2,r2
|L1.34|
;;;74 Sum += SQUARE(Dist);
;;;75 Dist = (PalColor>>16) - (Color>>16);
000022 0c00 LSRS r0,r0,#16
000024 b292 UXTH r2,r2 ;74
000026 eba04011 SUB r0,r0,r1,LSR #16
00002a fb023202 MLA r2,r2,r2,r3 ;74
00002e b200 SXTH r0,r0
;;;76 if (Dist < 0)
000030 2800 CMP r0,#0
000032 da01 BGE |L1.56|
;;;77 Dist = -Dist;
000034 4240 RSBS r0,r0,#0
000036 b200 SXTH r0,r0
|L1.56|
;;;78 return Sum + SQUARE(Dist);
000038 b280 UXTH r0,r0
00003a fb002000 MLA r0,r0,r0,r2
;;;79 }
00003e bd10 POP {r4,pc}
;;;80
ENDP
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -