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

📄 gui__wrap.txt

📁 STM32F103ZET6+UCOSII+UCGUI源码
💻 TXT
字号:
; generated by ARM C/C++ Compiler with , RVCT4.0 [Build 524] for uVision
; commandline ArmCC [--split_sections --debug -c --asm --interleave -o.\Obj\gui__wrap.o --depend=.\Obj\gui__wrap.d --device=DARMSTM --apcs=interwork -O3 -I..\..\include -I..\..\..\FWLib\library\inc -I..\..\..\USBLib\library\inc -I..\..\Config -I..\..\GUI\Core -I..\..\GUI\Font -I..\..\GUI\ConvertColor -I..\..\GUI\AntiAlias -I..\..\GUI\ConvertMono -I..\..\GUI\JPEG -I..\..\GUI\MemDev -I..\..\GUI\MultiLayer -I..\..\GUI\Widget -I..\..\GUI\WM -IC:\Keil\ARM\INC\ST\STM32F10x ..\..\GUI\Core\GUI__Wrap.c]
                          THUMB

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

                  GUI__WrapGetNumBytesToNextLine PROC
;;;152    */
;;;153    int GUI__WrapGetNumBytesToNextLine(const char GUI_UNI_PTR * pText, int xSize, GUI_WRAPMODE WrapMode) {
000000  b510              PUSH     {r4,lr}
000002  4604              MOV      r4,r0
;;;154      int NumChars, NumBytes;
;;;155      NumChars = GUI__WrapGetNumCharsToNextLine(pText, xSize, WrapMode);
000004  f7fffffe          BL       GUI__WrapGetNumCharsToNextLine
;;;156      NumBytes = GUI_UC__NumChars2NumBytes(pText, NumChars);
000008  4601              MOV      r1,r0
00000a  4620              MOV      r0,r4
00000c  e8bd4010          POP      {r4,lr}
000010  f7ffbffe          B.W      GUI_UC__NumChars2NumBytes
;;;157      return NumBytes;
;;;158    }
;;;159    
                          ENDP


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

                  GUI__WrapGetNumCharsDisp PROC
