📄 utils.lst
字号:
C51 COMPILER V7.09 UTILS 07/27/2007 15:11:24 PAGE 1
C51 COMPILER V7.09, COMPILATION OF MODULE UTILS
OBJECT MODULE PLACED IN utils.obj
COMPILER INVOKED BY: F:\Keil\C51\BIN\C51.EXE tcp\utils.c LARGE BROWSE DEBUG OBJECTEXTEND PRINT(.\utils.lst) OBJECT(utils
-.obj)
line level source
1 #include "utils.h"
2
3 /*
4 void memcpy(void *s1, const void *s2, int n)
5 {
6 int i;
7
8 for (i = 0; i < n; i++)
9 ((char *)(s1))[i] = ((const char *)(s2))[i];
10 }
11
12 void memset(void *s, const char ch, int n)
13 {
14 int i;
15
16 for (i = 0; i < n; i++)
17 ((char *)(s))[i] = ch;
18 }
19 */
20 unsigned short ntohs(unsigned short s)
21 {
22 1 return (s >> 8) | (s << 8);
23 1 }
24
25 unsigned long ntohl(unsigned long l)
26 {
27 1 return ((l >> 24) & 0x000000ff) |
28 1 ((l >> 8) & 0x0000ff00) |
29 1 ((l << 8) & 0x00ff0000) |
30 1 ((l << 24) & 0xff000000);
31 1 }
32
33 unsigned short htons(unsigned short s)
34 {
35 1 return (s >> 8) | (s << 8);
36 1 }
37
38 unsigned long htonl(unsigned long l)
39 {
40 1 return ((l >> 24) & 0x000000ff) |
41 1 ((l >> 8) & 0x0000ff00) |
42 1 ((l << 8) & 0x00ff0000) |
43 1 ((l << 24) & 0xff000000);
44 1 }
45
46 unsigned long strtoul(char *s)
47 {
48 1 unsigned long ret;
49 1 int i;
50 1
51 1 ret = 0;
52 1
53 1 while (*s != '\0') {
54 2 if (*s >= '0' && *s <= '9')
C51 COMPILER V7.09 UTILS 07/27/2007 15:11:24 PAGE 2
55 2 i = *s - '0';
56 2 else if (*s >= 'a' && *s <= 'f')
57 2 i = *s - 'a' + 0xa;
58 2 else if (*s >= 'A' && *s <= 'F')
59 2 i = *s - 'A' + 0xa;
60 2 else
61 2 return -1;
62 2 ret = (ret << 4) + i;
63 2 s++;
64 2 }
65 1
66 1 return ret;
67 1 }
68
69 void ultostr(char *s, unsigned long data1)
70 {
71 1 int i;
72 1
73 1 s[8] = 0;
74 1 for(i=7; i>=0; i--, data1 >>=4)
75 1 {
76 2 if((data1&0xf)<=9)
77 2 s[i] = (data1&0xf)+'0';
78 2 else
79 2 s[i] = (data1&0xf)+'a'-0x0a;
80 2 }
81 1 }
82
83 unsigned long strtobcd(char *s)
84 {
85 1 unsigned long ret;
86 1 int i;
87 1
88 1 ret = 0;
89 1
90 1 while (*s != '\0') {
91 2 if (*s >= '0' && *s <= '9')
92 2 i = *s - '0';
93 2 else
94 2 return -1;
95 2 ret = (ret << 4) + i;
96 2 s++;
97 2 }
98 1
99 1 return ret;
100 1 }
101
102 unsigned long strtodec(char *str, int cnt)
103 {
104 1 unsigned long i, data1 = 0;
105 1
106 1 for(i=0; i<cnt; i++)
107 1 {
108 2 data1 *= 10;
109 2 if(str[i]<'0'||str[i]>'9')
110 2 return -1;
111 2 data1 += str[i]-'0';
112 2 }
113 1 return data1;
114 1 }
115
116 int strlen(const char *s)
C51 COMPILER V7.09 UTILS 07/27/2007 15:11:24 PAGE 3
117 {
118 1 int i = 0;
119 1
120 1 for(;*s != '\0'; s++)
121 1 i++;
122 1
123 1 return i;
124 1 }
125
126 int strncmp(const char *s1, const char *s2, int maxlen)
127 {
128 1 int i;
129 1
130 1 for(i = 0; i < maxlen; i++) {
131 2 if(s1[i] != s2[i])
132 2 return ((int) s1[i]) - ((int) s2[i]);
133 2 if(s1[i] == 0)
134 2 return 0;
135 2 }
136 1
137 1 return 0;
138 1 }
139
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 1410 ----
CONSTANT SIZE = ---- ----
XDATA SIZE = ---- 58
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 + -