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

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

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

                  LCD_Color2Index_222 PROC
;;;31     */
;;;32     unsigned LCD_Color2Index_222(LCD_COLOR Color) {
000000  2155              MOVS     r1,#0x55
;;;33       int r,g,b;
;;;34       r = ((Color&255)      +0x2a)/0x55;
000002  b2c2              UXTB     r2,r0
;;;35       g = (((Color>>8)&255) +0x2a)/0x55;
000004  f3c02307          UBFX     r3,r0,#8,#8
000008  322a              ADDS     r2,r2,#0x2a           ;34
00000a  332a              ADDS     r3,r3,#0x2a
;;;36       b = (((Color>>16)&255)+0x2a)/0x55;
00000c  f3c04007          UBFX     r0,r0,#16,#8
000010  302a              ADDS     r0,r0,#0x2a
000012  fbb2f2f1          UDIV     r2,r2,r1              ;34
000016  fbb3f3f1          UDIV     r3,r3,r1              ;35
00001a  fbb0f0f1          UDIV     r0,r0,r1
;;;37       return r+(g<<2)+(b<<4);
00001e  eb020183          ADD      r1,r2,r3,LSL #2
000022  eb011000          ADD      r0,r1,r0,LSL #4
;;;38     }
000026  4770              BX       lr
;;;39     
                          ENDP


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

                  LCD_Color2Index_M222 PROC
;;;69     */
;;;70     unsigned LCD_Color2Index_M222(LCD_COLOR Color) {
000000  2155              MOVS     r1,#0x55
;;;71       int r,g,b;
;;;72       r = ((Color&255)      +0x2a)/0x55;
000002  b2c2              UXTB     r2,r0
;;;73       g = (((Color>>8)&255) +0x2a)/0x55;
000004  f3c02307          UBFX     r3,r0,#8,#8
000008  322a              ADDS     r2,r2,#0x2a           ;72
00000a  332a              ADDS     r3,r3,#0x2a
;;;74       b = (((Color>>16)&255)+0x2a)/0x55;
00000c  f3c04007          UBFX     r0,r0,#16,#8
000010  302a              ADDS     r0,r0,#0x2a
000012  fbb3f3f1          UDIV     r3,r3,r1              ;73
000016  fbb0f0f1          UDIV     r0,r0,r1
00001a  fbb2f2f1          UDIV     r2,r2,r1              ;72
;;;75       return b+(g<<2)+(r<<4);
00001e  eb000083          ADD      r0,r0,r3,LSL #2
000022  eb001002          ADD      r0,r0,r2,LSL #4
;;;76     }
000026  4770              BX       lr
;;;77     
                          ENDP


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

                  LCD_GetIndexMask_222 PROC
;;;55     */
;;;56     unsigned LCD_GetIndexMask_222(void) {
000000  203f              MOVS     r0,#0x3f
;;;57       return 0x0003f;
;;;58     }
000002  4770              BX       lr
;;;59     
                          ENDP


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

                  LCD_GetIndexMask_M222 PROC
;;;93     */
;;;94     unsigned LCD_GetIndexMask_M222(void) {
000000  203f              MOVS     r0,#0x3f
;;;95       return 0x003f;
;;;96     }
000002  4770              BX       lr
;;;97     
                          ENDP


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

                  LCD_Index2Color_222 PROC
;;;43     */
;;;44     LCD_COLOR LCD_Index2Color_222(int Index) {
000000  f0000103          AND      r1,r0,#3
;;;45       U16P r,g,b;
;;;46       r = ((Index>>0)&3)*0x55;
000004  eb011101          ADD      r1,r1,r1,LSL #4
000008  eb010281          ADD      r2,r1,r1,LSL #2
;;;47       g = ((Index>>2)&3)*0x55;
00000c  f3c00181          UBFX     r1,r0,#2,#2
;;;48       b = (Index>>4)    *0x55;
000010  1100              ASRS     r0,r0,#4
000012  eb001000          ADD      r0,r0,r0,LSL #4
000016  eb011101          ADD      r1,r1,r1,LSL #4       ;47
00001a  eb000080          ADD      r0,r0,r0,LSL #2
00001e  eb010181          ADD      r1,r1,r1,LSL #2       ;47
;;;49       return (((U32)b)<<16)|(g<<8)|r;
000022  0400              LSLS     r0,r0,#16
000024  ea402001          ORR      r0,r0,r1,LSL #8
000028  4310              ORRS     r0,r0,r2
;;;50     }
00002a  4770              BX       lr
;;;51     
                          ENDP


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

                  LCD_Index2Color_M222 PROC
;;;81     */
;;;82     LCD_COLOR LCD_Index2Color_M222(int Index) {
000000  f0000103          AND      r1,r0,#3
;;;83       U16P r,g,b;
;;;84       r = ((Index>>0)&3)*0x55;
000004  eb011101          ADD      r1,r1,r1,LSL #4
000008  eb010281          ADD      r2,r1,r1,LSL #2
;;;85       g = ((Index>>2)&3)*0x55;
00000c  f3c00181          UBFX     r1,r0,#2,#2
;;;86       b = (Index>>4)    *0x55;
000010  1100              ASRS     r0,r0,#4
000012  eb001000          ADD      r0,r0,r0,LSL #4
000016  eb000080          ADD      r0,r0,r0,LSL #2
00001a  eb011101          ADD      r1,r1,r1,LSL #4       ;85
00001e  b283              UXTH     r3,r0
000020  eb010181          ADD      r1,r1,r1,LSL #2       ;85
;;;87       return (((U32)r)<<16)|(g<<8)|b;
000024  0410              LSLS     r0,r2,#16
000026  ea402001          ORR      r0,r0,r1,LSL #8
00002a  4318              ORRS     r0,r0,r3
;;;88     }
00002c  4770              BX       lr
;;;89     
                          ENDP

⌨️ 快捷键说明

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