GAS LISTING /tmp/ccHbsRtS.s page 1 1 .file "ipcsum.c" 2 __SP_H__ = 0x3e 3 __SP_L__ = 0x3d 4 __SREG__ = 0x3f 5 __RAMPZ__ = 0x3b 6 __tmp_reg__ = 0 7 __zero_reg__ = 1 8 .section .text.NutIpChkSumPartial,"ax",@progbits 9 .global NutIpChkSumPartial 10 .type NutIpChkSumPartial, @function 11 NutIpChkSumPartial: 12 /* prologue: function */ 13 /* frame size = 0 */ 14 /* stack size = 0 */ 15 .L__stack_usage = 0 16 0000 FB01 movw r30,r22 17 0002 A0E0 ldi r26,0 18 0004 B0E0 ldi r27,0 19 .L2: 20 0006 4230 cpi r20,2 21 0008 5105 cpc r21,__zero_reg__ 22 000a 04F0 brlt .L11 23 000c 2191 ld r18,Z+ 24 000e 3191 ld r19,Z+ 25 0010 820F add r24,r18 26 0012 931F adc r25,r19 27 0014 A11D adc r26,__zero_reg__ 28 0016 B11D adc r27,__zero_reg__ 29 0018 4250 subi r20,2 30 001a 5109 sbc r21,__zero_reg__ 31 001c 00C0 rjmp .L2 32 .L11: 33 001e 452B or r20,r21 34 0020 01F0 breq .L5 35 0022 2081 ld r18,Z 36 0024 820F add r24,r18 37 0026 911D adc r25,__zero_reg__ 38 0028 A11D adc r26,__zero_reg__ 39 002a B11D adc r27,__zero_reg__ 40 .L5: 41 002c AD01 movw r20,r26 42 002e 6627 clr r22 43 0030 7727 clr r23 44 0032 4115 cp r20,__zero_reg__ 45 0034 5105 cpc r21,__zero_reg__ 46 0036 6105 cpc r22,__zero_reg__ 47 0038 7105 cpc r23,__zero_reg__ 48 003a 01F0 breq .L12 49 003c AA27 clr r26 50 003e BB27 clr r27 51 0040 840F add r24,r20 52 0042 951F adc r25,r21 53 0044 A61F adc r26,r22 54 0046 B71F adc r27,r23 55 0048 00C0 rjmp .L5 56 .L12: 57 /* epilogue start */ GAS LISTING /tmp/ccHbsRtS.s page 2 58 004a 0895 ret 59 .size NutIpChkSumPartial, .-NutIpChkSumPartial 60 .section .text.NutIpChkSum,"ax",@progbits 61 .global NutIpChkSum 62 .type NutIpChkSum, @function 63 NutIpChkSum: 64 /* prologue: function */ 65 /* frame size = 0 */ 66 /* stack size = 0 */ 67 .L__stack_usage = 0 68 0000 0E94 0000 call NutIpChkSumPartial 69 0004 8095 com r24 70 0006 9095 com r25 71 0008 0895 ret 72 .size NutIpChkSum, .-NutIpChkSum 73 .section .text.NutIpPseudoChkSumPartial,"ax",@progbits 74 .global NutIpPseudoChkSumPartial 75 .type NutIpPseudoChkSumPartial, @function 76 NutIpPseudoChkSumPartial: 77 0000 EF92 push r14 78 0002 FF92 push r15 79 0004 0F93 push r16 80 0006 CF93 push r28 81 0008 DF93 push r29 82 000a CDB7 in r28,__SP_L__ 83 000c DEB7 in r29,__SP_H__ 84 000e 2C97 sbiw r28,12 85 0010 0FB6 in __tmp_reg__,__SREG__ 86 0012 F894 cli 87 0014 DEBF out __SP_H__,r29 88 0016 0FBE out __SREG__,__tmp_reg__ 89 0018 CDBF out __SP_L__,r28 90 /* prologue: function */ 91 /* frame size = 12 */ 92 /* stack size = 17 */ 93 .L__stack_usage = 17 94 001a 6983 std Y+1,r22 95 001c 7A83 std Y+2,r23 96 001e 8B83 std Y+3,r24 97 0020 9C83 std Y+4,r25 98 0022 2D83 std Y+5,r18 99 0024 3E83 std Y+6,r19 100 0026 4F83 std Y+7,r20 101 0028 5887 std Y+8,r21 102 002a 1986 std Y+9,__zero_reg__ 103 002c 0A87 std Y+10,r16 104 002e FC86 std Y+12,r15 105 0030 EB86 std Y+11,r14 106 0032 4CE0 ldi r20,lo8(12) 107 0034 50E0 ldi r21,0 108 0036 BE01 movw r22,r28 109 0038 6F5F subi r22,-1 110 003a 7F4F sbci r23,-1 111 003c 80E0 ldi r24,0 112 003e 90E0 ldi r25,0 113 0040 0E94 0000 call NutIpChkSumPartial 114 0044 BC01 movw r22,r24 GAS LISTING /tmp/ccHbsRtS.s page 3 115 0046 80E0 ldi r24,0 116 0048 90E0 ldi r25,0 117 /* epilogue start */ 118 004a 2C96 adiw r28,12 119 004c 0FB6 in __tmp_reg__,__SREG__ 120 004e F894 cli 121 0050 DEBF out __SP_H__,r29 122 0052 0FBE out __SREG__,__tmp_reg__ 123 0054 CDBF out __SP_L__,r28 124 0056 DF91 pop r29 125 0058 CF91 pop r28 126 005a 0F91 pop r16 127 005c FF90 pop r15 128 005e EF90 pop r14 129 0060 0895 ret 130 .size NutIpPseudoChkSumPartial, .-NutIpPseudoChkSumPartial 131 .ident "GCC: (GNU) 5.3.0" GAS LISTING /tmp/ccHbsRtS.s page 4 DEFINED SYMBOLS *ABS*:0000000000000000 ipcsum.c /tmp/ccHbsRtS.s:2 *ABS*:000000000000003e __SP_H__ /tmp/ccHbsRtS.s:3 *ABS*:000000000000003d __SP_L__ /tmp/ccHbsRtS.s:4 *ABS*:000000000000003f __SREG__ /tmp/ccHbsRtS.s:5 *ABS*:000000000000003b __RAMPZ__ /tmp/ccHbsRtS.s:6 *ABS*:0000000000000000 __tmp_reg__ /tmp/ccHbsRtS.s:7 *ABS*:0000000000000001 __zero_reg__ /tmp/ccHbsRtS.s:11 .text.NutIpChkSumPartial:0000000000000000 NutIpChkSumPartial /tmp/ccHbsRtS.s:63 .text.NutIpChkSum:0000000000000000 NutIpChkSum /tmp/ccHbsRtS.s:76 .text.NutIpPseudoChkSumPartial:0000000000000000 NutIpPseudoChkSumPartial NO UNDEFINED SYMBOLS