vis.lst 28 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879
  1. GAS LISTING /tmp/cca0dJjL.s page 1
  2. 1 .file "vis.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 .rodata.str1.1,"aMS",@progbits,1
  10. 9 .LC0:
  11. 10 0000 3031 3233 .string "0123456789abcdef"
  12. 10 3435 3637
  13. 10 3839 6162
  14. 10 6364 6566
  15. 10 00
  16. 11 .section .text.vis,"ax",@progbits
  17. 12 .global vis
  18. 13 .type vis, @function
  19. 14 vis:
  20. 15 0000 CF92 push r12
  21. 16 0002 DF92 push r13
  22. 17 0004 EF92 push r14
  23. 18 0006 FF92 push r15
  24. 19 0008 0F93 push r16
  25. 20 000a 1F93 push r17
  26. 21 000c CF93 push r28
  27. 22 000e DF93 push r29
  28. 23 /* prologue: function */
  29. 24 /* frame size = 0 */
  30. 25 /* stack size = 8 */
  31. 26 .L__stack_usage = 8
  32. 27 0010 8C01 movw r16,r24
  33. 28 0012 EB01 movw r28,r22
  34. 29 0014 7A01 movw r14,r20
  35. 30 0016 6901 movw r12,r18
  36. 31 0018 47FF sbrs r20,7
  37. 32 001a 00C0 rjmp .L2
  38. 33 001c CB01 movw r24,r22
  39. 34 001e 0E94 0000 call isalnum
  40. 35 0022 892B or r24,r25
  41. 36 0024 01F4 brne .L2
  42. 37 0026 C432 cpi r28,36
  43. 38 0028 D105 cpc r29,__zero_reg__
  44. 39 002a 01F0 breq .L2
  45. 40 002c CF35 cpi r28,95
  46. 41 002e D105 cpc r29,__zero_reg__
  47. 42 0030 01F0 breq .L2
  48. 43 0032 C132 cpi r28,33
  49. 44 0034 D105 cpc r29,__zero_reg__
  50. 45 0036 01F0 breq .L2
  51. 46 0038 CE01 movw r24,r28
  52. 47 003a 8797 sbiw r24,39
  53. 48 003c 0897 sbiw r24,8
  54. 49 003e 00F0 brlo .L2
  55. 50 0040 85E2 ldi r24,lo8(37)
  56. 51 0042 D801 movw r26,r16
  57. 52 0044 8C93 st X,r24
  58. 53 0046 FE01 movw r30,r28
  59. GAS LISTING /tmp/cca0dJjL.s page 2
  60. 54 0048 64E0 ldi r22,4
  61. 55 1:
  62. 56 004a F695 lsr r31
  63. 57 004c E795 ror r30
  64. 58 004e 6A95 dec r22
  65. 59 0050 01F4 brne 1b
  66. 60 0052 EF70 andi r30,15
  67. 61 0054 FF27 clr r31
  68. 62 0056 E050 subi r30,lo8(-(.LC0))
  69. 63 0058 F040 sbci r31,hi8(-(.LC0))
  70. 64 005a 8081 ld r24,Z
  71. 65 005c 1196 adiw r26,1
  72. 66 005e 8C93 st X,r24
  73. 67 0060 1197 sbiw r26,1
  74. 68 0062 F801 movw r30,r16
  75. 69 0064 3396 adiw r30,3
  76. 70 0066 CF70 andi r28,15
  77. 71 0068 DD27 clr r29
  78. 72 006a C050 subi r28,lo8(-(.LC0))
  79. 73 006c D040 sbci r29,hi8(-(.LC0))
  80. 74 006e 8881 ld r24,Y
  81. 75 0070 1296 adiw r26,2
  82. 76 0072 8C93 st X,r24
  83. 77 0074 00C0 rjmp .L3
  84. 78 .L2:
  85. 79 0076 CF3F cpi r28,-1
  86. 80 0078 D105 cpc r29,__zero_reg__
  87. 81 007a 01F0 breq .+2
  88. 82 007c 00F4 brsh .L4
  89. 83 007e C7FD sbrc r28,7
  90. 84 0080 00C0 rjmp .L4
  91. 85 0082 CA32 cpi r28,42
  92. 86 0084 D105 cpc r29,__zero_reg__
  93. 87 0086 01F0 breq .L5
  94. 88 0088 CF33 cpi r28,63
  95. 89 008a D105 cpc r29,__zero_reg__
  96. 90 008c 01F0 breq .L5
  97. 91 008e CB35 cpi r28,91
  98. 92 0090 D105 cpc r29,__zero_reg__
  99. 93 0092 01F0 breq .L5
  100. 94 0094 C332 cpi r28,35
  101. 95 0096 D105 cpc r29,__zero_reg__
  102. 96 0098 01F4 brne .L6
  103. 97 .L5:
  104. 98 009a F0FC sbrc r15,0
  105. 99 009c 00C0 rjmp .L4
  106. 100 .L6:
  107. 101 009e CE01 movw r24,r28
  108. 102 00a0 0E94 0000 call isgraph
  109. 103 00a4 892B or r24,r25
  110. 104 00a6 01F4 brne .L7
  111. 105 .L4:
  112. 106 00a8 E2FC sbrc r14,2
  113. 107 00aa 00C0 rjmp .L8
  114. 108 00ac C032 cpi r28,32
  115. 109 00ae D105 cpc r29,__zero_reg__
  116. 110 00b0 01F0 breq .L7
  117. GAS LISTING /tmp/cca0dJjL.s page 3
  118. 111 .L8:
  119. 112 00b2 E3FC sbrc r14,3
  120. 113 00b4 00C0 rjmp .L9
  121. 114 00b6 C930 cpi r28,9
  122. 115 00b8 D105 cpc r29,__zero_reg__
  123. 116 00ba 01F0 breq .L7
  124. 117 .L9:
  125. 118 00bc E4FC sbrc r14,4
  126. 119 00be 00C0 rjmp .L10
  127. 120 00c0 CA30 cpi r28,10
  128. 121 00c2 D105 cpc r29,__zero_reg__
  129. 122 00c4 01F0 breq .L7
  130. 123 .L10:
  131. 124 00c6 E5FE sbrs r14,5
  132. 125 00c8 00C0 rjmp .L11
  133. 126 00ca CE01 movw r24,r28
  134. 127 00cc 0797 sbiw r24,7
  135. 128 00ce 0297 sbiw r24,2
  136. 129 00d0 00F0 brlo .L7
  137. 130 00d2 CD30 cpi r28,13
  138. 131 00d4 D105 cpc r29,__zero_reg__
  139. 132 00d6 01F0 breq .L7
  140. 133 00d8 CE01 movw r24,r28
  141. 134 00da 9927 clr r25
  142. 135 00dc 0E94 0000 call isgraph
  143. 136 00e0 892B or r24,r25
  144. 137 00e2 01F0 breq .L11
  145. 138 .L7:
  146. 139 00e4 F801 movw r30,r16
  147. 140 00e6 3196 adiw r30,1
  148. 141 00e8 D801 movw r26,r16
  149. 142 00ea CC93 st X,r28
  150. 143 00ec CC35 cpi r28,92
  151. 144 00ee D105 cpc r29,__zero_reg__
  152. 145 00f0 01F0 breq .+2
  153. 146 00f2 00C0 rjmp .L3
  154. 147 00f4 E6FC sbrc r14,6
  155. 148 00f6 00C0 rjmp .L3
  156. 149 00f8 3196 adiw r30,1
  157. 150 00fa 8CE5 ldi r24,lo8(92)
  158. 151 00fc 00C0 rjmp .L94
  159. 152 .L11:
  160. 153 00fe E1FE sbrs r14,1
  161. 154 0100 00C0 rjmp .L14
  162. 155 0102 CA30 cpi r28,10
  163. 156 0104 D105 cpc r29,__zero_reg__
  164. 157 0106 01F0 breq .L15
  165. 158 0108 04F4 brge .L16
  166. 159 010a C730 cpi r28,7
  167. 160 010c D105 cpc r29,__zero_reg__
  168. 161 010e 01F0 breq .L17
  169. 162 0110 04F4 brge .L18
  170. 163 0112 2097 sbiw r28,0
  171. 164 0114 01F4 brne .+2
  172. 165 0116 00C0 rjmp .L19
  173. 166 0118 00C0 rjmp .L14
  174. 167 .L18:
  175. GAS LISTING /tmp/cca0dJjL.s page 4
  176. 168 011a C830 cpi r28,8
  177. 169 011c D105 cpc r29,__zero_reg__
  178. 170 011e 01F0 breq .L20
  179. 171 0120 C930 cpi r28,9
  180. 172 0122 D105 cpc r29,__zero_reg__
  181. 173 0124 01F0 breq .+2
  182. 174 0126 00C0 rjmp .L14
  183. 175 0128 8CE5 ldi r24,lo8(92)
  184. 176 012a F801 movw r30,r16
  185. 177 012c 8083 st Z,r24
  186. 178 012e 3296 adiw r30,2
  187. 179 0130 84E7 ldi r24,lo8(116)
  188. 180 0132 00C0 rjmp .L93
  189. 181 .L16:
  190. 182 0134 CC30 cpi r28,12
  191. 183 0136 D105 cpc r29,__zero_reg__
  192. 184 0138 01F0 breq .L22
  193. 185 013a 04F0 brlt .L23
  194. 186 013c CD30 cpi r28,13
  195. 187 013e D105 cpc r29,__zero_reg__
  196. 188 0140 01F0 breq .L24
  197. 189 0142 C032 cpi r28,32
  198. 190 0144 D105 cpc r29,__zero_reg__
  199. 191 0146 01F0 breq .+2
  200. 192 0148 00C0 rjmp .L14
  201. 193 014a 8CE5 ldi r24,lo8(92)
  202. 194 014c F801 movw r30,r16
  203. 195 014e 8083 st Z,r24
  204. 196 0150 3296 adiw r30,2
  205. 197 0152 83E7 ldi r24,lo8(115)
  206. 198 0154 00C0 rjmp .L93
  207. 199 .L15:
  208. 200 0156 8CE5 ldi r24,lo8(92)
  209. 201 0158 F801 movw r30,r16
  210. 202 015a 8083 st Z,r24
  211. 203 015c 3296 adiw r30,2
  212. 204 015e 8EE6 ldi r24,lo8(110)
  213. 205 0160 00C0 rjmp .L93
  214. 206 .L24:
  215. 207 0162 8CE5 ldi r24,lo8(92)
  216. 208 0164 F801 movw r30,r16
  217. 209 0166 8083 st Z,r24
  218. 210 0168 3296 adiw r30,2
  219. 211 016a 82E7 ldi r24,lo8(114)
  220. 212 .L93:
  221. 213 016c D801 movw r26,r16
  222. 214 .L94:
  223. 215 016e 1196 adiw r26,1
  224. 216 0170 8C93 st X,r24
  225. 217 0172 00C0 rjmp .L3
  226. 218 .L20:
  227. 219 0174 8CE5 ldi r24,lo8(92)
  228. 220 0176 F801 movw r30,r16
  229. 221 0178 8083 st Z,r24
  230. 222 017a 3296 adiw r30,2
  231. 223 017c 82E6 ldi r24,lo8(98)
  232. 224 017e 00C0 rjmp .L93
  233. GAS LISTING /tmp/cca0dJjL.s page 5
  234. 225 .L17:
  235. 226 0180 8CE5 ldi r24,lo8(92)
  236. 227 0182 F801 movw r30,r16
  237. 228 0184 8083 st Z,r24
  238. 229 0186 3296 adiw r30,2
  239. 230 0188 81E6 ldi r24,lo8(97)
  240. 231 018a 00C0 rjmp .L93
  241. 232 .L23:
  242. 233 018c 8CE5 ldi r24,lo8(92)
  243. 234 018e F801 movw r30,r16
  244. 235 0190 8083 st Z,r24
  245. 236 0192 3296 adiw r30,2
  246. 237 0194 86E7 ldi r24,lo8(118)
  247. 238 0196 00C0 rjmp .L93
  248. 239 .L22:
  249. 240 0198 8CE5 ldi r24,lo8(92)
  250. 241 019a F801 movw r30,r16
  251. 242 019c 8083 st Z,r24
  252. 243 019e 3296 adiw r30,2
  253. 244 01a0 86E6 ldi r24,lo8(102)
  254. 245 01a2 00C0 rjmp .L93
  255. 246 .L19:
  256. 247 01a4 8CE5 ldi r24,lo8(92)
  257. 248 01a6 F801 movw r30,r16
  258. 249 01a8 8083 st Z,r24
  259. 250 01aa 80E3 ldi r24,lo8(48)
  260. 251 01ac 8183 std Z+1,r24
  261. 252 01ae DD24 clr r13
  262. 253 01b0 F0E3 ldi r31,48
  263. 254 01b2 CF1A sub r12,r31
  264. 255 01b4 D108 sbc r13,__zero_reg__
  265. 256 01b6 28E0 ldi r18,8
  266. 257 01b8 C216 cp r12,r18
  267. 258 01ba D104 cpc r13,__zero_reg__
  268. 259 01bc 00F0 brlo .L26
  269. 260 01be F801 movw r30,r16
  270. 261 01c0 3296 adiw r30,2
  271. 262 01c2 00C0 rjmp .L3
  272. 263 .L26:
  273. 264 01c4 D801 movw r26,r16
  274. 265 01c6 1296 adiw r26,2
  275. 266 01c8 8C93 st X,r24
  276. 267 01ca 1297 sbiw r26,2
  277. 268 01cc F801 movw r30,r16
  278. 269 01ce 3496 adiw r30,4
  279. 270 01d0 1396 adiw r26,3
  280. 271 01d2 8C93 st X,r24
  281. 272 01d4 00C0 rjmp .L3
  282. 273 .L14:
  283. 274 01d6 CE01 movw r24,r28
  284. 275 01d8 8F77 andi r24,127
  285. 276 01da 9927 clr r25
  286. 277 01dc 8032 cpi r24,32
  287. 278 01de 9105 cpc r25,__zero_reg__
  288. 279 01e0 01F0 breq .L27
  289. 280 01e2 E0FC sbrc r14,0
  290. 281 01e4 00C0 rjmp .L27
  291. GAS LISTING /tmp/cca0dJjL.s page 6
  292. 282 01e6 F0FE sbrs r15,0
  293. 283 01e8 00C0 rjmp .L28
  294. 284 01ea CA32 cpi r28,42
  295. 285 01ec D105 cpc r29,__zero_reg__
  296. 286 01ee 01F0 breq .L27
  297. 287 01f0 CF33 cpi r28,63
  298. 288 01f2 D105 cpc r29,__zero_reg__
  299. 289 01f4 01F0 breq .L27
  300. 290 01f6 CB35 cpi r28,91
  301. 291 01f8 D105 cpc r29,__zero_reg__
  302. 292 01fa 01F0 breq .L27
  303. 293 01fc C332 cpi r28,35
  304. 294 01fe D105 cpc r29,__zero_reg__
  305. 295 0200 01F4 brne .L28
  306. 296 .L27:
  307. 297 0202 8CE5 ldi r24,lo8(92)
  308. 298 0204 F801 movw r30,r16
  309. 299 0206 8083 st Z,r24
  310. 300 0208 CE01 movw r24,r28
  311. 301 020a 9927 clr r25
  312. 302 020c 9C01 movw r18,r24
  313. 303 020e 46E0 ldi r20,6
  314. 304 1:
  315. 305 0210 3595 asr r19
  316. 306 0212 2795 ror r18
  317. 307 0214 4A95 dec r20
  318. 308 0216 01F4 brne 1b
  319. 309 0218 205D subi r18,lo8(-(48))
  320. 310 021a 2183 std Z+1,r18
  321. 311 021c 53E0 ldi r21,3
  322. 312 1:
  323. 313 021e 9595 asr r25
  324. 314 0220 8795 ror r24
  325. 315 0222 5A95 dec r21
  326. 316 0224 01F4 brne 1b
  327. 317 0226 8770 andi r24,lo8(7)
  328. 318 0228 805D subi r24,lo8(-(48))
  329. 319 022a 8283 std Z+2,r24
  330. 320 022c 3496 adiw r30,4
  331. 321 022e C770 andi r28,lo8(7)
  332. 322 0230 C05D subi r28,lo8(-(48))
  333. 323 0232 D801 movw r26,r16
  334. 324 0234 1396 adiw r26,3
  335. 325 0236 CC93 st X,r28
  336. 326 0238 00C0 rjmp .L3
  337. 327 .L28:
  338. 328 023a E6FC sbrc r14,6
  339. 329 023c 00C0 rjmp .L29
  340. 330 023e 2CE5 ldi r18,lo8(92)
  341. 331 0240 F801 movw r30,r16
  342. 332 0242 2083 st Z,r18
  343. 333 0244 0F5F subi r16,-1
  344. 334 0246 1F4F sbci r17,-1
  345. 335 .L29:
  346. 336 0248 C7FF sbrs r28,7
  347. 337 024a 00C0 rjmp .L30
  348. 338 024c 2DE4 ldi r18,lo8(77)
  349. GAS LISTING /tmp/cca0dJjL.s page 7
  350. 339 024e D801 movw r26,r16
  351. 340 0250 2C93 st X,r18
  352. 341 0252 EC01 movw r28,r24
  353. 342 0254 0F5F subi r16,-1
  354. 343 0256 1F4F sbci r17,-1
  355. 344 .L30:
  356. 345 0258 CE01 movw r24,r28
  357. 346 025a 9927 clr r25
  358. 347 025c 0E94 0000 call iscntrl
  359. 348 0260 F801 movw r30,r16
  360. 349 0262 3296 adiw r30,2
  361. 350 0264 892B or r24,r25
  362. 351 0266 01F0 breq .L31
  363. 352 0268 8EE5 ldi r24,lo8(94)
  364. 353 026a D801 movw r26,r16
  365. 354 026c 8C93 st X,r24
  366. 355 026e CF37 cpi r28,127
  367. 356 0270 D105 cpc r29,__zero_reg__
  368. 357 0272 01F4 brne .L32
  369. 358 0274 8FE3 ldi r24,lo8(63)
  370. 359 0276 00C0 rjmp .L94
  371. 360 .L32:
  372. 361 0278 C05C subi r28,lo8(-(64))
  373. 362 027a D801 movw r26,r16
  374. 363 027c 1196 adiw r26,1
  375. 364 027e CC93 st X,r28
  376. 365 0280 00C0 rjmp .L3
  377. 366 .L31:
  378. 367 0282 8DE2 ldi r24,lo8(45)
  379. 368 0284 D801 movw r26,r16
  380. 369 0286 8C93 st X,r24
  381. 370 0288 1196 adiw r26,1
  382. 371 028a CC93 st X,r28
  383. 372 .L3:
  384. 373 028c 1082 st Z,__zero_reg__
  385. 374 028e CF01 movw r24,r30
  386. 375 /* epilogue start */
  387. 376 0290 DF91 pop r29
  388. 377 0292 CF91 pop r28
  389. 378 0294 1F91 pop r17
  390. 379 0296 0F91 pop r16
  391. 380 0298 FF90 pop r15
  392. 381 029a EF90 pop r14
  393. 382 029c DF90 pop r13
  394. 383 029e CF90 pop r12
  395. 384 02a0 0895 ret
  396. 385 .size vis, .-vis
  397. 386 .section .text.strvis,"ax",@progbits
  398. 387 .global strvis
  399. 388 .type strvis, @function
  400. 389 strvis:
  401. 390 0000 EF92 push r14
  402. 391 0002 FF92 push r15
  403. 392 0004 0F93 push r16
  404. 393 0006 1F93 push r17
  405. 394 0008 CF93 push r28
  406. 395 000a DF93 push r29
  407. GAS LISTING /tmp/cca0dJjL.s page 8
  408. 396 /* prologue: function */
  409. 397 /* frame size = 0 */
  410. 398 /* stack size = 6 */
  411. 399 .L__stack_usage = 6
  412. 400 000c 8C01 movw r16,r24
  413. 401 000e 7A01 movw r14,r20
  414. 402 0010 EB01 movw r28,r22
  415. 403 .L97:
  416. 404 0012 6991 ld r22,Y+
  417. 405 0014 6623 tst r22
  418. 406 0016 01F0 breq .L99
  419. 407 0018 2881 ld r18,Y
  420. 408 001a 022E mov __tmp_reg__,r18
  421. 409 001c 000C lsl r0
  422. 410 001e 330B sbc r19,r19
  423. 411 0020 062E mov __tmp_reg__,r22
  424. 412 0022 000C lsl r0
  425. 413 0024 770B sbc r23,r23
  426. 414 0026 A701 movw r20,r14
  427. 415 0028 0E94 0000 call vis
  428. 416 002c 00C0 rjmp .L97
  429. 417 .L99:
  430. 418 002e FC01 movw r30,r24
  431. 419 0030 1082 st Z,__zero_reg__
  432. 420 0032 801B sub r24,r16
  433. 421 0034 910B sbc r25,r17
  434. 422 /* epilogue start */
  435. 423 0036 DF91 pop r29
  436. 424 0038 CF91 pop r28
  437. 425 003a 1F91 pop r17
  438. 426 003c 0F91 pop r16
  439. 427 003e FF90 pop r15
  440. 428 0040 EF90 pop r14
  441. 429 0042 0895 ret
  442. 430 .size strvis, .-strvis
  443. 431 .section .text.strnvis,"ax",@progbits
  444. 432 .global strnvis
  445. 433 .type strnvis, @function
  446. 434 strnvis:
  447. 435 0000 2F92 push r2
  448. 436 0002 3F92 push r3
  449. 437 0004 4F92 push r4
  450. 438 0006 5F92 push r5
  451. 439 0008 6F92 push r6
  452. 440 000a 7F92 push r7
  453. 441 000c 8F92 push r8
  454. 442 000e 9F92 push r9
  455. 443 0010 AF92 push r10
  456. 444 0012 BF92 push r11
  457. 445 0014 CF92 push r12
  458. 446 0016 DF92 push r13
  459. 447 0018 EF92 push r14
  460. 448 001a FF92 push r15
  461. 449 001c 0F93 push r16
  462. 450 001e 1F93 push r17
  463. 451 0020 CF93 push r28
  464. 452 0022 DF93 push r29
  465. GAS LISTING /tmp/cca0dJjL.s page 9
  466. 453 0024 CDB7 in r28,__SP_L__
  467. 454 0026 DEB7 in r29,__SP_H__
  468. 455 0028 6897 sbiw r28,24
  469. 456 002a 0FB6 in __tmp_reg__,__SREG__
  470. 457 002c F894 cli
  471. 458 002e DEBF out __SP_H__,r29
  472. 459 0030 0FBE out __SREG__,__tmp_reg__
  473. 460 0032 CDBF out __SP_L__,r28
  474. 461 /* prologue: function */
  475. 462 /* frame size = 24 */
  476. 463 /* stack size = 42 */
  477. 464 .L__stack_usage = 42
  478. 465 0034 2C01 movw r4,r24
  479. 466 0036 5B87 std Y+11,r21
  480. 467 0038 4A87 std Y+10,r20
  481. 468 003a 5901 movw r10,r18
  482. 469 003c CA01 movw r24,r20
  483. 470 003e 0197 sbiw r24,1
  484. 471 0040 1201 movw r2,r4
  485. 472 0042 280E add r2,r24
  486. 473 0044 391E adc r3,r25
  487. 474 0046 4B01 movw r8,r22
  488. 475 0048 7201 movw r14,r4
  489. 476 004a C12C mov r12,__zero_reg__
  490. 477 004c D12C mov r13,__zero_reg__
  491. 478 004e 2074 andi r18,64
  492. 479 0050 3327 clr r19
  493. 480 0052 3E87 std Y+14,r19
  494. 481 0054 2D87 std Y+13,r18
  495. 482 0056 C501 movw r24,r10
  496. 483 0058 8470 andi r24,4
  497. 484 005a 9927 clr r25
  498. 485 005c 988B std Y+16,r25
  499. 486 005e 8F87 std Y+15,r24
  500. 487 0060 F501 movw r30,r10
  501. 488 0062 E870 andi r30,8
  502. 489 0064 FF27 clr r31
  503. 490 0066 FA8B std Y+18,r31
  504. 491 0068 E98B std Y+17,r30
  505. 492 006a 9501 movw r18,r10
  506. 493 006c 2071 andi r18,16
  507. 494 006e 3327 clr r19
  508. 495 0070 3C8B std Y+20,r19
  509. 496 0072 2B8B std Y+19,r18
  510. 497 0074 C501 movw r24,r10
  511. 498 0076 8072 andi r24,32
  512. 499 0078 9927 clr r25
  513. 500 007a 9E8B std Y+22,r25
  514. 501 007c 8D8B std Y+21,r24
  515. 502 007e FE01 movw r30,r28
  516. 503 0080 3196 adiw r30,1
  517. 504 0082 FF83 std Y+7,r31
  518. 505 0084 EE83 std Y+6,r30
  519. 506 0086 9501 movw r18,r10
  520. 507 0088 2227 clr r18
  521. 508 008a 3170 andi r19,1
  522. 509 008c 388F std Y+24,r19
  523. GAS LISTING /tmp/cca0dJjL.s page 10
  524. 510 008e 2F8B std Y+23,r18
  525. 511 .L101:
  526. 512 0090 F401 movw r30,r8
  527. 513 0092 2191 ld r18,Z+
  528. 514 0094 F987 std Y+9,r31
  529. 515 0096 E887 std Y+8,r30
  530. 516 0098 2C87 std Y+12,r18
  531. 517 009a 022F mov r16,r18
  532. 518 009c 220F lsl r18
  533. 519 009e 110B sbc r17,r17
  534. 520 00a0 0115 cp r16,__zero_reg__
  535. 521 00a2 1105 cpc r17,__zero_reg__
  536. 522 00a4 01F4 brne .+2
  537. 523 00a6 00C0 rjmp .L111
  538. 524 00a8 E214 cp r14,r2
  539. 525 00aa F304 cpc r15,r3
  540. 526 00ac 00F0 brlo .+2
  541. 527 00ae 00C0 rjmp .L111
  542. 528 00b0 0F3F cpi r16,-1
  543. 529 00b2 1105 cpc r17,__zero_reg__
  544. 530 00b4 01F0 breq .+2
  545. 531 00b6 00F4 brsh .L102
  546. 532 00b8 07FD sbrc r16,7
  547. 533 00ba 00C0 rjmp .L102
  548. 534 00bc 0A32 cpi r16,42
  549. 535 00be 1105 cpc r17,__zero_reg__
  550. 536 00c0 01F0 breq .L103
  551. 537 00c2 0F33 cpi r16,63
  552. 538 00c4 1105 cpc r17,__zero_reg__
  553. 539 00c6 01F0 breq .L103
  554. 540 00c8 0B35 cpi r16,91
  555. 541 00ca 1105 cpc r17,__zero_reg__
  556. 542 00cc 01F0 breq .L103
  557. 543 00ce 0332 cpi r16,35
  558. 544 00d0 1105 cpc r17,__zero_reg__
  559. 545 00d2 01F4 brne .L104
  560. 546 .L103:
  561. 547 00d4 8F89 ldd r24,Y+23
  562. 548 00d6 988D ldd r25,Y+24
  563. 549 00d8 892B or r24,r25
  564. 550 00da 01F4 brne .L102
  565. 551 .L104:
  566. 552 00dc C801 movw r24,r16
  567. 553 00de 0E94 0000 call isgraph
  568. 554 00e2 892B or r24,r25
  569. 555 00e4 01F4 brne .L105
  570. 556 .L102:
  571. 557 00e6 EF85 ldd r30,Y+15
  572. 558 00e8 F889 ldd r31,Y+16
  573. 559 00ea EF2B or r30,r31
  574. 560 00ec 01F4 brne .L106
  575. 561 00ee 0032 cpi r16,32
  576. 562 00f0 1105 cpc r17,__zero_reg__
  577. 563 00f2 01F0 breq .L105
  578. 564 .L106:
  579. 565 00f4 2989 ldd r18,Y+17
  580. 566 00f6 3A89 ldd r19,Y+18
  581. GAS LISTING /tmp/cca0dJjL.s page 11
  582. 567 00f8 232B or r18,r19
  583. 568 00fa 01F4 brne .L107
  584. 569 00fc 0930 cpi r16,9
  585. 570 00fe 1105 cpc r17,__zero_reg__
  586. 571 0100 01F0 breq .L105
  587. 572 .L107:
  588. 573 0102 8B89 ldd r24,Y+19
  589. 574 0104 9C89 ldd r25,Y+20
  590. 575 0106 892B or r24,r25
  591. 576 0108 01F4 brne .L108
  592. 577 010a 0A30 cpi r16,10
  593. 578 010c 1105 cpc r17,__zero_reg__
  594. 579 010e 01F0 breq .L105
  595. 580 .L108:
  596. 581 0110 ED89 ldd r30,Y+21
  597. 582 0112 FE89 ldd r31,Y+22
  598. 583 0114 EF2B or r30,r31
  599. 584 0116 01F0 breq .L109
  600. 585 0118 C801 movw r24,r16
  601. 586 011a 0797 sbiw r24,7
  602. 587 011c 0297 sbiw r24,2
  603. 588 011e 00F0 brlo .L105
  604. 589 0120 0D30 cpi r16,13
  605. 590 0122 1105 cpc r17,__zero_reg__
  606. 591 0124 01F0 breq .L105
  607. 592 0126 C801 movw r24,r16
  608. 593 0128 9927 clr r25
  609. 594 012a 0E94 0000 call isgraph
  610. 595 012e 892B or r24,r25
  611. 596 0130 01F0 breq .L109
  612. 597 .L105:
  613. 598 0132 3701 movw r6,r14
  614. 599 0134 FFEF ldi r31,-1
  615. 600 0136 6F1A sub r6,r31
  616. 601 0138 7F0A sbc r7,r31
  617. 602 013a 2C85 ldd r18,Y+12
  618. 603 013c F701 movw r30,r14
  619. 604 013e 2083 st Z,r18
  620. 605 0140 0C35 cpi r16,92
  621. 606 0142 1105 cpc r17,__zero_reg__
  622. 607 0144 01F4 brne .L110
  623. 608 0146 8D85 ldd r24,Y+13
  624. 609 0148 9E85 ldd r25,Y+14
  625. 610 014a 892B or r24,r25
  626. 611 014c 01F4 brne .L110
  627. 612 014e 6214 cp r6,r2
  628. 613 0150 7304 cpc r7,r3
  629. 614 0152 00F4 brsh .L121
  630. 615 0154 3701 movw r6,r14
  631. 616 0156 92E0 ldi r25,2
  632. 617 0158 690E add r6,r25
  633. 618 015a 711C adc r7,__zero_reg__
  634. 619 015c 2CE5 ldi r18,lo8(92)
  635. 620 015e 2183 std Z+1,r18
  636. 621 .L110:
  637. 622 0160 CC24 clr r12
  638. 623 0162 C394 inc r12
  639. GAS LISTING /tmp/cca0dJjL.s page 12
  640. 624 0164 D12C mov r13,__zero_reg__
  641. 625 0166 00C0 rjmp .L112
  642. 626 .L109:
  643. 627 0168 E885 ldd r30,Y+8
  644. 628 016a F985 ldd r31,Y+9
  645. 629 016c 2081 ld r18,Z
  646. 630 016e 022E mov __tmp_reg__,r18
  647. 631 0170 000C lsl r0
  648. 632 0172 330B sbc r19,r19
  649. 633 0174 A501 movw r20,r10
  650. 634 0176 B801 movw r22,r16
  651. 635 0178 CE01 movw r24,r28
  652. 636 017a 0196 adiw r24,1
  653. 637 017c 0E94 0000 call vis
  654. 638 0180 6C01 movw r12,r24
  655. 639 0182 2E81 ldd r18,Y+6
  656. 640 0184 3F81 ldd r19,Y+7
  657. 641 0186 C21A sub r12,r18
  658. 642 0188 D30A sbc r13,r19
  659. 643 018a 3701 movw r6,r14
  660. 644 018c 6C0C add r6,r12
  661. 645 018e 7D1C adc r7,r13
  662. 646 0190 2614 cp r2,r6
  663. 647 0192 3704 cpc r3,r7
  664. 648 0194 00F4 brsh .+2
  665. 649 0196 00C0 rjmp .L113
  666. 650 0198 A601 movw r20,r12
  667. 651 019a BE01 movw r22,r28
  668. 652 019c 6F5F subi r22,-1
  669. 653 019e 7F4F sbci r23,-1
  670. 654 01a0 C701 movw r24,r14
  671. 655 01a2 0E94 0000 call memcpy
  672. 656 .L112:
  673. 657 01a6 8884 ldd r8,Y+8
  674. 658 01a8 9984 ldd r9,Y+9
  675. 659 01aa 7301 movw r14,r6
  676. 660 01ac 00C0 rjmp .L101
  677. 661 .L121:
  678. 662 01ae 82E0 ldi r24,lo8(2)
  679. 663 01b0 C82E mov r12,r24
  680. 664 01b2 D12C mov r13,__zero_reg__
  681. 665 .L111:
  682. 666 01b4 8A85 ldd r24,Y+10
  683. 667 01b6 9B85 ldd r25,Y+11
  684. 668 01b8 892B or r24,r25
  685. 669 01ba 01F0 breq .L115
  686. 670 .L119:
  687. 671 01bc F701 movw r30,r14
  688. 672 01be 1082 st Z,__zero_reg__
  689. 673 .L115:
  690. 674 01c0 CE0C add r12,r14
  691. 675 01c2 DF1C adc r13,r15
  692. 676 01c4 2C14 cp r2,r12
  693. 677 01c6 3D04 cpc r3,r13
  694. 678 01c8 00F4 brsh .L116
  695. 679 .L120:
  696. 680 01ca 8E01 movw r16,r28
  697. GAS LISTING /tmp/cca0dJjL.s page 13
  698. 681 01cc 0F5F subi r16,-1
  699. 682 01ce 1F4F sbci r17,-1
  700. 683 .L117:
  701. 684 01d0 F401 movw r30,r8
  702. 685 01d2 6191 ld r22,Z+
  703. 686 01d4 4F01 movw r8,r30
  704. 687 01d6 062E mov __tmp_reg__,r22
  705. 688 01d8 000C lsl r0
  706. 689 01da 770B sbc r23,r23
  707. 690 01dc 6115 cp r22,__zero_reg__
  708. 691 01de 7105 cpc r23,__zero_reg__
  709. 692 01e0 01F0 breq .L116
  710. 693 01e2 F401 movw r30,r8
  711. 694 01e4 2081 ld r18,Z
  712. 695 01e6 022E mov __tmp_reg__,r18
  713. 696 01e8 000C lsl r0
  714. 697 01ea 330B sbc r19,r19
  715. 698 01ec A501 movw r20,r10
  716. 699 01ee C801 movw r24,r16
  717. 700 01f0 0E94 0000 call vis
  718. 701 01f4 801B sub r24,r16
  719. 702 01f6 910B sbc r25,r17
  720. 703 01f8 E80E add r14,r24
  721. 704 01fa F91E adc r15,r25
  722. 705 01fc 00C0 rjmp .L117
  723. 706 .L116:
  724. 707 01fe C701 movw r24,r14
  725. 708 0200 8419 sub r24,r4
  726. 709 0202 9509 sbc r25,r5
  727. 710 /* epilogue start */
  728. 711 0204 6896 adiw r28,24
  729. 712 0206 0FB6 in __tmp_reg__,__SREG__
  730. 713 0208 F894 cli
  731. 714 020a DEBF out __SP_H__,r29
  732. 715 020c 0FBE out __SREG__,__tmp_reg__
  733. 716 020e CDBF out __SP_L__,r28
  734. 717 0210 DF91 pop r29
  735. 718 0212 CF91 pop r28
  736. 719 0214 1F91 pop r17
  737. 720 0216 0F91 pop r16
  738. 721 0218 FF90 pop r15
  739. 722 021a EF90 pop r14
  740. 723 021c DF90 pop r13
  741. 724 021e CF90 pop r12
  742. 725 0220 BF90 pop r11
  743. 726 0222 AF90 pop r10
  744. 727 0224 9F90 pop r9
  745. 728 0226 8F90 pop r8
  746. 729 0228 7F90 pop r7
  747. 730 022a 6F90 pop r6
  748. 731 022c 5F90 pop r5
  749. 732 022e 4F90 pop r4
  750. 733 0230 3F90 pop r3
  751. 734 0232 2F90 pop r2
  752. 735 0234 0895 ret
  753. 736 .L113:
  754. 737 0236 2A85 ldd r18,Y+10
  755. GAS LISTING /tmp/cca0dJjL.s page 14
  756. 738 0238 3B85 ldd r19,Y+11
  757. 739 023a 232B or r18,r19
  758. 740 023c 01F0 breq .L120
  759. 741 023e 00C0 rjmp .L119
  760. 742 .size strnvis, .-strnvis
  761. 743 .section .text.strvisx,"ax",@progbits
  762. 744 .global strvisx
  763. 745 .type strvisx, @function
  764. 746 strvisx:
  765. 747 0000 CF92 push r12
  766. 748 0002 DF92 push r13
  767. 749 0004 EF92 push r14
  768. 750 0006 FF92 push r15
  769. 751 0008 0F93 push r16
  770. 752 000a 1F93 push r17
  771. 753 000c CF93 push r28
  772. 754 000e DF93 push r29
  773. 755 /* prologue: function */
  774. 756 /* frame size = 0 */
  775. 757 /* stack size = 8 */
  776. 758 .L__stack_usage = 8
  777. 759 0010 7C01 movw r14,r24
  778. 760 0012 EB01 movw r28,r22
  779. 761 0014 8A01 movw r16,r20
  780. 762 0016 6901 movw r12,r18
  781. 763 .L157:
  782. 764 0018 0230 cpi r16,2
  783. 765 001a 1105 cpc r17,__zero_reg__
  784. 766 001c 00F0 brlo .L163
  785. 767 001e 6991 ld r22,Y+
  786. 768 0020 2881 ld r18,Y
  787. 769 0022 022E mov __tmp_reg__,r18
  788. 770 0024 000C lsl r0
  789. 771 0026 330B sbc r19,r19
  790. 772 0028 062E mov __tmp_reg__,r22
  791. 773 002a 000C lsl r0
  792. 774 002c 770B sbc r23,r23
  793. 775 002e A601 movw r20,r12
  794. 776 0030 0E94 0000 call vis
  795. 777 0034 0150 subi r16,1
  796. 778 0036 1109 sbc r17,__zero_reg__
  797. 779 0038 00C0 rjmp .L157
  798. 780 .L163:
  799. 781 003a 012B or r16,r17
  800. 782 003c 01F0 breq .L159
  801. 783 003e 6881 ld r22,Y
  802. 784 0040 062E mov __tmp_reg__,r22
  803. 785 0042 000C lsl r0
  804. 786 0044 770B sbc r23,r23
  805. 787 0046 20E0 ldi r18,0
  806. 788 0048 30E0 ldi r19,0
  807. 789 004a A601 movw r20,r12
  808. 790 004c 0E94 0000 call vis
  809. 791 .L159:
  810. 792 0050 FC01 movw r30,r24
  811. 793 0052 1082 st Z,__zero_reg__
  812. 794 0054 8E19 sub r24,r14
  813. GAS LISTING /tmp/cca0dJjL.s page 15
  814. 795 0056 9F09 sbc r25,r15
  815. 796 /* epilogue start */
  816. 797 0058 DF91 pop r29
  817. 798 005a CF91 pop r28
  818. 799 005c 1F91 pop r17
  819. 800 005e 0F91 pop r16
  820. 801 0060 FF90 pop r15
  821. 802 0062 EF90 pop r14
  822. 803 0064 DF90 pop r13
  823. 804 0066 CF90 pop r12
  824. 805 0068 0895 ret
  825. 806 .size strvisx, .-strvisx
  826. 807 .ident "GCC: (GNU) 5.3.0"
  827. 808 .global __do_copy_data
  828. GAS LISTING /tmp/cca0dJjL.s page 16
  829. DEFINED SYMBOLS
  830. *ABS*:0000000000000000 vis.c
  831. /tmp/cca0dJjL.s:2 *ABS*:000000000000003e __SP_H__
  832. /tmp/cca0dJjL.s:3 *ABS*:000000000000003d __SP_L__
  833. /tmp/cca0dJjL.s:4 *ABS*:000000000000003f __SREG__
  834. /tmp/cca0dJjL.s:5 *ABS*:000000000000003b __RAMPZ__
  835. /tmp/cca0dJjL.s:6 *ABS*:0000000000000000 __tmp_reg__
  836. /tmp/cca0dJjL.s:7 *ABS*:0000000000000001 __zero_reg__
  837. /tmp/cca0dJjL.s:14 .text.vis:0000000000000000 vis
  838. /tmp/cca0dJjL.s:389 .text.strvis:0000000000000000 strvis
  839. /tmp/cca0dJjL.s:434 .text.strnvis:0000000000000000 strnvis
  840. /tmp/cca0dJjL.s:746 .text.strvisx:0000000000000000 strvisx
  841. UNDEFINED SYMBOLS
  842. isalnum
  843. isgraph
  844. iscntrl
  845. memcpy
  846. __do_copy_data