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

📄 lcddummy.txt

📁 STM32F103ZET6+UCOSII+UCGUI源码
💻 TXT
📖 第 1 页 / 共 4 页
字号:
;;;256                      do {
;;;257                           int Shift = (1 - CurrentPixel) << 2;
;;;258                           int Index = (Pixels & (0xF0 >> (4 - Shift))) >> Shift;
000012  21f0              MOVS     r1,#0xf0
000014  4616              MOV      r6,r2                 ;247
000016  461c              MOV      r4,r3                 ;249
000018  f0100003          ANDS     r0,r0,#3              ;251
00001c  d006              BEQ      |L16.44|
00001e  2802              CMP      r0,#2                 ;251
000020  d123              BNE      |L16.106|
;;;259                           LCD_PIXELINDEX PixelIndex = *(pTrans + Index);
;;;260                           LCD_L0_SetPixelIndex(x++, y, PixelIndex);
;;;261                           if (++CurrentPixel == 2)
;;;262                             {
;;;263                               CurrentPixel = 0;
;;;264                               Pixels = *(++p);
;;;265                             }
;;;266    		             } while (--xsize);
;;;267                     }
;;;268                   else
;;;269                     {
;;;270                       do{
;;;271                            int Shift = (1 - CurrentPixel) << 2;
;;;272                            int Index = (Pixels & (0xF0 >> (4 - Shift))) >> Shift;
;;;273                            LCD_L0_SetPixelIndex(x++, y, Index);
;;;274                            if(++CurrentPixel == 2)
;;;275                               {
;;;276                                 CurrentPixel = 0;
;;;277                                 Pixels = *(++p);
;;;278                               }
;;;279    	                  } while (--xsize);
;;;280                     }
;;;281                   break;
;;;282        case LCD_DRAWMODE_TRANS:
;;;283                   if(pTrans)
000022  f1b90f00          CMP      r9,#0
000026  d05a              BEQ      |L16.222|
000028  468a              MOV      r10,r1                ;258
;;;284                      {
;;;285                        do {
00002a  e03b              B        |L16.164|
                  |L16.44|
00002c  f1b90f00          CMP      r9,#0                 ;254
000030  d01d              BEQ      |L16.110|
000032  468a              MOV      r10,r1                ;258
                  |L16.52|
000034  f1c40001          RSB      r0,r4,#1              ;257
000038  0080              LSLS     r0,r0,#2              ;257
00003a  f1c00204          RSB      r2,r0,#4              ;258
00003e  fa2af102          LSR      r1,r10,r2             ;258
000042  4039              ANDS     r1,r1,r7              ;258
000044  40c1              LSRS     r1,r1,r0              ;258
000046  f8392011          LDRH     r2,[r9,r1,LSL #1]     ;259
00004a  4628              MOV      r0,r5                 ;260
00004c  1c6d              ADDS     r5,r5,#1              ;260
00004e  4659              MOV      r1,r11                ;260
000050  f7fffffe          BL       LCD_L0_SetPixelIndex
000054  1c64              ADDS     r4,r4,#1              ;261
000056  2c02              CMP      r4,#2                 ;261
000058  d102              BNE      |L16.96|
00005a  f8167f01          LDRB     r7,[r6,#1]!           ;264
00005e  2400              MOVS     r4,#0                 ;263
                  |L16.96|
000060  f1a80001          SUB      r0,r8,#1              ;266
000064  ea5f0800          MOVS     r8,r0                 ;266
000068  d1e4              BNE      |L16.52|
                  |L16.106|
;;;286                             int Shift = (1 - CurrentPixel) << 2;
;;;287                             int Index = (Pixels & (0xF0 >> (4 - Shift))) >> Shift;
;;;288                             if(Index)
;;;289                                {
;;;290                                  LCD_PIXELINDEX PixelIndex = *(pTrans + Index);
;;;291                                  LCD_L0_SetPixelIndex(x, y, PixelIndex);
;;;292                                }
;;;293                             x++;
;;;294                             if(++CurrentPixel == 2)
;;;295                                {
;;;296                                  CurrentPixel = 0;
;;;297                                  Pixels = *(++p);
;;;298                                }
;;;299    		                }while(--xsize);
;;;300                        }
;;;301                     else
;;;302                        {
;;;303                          do {
;;;304                              int Shift = (1 - CurrentPixel) << 2;
;;;305                              int Index = (Pixels & (0xF0 >> (4 - Shift))) >> Shift;
;;;306                              if(Index)
;;;307                                {
;;;308                                  LCD_L0_SetPixelIndex(x, y,Index);
;;;309                                }
;;;310                              x++;
;;;311                              if (++CurrentPixel == 2)
;;;312                                 {
;;;313                                  CurrentPixel = 0;
;;;314                                  Pixels = *(++p);
;;;315                                 }
;;;316                              } while (--xsize);
;;;317                         }
;;;318                       break;
;;;319          }
;;;320    }
00006a  e8bd9ff0          POP      {r4-r12,pc}
                  |L16.110|
