icmpout.lst 9.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289
  1. GAS LISTING /tmp/ccHNaqih.s page 1
  2. 1 .file "icmpout.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.NutIcmpOutput,"ax",@progbits
  10. 9 .global NutIcmpOutput
  11. 10 .type NutIcmpOutput, @function
  12. 11 NutIcmpOutput:
  13. 12 0000 CF92 push r12
  14. 13 0002 DF92 push r13
  15. 14 0004 EF92 push r14
  16. 15 0006 FF92 push r15
  17. 16 0008 0F93 push r16
  18. 17 000a 1F93 push r17
  19. 18 000c CF93 push r28
  20. 19 000e DF93 push r29
  21. 20 /* prologue: function */
  22. 21 /* frame size = 0 */
  23. 22 /* stack size = 8 */
  24. 23 .L__stack_usage = 8
  25. 24 0010 6A01 movw r12,r20
  26. 25 0012 7B01 movw r14,r22
  27. 26 0014 E901 movw r28,r18
  28. 27 0016 0B85 ldd r16,Y+11
  29. 28 0018 1C85 ldd r17,Y+12
  30. 29 001a F801 movw r30,r16
  31. 30 001c 8083 st Z,r24
  32. 31 001e 1382 std Z+3,__zero_reg__
  33. 32 0020 1282 std Z+2,__zero_reg__
  34. 33 0022 4D85 ldd r20,Y+13
  35. 34 0024 5E85 ldd r21,Y+14
  36. 35 0026 6B85 ldd r22,Y+11
  37. 36 0028 7C85 ldd r23,Y+12
  38. 37 002a 80E0 ldi r24,0
  39. 38 002c 90E0 ldi r25,0
  40. 39 002e 0E94 0000 call NutIpChkSumPartial
  41. 40 0032 4989 ldd r20,Y+17
  42. 41 0034 5A89 ldd r21,Y+18
  43. 42 0036 6F85 ldd r22,Y+15
  44. 43 0038 7889 ldd r23,Y+16
  45. 44 003a 0E94 0000 call NutIpChkSum
  46. 45 003e F801 movw r30,r16
  47. 46 0040 9383 std Z+3,r25
  48. 47 0042 8283 std Z+2,r24
  49. 48 0044 9E01 movw r18,r28
  50. 49 0046 B701 movw r22,r14
  51. 50 0048 A601 movw r20,r12
  52. 51 004a 81E0 ldi r24,lo8(1)
  53. 52 /* epilogue start */
  54. 53 004c DF91 pop r29
  55. 54 004e CF91 pop r28
  56. 55 0050 1F91 pop r17
  57. 56 0052 0F91 pop r16
  58. 57 0054 FF90 pop r15
  59. GAS LISTING /tmp/ccHNaqih.s page 2
  60. 58 0056 EF90 pop r14
  61. 59 0058 DF90 pop r13
  62. 60 005a CF90 pop r12
  63. 61 005c 0C94 0000 jmp NutIpOutput
  64. 62 .size NutIcmpOutput, .-NutIcmpOutput
  65. 63 .section .text.NutIcmpReply,"ax",@progbits
  66. 64 .global NutIcmpReply
  67. 65 .type NutIcmpReply, @function
  68. 66 NutIcmpReply:
  69. 67 0000 4F92 push r4
  70. 68 0002 5F92 push r5
  71. 69 0004 6F92 push r6
  72. 70 0006 7F92 push r7
  73. 71 0008 8F92 push r8
  74. 72 000a 9F92 push r9
  75. 73 000c AF92 push r10
  76. 74 000e BF92 push r11
  77. 75 0010 CF92 push r12
  78. 76 0012 DF92 push r13
  79. 77 0014 EF92 push r14
  80. 78 0016 FF92 push r15
  81. 79 0018 0F93 push r16
  82. 80 001a 1F93 push r17
  83. 81 001c CF93 push r28
  84. 82 001e DF93 push r29
  85. 83 /* prologue: function */
  86. 84 /* frame size = 0 */
  87. 85 /* stack size = 16 */
  88. 86 .L__stack_usage = 16
  89. 87 0020 C82F mov r28,r24
  90. 88 0022 D62F mov r29,r22
  91. 89 0024 4901 movw r8,r18
  92. 90 0026 5A01 movw r10,r20
  93. 91 0028 C601 movw r24,r12
  94. 92 002a 48E0 ldi r20,lo8(8)
  95. 93 002c 50E0 ldi r21,0
  96. 94 002e 60E4 ldi r22,lo8(64)
  97. 95 0030 0E94 0000 call NutNetBufAlloc
  98. 96 0034 0097 sbiw r24,0
  99. 97 0036 01F0 breq .L3
  100. 98 0038 DC01 movw r26,r24
  101. 99 003a 1B96 adiw r26,11
  102. 100 003c ED91 ld r30,X+
  103. 101 003e FC91 ld r31,X
  104. 102 0040 1C97 sbiw r26,11+1
  105. 103 0042 D183 std Z+1,r29
  106. 104 0044 8482 std Z+4,r8
  107. 105 0046 9582 std Z+5,r9
  108. 106 0048 A682 std Z+6,r10
  109. 107 004a B782 std Z+7,r11
  110. 108 004c 9C01 movw r18,r24
  111. 109 004e B801 movw r22,r16
  112. 110 0050 A701 movw r20,r14
  113. 111 0052 8C2F mov r24,r28
  114. 112 /* epilogue start */
  115. 113 0054 DF91 pop r29
  116. 114 0056 CF91 pop r28
  117. GAS LISTING /tmp/ccHNaqih.s page 3
  118. 115 0058 1F91 pop r17
  119. 116 005a 0F91 pop r16
  120. 117 005c FF90 pop r15
  121. 118 005e EF90 pop r14
  122. 119 0060 DF90 pop r13
  123. 120 0062 CF90 pop r12
  124. 121 0064 BF90 pop r11
  125. 122 0066 AF90 pop r10
  126. 123 0068 9F90 pop r9
  127. 124 006a 8F90 pop r8
  128. 125 006c 7F90 pop r7
  129. 126 006e 6F90 pop r6
  130. 127 0070 5F90 pop r5
  131. 128 0072 4F90 pop r4
  132. 129 0074 0C94 0000 jmp NutIcmpOutput
  133. 130 .L3:
  134. 131 0078 8FEF ldi r24,lo8(-1)
  135. 132 007a 9FEF ldi r25,lo8(-1)
  136. 133 /* epilogue start */
  137. 134 007c DF91 pop r29
  138. 135 007e CF91 pop r28
  139. 136 0080 1F91 pop r17
  140. 137 0082 0F91 pop r16
  141. 138 0084 FF90 pop r15
  142. 139 0086 EF90 pop r14
  143. 140 0088 DF90 pop r13
  144. 141 008a CF90 pop r12
  145. 142 008c BF90 pop r11
  146. 143 008e AF90 pop r10
  147. 144 0090 9F90 pop r9
  148. 145 0092 8F90 pop r8
  149. 146 0094 7F90 pop r7
  150. 147 0096 6F90 pop r6
  151. 148 0098 5F90 pop r5
  152. 149 009a 4F90 pop r4
  153. 150 009c 0895 ret
  154. 151 .size NutIcmpReply, .-NutIcmpReply
  155. 152 .section .text.NutIcmpResponse,"ax",@progbits
  156. 153 .global NutIcmpResponse
  157. 154 .type NutIcmpResponse, @function
  158. 155 NutIcmpResponse:
  159. 156 0000 2F92 push r2
  160. 157 0002 3F92 push r3
  161. 158 0004 4F92 push r4
  162. 159 0006 5F92 push r5
  163. 160 0008 6F92 push r6
  164. 161 000a 7F92 push r7
  165. 162 000c 8F92 push r8
  166. 163 000e 9F92 push r9
  167. 164 0010 AF92 push r10
  168. 165 0012 BF92 push r11
  169. 166 0014 CF92 push r12
  170. 167 0016 DF92 push r13
  171. 168 0018 EF92 push r14
  172. 169 001a FF92 push r15
  173. 170 001c 0F93 push r16
  174. 171 001e 1F93 push r17
  175. GAS LISTING /tmp/ccHNaqih.s page 4
  176. 172 0020 CF93 push r28
  177. 173 0022 DF93 push r29
  178. 174 /* prologue: function */
  179. 175 /* frame size = 0 */
  180. 176 /* stack size = 18 */
  181. 177 .L__stack_usage = 18
  182. 178 0024 382E mov r3,r24
  183. 179 0026 262E mov r2,r22
  184. 180 0028 2901 movw r4,r18
  185. 181 002a 3A01 movw r6,r20
  186. 182 002c C801 movw r24,r16
  187. 183 002e D801 movw r26,r16
  188. 184 0030 1796 adiw r26,7
  189. 185 0032 ED91 ld r30,X+
  190. 186 0034 FC91 ld r31,X
  191. 187 0036 1897 sbiw r26,7+1
  192. 188 0038 8484 ldd r8,Z+12
  193. 189 003a 9584 ldd r9,Z+13
  194. 190 003c A684 ldd r10,Z+14
  195. 191 003e B784 ldd r11,Z+15
  196. 192 0040 4CE1 ldi r20,lo8(28)
  197. 193 0042 50E0 ldi r21,0
  198. 194 0044 60E8 ldi r22,lo8(-128)
  199. 195 0046 0E94 0000 call NutNetBufAlloc
  200. 196 004a EC01 movw r28,r24
  201. 197 004c 892B or r24,r25
  202. 198 004e 01F0 breq .L7
  203. 199 0050 AF85 ldd r26,Y+15
  204. 200 0052 B889 ldd r27,Y+16
  205. 201 0054 EF81 ldd r30,Y+7
  206. 202 0056 F885 ldd r31,Y+8
  207. 203 0058 84E1 ldi r24,lo8(20)
  208. 204 0:
  209. 205 005a 0190 ld r0,Z+
  210. 206 005c 0D92 st X+,r0
  211. 207 005e 8A95 dec r24
  212. 208 0060 01F4 brne 0b
  213. 209 0062 AF85 ldd r26,Y+15
  214. 210 0064 B889 ldd r27,Y+16
  215. 211 0066 5496 adiw r26,20
  216. 212 0068 EB85 ldd r30,Y+11
  217. 213 006a FC85 ldd r31,Y+12
  218. 214 006c 88E0 ldi r24,lo8(8)
  219. 215 0:
  220. 216 006e 0190 ld r0,Z+
  221. 217 0070 0D92 st X+,r0
  222. 218 0072 8A95 dec r24
  223. 219 0074 01F4 brne 0b
  224. 220 0076 6E01 movw r12,r28
  225. 221 0078 8501 movw r16,r10
  226. 222 007a 7401 movw r14,r8
  227. 223 007c A301 movw r20,r6
  228. 224 007e 9201 movw r18,r4
  229. 225 0080 622D mov r22,r2
  230. 226 0082 832D mov r24,r3
  231. 227 0084 0E94 0000 call NutIcmpReply
  232. 228 0088 00C0 rjmp .L6
  233. GAS LISTING /tmp/ccHNaqih.s page 5
  234. 229 .L7:
  235. 230 008a 8FEF ldi r24,lo8(-1)
  236. 231 008c 9FEF ldi r25,lo8(-1)
  237. 232 .L6:
  238. 233 /* epilogue start */
  239. 234 008e DF91 pop r29
  240. 235 0090 CF91 pop r28
  241. 236 0092 1F91 pop r17
  242. 237 0094 0F91 pop r16
  243. 238 0096 FF90 pop r15
  244. 239 0098 EF90 pop r14
  245. 240 009a DF90 pop r13
  246. 241 009c CF90 pop r12
  247. 242 009e BF90 pop r11
  248. 243 00a0 AF90 pop r10
  249. 244 00a2 9F90 pop r9
  250. 245 00a4 8F90 pop r8
  251. 246 00a6 7F90 pop r7
  252. 247 00a8 6F90 pop r6
  253. 248 00aa 5F90 pop r5
  254. 249 00ac 4F90 pop r4
  255. 250 00ae 3F90 pop r3
  256. 251 00b0 2F90 pop r2
  257. 252 00b2 0895 ret
  258. 253 .size NutIcmpResponse, .-NutIcmpResponse
  259. 254 .ident "GCC: (GNU) 5.3.0"
  260. GAS LISTING /tmp/ccHNaqih.s page 6
  261. DEFINED SYMBOLS
  262. *ABS*:0000000000000000 icmpout.c
  263. /tmp/ccHNaqih.s:2 *ABS*:000000000000003e __SP_H__
  264. /tmp/ccHNaqih.s:3 *ABS*:000000000000003d __SP_L__
  265. /tmp/ccHNaqih.s:4 *ABS*:000000000000003f __SREG__
  266. /tmp/ccHNaqih.s:5 *ABS*:000000000000003b __RAMPZ__
  267. /tmp/ccHNaqih.s:6 *ABS*:0000000000000000 __tmp_reg__
  268. /tmp/ccHNaqih.s:7 *ABS*:0000000000000001 __zero_reg__
  269. /tmp/ccHNaqih.s:11 .text.NutIcmpOutput:0000000000000000 NutIcmpOutput
  270. /tmp/ccHNaqih.s:66 .text.NutIcmpReply:0000000000000000 NutIcmpReply
  271. /tmp/ccHNaqih.s:155 .text.NutIcmpResponse:0000000000000000 NutIcmpResponse
  272. UNDEFINED SYMBOLS
  273. NutIpChkSumPartial
  274. NutIpChkSum
  275. NutIpOutput
  276. NutNetBufAlloc