putf.lst 39 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201
  1. GAS LISTING /tmp/cc5T5uTd.s page 1
  2. 1 .file "putf.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._putpad,"ax",@progbits
  10. 9 .type _putpad, @function
  11. 10 _putpad:
  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 8C01 movw r16,r24
  25. 24 0012 7B01 movw r14,r22
  26. 25 0014 6A01 movw r12,r20
  27. 26 0016 E901 movw r28,r18
  28. 27 .L2:
  29. 28 0018 C131 cpi r28,17
  30. 29 001a D105 cpc r29,__zero_reg__
  31. 30 001c 04F0 brlt .L6
  32. 31 001e 40E1 ldi r20,lo8(16)
  33. 32 0020 50E0 ldi r21,0
  34. 33 0022 B601 movw r22,r12
  35. 34 0024 C701 movw r24,r14
  36. 35 0026 F801 movw r30,r16
  37. 36 0028 1995 eicall
  38. 37 002a 6097 sbiw r28,16
  39. 38 002c 00C0 rjmp .L2
  40. 39 .L6:
  41. 40 002e 1C16 cp __zero_reg__,r28
  42. 41 0030 1D06 cpc __zero_reg__,r29
  43. 42 0032 04F4 brge .L1
  44. 43 0034 AE01 movw r20,r28
  45. 44 0036 B601 movw r22,r12
  46. 45 0038 C701 movw r24,r14
  47. 46 003a F801 movw r30,r16
  48. 47 /* epilogue start */
  49. 48 003c DF91 pop r29
  50. 49 003e CF91 pop r28
  51. 50 0040 1F91 pop r17
  52. 51 0042 0F91 pop r16
  53. 52 0044 FF90 pop r15
  54. 53 0046 EF90 pop r14
  55. 54 0048 DF90 pop r13
  56. 55 004a CF90 pop r12
  57. 56 004c 1994 eijmp
  58. 57 .L1:
  59. GAS LISTING /tmp/cc5T5uTd.s page 2
  60. 58 /* epilogue start */
  61. 59 004e DF91 pop r29
  62. 60 0050 CF91 pop r28
  63. 61 0052 1F91 pop r17
  64. 62 0054 0F91 pop r16
  65. 63 0056 FF90 pop r15
  66. 64 0058 EF90 pop r14
  67. 65 005a DF90 pop r13
  68. 66 005c CF90 pop r12
  69. 67 005e 0895 ret
  70. 68 .size _putpad, .-_putpad
  71. 69 .section .text.va_args_ulval,"ax",@progbits
  72. 70 .global va_args_ulval
  73. 71 .type va_args_ulval, @function
  74. 72 va_args_ulval:
  75. 73 /* prologue: function */
  76. 74 /* frame size = 0 */
  77. 75 /* stack size = 0 */
  78. 76 .L__stack_usage = 0
  79. 77 0000 DB01 movw r26,r22
  80. 78 0002 ED91 ld r30,X+
  81. 79 0004 FC91 ld r31,X
  82. 80 0006 1197 sbiw r26,1
  83. 81 0008 83FF sbrs r24,3
  84. 82 000a 00C0 rjmp .L8
  85. 83 000c CF01 movw r24,r30
  86. 84 000e 0496 adiw r24,4
  87. 85 0010 8D93 st X+,r24
  88. 86 0012 9C93 st X,r25
  89. 87 0014 6081 ld r22,Z
  90. 88 0016 7181 ldd r23,Z+1
  91. 89 0018 8281 ldd r24,Z+2
  92. 90 001a 9381 ldd r25,Z+3
  93. 91 001c 0895 ret
  94. 92 .L8:
  95. 93 001e 86FF sbrs r24,6
  96. 94 0020 00C0 rjmp .L10
  97. 95 0022 CF01 movw r24,r30
  98. 96 0024 0296 adiw r24,2
  99. 97 0026 8D93 st X+,r24
  100. 98 0028 9C93 st X,r25
  101. 99 002a 6081 ld r22,Z
  102. 100 002c 7181 ldd r23,Z+1
  103. 101 002e 80E0 ldi r24,0
  104. 102 0030 90E0 ldi r25,0
  105. 103 0032 0895 ret
  106. 104 .L10:
  107. 105 0034 CF01 movw r24,r30
  108. 106 0036 0296 adiw r24,2
  109. 107 0038 8D93 st X+,r24
  110. 108 003a 9C93 st X,r25
  111. 109 003c 6081 ld r22,Z
  112. 110 003e 7181 ldd r23,Z+1
  113. 111 0040 072E mov __tmp_reg__,r23
  114. 112 0042 000C lsl r0
  115. 113 0044 880B sbc r24,r24
  116. 114 0046 990B sbc r25,r25
  117. GAS LISTING /tmp/cc5T5uTd.s page 3
  118. 115 0048 0895 ret
  119. 116 .size va_args_ulval, .-va_args_ulval
  120. 117 .section .rodata.str1.1,"aMS",@progbits,1
  121. 118 .LC0:
  122. 119 0000 286E 756C .string "(null)"
  123. 119 6C29 00
  124. 120 .section .text._putf,"ax",@progbits
  125. 121 .global _putf
  126. 122 .type _putf, @function
  127. 123 _putf:
  128. 124 0000 2F92 push r2
  129. 125 0002 3F92 push r3
  130. 126 0004 4F92 push r4
  131. 127 0006 5F92 push r5
  132. 128 0008 6F92 push r6
  133. 129 000a 7F92 push r7
  134. 130 000c 8F92 push r8
  135. 131 000e 9F92 push r9
  136. 132 0010 AF92 push r10
  137. 133 0012 BF92 push r11
  138. 134 0014 CF92 push r12
  139. 135 0016 DF92 push r13
  140. 136 0018 EF92 push r14
  141. 137 001a FF92 push r15
  142. 138 001c 0F93 push r16
  143. 139 001e 1F93 push r17
  144. 140 0020 CF93 push r28
  145. 141 0022 DF93 push r29
  146. 142 0024 CDB7 in r28,__SP_L__
  147. 143 0026 DEB7 in r29,__SP_H__
  148. 144 0028 A697 sbiw r28,38
  149. 145 002a 0FB6 in __tmp_reg__,__SREG__
  150. 146 002c F894 cli
  151. 147 002e DEBF out __SP_H__,r29
  152. 148 0030 0FBE out __SREG__,__tmp_reg__
  153. 149 0032 CDBF out __SP_L__,r28
  154. 150 /* prologue: function */
  155. 151 /* frame size = 38 */
  156. 152 /* stack size = 56 */
  157. 153 .L__stack_usage = 56
  158. 154 0034 9DA3 std Y+37,r25
  159. 155 0036 8CA3 std Y+36,r24
  160. 156 0038 7BA3 std Y+35,r23
  161. 157 003a 6AA3 std Y+34,r22
  162. 158 003c 58A3 std Y+32,r21
  163. 159 003e 4F8F std Y+31,r20
  164. 160 0040 5901 movw r10,r18
  165. 161 0042 1B8F std Y+27,r17
  166. 162 0044 0A8F std Y+26,r16
  167. 163 0046 212C mov r2,__zero_reg__
  168. 164 0048 312C mov r3,__zero_reg__
  169. 165 004a CE01 movw r24,r28
  170. 166 004c 0196 adiw r24,1
  171. 167 004e 2C01 movw r4,r24
  172. 168 0050 DE01 movw r26,r28
  173. 169 0052 5996 adiw r26,25
  174. 170 0054 BD8F std Y+29,r27
  175. GAS LISTING /tmp/cc5T5uTd.s page 4
  176. 171 0056 AC8F std Y+28,r26
  177. 172 .L12:
  178. 173 0058 F501 movw r30,r10
  179. 174 .L14:
  180. 175 005a 7F01 movw r14,r30
  181. 176 005c BFEF ldi r27,-1
  182. 177 005e EB1A sub r14,r27
  183. 178 0060 FB0A sbc r15,r27
  184. 179 0062 D080 ld r13,Z
  185. 180 0064 DD20 tst r13
  186. 181 0066 01F0 breq .L13
  187. 182 0068 25E2 ldi r18,lo8(37)
  188. 183 006a D216 cp r13,r18
  189. 184 006c 01F0 breq .L13
  190. 185 006e F701 movw r30,r14
  191. 186 0070 00C0 rjmp .L14
  192. 187 .L13:
  193. 188 0072 8F01 movw r16,r30
  194. 189 0074 0A19 sub r16,r10
  195. 190 0076 1B09 sbc r17,r11
  196. 191 0078 01F0 breq .L15
  197. 192 007a A801 movw r20,r16
  198. 193 007c B501 movw r22,r10
  199. 194 007e 8F8D ldd r24,Y+31
  200. 195 0080 98A1 ldd r25,Y+32
  201. 196 0082 ECA1 ldd r30,Y+36
  202. 197 0084 FDA1 ldd r31,Y+37
  203. 198 0086 1995 eicall
  204. 199 0088 200E add r2,r16
  205. 200 008a 311E adc r3,r17
  206. 201 .L15:
  207. 202 008c DD20 tst r13
  208. 203 008e 01F4 brne .+2
  209. 204 0090 00C0 rjmp .L117
  210. 205 0092 D701 movw r26,r14
  211. 206 0094 198E std Y+25,__zero_reg__
  212. 207 0096 EA8D ldd r30,Y+26
  213. 208 0098 FB8D ldd r31,Y+27
  214. 209 009a 30E0 ldi r19,0
  215. 210 009c 50E0 ldi r21,0
  216. 211 009e 40E0 ldi r20,0
  217. 212 00a0 EE24 clr r14
  218. 213 00a2 EA94 dec r14
  219. 214 00a4 FE2C mov r15,r14
  220. 215 00a6 612C mov r6,__zero_reg__
  221. 216 00a8 712C mov r7,__zero_reg__
  222. 217 00aa 1E8E std Y+30,__zero_reg__
  223. 218 .L17:
  224. 219 00ac 5D01 movw r10,r26
  225. 220 00ae 2FEF ldi r18,-1
  226. 221 00b0 A21A sub r10,r18
  227. 222 00b2 B20A sbc r11,r18
  228. 223 00b4 1C91 ld r17,X
  229. 224 00b6 19A3 std Y+33,r17
  230. 225 00b8 1032 cpi r17,lo8(32)
  231. 226 00ba 01F4 brne .L18
  232. 227 00bc 4111 cpse r20,__zero_reg__
  233. GAS LISTING /tmp/cc5T5uTd.s page 5
  234. 228 00be 00C0 rjmp .L19
  235. 229 00c0 51E0 ldi r21,lo8(1)
  236. 230 00c2 40E2 ldi r20,lo8(32)
  237. 231 00c4 00C0 rjmp .L19
  238. 232 .L18:
  239. 233 00c6 1B32 cpi r17,lo8(43)
  240. 234 00c8 01F4 brne .L174
  241. 235 00ca 51E0 ldi r21,lo8(1)
  242. 236 00cc 4BE2 ldi r20,lo8(43)
  243. 237 .L19:
  244. 238 00ce D501 movw r26,r10
  245. 239 00d0 00C0 rjmp .L17
  246. 240 .L174:
  247. 241 00d2 1D32 cpi r17,lo8(45)
  248. 242 00d4 01F4 brne .L21
  249. 243 00d6 6E8D ldd r22,Y+30
  250. 244 00d8 6460 ori r22,lo8(4)
  251. 245 00da 6E8F std Y+30,r22
  252. 246 00dc 00C0 rjmp .L19
  253. 247 .L21:
  254. 248 00de 1332 cpi r17,lo8(35)
  255. 249 00e0 01F4 brne .L22
  256. 250 00e2 8E8D ldd r24,Y+30
  257. 251 00e4 8160 ori r24,lo8(1)
  258. 252 00e6 00C0 rjmp .L168
  259. 253 .L22:
  260. 254 00e8 1033 cpi r17,lo8(48)
  261. 255 00ea 01F4 brne .L23
  262. 256 00ec 9E8D ldd r25,Y+30
  263. 257 00ee 9061 ori r25,lo8(16)
  264. 258 00f0 9E8F std Y+30,r25
  265. 259 00f2 00C0 rjmp .L19
  266. 260 .L23:
  267. 261 00f4 1C36 cpi r17,lo8(108)
  268. 262 00f6 01F4 brne .L24
  269. 263 00f8 1196 adiw r26,1
  270. 264 00fa 8C91 ld r24,X
  271. 265 00fc 1197 sbiw r26,1
  272. 266 00fe 8C36 cpi r24,lo8(108)
  273. 267 0100 01F4 brne .L25
  274. 268 0102 2E8D ldd r18,Y+30
  275. 269 0104 2062 ori r18,lo8(32)
  276. 270 0106 2E8F std Y+30,r18
  277. 271 0108 5D01 movw r10,r26
  278. 272 010a 62E0 ldi r22,2
  279. 273 010c A60E add r10,r22
  280. 274 010e B11C adc r11,__zero_reg__
  281. 275 0110 00C0 rjmp .L19
  282. 276 .L25:
  283. 277 0112 8E8D ldd r24,Y+30
  284. 278 0114 8860 ori r24,lo8(8)
  285. 279 .L168:
  286. 280 0116 8E8F std Y+30,r24
  287. 281 0118 00C0 rjmp .L19
  288. 282 .L24:
  289. 283 011a 1A37 cpi r17,lo8(122)
  290. 284 011c 01F0 breq .L19
  291. GAS LISTING /tmp/cc5T5uTd.s page 6
  292. 285 011e 1A32 cpi r17,lo8(42)
  293. 286 0120 01F4 brne .L26
  294. 287 0122 CF01 movw r24,r30
  295. 288 0124 0296 adiw r24,2
  296. 289 0126 6080 ld r6,Z
  297. 290 0128 7180 ldd r7,Z+1
  298. 291 012a 77FE sbrs r7,7
  299. 292 012c 00C0 rjmp .L167
  300. 293 012e AE8D ldd r26,Y+30
  301. 294 0130 A460 ori r26,lo8(4)
  302. 295 0132 AE8F std Y+30,r26
  303. 296 0134 7194 neg r7
  304. 297 0136 6194 neg r6
  305. 298 0138 7108 sbc r7,__zero_reg__
  306. 299 .L167:
  307. 300 013a FC01 movw r30,r24
  308. 301 013c 31E0 ldi r19,lo8(1)
  309. 302 013e 00C0 rjmp .L19
  310. 303 .L26:
  311. 304 0140 1E32 cpi r17,lo8(46)
  312. 305 0142 01F4 brne .L27
  313. 306 0144 1196 adiw r26,1
  314. 307 0146 8C91 ld r24,X
  315. 308 0148 1197 sbiw r26,1
  316. 309 014a 8A32 cpi r24,lo8(42)
  317. 310 014c 01F0 breq .L28
  318. 311 014e C501 movw r24,r10
  319. 312 0150 E12C mov r14,__zero_reg__
  320. 313 0152 F12C mov r15,__zero_reg__
  321. 314 0154 00C0 rjmp .L29
  322. 315 .L28:
  323. 316 0156 5D01 movw r10,r26
  324. 317 0158 22E0 ldi r18,2
  325. 318 015a A20E add r10,r18
  326. 319 015c B11C adc r11,__zero_reg__
  327. 320 015e CF01 movw r24,r30
  328. 321 0160 0296 adiw r24,2
  329. 322 0162 E080 ld r14,Z
  330. 323 0164 F180 ldd r15,Z+1
  331. 324 0166 F7FE sbrs r15,7
  332. 325 0168 00C0 rjmp .L175
  333. 326 016a FC01 movw r30,r24
  334. 327 016c 31E0 ldi r19,lo8(1)
  335. 328 016e EE24 clr r14
  336. 329 0170 EA94 dec r14
  337. 330 0172 FE2C mov r15,r14
  338. 331 0174 00C0 rjmp .L19
  339. 332 .L175:
  340. 333 0176 31E0 ldi r19,lo8(1)
  341. 334 0178 00C0 rjmp .L30
  342. 335 .L29:
  343. 336 017a 5C01 movw r10,r24
  344. 337 017c DC01 movw r26,r24
  345. 338 017e 2C91 ld r18,X
  346. 339 0180 0196 adiw r24,1
  347. 340 0182 60ED ldi r22,lo8(-48)
  348. 341 0184 620F add r22,r18
  349. GAS LISTING /tmp/cc5T5uTd.s page 7
  350. 342 0186 6A30 cpi r22,lo8(10)
  351. 343 0188 00F4 brsh .L176
  352. 344 018a AAE0 ldi r26,lo8(10)
  353. 345 018c AE9D mul r26,r14
  354. 346 018e B001 movw r22,r0
  355. 347 0190 AF9D mul r26,r15
  356. 348 0192 700D add r23,r0
  357. 349 0194 1124 clr __zero_reg__
  358. 350 0196 E22E mov r14,r18
  359. 351 0198 220F lsl r18
  360. 352 019a FF08 sbc r15,r15
  361. 353 019c B0E3 ldi r27,48
  362. 354 019e EB1A sub r14,r27
  363. 355 01a0 F108 sbc r15,__zero_reg__
  364. 356 01a2 E60E add r14,r22
  365. 357 01a4 F71E adc r15,r23
  366. 358 01a6 00C0 rjmp .L29
  367. 359 .L176:
  368. 360 01a8 CF01 movw r24,r30
  369. 361 .L30:
  370. 362 01aa FC01 movw r30,r24
  371. 363 01ac 00C0 rjmp .L19
  372. 364 .L27:
  373. 365 01ae 8FEC ldi r24,lo8(-49)
  374. 366 01b0 810F add r24,r17
  375. 367 01b2 8930 cpi r24,lo8(9)
  376. 368 01b4 00F4 brsh .L32
  377. 369 01b6 612E mov r6,r17
  378. 370 01b8 712C mov r7,__zero_reg__
  379. 371 01ba B0E3 ldi r27,48
  380. 372 01bc 6B1A sub r6,r27
  381. 373 01be 7108 sbc r7,__zero_reg__
  382. 374 01c0 D501 movw r26,r10
  383. 375 .L33:
  384. 376 01c2 5D01 movw r10,r26
  385. 377 01c4 2D91 ld r18,X+
  386. 378 01c6 80ED ldi r24,lo8(-48)
  387. 379 01c8 820F add r24,r18
  388. 380 01ca 8A30 cpi r24,lo8(10)
  389. 381 01cc 00F0 brlo .+2
  390. 382 01ce 00C0 rjmp .L19
  391. 383 01d0 6AE0 ldi r22,lo8(10)
  392. 384 01d2 669D mul r22,r6
  393. 385 01d4 C001 movw r24,r0
  394. 386 01d6 679D mul r22,r7
  395. 387 01d8 900D add r25,r0
  396. 388 01da 1124 clr __zero_reg__
  397. 389 01dc 622E mov r6,r18
  398. 390 01de 220F lsl r18
  399. 391 01e0 7708 sbc r7,r7
  400. 392 01e2 20E3 ldi r18,48
  401. 393 01e4 621A sub r6,r18
  402. 394 01e6 7108 sbc r7,__zero_reg__
  403. 395 01e8 680E add r6,r24
  404. 396 01ea 791E adc r7,r25
  405. 397 01ec 00C0 rjmp .L33
  406. 398 .L32:
  407. GAS LISTING /tmp/cc5T5uTd.s page 8
  408. 399 01ee 5111 cpse r21,__zero_reg__
  409. 400 01f0 498F std Y+25,r20
  410. 401 .L35:
  411. 402 01f2 3323 tst r19
  412. 403 01f4 01F0 breq .L36
  413. 404 01f6 FB8F std Y+27,r31
  414. 405 01f8 EA8F std Y+26,r30
  415. 406 .L36:
  416. 407 01fa 1836 cpi r17,lo8(104)
  417. 408 01fc 04F4 brge .L38
  418. 409 01fe 1536 cpi r17,lo8(101)
  419. 410 0200 04F0 brlt .+2
  420. 411 0202 00C0 rjmp .L39
  421. 412 0204 1035 cpi r17,lo8(80)
  422. 413 0206 01F0 breq .L40
  423. 414 0208 04F4 brge .L41
  424. 415 020a 1534 cpi r17,lo8(69)
  425. 416 020c 01F4 brne .+2
  426. 417 020e 00C0 rjmp .L39
  427. 418 0210 1734 cpi r17,lo8(71)
  428. 419 0212 01F4 brne .+2
  429. 420 0214 00C0 rjmp .L39
  430. 421 0216 00C0 rjmp .L37
  431. 422 .L41:
  432. 423 0218 1336 cpi r17,lo8(99)
  433. 424 021a 01F0 breq .L42
  434. 425 021c 04F0 brlt .+2
  435. 426 021e 00C0 rjmp .L43
  436. 427 0220 1835 cpi r17,lo8(88)
  437. 428 0222 01F4 brne .+2
  438. 429 0224 00C0 rjmp .L44
  439. 430 0226 00C0 rjmp .L37
  440. 431 .L38:
  441. 432 0228 1037 cpi r17,lo8(112)
  442. 433 022a 01F4 brne .+2
  443. 434 022c 00C0 rjmp .L44
  444. 435 022e 04F4 brge .L45
  445. 436 0230 1936 cpi r17,lo8(105)
  446. 437 0232 01F4 brne .+2
  447. 438 0234 00C0 rjmp .L43
  448. 439 0236 1F36 cpi r17,lo8(111)
  449. 440 0238 01F4 brne .+2
  450. 441 023a 00C0 rjmp .L46
  451. 442 023c 00C0 rjmp .L37
  452. 443 .L45:
  453. 444 023e 1537 cpi r17,lo8(117)
  454. 445 0240 01F4 brne .+2
  455. 446 0242 00C0 rjmp .L47
  456. 447 0244 1837 cpi r17,lo8(120)
  457. 448 0246 01F4 brne .+2
  458. 449 0248 00C0 rjmp .L44
  459. 450 024a 1337 cpi r17,lo8(115)
  460. 451 024c 01F0 breq .+2
  461. 452 024e 00C0 rjmp .L37
  462. 453 0250 EA8D ldd r30,Y+26
  463. 454 0252 FB8D ldd r31,Y+27
  464. 455 0254 CF01 movw r24,r30
  465. GAS LISTING /tmp/cc5T5uTd.s page 9
  466. 456 0256 0296 adiw r24,2
  467. 457 0258 9B8F std Y+27,r25
  468. 458 025a 8A8F std Y+26,r24
  469. 459 025c 0081 ld r16,Z
  470. 460 025e 1181 ldd r17,Z+1
  471. 461 0260 00C0 rjmp .L51
  472. 462 .L42:
  473. 463 0262 EA8D ldd r30,Y+26
  474. 464 0264 FB8D ldd r31,Y+27
  475. 465 0266 CF01 movw r24,r30
  476. 466 0268 0296 adiw r24,2
  477. 467 026a 9B8F std Y+27,r25
  478. 468 026c 8A8F std Y+26,r24
  479. 469 026e 8081 ld r24,Z
  480. 470 0270 8983 std Y+1,r24
  481. 471 0272 00C0 rjmp .L170
  482. 472 .L40:
  483. 473 0274 EA8D ldd r30,Y+26
  484. 474 0276 FB8D ldd r31,Y+27
  485. 475 0278 CF01 movw r24,r30
  486. 476 027a 0296 adiw r24,2
  487. 477 027c 9B8F std Y+27,r25
  488. 478 027e 8A8F std Y+26,r24
  489. 479 0280 C080 ld r12,Z
  490. 480 0282 D180 ldd r13,Z+1
  491. 481 0284 C114 cp r12,__zero_reg__
  492. 482 0286 D104 cpc r13,__zero_reg__
  493. 483 0288 01F0 breq .L92
  494. 484 028a C601 movw r24,r12
  495. 485 028c 0E94 0000 call __strlen_P
  496. 486 0290 0196 adiw r24,1
  497. 487 0292 0E94 0000 call malloc
  498. 488 0296 8C01 movw r16,r24
  499. 489 0298 B601 movw r22,r12
  500. 490 029a 0E94 0000 call strcpy_P
  501. 491 .L51:
  502. 492 029e 0115 cp r16,__zero_reg__
  503. 493 02a0 1105 cpc r17,__zero_reg__
  504. 494 02a2 01F4 brne .L50
  505. 495 02a4 00C0 rjmp .L169
  506. 496 .L92:
  507. 497 02a6 63E7 ldi r22,lo8(115)
  508. 498 02a8 69A3 std Y+33,r22
  509. 499 .L169:
  510. 500 02aa 00E0 ldi r16,lo8(.LC0)
  511. 501 02ac 10E0 ldi r17,hi8(.LC0)
  512. 502 .L50:
  513. 503 02ae 8FEF ldi r24,-1
  514. 504 02b0 E816 cp r14,r24
  515. 505 02b2 F806 cpc r15,r24
  516. 506 02b4 01F0 breq .L52
  517. 507 02b6 A701 movw r20,r14
  518. 508 02b8 60E0 ldi r22,0
  519. 509 02ba 70E0 ldi r23,0
  520. 510 02bc C801 movw r24,r16
  521. 511 02be 0E94 0000 call memchr
  522. 512 02c2 0097 sbiw r24,0
  523. GAS LISTING /tmp/cc5T5uTd.s page 10
  524. 513 02c4 01F0 breq .L53
  525. 514 02c6 801B sub r24,r16
  526. 515 02c8 910B sbc r25,r17
  527. 516 02ca 8E15 cp r24,r14
  528. 517 02cc 9F05 cpc r25,r15
  529. 518 02ce 04F4 brge .L53
  530. 519 02d0 7C01 movw r14,r24
  531. 520 02d2 00C0 rjmp .L53
  532. 521 .L52:
  533. 522 02d4 F801 movw r30,r16
  534. 523 0:
  535. 524 02d6 0190 ld __tmp_reg__,Z+
  536. 525 02d8 0020 tst __tmp_reg__
  537. 526 02da 01F4 brne 0b
  538. 527 02dc 3197 sbiw r30,1
  539. 528 02de 7F01 movw r14,r30
  540. 529 02e0 E01A sub r14,r16
  541. 530 02e2 F10A sbc r15,r17
  542. 531 .L53:
  543. 532 02e4 198E std Y+25,__zero_reg__
  544. 533 02e6 6701 movw r12,r14
  545. 534 02e8 E12C mov r14,__zero_reg__
  546. 535 02ea F12C mov r15,__zero_reg__
  547. 536 02ec 00C0 rjmp .L49
  548. 537 .L47:
  549. 538 02ee 198E std Y+25,__zero_reg__
  550. 539 02f0 9E8D ldd r25,Y+30
  551. 540 02f2 9064 ori r25,lo8(64)
  552. 541 02f4 9E8F std Y+30,r25
  553. 542 .L43:
  554. 543 02f6 AE8D ldd r26,Y+30
  555. 544 02f8 A5FF sbrs r26,5
  556. 545 02fa 00C0 rjmp .L55
  557. 546 02fc 8A8D ldd r24,Y+26
  558. 547 02fe 9B8D ldd r25,Y+27
  559. 548 0300 0896 adiw r24,8
  560. 549 0302 9B8F std Y+27,r25
  561. 550 0304 8A8F std Y+26,r24
  562. 551 0306 60E0 ldi r22,lo8(__c.2540)
  563. 552 0308 70E0 ldi r23,hi8(__c.2540)
  564. 553 030a 00C0 rjmp .L172
  565. 554 .L55:
  566. 555 030c BE01 movw r22,r28
  567. 556 030e 665E subi r22,-26
  568. 557 0310 7F4F sbci r23,-1
  569. 558 0312 BE8D ldd r27,Y+30
  570. 559 0314 8B2F mov r24,r27
  571. 560 0316 90E0 ldi r25,0
  572. 561 0318 0E94 0000 call va_args_ulval
  573. 562 031c 1537 cpi r17,lo8(117)
  574. 563 031e 01F0 breq .L56
  575. 564 0320 97FF sbrs r25,7
  576. 565 0322 00C0 rjmp .L56
  577. 566 0324 9095 com r25
  578. 567 0326 8095 com r24
  579. 568 0328 7095 com r23
  580. 569 032a 6195 neg r22
  581. GAS LISTING /tmp/cc5T5uTd.s page 11
  582. 570 032c 7F4F sbci r23,lo8(-1)
  583. 571 032e 8F4F sbci r24,lo8(-1)
  584. 572 0330 9F4F sbci r25,lo8(-1)
  585. 573 0332 2DE2 ldi r18,lo8(45)
  586. 574 0334 298F std Y+25,r18
  587. 575 .L56:
  588. 576 0336 EFEF ldi r30,-1
  589. 577 0338 EE16 cp r14,r30
  590. 578 033a FE06 cpc r15,r30
  591. 579 033c 01F0 breq .L57
  592. 580 033e FE8D ldd r31,Y+30
  593. 581 0340 FF7E andi r31,lo8(-17)
  594. 582 0342 FE8F std Y+30,r31
  595. 583 0344 6115 cp r22,__zero_reg__
  596. 584 0346 7105 cpc r23,__zero_reg__
  597. 585 0348 8105 cpc r24,__zero_reg__
  598. 586 034a 9105 cpc r25,__zero_reg__
  599. 587 034c 01F4 brne .L58
  600. 588 034e E114 cp r14,__zero_reg__
  601. 589 0350 F104 cpc r15,__zero_reg__
  602. 590 0352 01F4 brne .+2
  603. 591 0354 00C0 rjmp .L173
  604. 592 0356 00C0 rjmp .L59
  605. 593 .L57:
  606. 594 0358 6115 cp r22,__zero_reg__
  607. 595 035a 7105 cpc r23,__zero_reg__
  608. 596 035c 8105 cpc r24,__zero_reg__
  609. 597 035e 9105 cpc r25,__zero_reg__
  610. 598 0360 01F0 breq .L59
  611. 599 .L58:
  612. 600 0362 6A30 cpi r22,10
  613. 601 0364 7105 cpc r23,__zero_reg__
  614. 602 0366 8105 cpc r24,__zero_reg__
  615. 603 0368 9105 cpc r25,__zero_reg__
  616. 604 036a 00F4 brsh .L61
  617. 605 .L59:
  618. 606 036c 605D subi r22,lo8(-(48))
  619. 607 036e 688F std Y+24,r22
  620. 608 0370 8E01 movw r16,r28
  621. 609 0372 085E subi r16,-24
  622. 610 0374 1F4F sbci r17,-1
  623. 611 0376 00C0 rjmp .L67
  624. 612 .L61:
  625. 613 0378 8E01 movw r16,r28
  626. 614 037a 075E subi r16,-25
  627. 615 037c 1F4F sbci r17,-1
  628. 616 .L62:
  629. 617 037e 2AE0 ldi r18,lo8(10)
  630. 618 0380 30E0 ldi r19,0
  631. 619 0382 40E0 ldi r20,0
  632. 620 0384 50E0 ldi r21,0
  633. 621 0386 0E94 0000 call __udivmodsi4
  634. 622 038a 605D subi r22,lo8(-(48))
  635. 623 038c D801 movw r26,r16
  636. 624 038e 6E93 st -X,r22
  637. 625 0390 8D01 movw r16,r26
  638. 626 0392 B901 movw r22,r18
  639. GAS LISTING /tmp/cc5T5uTd.s page 12
  640. 627 0394 CA01 movw r24,r20
  641. 628 0396 6115 cp r22,__zero_reg__
  642. 629 0398 7105 cpc r23,__zero_reg__
  643. 630 039a 8105 cpc r24,__zero_reg__
  644. 631 039c 9105 cpc r25,__zero_reg__
  645. 632 039e 01F4 brne .L62
  646. 633 03a0 00C0 rjmp .L67
  647. 634 .L46:
  648. 635 03a2 BE8D ldd r27,Y+30
  649. 636 03a4 B5FF sbrs r27,5
  650. 637 03a6 00C0 rjmp .L63
  651. 638 03a8 8A8D ldd r24,Y+26
  652. 639 03aa 9B8D ldd r25,Y+27
  653. 640 03ac 0896 adiw r24,8
  654. 641 03ae 9B8F std Y+27,r25
  655. 642 03b0 8A8F std Y+26,r24
  656. 643 03b2 60E0 ldi r22,lo8(__c.2545)
  657. 644 03b4 70E0 ldi r23,hi8(__c.2545)
  658. 645 03b6 00C0 rjmp .L172
  659. 646 .L63:
  660. 647 03b8 BE01 movw r22,r28
  661. 648 03ba 665E subi r22,-26
  662. 649 03bc 7F4F sbci r23,-1
  663. 650 03be EE8D ldd r30,Y+30
  664. 651 03c0 8E2F mov r24,r30
  665. 652 03c2 90E0 ldi r25,0
  666. 653 03c4 0E94 0000 call va_args_ulval
  667. 654 03c8 198E std Y+25,__zero_reg__
  668. 655 03ca FFEF ldi r31,-1
  669. 656 03cc EF16 cp r14,r31
  670. 657 03ce FF06 cpc r15,r31
  671. 658 03d0 01F0 breq .L64
  672. 659 03d2 2E8D ldd r18,Y+30
  673. 660 03d4 2F7E andi r18,lo8(-17)
  674. 661 03d6 2E8F std Y+30,r18
  675. 662 03d8 6115 cp r22,__zero_reg__
  676. 663 03da 7105 cpc r23,__zero_reg__
  677. 664 03dc 8105 cpc r24,__zero_reg__
  678. 665 03de 9105 cpc r25,__zero_reg__
  679. 666 03e0 01F4 brne .L65
  680. 667 03e2 E114 cp r14,__zero_reg__
  681. 668 03e4 F104 cpc r15,__zero_reg__
  682. 669 03e6 01F0 breq .+2
  683. 670 03e8 00C0 rjmp .L66
  684. 671 .L173:
  685. 672 03ea 8E01 movw r16,r28
  686. 673 03ec 075E subi r16,-25
  687. 674 03ee 1F4F sbci r17,-1
  688. 675 03f0 00C0 rjmp .L67
  689. 676 .L64:
  690. 677 03f2 6115 cp r22,__zero_reg__
  691. 678 03f4 7105 cpc r23,__zero_reg__
  692. 679 03f6 8105 cpc r24,__zero_reg__
  693. 680 03f8 9105 cpc r25,__zero_reg__
  694. 681 03fa 01F4 brne .+2
  695. 682 03fc 00C0 rjmp .L66
  696. 683 .L65:
  697. GAS LISTING /tmp/cc5T5uTd.s page 13
  698. 684 03fe 8E01 movw r16,r28
  699. 685 0400 075E subi r16,-25
  700. 686 0402 1F4F sbci r17,-1
  701. 687 .L68:
  702. 688 0404 262F mov r18,r22
  703. 689 0406 2770 andi r18,lo8(7)
  704. 690 0408 205D subi r18,lo8(-(48))
  705. 691 040a D801 movw r26,r16
  706. 692 040c 2E93 st -X,r18
  707. 693 040e 8D01 movw r16,r26
  708. 694 0410 E3E0 ldi r30,3
  709. 695 1:
  710. 696 0412 9695 lsr r25
  711. 697 0414 8795 ror r24
  712. 698 0416 7795 ror r23
  713. 699 0418 6795 ror r22
  714. 700 041a EA95 dec r30
  715. 701 041c 01F4 brne 1b
  716. 702 041e 6115 cp r22,__zero_reg__
  717. 703 0420 7105 cpc r23,__zero_reg__
  718. 704 0422 8105 cpc r24,__zero_reg__
  719. 705 0424 9105 cpc r25,__zero_reg__
  720. 706 0426 01F4 brne .L68
  721. 707 .L86:
  722. 708 0428 BE8D ldd r27,Y+30
  723. 709 042a B0FF sbrs r27,0
  724. 710 042c 00C0 rjmp .L67
  725. 711 042e 2033 cpi r18,lo8(48)
  726. 712 0430 01F0 breq .L67
  727. 713 0432 F801 movw r30,r16
  728. 714 0434 80E3 ldi r24,lo8(48)
  729. 715 0436 8293 st -Z,r24
  730. 716 0438 8F01 movw r16,r30
  731. 717 .L67:
  732. 718 043a CC8C ldd r12,Y+28
  733. 719 043c DD8C ldd r13,Y+29
  734. 720 043e 00C0 rjmp .L75
  735. 721 .L44:
  736. 722 0440 EE8D ldd r30,Y+30
  737. 723 0442 E5FF sbrs r30,5
  738. 724 0444 00C0 rjmp .L69
  739. 725 0446 8A8D ldd r24,Y+26
  740. 726 0448 9B8D ldd r25,Y+27
  741. 727 044a 0896 adiw r24,8
  742. 728 044c 9B8F std Y+27,r25
  743. 729 044e 8A8F std Y+26,r24
  744. 730 0450 60E0 ldi r22,lo8(__c.2552)
  745. 731 0452 70E0 ldi r23,hi8(__c.2552)
  746. 732 .L172:
  747. 733 0454 C201 movw r24,r4
  748. 734 0456 0E94 0000 call strcpy_P
  749. 735 045a 52E0 ldi r21,lo8(2)
  750. 736 045c C52E mov r12,r21
  751. 737 045e D12C mov r13,__zero_reg__
  752. 738 0460 00C0 rjmp .L171
  753. 739 .L69:
  754. 740 0462 1037 cpi r17,lo8(112)
  755. GAS LISTING /tmp/cc5T5uTd.s page 14
  756. 741 0464 01F4 brne .L70
  757. 742 0466 EA8D ldd r30,Y+26
  758. 743 0468 FB8D ldd r31,Y+27
  759. 744 046a CF01 movw r24,r30
  760. 745 046c 0296 adiw r24,2
  761. 746 046e 9B8F std Y+27,r25
  762. 747 0470 8A8F std Y+26,r24
  763. 748 0472 4081 ld r20,Z
  764. 749 0474 5181 ldd r21,Z+1
  765. 750 0476 BA01 movw r22,r20
  766. 751 0478 80E0 ldi r24,0
  767. 752 047a 90E0 ldi r25,0
  768. 753 047c FE8D ldd r31,Y+30
  769. 754 047e F160 ori r31,lo8(1)
  770. 755 0480 FE8F std Y+30,r31
  771. 756 0482 28E7 ldi r18,lo8(120)
  772. 757 0484 29A3 std Y+33,r18
  773. 758 0486 00C0 rjmp .L71
  774. 759 .L70:
  775. 760 0488 BE01 movw r22,r28
  776. 761 048a 665E subi r22,-26
  777. 762 048c 7F4F sbci r23,-1
  778. 763 048e AE8D ldd r26,Y+30
  779. 764 0490 8A2F mov r24,r26
  780. 765 0492 90E0 ldi r25,0
  781. 766 0494 0E94 0000 call va_args_ulval
  782. 767 .L71:
  783. 768 0498 198E std Y+25,__zero_reg__
  784. 769 049a BFEF ldi r27,-1
  785. 770 049c EB16 cp r14,r27
  786. 771 049e FB06 cpc r15,r27
  787. 772 04a0 01F0 breq .L72
  788. 773 04a2 EE8D ldd r30,Y+30
  789. 774 04a4 EF7E andi r30,lo8(-17)
  790. 775 04a6 EE8F std Y+30,r30
  791. 776 .L72:
  792. 777 04a8 F9A1 ldd r31,Y+33
  793. 778 04aa F837 cpi r31,lo8(120)
  794. 779 04ac 01F4 brne .L93
  795. 780 04ae 20E0 ldi r18,lo8(HEXDIGIT+16)
  796. 781 04b0 30E0 ldi r19,hi8(HEXDIGIT+16)
  797. 782 04b2 00C0 rjmp .L73
  798. 783 .L93:
  799. 784 04b4 20E0 ldi r18,lo8(HEXDIGIT)
  800. 785 04b6 30E0 ldi r19,hi8(HEXDIGIT)
  801. 786 .L73:
  802. 787 04b8 8E01 movw r16,r28
  803. 788 04ba 075E subi r16,-25
  804. 789 04bc 1F4F sbci r17,-1
  805. 790 04be 6801 movw r12,r16
  806. 791 .L74:
  807. 792 04c0 FB01 movw r30,r22
  808. 793 04c2 EF70 andi r30,15
  809. 794 04c4 FF27 clr r31
  810. 795 04c6 E20F add r30,r18
  811. 796 04c8 F31F adc r31,r19
  812. 797 /* #APP */
  813. GAS LISTING /tmp/cc5T5uTd.s page 15
  814. 798 ; 484 "../../nut/crt/putf.c" 1
  815. 799 04ca E491 lpm r30, Z
  816. 800
  817. 801 ; 0 "" 2
  818. 802 /* #NOAPP */
  819. 803 04cc D801 movw r26,r16
  820. 804 04ce EE93 st -X,r30
  821. 805 04d0 8D01 movw r16,r26
  822. 806 04d2 44E0 ldi r20,4
  823. 807 1:
  824. 808 04d4 9695 lsr r25
  825. 809 04d6 8795 ror r24
  826. 810 04d8 7795 ror r23
  827. 811 04da 6795 ror r22
  828. 812 04dc 4A95 dec r20
  829. 813 04de 01F4 brne 1b
  830. 814 04e0 6115 cp r22,__zero_reg__
  831. 815 04e2 7105 cpc r23,__zero_reg__
  832. 816 04e4 8105 cpc r24,__zero_reg__
  833. 817 04e6 9105 cpc r25,__zero_reg__
  834. 818 04e8 01F4 brne .L74
  835. 819 04ea BE8D ldd r27,Y+30
  836. 820 04ec B0FF sbrs r27,0
  837. 821 04ee 00C0 rjmp .L75
  838. 822 04f0 F801 movw r30,r16
  839. 823 04f2 3197 sbiw r30,1
  840. 824 04f4 29A1 ldd r18,Y+33
  841. 825 04f6 2083 st Z,r18
  842. 826 04f8 3197 sbiw r30,1
  843. 827 04fa 80E3 ldi r24,lo8(48)
  844. 828 04fc 8083 st Z,r24
  845. 829 04fe 8F01 movw r16,r30
  846. 830 .L75:
  847. 831 0500 C01A sub r12,r16
  848. 832 0502 D10A sbc r13,r17
  849. 833 0504 00C0 rjmp .L49
  850. 834 .L39:
  851. 835 0506 8A8D ldd r24,Y+26
  852. 836 0508 9B8D ldd r25,Y+27
  853. 837 050a 0496 adiw r24,4
  854. 838 050c 9B8F std Y+27,r25
  855. 839 050e 8A8F std Y+26,r24
  856. 840 0510 60E0 ldi r22,lo8(__c.2564)
  857. 841 0512 70E0 ldi r23,hi8(__c.2564)
  858. 842 0514 C201 movw r24,r4
  859. 843 0516 0E94 0000 call strcpy_P
  860. 844 051a F201 movw r30,r4
  861. 845 0:
  862. 846 051c 0190 ld __tmp_reg__,Z+
  863. 847 051e 0020 tst __tmp_reg__
  864. 848 0520 01F4 brne 0b
  865. 849 0522 3197 sbiw r30,1
  866. 850 0524 6F01 movw r12,r30
  867. 851 0526 C418 sub r12,r4
  868. 852 0528 D508 sbc r13,r5
  869. 853 .L171:
  870. 854 052a E12C mov r14,__zero_reg__
  871. GAS LISTING /tmp/cc5T5uTd.s page 16
  872. 855 052c F12C mov r15,__zero_reg__
  873. 856 052e 8201 movw r16,r4
  874. 857 0530 00C0 rjmp .L49
  875. 858 .L37:
  876. 859 0532 1123 tst r17
  877. 860 0534 01F4 brne .+2
  878. 861 0536 00C0 rjmp .L117
  879. 862 0538 1983 std Y+1,r17
  880. 863 .L170:
  881. 864 053a 198E std Y+25,__zero_reg__
  882. 865 053c CC24 clr r12
  883. 866 053e C394 inc r12
  884. 867 0540 D12C mov r13,__zero_reg__
  885. 868 0542 E12C mov r14,__zero_reg__
  886. 869 0544 F12C mov r15,__zero_reg__
  887. 870 0546 8E01 movw r16,r28
  888. 871 0548 0F5F subi r16,-1
  889. 872 054a 1F4F sbci r17,-1
  890. 873 .L49:
  891. 874 054c 4701 movw r8,r14
  892. 875 054e EC14 cp r14,r12
  893. 876 0550 FD04 cpc r15,r13
  894. 877 0552 04F4 brge .L76
  895. 878 0554 4601 movw r8,r12
  896. 879 .L76:
  897. 880 0556 898D ldd r24,Y+25
  898. 881 0558 8823 tst r24
  899. 882 055a 01F0 breq .L77
  900. 883 055c 6FEF ldi r22,-1
  901. 884 055e 861A sub r8,r22
  902. 885 0560 960A sbc r9,r22
  903. 886 .L77:
  904. 887 0562 8E8D ldd r24,Y+30
  905. 888 0564 8471 andi r24,lo8(20)
  906. 889 0566 8EA3 std Y+38,r24
  907. 890 0568 8111 cpse r24,__zero_reg__
  908. 891 056a 00C0 rjmp .L78
  909. 892 056c 9301 movw r18,r6
  910. 893 056e 2819 sub r18,r8
  911. 894 0570 3909 sbc r19,r9
  912. 895 0572 40E0 ldi r20,lo8(blanks)
  913. 896 0574 50E0 ldi r21,hi8(blanks)
  914. 897 0576 6F8D ldd r22,Y+31
  915. 898 0578 78A1 ldd r23,Y+32
  916. 899 057a 8AA1 ldd r24,Y+34
  917. 900 057c 9BA1 ldd r25,Y+35
  918. 901 057e 0E94 0000 call _putpad
  919. 902 .L78:
  920. 903 0582 898D ldd r24,Y+25
  921. 904 0584 8823 tst r24
  922. 905 0586 01F0 breq .L79
  923. 906 0588 41E0 ldi r20,lo8(1)
  924. 907 058a 50E0 ldi r21,0
  925. 908 058c BE01 movw r22,r28
  926. 909 058e 675E subi r22,-25
  927. 910 0590 7F4F sbci r23,-1
  928. 911 0592 8F8D ldd r24,Y+31
  929. GAS LISTING /tmp/cc5T5uTd.s page 17
  930. 912 0594 98A1 ldd r25,Y+32
  931. 913 0596 ECA1 ldd r30,Y+36
  932. 914 0598 FDA1 ldd r31,Y+37
  933. 915 059a 1995 eicall
  934. 916 .L79:
  935. 917 059c FEA1 ldd r31,Y+38
  936. 918 059e F031 cpi r31,lo8(16)
  937. 919 05a0 01F4 brne .L80
  938. 920 05a2 9301 movw r18,r6
  939. 921 05a4 2819 sub r18,r8
  940. 922 05a6 3909 sbc r19,r9
  941. 923 05a8 40E0 ldi r20,lo8(zeroes)
  942. 924 05aa 50E0 ldi r21,hi8(zeroes)
  943. 925 05ac 6F8D ldd r22,Y+31
  944. 926 05ae 78A1 ldd r23,Y+32
  945. 927 05b0 8AA1 ldd r24,Y+34
  946. 928 05b2 9BA1 ldd r25,Y+35
  947. 929 05b4 0E94 0000 call _putpad
  948. 930 .L80:
  949. 931 05b8 9701 movw r18,r14
  950. 932 05ba 2C19 sub r18,r12
  951. 933 05bc 3D09 sbc r19,r13
  952. 934 05be 40E0 ldi r20,lo8(zeroes)
  953. 935 05c0 50E0 ldi r21,hi8(zeroes)
  954. 936 05c2 6F8D ldd r22,Y+31
  955. 937 05c4 78A1 ldd r23,Y+32
  956. 938 05c6 8AA1 ldd r24,Y+34
  957. 939 05c8 9BA1 ldd r25,Y+35
  958. 940 05ca 0E94 0000 call _putpad
  959. 941 05ce C114 cp r12,__zero_reg__
  960. 942 05d0 D104 cpc r13,__zero_reg__
  961. 943 05d2 01F0 breq .L81
  962. 944 05d4 A601 movw r20,r12
  963. 945 05d6 B801 movw r22,r16
  964. 946 05d8 8F8D ldd r24,Y+31
  965. 947 05da 98A1 ldd r25,Y+32
  966. 948 05dc ECA1 ldd r30,Y+36
  967. 949 05de FDA1 ldd r31,Y+37
  968. 950 05e0 1995 eicall
  969. 951 .L81:
  970. 952 05e2 F9A1 ldd r31,Y+33
  971. 953 05e4 F035 cpi r31,lo8(80)
  972. 954 05e6 01F4 brne .L82
  973. 955 05e8 C801 movw r24,r16
  974. 956 05ea 0E94 0000 call free
  975. 957 .L82:
  976. 958 05ee 2E8D ldd r18,Y+30
  977. 959 05f0 22FF sbrs r18,2
  978. 960 05f2 00C0 rjmp .L83
  979. 961 05f4 9301 movw r18,r6
  980. 962 05f6 2819 sub r18,r8
  981. 963 05f8 3909 sbc r19,r9
  982. 964 05fa 40E0 ldi r20,lo8(blanks)
  983. 965 05fc 50E0 ldi r21,hi8(blanks)
  984. 966 05fe 6F8D ldd r22,Y+31
  985. 967 0600 78A1 ldd r23,Y+32
  986. 968 0602 8AA1 ldd r24,Y+34
  987. GAS LISTING /tmp/cc5T5uTd.s page 18
  988. 969 0604 9BA1 ldd r25,Y+35
  989. 970 0606 0E94 0000 call _putpad
  990. 971 .L83:
  991. 972 060a 6814 cp r6,r8
  992. 973 060c 7904 cpc r7,r9
  993. 974 060e 04F0 brlt .L84
  994. 975 0610 260C add r2,r6
  995. 976 0612 371C adc r3,r7
  996. 977 0614 00C0 rjmp .L12
  997. 978 .L84:
  998. 979 0616 280C add r2,r8
  999. 980 0618 391C adc r3,r9
  1000. 981 061a 00C0 rjmp .L12
  1001. 982 .L66:
  1002. 983 061c 80E3 ldi r24,lo8(48)
  1003. 984 061e 888F std Y+24,r24
  1004. 985 0620 20E3 ldi r18,lo8(48)
  1005. 986 0622 8E01 movw r16,r28
  1006. 987 0624 085E subi r16,-24
  1007. 988 0626 1F4F sbci r17,-1
  1008. 989 0628 00C0 rjmp .L86
  1009. 990 .L117:
  1010. 991 062a C101 movw r24,r2
  1011. 992 /* epilogue start */
  1012. 993 062c A696 adiw r28,38
  1013. 994 062e 0FB6 in __tmp_reg__,__SREG__
  1014. 995 0630 F894 cli
  1015. 996 0632 DEBF out __SP_H__,r29
  1016. 997 0634 0FBE out __SREG__,__tmp_reg__
  1017. 998 0636 CDBF out __SP_L__,r28
  1018. 999 0638 DF91 pop r29
  1019. 1000 063a CF91 pop r28
  1020. 1001 063c 1F91 pop r17
  1021. 1002 063e 0F91 pop r16
  1022. 1003 0640 FF90 pop r15
  1023. 1004 0642 EF90 pop r14
  1024. 1005 0644 DF90 pop r13
  1025. 1006 0646 CF90 pop r12
  1026. 1007 0648 BF90 pop r11
  1027. 1008 064a AF90 pop r10
  1028. 1009 064c 9F90 pop r9
  1029. 1010 064e 8F90 pop r8
  1030. 1011 0650 7F90 pop r7
  1031. 1012 0652 6F90 pop r6
  1032. 1013 0654 5F90 pop r5
  1033. 1014 0656 4F90 pop r4
  1034. 1015 0658 3F90 pop r3
  1035. 1016 065a 2F90 pop r2
  1036. 1017 065c 0895 ret
  1037. 1018 .size _putf, .-_putf
  1038. 1019 .section .progmem.data,"a",@progbits
  1039. 1020 .type __c.2564, @object
  1040. 1021 .size __c.2564, 3
  1041. 1022 __c.2564:
  1042. 1023 0000 4E41 00 .string "NA"
  1043. 1024 .type __c.2552, @object
  1044. 1025 .size __c.2552, 3
  1045. GAS LISTING /tmp/cc5T5uTd.s page 19
  1046. 1026 __c.2552:
  1047. 1027 0003 4E41 00 .string "NA"
  1048. 1028 .type __c.2545, @object
  1049. 1029 .size __c.2545, 3
  1050. 1030 __c.2545:
  1051. 1031 0006 4E41 00 .string "NA"
  1052. 1032 .type __c.2540, @object
  1053. 1033 .size __c.2540, 3
  1054. 1034 __c.2540:
  1055. 1035 0009 4E41 00 .string "NA"
  1056. 1036 .type HEXDIGIT, @object
  1057. 1037 .size HEXDIGIT, 32
  1058. 1038 HEXDIGIT:
  1059. 1039 000c 30 .byte 48
  1060. 1040 000d 31 .byte 49
  1061. 1041 000e 32 .byte 50
  1062. 1042 000f 33 .byte 51
  1063. 1043 0010 34 .byte 52
  1064. 1044 0011 35 .byte 53
  1065. 1045 0012 36 .byte 54
  1066. 1046 0013 37 .byte 55
  1067. 1047 0014 38 .byte 56
  1068. 1048 0015 39 .byte 57
  1069. 1049 0016 41 .byte 65
  1070. 1050 0017 42 .byte 66
  1071. 1051 0018 43 .byte 67
  1072. 1052 0019 44 .byte 68
  1073. 1053 001a 45 .byte 69
  1074. 1054 001b 46 .byte 70
  1075. 1055 001c 30 .byte 48
  1076. 1056 001d 31 .byte 49
  1077. 1057 001e 32 .byte 50
  1078. 1058 001f 33 .byte 51
  1079. 1059 0020 34 .byte 52
  1080. 1060 0021 35 .byte 53
  1081. 1061 0022 36 .byte 54
  1082. 1062 0023 37 .byte 55
  1083. 1063 0024 38 .byte 56
  1084. 1064 0025 39 .byte 57
  1085. 1065 0026 61 .byte 97
  1086. 1066 0027 62 .byte 98
  1087. 1067 0028 63 .byte 99
  1088. 1068 0029 64 .byte 100
  1089. 1069 002a 65 .byte 101
  1090. 1070 002b 66 .byte 102
  1091. 1071 .type zeroes, @object
  1092. 1072 .size zeroes, 16
  1093. 1073 zeroes:
  1094. 1074 002c 30 .byte 48
  1095. 1075 002d 30 .byte 48
  1096. 1076 002e 30 .byte 48
  1097. 1077 002f 30 .byte 48
  1098. 1078 0030 30 .byte 48
  1099. 1079 0031 30 .byte 48
  1100. 1080 0032 30 .byte 48
  1101. 1081 0033 30 .byte 48
  1102. 1082 0034 30 .byte 48
  1103. GAS LISTING /tmp/cc5T5uTd.s page 20
  1104. 1083 0035 30 .byte 48
  1105. 1084 0036 30 .byte 48
  1106. 1085 0037 30 .byte 48
  1107. 1086 0038 30 .byte 48
  1108. 1087 0039 30 .byte 48
  1109. 1088 003a 30 .byte 48
  1110. 1089 003b 30 .byte 48
  1111. 1090 .type blanks, @object
  1112. 1091 .size blanks, 16
  1113. 1092 blanks:
  1114. 1093 003c 20 .byte 32
  1115. 1094 003d 20 .byte 32
  1116. 1095 003e 20 .byte 32
  1117. 1096 003f 20 .byte 32
  1118. 1097 0040 20 .byte 32
  1119. 1098 0041 20 .byte 32
  1120. 1099 0042 20 .byte 32
  1121. 1100 0043 20 .byte 32
  1122. 1101 0044 20 .byte 32
  1123. 1102 0045 20 .byte 32
  1124. 1103 0046 20 .byte 32
  1125. 1104 0047 20 .byte 32
  1126. 1105 0048 20 .byte 32
  1127. 1106 0049 20 .byte 32
  1128. 1107 004a 20 .byte 32
  1129. 1108 004b 20 .byte 32
  1130. 1109 .ident "GCC: (GNU) 5.3.0"
  1131. 1110 .global __do_copy_data
  1132. GAS LISTING /tmp/cc5T5uTd.s page 21
  1133. DEFINED SYMBOLS
  1134. *ABS*:0000000000000000 putf.c
  1135. /tmp/cc5T5uTd.s:2 *ABS*:000000000000003e __SP_H__
  1136. /tmp/cc5T5uTd.s:3 *ABS*:000000000000003d __SP_L__
  1137. /tmp/cc5T5uTd.s:4 *ABS*:000000000000003f __SREG__
  1138. /tmp/cc5T5uTd.s:5 *ABS*:000000000000003b __RAMPZ__
  1139. /tmp/cc5T5uTd.s:6 *ABS*:0000000000000000 __tmp_reg__
  1140. /tmp/cc5T5uTd.s:7 *ABS*:0000000000000001 __zero_reg__
  1141. /tmp/cc5T5uTd.s:10 .text._putpad:0000000000000000 _putpad
  1142. /tmp/cc5T5uTd.s:72 .text.va_args_ulval:0000000000000000 va_args_ulval
  1143. /tmp/cc5T5uTd.s:123 .text._putf:0000000000000000 _putf
  1144. /tmp/cc5T5uTd.s:1034 .progmem.data:0000000000000009 __c.2540
  1145. /tmp/cc5T5uTd.s:1030 .progmem.data:0000000000000006 __c.2545
  1146. /tmp/cc5T5uTd.s:1026 .progmem.data:0000000000000003 __c.2552
  1147. /tmp/cc5T5uTd.s:1038 .progmem.data:000000000000000c HEXDIGIT
  1148. /tmp/cc5T5uTd.s:1022 .progmem.data:0000000000000000 __c.2564
  1149. /tmp/cc5T5uTd.s:1092 .progmem.data:000000000000003c blanks
  1150. /tmp/cc5T5uTd.s:1073 .progmem.data:000000000000002c zeroes
  1151. UNDEFINED SYMBOLS
  1152. __strlen_P
  1153. malloc
  1154. strcpy_P
  1155. memchr
  1156. __udivmodsi4
  1157. free
  1158. __do_copy_data