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

📄 lcdp8666_1.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\lcdp8666_1.o --depend=.\Obj\lcdp8666_1.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\LCDP8666_1.c]
                          THUMB

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

                  LCD_Color2Index_8666_1 PROC
;;;31     */
;;;32     unsigned LCD_Color2Index_8666_1(LCD_COLOR Color) {
000000  b2c1              UXTB     r1,r0
;;;33       int r, g, b, Index;
;;;34       r = Color & 255;
;;;35       g = (Color >> 8) & 255;
000002  f3c02207          UBFX     r2,r0,#8,#8
000006  b510              PUSH     {r4,lr}               ;32
;;;36       b = Color >> 16;
000008  0c00              LSRS     r0,r0,#16
;;;37     /* Check if image is a gray scale ... */
;;;38     	if ((r == g) && (g == b)) {
00000a  4291              CMP      r1,r2
00000c  d107              BNE      |L1.30|
00000e  4282              CMP      r2,r0
000010  d105              BNE      |L1.30|
;;;39         return 120 + (r + 8) / 17;  /* Convert into colors from 120 - 135 */
000012  3108              ADDS     r1,r1,#8
000014  2011              MOVS     r0,#0x11
000016  fb91f0f0          SDIV     r0,r1,r0
00001a  3078              ADDS     r0,r0,#0x78
                  |L1.28|
;;;40     	}
;;;41     /* Convert into the 6*6*6 colors ... */
;;;42       r = (r * 5 + 127) / 255;
;;;43       g = (g * 5 + 127) / 255;
;;;44       b = (b * 5 + 127) / 255;
;;;45       Index = r + 6 * g + 36 * b;
;;;46       return (Index < 108) ? Index + 12 : Index + 28;
;;;47     }
00001c  bd10              POP      {r4,pc}
                  |L1.30|
00001e  23ff              MOVS     r3,#0xff              ;42
000020  eb010181          ADD      r1,r1,r1,LSL #2       ;42
000024  317f              ADDS     r1,r1,#0x7f           ;42
000026  fb91f4f3          SDIV     r4,r1,r3              ;42
00002a  eb020182          ADD      r1,r2,r2,LSL #2       ;43
00002e  317f              ADDS     r1,r1,#0x7f           ;43
000030  eb000080          ADD      r0,r0,r0,LSL #2       ;44
000034  fb91f1f3          SDIV     r1,r1,r3              ;43
000038  307f              ADDS     r0,r0,#0x7f           ;44
00003a  fb90f0f3          SDIV     r0,r0,r3              ;44
00003e  eb010141          ADD      r1,r1,r1,LSL #1       ;45
000042  eb040141          ADD      r1,r4,r1,LSL #1       ;45
000046  eb0000c0          ADD      r0,r0,r0,LSL #3       ;45
00004a  eb010180          ADD      r1,r1,r0,LSL #2       ;45
00004e  f101000c          ADD      r0,r1,#0xc            ;46
000052  296c              CMP      r1,#0x6c              ;46
000054  dbe2              BLT      |L1.28|
000056  3010              ADDS     r0,r0,#0x10           ;46
000058  bd10              POP      {r4,pc}
;;;48     
                          ENDP


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

                  LCD_GetIndexMask_8666_1 PROC
;;;77     */
;;;78     unsigned LCD_GetIndexMask_8666_1(void) {
000000  20ff              MOVS     r0,#0xff
;;;79       return 0xff;
;;;80     }
000002  4770              BX       lr
;;;81     
                          ENDP


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

                  LCD_Index2Color_8666_1 PROC
;;;52     */
;;;53     LCD_COLOR LCD_Index2Color_8666_1(int Index) {
000000  b510              PUSH     {r4,lr}
;;;54       unsigned int r,g;
;;;55       U32 b;
;;;56       /* 16 Gray scale range ? */
;;;57       if ((Index >= 120) && (Index < 136)) {
000002  f1a00178          SUB      r1,r0,#0x78
000006  2910              CMP      r1,#0x10
000008  d206              BCS      |L3.24|
;;;58         return (U32)0x111111 * (U32)(Index - 120);
00000a  eb011001          ADD      r0,r1,r1,LSL #4
00000e  eb002001          ADD      r0,r0,r1,LSL #8
000012  eb003000          ADD      r0,r0,r0,LSL #12
;;;59     	}
;;;60       if ((Index < 12) || (Index > 243)) {
;;;61         return 0;  /* Black for illegal indices */
;;;62       }
;;;63       if (Index >= 120) {
;;;64         Index -= 28;
;;;65       } else {
;;;66         Index -= 12;
;;;67       }
;;;68       r = (Index % 6) * (255 / 5);
;;;69       g = ((Index / 6) % 6) * (255 / 5);
;;;70       b = (Index / 36) * (255 / 5);
;;;71       return r + (g << 8) + ((U32)b << 16);
;;;72     }
000016  bd10              POP      {r4,pc}
                  |L3.24|
000018  f1a0010c          SUB      r1,r0,#0xc            ;60
00001c  29e8              CMP      r1,#0xe8              ;60
00001e  d301              BCC      |L3.36|
000020  2000              MOVS     r0,#0                 ;61
000022  bd10              POP      {r4,pc}
                  |L3.36|
000024  2878              CMP      r0,#0x78              ;63
000026  db01              BLT      |L3.44|
000028  381c              SUBS     r0,r0,#0x1c           ;64
00002a  e000              B        |L3.46|
                  |L3.44|
00002c  4608              MOV      r0,r1                 ;64
                  |L3.46|
00002e  2206              MOVS     r2,#6                 ;68
000030  fb90f1f2          SDIV     r1,r0,r2              ;68
000034  fb91f4f2          SDIV     r4,r1,r2              ;69
000038  fb020311          MLS      r3,r2,r1,r0           ;68
00003c  fb021114          MLS      r1,r2,r4,r1           ;69
000040  2224              MOVS     r2,#0x24              ;70
000042  fb90f0f2          SDIV     r0,r0,r2              ;70
000046  eb031303          ADD      r3,r3,r3,LSL #4       ;68
00004a  eb011101          ADD      r1,r1,r1,LSL #4       ;69
00004e  eb030343          ADD      r3,r3,r3,LSL #1       ;68
000052  eb010141          ADD      r1,r1,r1,LSL #1       ;69
000056  eb001000          ADD      r0,r0,r0,LSL #4       ;70
00005a  eb000040          ADD      r0,r0,r0,LSL #1       ;70
00005e  eb032101          ADD      r1,r3,r1,LSL #8       ;71
000062  eb014000          ADD      r0,r1,r0,LSL #16      ;71
000066  bd10              POP      {r4,pc}
;;;73     
                          ENDP

⌨️ 快捷键说明

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