GAS LISTING /tmp/ccSoMJfR.s page 1 1 .file "ethdemux.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.NutEtherDemux,"ax",@progbits 9 .type NutEtherDemux, @function 10 NutEtherDemux: 11 0000 CF92 push r12 12 0002 DF92 push r13 13 0004 EF92 push r14 14 0006 FF92 push r15 15 0008 0F93 push r16 16 000a 1F93 push r17 17 000c CF93 push r28 18 000e DF93 push r29 19 /* prologue: function */ 20 /* frame size = 0 */ 21 /* stack size = 8 */ 22 .L__stack_usage = 8 23 0010 6C01 movw r12,r24 24 0012 7B01 movw r14,r22 25 0014 DB01 movw r26,r22 26 0016 1396 adiw r26,3 27 0018 ED91 ld r30,X+ 28 001a FC91 ld r31,X 29 001c 1497 sbiw r26,3+1 30 001e 0485 ldd r16,Z+12 31 0020 1585 ldd r17,Z+13 32 /* #APP */ 33 ; 309 "../../nut/include/sys/types.h" 1 34 0022 002E mov __tmp_reg__, r16 35 0024 012F mov r16, r17 36 0026 102D mov r17, __tmp_reg__ 37 38 ; 0 "" 2 39 /* #NOAPP */ 40 0028 C091 0000 lds r28,eth_prot 41 002c D091 0000 lds r29,eth_prot+1 42 .L2: 43 0030 2097 sbiw r28,0 44 0032 01F0 breq .L14 45 0034 8C81 ldd r24,Y+4 46 0036 9D81 ldd r25,Y+5 47 0038 8023 and r24,r16 48 003a 9123 and r25,r17 49 003c 2A81 ldd r18,Y+2 50 003e 3B81 ldd r19,Y+3 51 0040 8217 cp r24,r18 52 0042 9307 cpc r25,r19 53 0044 01F0 breq .L3 54 .L4: 55 0046 0990 ld __tmp_reg__,Y+ 56 0048 D881 ld r29,Y 57 004a C02D mov r28,__tmp_reg__ GAS LISTING /tmp/ccSoMJfR.s page 2 58 004c 00C0 rjmp .L2 59 .L3: 60 004e EE81 ldd r30,Y+6 61 0050 FF81 ldd r31,Y+7 62 0052 3097 sbiw r30,0 63 0054 01F0 breq .L4 64 0056 B701 movw r22,r14 65 0058 C601 movw r24,r12 66 005a 1995 eicall 67 005c 0097 sbiw r24,0 68 005e 01F4 brne .L4 69 0060 00C0 rjmp .L5 70 .L14: 71 0062 8FEF ldi r24,lo8(-1) 72 0064 9FEF ldi r25,lo8(-1) 73 .L5: 74 /* epilogue start */ 75 0066 DF91 pop r29 76 0068 CF91 pop r28 77 006a 1F91 pop r17 78 006c 0F91 pop r16 79 006e FF90 pop r15 80 0070 EF90 pop r14 81 0072 DF90 pop r13 82 0074 CF90 pop r12 83 0076 0895 ret 84 .size NutEtherDemux, .-NutEtherDemux 85 .section .text.NutRegisterEthHandler,"ax",@progbits 86 .global NutRegisterEthHandler 87 .type NutRegisterEthHandler, @function 88 NutRegisterEthHandler: 89 0000 CF92 push r12 90 0002 DF92 push r13 91 0004 EF92 push r14 92 0006 FF92 push r15 93 0008 0F93 push r16 94 000a 1F93 push r17 95 000c CF93 push r28 96 000e DF93 push r29 97 /* prologue: function */ 98 /* frame size = 0 */ 99 /* stack size = 8 */ 100 .L__stack_usage = 8 101 0010 8C01 movw r16,r24 102 0012 7B01 movw r14,r22 103 0014 6A01 movw r12,r20 104 0016 C091 0000 lds r28,eth_prot 105 001a D091 0000 lds r29,eth_prot+1 106 001e FE01 movw r30,r28 107 .L16: 108 0020 3097 sbiw r30,0 109 0022 01F0 breq .L28 110 0024 8281 ldd r24,Z+2 111 0026 9381 ldd r25,Z+3 112 0028 8017 cp r24,r16 113 002a 9107 cpc r25,r17 114 002c 01F4 brne .L17 GAS LISTING /tmp/ccSoMJfR.s page 3 115 002e 8481 ldd r24,Z+4 116 0030 9581 ldd r25,Z+5 117 0032 8E15 cp r24,r14 118 0034 9F05 cpc r25,r15 119 0036 01F0 breq .L18 120 .L17: 121 0038 0190 ld __tmp_reg__,Z+ 122 003a F081 ld r31,Z 123 003c E02D mov r30,__tmp_reg__ 124 003e 00C0 rjmp .L16 125 .L28: 126 0040 68E0 ldi r22,lo8(8) 127 0042 70E0 ldi r23,0 128 0044 81E0 ldi r24,lo8(1) 129 0046 90E0 ldi r25,0 130 0048 0E94 0000 call calloc 131 004c FC01 movw r30,r24 132 004e 892B or r24,r25 133 0050 01F0 breq .L29 134 0052 1383 std Z+3,r17 135 0054 0283 std Z+2,r16 136 0056 F582 std Z+5,r15 137 0058 E482 std Z+4,r14 138 005a 2097 sbiw r28,0 139 005c 01F4 brne .L21 140 005e F093 0000 sts eth_prot+1,r31 141 0062 E093 0000 sts eth_prot,r30 142 0066 80E0 ldi r24,lo8(gs(NutEtherDemux)) 143 0068 90E0 ldi r25,hi8(gs(NutEtherDemux)) 144 006a 9093 0000 sts ether_demux+1,r25 145 006e 8093 0000 sts ether_demux,r24 146 .L18: 147 0072 D782 std Z+7,r13 148 0074 C682 std Z+6,r12 149 0076 80E0 ldi r24,0 150 0078 90E0 ldi r25,0 151 007a 00C0 rjmp .L26 152 .L21: 153 007c D183 std Z+1,r29 154 007e C083 st Z,r28 155 0080 F093 0000 sts eth_prot+1,r31 156 0084 E093 0000 sts eth_prot,r30 157 0088 00C0 rjmp .L18 158 .L29: 159 008a 8FEF ldi r24,lo8(-1) 160 008c 9FEF ldi r25,lo8(-1) 161 .L26: 162 /* epilogue start */ 163 008e DF91 pop r29 164 0090 CF91 pop r28 165 0092 1F91 pop r17 166 0094 0F91 pop r16 167 0096 FF90 pop r15 168 0098 EF90 pop r14 169 009a DF90 pop r13 170 009c CF90 pop r12 171 009e 0895 ret GAS LISTING /tmp/ccSoMJfR.s page 4 172 .size NutRegisterEthHandler, .-NutRegisterEthHandler 173 .local eth_prot 174 .comm eth_prot,2,1 175 .ident "GCC: (GNU) 5.3.0" 176 .global __do_clear_bss GAS LISTING /tmp/ccSoMJfR.s page 5 DEFINED SYMBOLS *ABS*:0000000000000000 ethdemux.c /tmp/ccSoMJfR.s:2 *ABS*:000000000000003e __SP_H__ /tmp/ccSoMJfR.s:3 *ABS*:000000000000003d __SP_L__ /tmp/ccSoMJfR.s:4 *ABS*:000000000000003f __SREG__ /tmp/ccSoMJfR.s:5 *ABS*:000000000000003b __RAMPZ__ /tmp/ccSoMJfR.s:6 *ABS*:0000000000000000 __tmp_reg__ /tmp/ccSoMJfR.s:7 *ABS*:0000000000000001 __zero_reg__ /tmp/ccSoMJfR.s:10 .text.NutEtherDemux:0000000000000000 NutEtherDemux .bss:0000000000000000 eth_prot /tmp/ccSoMJfR.s:88 .text.NutRegisterEthHandler:0000000000000000 NutRegisterEthHandler UNDEFINED SYMBOLS calloc ether_demux __do_clear_bss