spidrv.lst 9.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236
  1. GAS LISTING C:\Users\GUUSV_~1\AppData\Local\Temp/ccV9ioYD.s page 1
  2. 1 .file "spidrv.c"
  3. 2 .arch atmega2561
  4. 3 __SREG__ = 0x3f
  5. 4 __SP_H__ = 0x3e
  6. 5 __SP_L__ = 0x3d
  7. 6 __tmp_reg__ = 0
  8. 7 __zero_reg__ = 1
  9. 8 .global __do_copy_data
  10. 9 .global __do_clear_bss
  11. 10 .text
  12. 11 .global SPIdeselect
  13. 12 .type SPIdeselect, @function
  14. 13 SPIdeselect:
  15. 14 /* prologue: frame size=0 */
  16. 15 /* prologue end (size=0) */
  17. 16 0000 779A sbi 46-0x20,7
  18. 17 0002 2E98 cbi 37-0x20,6
  19. 18 0004 2D9A sbi 37-0x20,5
  20. 19 /* epilogue: frame size=0 */
  21. 20 0006 0895 ret
  22. 21 /* epilogue end (size=1) */
  23. 22 /* function SPIdeselect size 4 (3) */
  24. 23 .size SPIdeselect, .-SPIdeselect
  25. 24 .global SPImode
  26. 25 .type SPImode, @function
  27. 26 SPImode:
  28. 27 /* prologue: frame size=0 */
  29. 28 /* prologue end (size=0) */
  30. 29 0008 8093 0000 sts g_Speedmode,r24
  31. 30 /* epilogue: frame size=0 */
  32. 31 000c 0895 ret
  33. 32 /* epilogue end (size=1) */
  34. 33 /* function SPImode size 3 (2) */
  35. 34 .size SPImode, .-SPImode
  36. 35 .global SPIgetmode
  37. 36 .type SPIgetmode, @function
  38. 37 SPIgetmode:
  39. 38 /* prologue: frame size=0 */
  40. 39 /* prologue end (size=0) */
  41. 40 000e 8091 0000 lds r24,g_Speedmode
  42. 41 0012 9927 clr r25
  43. 42 /* epilogue: frame size=0 */
  44. 43 0014 0895 ret
  45. 44 /* epilogue end (size=1) */
  46. 45 /* function SPIgetmode size 4 (3) */
  47. 46 .size SPIgetmode, .-SPIgetmode
  48. 47 .global SPIputByte
  49. 48 .type SPIputByte, @function
  50. 49 SPIputByte:
  51. 50 /* prologue: frame size=0 */
  52. 51 /* prologue end (size=0) */
  53. 52 0016 8EBD out 78-0x20,r24
  54. 53 .L8:
  55. 54 0018 0DB4 in __tmp_reg__,77-0x20
  56. 55 001a 07FE sbrs __tmp_reg__,7
  57. 56 001c 00C0 rjmp .L8
  58. 57 /* epilogue: frame size=0 */
  59. GAS LISTING C:\Users\GUUSV_~1\AppData\Local\Temp/ccV9ioYD.s page 2
  60. 58 001e 0895 ret
  61. 59 /* epilogue end (size=1) */
  62. 60 /* function SPIputByte size 5 (4) */
  63. 61 .size SPIputByte, .-SPIputByte
  64. 62 .global SPIgetByte
  65. 63 .type SPIgetByte, @function
  66. 64 SPIgetByte:
  67. 65 /* prologue: frame size=0 */
  68. 66 /* prologue end (size=0) */
  69. 67 0020 8FEF ldi r24,lo8(-1)
  70. 68 0022 8EBD out 78-0x20,r24
  71. 69 .L14:
  72. 70 0024 0DB4 in __tmp_reg__,77-0x20
  73. 71 0026 07FE sbrs __tmp_reg__,7
  74. 72 0028 00C0 rjmp .L14
  75. 73 002a 8EB5 in r24,78-0x20
  76. 74 002c 9927 clr r25
  77. 75 /* epilogue: frame size=0 */
  78. 76 002e 0895 ret
  79. 77 /* epilogue end (size=1) */
  80. 78 /* function SPIgetByte size 8 (7) */
  81. 79 .size SPIgetByte, .-SPIgetByte
  82. 80 .global SPItransferByte
  83. 81 .type SPItransferByte, @function
  84. 82 SPItransferByte:
  85. 83 /* prologue: frame size=0 */
  86. 84 /* prologue end (size=0) */
  87. 85 0030 8EBD out 78-0x20,r24
  88. 86 .L20:
  89. 87 0032 0DB4 in __tmp_reg__,77-0x20
  90. 88 0034 07FE sbrs __tmp_reg__,7
  91. 89 0036 00C0 rjmp .L20
  92. 90 0038 8EB5 in r24,78-0x20
  93. 91 003a 9927 clr r25
  94. 92 /* epilogue: frame size=0 */
  95. 93 003c 0895 ret
  96. 94 /* epilogue end (size=1) */
  97. 95 /* function SPItransferByte size 7 (6) */
  98. 96 .size SPItransferByte, .-SPItransferByte
  99. 97 .global SPIinit
  100. 98 .type SPIinit, @function
  101. 99 SPIinit:
  102. 100 /* prologue: frame size=0 */
  103. 101 /* prologue end (size=0) */
  104. 102 003e 779A sbi 46-0x20,7
  105. 103 0040 2E98 cbi 37-0x20,6
  106. 104 0042 2D9A sbi 37-0x20,5
  107. 105 /* epilogue: frame size=0 */
  108. 106 0044 0895 ret
  109. 107 /* epilogue end (size=1) */
  110. 108 /* function SPIinit size 4 (3) */
  111. 109 .size SPIinit, .-SPIinit
  112. 110 .global SPIselect
  113. 111 .type SPIselect, @function
  114. 112 SPIselect:
  115. 113 /* prologue: frame size=0 */
  116. 114 /* prologue end (size=0) */
  117. GAS LISTING C:\Users\GUUSV_~1\AppData\Local\Temp/ccV9ioYD.s page 3
  118. 115 0046 9C01 movw r18,r24
  119. 116 0048 0097 sbiw r24,0
  120. 117 004a 01F4 brne .L28
  121. 118 004c 8091 0000 lds r24,g_Speedmode
  122. 119 0050 8823 tst r24
  123. 120 0052 01F4 brne .L30
  124. 121 0054 81E0 ldi r24,lo8(1)
  125. 122 0056 8DBD out 77-0x20,r24
  126. 123 0058 81E5 ldi r24,lo8(81)
  127. 124 005a 00C0 rjmp .L43
  128. 125 .L30:
  129. 126 005c 8130 cpi r24,lo8(1)
  130. 127 005e 01F4 brne .L33
  131. 128 0060 1DBC out 77-0x20,__zero_reg__
  132. 129 .L44:
  133. 130 0062 80E5 ldi r24,lo8(80)
  134. 131 .L43:
  135. 132 0064 8CBD out 76-0x20,r24
  136. 133 0066 00C0 rjmp .L32
  137. 134 .L33:
  138. 135 0068 8230 cpi r24,lo8(2)
  139. 136 006a 01F4 brne .L35
  140. 137 006c 81E0 ldi r24,lo8(1)
  141. 138 006e 8DBD out 77-0x20,r24
  142. 139 0070 00C0 rjmp .L44
  143. 140 .L35:
  144. 141 0072 80E0 ldi r24,lo8(__c.2038)
  145. 142 0074 90E0 ldi r25,hi8(__c.2038)
  146. 143 0076 9F93 push r25
  147. 144 0078 8F93 push r24
  148. 145 007a 8BE7 ldi r24,lo8(123)
  149. 146 007c 8F93 push r24
  150. 147 007e 0E94 0000 call LogMsg_P
  151. 148 0082 0F90 pop __tmp_reg__
  152. 149 0084 0F90 pop __tmp_reg__
  153. 150 0086 0F90 pop __tmp_reg__
  154. 151 0088 00C0 rjmp .L32
  155. 152 .L28:
  156. 153 008a 0197 sbiw r24,1
  157. 154 008c 01F4 brne .L37
  158. 155 008e 81E0 ldi r24,lo8(1)
  159. 156 0090 8DBD out 77-0x20,r24
  160. 157 0092 80E5 ldi r24,lo8(80)
  161. 158 0094 8CBD out 76-0x20,r24
  162. 159 0096 2D9A sbi 37-0x20,5
  163. 160 0098 2E98 cbi 37-0x20,6
  164. 161 009a 7798 cbi 46-0x20,7
  165. 162 009c 0895 ret
  166. 163 .L37:
  167. 164 009e 1DBC out 77-0x20,__zero_reg__
  168. 165 00a0 80E5 ldi r24,lo8(80)
  169. 166 00a2 8CBD out 76-0x20,r24
  170. 167 00a4 2130 cpi r18,1
  171. 168 00a6 3105 cpc r19,__zero_reg__
  172. 169 00a8 00F0 brlo .L32
  173. 170 00aa 2230 cpi r18,2
  174. 171 00ac 3105 cpc r19,__zero_reg__
  175. GAS LISTING C:\Users\GUUSV_~1\AppData\Local\Temp/ccV9ioYD.s page 4
  176. 172 00ae 01F4 brne .L42
  177. 173 00b0 00C0 rjmp .L41
  178. 174 .L32:
  179. 175 00b2 779A sbi 46-0x20,7
  180. 176 00b4 2D9A sbi 37-0x20,5
  181. 177 00b6 2E9A sbi 37-0x20,6
  182. 178 00b8 0895 ret
  183. 179 .L41:
  184. 180 00ba 779A sbi 46-0x20,7
  185. 181 00bc 2E98 cbi 37-0x20,6
  186. 182 00be 2D98 cbi 37-0x20,5
  187. 183 .L42:
  188. 184 00c0 0895 ret
  189. 185 /* epilogue: frame size=0 */
  190. 186 /* epilogue: noreturn */
  191. 187 /* epilogue end (size=0) */
  192. 188 /* function SPIselect size 63 (63) */
  193. 189 .size SPIselect, .-SPIselect
  194. 190 .section .progmem.data,"a",@progbits
  195. 191 .type __c.2038, @object
  196. 192 .size __c.2038, 14
  197. 193 __c.2038:
  198. 194 0000 696E 7661 .string "invalid Speed"
  199. 194 6C69 6420
  200. 194 5370 6565
  201. 194 6400
  202. 195 .lcomm g_Speedmode,1
  203. 196 /* File "source/spidrv.c": code 98 = 0x0062 ( 91), prologues 0, epilogues 7 */
  204. GAS LISTING C:\Users\GUUSV_~1\AppData\Local\Temp/ccV9ioYD.s page 5
  205. DEFINED SYMBOLS
  206. *ABS*:00000000 spidrv.c
  207. C:\Users\GUUSV_~1\AppData\Local\Temp/ccV9ioYD.s:3 *ABS*:0000003f __SREG__
  208. C:\Users\GUUSV_~1\AppData\Local\Temp/ccV9ioYD.s:4 *ABS*:0000003e __SP_H__
  209. C:\Users\GUUSV_~1\AppData\Local\Temp/ccV9ioYD.s:5 *ABS*:0000003d __SP_L__
  210. C:\Users\GUUSV_~1\AppData\Local\Temp/ccV9ioYD.s:6 *ABS*:00000000 __tmp_reg__
  211. C:\Users\GUUSV_~1\AppData\Local\Temp/ccV9ioYD.s:7 *ABS*:00000001 __zero_reg__
  212. C:\Users\GUUSV_~1\AppData\Local\Temp/ccV9ioYD.s:13 .text:00000000 SPIdeselect
  213. C:\Users\GUUSV_~1\AppData\Local\Temp/ccV9ioYD.s:26 .text:00000008 SPImode
  214. .bss:00000000 g_Speedmode
  215. C:\Users\GUUSV_~1\AppData\Local\Temp/ccV9ioYD.s:37 .text:0000000e SPIgetmode
  216. C:\Users\GUUSV_~1\AppData\Local\Temp/ccV9ioYD.s:49 .text:00000016 SPIputByte
  217. C:\Users\GUUSV_~1\AppData\Local\Temp/ccV9ioYD.s:64 .text:00000020 SPIgetByte
  218. C:\Users\GUUSV_~1\AppData\Local\Temp/ccV9ioYD.s:82 .text:00000030 SPItransferByte
  219. C:\Users\GUUSV_~1\AppData\Local\Temp/ccV9ioYD.s:99 .text:0000003e SPIinit
  220. C:\Users\GUUSV_~1\AppData\Local\Temp/ccV9ioYD.s:112 .text:00000046 SPIselect
  221. C:\Users\GUUSV_~1\AppData\Local\Temp/ccV9ioYD.s:193 .progmem.data:00000000 __c.2038
  222. UNDEFINED SYMBOLS
  223. __do_copy_data
  224. __do_clear_bss
  225. LogMsg_P