📄 guiencjs.txt
字号:
; generated by ARM C/C++ Compiler with , RVCT4.0 [Build 524] for uVision
; commandline ArmCC [--split_sections --debug -c --asm --interleave -o.\Obj\guiencjs.o --depend=.\Obj\guiencjs.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\GUIEncJS.c]
THUMB
AREA ||i._DispLine_SJIS||, CODE, READONLY, ALIGN=1
_DispLine_SJIS PROC
;;;91 */
;;;92 static void _DispLine_SJIS(const char GUI_UNI_PTR *s, int Len) {
000000 b570 PUSH {r4-r6,lr}
000002 4604 MOV r4,r0
000004 460d MOV r5,r1
;;;93 U8 c0;
;;;94 while (--Len >=0) {
;;;95 c0=*(const U8*)s++;
;;;96 if (c0 > 127) {
;;;97 U8 c1 = *(const U8*)s++;
;;;98 Len--;
;;;99 GL_DispChar (DB2SJIS(c0, c1));
;;;100 } else {
;;;101 GL_DispChar(c0);
000006 e00a B |L1.30|
|L1.8|
000008 f8140b01 LDRB r0,[r4],#1 ;95
00000c 287f CMP r0,#0x7f ;96
00000e d904 BLS |L1.26|
000010 f8141b01 LDRB r1,[r4],#1 ;97
000014 1e6d SUBS r5,r5,#1 ;98
000016 ea412000 ORR r0,r1,r0,LSL #8 ;98
|L1.26|
00001a f7fffffe BL GL_DispChar
|L1.30|
00001e 1e6d SUBS r5,r5,#1 ;94
000020 d5f2 BPL |L1.8|
;;;102 }
;;;103 }
;;;104 }
000022 bd70 POP {r4-r6,pc}
;;;105
ENDP
AREA ||i._GetLineDistX_SJIS||, CODE, READONLY, ALIGN=1
_GetLineDistX_SJIS PROC
;;;42 */
;;;43 static int _GetLineDistX_SJIS(const char GUI_UNI_PTR *s, int Len) {
000000 b570 PUSH {r4-r6,lr}
000002 0004 MOVS r4,r0
000004 460d MOV r5,r1
;;;44 int Dist =0;
000006 f04f0600 MOV r6,#0
;;;45 if (s) {
00000a d010 BEQ |L2.46|
00000c e00b B |L2.38|
|L2.14|
;;;46 U8 c0;
;;;47 while (((c0=*(const U8*)s) !=0) && Len >=0) {
;;;48 s++; Len--;
00000e 1c64 ADDS r4,r4,#1
000010 1e6d SUBS r5,r5,#1
;;;49 if (c0 > 127) {
000012 287f CMP r0,#0x7f
000014 d904 BLS |L2.32|
;;;50 U8 c1 = *(const U8*)s++;
000016 f8141b01 LDRB r1,[r4],#1
;;;51 Len--;
00001a 1e6d SUBS r5,r5,#1
00001c ea412000 ORR r0,r1,r0,LSL #8
|L2.32|
;;;52 Dist += GUI_GetCharDistX(DB2SJIS(c0, c1));
;;;53 } else {
;;;54 Dist += GUI_GetCharDistX(c0);
000020 f7fffffe BL GUI_GetCharDistX
000024 4406 ADD r6,r6,r0
|L2.38|
000026 7820 LDRB r0,[r4,#0] ;47
000028 b108 CBZ r0,|L2.46|
00002a 2d00 CMP r5,#0 ;47
00002c daef BGE |L2.14|
|L2.46|
;;;55 }
;;;56 }
;;;57 }
;;;58 return Dist;
00002e 4630 MOV r0,r6
;;;59 }
000030 bd70 POP {r4-r6,pc}
;;;60
ENDP
AREA ||i._GetLineLen_SJIS||, CODE, READONLY, ALIGN=1
_GetLineLen_SJIS PROC
;;;70 */
;;;71 static int _GetLineLen_SJIS(const char GUI_UNI_PTR *s, int MaxLen) {
000000 4602 MOV r2,r0
;;;72 int Len =0;
000002 2000 MOVS r0,#0
;;;73 U8 c0;
;;;74 while (((c0=*(const U8*)s) !=0) && Len < MaxLen) {
000004 e008 B |L3.24|
|L3.6|
;;;75 s++;
000006 1c52 ADDS r2,r2,#1
;;;76 if (c0 > 127) {
000008 2b7f CMP r3,#0x7f
00000a d902 BLS |L3.18|
;;;77 Len++; s++;
00000c 1c40 ADDS r0,r0,#1
00000e 1c52 ADDS r2,r2,#1
000010 e001 B |L3.22|
|L3.18|
;;;78 } else {
;;;79 switch (c0) {
000012 2b0a CMP r3,#0xa
000014 d005 BEQ |L3.34|
|L3.22|
;;;80 case '\n': return Len;
;;;81 }
;;;82 }
;;;83 Len++;
000016 1c40 ADDS r0,r0,#1
|L3.24|
000018 7813 LDRB r3,[r2,#0] ;74
00001a 2b00 CMP r3,#0 ;74
00001c d001 BEQ |L3.34|
00001e 4288 CMP r0,r1 ;74
000020 dbf1 BLT |L3.6|
|L3.34|
;;;84 }
;;;85 return Len;
;;;86 }
000022 4770 BX lr
;;;87
ENDP
AREA ||.constdata||, DATA, READONLY, ALIGN=2
GUI_ENC_APIList_SJIS
DCD _GetLineDistX_SJIS
DCD _GetLineLen_SJIS
DCD _DispLine_SJIS
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -