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