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