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

📄 guidev_16.txt

📁 STM32F103ZET6+UCOSII+UCGUI源码
💻 TXT
📖 第 1 页 / 共 5 页
字号:
0000f2  4646              MOV      r6,r8                 ;483
0000f4  463d              MOV      r5,r7                 ;483
0000f6  f0100003          ANDS     r0,r0,#3              ;483
0000fa  d002              BEQ      |L4.258|
0000fc  2802              CMP      r0,#2                 ;483
0000fe  d14f              BNE      |L4.416|
000100  e00d              B        |L4.286|
                  |L4.258|
000102  f8160b01          LDRB     r0,[r6],#1            ;483
000106  9918              LDR      r1,[sp,#0x60]         ;483
000108  462a              MOV      r2,r5                 ;483
00010a  f8310010          LDRH     r0,[r1,r0,LSL #1]     ;483
00010e  8010              STRH     r0,[r2,#0]            ;483
000110  1cad              ADDS     r5,r5,#2              ;483
000112  f1a90001          SUB      r0,r9,#1              ;483
000116  ea5f0900          MOVS     r9,r0                 ;483
00011a  d1f2              BNE      |L4.258|
00011c  e040              B        |L4.416|
                  |L4.286|
00011e  7830              LDRB     r0,[r6,#0]            ;483
000120  b150              CBZ      r0,|L4.312|
000122  9918              LDR      r1,[sp,#0x60]         ;483
000124  f8310010          LDRH     r0,[r1,r0,LSL #1]     ;483
000128  8028              STRH     r0,[r5,#0]            ;483
00012a  b12c              CBZ      r4,|L4.312|
00012c  68a0              LDR      r0,[r4,#8]            ;483
00012e  e9dd1204          LDRD     r1,r2,[sp,#0x10]      ;483
000132  6803              LDR      r3,[r0,#0]            ;483
000134  4620              MOV      r0,r4                 ;483
000136  4798              BLX      r3                    ;483
                  |L4.312|
000138  9804              LDR      r0,[sp,#0x10]         ;483
00013a  1cad              ADDS     r5,r5,#2              ;483
00013c  1c40              ADDS     r0,r0,#1              ;483
00013e  9004              STR      r0,[sp,#0x10]         ;483
000140  1c76              ADDS     r6,r6,#1              ;483
000142  f1a90001          SUB      r0,r9,#1              ;483
000146  ea5f0900          MOVS     r9,r0                 ;483
00014a  d1e8              BNE      |L4.286|
00014c  e028              B        |L4.416|
                  |L4.334|
00014e  eb0b000a          ADD      r0,r11,r10            ;485
000152  9005              STR      r0,[sp,#0x14]         ;485
000154  4838              LDR      r0,|L4.568|
000156  f8dd9024          LDR      r9,[sp,#0x24]         ;485
00015a  7b00              LDRB     r0,[r0,#0xc]          ;485  ; GUI_Context
00015c  4646              MOV      r6,r8                 ;485
00015e  463d              MOV      r5,r7                 ;485
000160  f0100003          ANDS     r0,r0,#3              ;485
000164  d002              BEQ      |L4.364|
000166  2802              CMP      r0,#2                 ;485
000168  d11a              BNE      |L4.416|
00016a  e005              B        |L4.376|
                  |L4.364|
00016c  464a              MOV      r2,r9                 ;485
00016e  4631              MOV      r1,r6                 ;485
000170  4628              MOV      r0,r5                 ;485
000172  f7fffffe          BL       __aeabi_memcpy
000176  e013              B        |L4.416|
                  |L4.376|
000178  7830              LDRB     r0,[r6,#0]            ;485
00017a  b138              CBZ      r0,|L4.396|
00017c  8028              STRH     r0,[r5,#0]            ;485
00017e  b12c              CBZ      r4,|L4.396|
000180  68a0              LDR      r0,[r4,#8]            ;485
000182  e9dd1204          LDRD     r1,r2,[sp,#0x10]      ;485
000186  6803              LDR      r3,[r0,#0]            ;485
000188  4620              MOV      r0,r4                 ;485
00018a  4798              BLX      r3                    ;485
                  |L4.396|
00018c  9804              LDR      r0,[sp,#0x10]         ;485
00018e  1cad              ADDS     r5,r5,#2              ;485
000190  1c40              ADDS     r0,r0,#1              ;485
000192  9004              STR      r0,[sp,#0x10]         ;485
000194  1c76              ADDS     r6,r6,#1              ;485
000196  f1a90001          SUB      r0,r9,#1              ;485
00019a  ea5f0900          MOVS     r9,r0                 ;485
00019e  d1eb              BNE      |L4.376|
                  |L4.416|
0001a0  9806              LDR      r0,[sp,#0x18]         ;488
0001a2  9915              LDR      r1,[sp,#0x54]         ;487
0001a4  4407              ADD      r7,r7,r0              ;488
0001a6  4488              ADD      r8,r8,r1              ;487
0001a8  f10b0001          ADD      r0,r11,#1             ;481
                  |L4.428|
0001ac  990a              LDR      r1,[sp,#0x28]         ;481
0001ae  4683              MOV      r11,r0                ;481
0001b0  4288              CMP      r0,r1                 ;481
0001b2  db92              BLT      |L4.218|
0001b4  e78a              B        |L4.204|
0001b6  e7ff              B        |L4.440|
                  |L4.440|
0001b8  9818              LDR      r0,[sp,#0x60]         ;493
0001ba  b908              CBNZ     r0,|L4.448|
0001bc  481f              LDR      r0,|L4.572|
0001be  9018              STR      r0,[sp,#0x60]         ;494
                  |L4.448|
0001c0  2500              MOVS     r5,#0                 ;496
0001c2  e017              B        |L4.500|
                  |L4.452|
0001c4  2e01              CMP      r6,#1                 ;497
0001c6  d019              BEQ      |L4.508|
0001c8  2e02              CMP      r6,#2                 ;497
0001ca  d026              BEQ      |L4.538|
0001cc  2e04              CMP      r6,#4                 ;497
0001ce  d10c              BNE      |L4.490|
0001d0  9a18              LDR      r2,[sp,#0x60]         ;505
0001d2  9909              LDR      r1,[sp,#0x24]         ;505
0001d4  e9cd2702          STRD     r2,r7,[sp,#8]         ;505
0001d8  e9cdb100          STRD     r11,r1,[sp,#0]        ;505
0001dc  eb05020a          ADD      r2,r5,r10             ;505
0001e0  4643              MOV      r3,r8                 ;505
0001e2  4620              MOV      r0,r4                 ;505
0001e4  9907              LDR      r1,[sp,#0x1c]         ;505
0001e6  f7fffffe          BL       _DrawBitLine4BPP
                  |L4.490|
0001ea  9915              LDR      r1,[sp,#0x54]         ;508
0001ec  9806              LDR      r0,[sp,#0x18]         ;509
0001ee  4488              ADD      r8,r8,r1              ;508
0001f0  4407              ADD      r7,r7,r0              ;509
0001f2  1c6d              ADDS     r5,r5,#1              ;496
                  |L4.500|
0001f4  980a              LDR      r0,[sp,#0x28]         ;496
0001f6  4285              CMP      r5,r0                 ;496
0001f8  dbe4              BLT      |L4.452|
0001fa  e767              B        |L4.204|
                  |L4.508|
0001fc  9809              LDR      r0,[sp,#0x24]         ;499
0001fe  9918              LDR      r1,[sp,#0x60]         ;499
000200  e9cdb000          STRD     r11,r0,[sp,#0]        ;499
000204  e9cd9703          STRD     r9,r7,[sp,#0xc]       ;499
000208  9102              STR      r1,[sp,#8]            ;499
00020a  eb05020a          ADD      r2,r5,r10             ;499
00020e  4643              MOV      r3,r8                 ;499
000210  4620              MOV      r0,r4                 ;499
000212  9907              LDR      r1,[sp,#0x1c]         ;499
000214  f7fffffe          BL       _DrawBitLine1BPP
000218  e7e7              B        |L4.490|
                  |L4.538|
00021a  9a18              LDR      r2,[sp,#0x60]         ;502
00021c  9909              LDR      r1,[sp,#0x24]         ;502
00021e  e9cd2702          STRD     r2,r7,[sp,#8]         ;502
000222  e9cdb100          STRD     r11,r1,[sp,#0]        ;502
000226  eb05020a          ADD      r2,r5,r10             ;502
00022a  4643              MOV      r3,r8                 ;502
00022c  4620              MOV      r0,r4                 ;502
00022e  9907              LDR      r1,[sp,#0x1c]         ;502
000230  f7fffffe          BL       _DrawBitLine2BPP
000234  e7d9              B        |L4.490|
;;;512    
                          ENDP

000236  0000              DCW      0x0000
                  |L4.568|
                          DCD      GUI_Context
                  |L4.572|
                          DCD      ||.constdata||

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

                  _DrawHLine PROC
;;;557    */
;;;558    static void _DrawHLine(int x0, int y, int x1) {
000000  460b              MOV      r3,r1
;;;559      _FillRect(x0, y, x1, y);
000002  f7ffbffe          B.W      _FillRect
;;;560    }
;;;561    
                          ENDP


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

                  _DrawVLine PROC
;;;565    */
;;;566    static void _DrawVLine(int x , int y0, int y1) {
000000  e92d4ff7          PUSH     {r0-r2,r4-r11,lr}
;;;567      GUI_MEMDEV* pDev   = GUI_MEMDEV_H2P(GUI_Context.hDevData);
000004  f8df809c          LDR      r8,|L6.164|
000008  460d              MOV      r5,r1                 ;566
00000a  4692              MOV      r10,r2                ;566
00000c  f9b8004c          LDRSH    r0,[r8,#0x4c]  ; GUI_Context
000010  f7fffffe          BL       GUI_ALLOC_h2p
;;;568      GUI_USAGE_h hUsage = pDev->hUsage; 
000014  f9b09018          LDRSH    r9,[r0,#0x18]
000018  4606              MOV      r6,r0                 ;567
;;;569      GUI_USAGE*  pUsage = hUsage ? GUI_USAGE_H2P(hUsage) : NULL;
00001a  ea5f0009          MOVS     r0,r9
00001e  d001              BEQ      |L6.36|
000020  f7fffffe          BL       GUI_ALLOC_h2p
                  |L6.36|
000024  4683              MOV      r11,r0
;;;570      PIXELINDEX* pData  = _XY2PTR(x, y0);
000026  4629              MOV      r1,r5
000028  9800              LDR      r0,[sp,#0]
00002a  f7fffffe          BL       _XY2PTR
00002e  4604              MOV      r4,r0
;;;571      unsigned BytesPerLine = pDev->BytesPerLine;
;;;572    
;;;573      if (GUI_Context.DrawMode & LCD_DRAWMODE_XOR) {
000030  f898000c          LDRB     r0,[r8,#0xc]  ; GUI_Context
000034  68f7              LDR      r7,[r6,#0xc]
000036  07c0              LSLS     r0,r0,#31
000038  d016              BEQ      |L6.104|
;;;574        PIXELINDEX IndexMask;
;;;575        IndexMask = pDev->pfGetIndexMask();
00003a  6a70              LDR      r0,[r6,#0x24]
00003c  4780              BLX      r0
00003e  b287              UXTH     r7,r0
                  |L6.64|
;;;576        do {
;;;577          if (hUsage) {
000040  f1b90f00          CMP      r9,#0
000044  d006              BEQ      |L6.84|
;;;578            GUI_USAGE_AddPixel(pUsage, x, y0);
000046  f8db0008          LDR      r0,[r11,#8]
00004a  462a              MOV      r2,r5
00004c  6803              LDR      r3,[r0,#0]
00004e  4658              MOV      r0,r11
000050  9900              LDR      r1,[sp,#0]
000052  4798              BLX      r3
                  |L6.84|
;;;579          }
;;;580          *pData = *pData ^ IndexMask;
000054  8820              LDRH     r0,[r4,#0]
;;;581          pData = (PIXELINDEX*)((U8*)pData + pDev->BytesPerLine); /* Same as "pData += pDev->BytesPerLine >> 1;", Just more efficient */
;;;582        } while (++y0 <= y1);
000056  1c6d              ADDS     r5,r5,#1
000058  4078              EORS     r0,r0,r7              ;580
00005a  8020              STRH     r0,[r4,#0]            ;580
00005c  68f0              LDR      r0,[r6,#0xc]
00005e  4555              CMP      r5,r10
000060  4404              ADD      r4,r4,r0              ;581
000062  dded              BLE      |L6.64|
                  |L6.100|
;;;583      } else {
;;;584        if (hUsage) {
;;;585          do {
;;;586            GUI_USAGE_AddPixel(pUsage, x, y0);
;;;587            *pData = LCD_COLORINDEX;
;;;588            pData = (PIXELINDEX*)((U8*)pData + BytesPerLine); /* Same as "pData += pDev->BytesPerLine >> 1;", Just more efficient */
;;;589          } while (++y0 <= y1);
;;;590        } else {
;;;591          unsigned NumPixels;
;;;592          NumPixels = y1 - y0 + 1;
;;;593          do {
;;;594            *pData = LCD_COLORINDEX;
;;;595            pData = (PIXELINDEX*)((U8*)pData + BytesPerLine); /* Same as "pData += pDev->BytesPerLine >> 1;", Just more efficient */
;;;596          } while (--NumPixels);
;;;597        }
;;;598      }
;;;599    }
000064  e8bd8ffe          POP      {r1-r11,pc}
                  |L6.104|
000068  f1b90f00          CMP      r9,#0                 ;584
00006c  d00f              BEQ      |L6.142|
00006e  bf00              NOP                            ;586
                  |L6.112|
000070  f8db0008          LDR      r0,[r11,#8]           ;586
000074  462a              MOV      r2,r5                 ;586
000076  6803              LDR      r3,[r0,#0]            ;586
000078  4658              MOV      r0,r11                ;586
00007a  9900              LDR      r1,[sp,#0]            ;586
00007c  4798              BLX      r3                    ;586
00007e  f8b80002          LDRH     r0,[r8,#2]            ;587  ; GUI_Context
000082  8020              STRH     r0,[r4,#0]            ;587
000084  1c6d              ADDS     r5,r5,#1              ;589
000086  443c              ADD      r4,r4,r7              ;588
000088  4555              CMP      r5,r10                ;589
00008a  ddf1              BLE      |L6.112|
00008c  e7ea              B        |L6.100|
                  |L6.142|
00008e  ebaa0005          SUB      r0,r10,r5             ;592
000092  1c40              ADDS     r0,r0,#1              ;592
                  |L6.148|
000094  4622              MOV      r2,r4                 ;594
000096  f8b81002          LDRH     r1,[r8,#2]            ;594  ; GUI_Context
00009a  443c              ADD      r4,r4,r7              ;595
00009c  1e40              SUBS     r0,r0,#1              ;596
00009e  8011              STRH     r1,[r2,#0]            ;594
0000a0  d1f8              BNE      |L6.148|
0000a2  e7df              B        |L6.100|
;;;600    
                          ENDP

                  |L6.164|
                          DCD      GUI_Context

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

                  _FillRect PROC

⌨️ 快捷键说明

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