spibus.lst 7.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199
  1. GAS LISTING /tmp/cc1ylUWc.s page 1
  2. 1 .file "spibus.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.NutRegisterSpiDevice,"ax",@progbits
  10. 9 .global NutRegisterSpiDevice
  11. 10 .type NutRegisterSpiDevice, @function
  12. 11 NutRegisterSpiDevice:
  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 8C01 movw r16,r24
  22. 21 000a EB01 movw r28,r22
  23. 22 000c FC01 movw r30,r24
  24. 23 000e 8785 ldd r24,Z+15
  25. 24 0010 9089 ldd r25,Z+16
  26. 25 0012 FC01 movw r30,r24
  27. 26 0014 7183 std Z+1,r23
  28. 27 0016 6083 st Z,r22
  29. 28 0018 4387 std Z+11,r20
  30. 29 001a E885 ldd r30,Y+8
  31. 30 001c F985 ldd r31,Y+9
  32. 31 001e 1995 eicall
  33. 32 0020 0097 sbiw r24,0
  34. 33 0022 01F4 brne .L2
  35. 34 0024 CE01 movw r24,r28
  36. 35 0026 0E94 0000 call NutEventPost
  37. 36 002a 40E0 ldi r20,0
  38. 37 002c 60E0 ldi r22,0
  39. 38 002e 70E0 ldi r23,0
  40. 39 0030 C801 movw r24,r16
  41. 40 /* epilogue start */
  42. 41 0032 DF91 pop r29
  43. 42 0034 CF91 pop r28
  44. 43 0036 1F91 pop r17
  45. 44 0038 0F91 pop r16
  46. 45 003a 0C94 0000 jmp NutRegisterDevice
  47. 46 .L2:
  48. 47 /* epilogue start */
  49. 48 003e DF91 pop r29
  50. 49 0040 CF91 pop r28
  51. 50 0042 1F91 pop r17
  52. 51 0044 0F91 pop r16
  53. 52 0046 0895 ret
  54. 53 .size NutRegisterSpiDevice, .-NutRegisterSpiDevice
  55. 54 .section .text.NutSpiBusWait,"ax",@progbits
  56. 55 .global NutSpiBusWait
  57. 56 .type NutSpiBusWait, @function
  58. 57 NutSpiBusWait:
  59. GAS LISTING /tmp/cc1ylUWc.s page 2
  60. 58 /* prologue: function */
  61. 59 /* frame size = 0 */
  62. 60 /* stack size = 0 */
  63. 61 .L__stack_usage = 0
  64. 62 0000 80E0 ldi r24,0
  65. 63 0002 90E0 ldi r25,0
  66. 64 0004 0895 ret
  67. 65 .size NutSpiBusWait, .-NutSpiBusWait
  68. 66 .section .text.NutSpiBusSetMode,"ax",@progbits
  69. 67 .global NutSpiBusSetMode
  70. 68 .type NutSpiBusSetMode, @function
  71. 69 NutSpiBusSetMode:
  72. 70 /* prologue: function */
  73. 71 /* frame size = 0 */
  74. 72 /* stack size = 0 */
  75. 73 .L__stack_usage = 0
  76. 74 0000 FC01 movw r30,r24
  77. 75 0002 8085 ldd r24,Z+8
  78. 76 0004 9185 ldd r25,Z+9
  79. 77 0006 6F3F cpi r22,-1
  80. 78 0008 2FEF ldi r18,-1
  81. 79 000a 7207 cpc r23,r18
  82. 80 000c 01F0 breq .L6
  83. 81 000e 7068 ori r23,128
  84. 82 0010 7187 std Z+9,r23
  85. 83 0012 6087 std Z+8,r22
  86. 84 .L6:
  87. 85 0014 0895 ret
  88. 86 .size NutSpiBusSetMode, .-NutSpiBusSetMode
  89. 87 .section .text.NutSpiBusSetRate,"ax",@progbits
  90. 88 .global NutSpiBusSetRate
  91. 89 .type NutSpiBusSetRate, @function
  92. 90 NutSpiBusSetRate:
  93. 91 0000 0F93 push r16
  94. 92 0002 1F93 push r17
  95. 93 /* prologue: function */
  96. 94 /* frame size = 0 */
  97. 95 /* stack size = 2 */
  98. 96 .L__stack_usage = 2
  99. 97 0004 FC01 movw r30,r24
  100. 98 0006 0481 ldd r16,Z+4
  101. 99 0008 1581 ldd r17,Z+5
  102. 100 000a 2681 ldd r18,Z+6
  103. 101 000c 3781 ldd r19,Z+7
  104. 102 000e 4F3F cpi r20,-1
  105. 103 0010 8FEF ldi r24,-1
  106. 104 0012 5807 cpc r21,r24
  107. 105 0014 6807 cpc r22,r24
  108. 106 0016 7807 cpc r23,r24
  109. 107 0018 01F0 breq .L11
  110. 108 001a 4483 std Z+4,r20
  111. 109 001c 5583 std Z+5,r21
  112. 110 001e 6683 std Z+6,r22
  113. 111 0020 7783 std Z+7,r23
  114. 112 0022 8085 ldd r24,Z+8
  115. 113 0024 9185 ldd r25,Z+9
  116. 114 0026 9068 ori r25,128
  117. GAS LISTING /tmp/cc1ylUWc.s page 3
  118. 115 0028 9187 std Z+9,r25
  119. 116 002a 8087 std Z+8,r24
  120. 117 .L11:
  121. 118 002c C901 movw r24,r18
  122. 119 002e B801 movw r22,r16
  123. 120 /* epilogue start */
  124. 121 0030 1F91 pop r17
  125. 122 0032 0F91 pop r16
  126. 123 0034 0895 ret
  127. 124 .size NutSpiBusSetRate, .-NutSpiBusSetRate
  128. 125 .section .text.NutSpiBusHalfDuplex,"ax",@progbits
  129. 126 .global NutSpiBusHalfDuplex
  130. 127 .type NutSpiBusHalfDuplex, @function
  131. 128 NutSpiBusHalfDuplex:
  132. 129 /* prologue: function */
  133. 130 /* frame size = 0 */
  134. 131 /* stack size = 0 */
  135. 132 .L__stack_usage = 0
  136. 133 0000 FC01 movw r30,r24
  137. 134 0002 2085 ldd r18,Z+8
  138. 135 0004 3185 ldd r19,Z+9
  139. 136 0006 6623 tst r22
  140. 137 0008 01F0 breq .L16
  141. 138 000a 3260 ori r19,2
  142. 139 000c 00C0 rjmp .L18
  143. 140 .L16:
  144. 141 000e 3D7F andi r19,253
  145. 142 .L18:
  146. 143 0010 3187 std Z+9,r19
  147. 144 0012 2087 std Z+8,r18
  148. 145 0014 80E0 ldi r24,0
  149. 146 0016 0895 ret
  150. 147 .size NutSpiBusHalfDuplex, .-NutSpiBusHalfDuplex
  151. 148 .section .text.NutSpiBusSetBits,"ax",@progbits
  152. 149 .global NutSpiBusSetBits
  153. 150 .type NutSpiBusSetBits, @function
  154. 151 NutSpiBusSetBits:
  155. 152 /* prologue: function */
  156. 153 /* frame size = 0 */
  157. 154 /* stack size = 0 */
  158. 155 .L__stack_usage = 0
  159. 156 0000 FC01 movw r30,r24
  160. 157 0002 8285 ldd r24,Z+10
  161. 158 0004 6F3F cpi r22,lo8(-1)
  162. 159 0006 01F0 breq .L20
  163. 160 0008 6287 std Z+10,r22
  164. 161 000a 2085 ldd r18,Z+8
  165. 162 000c 3185 ldd r19,Z+9
  166. 163 000e 3068 ori r19,128
  167. 164 0010 3187 std Z+9,r19
  168. 165 0012 2087 std Z+8,r18
  169. 166 .L20:
  170. 167 0014 0895 ret
  171. 168 .size NutSpiBusSetBits, .-NutSpiBusSetBits
  172. 169 .ident "GCC: (GNU) 5.3.0"
  173. GAS LISTING /tmp/cc1ylUWc.s page 4
  174. DEFINED SYMBOLS
  175. *ABS*:0000000000000000 spibus.c
  176. /tmp/cc1ylUWc.s:2 *ABS*:000000000000003e __SP_H__
  177. /tmp/cc1ylUWc.s:3 *ABS*:000000000000003d __SP_L__
  178. /tmp/cc1ylUWc.s:4 *ABS*:000000000000003f __SREG__
  179. /tmp/cc1ylUWc.s:5 *ABS*:000000000000003b __RAMPZ__
  180. /tmp/cc1ylUWc.s:6 *ABS*:0000000000000000 __tmp_reg__
  181. /tmp/cc1ylUWc.s:7 *ABS*:0000000000000001 __zero_reg__
  182. /tmp/cc1ylUWc.s:11 .text.NutRegisterSpiDevice:0000000000000000 NutRegisterSpiDevice
  183. /tmp/cc1ylUWc.s:57 .text.NutSpiBusWait:0000000000000000 NutSpiBusWait
  184. /tmp/cc1ylUWc.s:69 .text.NutSpiBusSetMode:0000000000000000 NutSpiBusSetMode
  185. /tmp/cc1ylUWc.s:90 .text.NutSpiBusSetRate:0000000000000000 NutSpiBusSetRate
  186. /tmp/cc1ylUWc.s:128 .text.NutSpiBusHalfDuplex:0000000000000000 NutSpiBusHalfDuplex
  187. /tmp/cc1ylUWc.s:151 .text.NutSpiBusSetBits:0000000000000000 NutSpiBusSetBits
  188. UNDEFINED SYMBOLS
  189. NutEventPost
  190. NutRegisterDevice