vasprintf.lst 4.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120
  1. GAS LISTING /tmp/cctfXryt.s page 1
  2. 1 .file "vasprintf.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._nputb_P,"ax",@progbits
  10. 9 .type _nputb_P, @function
  11. 10 _nputb_P:
  12. 11 /* prologue: function */
  13. 12 /* frame size = 0 */
  14. 13 /* stack size = 0 */
  15. 14 .L__stack_usage = 0
  16. 15 0000 CA01 movw r24,r20
  17. 16 0002 0895 ret
  18. 17 .size _nputb_P, .-_nputb_P
  19. 18 .section .text._nputb,"ax",@progbits
  20. 19 .type _nputb, @function
  21. 20 _nputb:
  22. 21 /* prologue: function */
  23. 22 /* frame size = 0 */
  24. 23 /* stack size = 0 */
  25. 24 .L__stack_usage = 0
  26. 25 0000 CA01 movw r24,r20
  27. 26 0002 0895 ret
  28. 27 .size _nputb, .-_nputb
  29. 28 .section .text.vasprintf,"ax",@progbits
  30. 29 .global vasprintf
  31. 30 .type vasprintf, @function
  32. 31 vasprintf:
  33. 32 0000 AF92 push r10
  34. 33 0002 BF92 push r11
  35. 34 0004 CF92 push r12
  36. 35 0006 DF92 push r13
  37. 36 0008 EF92 push r14
  38. 37 000a FF92 push r15
  39. 38 000c 0F93 push r16
  40. 39 000e 1F93 push r17
  41. 40 0010 CF93 push r28
  42. 41 0012 DF93 push r29
  43. 42 /* prologue: function */
  44. 43 /* frame size = 0 */
  45. 44 /* stack size = 10 */
  46. 45 .L__stack_usage = 10
  47. 46 0014 7C01 movw r14,r24
  48. 47 0016 6B01 movw r12,r22
  49. 48 0018 5A01 movw r10,r20
  50. 49 001a 8A01 movw r16,r20
  51. 50 001c 9B01 movw r18,r22
  52. 51 001e 40E0 ldi r20,0
  53. 52 0020 50E0 ldi r21,0
  54. 53 0022 60E0 ldi r22,lo8(gs(_nputb_P))
  55. 54 0024 70E0 ldi r23,hi8(gs(_nputb_P))
  56. 55 0026 80E0 ldi r24,lo8(gs(_nputb))
  57. 56 0028 90E0 ldi r25,hi8(gs(_nputb))
  58. 57 002a 0E94 0000 call _putf
  59. GAS LISTING /tmp/cctfXryt.s page 2
  60. 58 002e EC01 movw r28,r24
  61. 59 0030 97FD sbrc r25,7
  62. 60 0032 00C0 rjmp .L4
  63. 61 0034 0196 adiw r24,1
  64. 62 0036 0E94 0000 call malloc
  65. 63 003a F701 movw r30,r14
  66. 64 003c 9183 std Z+1,r25
  67. 65 003e 8083 st Z,r24
  68. 66 0040 0097 sbiw r24,0
  69. 67 0042 01F0 breq .L6
  70. 68 0044 A501 movw r20,r10
  71. 69 0046 B601 movw r22,r12
  72. 70 0048 0E94 0000 call vsprintf
  73. 71 004c 00C0 rjmp .L5
  74. 72 .L4:
  75. 73 004e F701 movw r30,r14
  76. 74 0050 1182 std Z+1,__zero_reg__
  77. 75 0052 1082 st Z,__zero_reg__
  78. 76 0054 00C0 rjmp .L5
  79. 77 .L6:
  80. 78 0056 CFEF ldi r28,lo8(-1)
  81. 79 0058 DFEF ldi r29,lo8(-1)
  82. 80 .L5:
  83. 81 005a CE01 movw r24,r28
  84. 82 /* epilogue start */
  85. 83 005c DF91 pop r29
  86. 84 005e CF91 pop r28
  87. 85 0060 1F91 pop r17
  88. 86 0062 0F91 pop r16
  89. 87 0064 FF90 pop r15
  90. 88 0066 EF90 pop r14
  91. 89 0068 DF90 pop r13
  92. 90 006a CF90 pop r12
  93. 91 006c BF90 pop r11
  94. 92 006e AF90 pop r10
  95. 93 0070 0895 ret
  96. 94 .size vasprintf, .-vasprintf
  97. 95 .ident "GCC: (GNU) 5.3.0"
  98. GAS LISTING /tmp/cctfXryt.s page 3
  99. DEFINED SYMBOLS
  100. *ABS*:0000000000000000 vasprintf.c
  101. /tmp/cctfXryt.s:2 *ABS*:000000000000003e __SP_H__
  102. /tmp/cctfXryt.s:3 *ABS*:000000000000003d __SP_L__
  103. /tmp/cctfXryt.s:4 *ABS*:000000000000003f __SREG__
  104. /tmp/cctfXryt.s:5 *ABS*:000000000000003b __RAMPZ__
  105. /tmp/cctfXryt.s:6 *ABS*:0000000000000000 __tmp_reg__
  106. /tmp/cctfXryt.s:7 *ABS*:0000000000000001 __zero_reg__
  107. /tmp/cctfXryt.s:10 .text._nputb_P:0000000000000000 _nputb_P
  108. /tmp/cctfXryt.s:20 .text._nputb:0000000000000000 _nputb
  109. /tmp/cctfXryt.s:31 .text.vasprintf:0000000000000000 vasprintf
  110. UNDEFINED SYMBOLS
  111. _putf
  112. malloc
  113. vsprintf