| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156 |
- 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
|