GAS LISTING /tmp/ccAz2SwU.s page 1 1 .file "ipin.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.NutIpSetInputFilter,"ax",@progbits 9 .global NutIpSetInputFilter 10 .type NutIpSetInputFilter, @function 11 NutIpSetInputFilter: 12 /* prologue: function */ 13 /* frame size = 0 */ 14 /* stack size = 0 */ 15 .L__stack_usage = 0 16 0000 9093 0000 sts NutIpFilter+1,r25 17 0004 8093 0000 sts NutIpFilter,r24 18 0008 0895 ret 19 .size NutIpSetInputFilter, .-NutIpSetInputFilter 20 .section .text.NutIpInput,"ax",@progbits 21 .global NutIpInput 22 .type NutIpInput, @function 23 NutIpInput: 24 0000 6F92 push r6 25 0002 7F92 push r7 26 0004 8F92 push r8 27 0006 9F92 push r9 28 0008 AF92 push r10 29 000a BF92 push r11 30 000c CF92 push r12 31 000e DF92 push r13 32 0010 EF92 push r14 33 0012 FF92 push r15 34 0014 0F93 push r16 35 0016 1F93 push r17 36 0018 CF93 push r28 37 001a DF93 push r29 38 001c 1F92 push __zero_reg__ 39 001e CDB7 in r28,__SP_L__ 40 0020 DEB7 in r29,__SP_H__ 41 /* prologue: function */ 42 /* frame size = 1 */ 43 /* stack size = 15 */ 44 .L__stack_usage = 15 45 0022 7C01 movw r14,r24 46 0024 3B01 movw r6,r22 47 0026 DB01 movw r26,r22 48 0028 1796 adiw r26,7 49 002a 0D91 ld r16,X+ 50 002c 1C91 ld r17,X 51 002e 1897 sbiw r26,7+1 52 0030 F801 movw r30,r16 53 0032 8081 ld r24,Z 54 0034 807F andi r24,lo8(-16) 55 0036 8034 cpi r24,lo8(64) 56 0038 01F0 breq .+2 57 003a 00C0 rjmp .L38 GAS LISTING /tmp/ccAz2SwU.s page 2 58 003c 8681 ldd r24,Z+6 59 003e 9781 ldd r25,Z+7 60 /* #APP */ 61 ; 309 "../../nut/include/sys/types.h" 1 62 0040 082E mov __tmp_reg__, r24 63 0042 892F mov r24, r25 64 0044 902D mov r25, __tmp_reg__ 65 66 ; 0 "" 2 67 /* #NOAPP */ 68 0046 9F73 andi r25,63 69 0048 892B or r24,r25 70 004a 01F0 breq .+2 71 004c 00C0 rjmp .L38 72 004e E091 0000 lds r30,NutIpFilter 73 0052 F091 0000 lds r31,NutIpFilter+1 74 0056 3097 sbiw r30,0 75 0058 01F0 breq .L6 76 005a D801 movw r26,r16 77 005c 1C96 adiw r26,12 78 005e 6D91 ld r22,X+ 79 0060 7D91 ld r23,X+ 80 0062 8D91 ld r24,X+ 81 0064 9C91 ld r25,X 82 0066 1F97 sbiw r26,12+3 83 0068 1995 eicall 84 006a 892B or r24,r25 85 006c 01F0 breq .+2 86 006e 00C0 rjmp .L38 87 .L6: 88 0070 F801 movw r30,r16 89 0072 8081 ld r24,Z 90 0074 8F70 andi r24,lo8(15) 91 0076 880F lsl r24 92 0078 880F lsl r24 93 007a 8431 cpi r24,lo8(20) 94 007c 00F4 brsh .+2 95 007e 00C0 rjmp .L38 96 0080 90E0 ldi r25,0 97 0082 D301 movw r26,r6 98 0084 1996 adiw r26,9 99 0086 CD90 ld r12,X+ 100 0088 DC90 ld r13,X 101 008a 1A97 sbiw r26,9+1 102 008c C816 cp r12,r24 103 008e D906 cpc r13,r25 104 0090 04F4 brge .+2 105 0092 00C0 rjmp .L38 106 0094 4089 ldd r20,Z+16 107 0096 5189 ldd r21,Z+17 108 0098 6289 ldd r22,Z+18 109 009a 7389 ldd r23,Z+19 110 009c F701 movw r30,r14 111 009e A785 ldd r26,Z+15 112 00a0 B089 ldd r27,Z+16 113 00a2 4F3F cpi r20,-1 114 00a4 FFEF ldi r31,-1 GAS LISTING /tmp/ccAz2SwU.s page 3 115 00a6 5F07 cpc r21,r31 116 00a8 6F07 cpc r22,r31 117 00aa 7F07 cpc r23,r31 118 00ac 01F4 brne .+2 119 00ae 00C0 rjmp .L24 120 00b0 4A01 movw r8,r20 121 00b2 5B01 movw r10,r22 122 00b4 20EF ldi r18,240 123 00b6 8222 and r8,r18 124 00b8 9924 clr r9 125 00ba AA24 clr r10 126 00bc BB24 clr r11 127 00be E0EE ldi r30,-32 128 00c0 8E16 cp r8,r30 129 00c2 9104 cpc r9,__zero_reg__ 130 00c4 A104 cpc r10,__zero_reg__ 131 00c6 B104 cpc r11,__zero_reg__ 132 00c8 01F4 brne .L8 133 00ca 5D96 adiw r26,29 134 00cc 0D90 ld __tmp_reg__,X+ 135 00ce BC91 ld r27,X 136 00d0 A02D mov r26,__tmp_reg__ 137 .L9: 138 00d2 1097 sbiw r26,0 139 00d4 01F4 brne .+2 140 00d6 00C0 rjmp .L38 141 00d8 1896 adiw r26,8 142 00da 8D90 ld r8,X+ 143 00dc 9D90 ld r9,X+ 144 00de AD90 ld r10,X+ 145 00e0 BC90 ld r11,X 146 00e2 1B97 sbiw r26,8+3 147 00e4 4815 cp r20,r8 148 00e6 5905 cpc r21,r9 149 00e8 6A05 cpc r22,r10 150 00ea 7B05 cpc r23,r11 151 00ec 01F4 brne .+2 152 00ee 00C0 rjmp .L22 153 00f0 0D90 ld __tmp_reg__,X+ 154 00f2 BC91 ld r27,X 155 00f4 A02D mov r26,__tmp_reg__ 156 00f6 00C0 rjmp .L9 157 .L8: 158 00f8 1B96 adiw r26,11 159 00fa 8D90 ld r8,X+ 160 00fc 9D90 ld r9,X+ 161 00fe AD90 ld r10,X+ 162 0100 BC90 ld r11,X 163 0102 1E97 sbiw r26,11+3 164 0104 8114 cp r8,__zero_reg__ 165 0106 9104 cpc r9,__zero_reg__ 166 0108 A104 cpc r10,__zero_reg__ 167 010a B104 cpc r11,__zero_reg__ 168 010c 01F0 breq .L23 169 010e 4815 cp r20,r8 170 0110 5905 cpc r21,r9 171 0112 6A05 cpc r22,r10 GAS LISTING /tmp/ccAz2SwU.s page 4 172 0114 7B05 cpc r23,r11 173 0116 01F4 brne .L11 174 0118 D301 movw r26,r6 175 011a 1296 adiw r26,2 176 011c 2C91 ld r18,X 177 011e 1297 sbiw r26,2 178 0120 2860 ori r18,lo8(8) 179 0122 1296 adiw r26,2 180 0124 2C93 st X,r18 181 0126 00C0 rjmp .L23 182 .L11: 183 0128 5396 adiw r26,19 184 012a 8D90 ld r8,X+ 185 012c 9D90 ld r9,X+ 186 012e AD90 ld r10,X+ 187 0130 BC90 ld r11,X 188 0132 5697 sbiw r26,19+3 189 0134 BFEF ldi r27,-1 190 0136 8B16 cp r8,r27 191 0138 9B06 cpc r9,r27 192 013a AB06 cpc r10,r27 193 013c BB06 cpc r11,r27 194 013e 01F0 breq .L12 195 0140 8094 com r8 196 0142 9094 com r9 197 0144 A094 com r10 198 0146 B094 com r11 199 0148 4821 and r20,r8 200 014a 5921 and r21,r9 201 014c 6A21 and r22,r10 202 014e 7B21 and r23,r11 203 0150 8416 cp r8,r20 204 0152 9506 cpc r9,r21 205 0154 A606 cpc r10,r22 206 0156 B706 cpc r11,r23 207 0158 01F0 breq .L24 208 .L12: 209 015a C301 movw r24,r6 210 015c 0E94 0000 call NutIpForward 211 .L38: 212 0160 C301 movw r24,r6 213 /* epilogue start */ 214 0162 0F90 pop __tmp_reg__ 215 0164 DF91 pop r29 216 0166 CF91 pop r28 217 0168 1F91 pop r17 218 016a 0F91 pop r16 219 016c FF90 pop r15 220 016e EF90 pop r14 221 0170 DF90 pop r13 222 0172 CF90 pop r12 223 0174 BF90 pop r11 224 0176 AF90 pop r10 225 0178 9F90 pop r9 226 017a 8F90 pop r8 227 017c 7F90 pop r7 228 017e 6F90 pop r6 GAS LISTING /tmp/ccAz2SwU.s page 5 229 0180 0C94 0000 jmp NutNetBufFree 230 .L22: 231 0184 42E0 ldi r20,lo8(2) 232 0186 00C0 rjmp .L7 233 .L23: 234 0188 40E0 ldi r20,0 235 018a 00C0 rjmp .L7 236 .L24: 237 018c 41E0 ldi r20,lo8(1) 238 .L7: 239 018e F801 movw r30,r16 240 0190 2281 ldd r18,Z+2 241 0192 3381 ldd r19,Z+3 242 /* #APP */ 243 ; 309 "../../nut/include/sys/types.h" 1 244 0194 022E mov __tmp_reg__, r18 245 0196 232F mov r18, r19 246 0198 302D mov r19, __tmp_reg__ 247 248 ; 0 "" 2 249 /* #NOAPP */ 250 019a D301 movw r26,r6 251 019c 1E96 adiw r26,13+1 252 019e 3C93 st X,r19 253 01a0 2E93 st -X,r18 254 01a2 1D97 sbiw r26,13 255 01a4 2817 cp r18,r24 256 01a6 3907 cpc r19,r25 257 01a8 04F0 brlt .L38 258 01aa C216 cp r12,r18 259 01ac D306 cpc r13,r19 260 01ae 04F0 brlt .L38 261 01b0 1A96 adiw r26,9+1 262 01b2 9C93 st X,r25 263 01b4 8E93 st -X,r24 264 01b6 1997 sbiw r26,9 265 01b8 281B sub r18,r24 266 01ba 390B sbc r19,r25 267 01bc 1E96 adiw r26,13+1 268 01be 3C93 st X,r19 269 01c0 2E93 st -X,r18 270 01c2 1D97 sbiw r26,13 271 01c4 232B or r18,r19 272 01c6 01F0 breq .L13 273 01c8 800F add r24,r16 274 01ca 911F adc r25,r17 275 01cc 1C96 adiw r26,11+1 276 01ce 9C93 st X,r25 277 01d0 8E93 st -X,r24 278 01d2 1B97 sbiw r26,11 279 .L13: 280 01d4 E091 0000 lds r30,ip_demux 281 01d8 F091 0000 lds r31,ip_demux+1 282 01dc 3097 sbiw r30,0 283 01de 01F4 brne .L14 284 .L18: 285 01e0 F801 movw r30,r16 GAS LISTING /tmp/ccAz2SwU.s page 6 286 01e2 8185 ldd r24,Z+9 287 01e4 8130 cpi r24,lo8(1) 288 01e6 01F0 breq .L16 289 01e8 8230 cpi r24,lo8(2) 290 01ea 01F4 brne .L40 291 01ec B301 movw r22,r6 292 01ee C701 movw r24,r14 293 /* epilogue start */ 294 01f0 0F90 pop __tmp_reg__ 295 01f2 DF91 pop r29 296 01f4 CF91 pop r28 297 01f6 1F91 pop r17 298 01f8 0F91 pop r16 299 01fa FF90 pop r15 300 01fc EF90 pop r14 301 01fe DF90 pop r13 302 0200 CF90 pop r12 303 0202 BF90 pop r11 304 0204 AF90 pop r10 305 0206 9F90 pop r9 306 0208 8F90 pop r8 307 020a 7F90 pop r7 308 020c 6F90 pop r6 309 020e 0C94 0000 jmp NutIgmpInput 310 .L14: 311 0212 B301 movw r22,r6 312 0214 C701 movw r24,r14 313 0216 4983 std Y+1,r20 314 0218 1995 eicall 315 021a 4981 ldd r20,Y+1 316 021c 892B or r24,r25 317 021e 01F4 brne .L18 318 0220 00C0 rjmp .L2 319 .L16: 320 0222 B301 movw r22,r6 321 0224 C701 movw r24,r14 322 /* epilogue start */ 323 0226 0F90 pop __tmp_reg__ 324 0228 DF91 pop r29 325 022a CF91 pop r28 326 022c 1F91 pop r17 327 022e 0F91 pop r16 328 0230 FF90 pop r15 329 0232 EF90 pop r14 330 0234 DF90 pop r13 331 0236 CF90 pop r12 332 0238 BF90 pop r11 333 023a AF90 pop r10 334 023c 9F90 pop r9 335 023e 8F90 pop r8 336 0240 7F90 pop r7 337 0242 6F90 pop r6 338 0244 0C94 0000 jmp NutIcmpInput 339 .L40: 340 0248 4111 cpse r20,__zero_reg__ 341 024a 00C0 rjmp .L38 342 024c 8301 movw r16,r6 GAS LISTING /tmp/ccAz2SwU.s page 7 343 024e 20E0 ldi r18,0 344 0250 30E0 ldi r19,0 345 0252 A901 movw r20,r18 346 0254 62E0 ldi r22,lo8(2) 347 0256 83E0 ldi r24,lo8(3) 348 0258 0E94 0000 call NutIcmpResponse 349 025c 892B or r24,r25 350 025e 01F4 brne .+2 351 0260 00C0 rjmp .L38 352 .L2: 353 /* epilogue start */ 354 0262 0F90 pop __tmp_reg__ 355 0264 DF91 pop r29 356 0266 CF91 pop r28 357 0268 1F91 pop r17 358 026a 0F91 pop r16 359 026c FF90 pop r15 360 026e EF90 pop r14 361 0270 DF90 pop r13 362 0272 CF90 pop r12 363 0274 BF90 pop r11 364 0276 AF90 pop r10 365 0278 9F90 pop r9 366 027a 8F90 pop r8 367 027c 7F90 pop r7 368 027e 6F90 pop r6 369 0280 0895 ret 370 .size NutIpInput, .-NutIpInput 371 .comm ip_demux,2,1 372 .local NutIpFilter 373 .comm NutIpFilter,2,1 374 .ident "GCC: (GNU) 5.3.0" 375 .global __do_clear_bss GAS LISTING /tmp/ccAz2SwU.s page 8 DEFINED SYMBOLS *ABS*:0000000000000000 ipin.c /tmp/ccAz2SwU.s:2 *ABS*:000000000000003e __SP_H__ /tmp/ccAz2SwU.s:3 *ABS*:000000000000003d __SP_L__ /tmp/ccAz2SwU.s:4 *ABS*:000000000000003f __SREG__ /tmp/ccAz2SwU.s:5 *ABS*:000000000000003b __RAMPZ__ /tmp/ccAz2SwU.s:6 *ABS*:0000000000000000 __tmp_reg__ /tmp/ccAz2SwU.s:7 *ABS*:0000000000000001 __zero_reg__ /tmp/ccAz2SwU.s:11 .text.NutIpSetInputFilter:0000000000000000 NutIpSetInputFilter .bss:0000000000000000 NutIpFilter /tmp/ccAz2SwU.s:23 .text.NutIpInput:0000000000000000 NutIpInput *COM*:0000000000000002 ip_demux UNDEFINED SYMBOLS NutIpForward NutNetBufFree NutIgmpInput NutIcmpInput NutIcmpResponse __do_clear_bss