putenv.lst 2.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475
  1. GAS LISTING /tmp/ccPps6GH.s page 1
  2. 1 .file "putenv.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.putenv,"ax",@progbits
  10. 9 .global putenv
  11. 10 .type putenv, @function
  12. 11 putenv:
  13. 12 0000 0F93 push r16
  14. 13 0002 1F93 push r17
  15. 14 0004 CF93 push r28
  16. 15 0006 DF93 push r29
  17. 16 /* prologue: function */
  18. 17 /* frame size = 0 */
  19. 18 /* stack size = 4 */
  20. 19 .L__stack_usage = 4
  21. 20 0008 0E94 0000 call strdup
  22. 21 000c EC01 movw r28,r24
  23. 22 000e 0097 sbiw r24,0
  24. 23 0010 01F0 breq .L4
  25. 24 0012 6DE3 ldi r22,lo8(61)
  26. 25 0014 70E0 ldi r23,0
  27. 26 0016 0E94 0000 call strchr
  28. 27 001a 0097 sbiw r24,0
  29. 28 001c 01F0 breq .L3
  30. 29 001e FC01 movw r30,r24
  31. 30 0020 1082 st Z,__zero_reg__
  32. 31 0022 0196 adiw r24,1
  33. 32 .L3:
  34. 33 0024 41E0 ldi r20,lo8(1)
  35. 34 0026 50E0 ldi r21,0
  36. 35 0028 BC01 movw r22,r24
  37. 36 002a CE01 movw r24,r28
  38. 37 002c 0E94 0000 call setenv
  39. 38 0030 8C01 movw r16,r24
  40. 39 0032 CE01 movw r24,r28
  41. 40 0034 0E94 0000 call free
  42. 41 0038 00C0 rjmp .L2
  43. 42 .L4:
  44. 43 003a 0FEF ldi r16,lo8(-1)
  45. 44 003c 1FEF ldi r17,lo8(-1)
  46. 45 .L2:
  47. 46 003e C801 movw r24,r16
  48. 47 /* epilogue start */
  49. 48 0040 DF91 pop r29
  50. 49 0042 CF91 pop r28
  51. 50 0044 1F91 pop r17
  52. 51 0046 0F91 pop r16
  53. 52 0048 0895 ret
  54. 53 .size putenv, .-putenv
  55. 54 .ident "GCC: (GNU) 5.3.0"
  56. GAS LISTING /tmp/ccPps6GH.s page 2
  57. DEFINED SYMBOLS
  58. *ABS*:0000000000000000 putenv.c
  59. /tmp/ccPps6GH.s:2 *ABS*:000000000000003e __SP_H__
  60. /tmp/ccPps6GH.s:3 *ABS*:000000000000003d __SP_L__
  61. /tmp/ccPps6GH.s:4 *ABS*:000000000000003f __SREG__
  62. /tmp/ccPps6GH.s:5 *ABS*:000000000000003b __RAMPZ__
  63. /tmp/ccPps6GH.s:6 *ABS*:0000000000000000 __tmp_reg__
  64. /tmp/ccPps6GH.s:7 *ABS*:0000000000000001 __zero_reg__
  65. /tmp/ccPps6GH.s:11 .text.putenv:0000000000000000 putenv
  66. UNDEFINED SYMBOLS
  67. strdup
  68. strchr
  69. setenv
  70. free