📄 guiuc0.txt
字号:
; generated by ARM C/C++ Compiler with , RVCT4.0 [Build 524] for uVision
; commandline ArmCC [--split_sections --debug -c --asm --interleave -o.\Obj\guiuc0.o --depend=.\Obj\guiuc0.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\GUIUC0.c]
THUMB
AREA ||i.GUI_DB2UC||, CODE, READONLY, ALIGN=1
GUI_DB2UC PROC
;;;62 */
;;;63 U16 GUI_DB2UC(U8 Byte0, U8 Byte1) {
000000 2800 CMP r0,#0
;;;64 if (Byte0==0)
000002 d006 BEQ |L1.18|
;;;65 return 0;
;;;66 if ((Byte0&0xfe) == 0xe0) {
000004 2270 MOVS r2,#0x70
000006 ebb20f50 CMP r2,r0,LSR #1
00000a d105 BNE |L1.24|
;;;67 if (Byte0 == 0xe0) /* ASCII */
00000c 28e0 CMP r0,#0xe0
00000e d101 BNE |L1.20|
;;;68 return Byte1;
000010 4608 MOV r0,r1
|L1.18|
;;;69 return ((U16)Byte1)<<8; /* low byte was zero */
;;;70 }
;;;71 return Byte1 | (((U16)Byte0)<<8);
;;;72 }
000012 4770 BX lr
|L1.20|
000014 0208 LSLS r0,r1,#8 ;69
000016 4770 BX lr
|L1.24|
000018 ea412000 ORR r0,r1,r0,LSL #8 ;71
00001c 4770 BX lr
;;;73
ENDP
AREA ||i.GUI_UC2DB||, CODE, READONLY, ALIGN=1
GUI_UC2DB PROC
;;;37 */
;;;38 void GUI_UC2DB(U16 Code, U8* pOut) {
000000 28ff CMP r0,#0xff
;;;39 /* move regular ASCII to (unused) 0xE000-0xE0ff area */
;;;40 if (Code < 0x100) {
000002 d803 BHI |L2.12|
;;;41 if (Code !=0) /* end marker ? */
000004 b150 CBZ r0,|L2.28|
;;;42 Code += 0xe000;
000006 f5004060 ADD r0,r0,#0xe000
00000a e006 B |L2.26|
|L2.12|
;;;43 } else {
;;;44 /* If Low byte 0: Move to (unused) 0xE100-0xE1ff area */
;;;45 if ((Code&0xff) == 0) {
00000c f0100fff TST r0,#0xff
000010 d104 BNE |L2.28|
;;;46 Code = (Code>>8) +0xe100;
000012 f44f4261 MOV r2,#0xe100
000016 eb022010 ADD r0,r2,r0,LSR #8
|L2.26|
00001a b280 UXTH r0,r0
|L2.28|
;;;47 }
;;;48 }
;;;49 /* Convert into double byte, putting msb first*/
;;;50 *pOut++ = Code >> 8; /* Save msb first */
00001c 0a02 LSRS r2,r0,#8
00001e 700a STRB r2,[r1,#0]
;;;51 *pOut = Code & 0xff;
000020 7048 STRB r0,[r1,#1]
;;;52 }
000022 4770 BX lr
;;;53
ENDP
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -