📄 gui_uc.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 + -