icmpin.lst 8.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254
  1. GAS LISTING /tmp/ccWs844a.s page 1
  2. 1 .file "icmpin.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.NutIcmpInput,"ax",@progbits
  10. 9 .global NutIcmpInput
  11. 10 .type NutIcmpInput, @function
  12. 11 NutIcmpInput:
  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 8C01 movw r16,r24
  26. 25 0012 6B01 movw r12,r22
  27. 26 0014 DB01 movw r26,r22
  28. 27 0016 1B96 adiw r26,11
  29. 28 0018 CD91 ld r28,X+
  30. 29 001a DC91 ld r29,X
  31. 30 001c 1C97 sbiw r26,11+1
  32. 31 001e 2097 sbiw r28,0
  33. 32 0020 01F4 brne .+2
  34. 33 0022 00C0 rjmp .L5
  35. 34 0024 1D96 adiw r26,13
  36. 35 0026 2D91 ld r18,X+
  37. 36 0028 3C91 ld r19,X
  38. 37 002a 1E97 sbiw r26,13+1
  39. 38 002c 2830 cpi r18,8
  40. 39 002e 3105 cpc r19,__zero_reg__
  41. 40 0030 00F4 brsh .+2
  42. 41 0032 00C0 rjmp .L5
  43. 42 0034 2850 subi r18,8
  44. 43 0036 3109 sbc r19,__zero_reg__
  45. 44 0038 FB01 movw r30,r22
  46. 45 003a 328B std Z+18,r19
  47. 46 003c 218B std Z+17,r18
  48. 47 003e 232B or r18,r19
  49. 48 0040 01F0 breq .L4
  50. 49 0042 CE01 movw r24,r28
  51. 50 0044 0896 adiw r24,8
  52. 51 0046 908B std Z+16,r25
  53. 52 0048 8787 std Z+15,r24
  54. 53 004a 88E0 ldi r24,lo8(8)
  55. 54 004c 90E0 ldi r25,0
  56. 55 004e 9687 std Z+14,r25
  57. 56 0050 8587 std Z+13,r24
  58. 57 .L4:
  59. GAS LISTING /tmp/ccWs844a.s page 2
  60. 58 0052 9881 ld r25,Y
  61. 59 0054 9330 cpi r25,lo8(3)
  62. 60 0056 01F0 breq .L6
  63. 61 0058 9830 cpi r25,lo8(8)
  64. 62 005a 01F0 breq .+2
  65. 63 005c 00C0 rjmp .L5
  66. 64 005e D601 movw r26,r12
  67. 65 0060 1796 adiw r26,7
  68. 66 0062 ED91 ld r30,X+
  69. 67 0064 FC91 ld r31,X
  70. 68 0066 1897 sbiw r26,7+1
  71. 69 0068 4485 ldd r20,Z+12
  72. 70 006a 5585 ldd r21,Z+13
  73. 71 006c 6685 ldd r22,Z+14
  74. 72 006e 7785 ldd r23,Z+15
  75. 73 0070 D801 movw r26,r16
  76. 74 0072 1F96 adiw r26,15
  77. 75 0074 8D91 ld r24,X+
  78. 76 0076 9C91 ld r25,X
  79. 77 0078 5097 sbiw r26,15+1
  80. 78 007a DC01 movw r26,r24
  81. 79 007c 1B96 adiw r26,11
  82. 80 007e 0D91 ld r16,X+
  83. 81 0080 1D91 ld r17,X+
  84. 82 0082 2D91 ld r18,X+
  85. 83 0084 3C91 ld r19,X
  86. 84 0086 1E97 sbiw r26,11+3
  87. 85 0088 0487 std Z+12,r16
  88. 86 008a 1587 std Z+13,r17
  89. 87 008c 2687 std Z+14,r18
  90. 88 008e 3787 std Z+15,r19
  91. 89 0090 8FEF ldi r24,lo8(-1)
  92. 90 0092 8087 std Z+8,r24
  93. 91 0094 9601 movw r18,r12
  94. 92 0096 80E0 ldi r24,0
  95. 93 0098 0E94 0000 call NutIcmpOutput
  96. 94 009c 892B or r24,r25
  97. 95 009e 01F0 breq .+2
  98. 96 00a0 00C0 rjmp .L1
  99. 97 .L6:
  100. 98 00a2 C981 ldd r28,Y+1
  101. 99 00a4 D0E0 ldi r29,0
  102. 100 00a6 F601 movw r30,r12
  103. 101 00a8 8189 ldd r24,Z+17
  104. 102 00aa 9289 ldd r25,Z+18
  105. 103 00ac 4C97 sbiw r24,28
  106. 104 00ae 00F4 brsh .+2
  107. 105 00b0 00C0 rjmp .L5
  108. 106 00b2 E784 ldd r14,Z+15
  109. 107 00b4 F088 ldd r15,Z+16
  110. 108 00b6 D701 movw r26,r14
  111. 109 00b8 1996 adiw r26,9
  112. 110 00ba 8C91 ld r24,X
  113. 111 00bc 8630 cpi r24,lo8(6)
  114. 112 00be 01F0 breq .L10
  115. 113 00c0 8131 cpi r24,lo8(17)
  116. 114 00c2 01F0 breq .L11
  117. GAS LISTING /tmp/ccWs844a.s page 3
  118. 115 00c4 00C0 rjmp .L5
  119. 116 .L10:
  120. 117 00c6 F701 movw r30,r14
  121. 118 00c8 2485 ldd r18,Z+12
  122. 119 00ca 3585 ldd r19,Z+13
  123. 120 00cc 4685 ldd r20,Z+14
  124. 121 00ce 5785 ldd r21,Z+15
  125. 122 00d0 E057 subi r30,112
  126. 123 00d2 FE4F sbci r31,-2
  127. 124 00d4 6081 ld r22,Z
  128. 125 00d6 7181 ldd r23,Z+1
  129. 126 00d8 8281 ldd r24,Z+2
  130. 127 00da 9381 ldd r25,Z+3
  131. 128 00dc 0E94 0000 call NutTcpFindSocket
  132. 129 00e0 0097 sbiw r24,0
  133. 130 00e2 01F0 breq .L5
  134. 131 00e4 DC01 movw r26,r24
  135. 132 00e6 5596 adiw r26,21
  136. 133 00e8 2C91 ld r18,X
  137. 134 00ea 5597 sbiw r26,21
  138. 135 00ec 2230 cpi r18,lo8(2)
  139. 136 00ee 01F0 breq .L13
  140. 137 00f0 5596 adiw r26,21
  141. 138 00f2 2C91 ld r18,X
  142. 139 00f4 2430 cpi r18,lo8(4)
  143. 140 00f6 01F4 brne .L5
  144. 141 .L13:
  145. 142 00f8 CC0F lsl r28
  146. 143 00fa DD1F rol r29
  147. 144 00fc C050 subi r28,lo8(-(icmp_code2errno))
  148. 145 00fe D040 sbci r29,hi8(-(icmp_code2errno))
  149. 146 0100 6881 ld r22,Y
  150. 147 0102 7981 ldd r23,Y+1
  151. 148 0104 0E94 0000 call NutTcpAbortSocket
  152. 149 0108 00C0 rjmp .L5
  153. 150 .L11:
  154. 151 010a F701 movw r30,r14
  155. 152 010c 8689 ldd r24,Z+22
  156. 153 010e 9789 ldd r25,Z+23
  157. 154 0110 0E94 0000 call NutUdpFindSocket
  158. 155 0114 0097 sbiw r24,0
  159. 156 0116 01F0 breq .L5
  160. 157 0118 CC0F lsl r28
  161. 158 011a DD1F rol r29
  162. 159 011c C050 subi r28,lo8(-(icmp_code2errno))
  163. 160 011e D040 sbci r29,hi8(-(icmp_code2errno))
  164. 161 0120 0881 ld r16,Y
  165. 162 0122 1981 ldd r17,Y+1
  166. 163 0124 D701 movw r26,r14
  167. 164 0126 5696 adiw r26,22
  168. 165 0128 2D91 ld r18,X+
  169. 166 012a 3C91 ld r19,X
  170. 167 012c 5797 sbiw r26,22+1
  171. 168 012e 5096 adiw r26,16
  172. 169 0130 4D91 ld r20,X+
  173. 170 0132 5D91 ld r21,X+
  174. 171 0134 6D91 ld r22,X+
  175. GAS LISTING /tmp/ccWs844a.s page 4
  176. 172 0136 7C91 ld r23,X
  177. 173 0138 5397 sbiw r26,16+3
  178. 174 013a 0E94 0000 call NutUdpSetSocketError
  179. 175 .L5:
  180. 176 013e C601 movw r24,r12
  181. 177 /* epilogue start */
  182. 178 0140 DF91 pop r29
  183. 179 0142 CF91 pop r28
  184. 180 0144 1F91 pop r17
  185. 181 0146 0F91 pop r16
  186. 182 0148 FF90 pop r15
  187. 183 014a EF90 pop r14
  188. 184 014c DF90 pop r13
  189. 185 014e CF90 pop r12
  190. 186 0150 0C94 0000 jmp NutNetBufFree
  191. 187 .L1:
  192. 188 /* epilogue start */
  193. 189 0154 DF91 pop r29
  194. 190 0156 CF91 pop r28
  195. 191 0158 1F91 pop r17
  196. 192 015a 0F91 pop r16
  197. 193 015c FF90 pop r15
  198. 194 015e EF90 pop r14
  199. 195 0160 DF90 pop r13
  200. 196 0162 CF90 pop r12
  201. 197 0164 0895 ret
  202. 198 .size NutIcmpInput, .-NutIcmpInput
  203. 199 .section .rodata
  204. 200 .type icmp_code2errno, @object
  205. 201 .size icmp_code2errno, 32
  206. 202 icmp_code2errno:
  207. 203 0000 3300 .word 51
  208. 204 0002 4100 .word 65
  209. 205 0004 2A00 .word 42
  210. 206 0006 3D00 .word 61
  211. 207 0008 2800 .word 40
  212. 208 000a 2D00 .word 45
  213. 209 000c 3300 .word 51
  214. 210 000e 4000 .word 64
  215. 211 0010 3300 .word 51
  216. 212 0012 3300 .word 51
  217. 213 0014 4100 .word 65
  218. 214 0016 3300 .word 51
  219. 215 0018 4100 .word 65
  220. 216 001a 4100 .word 65
  221. 217 001c 4100 .word 65
  222. 218 001e 4100 .word 65
  223. 219 .ident "GCC: (GNU) 5.3.0"
  224. 220 .global __do_copy_data
  225. GAS LISTING /tmp/ccWs844a.s page 5
  226. DEFINED SYMBOLS
  227. *ABS*:0000000000000000 icmpin.c
  228. /tmp/ccWs844a.s:2 *ABS*:000000000000003e __SP_H__
  229. /tmp/ccWs844a.s:3 *ABS*:000000000000003d __SP_L__
  230. /tmp/ccWs844a.s:4 *ABS*:000000000000003f __SREG__
  231. /tmp/ccWs844a.s:5 *ABS*:000000000000003b __RAMPZ__
  232. /tmp/ccWs844a.s:6 *ABS*:0000000000000000 __tmp_reg__
  233. /tmp/ccWs844a.s:7 *ABS*:0000000000000001 __zero_reg__
  234. /tmp/ccWs844a.s:11 .text.NutIcmpInput:0000000000000000 NutIcmpInput
  235. /tmp/ccWs844a.s:202 .rodata:0000000000000000 icmp_code2errno
  236. UNDEFINED SYMBOLS
  237. NutIcmpOutput
  238. NutTcpFindSocket
  239. NutTcpAbortSocket
  240. NutUdpFindSocket
  241. NutUdpSetSocketError
  242. NutNetBufFree
  243. __do_copy_data