GAS LISTING /tmp/ccWs844a.s page 1 1 .file "icmpin.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.NutIcmpInput,"ax",@progbits 9 .global NutIcmpInput 10 .type NutIcmpInput, @function 11 NutIcmpInput: 12 0000 CF92 push r12 13 0002 DF92 push r13 14 0004 EF92 push r14 15 0006 FF92 push r15 16 0008 0F93 push r16 17 000a 1F93 push r17 18 000c CF93 push r28 19 000e DF93 push r29 20 /* prologue: function */ 21 /* frame size = 0 */ 22 /* stack size = 8 */ 23 .L__stack_usage = 8 24 0010 8C01 movw r16,r24 25 0012 6B01 movw r12,r22 26 0014 DB01 movw r26,r22 27 0016 1B96 adiw r26,11 28 0018 CD91 ld r28,X+ 29 001a DC91 ld r29,X 30 001c 1C97 sbiw r26,11+1 31 001e 2097 sbiw r28,0 32 0020 01F4 brne .+2 33 0022 00C0 rjmp .L5 34 0024 1D96 adiw r26,13 35 0026 2D91 ld r18,X+ 36 0028 3C91 ld r19,X 37 002a 1E97 sbiw r26,13+1 38 002c 2830 cpi r18,8 39 002e 3105 cpc r19,__zero_reg__ 40 0030 00F4 brsh .+2 41 0032 00C0 rjmp .L5 42 0034 2850 subi r18,8 43 0036 3109 sbc r19,__zero_reg__ 44 0038 FB01 movw r30,r22 45 003a 328B std Z+18,r19 46 003c 218B std Z+17,r18 47 003e 232B or r18,r19 48 0040 01F0 breq .L4 49 0042 CE01 movw r24,r28 50 0044 0896 adiw r24,8 51 0046 908B std Z+16,r25 52 0048 8787 std Z+15,r24 53 004a 88E0 ldi r24,lo8(8) 54 004c 90E0 ldi r25,0 55 004e 9687 std Z+14,r25 56 0050 8587 std Z+13,r24 57 .L4: GAS LISTING /tmp/ccWs844a.s page 2 58 0052 9881 ld r25,Y 59 0054 9330 cpi r25,lo8(3) 60 0056 01F0 breq .L6 61 0058 9830 cpi r25,lo8(8) 62 005a 01F0 breq .+2 63 005c 00C0 rjmp .L5 64 005e D601 movw r26,r12 65 0060 1796 adiw r26,7 66 0062 ED91 ld r30,X+ 67 0064 FC91 ld r31,X 68 0066 1897 sbiw r26,7+1 69 0068 4485 ldd r20,Z+12 70 006a 5585 ldd r21,Z+13 71 006c 6685 ldd r22,Z+14 72 006e 7785 ldd r23,Z+15 73 0070 D801 movw r26,r16 74 0072 1F96 adiw r26,15 75 0074 8D91 ld r24,X+ 76 0076 9C91 ld r25,X 77 0078 5097 sbiw r26,15+1 78 007a DC01 movw r26,r24 79 007c 1B96 adiw r26,11 80 007e 0D91 ld r16,X+ 81 0080 1D91 ld r17,X+ 82 0082 2D91 ld r18,X+ 83 0084 3C91 ld r19,X 84 0086 1E97 sbiw r26,11+3 85 0088 0487 std Z+12,r16 86 008a 1587 std Z+13,r17 87 008c 2687 std Z+14,r18 88 008e 3787 std Z+15,r19 89 0090 8FEF ldi r24,lo8(-1) 90 0092 8087 std Z+8,r24 91 0094 9601 movw r18,r12 92 0096 80E0 ldi r24,0 93 0098 0E94 0000 call NutIcmpOutput 94 009c 892B or r24,r25 95 009e 01F0 breq .+2 96 00a0 00C0 rjmp .L1 97 .L6: 98 00a2 C981 ldd r28,Y+1 99 00a4 D0E0 ldi r29,0 100 00a6 F601 movw r30,r12 101 00a8 8189 ldd r24,Z+17 102 00aa 9289 ldd r25,Z+18 103 00ac 4C97 sbiw r24,28 104 00ae 00F4 brsh .+2 105 00b0 00C0 rjmp .L5 106 00b2 E784 ldd r14,Z+15 107 00b4 F088 ldd r15,Z+16 108 00b6 D701 movw r26,r14 109 00b8 1996 adiw r26,9 110 00ba 8C91 ld r24,X 111 00bc 8630 cpi r24,lo8(6) 112 00be 01F0 breq .L10 113 00c0 8131 cpi r24,lo8(17) 114 00c2 01F0 breq .L11 GAS LISTING /tmp/ccWs844a.s page 3 115 00c4 00C0 rjmp .L5 116 .L10: 117 00c6 F701 movw r30,r14 118 00c8 2485 ldd r18,Z+12 119 00ca 3585 ldd r19,Z+13 120 00cc 4685 ldd r20,Z+14 121 00ce 5785 ldd r21,Z+15 122 00d0 E057 subi r30,112 123 00d2 FE4F sbci r31,-2 124 00d4 6081 ld r22,Z 125 00d6 7181 ldd r23,Z+1 126 00d8 8281 ldd r24,Z+2 127 00da 9381 ldd r25,Z+3 128 00dc 0E94 0000 call NutTcpFindSocket 129 00e0 0097 sbiw r24,0 130 00e2 01F0 breq .L5 131 00e4 DC01 movw r26,r24 132 00e6 5596 adiw r26,21 133 00e8 2C91 ld r18,X 134 00ea 5597 sbiw r26,21 135 00ec 2230 cpi r18,lo8(2) 136 00ee 01F0 breq .L13 137 00f0 5596 adiw r26,21 138 00f2 2C91 ld r18,X 139 00f4 2430 cpi r18,lo8(4) 140 00f6 01F4 brne .L5 141 .L13: 142 00f8 CC0F lsl r28 143 00fa DD1F rol r29 144 00fc C050 subi r28,lo8(-(icmp_code2errno)) 145 00fe D040 sbci r29,hi8(-(icmp_code2errno)) 146 0100 6881 ld r22,Y 147 0102 7981 ldd r23,Y+1 148 0104 0E94 0000 call NutTcpAbortSocket 149 0108 00C0 rjmp .L5 150 .L11: 151 010a F701 movw r30,r14 152 010c 8689 ldd r24,Z+22 153 010e 9789 ldd r25,Z+23 154 0110 0E94 0000 call NutUdpFindSocket 155 0114 0097 sbiw r24,0 156 0116 01F0 breq .L5 157 0118 CC0F lsl r28 158 011a DD1F rol r29 159 011c C050 subi r28,lo8(-(icmp_code2errno)) 160 011e D040 sbci r29,hi8(-(icmp_code2errno)) 161 0120 0881 ld r16,Y 162 0122 1981 ldd r17,Y+1 163 0124 D701 movw r26,r14 164 0126 5696 adiw r26,22 165 0128 2D91 ld r18,X+ 166 012a 3C91 ld r19,X 167 012c 5797 sbiw r26,22+1 168 012e 5096 adiw r26,16 169 0130 4D91 ld r20,X+ 170 0132 5D91 ld r21,X+ 171 0134 6D91 ld r22,X+ GAS LISTING /tmp/ccWs844a.s page 4 172 0136 7C91 ld r23,X 173 0138 5397 sbiw r26,16+3 174 013a 0E94 0000 call NutUdpSetSocketError 175 .L5: 176 013e C601 movw r24,r12 177 /* epilogue start */ 178 0140 DF91 pop r29 179 0142 CF91 pop r28 180 0144 1F91 pop r17 181 0146 0F91 pop r16 182 0148 FF90 pop r15 183 014a EF90 pop r14 184 014c DF90 pop r13 185 014e CF90 pop r12 186 0150 0C94 0000 jmp NutNetBufFree 187 .L1: 188 /* epilogue start */ 189 0154 DF91 pop r29 190 0156 CF91 pop r28 191 0158 1F91 pop r17 192 015a 0F91 pop r16 193 015c FF90 pop r15 194 015e EF90 pop r14 195 0160 DF90 pop r13 196 0162 CF90 pop r12 197 0164 0895 ret 198 .size NutIcmpInput, .-NutIcmpInput 199 .section .rodata 200 .type icmp_code2errno, @object 201 .size icmp_code2errno, 32 202 icmp_code2errno: 203 0000 3300 .word 51 204 0002 4100 .word 65 205 0004 2A00 .word 42 206 0006 3D00 .word 61 207 0008 2800 .word 40 208 000a 2D00 .word 45 209 000c 3300 .word 51 210 000e 4000 .word 64 211 0010 3300 .word 51 212 0012 3300 .word 51 213 0014 4100 .word 65 214 0016 3300 .word 51 215 0018 4100 .word 65 216 001a 4100 .word 65 217 001c 4100 .word 65 218 001e 4100 .word 65 219 .ident "GCC: (GNU) 5.3.0" 220 .global __do_copy_data GAS LISTING /tmp/ccWs844a.s page 5 DEFINED SYMBOLS *ABS*:0000000000000000 icmpin.c /tmp/ccWs844a.s:2 *ABS*:000000000000003e __SP_H__ /tmp/ccWs844a.s:3 *ABS*:000000000000003d __SP_L__ /tmp/ccWs844a.s:4 *ABS*:000000000000003f __SREG__ /tmp/ccWs844a.s:5 *ABS*:000000000000003b __RAMPZ__ /tmp/ccWs844a.s:6 *ABS*:0000000000000000 __tmp_reg__ /tmp/ccWs844a.s:7 *ABS*:0000000000000001 __zero_reg__ /tmp/ccWs844a.s:11 .text.NutIcmpInput:0000000000000000 NutIcmpInput /tmp/ccWs844a.s:202 .rodata:0000000000000000 icmp_code2errno UNDEFINED SYMBOLS NutIcmpOutput NutTcpFindSocket NutTcpAbortSocket NutUdpFindSocket NutUdpSetSocketError NutNetBufFree __do_copy_data