getf.lst 21 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658
  1. GAS LISTING /tmp/ccW41cE4.s page 1
  2. 1 .file "getf.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._getf,"ax",@progbits
  10. 9 .global _getf
  11. 10 .type _getf, @function
  12. 11 _getf:
  13. 12 0000 2F92 push r2
  14. 13 0002 3F92 push r3
  15. 14 0004 4F92 push r4
  16. 15 0006 5F92 push r5
  17. 16 0008 6F92 push r6
  18. 17 000a 7F92 push r7
  19. 18 000c 8F92 push r8
  20. 19 000e 9F92 push r9
  21. 20 0010 AF92 push r10
  22. 21 0012 BF92 push r11
  23. 22 0014 CF92 push r12
  24. 23 0016 DF92 push r13
  25. 24 0018 EF92 push r14
  26. 25 001a FF92 push r15
  27. 26 001c 0F93 push r16
  28. 27 001e 1F93 push r17
  29. 28 0020 CF93 push r28
  30. 29 0022 DF93 push r29
  31. 30 0024 CDB7 in r28,__SP_L__
  32. 31 0026 DEB7 in r29,__SP_H__
  33. 32 0028 6597 sbiw r28,21
  34. 33 002a 0FB6 in __tmp_reg__,__SREG__
  35. 34 002c F894 cli
  36. 35 002e DEBF out __SP_H__,r29
  37. 36 0030 0FBE out __SREG__,__tmp_reg__
  38. 37 0032 CDBF out __SP_L__,r28
  39. 38 /* prologue: function */
  40. 39 /* frame size = 21 */
  41. 40 /* stack size = 39 */
  42. 41 .L__stack_usage = 39
  43. 42 0034 6C01 movw r12,r24
  44. 43 0036 5B01 movw r10,r22
  45. 44 0038 8A01 movw r16,r20
  46. 45 003a 7901 movw r14,r18
  47. 46 003c 212C mov r2,__zero_reg__
  48. 47 003e 512C mov r5,__zero_reg__
  49. 48 0040 412C mov r4,__zero_reg__
  50. 49 .L2:
  51. 50 0042 4801 movw r8,r16
  52. 51 0044 8FEF ldi r24,-1
  53. 52 0046 881A sub r8,r24
  54. 53 0048 980A sbc r9,r24
  55. 54 004a D801 movw r26,r16
  56. 55 004c 7C90 ld r7,X
  57. 56 004e 7720 tst r7
  58. 57 0050 01F4 brne .+2
  59. GAS LISTING /tmp/ccW41cE4.s page 2
  60. 58 0052 00C0 rjmp .L141
  61. 59 0054 872D mov r24,r7
  62. 60 0056 90E0 ldi r25,0
  63. 61 0058 0E94 0000 call isspace
  64. 62 005c 892B or r24,r25
  65. 63 005e 01F0 breq .L5
  66. 64 .L136:
  67. 65 0060 41E0 ldi r20,lo8(1)
  68. 66 0062 50E0 ldi r21,0
  69. 67 0064 BE01 movw r22,r28
  70. 68 0066 6F5E subi r22,-17
  71. 69 0068 7F4F sbci r23,-1
  72. 70 006a C501 movw r24,r10
  73. 71 006c F601 movw r30,r12
  74. 72 006e 1995 eicall
  75. 73 0070 0197 sbiw r24,1
  76. 74 0072 01F0 breq .L151
  77. 75 .L6:
  78. 76 0074 8401 movw r16,r8
  79. 77 0076 00C0 rjmp .L2
  80. 78 .L151:
  81. 79 0078 8989 ldd r24,Y+17
  82. 80 007a 90E0 ldi r25,0
  83. 81 007c 0E94 0000 call isspace
  84. 82 0080 892B or r24,r25
  85. 83 0082 01F4 brne .L136
  86. 84 0084 2224 clr r2
  87. 85 0086 2394 inc r2
  88. 86 0088 00C0 rjmp .L6
  89. 87 .L5:
  90. 88 008a F5E2 ldi r31,lo8(37)
  91. 89 008c 7F16 cp r7,r31
  92. 90 008e 01F0 breq .L8
  93. 91 0090 2110 cpse r2,__zero_reg__
  94. 92 0092 00C0 rjmp .L9
  95. 93 0094 41E0 ldi r20,lo8(1)
  96. 94 0096 50E0 ldi r21,0
  97. 95 0098 BE01 movw r22,r28
  98. 96 009a 6F5E subi r22,-17
  99. 97 009c 7F4F sbci r23,-1
  100. 98 009e C501 movw r24,r10
  101. 99 00a0 F601 movw r30,r12
  102. 100 00a2 1995 eicall
  103. 101 00a4 0197 sbiw r24,1
  104. 102 00a6 01F0 breq .+2
  105. 103 00a8 00C0 rjmp .L143
  106. 104 .L9:
  107. 105 00aa 8989 ldd r24,Y+17
  108. 106 00ac 7812 cpse r7,r24
  109. 107 00ae 00C0 rjmp .L141
  110. 108 .L73:
  111. 109 00b0 212C mov r2,__zero_reg__
  112. 110 00b2 00C0 rjmp .L6
  113. 111 .L8:
  114. 112 00b4 4801 movw r8,r16
  115. 113 00b6 F2E0 ldi r31,2
  116. 114 00b8 8F0E add r8,r31
  117. GAS LISTING /tmp/ccW41cE4.s page 3
  118. 115 00ba 911C adc r9,__zero_reg__
  119. 116 00bc D801 movw r26,r16
  120. 117 00be 1196 adiw r26,1
  121. 118 00c0 8C91 ld r24,X
  122. 119 00c2 8532 cpi r24,lo8(37)
  123. 120 00c4 01F0 breq .L11
  124. 121 00c6 A401 movw r20,r8
  125. 122 00c8 312C mov r3,__zero_reg__
  126. 123 00ca 20E0 ldi r18,0
  127. 124 00cc 00E0 ldi r16,0
  128. 125 00ce 10E0 ldi r17,0
  129. 126 00d0 00C0 rjmp .L12
  130. 127 .L11:
  131. 128 00d2 2110 cpse r2,__zero_reg__
  132. 129 00d4 00C0 rjmp .L13
  133. 130 00d6 41E0 ldi r20,lo8(1)
  134. 131 00d8 50E0 ldi r21,0
  135. 132 00da BE01 movw r22,r28
  136. 133 00dc 6F5E subi r22,-17
  137. 134 00de 7F4F sbci r23,-1
  138. 135 00e0 C501 movw r24,r10
  139. 136 00e2 F601 movw r30,r12
  140. 137 00e4 1995 eicall
  141. 138 00e6 0197 sbiw r24,1
  142. 139 00e8 01F0 breq .+2
  143. 140 00ea 00C0 rjmp .L143
  144. 141 .L13:
  145. 142 00ec 8989 ldd r24,Y+17
  146. 143 00ee 8532 cpi r24,lo8(37)
  147. 144 00f0 01F0 breq .+2
  148. 145 00f2 00C0 rjmp .L141
  149. 146 00f4 00C0 rjmp .L73
  150. 147 .L14:
  151. 148 00f6 8C36 cpi r24,lo8(108)
  152. 149 00f8 01F4 brne .L16
  153. 150 00fa 2160 ori r18,lo8(1)
  154. 151 .L15:
  155. 152 00fc 4F5F subi r20,-1
  156. 153 00fe 5F4F sbci r21,-1
  157. 154 0100 D401 movw r26,r8
  158. 155 0102 8C91 ld r24,X
  159. 156 .L12:
  160. 157 0104 4A01 movw r8,r20
  161. 158 0106 8A32 cpi r24,lo8(42)
  162. 159 0108 01F4 brne .L14
  163. 160 010a 2260 ori r18,lo8(2)
  164. 161 010c 00C0 rjmp .L15
  165. 162 .L16:
  166. 163 010e 8836 cpi r24,lo8(104)
  167. 164 0110 01F4 brne .L17
  168. 165 0112 3394 inc r3
  169. 166 0114 00C0 rjmp .L15
  170. 167 .L17:
  171. 168 0116 90ED ldi r25,lo8(-48)
  172. 169 0118 980F add r25,r24
  173. 170 011a 9A30 cpi r25,lo8(10)
  174. 171 011c 00F4 brsh .L18
  175. GAS LISTING /tmp/ccW41cE4.s page 4
  176. 172 011e FAE0 ldi r31,lo8(10)
  177. 173 0120 F09F mul r31,r16
  178. 174 0122 B001 movw r22,r0
  179. 175 0124 F19F mul r31,r17
  180. 176 0126 700D add r23,r0
  181. 177 0128 1124 clr __zero_reg__
  182. 178 012a 8B01 movw r16,r22
  183. 179 012c 080F add r16,r24
  184. 180 012e 111D adc r17,__zero_reg__
  185. 181 0130 0053 subi r16,48
  186. 182 0132 1109 sbc r17,__zero_reg__
  187. 183 0134 00C0 rjmp .L15
  188. 184 .L18:
  189. 185 0136 8936 cpi r24,lo8(105)
  190. 186 0138 01F0 breq .L20
  191. 187 013a 00F4 brsh .L21
  192. 188 013c 8835 cpi r24,lo8(88)
  193. 189 013e 01F0 breq .L22
  194. 190 0140 8336 cpi r24,lo8(99)
  195. 191 0142 01F0 breq .L23
  196. 192 0144 8111 cpse r24,__zero_reg__
  197. 193 0146 00C0 rjmp .L19
  198. 194 0148 00C0 rjmp .L74
  199. 195 .L21:
  200. 196 014a 8337 cpi r24,lo8(115)
  201. 197 014c 01F0 breq .L75
  202. 198 014e 8837 cpi r24,lo8(120)
  203. 199 0150 01F0 breq .L22
  204. 200 0152 8F36 cpi r24,lo8(111)
  205. 201 0154 01F0 breq .+2
  206. 202 0156 00C0 rjmp .L19
  207. 203 0158 38E0 ldi r19,lo8(8)
  208. 204 015a 00C0 rjmp .L140
  209. 205 .L20:
  210. 206 015c 30E0 ldi r19,0
  211. 207 015e 00C0 rjmp .L140
  212. 208 .L22:
  213. 209 0160 2061 ori r18,lo8(16)
  214. 210 0162 30E1 ldi r19,lo8(16)
  215. 211 .L140:
  216. 212 0164 93E0 ldi r25,lo8(3)
  217. 213 0166 792E mov r7,r25
  218. 214 0168 00C0 rjmp .L24
  219. 215 .L23:
  220. 216 016a 0115 cp r16,__zero_reg__
  221. 217 016c 1105 cpc r17,__zero_reg__
  222. 218 016e 01F4 brne .L68
  223. 219 0170 01E0 ldi r16,lo8(1)
  224. 220 0172 10E0 ldi r17,0
  225. 221 .L68:
  226. 222 0174 21FF sbrs r18,1
  227. 223 0176 00C0 rjmp .L26
  228. 224 .L27:
  229. 225 0178 0131 cpi r16,17
  230. 226 017a 1105 cpc r17,__zero_reg__
  231. 227 017c 00F4 brsh .+2
  232. 228 017e 00C0 rjmp .L152
  233. GAS LISTING /tmp/ccW41cE4.s page 5
  234. 229 0180 2110 cpse r2,__zero_reg__
  235. 230 0182 00C0 rjmp .L28
  236. 231 0184 40E1 ldi r20,lo8(16)
  237. 232 0186 50E0 ldi r21,0
  238. 233 0188 BE01 movw r22,r28
  239. 234 018a 6F5F subi r22,-1
  240. 235 018c 7F4F sbci r23,-1
  241. 236 018e C501 movw r24,r10
  242. 237 0190 F601 movw r30,r12
  243. 238 0192 1995 eicall
  244. 239 0194 1816 cp __zero_reg__,r24
  245. 240 0196 1906 cpc __zero_reg__,r25
  246. 241 0198 04F4 brge .+2
  247. 242 019a 00C0 rjmp .L28
  248. 243 .L143:
  249. 244 019c 4110 cpse r4,__zero_reg__
  250. 245 019e 00C0 rjmp .L141
  251. 246 01a0 00C0 rjmp .L74
  252. 247 .L75:
  253. 248 01a2 3AE0 ldi r19,lo8(10)
  254. 249 01a4 82E0 ldi r24,lo8(2)
  255. 250 01a6 782E mov r7,r24
  256. 251 .L24:
  257. 252 01a8 2110 cpse r2,__zero_reg__
  258. 253 01aa 00C0 rjmp .L34
  259. 254 .L35:
  260. 255 01ac 41E0 ldi r20,lo8(1)
  261. 256 01ae 50E0 ldi r21,0
  262. 257 01b0 BE01 movw r22,r28
  263. 258 01b2 6F5E subi r22,-17
  264. 259 01b4 7F4F sbci r23,-1
  265. 260 01b6 C501 movw r24,r10
  266. 261 01b8 2D8B std Y+21,r18
  267. 262 01ba 3C8B std Y+20,r19
  268. 263 01bc F601 movw r30,r12
  269. 264 01be 1995 eicall
  270. 265 01c0 2D89 ldd r18,Y+21
  271. 266 01c2 3C89 ldd r19,Y+20
  272. 267 01c4 0197 sbiw r24,1
  273. 268 01c6 01F4 brne .L143
  274. 269 .L34:
  275. 270 01c8 8989 ldd r24,Y+17
  276. 271 01ca 90E0 ldi r25,0
  277. 272 01cc 2D8B std Y+21,r18
  278. 273 01ce 3C8B std Y+20,r19
  279. 274 01d0 0E94 0000 call isspace
  280. 275 01d4 2D89 ldd r18,Y+21
  281. 276 01d6 3C89 ldd r19,Y+20
  282. 277 01d8 892B or r24,r25
  283. 278 01da 01F4 brne .L35
  284. 279 01dc F2E0 ldi r31,lo8(2)
  285. 280 01de 7F16 cp r7,r31
  286. 281 01e0 01F4 brne .+2
  287. 282 01e2 00C0 rjmp .L153
  288. 283 01e4 C801 movw r24,r16
  289. 284 01e6 0197 sbiw r24,1
  290. 285 01e8 0F97 sbiw r24,15
  291. GAS LISTING /tmp/ccW41cE4.s page 6
  292. 286 01ea 00F0 brlo .L46
  293. 287 01ec 0FE0 ldi r16,lo8(15)
  294. 288 01ee 10E0 ldi r17,0
  295. 289 .L46:
  296. 290 01f0 2C62 ori r18,lo8(44)
  297. 291 01f2 FE01 movw r30,r28
  298. 292 01f4 3196 adiw r30,1
  299. 293 01f6 3F01 movw r6,r30
  300. 294 01f8 EA8B std Y+18,r30
  301. 295 01fa 7B8A std Y+19,r7
  302. 296 .L60:
  303. 297 01fc 8989 ldd r24,Y+17
  304. 298 01fe 8033 cpi r24,lo8(48)
  305. 299 0200 01F4 brne .+2
  306. 300 0202 00C0 rjmp .L154
  307. 301 0204 9FEC ldi r25,lo8(-49)
  308. 302 0206 980F add r25,r24
  309. 303 0208 9730 cpi r25,lo8(7)
  310. 304 020a 00F4 brsh .+2
  311. 305 020c 00C0 rjmp .L155
  312. 306 020e 98EC ldi r25,lo8(-56)
  313. 307 0210 980F add r25,r24
  314. 308 0212 9230 cpi r25,lo8(2)
  315. 309 0214 00F4 brsh .+2
  316. 310 0216 00C0 rjmp .L156
  317. 311 0218 982F mov r25,r24
  318. 312 021a 9F7D andi r25,lo8(-33)
  319. 313 021c 4FEB ldi r20,lo8(-65)
  320. 314 021e 490F add r20,r25
  321. 315 0220 4630 cpi r20,lo8(6)
  322. 316 0222 00F4 brsh .+2
  323. 317 0224 00C0 rjmp .L157
  324. 318 0226 8D32 cpi r24,lo8(45)
  325. 319 0228 01F4 brne .+2
  326. 320 022a 00C0 rjmp .L57
  327. 321 022c 8B32 cpi r24,lo8(43)
  328. 322 022e 01F4 brne .+2
  329. 323 0230 00C0 rjmp .L57
  330. 324 0232 9835 cpi r25,lo8(88)
  331. 325 0234 01F4 brne .+2
  332. 326 0236 00C0 rjmp .L158
  333. 327 0238 2224 clr r2
  334. 328 023a 2394 inc r2
  335. 329 .L55:
  336. 330 023c 23FF sbrs r18,3
  337. 331 023e 00C0 rjmp .L62
  338. 332 .L141:
  339. 333 0240 852D mov r24,r5
  340. 334 0242 90E0 ldi r25,0
  341. 335 0244 00C0 rjmp .L135
  342. 336 .L74:
  343. 337 0246 8FEF ldi r24,lo8(-1)
  344. 338 0248 9FEF ldi r25,lo8(-1)
  345. 339 024a 00C0 rjmp .L135
  346. 340 .L28:
  347. 341 024c 0051 subi r16,16
  348. 342 024e 1109 sbc r17,__zero_reg__
  349. GAS LISTING /tmp/ccW41cE4.s page 7
  350. 343 0250 00C0 rjmp .L27
  351. 344 .L152:
  352. 345 0252 2110 cpse r2,__zero_reg__
  353. 346 0254 00C0 rjmp .L40
  354. 347 0256 A801 movw r20,r16
  355. 348 0258 BE01 movw r22,r28
  356. 349 025a 6F5F subi r22,-1
  357. 350 025c 7F4F sbci r23,-1
  358. 351 025e C501 movw r24,r10
  359. 352 0260 F601 movw r30,r12
  360. 353 0262 1995 eicall
  361. 354 0264 1816 cp __zero_reg__,r24
  362. 355 0266 1906 cpc __zero_reg__,r25
  363. 356 0268 04F0 brlt .L40
  364. 357 026a 00C0 rjmp .L143
  365. 358 .L26:
  366. 359 026c 2110 cpse r2,__zero_reg__
  367. 360 026e 00C0 rjmp .L31
  368. 361 0270 D701 movw r26,r14
  369. 362 0272 6D91 ld r22,X+
  370. 363 0274 7C91 ld r23,X
  371. 364 0276 A801 movw r20,r16
  372. 365 0278 C501 movw r24,r10
  373. 366 027a F601 movw r30,r12
  374. 367 027c 1995 eicall
  375. 368 027e 1816 cp __zero_reg__,r24
  376. 369 0280 1906 cpc __zero_reg__,r25
  377. 370 0282 04F0 brlt .+2
  378. 371 0284 00C0 rjmp .L143
  379. 372 0286 F2E0 ldi r31,2
  380. 373 0288 EF0E add r14,r31
  381. 374 028a F11C adc r15,__zero_reg__
  382. 375 .L31:
  383. 376 028c 5394 inc r5
  384. 377 028e 00C0 rjmp .L40
  385. 378 .L153:
  386. 379 0290 0115 cp r16,__zero_reg__
  387. 380 0292 1105 cpc r17,__zero_reg__
  388. 381 0294 01F4 brne .L37
  389. 382 0296 0FEF ldi r16,lo8(-1)
  390. 383 0298 1FEF ldi r17,lo8(-1)
  391. 384 .L37:
  392. 385 029a 21FF sbrs r18,1
  393. 386 029c 00C0 rjmp .L159
  394. 387 .L41:
  395. 388 029e 8989 ldd r24,Y+17
  396. 389 02a0 90E0 ldi r25,0
  397. 390 02a2 0E94 0000 call isspace
  398. 391 02a6 892B or r24,r25
  399. 392 02a8 01F4 brne .L40
  400. 393 02aa 0150 subi r16,1
  401. 394 02ac 1109 sbc r17,__zero_reg__
  402. 395 02ae 01F4 brne .L160
  403. 396 .L40:
  404. 397 02b0 4394 inc r4
  405. 398 02b2 00C0 rjmp .L73
  406. 399 .L19:
  407. GAS LISTING /tmp/ccW41cE4.s page 8
  408. 400 02b4 3AE0 ldi r19,lo8(10)
  409. 401 02b6 00C0 rjmp .L140
  410. 402 .L160:
  411. 403 02b8 41E0 ldi r20,lo8(1)
  412. 404 02ba 50E0 ldi r21,0
  413. 405 02bc BE01 movw r22,r28
  414. 406 02be 6F5E subi r22,-17
  415. 407 02c0 7F4F sbci r23,-1
  416. 408 02c2 C501 movw r24,r10
  417. 409 02c4 F601 movw r30,r12
  418. 410 02c6 1995 eicall
  419. 411 02c8 0197 sbiw r24,1
  420. 412 02ca 01F0 breq .L41
  421. 413 02cc 00C0 rjmp .L40
  422. 414 .L159:
  423. 415 02ce 3701 movw r6,r14
  424. 416 02d0 F2E0 ldi r31,2
  425. 417 02d2 6F0E add r6,r31
  426. 418 02d4 711C adc r7,__zero_reg__
  427. 419 02d6 D701 movw r26,r14
  428. 420 02d8 ED90 ld r14,X+
  429. 421 02da FC90 ld r15,X
  430. 422 02dc 0E0D add r16,r14
  431. 423 02de 1F1D adc r17,r15
  432. 424 .L43:
  433. 425 02e0 3988 ldd r3,Y+17
  434. 426 02e2 832D mov r24,r3
  435. 427 02e4 90E0 ldi r25,0
  436. 428 02e6 0E94 0000 call isspace
  437. 429 02ea 892B or r24,r25
  438. 430 02ec 01F4 brne .L44
  439. 431 02ee BFEF ldi r27,-1
  440. 432 02f0 EB1A sub r14,r27
  441. 433 02f2 FB0A sbc r15,r27
  442. 434 02f4 F701 movw r30,r14
  443. 435 02f6 3197 sbiw r30,1
  444. 436 02f8 3082 st Z,r3
  445. 437 02fa 0E15 cp r16,r14
  446. 438 02fc 1F05 cpc r17,r15
  447. 439 02fe 01F0 breq .L44
  448. 440 0300 41E0 ldi r20,lo8(1)
  449. 441 0302 50E0 ldi r21,0
  450. 442 0304 BE01 movw r22,r28
  451. 443 0306 6F5E subi r22,-17
  452. 444 0308 7F4F sbci r23,-1
  453. 445 030a C501 movw r24,r10
  454. 446 030c F601 movw r30,r12
  455. 447 030e 1995 eicall
  456. 448 0310 0197 sbiw r24,1
  457. 449 0312 01F0 breq .L43
  458. 450 .L44:
  459. 451 0314 D701 movw r26,r14
  460. 452 0316 1C92 st X,__zero_reg__
  461. 453 0318 5394 inc r5
  462. 454 031a 7301 movw r14,r6
  463. 455 031c 00C0 rjmp .L40
  464. 456 .L154:
  465. GAS LISTING /tmp/ccW41cE4.s page 9
  466. 457 031e 3111 cpse r19,__zero_reg__
  467. 458 0320 00C0 rjmp .L48
  468. 459 0322 2061 ori r18,lo8(16)
  469. 460 0324 38E0 ldi r19,lo8(8)
  470. 461 .L48:
  471. 462 0326 25FF sbrs r18,5
  472. 463 0328 00C0 rjmp .L138
  473. 464 032a 237D andi r18,lo8(-45)
  474. 465 032c 00C0 rjmp .L50
  475. 466 .L155:
  476. 467 032e 3111 cpse r19,__zero_reg__
  477. 468 0330 00C0 rjmp .L138
  478. 469 0332 00C0 rjmp .L80
  479. 470 .L156:
  480. 471 0334 3323 tst r19
  481. 472 0336 01F0 breq .L80
  482. 473 0338 3930 cpi r19,lo8(9)
  483. 474 033a 00F4 brsh .L138
  484. 475 033c 00C0 rjmp .L85
  485. 476 .L80:
  486. 477 033e 3AE0 ldi r19,lo8(10)
  487. 478 0340 00C0 rjmp .L138
  488. 479 .L157:
  489. 480 0342 3B30 cpi r19,lo8(11)
  490. 481 0344 00F0 brlo .L85
  491. 482 .L138:
  492. 483 0346 237E andi r18,lo8(-29)
  493. 484 0348 00C0 rjmp .L50
  494. 485 .L57:
  495. 486 034a 22FF sbrs r18,2
  496. 487 034c 00C0 rjmp .L85
  497. 488 034e 2B7F andi r18,lo8(-5)
  498. 489 0350 00C0 rjmp .L50
  499. 490 .L158:
  500. 491 0352 24FF sbrs r18,4
  501. 492 0354 00C0 rjmp .L85
  502. 493 0356 2F7E andi r18,lo8(-17)
  503. 494 0358 30E1 ldi r19,lo8(16)
  504. 495 .L50:
  505. 496 035a FFEF ldi r31,-1
  506. 497 035c 6F1A sub r6,r31
  507. 498 035e 7F0A sbc r7,r31
  508. 499 0360 F301 movw r30,r6
  509. 500 0362 3197 sbiw r30,1
  510. 501 0364 8083 st Z,r24
  511. 502 0366 0130 cpi r16,1
  512. 503 0368 1105 cpc r17,__zero_reg__
  513. 504 036a 01F4 brne .L59
  514. 505 .L61:
  515. 506 036c 0150 subi r16,1
  516. 507 036e 1109 sbc r17,__zero_reg__
  517. 508 0370 01F0 breq .+2
  518. 509 0372 00C0 rjmp .L60
  519. 510 0374 00C0 rjmp .L85
  520. 511 .L59:
  521. 512 0376 41E0 ldi r20,lo8(1)
  522. 513 0378 50E0 ldi r21,0
  523. GAS LISTING /tmp/ccW41cE4.s page 10
  524. 514 037a BE01 movw r22,r28
  525. 515 037c 6F5E subi r22,-17
  526. 516 037e 7F4F sbci r23,-1
  527. 517 0380 C501 movw r24,r10
  528. 518 0382 2D8B std Y+21,r18
  529. 519 0384 3C8B std Y+20,r19
  530. 520 0386 F601 movw r30,r12
  531. 521 0388 1995 eicall
  532. 522 038a 2D89 ldd r18,Y+21
  533. 523 038c 3C89 ldd r19,Y+20
  534. 524 038e 0197 sbiw r24,1
  535. 525 0390 01F0 breq .L61
  536. 526 .L85:
  537. 527 0392 212C mov r2,__zero_reg__
  538. 528 0394 00C0 rjmp .L55
  539. 529 .L62:
  540. 530 0396 21FD sbrc r18,1
  541. 531 0398 00C0 rjmp .L63
  542. 532 039a D301 movw r26,r6
  543. 533 039c 1C92 st X,__zero_reg__
  544. 534 039e 432F mov r20,r19
  545. 535 03a0 50E0 ldi r21,0
  546. 536 03a2 60E0 ldi r22,0
  547. 537 03a4 70E0 ldi r23,0
  548. 538 03a6 8A89 ldd r24,Y+18
  549. 539 03a8 9B89 ldd r25,Y+19
  550. 540 03aa 2D8B std Y+21,r18
  551. 541 03ac 0E94 0000 call strtol
  552. 542 03b0 A701 movw r20,r14
  553. 543 03b2 4E5F subi r20,-2
  554. 544 03b4 5F4F sbci r21,-1
  555. 545 03b6 2D89 ldd r18,Y+21
  556. 546 03b8 20FF sbrs r18,0
  557. 547 03ba 00C0 rjmp .L64
  558. 548 03bc D701 movw r26,r14
  559. 549 03be ED91 ld r30,X+
  560. 550 03c0 FC91 ld r31,X
  561. 551 03c2 6083 st Z,r22
  562. 552 03c4 7183 std Z+1,r23
  563. 553 03c6 8283 std Z+2,r24
  564. 554 03c8 9383 std Z+3,r25
  565. 555 03ca 00C0 rjmp .L139
  566. 556 .L64:
  567. 557 03cc B1E0 ldi r27,lo8(1)
  568. 558 03ce 3B12 cpse r3,r27
  569. 559 03d0 00C0 rjmp .L66
  570. 560 03d2 D701 movw r26,r14
  571. 561 03d4 ED91 ld r30,X+
  572. 562 03d6 FC91 ld r31,X
  573. 563 03d8 00C0 rjmp .L67
  574. 564 .L66:
  575. 565 03da D701 movw r26,r14
  576. 566 03dc ED91 ld r30,X+
  577. 567 03de FC91 ld r31,X
  578. 568 03e0 3320 tst r3
  579. 569 03e2 01F0 breq .L67
  580. 570 03e4 6083 st Z,r22
  581. GAS LISTING /tmp/ccW41cE4.s page 11
  582. 571 03e6 00C0 rjmp .L139
  583. 572 .L67:
  584. 573 03e8 6083 st Z,r22
  585. 574 03ea 7183 std Z+1,r23
  586. 575 .L139:
  587. 576 03ec 7A01 movw r14,r20
  588. 577 03ee 5394 inc r5
  589. 578 .L63:
  590. 579 03f0 4394 inc r4
  591. 580 03f2 00C0 rjmp .L6
  592. 581 .L135:
  593. 582 /* epilogue start */
  594. 583 03f4 6596 adiw r28,21
  595. 584 03f6 0FB6 in __tmp_reg__,__SREG__
  596. 585 03f8 F894 cli
  597. 586 03fa DEBF out __SP_H__,r29
  598. 587 03fc 0FBE out __SREG__,__tmp_reg__
  599. 588 03fe CDBF out __SP_L__,r28
  600. 589 0400 DF91 pop r29
  601. 590 0402 CF91 pop r28
  602. 591 0404 1F91 pop r17
  603. 592 0406 0F91 pop r16
  604. 593 0408 FF90 pop r15
  605. 594 040a EF90 pop r14
  606. 595 040c DF90 pop r13
  607. 596 040e CF90 pop r12
  608. 597 0410 BF90 pop r11
  609. 598 0412 AF90 pop r10
  610. 599 0414 9F90 pop r9
  611. 600 0416 8F90 pop r8
  612. 601 0418 7F90 pop r7
  613. 602 041a 6F90 pop r6
  614. 603 041c 5F90 pop r5
  615. 604 041e 4F90 pop r4
  616. 605 0420 3F90 pop r3
  617. 606 0422 2F90 pop r2
  618. 607 0424 0895 ret
  619. 608 .size _getf, .-_getf
  620. 609 .ident "GCC: (GNU) 5.3.0"
  621. GAS LISTING /tmp/ccW41cE4.s page 12
  622. DEFINED SYMBOLS
  623. *ABS*:0000000000000000 getf.c
  624. /tmp/ccW41cE4.s:2 *ABS*:000000000000003e __SP_H__
  625. /tmp/ccW41cE4.s:3 *ABS*:000000000000003d __SP_L__
  626. /tmp/ccW41cE4.s:4 *ABS*:000000000000003f __SREG__
  627. /tmp/ccW41cE4.s:5 *ABS*:000000000000003b __RAMPZ__
  628. /tmp/ccW41cE4.s:6 *ABS*:0000000000000000 __tmp_reg__
  629. /tmp/ccW41cE4.s:7 *ABS*:0000000000000001 __zero_reg__
  630. /tmp/ccW41cE4.s:11 .text._getf:0000000000000000 _getf
  631. UNDEFINED SYMBOLS
  632. isspace
  633. strtol