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