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

📄 lcd.txt

📁 STM32F103ZET6+UCOSII+UCGUI源码
💻 TXT
📖 第 1 页 / 共 3 页
字号:
000112  f0220001          BIC      r0,r2,#1              ;209
000116  eb040462          ADD      r4,r4,r2,ASR #1       ;209
00011a  4405              ADD      r5,r5,r0              ;209
00011c  f0020201          AND      r2,r2,#1              ;209
000120  e7da              B        |L2.216|
                  |L2.290|
000122  4414              ADD      r4,r4,r2              ;212
000124  e7d6              B        |L2.212|
                  |L2.294|
000126  9816              LDR      r0,[sp,#0x58]         ;227
000128  9705              STR      r7,[sp,#0x14]         ;228
00012a  f1c00008          RSB      r0,r0,#8              ;227
00012e  9003              STR      r0,[sp,#0xc]          ;228
000130  2000              MOVS     r0,#0                 ;228
000132  9004              STR      r0,[sp,#0x10]         ;228
000134  e04a              B        |L2.460|
                  |L2.310|
000136  9915              LDR      r1,[sp,#0x54]         ;229
000138  9805              LDR      r0,[sp,#0x14]         ;229
00013a  4408              ADD      r0,r0,r1              ;229
00013c  9006              STR      r0,[sp,#0x18]         ;229
00013e  1e40              SUBS     r0,r0,#1              ;229
000140  4925              LDR      r1,|L2.472|
000142  9002              STR      r0,[sp,#8]            ;231
000144  f9b12006          LDRSH    r2,[r1,#6]            ;231  ; GUI_Context
000148  4282              CMP      r2,r0                 ;231
00014a  dc37              BGT      |L2.444|
00014c  4608              MOV      r0,r1                 ;231
00014e  f9b0000a          LDRSH    r0,[r0,#0xa]          ;231  ; GUI_Context
000152  9905              LDR      r1,[sp,#0x14]         ;231
000154  4288              CMP      r0,r1                 ;231
000156  db31              BLT      |L2.444|
000158  2700              MOVS     r7,#0                 ;232
00015a  46a2              MOV      r10,r4                ;234
00015c  46a8              MOV      r8,r5                 ;235
00015e  46b9              MOV      r9,r7                 ;235
000160  e02a              B        |L2.440|
                  |L2.354|
000162  b917              CBNZ     r7,|L2.362|
000164  f81a6b01          LDRB     r6,[r10],#1           ;238
000168  2708              MOVS     r7,#8                 ;239
                  |L2.362|
00016a  9903              LDR      r1,[sp,#0xc]          ;241
00016c  fa36f001          LSRS     r0,r6,r1              ;241
000170  9916              LDR      r1,[sp,#0x58]         ;242
000172  fa06f601          LSL      r6,r6,r1              ;242
000176  b2f6              UXTB     r6,r6                 ;242
000178  eba70701          SUB      r7,r7,r1              ;243
00017c  d103              BNE      |L2.390|
00017e  4916              LDR      r1,|L2.472|
000180  7b09              LDRB     r1,[r1,#0xc]          ;244  ; GUI_Context
000182  0789              LSLS     r1,r1,#30             ;244
000184  d414              BMI      |L2.432|
                  |L2.390|
000186  4914              LDR      r1,|L2.472|
000188  9a19              LDR      r2,[sp,#0x64]         ;245
00018a  8849              LDRH     r1,[r1,#2]            ;245  ; GUI_Context
00018c  9101              STR      r1,[sp,#4]            ;246
00018e  b10a              CBZ      r2,|L2.404|
000190  f8320010          LDRH     r0,[r2,r0,LSL #1]     ;247
                  |L2.404|
000194  4910              LDR      r1,|L2.472|
000196  8048              STRH     r0,[r1,#2]            ;249
000198  9914              LDR      r1,[sp,#0x50]         ;251
00019a  4640              MOV      r0,r8                 ;251
00019c  eb080201          ADD      r2,r8,r1              ;251
0001a0  1e52              SUBS     r2,r2,#1              ;251
0001a2  9b02              LDR      r3,[sp,#8]            ;251
0001a4  9905              LDR      r1,[sp,#0x14]         ;251
0001a6  f7fffffe          BL       LCD_FillRect
0001aa  490b              LDR      r1,|L2.472|
0001ac  9801              LDR      r0,[sp,#4]            ;252
0001ae  8048              STRH     r0,[r1,#2]            ;252
                  |L2.432|
0001b0  9914              LDR      r1,[sp,#0x50]         ;235
0001b2  f1090901          ADD      r9,r9,#1              ;235
0001b6  4488              ADD      r8,r8,r1              ;235
                  |L2.440|
0001b8  45d9              CMP      r9,r11                ;235
0001ba  dbd2              BLT      |L2.354|
                  |L2.444|
0001bc  9804              LDR      r0,[sp,#0x10]         ;228
0001be  1c40              ADDS     r0,r0,#1              ;228
0001c0  9004              STR      r0,[sp,#0x10]         ;228
0001c2  9806              LDR      r0,[sp,#0x18]         ;228
0001c4  9005              STR      r0,[sp,#0x14]         ;228
0001c6  9817              LDR      r0,[sp,#0x5c]         ;228
0001c8  4404              ADD      r4,r4,r0              ;228
0001ca  9804              LDR      r0,[sp,#0x10]         ;228
                  |L2.460|
0001cc  990a              LDR      r1,[sp,#0x28]         ;228
0001ce  4288              CMP      r0,r1                 ;228
0001d0  dbb1              BLT      |L2.310|
0001d2  e793              B        |L2.252|
;;;259    
                          ENDP

                  |L2.468|
                          DCD      GUI_pLCD_APIList
                  |L2.472|
                          DCD      GUI_Context

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

                  LCD_DrawHLine PROC
;;;119    */
;;;120    void LCD_DrawHLine(int x0, int y,  int x1) {
000000  b430              PUSH     {r4,r5}
;;;121      /* Perform clipping and check if there is something to do */
;;;122      RETURN_IF_Y_OUT();
000002  4c0d              LDR      r4,|L3.56|
000004  f9b43006          LDRSH    r3,[r4,#6]  ; GUI_Context
000008  428b              CMP      r3,r1
00000a  dc13              BGT      |L3.52|
00000c  f9b4300a          LDRSH    r3,[r4,#0xa]  ; GUI_Context
000010  428b              CMP      r3,r1
000012  db0f              BLT      |L3.52|
;;;123      CLIP_X();
000014  f9b43004          LDRSH    r3,[r4,#4]  ; GUI_Context
000018  4283              CMP      r3,r0
00001a  dd00              BLE      |L3.30|
00001c  4618              MOV      r0,r3
                  |L3.30|
00001e  f9b43008          LDRSH    r3,[r4,#8]  ; GUI_Context
000022  4293              CMP      r3,r2
000024  da00              BGE      |L3.40|
000026  461a              MOV      r2,r3
                  |L3.40|
;;;124      if (x1<x0)
000028  4282              CMP      r2,r0
00002a  db03              BLT      |L3.52|
;;;125        return;
;;;126      /* Call driver to draw */
;;;127      LCDDEV_L0_DrawHLine(x0, y, x1);
00002c  6ca3              LDR      r3,[r4,#0x48]  ; GUI_Context
00002e  691b              LDR      r3,[r3,#0x10]
000030  bc30              POP      {r4,r5}
000032  4718              BX       r3
                  |L3.52|
;;;128    }
000034  bc30              POP      {r4,r5}
000036  4770              BX       lr
;;;129    
                          ENDP

                  |L3.56|
                          DCD      GUI_Context

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

                  LCD_DrawPixel PROC
;;;105    */
;;;106    void LCD_DrawPixel(int x, int y) {
000000  b430              PUSH     {r4,r5}
;;;107      RETURN_IF_Y_OUT();
000002  4a0f              LDR      r2,|L4.64|
000004  f9b23006          LDRSH    r3,[r2,#6]  ; GUI_Context
000008  428b              CMP      r3,r1
00000a  dc17              BGT      |L4.60|
00000c  f9b2300a          LDRSH    r3,[r2,#0xa]  ; GUI_Context
000010  428b              CMP      r3,r1
000012  db13              BLT      |L4.60|
;;;108      RETURN_IF_X_OUT();
000014  f9b23004          LDRSH    r3,[r2,#4]  ; GUI_Context
000018  4283              CMP      r3,r0
00001a  dc0f              BGT      |L4.60|
00001c  f9b23008          LDRSH    r3,[r2,#8]  ; GUI_Context
000020  4283              CMP      r3,r0
000022  db0b              BLT      |L4.60|
;;;109      if (GUI_Context.DrawMode & LCD_DRAWMODE_XOR) {
000024  7b14              LDRB     r4,[r2,#0xc]  ; GUI_Context
000026  4613              MOV      r3,r2                 ;107
;;;110        LCDDEV_L0_XorPixel(x, y);
000028  6c9b              LDR      r3,[r3,#0x48]
00002a  07e4              LSLS     r4,r4,#31             ;109
00002c  d002              BEQ      |L4.52|
00002e  6a9a              LDR      r2,[r3,#0x28]
000030  bc30              POP      {r4,r5}
000032  4710              BX       r2
                  |L4.52|
;;;111      } else {
;;;112        LCDDEV_L0_SetPixelIndex(x, y, LCD_COLORINDEX);
000034  8852              LDRH     r2,[r2,#2]  ; GUI_Context
000036  6a5b              LDR      r3,[r3,#0x24]
000038  bc30              POP      {r4,r5}
00003a  4718              BX       r3
                  |L4.60|
;;;113      }
;;;114    }
00003c  bc30              POP      {r4,r5}
00003e  4770              BX       lr
;;;115    
                          ENDP

                  |L4.64|
                          DCD      GUI_Context

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

                  LCD_FillRect PROC
;;;133    */
;;;134    void LCD_FillRect(int x0, int y0, int x1, int y1) {
000000  b430              PUSH     {r4,r5}
;;;135      /* Perform clipping and check if there is something to do */
;;;136      CLIP_X();
000002  4d10              LDR      r5,|L5.68|
000004  f9b54004          LDRSH    r4,[r5,#4]  ; GUI_Context
000008  4284              CMP      r4,r0
00000a  dd00              BLE      |L5.14|
00000c  4620              MOV      r0,r4
                  |L5.14|
00000e  f9b54008          LDRSH    r4,[r5,#8]  ; GUI_Context
000012  4294              CMP      r4,r2
000014  da00              BGE      |L5.24|
000016  4622              MOV      r2,r4
                  |L5.24|
;;;137      if (x1<x0)
000018  4282              CMP      r2,r0
00001a  db10              BLT      |L5.62|
;;;138        return;
;;;139      CLIP_Y();
00001c  f9b54006          LDRSH    r4,[r5,#6]  ; GUI_Context
000020  428c              CMP      r4,r1
000022  dd00              BLE      |L5.38|
000024  4621              MOV      r1,r4
                  |L5.38|
000026  f9b5400a          LDRSH    r4,[r5,#0xa]  ; GUI_Context
00002a  429c              CMP      r4,r3
00002c  da00              BGE      |L5.48|
00002e  4623              MOV      r3,r4
                  |L5.48|
;;;140      if (y1<y0)
000030  428b              CMP      r3,r1
000032  db04              BLT      |L5.62|
;;;141        return;
;;;142      /* Call driver to draw */
;;;143      LCDDEV_L0_FillRect(x0,y0,x1,y1);
000034  6cac              LDR      r4,[r5,#0x48]  ; GUI_Context
000036  69a4              LDR      r4,[r4,#0x18]
000038  46a4              MOV      r12,r4
00003a  bc30              POP      {r4,r5}
00003c  4760              BX       r12
                  |L5.62|
;;;144    }
00003e  bc30              POP      {r4,r5}
000040  4770              BX       lr
;;;145    
                          ENDP

000042  0000              DCW      0x0000
                  |L5.68|
                          DCD      GUI_Context

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

⌨️ 快捷键说明

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