;;;110    */
;;;111    int GUI__WrapGetNumCharsDisp(const char GUI_UNI_PTR * pText, int xSize, GUI_WRAPMODE WrapMode) {
000000  e92d43f8          PUSH     {r3-r9,lr}
000004  4688              MOV      r8,r1
;;;112      int r;
;;;113      switch (WrapMode) {
000006  2a01              CMP      r2,#1
000008  d005              BEQ      |L2.22|
00000a  2a02              CMP      r2,#2
00000c  d131              BNE      |L2.114|
00000e  2400              MOVS     r4,#0
000010  4625              MOV      r5,r4
000012  9000              STR      r0,[sp,#0]
000014  e027              B        |L2.102|
                  |L2.22|
000016  2600              MOVS     r6,#0
000018  4634              MOV      r4,r6
00001a  4635              MOV      r5,r6
00001c  4637              MOV      r7,r6
00001e  9000              STR      r0,[sp,#0]
                  |L2.32|
000020  4668              MOV      r0,sp
000022  f7fffffe          BL       GUI_UC__GetCharCodeInc
000026  b108              CBZ      r0,|L2.44|
000028  280a              CMP      r0,#0xa
00002a  d101              BNE      |L2.48|
                  |L2.44|
00002c  4625              MOV      r5,r4
00002e  e00d              B        |L2.76|
                  |L2.48|
000030  2820              CMP      r0,#0x20
000032  d102              BNE      |L2.58|
000034  2f20              CMP      r7,#0x20
000036  d000              BEQ      |L2.58|
000038  4625              MOV      r5,r4
                  |L2.58|
00003a  4607              MOV      r7,r0
00003c  f7fffffe          BL       GUI_GetCharDistX
000040  4406              ADD      r6,r6,r0
000042  4546              CMP      r6,r8
000044  dd00              BLE      |L2.72|
000046  b90c              CBNZ     r4,|L2.76|
                  |L2.72|
000048  1c64              ADDS     r4,r4,#1
00004a  e7e9              B        |L2.32|
                  |L2.76|
00004c  b9b5              CBNZ     r5,|L2.124|
00004e  4625              MOV      r5,r4
000050  e014              B        |L2.124|
                  |L2.82|
000052  4630              MOV      r0,r6
000054  f7fffffe          BL       GUI_GetCharDistX
000058  4404              ADD      r4,r4,r0
00005a  b10d              CBZ      r5,|L2.96|
00005c  4544              CMP      r4,r8
00005e  dc0d              BGT      |L2.124|
                  |L2.96|
000060  2e0a              CMP      r6,#0xa
000062  d00b              BEQ      |L2.124|
000064  1c6d              ADDS     r5,r5,#1
                  |L2.102|
000066  4668              MOV      r0,sp
000068  f7fffffe          BL       GUI_UC__GetCharCodeInc
00006c  0006              MOVS     r6,r0
00006e  d1f0              BNE      |L2.82|
000070  e004              B        |L2.124|
                  |L2.114|
000072  f64771ff          MOV      r1,#0x7fff
000076  f7fffffe          BL       GUI__GetLineNumChars
;;;114      case GUI_WRAPMODE_WORD:
;;;115        r = _GetWordWrap(pText, xSize);
;;;116        break;
;;;117      case GUI_WRAPMODE_CHAR:
;;;118        r = _GetCharWrap(pText, xSize);
;;;119        break;
;;;120      default:
;;;121        r = _GetNoWrap(pText);
00007a  4605              MOV      r5,r0
                  |L2.124|
;;;122      }
;;;123      return r;
00007c  4628              MOV      r0,r5
;;;124    }
00007e  e8bd83f8          POP      {r3-r9,pc}
;;;125    
                          ENDP


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

                  GUI__WrapGetNumCharsToNextLine PROC
;;;129    */
;;;130    int GUI__WrapGetNumCharsToNextLine(const char GUI_UNI_PTR * pText, int xSize, GUI_WRAPMODE WrapMode) {
000000  b537              PUSH     {r0-r2,r4,r5,lr}
000002  4615              MOV      r5,r2
;;;131      int NumChars;
;;;132      U16 Char;
;;;133      NumChars = GUI__WrapGetNumCharsDisp(pText, xSize, WrapMode);
000004  9800              LDR      r0,[sp,#0]
000006  f7fffffe          BL       GUI__WrapGetNumCharsDisp
00000a  4604              MOV      r4,r0
;;;134      pText   += GUI_UC__NumChars2NumBytes(pText, NumChars);
00000c  4601              MOV      r1,r0
00000e  9800              LDR      r0,[sp,#0]
000010  f7fffffe          BL       GUI_UC__NumChars2NumBytes
000014  9900              LDR      r1,[sp,#0]
000016  4408              ADD      r0,r0,r1
;;;135      Char     = GUI_UC__GetCharCodeInc(&pText);
000018  9000              STR      r0,[sp,#0]
00001a  4668              MOV      r0,sp
00001c  f7fffffe          BL       GUI_UC__GetCharCodeInc
;;;136      if (Char == '\n') {
000020  280a              CMP      r0,#0xa
000022  d101              BNE      |L3.40|
;;;137        NumChars++;
000024  1c64              ADDS     r4,r4,#1
000026  e008              B        |L3.58|
                  |L3.40|
;;;138      } else {
;;;139        if (WrapMode == GUI_WRAPMODE_WORD) {
000028  2d01              CMP      r5,#1
00002a  d106              BNE      |L3.58|
00002c  e003              B        |L3.54|
                  |L3.46|
;;;140          while (Char == ' ') {
;;;141            NumChars++;
00002e  1c64              ADDS     r4,r4,#1
;;;142            Char = GUI_UC__GetCharCodeInc(&pText);
000030  4668              MOV      r0,sp
000032  f7fffffe          BL       GUI_UC__GetCharCodeInc
                  |L3.54|
000036  2820              CMP      r0,#0x20              ;140
000038  d0f9              BEQ      |L3.46|
                  |L3.58|
;;;143          }
;;;144        }
;;;145      }
;;;146      return NumChars;
00003a  4620              MOV      r0,r4
;;;147    }
00003c  bd3e              POP      {r1-r5,pc}
;;;148    
                          ENDP

⌨️ 快捷键说明

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