circbuff.lst 3.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110
  1. GAS LISTING /tmp/cceXH4x6.s page 1
  2. 1 .file "circbuff.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.CircBuffReset,"ax",@progbits
  10. 9 .global CircBuffReset
  11. 10 .type CircBuffReset, @function
  12. 11 CircBuffReset:
  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 EC01 movw r28,r24
  24. 23 000e 1D82 std Y+5,__zero_reg__
  25. 24 0010 1C82 std Y+4,__zero_reg__
  26. 25 0012 1F82 std Y+7,__zero_reg__
  27. 26 0014 1E82 std Y+6,__zero_reg__
  28. 27 0016 7B01 movw r14,r22
  29. 28 0018 6115 cp r22,__zero_reg__
  30. 29 001a 7044 sbci r23,64
  31. 30 001c 00F0 brlo .L2
  32. 31 001e EE24 clr r14
  33. 32 0020 EA94 dec r14
  34. 33 0022 9FE3 ldi r25,lo8(63)
  35. 34 0024 F92E mov r15,r25
  36. 35 .L2:
  37. 36 0026 8A81 ldd r24,Y+2
  38. 37 0028 9B81 ldd r25,Y+3
  39. 38 002a E816 cp r14,r24
  40. 39 002c F906 cpc r15,r25
  41. 40 002e 01F0 breq .L12
  42. 41 0030 8881 ld r24,Y
  43. 42 0032 9981 ldd r25,Y+1
  44. 43 0034 0E94 0000 call free
  45. 44 0038 1982 std Y+1,__zero_reg__
  46. 45 003a 1882 st Y,__zero_reg__
  47. 46 003c 1B82 std Y+3,__zero_reg__
  48. 47 003e 1A82 std Y+2,__zero_reg__
  49. 48 0040 E114 cp r14,__zero_reg__
  50. 49 0042 F104 cpc r15,__zero_reg__
  51. 50 0044 01F0 breq .L12
  52. 51 0046 0FE1 ldi r16,lo8(31)
  53. 52 0048 10E0 ldi r17,0
  54. 53 .L6:
  55. 54 004a 0E15 cp r16,r14
  56. 55 004c 1F05 cpc r17,r15
  57. 56 004e 00F4 brsh .L14
  58. 57 0050 000F lsl r16
  59. GAS LISTING /tmp/cceXH4x6.s page 2
  60. 58 0052 111F rol r17
  61. 59 0054 0160 ori r16,1
  62. 60 0056 00C0 rjmp .L6
  63. 61 .L14:
  64. 62 0058 C801 movw r24,r16
  65. 63 005a 0196 adiw r24,1
  66. 64 005c 0E94 0000 call malloc
  67. 65 0060 9983 std Y+1,r25
  68. 66 0062 8883 st Y,r24
  69. 67 0064 892B or r24,r25
  70. 68 0066 01F0 breq .L8
  71. 69 0068 1B83 std Y+3,r17
  72. 70 006a 0A83 std Y+2,r16
  73. 71 .L12:
  74. 72 006c 80E0 ldi r24,0
  75. 73 006e 90E0 ldi r25,0
  76. 74 0070 00C0 rjmp .L4
  77. 75 .L8:
  78. 76 0072 8FEF ldi r24,lo8(-1)
  79. 77 0074 9FEF ldi r25,lo8(-1)
  80. 78 .L4:
  81. 79 /* epilogue start */
  82. 80 0076 DF91 pop r29
  83. 81 0078 CF91 pop r28
  84. 82 007a 1F91 pop r17
  85. 83 007c 0F91 pop r16
  86. 84 007e FF90 pop r15
  87. 85 0080 EF90 pop r14
  88. 86 0082 0895 ret
  89. 87 .size CircBuffReset, .-CircBuffReset
  90. 88 .ident "GCC: (GNU) 5.3.0"
  91. GAS LISTING /tmp/cceXH4x6.s page 3
  92. DEFINED SYMBOLS
  93. *ABS*:0000000000000000 circbuff.c
  94. /tmp/cceXH4x6.s:2 *ABS*:000000000000003e __SP_H__
  95. /tmp/cceXH4x6.s:3 *ABS*:000000000000003d __SP_L__
  96. /tmp/cceXH4x6.s:4 *ABS*:000000000000003f __SREG__
  97. /tmp/cceXH4x6.s:5 *ABS*:000000000000003b __RAMPZ__
  98. /tmp/cceXH4x6.s:6 *ABS*:0000000000000000 __tmp_reg__
  99. /tmp/cceXH4x6.s:7 *ABS*:0000000000000001 __zero_reg__
  100. /tmp/cceXH4x6.s:11 .text.CircBuffReset:0000000000000000 CircBuffReset
  101. UNDEFINED SYMBOLS
  102. free
  103. malloc