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

📄 guiaachar2.txt

📁 STM32F103ZET6+UCOSII+UCGUI源码
💻 TXT
📖 第 1 页 / 共 2 页
字号:
0000e8  e8bd8ff0          POP      {r4-r11,pc}
;;;115    
                          ENDP

                  |L2.236|
                          DCD      ||.constdata||

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

                  GUIPROP_AA2_DispChar PROC
;;;137    */
;;;138    void GUIPROP_AA2_DispChar(U16P c) {
000000  e92d41fc          PUSH     {r2-r8,lr}
;;;139      int BytesPerLine;
;;;140      GUI_DRAWMODE DrawMode = GUI_Context.TextMode;
000004  4d17              LDR      r5,|L3.100|
000006  4604              MOV      r4,r0                 ;138
;;;141      const GUI_FONT_PROP* pProp = GUIPROP_FindChar(GUI_Context.pAFont->p.pProp, c);
000008  69a8              LDR      r0,[r5,#0x18]  ; GUI_Context
00000a  f9b5602a          LDRSH    r6,[r5,#0x2a]         ;140  ; GUI_Context
00000e  6980              LDR      r0,[r0,#0x18]
000010  4621              MOV      r1,r4
000012  f7fffffe          BL       GUIPROP_FindChar
;;;142      if (pProp) {
000016  2800              CMP      r0,#0
000018  d022              BEQ      |L3.96|
;;;143        GUI_DRAWMODE OldDrawMode;
;;;144        const GUI_CHARINFO* pCharInfo = pProp->paCharInfo+(c-pProp->First);
00001a  6841              LDR      r1,[r0,#4]
00001c  8800              LDRH     r0,[r0,#0]
00001e  1a20              SUBS     r0,r4,r0
000020  eb0104c0          ADD      r4,r1,r0,LSL #3
;;;145        BytesPerLine = pCharInfo->BytesPerLine;
000024  78a7              LDRB     r7,[r4,#2]
;;;146        OldDrawMode  = LCD_SetDrawMode(DrawMode);
000026  4630              MOV      r0,r6
000028  f7fffffe          BL       LCD_SetDrawMode
;;;147        if (DrawMode & GUI_TM_TRANS) {
;;;148          DrawTrans(GUI_Context.DispPosX, 
00002c  6863              LDR      r3,[r4,#4]
00002e  4680              MOV      r8,r0                 ;146
000030  e9cd7300          STRD     r7,r3,[sp,#0]
000034  07b0              LSLS     r0,r6,#30             ;147
000036  2800              CMP      r0,#0                 ;147
000038  69a8              LDR      r0,[r5,#0x18]  ; GUI_Context
00003a  7822              LDRB     r2,[r4,#0]
00003c  7d03              LDRB     r3,[r0,#0x14]
00003e  f9b51024          LDRSH    r1,[r5,#0x24]  ; GUI_Context
000042  f9b50022          LDRSH    r0,[r5,#0x22]  ; GUI_Context
000046  da02              BGE      |L3.78|
000048  f7fffffe          BL       DrawTrans
00004c  e001              B        |L3.82|
                  |L3.78|
;;;149                    GUI_Context.DispPosY,
;;;150                    pCharInfo->XSize,
;;;151                    GUI_Context.pAFont->YSize,
;;;152                    BytesPerLine,
;;;153                    (U8 const*)pCharInfo->pData
;;;154          );
;;;155        } else {
;;;156          DrawNoTrans(GUI_Context.DispPosX, 
00004e  f7fffffe          BL       DrawNoTrans
                  |L3.82|
;;;157                      GUI_Context.DispPosY,
;;;158                      pCharInfo->XSize,
;;;159                      GUI_Context.pAFont->YSize,
;;;160                      BytesPerLine,
;;;161                      (U8 const*)pCharInfo->pData
;;;162          );
;;;163        }
;;;164        LCD_SetDrawMode(OldDrawMode); /* Restore draw mode */
000052  4640              MOV      r0,r8
000054  f7fffffe          BL       LCD_SetDrawMode
;;;165        GUI_Context.DispPosX += pCharInfo->XDist;
000058  8c68              LDRH     r0,[r5,#0x22]  ; GUI_Context
00005a  7861              LDRB     r1,[r4,#1]
00005c  4408              ADD      r0,r0,r1
00005e  8468              STRH     r0,[r5,#0x22]
                  |L3.96|
;;;166      }
;;;167    }
000060  e8bd81fc          POP      {r2-r8,pc}
;;;168    
                          ENDP

                  |L3.100|
                          DCD      GUI_Context

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

                  GUIPROP_AA2_GetCharDistX PROC
;;;172    */
;;;173    int GUIPROP_AA2_GetCharDistX(U16P c) {
000000  b510              PUSH     {r4,lr}
000002  4604              MOV      r4,r0
;;;174      const GUI_FONT_PROP* pProp = GUIPROP_FindChar(GUI_Context.pAFont->p.pProp, c);
000004  4806              LDR      r0,|L4.32|
000006  4621              MOV      r1,r4
000008  6980              LDR      r0,[r0,#0x18]  ; GUI_Context
00000a  6980              LDR      r0,[r0,#0x18]
00000c  f7fffffe          BL       GUIPROP_FindChar
;;;175      return (pProp) ? (pProp->paCharInfo+(c-pProp->First))->XSize : 0;
000010  2800              CMP      r0,#0
000012  d004              BEQ      |L4.30|
000014  6841              LDR      r1,[r0,#4]
000016  8800              LDRH     r0,[r0,#0]
000018  1a20              SUBS     r0,r4,r0
00001a  f8110030          LDRB     r0,[r1,r0,LSL #3]
                  |L4.30|
;;;176    }
00001e  bd10              POP      {r4,pc}
;;;177    
                          ENDP

                  |L4.32|
                          DCD      GUI_Context

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

                  GUIPROP_AA2_GetFontInfo PROC
;;;181    */
;;;182    void GUIPROP_AA2_GetFontInfo(const GUI_FONT * pFont, GUI_FONTINFO* pfi) {
000000  2009              MOVS     r0,#9
;;;183      GUI_USE_PARA(pFont);
;;;184      pfi->Flags = GUI_FONTINFO_FLAG_PROP | GUI_FONTINFO_FLAG_AA2;
000002  8008              STRH     r0,[r1,#0]
;;;185    }
000004  4770              BX       lr
;;;186    
                          ENDP


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

                  GUIPROP_AA2_IsInFont PROC
;;;190    */
;;;191    char GUIPROP_AA2_IsInFont(const GUI_FONT * pFont, U16 c) {
000000  b510              PUSH     {r4,lr}
;;;192      const GUI_FONT_PROP* pProp = GUIPROP_FindChar(pFont->p.pProp, c);
000002  6980              LDR      r0,[r0,#0x18]
000004  f7fffffe          BL       GUIPROP_FindChar
;;;193      return (pProp==NULL) ? 0 : 1;
000008  2800              CMP      r0,#0
00000a  d000              BEQ      |L6.14|
00000c  2001              MOVS     r0,#1
                  |L6.14|
;;;194    }
00000e  bd10              POP      {r4,pc}
;;;195    
                          ENDP


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

                  GUIPROP_FindChar PROC
;;;119    */
;;;120    static const GUI_FONT_PROP* GUIPROP_FindChar(const GUI_FONT_PROP* pProp, U16P c) {
000000  4806              LDR      r0,|L7.28|
;;;121      for (pProp = GUI_Context.pAFont->p.pProp; pProp; pProp=(const GUI_FONT_PROP*) pProp->pNext) {
000002  6980              LDR      r0,[r0,#0x18]  ; GUI_Context
000004  6980              LDR      r0,[r0,#0x18]
000006  e006              B        |L7.22|
                  |L7.8|
;;;122        if ((c>=pProp->First) && (c<=pProp->Last))
000008  8802              LDRH     r2,[r0,#0]
00000a  428a              CMP      r2,r1
00000c  d802              BHI      |L7.20|
00000e  8842              LDRH     r2,[r0,#2]
000010  428a              CMP      r2,r1
000012  d202              BCS      |L7.26|
                  |L7.20|
000014  6880              LDR      r0,[r0,#8]            ;121
                  |L7.22|
000016  2800              CMP      r0,#0                 ;121
000018  d1f6              BNE      |L7.8|
                  |L7.26|
;;;123          break;
;;;124      }
;;;125      return pProp;
;;;126    }
00001a  4770              BX       lr
;;;127    
                          ENDP

                  |L7.28|
                          DCD      GUI_Context

                          AREA ||.bss||, DATA, NOINIT, ALIGN=2

                  aColor
                          %        16

                          AREA ||.constdata||, DATA, READONLY, ALIGN=2

                  aConvTable
                          DCD      0x00000000
                          DCD      0x00000005
                          DCD      0x0000000a
                          DCD      0x0000000f

                          AREA ||.data||, DATA, ALIGN=2

                  OldColorIndex
000000  0000              DCB      0x00,0x00
                  OldBkColorIndex
000002  0000              DCB      0x00,0x00
                  Palette
                          DCD      0x00000004
000008  00000000          DCB      0x00,0x00,0x00,0x00
                          DCD      aColor
                  Bitmap
000010  00000000          DCW      0x0000,0x0000
000014  00000002          DCW      0x0000,0x0002
                          DCD      0x00000000
                          DCD      Palette
                          DCD      0x00000000

⌨️ 快捷键说明

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