cgi.lst
来自「针对AVR单片机开发的嵌入式操作系统」· LST 代码 · 共 1,876 行 · 第 1/5 页
LST
1,876 行
GAS LISTING c:\Temp/ccEvaaaa.s page 1
1 .file "cgi.c"
2 .arch atmega128
3 __SREG__ = 0x3f
4 __SP_H__ = 0x3e
5 __SP_L__ = 0x3d
6 __tmp_reg__ = 0
7 __zero_reg__ = 1
8 .global __do_copy_data
9 .global __do_clear_bss
10 .data
11 .type spi_no, @object
12 .size spi_no, 1
13 spi_no:
14 0000 FF .byte -1
15 .type spi_ni, @object
16 .size spi_ni, 1
17 spi_ni:
18 0001 FF .byte -1
19 .LC0:
20 0002 3C74 643E .string "<td><img src=\"/"
20 3C69 6D67
20 2073 7263
20 3D22 2F00
21 .LC1:
22 0012 7231 00 .string "r1"
23 .LC2:
24 0015 7930 00 .string "y0"
25 .LC3:
26 0018 7931 00 .string "y1"
27 .LC4:
28 001b 7230 00 .string "r0"
29 .LC5:
30 001e 6731 00 .string "g1"
31 .LC6:
32 0021 6730 00 .string "g0"
33 .LC7:
34 0024 2E67 6966 .string ".gif\" width=\"28\" heigth=\"28\"></td>\r\n"
34 2220 7769
34 6474 683D
34 2232 3822
34 2068 6569
35 .text
36 .type HtmlLedRow, @function
37 HtmlLedRow:
38 /* prologue: frame size=10 */
39 0000 2F92 push r2
40 0002 3F92 push r3
41 0004 4F92 push r4
42 0006 5F92 push r5
43 0008 6F92 push r6
44 000a 7F92 push r7
45 000c 8F92 push r8
46 000e 9F92 push r9
47 0010 AF92 push r10
48 0012 BF92 push r11
49 0014 CF92 push r12
50 0016 DF92 push r13
GAS LISTING c:\Temp/ccEvaaaa.s page 2
51 0018 EF92 push r14
52 001a FF92 push r15
53 001c 0F93 push r16
54 001e 1F93 push r17
55 0020 CF93 push r28
56 0022 DF93 push r29
57 0024 CDB7 in r28,__SP_L__
58 0026 DEB7 in r29,__SP_H__
59 0028 2A97 sbiw r28,10
60 002a 0FB6 in __tmp_reg__,__SREG__
61 002c F894 cli
62 002e DEBF out __SP_H__,r29
63 0030 0FBE out __SREG__,__tmp_reg__
64 0032 CDBF out __SP_L__,r28
65 /* prologue end (size=26) */
66 0034 3C01 movw r6,r24
67 0036 6983 std Y+1,r22
68 0038 4A83 std Y+2,r20
69 003a 1801 movw r2,r16
70 003c 2901 movw r4,r18
71 003e CB82 std Y+3,r12
72 0040 DC82 std Y+4,r13
73 0042 ED82 std Y+5,r14
74 0044 FE82 std Y+6,r15
75 0046 8F82 std Y+7,r8
76 0048 9886 std Y+8,r9
77 004a A986 std Y+9,r10
78 004c BA86 std Y+10,r11
79 004e 6623 tst r22
80 0050 09F4 brne .+2
81 0052 81C0 rjmp .L19
82 0054 CC24 clr r12
83 0056 DD24 clr r13
84 0058 B62E mov r11,r22
85 .L17:
86 005a 2A81 ldd r18,Y+2
87 005c 2223 tst r18
88 005e 99F0 breq .L5
89 0060 2981 ldd r18,Y+1
90 0062 822F mov r24,r18
91 0064 9927 clr r25
92 0066 8C19 sub r24,r12
93 0068 9D09 sbc r25,r13
94 006a 0197 sbiw r24,1
95 006c 91E0 ldi r25,lo8(1)
96 006e E92E mov r14,r25
97 0070 F12C mov r15,__zero_reg__
98 0072 012D mov r16,__zero_reg__
99 0074 112D mov r17,__zero_reg__
100 0076 04C0 rjmp 2f
101 0078 EE0C 1: lsl r14
102 007a FF1C rol r15
103 007c 001F rol r16
104 007e 111F rol r17
105 0080 8A95 2: dec r24
106 0082 D2F7 brpl 1b
107 0084 0DC0 rjmp .L6
GAS LISTING c:\Temp/ccEvaaaa.s page 3
108 .L5:
109 0086 81E0 ldi r24,lo8(1)
110 0088 E82E mov r14,r24
111 008a F12C mov r15,__zero_reg__
112 008c 012D mov r16,__zero_reg__
113 008e 112D mov r17,__zero_reg__
114 0090 0C2C mov r0,r12
115 0092 04C0 rjmp 2f
116 0094 EE0C 1: lsl r14
117 0096 FF1C rol r15
118 0098 001F rol r16
119 009a 111F rol r17
120 009c 0A94 2: dec r0
121 009e D2F7 brpl 1b
122 .L6:
123 00a0 B301 movw r22,r6
124 00a2 80E0 ldi r24,lo8(.LC0)
125 00a4 90E0 ldi r25,hi8(.LC0)
126 00a6 0E94 0000 call fputs
127 00aa 8F81 ldd r24,Y+7
128 00ac 9885 ldd r25,Y+8
129 00ae A985 ldd r26,Y+9
130 00b0 BA85 ldd r27,Y+10
131 00b2 8E21 and r24,r14
132 00b4 9F21 and r25,r15
133 00b6 A023 and r26,r16
134 00b8 B123 and r27,r17
135 00ba 0097 sbiw r24,0
136 00bc A105 cpc r26,__zero_reg__
137 00be B105 cpc r27,__zero_reg__
138 00c0 61F1 breq .L7
139 00c2 8B81 ldd r24,Y+3
140 00c4 9C81 ldd r25,Y+4
141 00c6 AD81 ldd r26,Y+5
142 00c8 BE81 ldd r27,Y+6
143 00ca 8E21 and r24,r14
144 00cc 9F21 and r25,r15
145 00ce A023 and r26,r16
146 00d0 B123 and r27,r17
147 00d2 A201 movw r20,r4
148 00d4 9101 movw r18,r2
149 00d6 2E21 and r18,r14
150 00d8 3F21 and r19,r15
151 00da 4023 and r20,r16
152 00dc 5123 and r21,r17
153 00de 0097 sbiw r24,0
154 00e0 A105 cpc r26,__zero_reg__
155 00e2 B105 cpc r27,__zero_reg__
156 00e4 69F0 breq .L8
157 00e6 2115 cp r18,__zero_reg__
158 00e8 3105 cpc r19,__zero_reg__
159 00ea 4105 cpc r20,__zero_reg__
160 00ec 5105 cpc r21,__zero_reg__
161 00ee 21F0 breq .L9
162 00f0 B301 movw r22,r6
163 00f2 80E0 ldi r24,lo8(.LC1)
164 00f4 90E0 ldi r25,hi8(.LC1)
GAS LISTING c:\Temp/ccEvaaaa.s page 4
165 00f6 21C0 rjmp .L20
166 .L9:
167 00f8 B301 movw r22,r6
168 00fa 80E0 ldi r24,lo8(.LC2)
169 00fc 90E0 ldi r25,hi8(.LC2)
170 00fe 1DC0 rjmp .L20
171 .L8:
172 0100 2115 cp r18,__zero_reg__
173 0102 3105 cpc r19,__zero_reg__
174 0104 4105 cpc r20,__zero_reg__
175 0106 5105 cpc r21,__zero_reg__
176 0108 21F0 breq .L12
177 010a B301 movw r22,r6
178 010c 80E0 ldi r24,lo8(.LC3)
179 010e 90E0 ldi r25,hi8(.LC3)
180 0110 14C0 rjmp .L20
181 .L12:
182 0112 B301 movw r22,r6
183 0114 80E0 ldi r24,lo8(.LC4)
184 0116 90E0 ldi r25,hi8(.LC4)
185 0118 10C0 rjmp .L20
186 .L7:
187 011a E220 and r14,r2
188 011c F320 and r15,r3
189 011e 0421 and r16,r4
190 0120 1521 and r17,r5
191 0122 E114 cp r14,__zero_reg__
192 0124 F104 cpc r15,__zero_reg__
193 0126 0105 cpc r16,__zero_reg__
194 0128 1105 cpc r17,__zero_reg__
195 012a 21F0 breq .L15
196 012c B301 movw r22,r6
197 012e 80E0 ldi r24,lo8(.LC5)
198 0130 90E0 ldi r25,hi8(.LC5)
199 0132 03C0 rjmp .L20
200 .L15:
201 0134 B301 movw r22,r6
202 0136 80E0 ldi r24,lo8(.LC6)
203 0138 90E0 ldi r25,hi8(.LC6)
204 .L20:
205 013a 0E94 0000 call fputs
206 013e B301 movw r22,r6
207 0140 80E0 ldi r24,lo8(.LC7)
208 0142 90E0 ldi r25,hi8(.LC7)
209 0144 0E94 0000 call fputs
210 0148 BA94 dec r11
211 014a 0894 sec
212 014c C11C adc r12,__zero_reg__
213 014e D11C adc r13,__zero_reg__
214 0150 BB20 tst r11
215 0152 09F0 breq .+2
216 0154 82CF rjmp .L17
217 .L19:
218 /* epilogue: frame size=10 */
219 0156 2A96 adiw r28,10
220 0158 0FB6 in __tmp_reg__,__SREG__
221 015a F894 cli
GAS LISTING c:\Temp/ccEvaaaa.s page 5
222 015c DEBF out __SP_H__,r29
223 015e 0FBE out __SREG__,__tmp_reg__
224 0160 CDBF out __SP_L__,r28
225 0162 DF91 pop r29
226 0164 CF91 pop r28
227 0166 1F91 pop r17
228 0168 0F91 pop r16
229 016a FF90 pop r15
230 016c EF90 pop r14
231 016e DF90 pop r13
232 0170 CF90 pop r12
233 0172 BF90 pop r11
234 0174 AF90 pop r10
235 0176 9F90 pop r9
236 0178 8F90 pop r8
237 017a 7F90 pop r7
238 017c 6F90 pop r6
239 017e 5F90 pop r5
240 0180 4F90 pop r4
241 0182 3F90 pop r3
242 0184 2F90 pop r2
243 0186 0895 ret
244 /* epilogue end (size=25) */
245 /* function HtmlLedRow size 197 (146) */
246 .size HtmlLedRow, .-HtmlLedRow
247 .data
248 .LC8:
249 0049 3C74 643E .string "<td><input type=\"checkbox\" name=\""
249 3C69 6E70
249 7574 2074
249 7970 653D
249 2263 6865
250 .LC9:
251 006b 2573 2220 .string "%s\" value=\"%u\" "
251 7661 6C75
251 653D 2225
251 7522 2000
252 .LC10:
253 007b 2063 6865 .string " checked=\"checked\""
253 636B 6564
253 3D22 6368
253 6563 6B65
253 6422 00
254 .LC11:
255 008e 3E3C 2F74 .string "></td>\r\n"
255 643E 0D0A
255 00
256 .LC12:
257 0097 3C74 643E .string "<td></td>\r\n"
257 3C2F 7464
257 3E0D 0A00
258 .text
259 .type HtmlCheckboxRow, @function
260 HtmlCheckboxRow:
261 /* prologue: frame size=6 */
262 0188 2F92 push r2
263 018a 3F92 push r3
GAS LISTING c:\Temp/ccEvaaaa.s page 6
264 018c 4F92 push r4
265 018e 5F92 push r5
266 0190 6F92 push r6
267 0192 7F92 push r7
268 0194 8F92 push r8
269 0196 9F92 push r9
270 0198 AF92 push r10
271 019a BF92 push r11
272 019c CF92 push r12
273 019e DF92 push r13
274 01a0 EF92 push r14
275 01a2 FF92 push r15
276 01a4 0F93 push r16
277 01a6 1F93 push r17
278 01a8 CF93 push r28
279 01aa DF93 push r29
280 01ac CDB7 in r28,__SP_L__
281 01ae DEB7 in r29,__SP_H__
282 01b0 2697 sbiw r28,6
283 01b2 0FB6 in __tmp_reg__,__SREG__
284 01b4 F894 cli
285 01b6 DEBF out __SP_H__,r29
286 01b8 0FBE out __SREG__,__tmp_reg__
287 01ba CDBF out __SP_L__,r28
288 /* prologue end (size=26) */
289 01bc 8D83 std Y+5,r24
290 01be 9E83 std Y+6,r25
291 01c0 962E mov r9,r22
292 01c2 842E mov r8,r20
293 01c4 1901 movw r2,r18
294 01c6 E982 std Y+1,r14
295 01c8 FA82 std Y+2,r15
296 01ca 0B83 std Y+3,r16
297 01cc 1C83 std Y+4,r17
298 01ce 2501 movw r4,r10
299 01d0 3601 movw r6,r12
300 01d2 6623 tst r22
301 01d4 09F4 brne .+2
302 01d6 74C0 rjmp .L32
303 01d8 CC24 clr r12
304 01da DD24 clr r13
305 01dc B62E mov r11,r22
306 .L30:
307 01de 8820 tst r8
308 01e0 91F0 breq .L25
309 01e2 892D mov r24,r9
310 01e4 9927 clr r25
311 01e6 8C19 sub r24,r12
312 01e8 9D09 sbc r25,r13
313 01ea 0197 sbiw r24,1
314 01ec 31E0 ldi r19,lo8(1)
315 01ee E32E mov r14,r19
316 01f0 F12C mov r15,__zero_reg__
317 01f2 012D mov r16,__zero_reg__
318 01f4 112D mov r17,__zero_reg__
319 01f6 04C0 rjmp 2f
320 01f8 EE0C 1: lsl r14
GAS LISTING c:\Temp/ccEvaaaa.s page 7
321 01fa FF1C rol r15
322 01fc 001F rol r16
323 01fe 111F rol r17
324 0200 8A95 2: dec r24
325 0202 D2F7 brpl 1b
326 0204 0DC0 rjmp .L26
327 .L25:
328 0206 21E0 ldi r18,lo8(1)
329 0208 E22E mov r14,r18
330 020a F12C mov r15,__zero_reg__
331 020c 012D mov r16,__zero_reg__
332 020e 112D mov r17,__zero_reg__
333 0210 0C2C mov r0,r12
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?