📄 utils.lst
字号:
ARM GAS C:\DOKUME~1\harald\LOKALE~1\Temp/ccAJaaaa.s page 1
1 .file "utils.c"
2 @ GNU C version 4.2.1 (arm-elf)
3 @ compiled by GNU C version 3.4.5 (mingw special).
4 @ GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072
5 @ options passed: -I../../nutbld-eir10b-gcc/include -I../../nut/include
6 @ -imultilib -iprefix -D__USES_INITFINI__ -DELEKTOR_IR1 -DAUDIO_VS1053C
7 @ -mcpu=arm7tdmi -mthumb-interwork -auxbase-strip -Os -Wall
8 @ -Wstrict-prototypes -fomit-frame-pointer -fverbose-asm
9 @ options enabled: -falign-loops -fargument-alias -fbranch-count-reg
10 @ -fcaller-saves -fcommon -fcprop-registers -fcrossjumping
11 @ -fcse-follow-jumps -fcse-skip-blocks -fdefer-pop
12 @ -fdelete-null-pointer-checks -fearly-inlining
13 @ -feliminate-unused-debug-types -femit-class-debug-always
14 @ -fexpensive-optimizations -ffunction-cse -fgcse -fgcse-lm
15 @ -fguess-branch-probability -fident -fif-conversion -fif-conversion2
16 @ -finline-functions -finline-functions-called-once -fipa-pure-const
17 @ -fipa-reference -fipa-type-escape -fivopts -fkeep-static-consts
18 @ -fleading-underscore -fmath-errno -fmerge-constants
19 @ -fmove-loop-invariants -fomit-frame-pointer -foptimize-register-move
20 @ -foptimize-sibling-calls -fpeephole -fpeephole2 -freg-struct-return
21 @ -fregmove -freorder-functions -frerun-cse-after-loop -fsched-interblock
22 @ -fsched-spec -fsched-stalled-insns-dep -fschedule-insns -fschedule-insns2
23 @ -fshow-column -fsplit-ivs-in-unroller -fstrict-aliasing -fstrict-overflow
24 @ -fthread-jumps -ftoplevel-reorder -ftrapping-math -ftree-ccp
25 @ -ftree-copy-prop -ftree-copyrename -ftree-dce -ftree-dominator-opts
26 @ -ftree-dse -ftree-fre -ftree-loop-im -ftree-loop-ivcanon
27 @ -ftree-loop-optimize -ftree-lrs -ftree-salias -ftree-sink -ftree-sra
28 @ -ftree-store-ccp -ftree-store-copy-prop -ftree-ter
29 @ -ftree-vect-loop-version -ftree-vrp -funit-at-a-time -fverbose-asm
30 @ -fzero-initialized-in-bss -mlittle-endian -msched-prolog
31 @ -mthumb-interwork
32
33 @ Compiler executable checksum: a1555d757ad5a28c14890275aa38b7dd
34
35 .text
36 .align 2
37 .global Led0
38 .type Led0, %function
39 Led0:
40 @ Function supports interworking.
41 @ args = 0, pretend = 0, frame = 0
42 @ frame_needed = 0, uses_anonymous_args = 0
43 @ link register save eliminated.
44 @ lr needed for prologue @
45 0000 1EFF2FE1 bx lr @
46 .size Led0, .-Led0
47 .align 2
48 .global strdup
49 .type strdup, %function
50 strdup:
51 @ Function supports interworking.
52 @ args = 0, pretend = 0, frame = 0
53 @ frame_needed = 0, uses_anonymous_args = 0
54 0004 30402DE9 stmfd sp!, {r4, r5, lr} @,
55 0008 0050A0E1 mov r5, r0 @ str, str
56 000c FEFFFFEB bl strlen @
57 0010 014080E2 add r4, r0, #1 @ siz,,
ARM GAS C:\DOKUME~1\harald\LOKALE~1\Temp/ccAJaaaa.s page 2
58 0014 0400A0E1 mov r0, r4 @ siz, siz
59 0018 FEFFFFEB bl malloc @
60 001c 003050E2 subs r3, r0, #0 @ D.2891,
61 0020 0340A001 moveq r4, r3 @ copy, D.2891
62 0024 0420A011 movne r2, r4 @ siz, siz
63 0028 0510A011 movne r1, r5 @ str, str
64 002c 0340A011 movne r4, r3 @ copy, D.2891
65 0030 FEFFFF1B blne memcpy @
66 .L6:
67 0034 0400A0E1 mov r0, r4 @ <result>, copy
68 0038 3040BDE8 ldmfd sp!, {r4, r5, lr}
69 003c 1EFF2FE1 bx lr
70 .size strdup, .-strdup
71 .align 2
72 .global HttpSchemeRelease
73 .type HttpSchemeRelease, %function
74 HttpSchemeRelease:
75 @ Function supports interworking.
76 @ args = 0, pretend = 0, frame = 0
77 @ frame_needed = 0, uses_anonymous_args = 0
78 0040 10402DE9 stmfd sp!, {r4, lr} @,
79 0044 004050E2 subs r4, r0, #0 @ schm, schm
80 0048 0400000A beq .L13 @,
81 004c 000094E5 ldr r0, [r4, #0] @ D.2862, <variable>.schm_uri
82 0050 000050E3 cmp r0, #0 @ D.2862,
83 0054 FEFFFF1B blne free @
84 .L11:
85 0058 0400A0E1 mov r0, r4 @ schm, schm
86 005c FEFFFFEB bl free @
87 .L13:
88 0060 1040BDE8 ldmfd sp!, {r4, lr}
89 0064 1EFF2FE1 bx lr
90 .size HttpSchemeRelease, .-HttpSchemeRelease
91 .align 2
92 .global HttpSchemeParse
93 .type HttpSchemeParse, %function
94 HttpSchemeParse:
95 @ Function supports interworking.
96 @ args = 0, pretend = 0, frame = 0
97 @ frame_needed = 0, uses_anonymous_args = 0
98 0068 30402DE9 stmfd sp!, {r4, r5, lr} @,
99 006c 0050A0E1 mov r5, r0 @ uri, uri
100 0070 0000D0E5 ldrb r0, [r0, #0] @ zero_extendqisi2 @ tmp140,* uri
101 0074 000050E3 cmp r0, #0 @ tmp140,
102 0078 2D00000A beq .L15 @,
103 007c 1C00A0E3 mov r0, #28 @,
104 0080 FEFFFFEB bl malloc @
105 0084 004050E2 subs r4, r0, #0 @ schm,
106 0088 2A00000A beq .L17 @,
107 008c 0010A0E3 mov r1, #0 @,
108 0090 1C20A0E3 mov r2, #28 @,
109 0094 FEFFFFEB bl memset @
110 0098 0500A0E1 mov r0, r5 @ uri, uri
111 009c FEFFFFEB bl strdup @
112 00a0 000050E3 cmp r0, #0 @ tmp145,
113 00a4 000084E5 str r0, [r4, #0] @ tmp145, <variable>.schm_uri
114 00a8 01108012 addne r1, r0, #1 @ ivtmp.176, tmp145,
ARM GAS C:\DOKUME~1\harald\LOKALE~1\Temp/ccAJaaaa.s page 3
115 00ac 00C0A013 movne ip, #0 @ tmp160,
116 00b0 0C008415 strne r0, [r4, #12] @ tmp145, <variable>.schm_host
117 00b4 1300001A bne .L20 @,
118 00b8 1E0000EA b .L17 @
119 .L21:
120 00bc 3A0053E3 cmp r3, #58 @ D.2875,
121 00c0 01C04105 streqb ip, [r1, #-1] @ tmp160,
122 00c4 10108405 streq r1, [r4, #16] @ ivtmp.176, <variable>.schm_port
123 00c8 0D00000A beq .L24 @,
124 00cc 2F0053E3 cmp r3, #47 @ D.2875,
125 00d0 0030A003 moveq r3, #0 @ tmp149,
126 00d4 01304105 streqb r3, [r1, #-1] @ tmp149,
127 00d8 14108405 streq r1, [r4, #20] @ ivtmp.176, <variable>.schm_path
128 00dc 0C00000A beq .L27 @
129 .L25:
130 00e0 400053E3 cmp r3, #64 @ D.2875,
131 00e4 0600001A bne .L24 @,
132 00e8 01C041E5 strb ip, [r1, #-1] @ tmp160,
133 00ec 0C3094E5 ldr r3, [r4, #12] @ <variable>.schm_host, <variable>.schm_host
134 00f0 102094E5 ldr r2, [r4, #16] @ <variable>.schm_port, <variable>.schm_port
135 00f4 043084E5 str r3, [r4, #4] @ <variable>.schm_host, <variable>.schm_user
136 00f8 082084E5 str r2, [r4, #8] @ <variable>.schm_port, <variable>.schm_pass
137 00fc 10C084E5 str ip, [r4, #16] @ tmp160, <variable>.schm_port
138 0100 0C1084E5 str r1, [r4, #12] @ ivtmp.176, <variable>.schm_host
139 .L24:
140 0104 011081E2 add r1, r1, #1 @ ivtmp.176, ivtmp.176,
141 .L20:
142 0108 013051E5 ldrb r3, [r1, #-1] @ zero_extendqisi2 @ D.2875,
143 010c 000053E3 cmp r3, #0 @ D.2875,
144 0110 E9FFFF1A bne .L21 @,
145 .L27:
146 0114 100094E5 ldr r0, [r4, #16] @ temp.179, <variable>.schm_port
147 0118 000050E3 cmp r0, #0 @ temp.179,
148 011c 5030A003 moveq r3, #80 @ movhi @,
149 0120 B831C401 streqh r3, [r4, #24] @ movhi @, <variable>.schm_portnum
150 0124 0600000A beq .L31 @,
151 0128 FEFFFFEB bl atoi @
152 012c B801C4E1 strh r0, [r4, #24] @ movhi @, <variable>.schm_portnum
153 0130 030000EA b .L31 @
154 .L15:
155 0134 0040A0E1 mov r4, r0 @ schm, tmp140
156 .L17:
157 0138 0400A0E1 mov r0, r4 @ schm, schm
158 013c FEFFFFEB bl HttpSchemeRelease @
159 0140 0040A0E3 mov r4, #0 @ schm,
160 .L31:
161 0144 0400A0E1 mov r0, r4 @ <result>, schm
162 0148 3040BDE8 ldmfd sp!, {r4, r5, lr}
163 014c 1EFF2FE1 bx lr
164 .size HttpSchemeParse, .-HttpSchemeParse
165 .align 2
166 .global TcpReleaseHeaderLines
167 .type TcpReleaseHeaderLines, %function
168 TcpReleaseHeaderLines:
169 @ Function supports interworking.
170 @ args = 0, pretend = 0, frame = 0
171 @ frame_needed = 0, uses_anonymous_args = 0
ARM GAS C:\DOKUME~1\harald\LOKALE~1\Temp/ccAJaaaa.s page 4
172 0150 30402DE9 stmfd sp!, {r4, r5, lr} @,
173 0154 005050E2 subs r5, r0, #0 @ array, array
174 0158 0540A011 movne r4, r5 @ ap, array
175 015c 0100001A bne .L36 @,
176 0160 060000EA b .L39 @
177 .L37:
178 0164 FEFFFFEB bl free @
179 .L36:
180 0168 003094E5 ldr r3, [r4, #0] @ D.2858,* ap
181 016c 000053E2 subs r0, r3, #0 @ D.2858, D.2858
182 0170 044084E2 add r4, r4, #4 @ ap, ap,
183 0174 FAFFFF1A bne .L37 @,
184 0178 0500A0E1 mov r0, r5 @ array, array
185 017c FEFFFFEB bl free @
186 .L39:
187 0180 3040BDE8 ldmfd sp!, {r4, r5, lr}
188 0184 1EFF2FE1 bx lr
189 .size TcpReleaseHeaderLines, .-TcpReleaseHeaderLines
190 .align 2
191 .global TcpPutString
192 .type TcpPutString, %function
193 TcpPutString:
194 @ Function supports interworking.
195 @ args = 0, pretend = 0, frame = 0
196 @ frame_needed = 0, uses_anonymous_args = 0
197 0188 70402DE9 stmfd sp!, {r4, r5, r6, lr} @,
198 018c 0060A0E1 mov r6, r0 @ sock, sock
199 0190 0100A0E1 mov r0, r1 @ str, str
200 0194 0150A0E1 mov r5, r1 @ str, str
201 0198 FEFFFFEB bl strlen @
202 019c 0040A0E1 mov r4, r0 @ len,
203 01a0 050000EA b .L41 @
204 .L42:
205 01a4 FEFFFFEB bl NutTcpSend @
206 01a8 000050E3 cmp r0, #0 @ c
207 01ac 0000E0D3 mvnle r0, #0 @ D.2803,
208 01b0 080000DA ble .L45 @
209 .L43:
210 01b4 005085E0 add r5, r5, r0 @ str, str, c
211 01b8 044060E0 rsb r4, r0, r4 @ len, c, len
212 .L41:
213 01bc 0428A0E1 mov r2, r4, asl #16 @ tmp109, len,
214 01c0 000054E3 cmp r4, #0 @ len,
215 01c4 2228A0E1 mov r2, r2, lsr #16 @, tmp109,
216 01c8 0510A0E1 mov r1, r5 @ str, str
217 01cc 0600A0E1 mov r0, r6 @ sock, sock
218 01d0 F3FFFF1A bne .L42 @,
219 01d4 0400A0E1 mov r0, r4 @ D.2803, len
220 .L45:
221 01d8 7040BDE8 ldmfd sp!, {r4, r5, r6, lr}
222 01dc 1EFF2FE1 bx lr
223 .size TcpPutString, .-TcpPutString
224 .align 2
225 .global TcpGetLine
226 .type TcpGetLine, %function
227 TcpGetLine:
228 @ Function supports interworking.
ARM GAS C:\DOKUME~1\harald\LOKALE~1\Temp/ccAJaaaa.s page 5
229 @ args = 0, pretend = 0, frame = 0
230 @ frame_needed = 0, uses_anonymous_args = 0
231 01e0 0228A0E1 mov r2, r2, asl #16 @ tmp110, size,
232 01e4 F0402DE9 stmfd sp!, {r4, r5, r6, r7, lr} @,
233 01e8 2268B0E1 movs r6, r2, lsr #16 @ size, tmp110,
234 01ec 0070A0E1 mov r7, r0 @ sock, sock
235 01f0 0140A011 movne r4, r1 @ cp, line
236 01f4 0050A013 movne r5, #0 @ rc,
237 01f8 1100000A beq .L49 @,
238 .L63:
239 01fc 0410A0E1 mov r1, r4 @ cp, cp
240 0200 0700A0E1 mov r0, r7 @ sock, sock
241 0204 0120A0E3 mov r2, #1 @,
242 0208 FEFFFFEB bl NutTcpReceive @
243 020c 000050E3 cmp r0, #0 @,
244 0210 0050E0D3 mvnle r5, #0 @ rc,
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -