Problem with.... something? Working with assembly...

IMO you scratch r18 in TM1637_DELAY_US whereas you are using this register in TM1637_write_segments_arguments_r16_r17_r18_r19_uses_r24. Use r0 instead in TM1637_DELAY_US should fix the issue.