📄 guiuc0.lst
字号:
C51 COMPILER V8.05a GUIUC0 04/11/2008 14:18:59 PAGE 1
C51 COMPILER V8.05a, COMPILATION OF MODULE GUIUC0
OBJECT MODULE PLACED IN GUIUC0.obj
COMPILER INVOKED BY: D:\Program Files\keil\C51\BIN\C51.EXE gui\Core\GUIUC0.c LARGE BROWSE MDU_F120 DEBUG OBJECTEXTEND PR
-INT(.\GUIUC0.lst) OBJECT(GUIUC0.obj)
line level source
1 /*
2 *********************************************************************************************************
3 * uC/GUI
4 * Universal graphic software for embedded applications
5 *
6 * (c) Copyright 2002, Micrium Inc., Weston, FL
7 * (c) Copyright 2002, SEGGER Microcontroller Systeme GmbH
8 *
9 * 礐/GUI is protected by international copyright laws. Knowledge of the
10 * source code may not be used to write a similar product. This file may
11 * only be used in accordance with a license and should not be redistributed
12 * in any way. We appreciate your understanding and fairness.
13 *
14 ----------------------------------------------------------------------
15 File : GUIUC0.C
16 Purpose : Implementation of character and string services
17 ----------------------------------------------------------------------
18 Version-Date---Author-Explanation
19 ---------------------------END-OF-HEADER------------------------------
20 */
21
22 #include <stddef.h> /* needed for definition of NULL */
23 #include "gui\Core\GUI.h"
24
25 #if GUI_SUPPORT_UNICODE
26
27 /*
28 ********************************************************
29 * *
30 * UNICODE routines *
31 * *
32 ********************************************************
33 */
34
35 /******************* GUI_UC2DB ***********************************
36 Convert Convert UNICODE 16-bit value into double byte version
37 Byte0: First byte, msb
38 Byte1: Last byte, lsb
39 */
40 void GUI_UC2DB (U16 Code, U8* pOut) {
41 1 /* move regular ASCII to (unused) 0xE000-0xE0ff area */
42 1 if (Code < 0x100) {
43 2 if (Code !=0) /* end marker ? */
44 2 Code += 0xe000;
45 2 } else {
46 2 /* If Low byte 0: Move to (unused) 0xE100-0xE1ff area */
47 2 if ((Code&0xff) == 0) {
48 3 Code = (Code>>8) +0xe100;
49 3 }
50 2 }
51 1 /* Convert into double byte, putting msb first*/
52 1 *pOut++ = Code >> 8; /* Save msb first */
53 1 *pOut = Code & 0xff;
54 1 }
C51 COMPILER V8.05a GUIUC0 04/11/2008 14:18:59 PAGE 2
55
56 /******************* GUI_DB2UC ***********************************
57 Convert Unicode double byte into UNICODE
58 Byte0: First byte, msb
59 Byte1: Last byte, lsb
60 */
61
62 U16 GUI_DB2UC (U8 Byte0, U8 Byte1) {
63 1 if (Byte0==0)
64 1 return 0;
65 1 if ((Byte0&0xfe) == 0xe0) {
66 2 if (Byte0 == 0xe0) /* ASCII */
67 2 return Byte1;
68 2 return ((U16)Byte1)<<8; /* low byte was zero */
69 2 }
70 1 return Byte1 | (((U16)Byte0)<<8);
71 1 }
72
73 #else
void GUIUC0_C(void) {} /* avoid empty object files */
#endif /* GUI_SUPPORT_UNICODE */
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 114 ----
CONSTANT SIZE = ---- ----
XDATA SIZE = ---- 3
PDATA SIZE = ---- ----
DATA SIZE = ---- ----
IDATA SIZE = ---- ----
BIT SIZE = ---- ----
END OF MODULE INFORMATION.
C51 COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -