vsprintf.lst 3.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104
  1. GAS LISTING /tmp/cco2dduw.s page 1
  2. 1 .file "vsprintf.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._sputb,"ax",@progbits
  10. 9 .type _sputb, @function
  11. 10 _sputb:
  12. 11 0000 0F93 push r16
  13. 12 0002 1F93 push r17
  14. 13 0004 CF93 push r28
  15. 14 0006 DF93 push r29
  16. 15 /* prologue: function */
  17. 16 /* frame size = 0 */
  18. 17 /* stack size = 4 */
  19. 18 .L__stack_usage = 4
  20. 19 0008 8C01 movw r16,r24
  21. 20 000a EA01 movw r28,r20
  22. 21 000c FC01 movw r30,r24
  23. 22 000e 8081 ld r24,Z
  24. 23 0010 9181 ldd r25,Z+1
  25. 24 0012 0E94 0000 call memcpy
  26. 25 0016 F801 movw r30,r16
  27. 26 0018 8081 ld r24,Z
  28. 27 001a 9181 ldd r25,Z+1
  29. 28 001c 8C0F add r24,r28
  30. 29 001e 9D1F adc r25,r29
  31. 30 0020 9183 std Z+1,r25
  32. 31 0022 8083 st Z,r24
  33. 32 0024 CE01 movw r24,r28
  34. 33 /* epilogue start */
  35. 34 0026 DF91 pop r29
  36. 35 0028 CF91 pop r28
  37. 36 002a 1F91 pop r17
  38. 37 002c 0F91 pop r16
  39. 38 002e 0895 ret
  40. 39 .size _sputb, .-_sputb
  41. 40 .section .text.vsprintf,"ax",@progbits
  42. 41 .global vsprintf
  43. 42 .type vsprintf, @function
  44. 43 vsprintf:
  45. 44 0000 0F93 push r16
  46. 45 0002 1F93 push r17
  47. 46 0004 CF93 push r28
  48. 47 0006 DF93 push r29
  49. 48 0008 1F92 push __zero_reg__
  50. 49 000a 1F92 push __zero_reg__
  51. 50 000c CDB7 in r28,__SP_L__
  52. 51 000e DEB7 in r29,__SP_H__
  53. 52 /* prologue: function */
  54. 53 /* frame size = 2 */
  55. 54 /* stack size = 6 */
  56. 55 .L__stack_usage = 6
  57. 56 0010 9A83 std Y+2,r25
  58. 57 0012 8983 std Y+1,r24
  59. GAS LISTING /tmp/cco2dduw.s page 2
  60. 58 0014 9B01 movw r18,r22
  61. 59 0016 8A01 movw r16,r20
  62. 60 0018 AE01 movw r20,r28
  63. 61 001a 4F5F subi r20,-1
  64. 62 001c 5F4F sbci r21,-1
  65. 63 001e 60E0 ldi r22,lo8(gs(_sputb_P))
  66. 64 0020 70E0 ldi r23,hi8(gs(_sputb_P))
  67. 65 0022 80E0 ldi r24,lo8(gs(_sputb))
  68. 66 0024 90E0 ldi r25,hi8(gs(_sputb))
  69. 67 0026 0E94 0000 call _putf
  70. 68 002a E981 ldd r30,Y+1
  71. 69 002c FA81 ldd r31,Y+2
  72. 70 002e 1082 st Z,__zero_reg__
  73. 71 /* epilogue start */
  74. 72 0030 0F90 pop __tmp_reg__
  75. 73 0032 0F90 pop __tmp_reg__
  76. 74 0034 DF91 pop r29
  77. 75 0036 CF91 pop r28
  78. 76 0038 1F91 pop r17
  79. 77 003a 0F91 pop r16
  80. 78 003c 0895 ret
  81. 79 .size vsprintf, .-vsprintf
  82. 80 .ident "GCC: (GNU) 5.3.0"
  83. GAS LISTING /tmp/cco2dduw.s page 3
  84. DEFINED SYMBOLS
  85. *ABS*:0000000000000000 vsprintf.c
  86. /tmp/cco2dduw.s:2 *ABS*:000000000000003e __SP_H__
  87. /tmp/cco2dduw.s:3 *ABS*:000000000000003d __SP_L__
  88. /tmp/cco2dduw.s:4 *ABS*:000000000000003f __SREG__
  89. /tmp/cco2dduw.s:5 *ABS*:000000000000003b __RAMPZ__
  90. /tmp/cco2dduw.s:6 *ABS*:0000000000000000 __tmp_reg__
  91. /tmp/cco2dduw.s:7 *ABS*:0000000000000001 __zero_reg__
  92. /tmp/cco2dduw.s:10 .text._sputb:0000000000000000 _sputb
  93. /tmp/cco2dduw.s:43 .text.vsprintf:0000000000000000 vsprintf
  94. UNDEFINED SYMBOLS
  95. memcpy
  96. _sputb_P
  97. _putf