📄 uip_arch.lst
字号:
288 .stabn 68,0,165,.LM34-uip_tcpchksum
289 .LM34:
290 /* prologue: frame size=0 */
291 00f4 CF93 push r28
GAS LISTING C:\DOCUME~1\pstang\LOCALS~1\Temp/ccSyaaaa.s page 9
292 00f6 DF93 push r29
293 /* prologue end (size=2) */
166:uip_arch.c **** u16_t hsum, sum;
167:uip_arch.c ****
168:uip_arch.c ****
169:uip_arch.c **** /* Compute the checksum of the TCP header. */
170:uip_arch.c **** hsum = chksum((u16_t *)&uip_buf[20 + UIP_LLH_LEN], 20);
294 .stabn 68,0,170,.LM35-uip_tcpchksum
295 .LM35:
296 .LBB3:
297 00f8 64E1 ldi r22,lo8(20)
298 00fa 70E0 ldi r23,hi8(20)
299 00fc 80E0 ldi r24,lo8(uip_buf+34)
300 00fe 90E0 ldi r25,hi8(uip_buf+34)
301 0100 0E94 0000 call chksum
302 0104 EC01 movw r28,r24
171:uip_arch.c ****
172:uip_arch.c **** /* Compute the checksum of the data in the TCP packet and add it to
173:uip_arch.c **** the TCP header checksum. */
174:uip_arch.c **** sum = chksum((u16_t *)uip_appdata,
303 .stabn 68,0,174,.LM36-uip_tcpchksum
304 .LM36:
305 0106 8091 0000 lds r24,uip_buf+16
306 010a 9927 clr r25
307 010c 982F mov r25,r24
308 010e 8827 clr r24
309 0110 2091 0000 lds r18,uip_buf+17
310 0114 820F add r24,r18
311 0116 911D adc r25,__zero_reg__
312 0118 8897 sbiw r24,40
313 011a BC01 movw r22,r24
314 011c 8091 0000 lds r24,uip_appdata
315 0120 9091 0000 lds r25,(uip_appdata)+1
316 0124 0E94 0000 call chksum
317 0128 AC01 movw r20,r24
175:uip_arch.c **** (u16_t)(((((u16_t)(BUF->len[0]) << 8) + BUF->len[1]) - 40)));
176:uip_arch.c ****
177:uip_arch.c **** if((sum += hsum) < hsum) {
318 .stabn 68,0,177,.LM37-uip_tcpchksum
319 .LM37:
320 012a 4C0F add r20,r28
321 012c 5D1F adc r21,r29
322 012e 4C17 cp r20,r28
323 0130 5D07 cpc r21,r29
324 0132 10F4 brsh .L22
178:uip_arch.c **** ++sum;
325 .stabn 68,0,178,.LM38-uip_tcpchksum
326 .LM38:
327 0134 4F5F subi r20,lo8(-(1))
328 0136 5F4F sbci r21,hi8(-(1))
329 .L22:
179:uip_arch.c **** }
180:uip_arch.c ****
181:uip_arch.c **** if((sum += BUF->srcipaddr[0]) < BUF->srcipaddr[0]) {
330 .stabn 68,0,181,.LM39-uip_tcpchksum
331 .LM39:
332 0138 8091 0000 lds r24,uip_buf+26
GAS LISTING C:\DOCUME~1\pstang\LOCALS~1\Temp/ccSyaaaa.s page 10
333 013c 9091 0000 lds r25,(uip_buf+26)+1
334 0140 480F add r20,r24
335 0142 591F adc r21,r25
336 0144 4817 cp r20,r24
337 0146 5907 cpc r21,r25
338 0148 10F4 brsh .L23
182:uip_arch.c **** ++sum;
339 .stabn 68,0,182,.LM40-uip_tcpchksum
340 .LM40:
341 014a 4F5F subi r20,lo8(-(1))
342 014c 5F4F sbci r21,hi8(-(1))
343 .L23:
183:uip_arch.c **** }
184:uip_arch.c **** if((sum += BUF->srcipaddr[1]) < BUF->srcipaddr[1]) {
344 .stabn 68,0,184,.LM41-uip_tcpchksum
345 .LM41:
346 014e 8091 0000 lds r24,uip_buf+28
347 0152 9091 0000 lds r25,(uip_buf+28)+1
348 0156 480F add r20,r24
349 0158 591F adc r21,r25
350 015a 4817 cp r20,r24
351 015c 5907 cpc r21,r25
352 015e 10F4 brsh .L24
185:uip_arch.c **** ++sum;
353 .stabn 68,0,185,.LM42-uip_tcpchksum
354 .LM42:
355 0160 4F5F subi r20,lo8(-(1))
356 0162 5F4F sbci r21,hi8(-(1))
357 .L24:
186:uip_arch.c **** }
187:uip_arch.c **** if((sum += BUF->destipaddr[0]) < BUF->destipaddr[0]) {
358 .stabn 68,0,187,.LM43-uip_tcpchksum
359 .LM43:
360 0164 8091 0000 lds r24,uip_buf+30
361 0168 9091 0000 lds r25,(uip_buf+30)+1
362 016c 480F add r20,r24
363 016e 591F adc r21,r25
364 0170 4817 cp r20,r24
365 0172 5907 cpc r21,r25
366 0174 10F4 brsh .L25
188:uip_arch.c **** ++sum;
367 .stabn 68,0,188,.LM44-uip_tcpchksum
368 .LM44:
369 0176 4F5F subi r20,lo8(-(1))
370 0178 5F4F sbci r21,hi8(-(1))
371 .L25:
189:uip_arch.c **** }
190:uip_arch.c **** if((sum += BUF->destipaddr[1]) < BUF->destipaddr[1]) {
372 .stabn 68,0,190,.LM45-uip_tcpchksum
373 .LM45:
374 017a 8091 0000 lds r24,uip_buf+32
375 017e 9091 0000 lds r25,(uip_buf+32)+1
376 0182 480F add r20,r24
377 0184 591F adc r21,r25
378 0186 4817 cp r20,r24
379 0188 5907 cpc r21,r25
380 018a 10F4 brsh .L26
GAS LISTING C:\DOCUME~1\pstang\LOCALS~1\Temp/ccSyaaaa.s page 11
191:uip_arch.c **** ++sum;
381 .stabn 68,0,191,.LM46-uip_tcpchksum
382 .LM46:
383 018c 4F5F subi r20,lo8(-(1))
384 018e 5F4F sbci r21,hi8(-(1))
385 .L26:
192:uip_arch.c **** }
193:uip_arch.c **** if((sum += (u16_t)htons((u16_t)IP_PROTO_TCP)) < (u16_t)htons((u16_t)IP_PROTO_TCP)) {
386 .stabn 68,0,193,.LM47-uip_tcpchksum
387 .LM47:
388 0190 4050 subi r20,lo8(-(1536))
389 0192 5A4F sbci r21,hi8(-(1536))
390 0194 86E0 ldi r24,hi8(1536)
391 0196 4030 cpi r20,lo8(1536)
392 0198 5807 cpc r21,r24
393 019a 10F4 brsh .L27
194:uip_arch.c **** ++sum;
394 .stabn 68,0,194,.LM48-uip_tcpchksum
395 .LM48:
396 019c 4F5F subi r20,lo8(-(1))
397 019e 5F4F sbci r21,hi8(-(1))
398 .L27:
195:uip_arch.c **** }
196:uip_arch.c ****
197:uip_arch.c **** hsum = (u16_t)htons((((u16_t)(BUF->len[0]) << 8) + BUF->len[1]) - 20);
399 .stabn 68,0,197,.LM49-uip_tcpchksum
400 .LM49:
401 01a0 8091 0000 lds r24,uip_buf+16
402 01a4 9927 clr r25
403 01a6 982F mov r25,r24
404 01a8 8827 clr r24
405 01aa 2091 0000 lds r18,uip_buf+17
406 01ae 820F add r24,r18
407 01b0 911D adc r25,__zero_reg__
408 01b2 4497 sbiw r24,20
409 01b4 D82F mov r29,r24
410 01b6 CC27 clr r28
411 01b8 892F mov r24,r25
412 01ba 9927 clr r25
413 01bc C82B or r28,r24
414 01be D92B or r29,r25
198:uip_arch.c ****
199:uip_arch.c **** if((sum += hsum) < hsum) {
415 .stabn 68,0,199,.LM50-uip_tcpchksum
416 .LM50:
417 01c0 4C0F add r20,r28
418 01c2 5D1F adc r21,r29
419 01c4 4C17 cp r20,r28
420 01c6 5D07 cpc r21,r29
421 01c8 10F4 brsh .L28
200:uip_arch.c **** ++sum;
422 .stabn 68,0,200,.LM51-uip_tcpchksum
423 .LM51:
424 01ca 4F5F subi r20,lo8(-(1))
425 01cc 5F4F sbci r21,hi8(-(1))
426 .L28:
201:uip_arch.c **** }
GAS LISTING C:\DOCUME~1\pstang\LOCALS~1\Temp/ccSyaaaa.s page 12
202:uip_arch.c ****
203:uip_arch.c **** return sum;
204:uip_arch.c **** }
427 .stabn 68,0,204,.LM52-uip_tcpchksum
428 .LM52:
429 .LBE3:
430 01ce CA01 movw r24,r20
431 /* epilogue: frame size=0 */
432 01d0 DF91 pop r29
433 01d2 CF91 pop r28
434 01d4 0895 ret
435 /* epilogue end (size=3) */
436 /* function uip_tcpchksum size 113 (108) */
437 .size uip_tcpchksum, .-uip_tcpchksum
438 .stabs "hsum:r(3,2)",64,0,166,28
439 .stabs "sum:r(3,2)",64,0,166,20
440 .stabn 192,0,0,.LBB3-uip_tcpchksum
441 .stabn 224,0,0,.LBE3-uip_tcpchksum
442 .Lscope4:
443 .stabs "",36,0,0,.Lscope4-uip_tcpchksum
444 .text
445 .stabs "",100,0,0,Letext
446 Letext:
447 /* File "uip_arch.c": code 235 = 0x00eb ( 226), prologues 2, epilogues 7 */
GAS LISTING C:\DOCUME~1\pstang\LOCALS~1\Temp/ccSyaaaa.s page 13
DEFINED SYMBOLS
*ABS*:00000000 uip_arch.c
*ABS*:0000003f __SREG__
*ABS*:0000003e __SP_H__
*ABS*:0000003d __SP_L__
*ABS*:00000000 __tmp_reg__
*ABS*:00000001 __zero_reg__
C:\DOCUME~1\pstang\LOCALS~1\Temp/ccSyaaaa.s:55 .text:00000000 uip_add_rcv_nxt
C:\DOCUME~1\pstang\LOCALS~1\Temp/ccSyaaaa.s:119 .text:00000050 uip_add_ack_nxt
C:\DOCUME~1\pstang\LOCALS~1\Temp/ccSyaaaa.s:183 .text:000000a0 chksum
C:\DOCUME~1\pstang\LOCALS~1\Temp/ccSyaaaa.s:263 .text:000000e6 uip_ipchksum
C:\DOCUME~1\pstang\LOCALS~1\Temp/ccSyaaaa.s:287 .text:000000f4 uip_tcpchksum
C:\DOCUME~1\pstang\LOCALS~1\Temp/ccSyaaaa.s:446 .text:000001d6 Letext
*ABS*:00000000 *ABS*
UNDEFINED SYMBOLS
__do_copy_data
__do_clear_bss
uip_conn
uip_buf
uip_appdata
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -