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

📄 gui_uc.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_uc.o --depend=.\Obj\gui_uc.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_UC.c]
                          THUMB

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

                  GUI_UC_Encode PROC
;;;55     */
;;;56     int GUI_UC_Encode(char* s, U16 Char) {
000000  4a01              LDR      r2,|L1.8|
;;;57       #if GUI_COMPILER_SUPPORTS_FP
;;;58         int r;
;;;59         GUI_LOCK();
;;;60         r = GUI_Context.pUC_API->pfEncode(s, Char);
000002  69d2              LDR      r2,[r2,#0x1c]  ; GUI_Context
000004  68d2              LDR      r2,[r2,#0xc]
000006  4710              BX       r2
;;;61         GUI_UNLOCK();
;;;62         return r;
;;;63       #else
;;;64         GUI_USE_PARA(s);
;;;65         GUI_USE_PARA(Char);
;;;66         return 0;
;;;67       #endif
;;;68     }
;;;69     
                          ENDP

                  |L1.8|
                          DCD      GUI_Context

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

                  GUI_UC_GetCharCode PROC
;;;43     */
;;;44     U16 GUI_UC_GetCharCode(const char GUI_UNI_PTR * s) {
000000  4901              LDR      r1,|L2.8|
;;;45       U16 r;
;;;46       GUI_LOCK();
;;;47       r =  GUI_Context.pUC_API->pfGetCharCode(s);
000002  69c9              LDR      r1,[r1,#0x1c]  ; GUI_Context
000004  6809              LDR      r1,[r1,#0]
000006  4708              BX       r1
;;;48       GUI_UNLOCK();
;;;49       return r;
;;;50     }
;;;51     
                          ENDP

                  |L2.8|
                          DCD      GUI_Context

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

                  GUI_UC_GetCharSize PROC
;;;31     */
;;;32     int GUI_UC_GetCharSize(const char GUI_UNI_PTR * s) {
000000  4901              LDR      r1,|L3.8|
;;;33       int r;
;;;34       GUI_LOCK();
;;;35       r =  GUI_Context.pUC_API->pfGetCharSize(s);
000002  69c9              LDR      r1,[r1,#0x1c]  ; GUI_Context
000004  6849              LDR      r1,[r1,#4]
000006  4708              BX       r1
;;;36       GUI_UNLOCK();
;;;37       return r;
;;;38     }
;;;39     
                          ENDP

                  |L3.8|
                          DCD      GUI_Context

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

                  GUI_UC__CalcSizeOfChar PROC
;;;73     */
;;;74     int GUI_UC__CalcSizeOfChar(U16 Char) {
000000  4901              LDR      r1,|L4.8|
;;;75       return GUI_Context.pUC_API->pfCalcSizeOfChar(Char);
000002  69c9              LDR      r1,[r1,#0x1c]  ; GUI_Context
000004  6889              LDR      r1,[r1,#8]
000006  4708              BX       r1
;;;76     }
;;;77     
                          ENDP

                  |L4.8|
                          DCD      GUI_Context

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

                  GUI_UC__GetCharCodeInc PROC
;;;81     */
;;;82     U16 GUI_UC__GetCharCodeInc(const char GUI_UNI_PTR ** ps) {
000000  e92d41f0          PUSH     {r4-r8,lr}
;;;83       const char GUI_UNI_PTR * s;
;;;84       U16 r;
;;;85       s   = *ps;
;;;86       r   = GUI_UC__GetCharCode(s);
000004  4e08              LDR      r6,|L5.40|
000006  4604              MOV      r4,r0                 ;82
000008  6805              LDR      r5,[r0,#0]
00000a  69f0              LDR      r0,[r6,#0x1c]  ; GUI_Context
00000c  6801              LDR      r1,[r0,#0]
00000e  4628              MOV      r0,r5
000010  4788              BLX      r1
000012  4607              MOV      r7,r0
;;;87       s  += GUI_UC__GetCharSize(s);
000014  69f0              LDR      r0,[r6,#0x1c]  ; GUI_Context
000016  6841              LDR      r1,[r0,#4]
000018  4628              MOV      r0,r5
00001a  4788              BLX      r1
00001c  4428              ADD      r0,r0,r5
;;;88       *ps = s;
;;;89       return r;
00001e  6020              STR      r0,[r4,#0]
000020  4638              MOV      r0,r7
;;;90     }
000022  e8bd81f0          POP      {r4-r8,pc}
;;;91     
                          ENDP

000026  0000              DCW      0x0000
                  |L5.40|
                          DCD      GUI_Context

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

                  GUI_UC__NumBytes2NumChars PROC
;;;109    */
;;;110    int GUI_UC__NumBytes2NumChars(const char GUI_UNI_PTR * s, int NumBytes) {
000000  e92d41f0          PUSH     {r4-r8,lr}
;;;111      int CharSize, Chars = 0, Bytes = 0;
000004  2500              MOVS     r5,#0
000006  4606              MOV      r6,r0                 ;110
000008  460f              MOV      r7,r1                 ;110
00000a  462c              MOV      r4,r5
;;;112      while (NumBytes > Bytes) {
;;;113        CharSize = GUI_UC__GetCharSize(s + Bytes);
00000c  f8df801c          LDR      r8,|L6.44|
;;;114        Bytes += CharSize;
;;;115        Chars++;
000010  e006              B        |L6.32|
                  |L6.18|
000012  f8d8101c          LDR      r1,[r8,#0x1c]         ;113  ; GUI_Context
000016  1930              ADDS     r0,r6,r4              ;113
000018  6849              LDR      r1,[r1,#4]            ;113
00001a  4788              BLX      r1                    ;113
00001c  4404              ADD      r4,r4,r0              ;114
00001e  1c6d              ADDS     r5,r5,#1
                  |L6.32|
000020  42a7              CMP      r7,r4                 ;112
000022  dcf6              BGT      |L6.18|
;;;116      }
;;;117      return Chars;
000024  4628              MOV      r0,r5
;;;118    }
000026  e8bd81f0          POP      {r4-r8,pc}
;;;119    
                          ENDP

00002a  0000              DCW      0x0000
                  |L6.44|
                          DCD      GUI_Context

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

                  GUI_UC__NumChars2NumBytes PROC
;;;95     */
;;;96     int GUI_UC__NumChars2NumBytes(const char GUI_UNI_PTR * s, int NumChars) {
000000  e92d41f0          PUSH     {r4-r8,lr}
000004  4605              MOV      r5,r0
000006  460e              MOV      r6,r1
;;;97       int CharSize, NumBytes = 0;
000008  2400              MOVS     r4,#0
;;;98       while (NumChars--) {
;;;99         CharSize = GUI_UC__GetCharSize(s);
00000a  4f06              LDR      r7,|L7.36|
;;;100        s += CharSize;    
;;;101        NumBytes += CharSize;
00000c  e005              B        |L7.26|
                  |L7.14|
00000e  69f8              LDR      r0,[r7,#0x1c]         ;99  ; GUI_Context
000010  6841              LDR      r1,[r0,#4]            ;99
000012  4628              MOV      r0,r5                 ;99
000014  4788              BLX      r1                    ;99
000016  4405              ADD      r5,r5,r0              ;100
000018  4404              ADD      r4,r4,r0
                  |L7.26|
00001a  1e76              SUBS     r6,r6,#1              ;98
00001c  d2f7              BCS      |L7.14|
;;;102      }
;;;103      return NumBytes;
00001e  4620              MOV      r0,r4
;;;104    }
000020  e8bd81f0          POP      {r4-r8,pc}
;;;105    
                          ENDP

                  |L7.36|
                          DCD      GUI_Context

⌨️ 快捷键说明

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