⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 lcdp0.txt

📁 STM32F103ZET6+UCOSII+UCGUI源码
💻 TXT
字号:
; generated by ARM C/C++ Compiler with , RVCT4.0 [Build 524] for uVision
; commandline ArmCC [--split_sections --debug -c --asm --interleave -o.\Obj\lcdp0.o --depend=.\Obj\lcdp0.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\ConvertMono\LCDP0.c]
                          THUMB

                          AREA ||i.LCD_Color2Index_0||, CODE, READONLY, ALIGN=2

                  LCD_Color2Index_0 PROC
;;;32     */
;;;33     unsigned LCD_Color2Index_0(LCD_COLOR Color, const LCD_PHYSPALETTE* pPhysPal) {
000000  e92d47f0          PUSH     {r4-r10,lr}
;;;34       int i;
;;;35       int NumEntries = pPhysPal->NumEntries;
;;;36       int BestIndex = 0;
;;;37       U32 BestDiff = 0xffffff; /* Initialize to worst match */
;;;38       const LCD_COLOR* pPalEntry;
;;;39     /* Try to find perfect match */
;;;40       i=0; pPalEntry = &pPhysPal->pPalEntries[0];
000004  e9d16100          LDRD     r6,r1,[r1,#0]
000008  4681              MOV      r9,r0                 ;33
00000a  f04f0800          MOV      r8,#0                 ;36
00000e  f06f457f          MVN      r5,#0xff000000        ;37
000012  4640              MOV      r0,r8
000014  ea4f0701          MOV.W    r7,r1
                  |L1.24|
;;;41       do {
;;;42     	  if (Color==*(pPalEntry+i))
000018  f8512020          LDR      r2,[r1,r0,LSL #2]
00001c  454a              CMP      r2,r9
00001e  d010              BEQ      |L1.66|
;;;43     	    return i;
;;;44       } while (++i<NumEntries);
000020  1c40              ADDS     r0,r0,#1
000022  42b0              CMP      r0,r6
000024  dbf8              BLT      |L1.24|
;;;45     /* Find best match */
;;;46       i=0; pPalEntry = &pPhysPal->pPalEntries[0];
000026  2400              MOVS     r4,#0
                  |L1.40|
;;;47       do {
;;;48         U32 Diff = GUI_CalcColorDist (Color, *(pPalEntry+i));
000028  f8571024          LDR      r1,[r7,r4,LSL #2]
00002c  4648              MOV      r0,r9
00002e  f7fffffe          BL       GUI_CalcColorDist
;;;49         if (Diff < BestDiff) {
000032  42a8              CMP      r0,r5
000034  d201              BCS      |L1.58|
;;;50           BestDiff  = Diff;
000036  4605              MOV      r5,r0
;;;51           BestIndex = i;
000038  46a0              MOV      r8,r4
                  |L1.58|
;;;52         }
;;;53       } while (++i<NumEntries);
00003a  1c64              ADDS     r4,r4,#1
00003c  42b4              CMP      r4,r6
00003e  dbf3              BLT      |L1.40|
;;;54       return BestIndex;
000040  4640              MOV      r0,r8
                  |L1.66|
;;;55     }
000042  e8bd87f0          POP      {r4-r10,pc}
;;;56     
                          ENDP


                          AREA ||i.LCD_GetIndexMask_0||, CODE, READONLY, ALIGN=1

                  LCD_GetIndexMask_0 PROC
;;;71     */
;;;72     unsigned LCD_GetIndexMask_0(void) {
000000  f64f70ff          MOV      r0,#0xffff
;;;73       return ((1 << LCD_BITSPERPIXEL) - 1);
;;;74     }
000004  4770              BX       lr
;;;75     
                          ENDP


                          AREA ||i.LCD_Index2Color_0||, CODE, READONLY, ALIGN=1

                  LCD_Index2Color_0 PROC
;;;60     */
;;;61     LCD_COLOR LCD_Index2Color_0(int Index, const LCD_PHYSPALETTE* pPhysPal) {
000000  680a              LDR      r2,[r1,#0]
;;;62       if ((unsigned)Index >= (unsigned) pPhysPal->NumEntries) {
000002  4282              CMP      r2,r0
000004  d801              BHI      |L3.10|
;;;63         return 0;     /* Illegal index */
000006  2000              MOVS     r0,#0
;;;64       }
;;;65       return *(pPhysPal->pPalEntries+Index);
;;;66     }
000008  4770              BX       lr
                  |L3.10|
00000a  6849              LDR      r1,[r1,#4]            ;65
00000c  f8510020          LDR      r0,[r1,r0,LSL #2]     ;65
000010  4770              BX       lr
;;;67     
                          ENDP

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -