inet.lst 12 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342
  1. GAS LISTING /tmp/ccWfAp8v.s page 1
  2. 1 .file "inet.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.inet_addr,"ax",@progbits
  10. 9 .global inet_addr
  11. 10 .type inet_addr, @function
  12. 11 inet_addr:
  13. 12 0000 CF93 push r28
  14. 13 0002 DF93 push r29
  15. 14 0004 00D0 rcall .
  16. 15 0006 1F92 push __zero_reg__
  17. 16 0008 CDB7 in r28,__SP_L__
  18. 17 000a DEB7 in r29,__SP_H__
  19. 18 /* prologue: function */
  20. 19 /* frame size = 4 */
  21. 20 /* stack size = 6 */
  22. 21 .L__stack_usage = 6
  23. 22 000c FC01 movw r30,r24
  24. 23 000e 1982 std Y+1,__zero_reg__
  25. 24 0010 1A82 std Y+2,__zero_reg__
  26. 25 0012 1B82 std Y+3,__zero_reg__
  27. 26 0014 1C82 std Y+4,__zero_reg__
  28. 27 0016 DE01 movw r26,r28
  29. 28 0018 1196 adiw r26,1
  30. 29 001a 20E0 ldi r18,0
  31. 30 001c 6AE0 ldi r22,lo8(10)
  32. 31 .L8:
  33. 32 001e 8081 ld r24,Z
  34. 33 0020 8053 subi r24,lo8(-(-48))
  35. 34 0022 8A30 cpi r24,lo8(10)
  36. 35 0024 00F0 brlo .L2
  37. 36 .L6:
  38. 37 0026 6FEF ldi r22,lo8(-1)
  39. 38 0028 7FEF ldi r23,lo8(-1)
  40. 39 002a CB01 movw r24,r22
  41. 40 002c 00C0 rjmp .L3
  42. 41 .L2:
  43. 42 002e 80E0 ldi r24,0
  44. 43 0030 90E0 ldi r25,0
  45. 44 .L5:
  46. 45 0032 689F mul r22,r24
  47. 46 0034 A001 movw r20,r0
  48. 47 0036 699F mul r22,r25
  49. 48 0038 500D add r21,r0
  50. 49 003a 1124 clr __zero_reg__
  51. 50 003c CA01 movw r24,r20
  52. 51 003e C097 sbiw r24,48
  53. 52 0040 3191 ld r19,Z+
  54. 53 0042 830F add r24,r19
  55. 54 0044 911D adc r25,__zero_reg__
  56. 55 0046 37FD sbrc r19,7
  57. 56 0048 9A95 dec r25
  58. 57 004a 3081 ld r19,Z
  59. GAS LISTING /tmp/ccWfAp8v.s page 2
  60. 58 004c 40ED ldi r20,lo8(-48)
  61. 59 004e 430F add r20,r19
  62. 60 0050 4A30 cpi r20,lo8(10)
  63. 61 0052 00F4 brsh .L4
  64. 62 0054 8F3F cpi r24,-1
  65. 63 0056 9105 cpc r25,__zero_reg__
  66. 64 0058 01F0 breq .L5
  67. 65 005a 00F0 brlo .L5
  68. 66 005c 00C0 rjmp .L6
  69. 67 .L4:
  70. 68 005e 8F3F cpi r24,-1
  71. 69 0060 9105 cpc r25,__zero_reg__
  72. 70 0062 01F0 breq .+2
  73. 71 0064 00F4 brsh .L6
  74. 72 0066 2F5F subi r18,lo8(-(1))
  75. 73 0068 8D93 st X+,r24
  76. 74 006a 3E32 cpi r19,lo8(46)
  77. 75 006c 01F0 breq .L7
  78. 76 006e 2430 cpi r18,lo8(4)
  79. 77 0070 01F4 brne .L6
  80. 78 0072 6981 ldd r22,Y+1
  81. 79 0074 7A81 ldd r23,Y+2
  82. 80 0076 8B81 ldd r24,Y+3
  83. 81 0078 9C81 ldd r25,Y+4
  84. 82 007a 00C0 rjmp .L3
  85. 83 .L7:
  86. 84 007c 3196 adiw r30,1
  87. 85 007e 2430 cpi r18,lo8(4)
  88. 86 0080 01F4 brne .L8
  89. 87 0082 00C0 rjmp .L6
  90. 88 .L3:
  91. 89 /* epilogue start */
  92. 90 0084 0F90 pop __tmp_reg__
  93. 91 0086 0F90 pop __tmp_reg__
  94. 92 0088 0F90 pop __tmp_reg__
  95. 93 008a 0F90 pop __tmp_reg__
  96. 94 008c DF91 pop r29
  97. 95 008e CF91 pop r28
  98. 96 0090 0895 ret
  99. 97 .size inet_addr, .-inet_addr
  100. 98 .section .text.inet_ntoa,"ax",@progbits
  101. 99 .global inet_ntoa
  102. 100 .type inet_ntoa, @function
  103. 101 inet_ntoa:
  104. 102 0000 EF92 push r14
  105. 103 0002 FF92 push r15
  106. 104 0004 0F93 push r16
  107. 105 0006 1F93 push r17
  108. 106 0008 CF93 push r28
  109. 107 000a DF93 push r29
  110. 108 000c CDB7 in r28,__SP_L__
  111. 109 000e DEB7 in r29,__SP_H__
  112. 110 0010 2797 sbiw r28,7
  113. 111 0012 0FB6 in __tmp_reg__,__SREG__
  114. 112 0014 F894 cli
  115. 113 0016 DEBF out __SP_H__,r29
  116. 114 0018 0FBE out __SREG__,__tmp_reg__
  117. GAS LISTING /tmp/ccWfAp8v.s page 3
  118. 115 001a CDBF out __SP_L__,r28
  119. 116 /* prologue: function */
  120. 117 /* frame size = 7 */
  121. 118 /* stack size = 13 */
  122. 119 .L__stack_usage = 13
  123. 120 001c 6C83 std Y+4,r22
  124. 121 001e 7D83 std Y+5,r23
  125. 122 0020 8E83 std Y+6,r24
  126. 123 0022 9F83 std Y+7,r25
  127. 124 0024 FE01 movw r30,r28
  128. 125 0026 3496 adiw r30,4
  129. 126 0028 8F01 movw r16,r30
  130. 127 002a 0C5F subi r16,-4
  131. 128 002c 1F4F sbci r17,-1
  132. 129 002e 40E0 ldi r20,lo8(str.2066)
  133. 130 0030 50E0 ldi r21,hi8(str.2066)
  134. 131 0032 8AE0 ldi r24,lo8(10)
  135. 132 0034 E82E mov r14,r24
  136. 133 0036 9EE2 ldi r25,lo8(46)
  137. 134 0038 F92E mov r15,r25
  138. 135 .L16:
  139. 136 003a 8081 ld r24,Z
  140. 137 003c 20E0 ldi r18,0
  141. 138 .L13:
  142. 139 003e 6E2D mov r22,r14
  143. 140 0040 0E94 0000 call __udivmodqi4
  144. 141 0044 31E0 ldi r19,lo8(1)
  145. 142 0046 320F add r19,r18
  146. 143 0048 A1E0 ldi r26,lo8(1)
  147. 144 004a B0E0 ldi r27,0
  148. 145 004c AC0F add r26,r28
  149. 146 004e BD1F adc r27,r29
  150. 147 0050 A20F add r26,r18
  151. 148 0052 B11D adc r27,__zero_reg__
  152. 149 0054 905D subi r25,lo8(-(48))
  153. 150 0056 9C93 st X,r25
  154. 151 0058 232F mov r18,r19
  155. 152 005a 8111 cpse r24,__zero_reg__
  156. 153 005c 00C0 rjmp .L13
  157. 154 005e 1192 st Z+,__zero_reg__
  158. 155 0060 BA01 movw r22,r20
  159. 156 .L14:
  160. 157 0062 2150 subi r18,1
  161. 158 0064 00F0 brcs .L19
  162. 159 0066 81E0 ldi r24,lo8(1)
  163. 160 0068 90E0 ldi r25,0
  164. 161 006a 8C0F add r24,r28
  165. 162 006c 9D1F adc r25,r29
  166. 163 006e 820F add r24,r18
  167. 164 0070 911D adc r25,__zero_reg__
  168. 165 0072 DC01 movw r26,r24
  169. 166 0074 8C91 ld r24,X
  170. 167 0076 DB01 movw r26,r22
  171. 168 0078 8D93 st X+,r24
  172. 169 007a BD01 movw r22,r26
  173. 170 007c 00C0 rjmp .L14
  174. 171 .L19:
  175. GAS LISTING /tmp/ccWfAp8v.s page 4
  176. 172 007e DA01 movw r26,r20
  177. 173 0080 A30F add r26,r19
  178. 174 0082 B11D adc r27,__zero_reg__
  179. 175 0084 AD01 movw r20,r26
  180. 176 0086 4F5F subi r20,-1
  181. 177 0088 5F4F sbci r21,-1
  182. 178 008a FC92 st X,r15
  183. 179 008c E017 cp r30,r16
  184. 180 008e F107 cpc r31,r17
  185. 181 0090 01F4 brne .L16
  186. 182 0092 1C92 st X,__zero_reg__
  187. 183 0094 80E0 ldi r24,lo8(str.2066)
  188. 184 0096 90E0 ldi r25,hi8(str.2066)
  189. 185 /* epilogue start */
  190. 186 0098 2796 adiw r28,7
  191. 187 009a 0FB6 in __tmp_reg__,__SREG__
  192. 188 009c F894 cli
  193. 189 009e DEBF out __SP_H__,r29
  194. 190 00a0 0FBE out __SREG__,__tmp_reg__
  195. 191 00a2 CDBF out __SP_L__,r28
  196. 192 00a4 DF91 pop r29
  197. 193 00a6 CF91 pop r28
  198. 194 00a8 1F91 pop r17
  199. 195 00aa 0F91 pop r16
  200. 196 00ac FF90 pop r15
  201. 197 00ae EF90 pop r14
  202. 198 00b0 0895 ret
  203. 199 .size inet_ntoa, .-inet_ntoa
  204. 200 .section .rodata
  205. 201 .LC0:
  206. 202 0000 3031 3233 .string "0123456789ABCDEF"
  207. 202 3435 3637
  208. 202 3839 4142
  209. 202 4344 4546
  210. 202 00
  211. 203 .section .text.inet_mtoa,"ax",@progbits
  212. 204 .global inet_mtoa
  213. 205 .type inet_mtoa, @function
  214. 206 inet_mtoa:
  215. 207 0000 CF93 push r28
  216. 208 0002 DF93 push r29
  217. 209 0004 CDB7 in r28,__SP_L__
  218. 210 0006 DEB7 in r29,__SP_H__
  219. 211 0008 6097 sbiw r28,16
  220. 212 000a 0FB6 in __tmp_reg__,__SREG__
  221. 213 000c F894 cli
  222. 214 000e DEBF out __SP_H__,r29
  223. 215 0010 0FBE out __SREG__,__tmp_reg__
  224. 216 0012 CDBF out __SP_L__,r28
  225. 217 /* prologue: function */
  226. 218 /* frame size = 16 */
  227. 219 /* stack size = 18 */
  228. 220 .L__stack_usage = 18
  229. 221 0014 20E1 ldi r18,lo8(16)
  230. 222 0016 E0E0 ldi r30,lo8(.LC0)
  231. 223 0018 F0E0 ldi r31,hi8(.LC0)
  232. 224 001a DE01 movw r26,r28
  233. GAS LISTING /tmp/ccWfAp8v.s page 5
  234. 225 001c 1196 adiw r26,1
  235. 226 0:
  236. 227 001e 0190 ld r0,Z+
  237. 228 0020 0D92 st X+,r0
  238. 229 0022 2A95 dec r18
  239. 230 0024 01F4 brne 0b
  240. 231 0026 E0E0 ldi r30,lo8(str.2084+2)
  241. 232 0028 F0E0 ldi r31,hi8(str.2084+2)
  242. 233 002a 20E0 ldi r18,0
  243. 234 002c 30E0 ldi r19,0
  244. 235 002e 5AE3 ldi r21,lo8(58)
  245. 236 .L23:
  246. 237 0030 BC01 movw r22,r24
  247. 238 0032 DC01 movw r26,r24
  248. 239 0034 4D91 ld r20,X+
  249. 240 0036 CD01 movw r24,r26
  250. 241 0038 4295 swap r20
  251. 242 003a 4F70 andi r20,lo8(15)
  252. 243 003c A1E0 ldi r26,lo8(1)
  253. 244 003e B0E0 ldi r27,0
  254. 245 0040 AC0F add r26,r28
  255. 246 0042 BD1F adc r27,r29
  256. 247 0044 A40F add r26,r20
  257. 248 0046 B11D adc r27,__zero_reg__
  258. 249 0048 4C91 ld r20,X
  259. 250 004a DF01 movw r26,r30
  260. 251 004c 1297 sbiw r26,2
  261. 252 004e 4C93 st X,r20
  262. 253 0050 DB01 movw r26,r22
  263. 254 0052 4C91 ld r20,X
  264. 255 0054 4F70 andi r20,lo8(15)
  265. 256 0056 A1E0 ldi r26,lo8(1)
  266. 257 0058 B0E0 ldi r27,0
  267. 258 005a AC0F add r26,r28
  268. 259 005c BD1F adc r27,r29
  269. 260 005e A40F add r26,r20
  270. 261 0060 B11D adc r27,__zero_reg__
  271. 262 0062 4C91 ld r20,X
  272. 263 0064 DF01 movw r26,r30
  273. 264 0066 1197 sbiw r26,1
  274. 265 0068 4C93 st X,r20
  275. 266 006a 2530 cpi r18,5
  276. 267 006c 3105 cpc r19,__zero_reg__
  277. 268 006e 01F0 breq .L21
  278. 269 0070 5083 st Z,r21
  279. 270 0072 00C0 rjmp .L22
  280. 271 .L21:
  281. 272 0074 1082 st Z,__zero_reg__
  282. 273 .L22:
  283. 274 0076 2F5F subi r18,-1
  284. 275 0078 3F4F sbci r19,-1
  285. 276 007a 3396 adiw r30,3
  286. 277 007c 2630 cpi r18,6
  287. 278 007e 3105 cpc r19,__zero_reg__
  288. 279 0080 01F4 brne .L23
  289. 280 0082 80E0 ldi r24,lo8(str.2084)
  290. 281 0084 90E0 ldi r25,hi8(str.2084)
  291. GAS LISTING /tmp/ccWfAp8v.s page 6
  292. 282 /* epilogue start */
  293. 283 0086 6096 adiw r28,16
  294. 284 0088 0FB6 in __tmp_reg__,__SREG__
  295. 285 008a F894 cli
  296. 286 008c DEBF out __SP_H__,r29
  297. 287 008e 0FBE out __SREG__,__tmp_reg__
  298. 288 0090 CDBF out __SP_L__,r28
  299. 289 0092 DF91 pop r29
  300. 290 0094 CF91 pop r28
  301. 291 0096 0895 ret
  302. 292 .size inet_mtoa, .-inet_mtoa
  303. 293 .local str.2084
  304. 294 .comm str.2084,18,1
  305. 295 .local str.2066
  306. 296 .comm str.2066,16,1
  307. 297 .ident "GCC: (GNU) 5.3.0"
  308. 298 .global __do_copy_data
  309. 299 .global __do_clear_bss
  310. GAS LISTING /tmp/ccWfAp8v.s page 7
  311. DEFINED SYMBOLS
  312. *ABS*:0000000000000000 inet.c
  313. /tmp/ccWfAp8v.s:2 *ABS*:000000000000003e __SP_H__
  314. /tmp/ccWfAp8v.s:3 *ABS*:000000000000003d __SP_L__
  315. /tmp/ccWfAp8v.s:4 *ABS*:000000000000003f __SREG__
  316. /tmp/ccWfAp8v.s:5 *ABS*:000000000000003b __RAMPZ__
  317. /tmp/ccWfAp8v.s:6 *ABS*:0000000000000000 __tmp_reg__
  318. /tmp/ccWfAp8v.s:7 *ABS*:0000000000000001 __zero_reg__
  319. /tmp/ccWfAp8v.s:11 .text.inet_addr:0000000000000000 inet_addr
  320. /tmp/ccWfAp8v.s:101 .text.inet_ntoa:0000000000000000 inet_ntoa
  321. /tmp/ccWfAp8v.s:294 .bss:0000000000000012 str.2066
  322. /tmp/ccWfAp8v.s:206 .text.inet_mtoa:0000000000000000 inet_mtoa
  323. .bss:0000000000000000 str.2084
  324. UNDEFINED SYMBOLS
  325. __udivmodqi4
  326. __do_copy_data
  327. __do_clear_bss