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

📄 lcddummy.txt

📁 STM32F103ZET6+UCOSII+UCGUI源码
💻 TXT
📖 第 1 页 / 共 4 页
字号:
;;;133                     x++;
;;;134    			     if(++Diff== 8)
;;;135                       {
;;;136                         Diff = 0;
;;;137    				     p++;
;;;138    			       }
;;;139    		        }while(--xsize);
;;;140                  break;
;;;141          case LCD_DRAWMODE_XOR:
;;;142                 do {
;;;143      		          if(*p&(0x80>>Diff))
;;;144                        {
;;;145                          int Pixel=LCD_L0_GetPixelIndex(x, y);
;;;146                          LCD_L0_SetPixelIndex(x, y,LCD_NUM_COLORS-1-Pixel);
;;;147                        }
;;;148                      x++;
;;;149    			      if(++Diff == 8)
;;;150                         {
;;;151                          Diff = 0;
;;;152                          p++;
;;;153    			         }
;;;154    		         }while(--xsize);
;;;155                  break;
;;;156    	   }
;;;157    }
000058  e8bd9ff0          POP      {r4-r12,pc}
                  |L14.92|
00005c  7828              LDRB     r0,[r5,#0]            ;131
00005e  fa28f104          LSR      r1,r8,r4              ;131
000062  4208              TST      r0,r1                 ;131
000064  d004              BEQ      |L14.112|
000066  464a              MOV      r2,r9                 ;132
000068  4659              MOV      r1,r11                ;132
00006a  4630              MOV      r0,r6                 ;132
00006c  f7fffffe          BL       LCD_L0_SetPixelIndex
                  |L14.112|
000070  1c76              ADDS     r6,r6,#1              ;133
000072  1c64              ADDS     r4,r4,#1              ;134
000074  2c08              CMP      r4,#8                 ;134
000076  d101              BNE      |L14.124|
000078  2400              MOVS     r4,#0                 ;136
00007a  1c6d              ADDS     r5,r5,#1              ;137
                  |L14.124|
00007c  1e7f              SUBS     r7,r7,#1              ;139
00007e  d1ed              BNE      |L14.92|
000080  e7ea              B        |L14.88|
                  |L14.130|
000082  4688              MOV      r8,r1                 ;121
000084  f64f79ff          MOV      r9,#0xffff            ;146
                  |L14.136|
000088  7828              LDRB     r0,[r5,#0]            ;143
00008a  fa28f104          LSR      r1,r8,r4              ;143
00008e  4208              TST      r0,r1                 ;143
000090  d009              BEQ      |L14.166|
000092  4659              MOV      r1,r11                ;145
000094  4630              MOV      r0,r6                 ;145
000096  f7fffffe          BL       LCD_L0_GetPixelIndex
00009a  eba90200          SUB      r2,r9,r0              ;146
00009e  4659              MOV      r1,r11                ;146
0000a0  4630              MOV      r0,r6                 ;146
0000a2  f7fffffe          BL       LCD_L0_SetPixelIndex
                  |L14.166|
0000a6  1c76              ADDS     r6,r6,#1              ;148
0000a8  1c64              ADDS     r4,r4,#1              ;149
0000aa  2c08              CMP      r4,#8                 ;149
0000ac  d101              BNE      |L14.178|
0000ae  2400              MOVS     r4,#0                 ;151
0000b0  1c6d              ADDS     r5,r5,#1              ;152
                  |L14.178|
0000b2  1e7f              SUBS     r7,r7,#1              ;154
0000b4  d1e8              BNE      |L14.136|
0000b6  e7cf              B        |L14.88|
;;;158    
                          ENDP

                  |L14.184|
                          DCD      GUI_Context

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

                  _DrawBitLine2BPP PROC
;;;163    #if (LCD_MAX_LOG_COLORS > 2)
;;;164    static void  _DrawBitLine2BPP(int x,int y,U8 const GUI_UNI_PTR * p,int Diff,int xsize,const LCD_PIXELINDEX *pTrans)
000000  e92d5ff0          PUSH     {r4-r12,lr}
;;;165    {
;;;166      LCD_PIXELINDEX Pixels = *p;
;;;167      int CurrentPixel = Diff;
;;;168      x += Diff;
000004  18c5              ADDS     r5,r0,r3
;;;169      switch(GUI_Context.DrawMode&(LCD_DRAWMODE_TRANS|LCD_DRAWMODE_XOR))
000006  4844              LDR      r0,|L15.280|
000008  7817              LDRB     r7,[r2,#0]            ;166
00000a  7b00              LDRB     r0,[r0,#0xc]  ; GUI_Context
00000c  468b              MOV      r11,r1                ;165
00000e  e9dd890a          LDRD     r8,r9,[sp,#0x28]
;;;170          {
;;;171           case 0:
;;;172                   if(pTrans)
;;;173                     {
;;;174                       do{
;;;175                           int Shift =(3-CurrentPixel)<<1;
;;;176                           int Index = (Pixels & (0xC0 >> (6 - Shift))) >> Shift;
000012  21c0              MOVS     r1,#0xc0
000014  4616              MOV      r6,r2                 ;165
000016  461c              MOV      r4,r3                 ;167
000018  f0100003          ANDS     r0,r0,#3              ;169
00001c  d006              BEQ      |L15.44|
00001e  2802              CMP      r0,#2                 ;169
000020  d123              BNE      |L15.106|
;;;177                           LCD_PIXELINDEX PixelIndex = *(pTrans + Index);
;;;178                           LCD_L0_SetPixelIndex(x++, y, PixelIndex);
;;;179                           if(++CurrentPixel == 4)
;;;180                             {
;;;181                               CurrentPixel = 0;
;;;182                               Pixels = *(++p);
;;;183                             }
;;;184    		              }while(--xsize);
;;;185                      }
;;;186                    else
;;;187                      {
;;;188                        do {
;;;189                             int Shift = (3 - CurrentPixel) << 1;
;;;190                             int Index = (Pixels & (0xC0 >> (6 - Shift))) >> Shift;
;;;191                             LCD_L0_SetPixelIndex(x++, y, Index);
;;;192                             if(++CurrentPixel == 4)
;;;193                               {
;;;194                                 CurrentPixel = 0;
;;;195                                 Pixels = *(++p);
;;;196                               }
;;;197    		                } while (--xsize);
;;;198                      }
;;;199                    break;
;;;200            case LCD_DRAWMODE_TRANS:
;;;201                    if(pTrans)
000022  f1b90f00          CMP      r9,#0
000026  d05a              BEQ      |L15.222|
000028  468a              MOV      r10,r1                ;176
;;;202                       {
;;;203                         do{
00002a  e03b              B        |L15.164|
                  |L15.44|
00002c  f1b90f00          CMP      r9,#0                 ;172
000030  d01d              BEQ      |L15.110|
000032  468a              MOV      r10,r1                ;176
                  |L15.52|
000034  f1c40003          RSB      r0,r4,#3              ;175
000038  0040              LSLS     r0,r0,#1              ;175
00003a  f1c00206          RSB      r2,r0,#6              ;176
00003e  fa2af102          LSR      r1,r10,r2             ;176
000042  4039              ANDS     r1,r1,r7              ;176
000044  40c1              LSRS     r1,r1,r0              ;176
000046  f8392011          LDRH     r2,[r9,r1,LSL #1]     ;177
00004a  4628              MOV      r0,r5                 ;178
00004c  1c6d              ADDS     r5,r5,#1              ;178
00004e  4659              MOV      r1,r11                ;178
000050  f7fffffe          BL       LCD_L0_SetPixelIndex
000054  1c64              ADDS     r4,r4,#1              ;179
000056  2c04              CMP      r4,#4                 ;179
000058  d102              BNE      |L15.96|
00005a  f8167f01          LDRB     r7,[r6,#1]!           ;182
00005e  2400              MOVS     r4,#0                 ;181
                  |L15.96|
000060  f1a80001          SUB      r0,r8,#1              ;184
000064  ea5f0800          MOVS     r8,r0                 ;184
000068  d1e4              BNE      |L15.52|
                  |L15.106|
;;;204                              int Shift = (3-CurrentPixel)<<1;
;;;205                              int Index = (Pixels&(0xC0 >>(6-Shift)))>>Shift;
;;;206                              if(Index)
;;;207                                {
;;;208                                  LCD_PIXELINDEX PixelIndex = *(pTrans+Index);
;;;209                                  LCD_L0_SetPixelIndex(x,y,PixelIndex);
;;;210                                }
;;;211                              x++;
;;;212                              if(++CurrentPixel==4)
;;;213                                {
;;;214                                  CurrentPixel = 0;
;;;215                                  Pixels = *(++p);
;;;216                                }
;;;217    		                }while(--xsize);
;;;218                        }
;;;219                     else
;;;220                        {
;;;221                         do {
;;;222                              int Shift =(3-CurrentPixel)<<1;
;;;223                              int Index =(Pixels&(0xC0>>(6-Shift)))>>Shift;
;;;224                              if (Index)
;;;225                                 {
;;;226                                   LCD_L0_SetPixelIndex(x,y,Index);
;;;227                                 }
;;;228                              x++;
;;;229                              if(++CurrentPixel==4)
;;;230                                {
;;;231                                  CurrentPixel = 0;
;;;232                                  Pixels = *(++p);
;;;233                                }
;;;234    		                 }while(--xsize);
;;;235                         }
;;;236                      break;
;;;237          }
;;;238    }
00006a  e8bd9ff0          POP      {r4-r12,pc}
                  |L15.110|
00006e  4689              MOV      r9,r1                 ;176
                  |L15.112|
000070  f1c40003          RSB      r0,r4,#3              ;189
000074  0040              LSLS     r0,r0,#1              ;189
000076  f1c00106          RSB      r1,r0,#6              ;190
00007a  fa29f201          LSR      r2,r9,r1              ;190
00007e  403a              ANDS     r2,r2,r7              ;190
000080  40c2              LSRS     r2,r2,r0              ;190
000082  4628              MOV      r0,r5                 ;191
000084  1c6d              ADDS     r5,r5,#1              ;191
000086  4659              MOV      r1,r11                ;191
000088  f7fffffe          BL       LCD_L0_SetPixelIndex
00008c  1c64              ADDS     r4,r4,#1              ;192
00008e  2c04              CMP      r4,#4                 ;192
000090  d102              BNE      |L15.152|
000092  f8167f01          LDRB     r7,[r6,#1]!           ;195
000096  2400              MOVS     r4,#0                 ;194
                  |L15.152|
000098  f1a80001          SUB      r0,r8,#1              ;197
00009c  ea5f0800          MOVS     r8,r0                 ;197
0000a0  d1e6              BNE      |L15.112|
0000a2  e7e2              B        |L15.106|
                  |L15.164|
0000a4  f1c40003          RSB      r0,r4,#3              ;204
0000a8  0040              LSLS     r0,r0,#1              ;204
0000aa  f1c00206          RSB      r2,r0,#6              ;205
0000ae  fa2af102          LSR      r1,r10,r2             ;205
0000b2  4039              ANDS     r1,r1,r7              ;205
0000b4  40c1              LSRS     r1,r1,r0              ;205
0000b6  d005              BEQ      |L15.196|
0000b8  f8392011          LDRH     r2,[r9,r1,LSL #1]     ;208
0000bc  4659              MOV      r1,r11                ;209
0000be  4628              MOV      r0,r5                 ;209
0000c0  f7fffffe          BL       LCD_L0_SetPixelIndex
                  |L15.196|
0000c4  1c6d              ADDS     r5,r5,#1              ;211
0000c6  1c64              ADDS     r4,r4,#1              ;212
0000c8  2c04              CMP      r4,#4                 ;212
0000ca  d102              BNE      |L15.210|
0000cc  f8167f01          LDRB     r7,[r6,#1]!           ;215
0000d0  2400              MOVS     r4,#0                 ;214
                  |L15.210|
0000d2  f1a80001          SUB      r0,r8,#1              ;217
0000d6  ea5f0800          MOVS     r8,r0                 ;217
0000da  d1e3              BNE      |L15.164|
0000dc  e7c5              B        |L15.106|
                  |L15.222|
0000de  4689              MOV      r9,r1                 ;176
                  |L15.224|
0000e0  f1c40003          RSB      r0,r4,#3              ;222
0000e4  0040              LSLS     r0,r0,#1              ;222
0000e6  f1c00106          RSB      r1,r0,#6              ;223
0000ea  fa29f201          LSR      r2,r9,r1              ;223
0000ee  403a              ANDS     r2,r2,r7              ;223
0000f0  40c2              LSRS     r2,r2,r0              ;223
0000f2  d003              BEQ      |L15.252|
0000f4  4659              MOV      r1,r11                ;226
0000f6  4628              MOV      r0,r5                 ;226
0000f8  f7fffffe          BL       LCD_L0_SetPixelIndex
                  |L15.252|
0000fc  1c6d              ADDS     r5,r5,#1              ;228
0000fe  1c64              ADDS     r4,r4,#1              ;229
000100  2c04              CMP      r4,#4                 ;229
000102  d102              BNE      |L15.266|
000104  f8167f01          LDRB     r7,[r6,#1]!           ;232
000108  2400              MOVS     r4,#0                 ;231
                  |L15.266|
00010a  f1a80001          SUB      r0,r8,#1              ;234
00010e  ea5f0800          MOVS     r8,r0                 ;234
000112  d1e5              BNE      |L15.224|
000114  e7a9              B        |L15.106|
;;;239    #endif
                          ENDP

000116  0000              DCW      0x0000
                  |L15.280|
                          DCD      GUI_Context

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

                  _DrawBitLine4BPP PROC
;;;245    #if (LCD_MAX_LOG_COLORS > 4)
;;;246    static void  _DrawBitLine4BPP(int x,int y,U8 const GUI_UNI_PTR * p,int Diff,int xsize,const LCD_PIXELINDEX * pTrans)
000000  e92d5ff0          PUSH     {r4-r12,lr}
;;;247    {
;;;248      LCD_PIXELINDEX Pixels = *p;
;;;249      int CurrentPixel = Diff;
;;;250      x += Diff;
000004  18c5              ADDS     r5,r0,r3
;;;251      switch (GUI_Context.DrawMode & (LCD_DRAWMODE_TRANS | LCD_DRAWMODE_XOR))
000006  4844              LDR      r0,|L16.280|
000008  7817              LDRB     r7,[r2,#0]            ;248
00000a  7b00              LDRB     r0,[r0,#0xc]  ; GUI_Context
00000c  468b              MOV      r11,r1                ;247
00000e  e9dd890a          LDRD     r8,r9,[sp,#0x28]
;;;252         {
;;;253           case 0:
;;;254                  if(pTrans)
;;;255                    {

⌨️ 快捷键说明

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