arpout.lst 7.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217
  1. GAS LISTING /tmp/cclKRoFG.s page 1
  2. 1 .file "arpout.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.NutArpAllocNetBuf,"ax",@progbits
  10. 9 .global NutArpAllocNetBuf
  11. 10 .type NutArpAllocNetBuf, @function
  12. 11 NutArpAllocNetBuf:
  13. 12 0000 8F92 push r8
  14. 13 0002 9F92 push r9
  15. 14 0004 AF92 push r10
  16. 15 0006 BF92 push r11
  17. 16 0008 CF92 push r12
  18. 17 000a DF92 push r13
  19. 18 000c EF92 push r14
  20. 19 000e FF92 push r15
  21. 20 0010 0F93 push r16
  22. 21 0012 1F93 push r17
  23. 22 0014 CF93 push r28
  24. 23 0016 DF93 push r29
  25. 24 /* prologue: function */
  26. 25 /* frame size = 0 */
  27. 26 /* stack size = 12 */
  28. 27 .L__stack_usage = 12
  29. 28 0018 8C01 movw r16,r24
  30. 29 001a 4A01 movw r8,r20
  31. 30 001c 5B01 movw r10,r22
  32. 31 001e 6901 movw r12,r18
  33. 32 0020 4CE1 ldi r20,lo8(28)
  34. 33 0022 50E0 ldi r21,0
  35. 34 0024 60E2 ldi r22,lo8(32)
  36. 35 0026 80E0 ldi r24,0
  37. 36 0028 90E0 ldi r25,0
  38. 37 002a 0E94 0000 call NutNetBufAlloc
  39. 38 002e 7C01 movw r14,r24
  40. 39 0030 0097 sbiw r24,0
  41. 40 0032 01F4 brne .+2
  42. 41 0034 00C0 rjmp .L5
  43. 42 0036 FC01 movw r30,r24
  44. 43 0038 C781 ldd r28,Z+7
  45. 44 003a D085 ldd r29,Z+8
  46. 45 003c 81E0 ldi r24,lo8(1)
  47. 46 003e 90E0 ldi r25,0
  48. 47 /* #APP */
  49. 48 ; 309 "../../nut/include/sys/types.h" 1
  50. 49 0040 082E mov __tmp_reg__, r24
  51. 50 0042 892F mov r24, r25
  52. 51 0044 902D mov r25, __tmp_reg__
  53. 52
  54. 53 ; 0 "" 2
  55. 54 /* #NOAPP */
  56. 55 0046 9983 std Y+1,r25
  57. 56 0048 8883 st Y,r24
  58. 57 004a 80E0 ldi r24,0
  59. GAS LISTING /tmp/cclKRoFG.s page 2
  60. 58 004c 98E0 ldi r25,lo8(8)
  61. 59 /* #APP */
  62. 60 ; 309 "../../nut/include/sys/types.h" 1
  63. 61 004e 082E mov __tmp_reg__, r24
  64. 62 0050 892F mov r24, r25
  65. 63 0052 902D mov r25, __tmp_reg__
  66. 64
  67. 65 ; 0 "" 2
  68. 66 /* #NOAPP */
  69. 67 0054 9B83 std Y+3,r25
  70. 68 0056 8A83 std Y+2,r24
  71. 69 0058 86E0 ldi r24,lo8(6)
  72. 70 005a 8C83 std Y+4,r24
  73. 71 005c 84E0 ldi r24,lo8(4)
  74. 72 005e 8D83 std Y+5,r24
  75. 73 0060 C801 movw r24,r16
  76. 74 /* #APP */
  77. 75 ; 309 "../../nut/include/sys/types.h" 1
  78. 76 0062 082E mov __tmp_reg__, r24
  79. 77 0064 892F mov r24, r25
  80. 78 0066 902D mov r25, __tmp_reg__
  81. 79
  82. 80 ; 0 "" 2
  83. 81 /* #NOAPP */
  84. 82 0068 9F83 std Y+7,r25
  85. 83 006a 8E83 std Y+6,r24
  86. 84 006c CE01 movw r24,r28
  87. 85 006e 4296 adiw r24,18
  88. 86 0070 C114 cp r12,__zero_reg__
  89. 87 0072 D104 cpc r13,__zero_reg__
  90. 88 0074 01F0 breq .L3
  91. 89 0076 26E0 ldi r18,lo8(6)
  92. 90 0078 F601 movw r30,r12
  93. 91 007a DC01 movw r26,r24
  94. 92 0:
  95. 93 007c 0190 ld r0,Z+
  96. 94 007e 0D92 st X+,r0
  97. 95 0080 2A95 dec r18
  98. 96 0082 01F4 brne 0b
  99. 97 0084 00C0 rjmp .L4
  100. 98 .L3:
  101. 99 0086 46E0 ldi r20,lo8(6)
  102. 100 0088 50E0 ldi r21,0
  103. 101 008a 6FEF ldi r22,lo8(-1)
  104. 102 008c 70E0 ldi r23,0
  105. 103 008e 0E94 0000 call memset
  106. 104 .L4:
  107. 105 0092 888E std Y+24,r8
  108. 106 0094 998E std Y+25,r9
  109. 107 0096 AA8E std Y+26,r10
  110. 108 0098 BB8E std Y+27,r11
  111. 109 009a C701 movw r24,r14
  112. 110 009c 00C0 rjmp .L2
  113. 111 .L5:
  114. 112 009e 80E0 ldi r24,0
  115. 113 00a0 90E0 ldi r25,0
  116. 114 .L2:
  117. GAS LISTING /tmp/cclKRoFG.s page 3
  118. 115 /* epilogue start */
  119. 116 00a2 DF91 pop r29
  120. 117 00a4 CF91 pop r28
  121. 118 00a6 1F91 pop r17
  122. 119 00a8 0F91 pop r16
  123. 120 00aa FF90 pop r15
  124. 121 00ac EF90 pop r14
  125. 122 00ae DF90 pop r13
  126. 123 00b0 CF90 pop r12
  127. 124 00b2 BF90 pop r11
  128. 125 00b4 AF90 pop r10
  129. 126 00b6 9F90 pop r9
  130. 127 00b8 8F90 pop r8
  131. 128 00ba 0895 ret
  132. 129 .size NutArpAllocNetBuf, .-NutArpAllocNetBuf
  133. 130 .section .text.NutArpOutput,"ax",@progbits
  134. 131 .global NutArpOutput
  135. 132 .type NutArpOutput, @function
  136. 133 NutArpOutput:
  137. 134 0000 0F93 push r16
  138. 135 0002 1F93 push r17
  139. 136 0004 CF93 push r28
  140. 137 0006 DF93 push r29
  141. 138 /* prologue: function */
  142. 139 /* frame size = 0 */
  143. 140 /* stack size = 4 */
  144. 141 .L__stack_usage = 4
  145. 142 0008 9B01 movw r18,r22
  146. 143 000a DB01 movw r26,r22
  147. 144 000c 1796 adiw r26,7
  148. 145 000e CD91 ld r28,X+
  149. 146 0010 DC91 ld r29,X
  150. 147 0012 1897 sbiw r26,7+1
  151. 148 0014 FC01 movw r30,r24
  152. 149 0016 0785 ldd r16,Z+15
  153. 150 0018 1089 ldd r17,Z+16
  154. 151 001a DE01 movw r26,r28
  155. 152 001c 1896 adiw r26,8
  156. 153 001e F801 movw r30,r16
  157. 154 0020 3596 adiw r30,5
  158. 155 0022 46E0 ldi r20,lo8(6)
  159. 156 0:
  160. 157 0024 0190 ld r0,Z+
  161. 158 0026 0D92 st X+,r0
  162. 159 0028 4A95 dec r20
  163. 160 002a 01F4 brne 0b
  164. 161 002c D801 movw r26,r16
  165. 162 002e 1B96 adiw r26,11
  166. 163 0030 4D91 ld r20,X+
  167. 164 0032 5D91 ld r21,X+
  168. 165 0034 6D91 ld r22,X+
  169. 166 0036 7C91 ld r23,X
  170. 167 0038 1E97 sbiw r26,11+3
  171. 168 003a 4E87 std Y+14,r20
  172. 169 003c 5F87 std Y+15,r21
  173. 170 003e 688B std Y+16,r22
  174. 171 0040 798B std Y+17,r23
  175. GAS LISTING /tmp/cclKRoFG.s page 4
  176. 172 0042 AE01 movw r20,r28
  177. 173 0044 4E5E subi r20,-18
  178. 174 0046 5F4F sbci r21,-1
  179. 175 0048 9396 adiw r26,35
  180. 176 004a ED91 ld r30,X+
  181. 177 004c FC91 ld r31,X
  182. 178 004e 9497 sbiw r26,35+1
  183. 179 0050 66E0 ldi r22,lo8(6)
  184. 180 0052 78E0 ldi r23,lo8(8)
  185. 181 /* epilogue start */
  186. 182 0054 DF91 pop r29
  187. 183 0056 CF91 pop r28
  188. 184 0058 1F91 pop r17
  189. 185 005a 0F91 pop r16
  190. 186 005c 1994 eijmp
  191. 187 .size NutArpOutput, .-NutArpOutput
  192. 188 .ident "GCC: (GNU) 5.3.0"
  193. GAS LISTING /tmp/cclKRoFG.s page 5
  194. DEFINED SYMBOLS
  195. *ABS*:0000000000000000 arpout.c
  196. /tmp/cclKRoFG.s:2 *ABS*:000000000000003e __SP_H__
  197. /tmp/cclKRoFG.s:3 *ABS*:000000000000003d __SP_L__
  198. /tmp/cclKRoFG.s:4 *ABS*:000000000000003f __SREG__
  199. /tmp/cclKRoFG.s:5 *ABS*:000000000000003b __RAMPZ__
  200. /tmp/cclKRoFG.s:6 *ABS*:0000000000000000 __tmp_reg__
  201. /tmp/cclKRoFG.s:7 *ABS*:0000000000000001 __zero_reg__
  202. /tmp/cclKRoFG.s:11 .text.NutArpAllocNetBuf:0000000000000000 NutArpAllocNetBuf
  203. /tmp/cclKRoFG.s:133 .text.NutArpOutput:0000000000000000 NutArpOutput
  204. UNDEFINED SYMBOLS
  205. NutNetBufAlloc
  206. memset