ethdemux.lst 7.0 KB

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