spibus0gpio.lst 7.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191
  1. GAS LISTING /tmp/ccQWLeTo.s page 1
  2. 1 .file "spibus0gpio.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.GpioSpiBus0Transfer,"ax",@progbits
  10. 9 .global GpioSpiBus0Transfer
  11. 10 .type GpioSpiBus0Transfer, @function
  12. 11 GpioSpiBus0Transfer:
  13. 12 /* prologue: function */
  14. 13 /* frame size = 0 */
  15. 14 /* stack size = 0 */
  16. 15 .L__stack_usage = 0
  17. 16 0000 80E0 ldi r24,0
  18. 17 0002 90E0 ldi r25,0
  19. 18 0004 0895 ret
  20. 19 .size GpioSpiBus0Transfer, .-GpioSpiBus0Transfer
  21. 20 .section .text.GpioSpiBus0Select,"ax",@progbits
  22. 21 .global GpioSpiBus0Select
  23. 22 .type GpioSpiBus0Select, @function
  24. 23 GpioSpiBus0Select:
  25. 24 0000 0F93 push r16
  26. 25 0002 1F93 push r17
  27. 26 0004 CF93 push r28
  28. 27 0006 DF93 push r29
  29. 28 /* prologue: function */
  30. 29 /* frame size = 0 */
  31. 30 /* stack size = 4 */
  32. 31 .L__stack_usage = 4
  33. 32 0008 EC01 movw r28,r24
  34. 33 000a 8881 ld r24,Y
  35. 34 000c 9981 ldd r25,Y+1
  36. 35 000e 0E94 0000 call NutEventWait
  37. 36 0012 8C01 movw r16,r24
  38. 37 0014 892B or r24,r25
  39. 38 0016 01F0 breq .L3
  40. 39 0018 85E0 ldi r24,lo8(5)
  41. 40 001a 90E0 ldi r25,0
  42. 41 001c 9093 0000 sts errno+1,r25
  43. 42 0020 8093 0000 sts errno,r24
  44. 43 0024 00C0 rjmp .L4
  45. 44 .L3:
  46. 45 0026 8885 ldd r24,Y+8
  47. 46 0028 9985 ldd r25,Y+9
  48. 47 002a 97FF sbrs r25,7
  49. 48 002c 00C0 rjmp .L5
  50. 49 002e CE01 movw r24,r28
  51. 50 0030 0E94 0000 call GpioSpiSetup
  52. 51 .L5:
  53. 52 0034 8B85 ldd r24,Y+11
  54. 53 0036 8823 tst r24
  55. 54 0038 01F0 breq .L4
  56. 55 003a 85E0 ldi r24,lo8(5)
  57. 56 003c 90E0 ldi r25,0
  58. 57 003e 9093 0000 sts errno+1,r25
  59. GAS LISTING /tmp/ccQWLeTo.s page 2
  60. 58 0042 8093 0000 sts errno,r24
  61. 59 0046 8881 ld r24,Y
  62. 60 0048 9981 ldd r25,Y+1
  63. 61 004a 0E94 0000 call NutEventPost
  64. 62 004e 0FEF ldi r16,lo8(-1)
  65. 63 0050 1FEF ldi r17,lo8(-1)
  66. 64 .L4:
  67. 65 0052 C801 movw r24,r16
  68. 66 /* epilogue start */
  69. 67 0054 DF91 pop r29
  70. 68 0056 CF91 pop r28
  71. 69 0058 1F91 pop r17
  72. 70 005a 0F91 pop r16
  73. 71 005c 0895 ret
  74. 72 .size GpioSpiBus0Select, .-GpioSpiBus0Select
  75. 73 .section .text.GpioSpiBus0NodeInit,"ax",@progbits
  76. 74 .global GpioSpiBus0NodeInit
  77. 75 .type GpioSpiBus0NodeInit, @function
  78. 76 GpioSpiBus0NodeInit:
  79. 77 /* prologue: function */
  80. 78 /* frame size = 0 */
  81. 79 /* stack size = 0 */
  82. 80 .L__stack_usage = 0
  83. 81 0000 FC01 movw r30,r24
  84. 82 0002 2385 ldd r18,Z+11
  85. 83 0004 2223 tst r18
  86. 84 0006 01F0 breq .L15
  87. 85 0008 25E0 ldi r18,lo8(5)
  88. 86 000a 30E0 ldi r19,0
  89. 87 000c 3093 0000 sts errno+1,r19
  90. 88 0010 2093 0000 sts errno,r18
  91. 89 0014 20E0 ldi r18,0
  92. 90 0016 30E0 ldi r19,0
  93. 91 0018 00C0 rjmp .L13
  94. 92 .L15:
  95. 93 001a 20E0 ldi r18,lo8(gspi_reg0)
  96. 94 001c 30E0 ldi r19,hi8(gspi_reg0)
  97. 95 .L13:
  98. 96 001e FC01 movw r30,r24
  99. 97 0020 3383 std Z+3,r19
  100. 98 0022 2283 std Z+2,r18
  101. 99 0024 232B or r18,r19
  102. 100 0026 01F0 breq .L14
  103. 101 0028 0C94 0000 jmp GpioSpiSetup
  104. 102 .L14:
  105. 103 002c 8FEF ldi r24,lo8(-1)
  106. 104 002e 9FEF ldi r25,lo8(-1)
  107. 105 0030 0895 ret
  108. 106 .size GpioSpiBus0NodeInit, .-GpioSpiBus0NodeInit
  109. 107 .section .text.GpioSpiBus0Deselect,"ax",@progbits
  110. 108 .global GpioSpiBus0Deselect
  111. 109 .type GpioSpiBus0Deselect, @function
  112. 110 GpioSpiBus0Deselect:
  113. 111 /* prologue: function */
  114. 112 /* frame size = 0 */
  115. 113 /* stack size = 0 */
  116. 114 .L__stack_usage = 0
  117. GAS LISTING /tmp/ccQWLeTo.s page 3
  118. 115 0000 FC01 movw r30,r24
  119. 116 0002 2385 ldd r18,Z+11
  120. 117 0004 2223 tst r18
  121. 118 0006 01F0 breq .L18
  122. 119 0008 25E0 ldi r18,lo8(5)
  123. 120 000a 30E0 ldi r19,0
  124. 121 000c 3093 0000 sts errno+1,r19
  125. 122 0010 2093 0000 sts errno,r18
  126. 123 .L18:
  127. 124 0014 FC01 movw r30,r24
  128. 125 0016 8081 ld r24,Z
  129. 126 0018 9181 ldd r25,Z+1
  130. 127 001a 0E94 0000 call NutEventPost
  131. 128 001e 80E0 ldi r24,0
  132. 129 0020 90E0 ldi r25,0
  133. 130 0022 0895 ret
  134. 131 .size GpioSpiBus0Deselect, .-GpioSpiBus0Deselect
  135. 132 .global spiBus0Gpio
  136. 133 .data
  137. 134 .type spiBus0Gpio, @object
  138. 135 .size spiBus0Gpio, 24
  139. 136 spiBus0Gpio:
  140. 137 0000 0000 .word 0
  141. 138 0002 0000 .word 0
  142. 139 0004 0000 .word 0
  143. 140 0006 0000 .word 0
  144. 141 0008 0000 .word gs(GpioSpiBus0NodeInit)
  145. 142 000a 0000 .word gs(GpioSpiBus0Select)
  146. 143 000c 0000 .word gs(GpioSpiBus0Deselect)
  147. 144 000e 0000 .word gs(GpioSpiBus0Transfer)
  148. 145 0010 0000 .word gs(NutSpiBusWait)
  149. 146 0012 0000 .word gs(NutSpiBusSetMode)
  150. 147 0014 0000 .word gs(GpioSpiBusSetRate)
  151. 148 0016 0000 .word gs(NutSpiBusSetBits)
  152. 149 .local gspi_reg0
  153. 150 .comm gspi_reg0,4,1
  154. 151 .ident "GCC: (GNU) 5.3.0"
  155. 152 .global __do_copy_data
  156. 153 .global __do_clear_bss
  157. GAS LISTING /tmp/ccQWLeTo.s page 4
  158. DEFINED SYMBOLS
  159. *ABS*:0000000000000000 spibus0gpio.c
  160. /tmp/ccQWLeTo.s:2 *ABS*:000000000000003e __SP_H__
  161. /tmp/ccQWLeTo.s:3 *ABS*:000000000000003d __SP_L__
  162. /tmp/ccQWLeTo.s:4 *ABS*:000000000000003f __SREG__
  163. /tmp/ccQWLeTo.s:5 *ABS*:000000000000003b __RAMPZ__
  164. /tmp/ccQWLeTo.s:6 *ABS*:0000000000000000 __tmp_reg__
  165. /tmp/ccQWLeTo.s:7 *ABS*:0000000000000001 __zero_reg__
  166. /tmp/ccQWLeTo.s:11 .text.GpioSpiBus0Transfer:0000000000000000 GpioSpiBus0Transfer
  167. /tmp/ccQWLeTo.s:23 .text.GpioSpiBus0Select:0000000000000000 GpioSpiBus0Select
  168. /tmp/ccQWLeTo.s:76 .text.GpioSpiBus0NodeInit:0000000000000000 GpioSpiBus0NodeInit
  169. .bss:0000000000000000 gspi_reg0
  170. /tmp/ccQWLeTo.s:110 .text.GpioSpiBus0Deselect:0000000000000000 GpioSpiBus0Deselect
  171. /tmp/ccQWLeTo.s:136 .data:0000000000000000 spiBus0Gpio
  172. UNDEFINED SYMBOLS
  173. NutEventWait
  174. errno
  175. GpioSpiSetup
  176. NutEventPost
  177. NutSpiBusWait
  178. NutSpiBusSetMode
  179. GpioSpiBusSetRate
  180. NutSpiBusSetBits
  181. __do_copy_data
  182. __do_clear_bss