00006e  4689              MOV      r9,r1                 ;258
                  |L16.112|
000070  f1c40001          RSB      r0,r4,#1              ;271
000074  0080              LSLS     r0,r0,#2              ;271
000076  f1c00104          RSB      r1,r0,#4              ;272
00007a  fa29f201          LSR      r2,r9,r1              ;272
00007e  403a              ANDS     r2,r2,r7              ;272
000080  40c2              LSRS     r2,r2,r0              ;272
000082  4628              MOV      r0,r5                 ;273
000084  1c6d              ADDS     r5,r5,#1              ;273
000086  4659              MOV      r1,r11                ;273
000088  f7fffffe          BL       LCD_L0_SetPixelIndex
00008c  1c64              ADDS     r4,r4,#1              ;274
00008e  2c02              CMP      r4,#2                 ;274
000090  d102              BNE      |L16.152|
000092  f8167f01          LDRB     r7,[r6,#1]!           ;277
000096  2400              MOVS     r4,#0                 ;276
                  |L16.152|
000098  f1a80001          SUB      r0,r8,#1              ;279
00009c  ea5f0800          MOVS     r8,r0                 ;279
0000a0  d1e6              BNE      |L16.112|
0000a2  e7e2              B        |L16.106|
                  |L16.164|
0000a4  f1c40001          RSB      r0,r4,#1              ;286
0000a8  0080              LSLS     r0,r0,#2              ;286
0000aa  f1c00204          RSB      r2,r0,#4              ;287
0000ae  fa2af102          LSR      r1,r10,r2             ;287
0000b2  4039              ANDS     r1,r1,r7              ;287
0000b4  40c1              LSRS     r1,r1,r0              ;287
0000b6  d005              BEQ      |L16.196|
0000b8  f8392011          LDRH     r2,[r9,r1,LSL #1]     ;290
0000bc  4659              MOV      r1,r11                ;291
0000be  4628              MOV      r0,r5                 ;291
0000c0  f7fffffe          BL       LCD_L0_SetPixelIndex
                  |L16.196|
0000c4  1c6d              ADDS     r5,r5,#1              ;293
0000c6  1c64              ADDS     r4,r4,#1              ;294
0000c8  2c02              CMP      r4,#2                 ;294
0000ca  d102              BNE      |L16.210|
0000cc  f8167f01          LDRB     r7,[r6,#1]!           ;297
0000d0  2400              MOVS     r4,#0                 ;296
                  |L16.210|
0000d2  f1a80001          SUB      r0,r8,#1              ;299
0000d6  ea5f0800          MOVS     r8,r0                 ;299
0000da  d1e3              BNE      |L16.164|
0000dc  e7c5              B        |L16.106|
                  |L16.222|
0000de  4689              MOV      r9,r1                 ;258
                  |L16.224|
0000e0  f1c40001          RSB      r0,r4,#1              ;304
0000e4  0080              LSLS     r0,r0,#2              ;304
0000e6  f1c00104          RSB      r1,r0,#4              ;305
0000ea  fa29f201          LSR      r2,r9,r1              ;305
0000ee  403a              ANDS     r2,r2,r7              ;305
0000f0  40c2              LSRS     r2,r2,r0              ;305
0000f2  d003              BEQ      |L16.252|
0000f4  4659              MOV      r1,r11                ;308
0000f6  4628              MOV      r0,r5                 ;308
0000f8  f7fffffe          BL       LCD_L0_SetPixelIndex
                  |L16.252|
0000fc  1c6d              ADDS     r5,r5,#1              ;310
0000fe  1c64              ADDS     r4,r4,#1              ;311
000100  2c02              CMP      r4,#2                 ;311
000102  d102              BNE      |L16.266|
000104  f8167f01          LDRB     r7,[r6,#1]!           ;314
000108  2400              MOVS     r4,#0                 ;313
                  |L16.266|
00010a  f1a80001          SUB      r0,r8,#1              ;316
00010e  ea5f0800          MOVS     r8,r0                 ;316
000112  d1e5              BNE      |L16.224|
000114  e7a9              B        |L16.106|
;;;321    #endif
                          ENDP

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

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

                  _DrawBitLine8BPP PROC
;;;327    #if (LCD_MAX_LOG_COLORS > 16)
;;;328    static void  _DrawBitLine8BPP(int x,int y,U8 const GUI_UNI_PTR * p,int xsize,const LCD_PIXELINDEX * pTrans) {
000000  e92d41f0          PUSH     {r4-r8,lr}
000004  4606              MOV      r6,r0
;;;329      LCD_PIXELINDEX Pixel;
;;;330      switch (GUI_Context.DrawMode & (LCD_DRAWMODE_TRANS | LCD_DRAWMODE_XOR)) {
000006  4821              LDR      r0,|L17.140|
000008  9f06              LDR      r7,[sp,#0x18]
00000a  7b00              LDRB     r0,[r0,#0xc]  ; GUI_Context
00000c  4688              MOV      r8,r1                 ;328
00000e  4614              MOV      r4,r2                 ;328
000010  461d              MOV      r5,r3                 ;328
000012  f0100003          ANDS     r0,r0,#3
000016  d003              BEQ      |L17.32|
000018  2802              CMP      r0,#2
00001a  d10f              BNE      |L17.60|
;;;331        case 0:
;;;332          if (pTrans) {
;;;333            for (; xsize > 0; xsize--, x++, p++) {
;;;334              Pixel = *p;
;;;335              LCD_L0_SetPixelIndex(x, y, *(pTrans + Pixel));
;;;336            }
;;;337          } else {
;;;338            for (; xsize > 0; xsize--, x++, p++) {
;;;339              LCD_L0_SetPixelIndex(x, y, *p);
;;;340            }
;;;341          }
;;;342          break;
;;;343        case LCD_DRAWMODE_TRANS:
;;;344          if (pTrans) {
00001c  b397              CBZ      r7,|L17.132|
00001e  e025              B        |L17.108|
                  |L17.32|
000020  b1b7              CBZ      r7,|L17.80|
000022  e009              B        |L17.56|
                  |L17.36|
000024  7820              LDRB     r0,[r4,#0]            ;334
000026  4641              MOV      r1,r8                 ;335
000028  f8372010          LDRH     r2,[r7,r0,LSL #1]     ;335
00002c  4630              MOV      r0,r6                 ;335
00002e  f7fffffe          BL       LCD_L0_SetPixelIndex
000032  1e6d              SUBS     r5,r5,#1              ;333
000034  1c76              ADDS     r6,r6,#1              ;333
000036  1c64              ADDS     r4,r4,#1              ;333
                  |L17.56|
000038  2d00              CMP      r5,#0                 ;333
00003a  dcf3              BGT      |L17.36|
                  |L17.60|
;;;345            for (; xsize > 0; xsize--, x++, p++) {
;;;346              Pixel = *p;
;;;347              if (Pixel) {
;;;348                LCD_L0_SetPixelIndex(x, y, *(pTrans + Pixel));
;;;349              }
;;;350            }
;;;351          } else {
;;;352            for (; xsize > 0; xsize--, x++, p++) {
;;;353              Pixel = *p;
;;;354              if (Pixel) {
;;;355                LCD_L0_SetPixelIndex(x, y, Pixel);
;;;356              }
;;;357            }
;;;358          }
;;;359          break;
;;;360      }
;;;361    }
00003c  e8bd81f0          POP      {r4-r8,pc}
                  |L17.64|
000040  7822              LDRB     r2,[r4,#0]            ;339
000042  4641              MOV      r1,r8                 ;339
000044  4630              MOV      r0,r6                 ;339
000046  f7fffffe          BL       LCD_L0_SetPixelIndex
00004a  1e6d              SUBS     r5,r5,#1              ;338
00004c  1c76              ADDS     r6,r6,#1              ;338
00004e  1c64              ADDS     r4,r4,#1              ;338
                  |L17.80|
000050  2d00              CMP      r5,#0                 ;338
000052  dcf5              BGT      |L17.64|
000054  e7f2              B        |L17.60|
                  |L17.86|
000056  7820              LDRB     r0,[r4,#0]            ;346
000058  b128              CBZ      r0,|L17.102|
00005a  f8372010          LDRH     r2,[r7,r0,LSL #1]     ;348
00005e  4641              MOV      r1,r8                 ;348
000060  4630              MOV      r0,r6                 ;348
000062  f7fffffe          BL       LCD_L0_SetPixelIndex
                  |L17.102|
000066  1e6d              SUBS     r5,r5,#1              ;345
000068  1c76              ADDS     r6,r6,#1              ;345
00006a  1c64              ADDS     r4,r4,#1              ;345
                  |L17.108|
00006c  2d00              CMP      r5,#0                 ;345
00006e  dcf2              BGT      |L17.86|
000070  e7e4              B        |L17.60|
                  |L17.114|
000072  7822              LDRB     r2,[r4,#0]            ;353
000074  b11a              CBZ      r2,|L17.126|
000076  4641              MOV      r1,r8                 ;355
000078  4630              MOV      r0,r6                 ;355
00007a  f7fffffe          BL       LCD_L0_SetPixelIndex
                  |L17.126|
00007e  1e6d              SUBS     r5,r5,#1              ;352
000080  1c76              ADDS     r6,r6,#1              ;352
000082  1c64              ADDS     r4,r4,#1              ;352
                  |L17.132|
000084  2d00              CMP      r5,#0                 ;352
000086  dcf4              BGT      |L17.114|
000088  e7d8              B        |L17.60|
;;;362    #endif
                          ENDP

00008a  0000              DCW      0x0000
                  |L17.140|
                          DCD      GUI_Context

⌨️ 快捷键说明

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