strdup.lst 2.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768
  1. GAS LISTING /tmp/cccomLFy.s page 1
  2. 1 .file "strdup.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.strdup,"ax",@progbits
  10. 9 .global strdup
  11. 10 .type strdup, @function
  12. 11 strdup:
  13. 12 0000 EF92 push r14
  14. 13 0002 FF92 push r15
  15. 14 0004 0F93 push r16
  16. 15 0006 1F93 push r17
  17. 16 0008 CF93 push r28
  18. 17 000a DF93 push r29
  19. 18 /* prologue: function */
  20. 19 /* frame size = 0 */
  21. 20 /* stack size = 6 */
  22. 21 .L__stack_usage = 6
  23. 22 000c 7C01 movw r14,r24
  24. 23 000e EC01 movw r28,r24
  25. 24 0:
  26. 25 0010 0990 ld __tmp_reg__,Y+
  27. 26 0012 0020 tst __tmp_reg__
  28. 27 0014 01F4 brne 0b
  29. 28 0016 C81B sub r28,r24
  30. 29 0018 D90B sbc r29,r25
  31. 30 001a CE01 movw r24,r28
  32. 31 001c 0E94 0000 call malloc
  33. 32 0020 8C01 movw r16,r24
  34. 33 0022 0097 sbiw r24,0
  35. 34 0024 01F0 breq .L2
  36. 35 0026 AE01 movw r20,r28
  37. 36 0028 B701 movw r22,r14
  38. 37 002a 0E94 0000 call memcpy
  39. 38 .L2:
  40. 39 002e C801 movw r24,r16
  41. 40 /* epilogue start */
  42. 41 0030 DF91 pop r29
  43. 42 0032 CF91 pop r28
  44. 43 0034 1F91 pop r17
  45. 44 0036 0F91 pop r16
  46. 45 0038 FF90 pop r15
  47. 46 003a EF90 pop r14
  48. 47 003c 0895 ret
  49. 48 .size strdup, .-strdup
  50. 49 .ident "GCC: (GNU) 5.3.0"
  51. GAS LISTING /tmp/cccomLFy.s page 2
  52. DEFINED SYMBOLS
  53. *ABS*:0000000000000000 strdup.c
  54. /tmp/cccomLFy.s:2 *ABS*:000000000000003e __SP_H__
  55. /tmp/cccomLFy.s:3 *ABS*:000000000000003d __SP_L__
  56. /tmp/cccomLFy.s:4 *ABS*:000000000000003f __SREG__
  57. /tmp/cccomLFy.s:5 *ABS*:000000000000003b __RAMPZ__
  58. /tmp/cccomLFy.s:6 *ABS*:0000000000000000 __tmp_reg__
  59. /tmp/cccomLFy.s:7 *ABS*:0000000000000001 __zero_reg__
  60. /tmp/cccomLFy.s:11 .text.strdup:0000000000000000 strdup
  61. UNDEFINED SYMBOLS
  62. malloc
  63. memcpy