lib_ascii.txt
15.6 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
; generated by Component: ARM Compiler 5.06 update 6 (build 750) Tool: ArmCC [4d3637]
; commandline ArmCC [--c99 --list --split_sections --debug -c --asm --interleave -o.\flash\obj\lib_ascii.o --asm_dir=.\Flash\List\ --list_dir=.\Flash\List\ --depend=.\flash\obj\lib_ascii.d --cpu=Cortex-M4.fp --apcs=interwork -O1 --diag_suppress=9931,870 -I..\..\Libraries\CMSIS\Include -I..\..\Libraries\CMSIS\Device\ST\STM32F4xx\Include -I..\..\Libraries\STM32F4xx_StdPeriph_Driver\inc -I..\..\uCOS-III\uC-CPU -I..\..\uCOS-III\uC-LIB -I..\..\uCOS-III\uCOS-III\Ports -I..\..\uCOS-III\uCOS-III\Source -I..\..\uCOS-III\uC-CPU\ARM-Cortex-M4\RealView -I..\..\uCOS-III\uC-LIB\Ports\ARM-Cortex-M4\RealView -I..\..\uCOS-III\uCOS-III\Ports\ARM-Cortex-M4\Generic\RealView -I..\..\User -I..\..\User\bsp -I..\..\User\bsp\inc -I..\..\User\libapp -I..\..\RL-ARM\Config -I..\..\RL-ARM\Driver -I..\..\RL-ARM\RL-RTX\inc -I..\..\User\bsp\BSP -I..\..\RL-ARM\RL-CAN -I..\..\Libraries\DSP_LIB\Include -I..\..\MODBUS\modbus\rtu -I..\..\MODBUS\BARE\port -I..\..\MODBUS\modbus\include -I..\..\User\bsp\BSP -I..\..\PLC -I..\..\Avoid -I..\..\User\parameter -I..\..\User\LaserMotionCtr -I..\..\User\W5100S -I..\..\User\bsp -I..\..\User\CHASSIS -I..\..\User\CONTROLFUNCTION -I..\..\User\DATAUPDATE -I..\..\User\HARAWARE -I..\..\User\MOTORDRIVER -I..\..\User\NAVAGATION -I..\..\User\PLATFORM -I..\..\User\SENSOR -I.\RTE\_Flash -IC:\Users\YDJ\AppData\Local\Arm\Packs\ARM\CMSIS\5.5.1\CMSIS\Core\Include -IC:\Users\YDJ\AppData\Local\Arm\Packs\Keil\STM32F4xx_DFP\2.13.0\Drivers\CMSIS\Device\ST\STM32F4xx\Include -D__UVISION_VERSION=527 -D_RTE_ -DSTM32F407xx -DUSE_STDPERIPH_DRIVER -DSTM32F40_41xxx -D__RTX -D__FPU_USED=1 --omf_browse=.\flash\obj\lib_ascii.crf ..\..\uCOS-III\uC-LIB\lib_ascii.c]
THUMB
AREA ||i.ASCII_Cmp||, CODE, READONLY, ALIGN=1
ASCII_Cmp PROC
;;;646
;;;647 CPU_BOOLEAN ASCII_Cmp (CPU_CHAR c1,
000000 b500 PUSH {lr}
;;;648 CPU_CHAR c2)
;;;649 {
000002 460b MOV r3,r1
;;;650 CPU_CHAR c1_upper;
;;;651 CPU_CHAR c2_upper;
;;;652 CPU_BOOLEAN cmp;
;;;653
;;;654
;;;655 c1_upper = ASCII_ToUpper(c1);
000004 f7fffffe BL ASCII_ToUpper
000008 4602 MOV r2,r0
;;;656 c2_upper = ASCII_ToUpper(c2);
00000a 4618 MOV r0,r3
00000c f7fffffe BL ASCII_ToUpper
;;;657 cmp = (c1_upper == c2_upper) ? (DEF_YES) : (DEF_NO);
000010 4282 CMP r2,r0
000012 d101 BNE |L1.24|
000014 2001 MOVS r0,#1
;;;658
;;;659 return (cmp);
;;;660 }
000016 bd00 POP {pc}
|L1.24|
000018 2000 MOVS r0,#0 ;657
00001a bd00 POP {pc}
;;;661
ENDP
AREA ||i.ASCII_IsAlpha||, CODE, READONLY, ALIGN=1
ASCII_IsAlpha PROC
;;;154
;;;155 CPU_BOOLEAN ASCII_IsAlpha (CPU_CHAR c)
000000 f1a00141 SUB r1,r0,#0x41
;;;156 {
;;;157 CPU_BOOLEAN alpha;
;;;158
;;;159
;;;160 alpha = ASCII_IS_ALPHA(c);
000004 2919 CMP r1,#0x19
000006 d902 BLS |L2.14|
000008 3861 SUBS r0,r0,#0x61
00000a 2819 CMP r0,#0x19
00000c d801 BHI |L2.18|
|L2.14|
00000e 2001 MOVS r0,#1
;;;161
;;;162 return (alpha);
;;;163 }
000010 4770 BX lr
|L2.18|
000012 2000 MOVS r0,#0 ;160
000014 4770 BX lr
;;;164
ENDP
AREA ||i.ASCII_IsAlphaNum||, CODE, READONLY, ALIGN=1
ASCII_IsAlphaNum PROC
;;;184
;;;185 CPU_BOOLEAN ASCII_IsAlphaNum (CPU_CHAR c)
000000 f1a00141 SUB r1,r0,#0x41
;;;186 {
;;;187 CPU_BOOLEAN alpha_num;
;;;188
;;;189
;;;190 alpha_num = ASCII_IS_ALPHA_NUM(c);
000004 2919 CMP r1,#0x19
000006 d905 BLS |L3.20|
000008 3920 SUBS r1,r1,#0x20
00000a 2919 CMP r1,#0x19
00000c d902 BLS |L3.20|
00000e 3830 SUBS r0,r0,#0x30
000010 2809 CMP r0,#9
000012 d801 BHI |L3.24|
|L3.20|
000014 2001 MOVS r0,#1
;;;191
;;;192 return (alpha_num);
;;;193 }
000016 4770 BX lr
|L3.24|
000018 2000 MOVS r0,#0 ;190
00001a 4770 BX lr
;;;194
ENDP
AREA ||i.ASCII_IsBlank||, CODE, READONLY, ALIGN=1
ASCII_IsBlank PROC
;;;369
;;;370 CPU_BOOLEAN ASCII_IsBlank (CPU_CHAR c)
000000 2820 CMP r0,#0x20
;;;371 {
000002 d003 BEQ |L4.12|
;;;372 CPU_BOOLEAN blank;
;;;373
;;;374
;;;375 blank = ASCII_IS_BLANK(c);
000004 2809 CMP r0,#9
000006 d001 BEQ |L4.12|
000008 2000 MOVS r0,#0
;;;376
;;;377 return (blank);
;;;378 }
00000a 4770 BX lr
|L4.12|
00000c 2001 MOVS r0,#1 ;375
00000e 4770 BX lr
;;;379
ENDP
AREA ||i.ASCII_IsCtrl||, CODE, READONLY, ALIGN=1
ASCII_IsCtrl PROC
;;;537
;;;538 CPU_BOOLEAN ASCII_IsCtrl (CPU_CHAR c)
000000 b241 SXTB r1,r0
;;;539 {
;;;540 CPU_BOOLEAN ctrl;
;;;541
;;;542
;;;543 ctrl = ASCII_IS_CTRL(c);
000002 2900 CMP r1,#0
000004 db01 BLT |L5.10|
000006 281f CMP r0,#0x1f
000008 d903 BLS |L5.18|
|L5.10|
00000a 287f CMP r0,#0x7f
00000c d001 BEQ |L5.18|
00000e 2000 MOVS r0,#0
;;;544
;;;545 return (ctrl);
;;;546 }
000010 4770 BX lr
|L5.18|
000012 2001 MOVS r0,#1 ;543
000014 4770 BX lr
;;;547
ENDP
AREA ||i.ASCII_IsDig||, CODE, READONLY, ALIGN=1
ASCII_IsDig PROC
;;;276
;;;277 CPU_BOOLEAN ASCII_IsDig (CPU_CHAR c)
000000 3830 SUBS r0,r0,#0x30
;;;278 {
;;;279 CPU_BOOLEAN dig;
;;;280
;;;281
;;;282 dig = ASCII_IS_DIG(c);
000002 2809 CMP r0,#9
000004 d801 BHI |L6.10|
000006 2001 MOVS r0,#1
;;;283
;;;284 return (dig);
;;;285 }
000008 4770 BX lr
|L6.10|
00000a 2000 MOVS r0,#0 ;282
00000c 4770 BX lr
;;;286
ENDP
AREA ||i.ASCII_IsDigHex||, CODE, READONLY, ALIGN=1
ASCII_IsDigHex PROC
;;;335
;;;336 CPU_BOOLEAN ASCII_IsDigHex (CPU_CHAR c)
000000 f1a00130 SUB r1,r0,#0x30
;;;337 {
;;;338 CPU_BOOLEAN dig_hex;
;;;339
;;;340
;;;341 dig_hex = ASCII_IS_DIG_HEX(c);
000004 2909 CMP r1,#9
000006 d905 BLS |L7.20|
000008 3911 SUBS r1,r1,#0x11
00000a 2905 CMP r1,#5
00000c d902 BLS |L7.20|
00000e 3861 SUBS r0,r0,#0x61
000010 2805 CMP r0,#5
000012 d801 BHI |L7.24|
|L7.20|
000014 2001 MOVS r0,#1
;;;342
;;;343 return (dig_hex);
;;;344 }
000016 4770 BX lr
|L7.24|
000018 2000 MOVS r0,#0 ;341
00001a 4770 BX lr
;;;345
ENDP
AREA ||i.ASCII_IsDigOct||, CODE, READONLY, ALIGN=1
ASCII_IsDigOct PROC
;;;305
;;;306 CPU_BOOLEAN ASCII_IsDigOct (CPU_CHAR c)
000000 3830 SUBS r0,r0,#0x30
;;;307 {
;;;308 CPU_BOOLEAN dig_oct;
;;;309
;;;310
;;;311 dig_oct = ASCII_IS_DIG_OCT(c);
000002 2807 CMP r0,#7
000004 d801 BHI |L8.10|
000006 2001 MOVS r0,#1
;;;312
;;;313 return (dig_oct);
;;;314 }
000008 4770 BX lr
|L8.10|
00000a 2000 MOVS r0,#0 ;311
00000c 4770 BX lr
;;;315
ENDP
AREA ||i.ASCII_IsGraph||, CODE, READONLY, ALIGN=1
ASCII_IsGraph PROC
;;;472
;;;473 CPU_BOOLEAN ASCII_IsGraph (CPU_CHAR c)
000000 3821 SUBS r0,r0,#0x21
;;;474 {
;;;475 CPU_BOOLEAN graph;
;;;476
;;;477
;;;478 graph = ASCII_IS_GRAPH(c);
000002 285d CMP r0,#0x5d
000004 d801 BHI |L9.10|
000006 2001 MOVS r0,#1
;;;479
;;;480 return (graph);
;;;481 }
000008 4770 BX lr
|L9.10|
00000a 2000 MOVS r0,#0 ;478
00000c 4770 BX lr
;;;482
ENDP
AREA ||i.ASCII_IsLower||, CODE, READONLY, ALIGN=1
ASCII_IsLower PROC
;;;215
;;;216 CPU_BOOLEAN ASCII_IsLower (CPU_CHAR c)
000000 3861 SUBS r0,r0,#0x61
;;;217 {
;;;218 CPU_BOOLEAN lower;
;;;219
;;;220
;;;221 lower = ASCII_IS_LOWER(c);
000002 2819 CMP r0,#0x19
000004 d801 BHI |L10.10|
000006 2001 MOVS r0,#1
;;;222
;;;223 return (lower);
;;;224 }
000008 4770 BX lr
|L10.10|
00000a 2000 MOVS r0,#0 ;221
00000c 4770 BX lr
;;;225
ENDP
AREA ||i.ASCII_IsPrint||, CODE, READONLY, ALIGN=1
ASCII_IsPrint PROC
;;;438
;;;439 CPU_BOOLEAN ASCII_IsPrint (CPU_CHAR c)
000000 3820 SUBS r0,r0,#0x20
;;;440 {
;;;441 CPU_BOOLEAN print;
;;;442
;;;443
;;;444 print = ASCII_IS_PRINT(c);
000002 285e CMP r0,#0x5e
000004 d801 BHI |L11.10|
000006 2001 MOVS r0,#1
;;;445
;;;446 return (print);
;;;447 }
000008 4770 BX lr
|L11.10|
00000a 2000 MOVS r0,#0 ;444
00000c 4770 BX lr
;;;448
ENDP
AREA ||i.ASCII_IsPunct||, CODE, READONLY, ALIGN=1
ASCII_IsPunct PROC
;;;503
;;;504 CPU_BOOLEAN ASCII_IsPunct (CPU_CHAR c)
000000 f1a00120 SUB r1,r0,#0x20
;;;505 {
;;;506 CPU_BOOLEAN punct;
;;;507
;;;508
;;;509 punct = ASCII_IS_PUNCT(c);
000004 295e CMP r1,#0x5e
000006 d816 BHI |L12.54|
000008 2820 CMP r0,#0x20
00000a d014 BEQ |L12.54|
00000c 280d CMP r0,#0xd
00000e d012 BEQ |L12.54|
000010 280a CMP r0,#0xa
000012 d010 BEQ |L12.54|
000014 280c CMP r0,#0xc
000016 d00e BEQ |L12.54|
000018 2809 CMP r0,#9
00001a d00c BEQ |L12.54|
00001c 280b CMP r0,#0xb
00001e d00a BEQ |L12.54|
000020 3921 SUBS r1,r1,#0x21
000022 291a CMP r1,#0x1a
000024 d307 BCC |L12.54|
000026 3920 SUBS r1,r1,#0x20
000028 291a CMP r1,#0x1a
00002a d304 BCC |L12.54|
00002c 3830 SUBS r0,r0,#0x30
00002e 280a CMP r0,#0xa
000030 d301 BCC |L12.54|
000032 2001 MOVS r0,#1
;;;510
;;;511 return (punct);
;;;512 }
000034 4770 BX lr
|L12.54|
000036 2000 MOVS r0,#0 ;509
000038 4770 BX lr
;;;513
ENDP
AREA ||i.ASCII_IsSpace||, CODE, READONLY, ALIGN=1
ASCII_IsSpace PROC
;;;403
;;;404 CPU_BOOLEAN ASCII_IsSpace (CPU_CHAR c)
000000 2820 CMP r0,#0x20
;;;405 {
000002 d00b BEQ |L13.28|
;;;406 CPU_BOOLEAN space;
;;;407
;;;408
;;;409 space = ASCII_IS_SPACE(c);
000004 280d CMP r0,#0xd
000006 d009 BEQ |L13.28|
000008 280a CMP r0,#0xa
00000a d007 BEQ |L13.28|
00000c 280c CMP r0,#0xc
00000e d005 BEQ |L13.28|
000010 2809 CMP r0,#9
000012 d003 BEQ |L13.28|
000014 280b CMP r0,#0xb
000016 d001 BEQ |L13.28|
000018 2000 MOVS r0,#0
;;;410
;;;411 return (space);
;;;412 }
00001a 4770 BX lr
|L13.28|
00001c 2001 MOVS r0,#1 ;409
00001e 4770 BX lr
;;;413
ENDP
AREA ||i.ASCII_IsUpper||, CODE, READONLY, ALIGN=1
ASCII_IsUpper PROC
;;;245
;;;246 CPU_BOOLEAN ASCII_IsUpper (CPU_CHAR c)
000000 3841 SUBS r0,r0,#0x41
;;;247 {
;;;248 CPU_BOOLEAN upper;
;;;249
;;;250
;;;251 upper = ASCII_IS_UPPER(c);
000002 2819 CMP r0,#0x19
000004 d801 BHI |L14.10|
000006 2001 MOVS r0,#1
;;;252
;;;253 return (upper);
;;;254 }
000008 4770 BX lr
|L14.10|
00000a 2000 MOVS r0,#0 ;251
00000c 4770 BX lr
;;;255
ENDP
AREA ||i.ASCII_ToLower||, CODE, READONLY, ALIGN=1
ASCII_ToLower PROC
;;;576
;;;577 CPU_CHAR ASCII_ToLower (CPU_CHAR c)
000000 f1a00141 SUB r1,r0,#0x41
;;;578 {
;;;579 CPU_CHAR lower;
;;;580
;;;581
;;;582 lower = ASCII_TO_LOWER(c);
000004 2919 CMP r1,#0x19
000006 d800 BHI |L15.10|
000008 3020 ADDS r0,r0,#0x20
|L15.10|
00000a b2c0 UXTB r0,r0
;;;583
;;;584 return (lower);
;;;585 }
00000c 4770 BX lr
;;;586
ENDP
AREA ||i.ASCII_ToUpper||, CODE, READONLY, ALIGN=1
ASCII_ToUpper PROC
;;;614
;;;615 CPU_CHAR ASCII_ToUpper (CPU_CHAR c)
000000 f1a00161 SUB r1,r0,#0x61
;;;616 {
;;;617 CPU_CHAR upper;
;;;618
;;;619
;;;620 upper = ASCII_TO_UPPER(c);
000004 2919 CMP r1,#0x19
000006 d800 BHI |L16.10|
000008 3820 SUBS r0,r0,#0x20
|L16.10|
00000a b2c0 UXTB r0,r0
;;;621
;;;622 return (upper);
;;;623 }
00000c 4770 BX lr
;;;624
ENDP