spi_mmc.lst 62 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890
  1. GAS LISTING /tmp/ccTK9h5y.s page 1
  2. 1 .file "spi_mmc.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.CardRxTkn,"ax",@progbits
  10. 9 .type CardRxTkn, @function
  11. 10 CardRxTkn:
  12. 11 0000 CF92 push r12
  13. 12 0002 DF92 push r13
  14. 13 0004 EF92 push r14
  15. 14 0006 FF92 push r15
  16. 15 0008 0F93 push r16
  17. 16 000a 1F93 push r17
  18. 17 000c CF93 push r28
  19. 18 000e DF93 push r29
  20. 19 0010 1F92 push __zero_reg__
  21. 20 0012 CDB7 in r28,__SP_L__
  22. 21 0014 DEB7 in r29,__SP_H__
  23. 22 /* prologue: function */
  24. 23 /* frame size = 1 */
  25. 24 /* stack size = 9 */
  26. 25 .L__stack_usage = 9
  27. 26 0016 7C01 movw r14,r24
  28. 27 0018 DC01 movw r26,r24
  29. 28 001a CD90 ld r12,X+
  30. 29 001c DC90 ld r13,X
  31. 30 001e 00E0 ldi r16,0
  32. 31 0020 14E0 ldi r17,lo8(4)
  33. 32 .L4:
  34. 33 0022 D601 movw r26,r12
  35. 34 0024 1E96 adiw r26,14
  36. 35 0026 ED91 ld r30,X+
  37. 36 0028 FC91 ld r31,X
  38. 37 002a 1F97 sbiw r26,14+1
  39. 38 002c 21E0 ldi r18,lo8(1)
  40. 39 002e 30E0 ldi r19,0
  41. 40 0030 AE01 movw r20,r28
  42. 41 0032 4F5F subi r20,-1
  43. 42 0034 5F4F sbci r21,-1
  44. 43 0036 60E0 ldi r22,lo8(dummy_tx_buf)
  45. 44 0038 70E0 ldi r23,hi8(dummy_tx_buf)
  46. 45 003a C701 movw r24,r14
  47. 46 003c 1995 eicall
  48. 47 003e 8981 ldd r24,Y+1
  49. 48 0040 8F3F cpi r24,lo8(-1)
  50. 49 0042 01F0 breq .L2
  51. 50 .L5:
  52. 51 0044 8981 ldd r24,Y+1
  53. 52 /* epilogue start */
  54. 53 0046 0F90 pop __tmp_reg__
  55. 54 0048 DF91 pop r29
  56. 55 004a CF91 pop r28
  57. 56 004c 1F91 pop r17
  58. 57 004e 0F91 pop r16
  59. GAS LISTING /tmp/ccTK9h5y.s page 2
  60. 58 0050 FF90 pop r15
  61. 59 0052 EF90 pop r14
  62. 60 0054 DF90 pop r13
  63. 61 0056 CF90 pop r12
  64. 62 0058 0895 ret
  65. 63 .L2:
  66. 64 005a 0115 cp r16,__zero_reg__
  67. 65 005c B3E0 ldi r27,3
  68. 66 005e 1B07 cpc r17,r27
  69. 67 0060 04F4 brge .L3
  70. 68 0062 6AE0 ldi r22,lo8(10)
  71. 69 0064 70E0 ldi r23,0
  72. 70 0066 80E0 ldi r24,0
  73. 71 0068 90E0 ldi r25,0
  74. 72 006a 0E94 0000 call NutSleep
  75. 73 .L3:
  76. 74 006e 0150 subi r16,1
  77. 75 0070 1109 sbc r17,__zero_reg__
  78. 76 0072 00F4 brcc .L4
  79. 77 0074 00C0 rjmp .L5
  80. 78 .size CardRxTkn, .-CardRxTkn
  81. 79 .section .text.CardTxCommand,"ax",@progbits
  82. 80 .type CardTxCommand, @function
  83. 81 CardTxCommand:
  84. 82 0000 6F92 push r6
  85. 83 0002 7F92 push r7
  86. 84 0004 8F92 push r8
  87. 85 0006 9F92 push r9
  88. 86 0008 AF92 push r10
  89. 87 000a BF92 push r11
  90. 88 000c CF92 push r12
  91. 89 000e DF92 push r13
  92. 90 0010 EF92 push r14
  93. 91 0012 FF92 push r15
  94. 92 0014 0F93 push r16
  95. 93 0016 1F93 push r17
  96. 94 0018 CF93 push r28
  97. 95 001a DF93 push r29
  98. 96 001c CDB7 in r28,__SP_L__
  99. 97 001e DEB7 in r29,__SP_H__
  100. 98 0020 2897 sbiw r28,8
  101. 99 0022 0FB6 in __tmp_reg__,__SREG__
  102. 100 0024 F894 cli
  103. 101 0026 DEBF out __SP_H__,r29
  104. 102 0028 0FBE out __SREG__,__tmp_reg__
  105. 103 002a CDBF out __SP_L__,r28
  106. 104 /* prologue: function */
  107. 105 /* frame size = 8 */
  108. 106 /* stack size = 22 */
  109. 107 .L__stack_usage = 22
  110. 108 002c 7C01 movw r14,r24
  111. 109 002e 862F mov r24,r22
  112. 110 0030 8064 ori r24,lo8(64)
  113. 111 0032 8983 std Y+1,r24
  114. 112 0034 5A83 std Y+2,r21
  115. 113 0036 4B83 std Y+3,r20
  116. 114 0038 3C83 std Y+4,r19
  117. GAS LISTING /tmp/ccTK9h5y.s page 3
  118. 115 003a 2D83 std Y+5,r18
  119. 116 003c 6830 cpi r22,lo8(8)
  120. 117 003e 01F4 brne .L10
  121. 118 0040 87E8 ldi r24,lo8(-121)
  122. 119 0042 00C0 rjmp .L30
  123. 120 .L10:
  124. 121 0044 85E9 ldi r24,lo8(-107)
  125. 122 .L30:
  126. 123 0046 8E83 std Y+6,r24
  127. 124 0048 2AE0 ldi r18,lo8(10)
  128. 125 004a A22E mov r10,r18
  129. 126 004c B12C mov r11,__zero_reg__
  130. 127 004e CC24 clr r12
  131. 128 0050 CA94 dec r12
  132. 129 0052 DC2C mov r13,r12
  133. 130 .L18:
  134. 131 0054 D701 movw r26,r14
  135. 132 0056 6D90 ld r6,X+
  136. 133 0058 7C90 ld r7,X
  137. 134 005a D301 movw r26,r6
  138. 135 005c 1A96 adiw r26,10
  139. 136 005e ED91 ld r30,X+
  140. 137 0060 FC91 ld r31,X
  141. 138 0062 1B97 sbiw r26,10+1
  142. 139 0064 48EE ldi r20,lo8(-24)
  143. 140 0066 53E0 ldi r21,lo8(3)
  144. 141 0068 60E0 ldi r22,0
  145. 142 006a 70E0 ldi r23,0
  146. 143 006c C701 movw r24,r14
  147. 144 006e 1995 eicall
  148. 145 0070 892B or r24,r25
  149. 146 0072 01F4 brne .L19
  150. 147 0074 90E2 ldi r25,lo8(32)
  151. 148 0076 892E mov r8,r25
  152. 149 0078 93E0 ldi r25,lo8(3)
  153. 150 007a 992E mov r9,r25
  154. 151 .L14:
  155. 152 007c D301 movw r26,r6
  156. 153 007e 1E96 adiw r26,14
  157. 154 0080 ED91 ld r30,X+
  158. 155 0082 FC91 ld r31,X
  159. 156 0084 1F97 sbiw r26,14+1
  160. 157 0086 21E0 ldi r18,lo8(1)
  161. 158 0088 30E0 ldi r19,0
  162. 159 008a AE01 movw r20,r28
  163. 160 008c 495F subi r20,-7
  164. 161 008e 5F4F sbci r21,-1
  165. 162 0090 60E0 ldi r22,lo8(dummy_tx_buf)
  166. 163 0092 70E0 ldi r23,hi8(dummy_tx_buf)
  167. 164 0094 C701 movw r24,r14
  168. 165 0096 1995 eicall
  169. 166 0098 8F81 ldd r24,Y+7
  170. 167 009a 8F3F cpi r24,lo8(-1)
  171. 168 009c 01F0 breq .L12
  172. 169 009e B8EC ldi r27,-56
  173. 170 00a0 8B16 cp r8,r27
  174. 171 00a2 9104 cpc r9,__zero_reg__
  175. GAS LISTING /tmp/ccTK9h5y.s page 4
  176. 172 00a4 04F4 brge .L13
  177. 173 00a6 61E0 ldi r22,lo8(1)
  178. 174 00a8 70E0 ldi r23,0
  179. 175 00aa 80E0 ldi r24,0
  180. 176 00ac 90E0 ldi r25,0
  181. 177 00ae 0E94 0000 call NutSleep
  182. 178 .L13:
  183. 179 00b2 E1E0 ldi r30,1
  184. 180 00b4 8E1A sub r8,r30
  185. 181 00b6 9108 sbc r9,__zero_reg__
  186. 182 00b8 00F4 brcc .L14
  187. 183 00ba D301 movw r26,r6
  188. 184 00bc 1C96 adiw r26,12
  189. 185 00be ED91 ld r30,X+
  190. 186 00c0 FC91 ld r31,X
  191. 187 00c2 1D97 sbiw r26,12+1
  192. 188 00c4 C701 movw r24,r14
  193. 189 00c6 1995 eicall
  194. 190 .L19:
  195. 191 00c8 612C mov r6,__zero_reg__
  196. 192 00ca 712C mov r7,__zero_reg__
  197. 193 .L12:
  198. 194 00cc 6114 cp r6,__zero_reg__
  199. 195 00ce 7104 cpc r7,__zero_reg__
  200. 196 00d0 01F0 breq .L15
  201. 197 00d2 D301 movw r26,r6
  202. 198 00d4 1E96 adiw r26,14
  203. 199 00d6 ED91 ld r30,X+
  204. 200 00d8 FC91 ld r31,X
  205. 201 00da 1F97 sbiw r26,14+1
  206. 202 00dc 26E0 ldi r18,lo8(6)
  207. 203 00de 30E0 ldi r19,0
  208. 204 00e0 40E0 ldi r20,0
  209. 205 00e2 50E0 ldi r21,0
  210. 206 00e4 BE01 movw r22,r28
  211. 207 00e6 6F5F subi r22,-1
  212. 208 00e8 7F4F sbci r23,-1
  213. 209 00ea C701 movw r24,r14
  214. 210 00ec 1995 eicall
  215. 211 00ee C701 movw r24,r14
  216. 212 00f0 0E94 0000 call CardRxTkn
  217. 213 00f4 8887 std Y+8,r24
  218. 214 00f6 87FD sbrc r24,7
  219. 215 00f8 00C0 rjmp .L16
  220. 216 00fa C82E mov r12,r24
  221. 217 00fc D12C mov r13,__zero_reg__
  222. 218 00fe 0115 cp r16,__zero_reg__
  223. 219 0100 1105 cpc r17,__zero_reg__
  224. 220 0102 01F0 breq .L17
  225. 221 0104 0230 cpi r16,2
  226. 222 0106 1105 cpc r17,__zero_reg__
  227. 223 0108 01F4 brne .L21
  228. 224 010a D301 movw r26,r6
  229. 225 010c 1E96 adiw r26,14
  230. 226 010e ED91 ld r30,X+
  231. 227 0110 FC91 ld r31,X
  232. 228 0112 1F97 sbiw r26,14+1
  233. GAS LISTING /tmp/ccTK9h5y.s page 5
  234. 229 0114 21E0 ldi r18,lo8(1)
  235. 230 0116 30E0 ldi r19,0
  236. 231 0118 AE01 movw r20,r28
  237. 232 011a 485F subi r20,-8
  238. 233 011c 5F4F sbci r21,-1
  239. 234 011e 60E0 ldi r22,lo8(dummy_tx_buf)
  240. 235 0120 70E0 ldi r23,hi8(dummy_tx_buf)
  241. 236 0122 C701 movw r24,r14
  242. 237 0124 1995 eicall
  243. 238 0126 DC2C mov r13,r12
  244. 239 0128 CC24 clr r12
  245. 240 012a 8885 ldd r24,Y+8
  246. 241 012c C82A or r12,r24
  247. 242 .L21:
  248. 243 012e A12C mov r10,__zero_reg__
  249. 244 0130 B12C mov r11,__zero_reg__
  250. 245 .L16:
  251. 246 0132 D301 movw r26,r6
  252. 247 0134 1C96 adiw r26,12
  253. 248 0136 ED91 ld r30,X+
  254. 249 0138 FC91 ld r31,X
  255. 250 013a 1D97 sbiw r26,12+1
  256. 251 013c C701 movw r24,r14
  257. 252 013e 1995 eicall
  258. 253 .L15:
  259. 254 0140 C501 movw r24,r10
  260. 255 0142 0197 sbiw r24,1
  261. 256 0144 AB28 or r10,r11
  262. 257 0146 01F0 breq .L17
  263. 258 0148 5C01 movw r10,r24
  264. 259 014a 00C0 rjmp .L18
  265. 260 .L17:
  266. 261 014c C601 movw r24,r12
  267. 262 /* epilogue start */
  268. 263 014e 2896 adiw r28,8
  269. 264 0150 0FB6 in __tmp_reg__,__SREG__
  270. 265 0152 F894 cli
  271. 266 0154 DEBF out __SP_H__,r29
  272. 267 0156 0FBE out __SREG__,__tmp_reg__
  273. 268 0158 CDBF out __SP_L__,r28
  274. 269 015a DF91 pop r29
  275. 270 015c CF91 pop r28
  276. 271 015e 1F91 pop r17
  277. 272 0160 0F91 pop r16
  278. 273 0162 FF90 pop r15
  279. 274 0164 EF90 pop r14
  280. 275 0166 DF90 pop r13
  281. 276 0168 CF90 pop r12
  282. 277 016a BF90 pop r11
  283. 278 016c AF90 pop r10
  284. 279 016e 9F90 pop r9
  285. 280 0170 8F90 pop r8
  286. 281 0172 7F90 pop r7
  287. 282 0174 6F90 pop r6
  288. 283 0176 0895 ret
  289. 284 .size CardTxCommand, .-CardTxCommand
  290. 285 .section .text.CardRxData,"ax",@progbits
  291. GAS LISTING /tmp/ccTK9h5y.s page 6
  292. 286 .type CardRxData, @function
  293. 287 CardRxData:
  294. 288 0000 2F92 push r2
  295. 289 0002 3F92 push r3
  296. 290 0004 4F92 push r4
  297. 291 0006 5F92 push r5
  298. 292 0008 6F92 push r6
  299. 293 000a 7F92 push r7
  300. 294 000c 8F92 push r8
  301. 295 000e 9F92 push r9
  302. 296 0010 AF92 push r10
  303. 297 0012 BF92 push r11
  304. 298 0014 CF92 push r12
  305. 299 0016 DF92 push r13
  306. 300 0018 EF92 push r14
  307. 301 001a FF92 push r15
  308. 302 001c 0F93 push r16
  309. 303 001e 1F93 push r17
  310. 304 0020 CF93 push r28
  311. 305 0022 DF93 push r29
  312. 306 0024 00D0 rcall .
  313. 307 0026 00D0 rcall .
  314. 308 0028 CDB7 in r28,__SP_L__
  315. 309 002a DEB7 in r29,__SP_H__
  316. 310 /* prologue: function */
  317. 311 /* frame size = 6 */
  318. 312 /* stack size = 24 */
  319. 313 .L__stack_usage = 24
  320. 314 002c 6C01 movw r12,r24
  321. 315 002e 6C83 std Y+4,r22
  322. 316 0030 2901 movw r4,r18
  323. 317 0032 3A01 movw r6,r20
  324. 318 0034 1E83 std Y+6,r17
  325. 319 0036 0D83 std Y+5,r16
  326. 320 0038 1701 movw r2,r14
  327. 321 003a DC01 movw r26,r24
  328. 322 003c 8D90 ld r8,X+
  329. 323 003e 9C90 ld r9,X
  330. 324 0040 89E0 ldi r24,lo8(9)
  331. 325 0042 A82E mov r10,r24
  332. 326 0044 B12C mov r11,__zero_reg__
  333. 327 0046 EE24 clr r14
  334. 328 0048 EA94 dec r14
  335. 329 004a FE2C mov r15,r14
  336. 330 .L32:
  337. 331 004c B1E0 ldi r27,1
  338. 332 004e AB1A sub r10,r27
  339. 333 0050 B108 sbc r11,__zero_reg__
  340. 334 0052 01F4 brne .+2
  341. 335 0054 00C0 rjmp .L38
  342. 336 0056 00E0 ldi r16,0
  343. 337 0058 10E0 ldi r17,0
  344. 338 005a A301 movw r20,r6
  345. 339 005c 9201 movw r18,r4
  346. 340 005e 6C81 ldd r22,Y+4
  347. 341 0060 C601 movw r24,r12
  348. 342 0062 0E94 0000 call CardTxCommand
  349. GAS LISTING /tmp/ccTK9h5y.s page 7
  350. 343 0066 87FD sbrc r24,7
  351. 344 0068 00C0 rjmp .L33
  352. 345 006a 8111 cpse r24,__zero_reg__
  353. 346 006c 00C0 rjmp .L34
  354. 347 006e F601 movw r30,r12
  355. 348 0070 0190 ld __tmp_reg__,Z+
  356. 349 0072 F081 ld r31,Z
  357. 350 0074 E02D mov r30,__tmp_reg__
  358. 351 0076 FB83 std Y+3,r31
  359. 352 0078 EA83 std Y+2,r30
  360. 353 007a 00E2 ldi r16,lo8(32)
  361. 354 007c 13E0 ldi r17,lo8(3)
  362. 355 .L37:
  363. 356 007e AA81 ldd r26,Y+2
  364. 357 0080 BB81 ldd r27,Y+3
  365. 358 0082 1E96 adiw r26,14
  366. 359 0084 ED91 ld r30,X+
  367. 360 0086 FC91 ld r31,X
  368. 361 0088 1F97 sbiw r26,14+1
  369. 362 008a 21E0 ldi r18,lo8(1)
  370. 363 008c 30E0 ldi r19,0
  371. 364 008e AE01 movw r20,r28
  372. 365 0090 4F5F subi r20,-1
  373. 366 0092 5F4F sbci r21,-1
  374. 367 0094 60E0 ldi r22,lo8(dummy_tx_buf)
  375. 368 0096 70E0 ldi r23,hi8(dummy_tx_buf)
  376. 369 0098 C601 movw r24,r12
  377. 370 009a 1995 eicall
  378. 371 009c 8981 ldd r24,Y+1
  379. 372 009e 9FEF ldi r25,lo8(-1)
  380. 373 00a0 980F add r25,r24
  381. 374 00a2 9E3F cpi r25,lo8(-2)
  382. 375 00a4 00F0 brlo .L35
  383. 376 00a6 083C cpi r16,-56
  384. 377 00a8 1105 cpc r17,__zero_reg__
  385. 378 00aa 04F4 brge .L36
  386. 379 00ac 61E0 ldi r22,lo8(1)
  387. 380 00ae 70E0 ldi r23,0
  388. 381 00b0 80E0 ldi r24,0
  389. 382 00b2 90E0 ldi r25,0
  390. 383 00b4 0E94 0000 call NutSleep
  391. 384 .L36:
  392. 385 00b8 0150 subi r16,1
  393. 386 00ba 1109 sbc r17,__zero_reg__
  394. 387 00bc 00F4 brcc .L37
  395. 388 00be 00C0 rjmp .L34
  396. 389 .L35:
  397. 390 00c0 8E3F cpi r24,lo8(-2)
  398. 391 00c2 01F4 brne .L34
  399. 392 00c4 D401 movw r26,r8
  400. 393 00c6 1E96 adiw r26,14
  401. 394 00c8 ED91 ld r30,X+
  402. 395 00ca FC91 ld r31,X
  403. 396 00cc 1F97 sbiw r26,14+1
  404. 397 00ce 9101 movw r18,r2
  405. 398 00d0 4D81 ldd r20,Y+5
  406. 399 00d2 5E81 ldd r21,Y+6
  407. GAS LISTING /tmp/ccTK9h5y.s page 8
  408. 400 00d4 60E0 ldi r22,lo8(dummy_tx_buf)
  409. 401 00d6 70E0 ldi r23,hi8(dummy_tx_buf)
  410. 402 00d8 C601 movw r24,r12
  411. 403 00da 1995 eicall
  412. 404 00dc D401 movw r26,r8
  413. 405 00de 1E96 adiw r26,14
  414. 406 00e0 ED91 ld r30,X+
  415. 407 00e2 FC91 ld r31,X
  416. 408 00e4 1F97 sbiw r26,14+1
  417. 409 00e6 22E0 ldi r18,lo8(2)
  418. 410 00e8 30E0 ldi r19,0
  419. 411 00ea 40E0 ldi r20,0
  420. 412 00ec 50E0 ldi r21,0
  421. 413 00ee 60E0 ldi r22,lo8(dummy_tx_buf)
  422. 414 00f0 70E0 ldi r23,hi8(dummy_tx_buf)
  423. 415 00f2 C601 movw r24,r12
  424. 416 00f4 1995 eicall
  425. 417 00f6 E12C mov r14,__zero_reg__
  426. 418 00f8 F12C mov r15,__zero_reg__
  427. 419 .L34:
  428. 420 00fa D401 movw r26,r8
  429. 421 00fc 1E96 adiw r26,14
  430. 422 00fe ED91 ld r30,X+
  431. 423 0100 FC91 ld r31,X
  432. 424 0102 1F97 sbiw r26,14+1
  433. 425 0104 21E0 ldi r18,lo8(1)
  434. 426 0106 30E0 ldi r19,0
  435. 427 0108 40E0 ldi r20,0
  436. 428 010a 50E0 ldi r21,0
  437. 429 010c 60E0 ldi r22,0
  438. 430 010e 70E0 ldi r23,0
  439. 431 0110 C601 movw r24,r12
  440. 432 0112 1995 eicall
  441. 433 0114 D401 movw r26,r8
  442. 434 0116 1C96 adiw r26,12
  443. 435 0118 ED91 ld r30,X+
  444. 436 011a FC91 ld r31,X
  445. 437 011c 1D97 sbiw r26,12+1
  446. 438 011e C601 movw r24,r12
  447. 439 0120 1995 eicall
  448. 440 .L33:
  449. 441 0122 E114 cp r14,__zero_reg__
  450. 442 0124 F104 cpc r15,__zero_reg__
  451. 443 0126 01F0 breq .+2
  452. 444 0128 00C0 rjmp .L32
  453. 445 .L38:
  454. 446 012a C701 movw r24,r14
  455. 447 /* epilogue start */
  456. 448 012c 2696 adiw r28,6
  457. 449 012e 0FB6 in __tmp_reg__,__SREG__
  458. 450 0130 F894 cli
  459. 451 0132 DEBF out __SP_H__,r29
  460. 452 0134 0FBE out __SREG__,__tmp_reg__
  461. 453 0136 CDBF out __SP_L__,r28
  462. 454 0138 DF91 pop r29
  463. 455 013a CF91 pop r28
  464. 456 013c 1F91 pop r17
  465. GAS LISTING /tmp/ccTK9h5y.s page 9
  466. 457 013e 0F91 pop r16
  467. 458 0140 FF90 pop r15
  468. 459 0142 EF90 pop r14
  469. 460 0144 DF90 pop r13
  470. 461 0146 CF90 pop r12
  471. 462 0148 BF90 pop r11
  472. 463 014a AF90 pop r10
  473. 464 014c 9F90 pop r9
  474. 465 014e 8F90 pop r8
  475. 466 0150 7F90 pop r7
  476. 467 0152 6F90 pop r6
  477. 468 0154 5F90 pop r5
  478. 469 0156 4F90 pop r4
  479. 470 0158 3F90 pop r3
  480. 471 015a 2F90 pop r2
  481. 472 015c 0895 ret
  482. 473 .size CardRxData, .-CardRxData
  483. 474 .section .text.SpiMmcBlockRead,"ax",@progbits
  484. 475 .global SpiMmcBlockRead
  485. 476 .type SpiMmcBlockRead, @function
  486. 477 SpiMmcBlockRead:
  487. 478 0000 CF92 push r12
  488. 479 0002 DF92 push r13
  489. 480 0004 EF92 push r14
  490. 481 0006 FF92 push r15
  491. 482 0008 0F93 push r16
  492. 483 000a 1F93 push r17
  493. 484 000c CF93 push r28
  494. 485 000e DF93 push r29
  495. 486 /* prologue: function */
  496. 487 /* frame size = 0 */
  497. 488 /* stack size = 8 */
  498. 489 .L__stack_usage = 8
  499. 490 0010 8B01 movw r16,r22
  500. 491 0012 FC01 movw r30,r24
  501. 492 0014 E280 ldd r14,Z+2
  502. 493 0016 F380 ldd r15,Z+3
  503. 494 0018 C080 ld r12,Z
  504. 495 001a D180 ldd r13,Z+1
  505. 496 001c F601 movw r30,r12
  506. 497 001e C189 ldd r28,Z+17
  507. 498 0020 D289 ldd r29,Z+18
  508. 499 0022 8881 ld r24,Y
  509. 500 0024 8111 cpse r24,__zero_reg__
  510. 501 0026 00C0 rjmp .L45
  511. 502 0028 EC81 ldd r30,Y+4
  512. 503 002a FD81 ldd r31,Y+5
  513. 504 002c 81E0 ldi r24,lo8(1)
  514. 505 002e 90E0 ldi r25,0
  515. 506 0030 1995 eicall
  516. 507 0032 0115 cp r16,__zero_reg__
  517. 508 0034 1105 cpc r17,__zero_reg__
  518. 509 0036 01F4 brne .L46
  519. 510 0038 8701 movw r16,r14
  520. 511 003a 0A5E subi r16,-22
  521. 512 003c 1F4F sbci r17,-1
  522. 513 .L46:
  523. GAS LISTING /tmp/ccTK9h5y.s page 10
  524. 514 003e F701 movw r30,r14
  525. 515 0040 2289 ldd r18,Z+18
  526. 516 0042 3389 ldd r19,Z+19
  527. 517 0044 4489 ldd r20,Z+20
  528. 518 0046 5589 ldd r21,Z+21
  529. 519 0048 E12C mov r14,__zero_reg__
  530. 520 004a 82E0 ldi r24,lo8(2)
  531. 521 004c F82E mov r15,r24
  532. 522 004e 61E1 ldi r22,lo8(17)
  533. 523 0050 F601 movw r30,r12
  534. 524 0052 8785 ldd r24,Z+15
  535. 525 0054 9089 ldd r25,Z+16
  536. 526 0056 0E94 0000 call CardRxData
  537. 527 005a 892B or r24,r25
  538. 528 005c 01F4 brne .L45
  539. 529 005e EC81 ldd r30,Y+4
  540. 530 0060 FD81 ldd r31,Y+5
  541. 531 0062 80E0 ldi r24,0
  542. 532 0064 90E0 ldi r25,0
  543. 533 0066 1995 eicall
  544. 534 0068 81E0 ldi r24,lo8(1)
  545. 535 006a 90E0 ldi r25,0
  546. 536 006c 00C0 rjmp .L47
  547. 537 .L45:
  548. 538 006e EC81 ldd r30,Y+4
  549. 539 0070 FD81 ldd r31,Y+5
  550. 540 0072 84E0 ldi r24,lo8(4)
  551. 541 0074 90E0 ldi r25,0
  552. 542 0076 1995 eicall
  553. 543 0078 8FEF ldi r24,lo8(-1)
  554. 544 007a 9FEF ldi r25,lo8(-1)
  555. 545 .L47:
  556. 546 /* epilogue start */
  557. 547 007c DF91 pop r29
  558. 548 007e CF91 pop r28
  559. 549 0080 1F91 pop r17
  560. 550 0082 0F91 pop r16
  561. 551 0084 FF90 pop r15
  562. 552 0086 EF90 pop r14
  563. 553 0088 DF90 pop r13
  564. 554 008a CF90 pop r12
  565. 555 008c 0895 ret
  566. 556 .size SpiMmcBlockRead, .-SpiMmcBlockRead
  567. 557 .section .text.SpiMmcBlockWrite,"ax",@progbits
  568. 558 .global SpiMmcBlockWrite
  569. 559 .type SpiMmcBlockWrite, @function
  570. 560 SpiMmcBlockWrite:
  571. 561 0000 5F92 push r5
  572. 562 0002 6F92 push r6
  573. 563 0004 7F92 push r7
  574. 564 0006 8F92 push r8
  575. 565 0008 9F92 push r9
  576. 566 000a AF92 push r10
  577. 567 000c BF92 push r11
  578. 568 000e CF92 push r12
  579. 569 0010 DF92 push r13
  580. 570 0012 EF92 push r14
  581. GAS LISTING /tmp/ccTK9h5y.s page 11
  582. 571 0014 FF92 push r15
  583. 572 0016 0F93 push r16
  584. 573 0018 1F93 push r17
  585. 574 001a CF93 push r28
  586. 575 001c DF93 push r29
  587. 576 001e 1F92 push __zero_reg__
  588. 577 0020 1F92 push __zero_reg__
  589. 578 0022 CDB7 in r28,__SP_L__
  590. 579 0024 DEB7 in r29,__SP_H__
  591. 580 /* prologue: function */
  592. 581 /* frame size = 2 */
  593. 582 /* stack size = 17 */
  594. 583 .L__stack_usage = 17
  595. 584 0026 4B01 movw r8,r22
  596. 585 0028 3A01 movw r6,r20
  597. 586 002a DC01 movw r26,r24
  598. 587 002c 1296 adiw r26,2
  599. 588 002e 0D91 ld r16,X+
  600. 589 0030 1C91 ld r17,X
  601. 590 0032 1397 sbiw r26,2+1
  602. 591 0034 ED91 ld r30,X+
  603. 592 0036 FC91 ld r31,X
  604. 593 0038 A188 ldd r10,Z+17
  605. 594 003a B288 ldd r11,Z+18
  606. 595 003c E784 ldd r14,Z+15
  607. 596 003e F088 ldd r15,Z+16
  608. 597 0040 F701 movw r30,r14
  609. 598 0042 C080 ld r12,Z
  610. 599 0044 D180 ldd r13,Z+1
  611. 600 0046 D501 movw r26,r10
  612. 601 0048 8C91 ld r24,X
  613. 602 004a 8111 cpse r24,__zero_reg__
  614. 603 004c 00C0 rjmp .L49
  615. 604 004e 1496 adiw r26,4
  616. 605 0050 ED91 ld r30,X+
  617. 606 0052 FC91 ld r31,X
  618. 607 0054 1597 sbiw r26,4+1
  619. 608 0056 82E0 ldi r24,lo8(2)
  620. 609 0058 90E0 ldi r25,0
  621. 610 005a 1995 eicall
  622. 611 005c 8114 cp r8,__zero_reg__
  623. 612 005e 9104 cpc r9,__zero_reg__
  624. 613 0060 01F4 brne .L50
  625. 614 0062 4801 movw r8,r16
  626. 615 0064 B6E1 ldi r27,22
  627. 616 0066 8B0E add r8,r27
  628. 617 0068 911C adc r9,__zero_reg__
  629. 618 .L50:
  630. 619 006a F801 movw r30,r16
  631. 620 006c 2289 ldd r18,Z+18
  632. 621 006e 3389 ldd r19,Z+19
  633. 622 0070 4489 ldd r20,Z+20
  634. 623 0072 5589 ldd r21,Z+21
  635. 624 0074 00E0 ldi r16,0
  636. 625 0076 10E0 ldi r17,0
  637. 626 0078 F1E0 ldi r31,1
  638. 627 007a 6F16 cp r6,r31
  639. GAS LISTING /tmp/ccTK9h5y.s page 12
  640. 628 007c 7104 cpc r7,__zero_reg__
  641. 629 007e 01F0 breq .+2
  642. 630 0080 00C0 rjmp .L51
  643. 631 0082 68E1 ldi r22,lo8(24)
  644. 632 0084 C701 movw r24,r14
  645. 633 0086 0E94 0000 call CardTxCommand
  646. 634 008a 8983 std Y+1,r24
  647. 635 008c 8F3F cpi r24,lo8(-1)
  648. 636 008e 01F4 brne .+2
  649. 637 0090 00C0 rjmp .L49
  650. 638 0092 8111 cpse r24,__zero_reg__
  651. 639 0094 00C0 rjmp .L56
  652. 640 0096 8EEF ldi r24,lo8(-2)
  653. 641 0098 8983 std Y+1,r24
  654. 642 009a D601 movw r26,r12
  655. 643 009c 1E96 adiw r26,14
  656. 644 009e ED91 ld r30,X+
  657. 645 00a0 FC91 ld r31,X
  658. 646 00a2 1F97 sbiw r26,14+1
  659. 647 00a4 21E0 ldi r18,lo8(1)
  660. 648 00a6 30E0 ldi r19,0
  661. 649 00a8 40E0 ldi r20,0
  662. 650 00aa 50E0 ldi r21,0
  663. 651 00ac BE01 movw r22,r28
  664. 652 00ae 6F5F subi r22,-1
  665. 653 00b0 7F4F sbci r23,-1
  666. 654 00b2 C701 movw r24,r14
  667. 655 00b4 1995 eicall
  668. 656 00b6 D601 movw r26,r12
  669. 657 00b8 1E96 adiw r26,14
  670. 658 00ba ED91 ld r30,X+
  671. 659 00bc FC91 ld r31,X
  672. 660 00be 1F97 sbiw r26,14+1
  673. 661 00c0 20E0 ldi r18,0
  674. 662 00c2 32E0 ldi r19,lo8(2)
  675. 663 00c4 40E0 ldi r20,0
  676. 664 00c6 50E0 ldi r21,0
  677. 665 00c8 B401 movw r22,r8
  678. 666 00ca C701 movw r24,r14
  679. 667 00cc 1995 eicall
  680. 668 00ce D601 movw r26,r12
  681. 669 00d0 1E96 adiw r26,14
  682. 670 00d2 ED91 ld r30,X+
  683. 671 00d4 FC91 ld r31,X
  684. 672 00d6 1F97 sbiw r26,14+1
  685. 673 00d8 22E0 ldi r18,lo8(2)
  686. 674 00da 30E0 ldi r19,0
  687. 675 00dc 40E0 ldi r20,0
  688. 676 00de 50E0 ldi r21,0
  689. 677 00e0 60E0 ldi r22,lo8(dummy_tx_buf)
  690. 678 00e2 70E0 ldi r23,hi8(dummy_tx_buf)
  691. 679 00e4 C701 movw r24,r14
  692. 680 00e6 1995 eicall
  693. 681 00e8 C701 movw r24,r14
  694. 682 00ea 0E94 0000 call CardRxTkn
  695. 683 00ee 8983 std Y+1,r24
  696. 684 00f0 853E cpi r24,lo8(-27)
  697. GAS LISTING /tmp/ccTK9h5y.s page 13
  698. 685 00f2 01F0 breq .+2
  699. 686 00f4 00C0 rjmp .L56
  700. 687 00f6 D601 movw r26,r12
  701. 688 00f8 1E96 adiw r26,14
  702. 689 00fa ED91 ld r30,X+
  703. 690 00fc FC91 ld r31,X
  704. 691 00fe 1F97 sbiw r26,14+1
  705. 692 0100 21E0 ldi r18,lo8(1)
  706. 693 0102 30E0 ldi r19,0
  707. 694 0104 40E0 ldi r20,0
  708. 695 0106 50E0 ldi r21,0
  709. 696 0108 60E0 ldi r22,0
  710. 697 010a 70E0 ldi r23,0
  711. 698 010c C701 movw r24,r14
  712. 699 010e 1995 eicall
  713. 700 0110 D601 movw r26,r12
  714. 701 0112 1C96 adiw r26,12
  715. 702 0114 ED91 ld r30,X+
  716. 703 0116 FC91 ld r31,X
  717. 704 0118 1D97 sbiw r26,12+1
  718. 705 011a C701 movw r24,r14
  719. 706 011c 1995 eicall
  720. 707 011e D501 movw r26,r10
  721. 708 0120 1496 adiw r26,4
  722. 709 0122 ED91 ld r30,X+
  723. 710 0124 FC91 ld r31,X
  724. 711 0126 1597 sbiw r26,4+1
  725. 712 0128 80E0 ldi r24,0
  726. 713 012a 90E0 ldi r25,0
  727. 714 012c 1995 eicall
  728. 715 012e 81E0 ldi r24,lo8(1)
  729. 716 0130 90E0 ldi r25,0
  730. 717 0132 00C0 rjmp .L54
  731. 718 .L51:
  732. 719 0134 69E1 ldi r22,lo8(25)
  733. 720 0136 C701 movw r24,r14
  734. 721 0138 0E94 0000 call CardTxCommand
  735. 722 013c 8A83 std Y+2,r24
  736. 723 013e 8F3F cpi r24,lo8(-1)
  737. 724 0140 01F4 brne .+2
  738. 725 0142 00C0 rjmp .L49
  739. 726 0144 8111 cpse r24,__zero_reg__
  740. 727 0146 00C0 rjmp .L56
  741. 728 0148 8CEF ldi r24,lo8(-4)
  742. 729 014a 582E mov r5,r24
  743. 730 .L57:
  744. 731 014c 0615 cp r16,r6
  745. 732 014e 1705 cpc r17,r7
  746. 733 0150 04F0 brlt .+2
  747. 734 0152 00C0 rjmp .L69
  748. 735 0154 5A82 std Y+2,r5
  749. 736 0156 D601 movw r26,r12
  750. 737 0158 1E96 adiw r26,14
  751. 738 015a ED91 ld r30,X+
  752. 739 015c FC91 ld r31,X
  753. 740 015e 1F97 sbiw r26,14+1
  754. 741 0160 21E0 ldi r18,lo8(1)
  755. GAS LISTING /tmp/ccTK9h5y.s page 14
  756. 742 0162 30E0 ldi r19,0
  757. 743 0164 40E0 ldi r20,0
  758. 744 0166 50E0 ldi r21,0
  759. 745 0168 BE01 movw r22,r28
  760. 746 016a 6E5F subi r22,-2
  761. 747 016c 7F4F sbci r23,-1
  762. 748 016e C701 movw r24,r14
  763. 749 0170 1995 eicall
  764. 750 0172 D601 movw r26,r12
  765. 751 0174 1E96 adiw r26,14
  766. 752 0176 ED91 ld r30,X+
  767. 753 0178 FC91 ld r31,X
  768. 754 017a 1F97 sbiw r26,14+1
  769. 755 017c 20E0 ldi r18,0
  770. 756 017e 32E0 ldi r19,lo8(2)
  771. 757 0180 40E0 ldi r20,0
  772. 758 0182 50E0 ldi r21,0
  773. 759 0184 B401 movw r22,r8
  774. 760 0186 C701 movw r24,r14
  775. 761 0188 1995 eicall
  776. 762 018a BEEF ldi r27,-2
  777. 763 018c 9B1A sub r9,r27
  778. 764 018e D601 movw r26,r12
  779. 765 0190 1E96 adiw r26,14
  780. 766 0192 ED91 ld r30,X+
  781. 767 0194 FC91 ld r31,X
  782. 768 0196 1F97 sbiw r26,14+1
  783. 769 0198 22E0 ldi r18,lo8(2)
  784. 770 019a 30E0 ldi r19,0
  785. 771 019c 40E0 ldi r20,0
  786. 772 019e 50E0 ldi r21,0
  787. 773 01a0 60E0 ldi r22,lo8(dummy_tx_buf)
  788. 774 01a2 70E0 ldi r23,hi8(dummy_tx_buf)
  789. 775 01a4 C701 movw r24,r14
  790. 776 01a6 1995 eicall
  791. 777 01a8 C701 movw r24,r14
  792. 778 01aa 0E94 0000 call CardRxTkn
  793. 779 01ae 8A83 std Y+2,r24
  794. 780 01b0 853E cpi r24,lo8(-27)
  795. 781 01b2 01F0 breq .+2
  796. 782 01b4 00C0 rjmp .L56
  797. 783 .L58:
  798. 784 01b6 D601 movw r26,r12
  799. 785 01b8 1E96 adiw r26,14
  800. 786 01ba ED91 ld r30,X+
  801. 787 01bc FC91 ld r31,X
  802. 788 01be 1F97 sbiw r26,14+1
  803. 789 01c0 21E0 ldi r18,lo8(1)
  804. 790 01c2 30E0 ldi r19,0
  805. 791 01c4 AE01 movw r20,r28
  806. 792 01c6 4F5F subi r20,-1
  807. 793 01c8 5F4F sbci r21,-1
  808. 794 01ca 60E0 ldi r22,lo8(dummy_tx_buf)
  809. 795 01cc 70E0 ldi r23,hi8(dummy_tx_buf)
  810. 796 01ce C701 movw r24,r14
  811. 797 01d0 1995 eicall
  812. 798 01d2 8981 ldd r24,Y+1
  813. GAS LISTING /tmp/ccTK9h5y.s page 15
  814. 799 01d4 8F3F cpi r24,lo8(-1)
  815. 800 01d6 01F4 brne .L58
  816. 801 01d8 0F5F subi r16,-1
  817. 802 01da 1F4F sbci r17,-1
  818. 803 01dc 00C0 rjmp .L57
  819. 804 .L69:
  820. 805 01de 8DEF ldi r24,lo8(-3)
  821. 806 01e0 8983 std Y+1,r24
  822. 807 01e2 D601 movw r26,r12
  823. 808 01e4 1E96 adiw r26,14
  824. 809 01e6 ED91 ld r30,X+
  825. 810 01e8 FC91 ld r31,X
  826. 811 01ea 1F97 sbiw r26,14+1
  827. 812 01ec 21E0 ldi r18,lo8(1)
  828. 813 01ee 30E0 ldi r19,0
  829. 814 01f0 40E0 ldi r20,0
  830. 815 01f2 50E0 ldi r21,0
  831. 816 01f4 BE01 movw r22,r28
  832. 817 01f6 6F5F subi r22,-1
  833. 818 01f8 7F4F sbci r23,-1
  834. 819 01fa C701 movw r24,r14
  835. 820 01fc 1995 eicall
  836. 821 01fe D601 movw r26,r12
  837. 822 0200 1E96 adiw r26,14
  838. 823 0202 ED91 ld r30,X+
  839. 824 0204 FC91 ld r31,X
  840. 825 0206 1F97 sbiw r26,14+1
  841. 826 0208 21E0 ldi r18,lo8(1)
  842. 827 020a 30E0 ldi r19,0
  843. 828 020c 40E0 ldi r20,0
  844. 829 020e 50E0 ldi r21,0
  845. 830 0210 60E0 ldi r22,0
  846. 831 0212 70E0 ldi r23,0
  847. 832 0214 C701 movw r24,r14
  848. 833 0216 1995 eicall
  849. 834 0218 D601 movw r26,r12
  850. 835 021a 1C96 adiw r26,12
  851. 836 021c ED91 ld r30,X+
  852. 837 021e FC91 ld r31,X
  853. 838 0220 1D97 sbiw r26,12+1
  854. 839 0222 C701 movw r24,r14
  855. 840 0224 1995 eicall
  856. 841 0226 D501 movw r26,r10
  857. 842 0228 1496 adiw r26,4
  858. 843 022a ED91 ld r30,X+
  859. 844 022c FC91 ld r31,X
  860. 845 022e 1597 sbiw r26,4+1
  861. 846 0230 80E0 ldi r24,0
  862. 847 0232 90E0 ldi r25,0
  863. 848 0234 1995 eicall
  864. 849 0236 C301 movw r24,r6
  865. 850 0238 00C0 rjmp .L54
  866. 851 .L56:
  867. 852 023a D601 movw r26,r12
  868. 853 023c 1C96 adiw r26,12
  869. 854 023e ED91 ld r30,X+
  870. 855 0240 FC91 ld r31,X
  871. GAS LISTING /tmp/ccTK9h5y.s page 16
  872. 856 0242 1D97 sbiw r26,12+1
  873. 857 0244 C701 movw r24,r14
  874. 858 0246 1995 eicall
  875. 859 .L49:
  876. 860 0248 D501 movw r26,r10
  877. 861 024a 1496 adiw r26,4
  878. 862 024c ED91 ld r30,X+
  879. 863 024e FC91 ld r31,X
  880. 864 0250 1597 sbiw r26,4+1
  881. 865 0252 84E0 ldi r24,lo8(4)
  882. 866 0254 90E0 ldi r25,0
  883. 867 0256 1995 eicall
  884. 868 0258 8FEF ldi r24,lo8(-1)
  885. 869 025a 9FEF ldi r25,lo8(-1)
  886. 870 .L54:
  887. 871 /* epilogue start */
  888. 872 025c 0F90 pop __tmp_reg__
  889. 873 025e 0F90 pop __tmp_reg__
  890. 874 0260 DF91 pop r29
  891. 875 0262 CF91 pop r28
  892. 876 0264 1F91 pop r17
  893. 877 0266 0F91 pop r16
  894. 878 0268 FF90 pop r15
  895. 879 026a EF90 pop r14
  896. 880 026c DF90 pop r13
  897. 881 026e CF90 pop r12
  898. 882 0270 BF90 pop r11
  899. 883 0272 AF90 pop r10
  900. 884 0274 9F90 pop r9
  901. 885 0276 8F90 pop r8
  902. 886 0278 7F90 pop r7
  903. 887 027a 6F90 pop r6
  904. 888 027c 5F90 pop r5
  905. 889 027e 0895 ret
  906. 890 .size SpiMmcBlockWrite, .-SpiMmcBlockWrite
  907. 891 .section .text.SpiMmcBlockWrite_P,"ax",@progbits
  908. 892 .global SpiMmcBlockWrite_P
  909. 893 .type SpiMmcBlockWrite_P, @function
  910. 894 SpiMmcBlockWrite_P:
  911. 895 /* prologue: function */
  912. 896 /* frame size = 0 */
  913. 897 /* stack size = 0 */
  914. 898 .L__stack_usage = 0
  915. 899 0000 8FEF ldi r24,lo8(-1)
  916. 900 0002 9FEF ldi r25,lo8(-1)
  917. 901 0004 0895 ret
  918. 902 .size SpiMmcBlockWrite_P, .-SpiMmcBlockWrite_P
  919. 903 .section .text.SpiMmcUnmount,"ax",@progbits
  920. 904 .global SpiMmcUnmount
  921. 905 .type SpiMmcUnmount, @function
  922. 906 SpiMmcUnmount:
  923. 907 0000 EF92 push r14
  924. 908 0002 FF92 push r15
  925. 909 0004 0F93 push r16
  926. 910 0006 1F93 push r17
  927. 911 0008 CF93 push r28
  928. 912 000a DF93 push r29
  929. GAS LISTING /tmp/ccTK9h5y.s page 17
  930. 913 /* prologue: function */
  931. 914 /* frame size = 0 */
  932. 915 /* stack size = 6 */
  933. 916 .L__stack_usage = 6
  934. 917 000c EC01 movw r28,r24
  935. 918 000e 0A81 ldd r16,Y+2
  936. 919 0010 1B81 ldd r17,Y+3
  937. 920 0012 D801 movw r26,r16
  938. 921 0014 8D91 ld r24,X+
  939. 922 0016 9C91 ld r25,X
  940. 923 0018 DC01 movw r26,r24
  941. 924 001a 5596 adiw r26,21
  942. 925 001c ED91 ld r30,X+
  943. 926 001e FC91 ld r31,X
  944. 927 0020 5697 sbiw r26,21+1
  945. 928 0022 40E0 ldi r20,0
  946. 929 0024 50E0 ldi r21,0
  947. 930 0026 61E3 ldi r22,lo8(49)
  948. 931 0028 71E1 ldi r23,lo8(17)
  949. 932 002a 1995 eicall
  950. 933 002c 7C01 movw r14,r24
  951. 934 002e C801 movw r24,r16
  952. 935 0030 0E94 0000 call free
  953. 936 0034 CE01 movw r24,r28
  954. 937 0036 0E94 0000 call free
  955. 938 003a C701 movw r24,r14
  956. 939 /* epilogue start */
  957. 940 003c DF91 pop r29
  958. 941 003e CF91 pop r28
  959. 942 0040 1F91 pop r17
  960. 943 0042 0F91 pop r16
  961. 944 0044 FF90 pop r15
  962. 945 0046 EF90 pop r14
  963. 946 0048 0895 ret
  964. 947 .size SpiMmcUnmount, .-SpiMmcUnmount
  965. 948 .section .text.SpiMmcMount,"ax",@progbits
  966. 949 .global SpiMmcMount
  967. 950 .type SpiMmcMount, @function
  968. 951 SpiMmcMount:
  969. 952 0000 2F92 push r2
  970. 953 0002 3F92 push r3
  971. 954 0004 4F92 push r4
  972. 955 0006 5F92 push r5
  973. 956 0008 6F92 push r6
  974. 957 000a 7F92 push r7
  975. 958 000c 8F92 push r8
  976. 959 000e 9F92 push r9
  977. 960 0010 AF92 push r10
  978. 961 0012 BF92 push r11
  979. 962 0014 CF92 push r12
  980. 963 0016 DF92 push r13
  981. 964 0018 EF92 push r14
  982. 965 001a FF92 push r15
  983. 966 001c 0F93 push r16
  984. 967 001e 1F93 push r17
  985. 968 0020 CF93 push r28
  986. 969 0022 DF93 push r29
  987. GAS LISTING /tmp/ccTK9h5y.s page 18
  988. 970 0024 CDB7 in r28,__SP_L__
  989. 971 0026 DEB7 in r29,__SP_H__
  990. 972 0028 2A97 sbiw r28,10
  991. 973 002a 0FB6 in __tmp_reg__,__SREG__
  992. 974 002c F894 cli
  993. 975 002e DEBF out __SP_H__,r29
  994. 976 0030 0FBE out __SREG__,__tmp_reg__
  995. 977 0032 CDBF out __SP_L__,r28
  996. 978 /* prologue: function */
  997. 979 /* frame size = 10 */
  998. 980 /* stack size = 28 */
  999. 981 .L__stack_usage = 28
  1000. 982 0034 2C01 movw r4,r24
  1001. 983 0036 6B01 movw r12,r22
  1002. 984 0038 DC01 movw r26,r24
  1003. 985 003a 5196 adiw r26,17
  1004. 986 003c ED91 ld r30,X+
  1005. 987 003e FC91 ld r31,X
  1006. 988 0040 5297 sbiw r26,17+1
  1007. 989 0042 8181 ldd r24,Z+1
  1008. 990 0044 80FD sbrc r24,0
  1009. 991 0046 00C0 rjmp .L73
  1010. 992 .L84:
  1011. 993 0048 83E1 ldi r24,lo8(19)
  1012. 994 004a 90E0 ldi r25,0
  1013. 995 004c 00C0 rjmp .L128
  1014. 996 .L73:
  1015. 997 004e D201 movw r26,r4
  1016. 998 0050 1F96 adiw r26,15
  1017. 999 0052 AD90 ld r10,X+
  1018. 1000 0054 BC90 ld r11,X
  1019. 1001 0056 5097 sbiw r26,15+1
  1020. 1002 0058 1082 st Z,__zero_reg__
  1021. 1003 005a F501 movw r30,r10
  1022. 1004 005c 2484 ldd r2,Z+12
  1023. 1005 005e 3584 ldd r3,Z+13
  1024. 1006 0060 8080 ld r8,Z
  1025. 1007 0062 9180 ldd r9,Z+1
  1026. 1008 0064 D401 movw r26,r8
  1027. 1009 0066 5496 adiw r26,20
  1028. 1010 0068 ED91 ld r30,X+
  1029. 1011 006a FC91 ld r31,X
  1030. 1012 006c 5597 sbiw r26,20+1
  1031. 1013 006e 40E8 ldi r20,lo8(-128)
  1032. 1014 0070 5AE1 ldi r21,lo8(26)
  1033. 1015 0072 66E0 ldi r22,lo8(6)
  1034. 1016 0074 70E0 ldi r23,0
  1035. 1017 0076 C501 movw r24,r10
  1036. 1018 0078 1995 eicall
  1037. 1019 007a D401 movw r26,r8
  1038. 1020 007c 1E96 adiw r26,14
  1039. 1021 007e ED91 ld r30,X+
  1040. 1022 0080 FC91 ld r31,X
  1041. 1023 0082 1F97 sbiw r26,14+1
  1042. 1024 0084 2AE0 ldi r18,lo8(10)
  1043. 1025 0086 30E0 ldi r19,0
  1044. 1026 0088 40E0 ldi r20,0
  1045. GAS LISTING /tmp/ccTK9h5y.s page 19
  1046. 1027 008a 50E0 ldi r21,0
  1047. 1028 008c 60E0 ldi r22,0
  1048. 1029 008e 70E0 ldi r23,0
  1049. 1030 0090 C501 movw r24,r10
  1050. 1031 0092 1995 eicall
  1051. 1032 0094 01E0 ldi r16,lo8(1)
  1052. 1033 0096 10E0 ldi r17,0
  1053. 1034 0098 20E0 ldi r18,0
  1054. 1035 009a 30E0 ldi r19,0
  1055. 1036 009c A901 movw r20,r18
  1056. 1037 009e 60E0 ldi r22,0
  1057. 1038 00a0 C501 movw r24,r10
  1058. 1039 00a2 0E94 0000 call CardTxCommand
  1059. 1040 00a6 2AEA ldi r18,lo8(-86)
  1060. 1041 00a8 31E0 ldi r19,lo8(1)
  1061. 1042 00aa 40E0 ldi r20,0
  1062. 1043 00ac 50E0 ldi r21,0
  1063. 1044 00ae 68E0 ldi r22,lo8(8)
  1064. 1045 00b0 C501 movw r24,r10
  1065. 1046 00b2 0E94 0000 call CardTxCommand
  1066. 1047 00b6 F101 movw r30,r2
  1067. 1048 00b8 9181 ldd r25,Z+1
  1068. 1049 00ba 9B7F andi r25,lo8(-5)
  1069. 1050 00bc 9183 std Z+1,r25
  1070. 1051 00be 82FD sbrc r24,2
  1071. 1052 00c0 00C0 rjmp .L105
  1072. 1053 00c2 80E0 ldi r24,0
  1073. 1054 00c4 90E0 ldi r25,0
  1074. 1055 00c6 A0E0 ldi r26,0
  1075. 1056 00c8 B0E4 ldi r27,lo8(64)
  1076. 1057 00ca 8E83 std Y+6,r24
  1077. 1058 00cc 9F83 std Y+7,r25
  1078. 1059 00ce A887 std Y+8,r26
  1079. 1060 00d0 B987 std Y+9,r27
  1080. 1061 00d2 00C0 rjmp .L75
  1081. 1062 .L105:
  1082. 1063 00d4 1E82 std Y+6,__zero_reg__
  1083. 1064 00d6 1F82 std Y+7,__zero_reg__
  1084. 1065 00d8 1886 std Y+8,__zero_reg__
  1085. 1066 00da 1986 std Y+9,__zero_reg__
  1086. 1067 .L75:
  1087. 1068 00dc 612C mov r6,__zero_reg__
  1088. 1069 00de 22E0 ldi r18,lo8(2)
  1089. 1070 00e0 722E mov r7,r18
  1090. 1071 00e2 1A86 std Y+10,__zero_reg__
  1091. 1072 .L83:
  1092. 1073 00e4 9A85 ldd r25,Y+10
  1093. 1074 00e6 01E0 ldi r16,lo8(1)
  1094. 1075 00e8 10E0 ldi r17,0
  1095. 1076 00ea 20E0 ldi r18,0
  1096. 1077 00ec 30E0 ldi r19,0
  1097. 1078 00ee A901 movw r20,r18
  1098. 1079 00f0 9923 tst r25
  1099. 1080 00f2 01F0 breq .L76
  1100. 1081 00f4 61E0 ldi r22,lo8(1)
  1101. 1082 00f6 C501 movw r24,r10
  1102. 1083 00f8 0E94 0000 call CardTxCommand
  1103. GAS LISTING /tmp/ccTK9h5y.s page 20
  1104. 1084 00fc 8111 cpse r24,__zero_reg__
  1105. 1085 00fe 00C0 rjmp .L77
  1106. 1086 0100 D401 movw r26,r8
  1107. 1087 0102 5496 adiw r26,20
  1108. 1088 0104 ED91 ld r30,X+
  1109. 1089 0106 FC91 ld r31,X
  1110. 1090 0108 5597 sbiw r26,20+1
  1111. 1091 010a 40E0 ldi r20,0
  1112. 1092 010c 5DE2 ldi r21,lo8(45)
  1113. 1093 010e 61E3 ldi r22,lo8(49)
  1114. 1094 0110 71E0 ldi r23,lo8(1)
  1115. 1095 0112 C501 movw r24,r10
  1116. 1096 0114 1995 eicall
  1117. 1097 0116 E12C mov r14,__zero_reg__
  1118. 1098 0118 F12C mov r15,__zero_reg__
  1119. 1099 011a 00C0 rjmp .L78
  1120. 1100 .L76:
  1121. 1101 011c 67E3 ldi r22,lo8(55)
  1122. 1102 011e C501 movw r24,r10
  1123. 1103 0120 0E94 0000 call CardTxCommand
  1124. 1104 0124 00E0 ldi r16,0
  1125. 1105 0126 10E0 ldi r17,0
  1126. 1106 0128 2E81 ldd r18,Y+6
  1127. 1107 012a 3F81 ldd r19,Y+7
  1128. 1108 012c 4885 ldd r20,Y+8
  1129. 1109 012e 5985 ldd r21,Y+9
  1130. 1110 0130 69E2 ldi r22,lo8(41)
  1131. 1111 0132 C501 movw r24,r10
  1132. 1112 0134 0E94 0000 call CardTxCommand
  1133. 1113 0138 8C01 movw r16,r24
  1134. 1114 013a D401 movw r26,r8
  1135. 1115 013c 1C96 adiw r26,12
  1136. 1116 013e ED91 ld r30,X+
  1137. 1117 0140 FC91 ld r31,X
  1138. 1118 0142 1D97 sbiw r26,12+1
  1139. 1119 0144 C501 movw r24,r10
  1140. 1120 0146 1995 eicall
  1141. 1121 0148 7801 movw r14,r16
  1142. 1122 014a B4E0 ldi r27,4
  1143. 1123 014c EB22 and r14,r27
  1144. 1124 014e FF24 clr r15
  1145. 1125 0150 02FD sbrc r16,2
  1146. 1126 0152 00C0 rjmp .L77
  1147. 1127 0154 0111 cpse r16,__zero_reg__
  1148. 1128 0156 00C0 rjmp .L80
  1149. 1129 0158 00E0 ldi r16,0
  1150. 1130 015a 10E0 ldi r17,0
  1151. 1131 015c 20E0 ldi r18,0
  1152. 1132 015e 30E0 ldi r19,0
  1153. 1133 0160 A901 movw r20,r18
  1154. 1134 0162 6AE3 ldi r22,lo8(58)
  1155. 1135 0164 C501 movw r24,r10
  1156. 1136 0166 0E94 0000 call CardTxCommand
  1157. 1137 016a D401 movw r26,r8
  1158. 1138 016c 1E96 adiw r26,14
  1159. 1139 016e ED91 ld r30,X+
  1160. 1140 0170 FC91 ld r31,X
  1161. GAS LISTING /tmp/ccTK9h5y.s page 21
  1162. 1141 0172 1F97 sbiw r26,14+1
  1163. 1142 0174 24E0 ldi r18,lo8(4)
  1164. 1143 0176 30E0 ldi r19,0
  1165. 1144 0178 AE01 movw r20,r28
  1166. 1145 017a 4F5F subi r20,-1
  1167. 1146 017c 5F4F sbci r21,-1
  1168. 1147 017e 60E0 ldi r22,lo8(dummy_tx_buf)
  1169. 1148 0180 70E0 ldi r23,hi8(dummy_tx_buf)
  1170. 1149 0182 C501 movw r24,r10
  1171. 1150 0184 1995 eicall
  1172. 1151 0186 D401 movw r26,r8
  1173. 1152 0188 1C96 adiw r26,12
  1174. 1153 018a ED91 ld r30,X+
  1175. 1154 018c FC91 ld r31,X
  1176. 1155 018e 1D97 sbiw r26,12+1
  1177. 1156 0190 C501 movw r24,r10
  1178. 1157 0192 1995 eicall
  1179. 1158 0194 8981 ldd r24,Y+1
  1180. 1159 0196 87FF sbrs r24,7
  1181. 1160 0198 00C0 rjmp .L80
  1182. 1161 019a 86FF sbrs r24,6
  1183. 1162 019c 00C0 rjmp .L82
  1184. 1163 019e F101 movw r30,r2
  1185. 1164 01a0 8181 ldd r24,Z+1
  1186. 1165 01a2 8460 ori r24,lo8(4)
  1187. 1166 01a4 8183 std Z+1,r24
  1188. 1167 .L82:
  1189. 1168 01a6 D401 movw r26,r8
  1190. 1169 01a8 5496 adiw r26,20
  1191. 1170 01aa ED91 ld r30,X+
  1192. 1171 01ac FC91 ld r31,X
  1193. 1172 01ae 5597 sbiw r26,20+1
  1194. 1173 01b0 40E0 ldi r20,0
  1195. 1174 01b2 5DE2 ldi r21,lo8(45)
  1196. 1175 01b4 61E3 ldi r22,lo8(49)
  1197. 1176 01b6 71E0 ldi r23,lo8(1)
  1198. 1177 01b8 C501 movw r24,r10
  1199. 1178 01ba 1995 eicall
  1200. 1179 01bc 00C0 rjmp .L78
  1201. 1180 .L77:
  1202. 1181 01be B1E0 ldi r27,lo8(1)
  1203. 1182 01c0 BA87 std Y+10,r27
  1204. 1183 .L80:
  1205. 1184 01c2 6AE0 ldi r22,lo8(10)
  1206. 1185 01c4 70E0 ldi r23,0
  1207. 1186 01c6 80E0 ldi r24,0
  1208. 1187 01c8 90E0 ldi r25,0
  1209. 1188 01ca 0E94 0000 call NutSleep
  1210. 1189 01ce E1E0 ldi r30,1
  1211. 1190 01d0 6E1A sub r6,r30
  1212. 1191 01d2 7108 sbc r7,__zero_reg__
  1213. 1192 01d4 01F0 breq .+2
  1214. 1193 01d6 00C0 rjmp .L83
  1215. 1194 01d8 EE24 clr r14
  1216. 1195 01da EA94 dec r14
  1217. 1196 01dc FE2C mov r15,r14
  1218. 1197 .L78:
  1219. GAS LISTING /tmp/ccTK9h5y.s page 22
  1220. 1198 01de EF28 or r14,r15
  1221. 1199 01e0 01F0 breq .+2
  1222. 1200 01e2 00C0 rjmp .L84
  1223. 1201 01e4 D601 movw r26,r12
  1224. 1202 01e6 8C91 ld r24,X
  1225. 1203 01e8 8823 tst r24
  1226. 1204 01ea 01F0 breq .L106
  1227. 1205 01ec C601 movw r24,r12
  1228. 1206 01ee 0E94 0000 call atoi
  1229. 1207 01f2 3C01 movw r6,r24
  1230. 1208 01f4 C601 movw r24,r12
  1231. 1209 01f6 0196 adiw r24,1
  1232. 1210 .L86:
  1233. 1211 01f8 6C01 movw r12,r24
  1234. 1212 01fa FC01 movw r30,r24
  1235. 1213 01fc 2081 ld r18,Z
  1236. 1214 01fe 0196 adiw r24,1
  1237. 1215 0200 2223 tst r18
  1238. 1216 0202 01F0 breq .L85
  1239. 1217 0204 2F32 cpi r18,lo8(47)
  1240. 1218 0206 01F4 brne .L86
  1241. 1219 0208 6C01 movw r12,r24
  1242. 1220 020a 00C0 rjmp .L85
  1243. 1221 .L106:
  1244. 1222 020c 612C mov r6,__zero_reg__
  1245. 1223 020e 712C mov r7,__zero_reg__
  1246. 1224 .L85:
  1247. 1225 0210 8090 0000 lds r8,nutDeviceList
  1248. 1226 0214 9090 0000 lds r9,nutDeviceList+1
  1249. 1227 .L88:
  1250. 1228 0218 8114 cp r8,__zero_reg__
  1251. 1229 021a 9104 cpc r9,__zero_reg__
  1252. 1230 021c 01F4 brne .+2
  1253. 1231 021e 00C0 rjmp .L84
  1254. 1232 0220 D601 movw r26,r12
  1255. 1233 0222 8C91 ld r24,X
  1256. 1234 0224 8111 cpse r24,__zero_reg__
  1257. 1235 0226 00C0 rjmp .L89
  1258. 1236 0228 F401 movw r30,r8
  1259. 1237 022a 8385 ldd r24,Z+11
  1260. 1238 022c 8031 cpi r24,lo8(16)
  1261. 1239 022e 01F4 brne .L91
  1262. 1240 0230 00C0 rjmp .L90
  1263. 1241 .L89:
  1264. 1242 0232 B601 movw r22,r12
  1265. 1243 0234 C401 movw r24,r8
  1266. 1244 0236 0296 adiw r24,2
  1267. 1245 0238 0E94 0000 call strcmp
  1268. 1246 023c 892B or r24,r25
  1269. 1247 023e 01F0 breq .L90
  1270. 1248 .L91:
  1271. 1249 0240 D401 movw r26,r8
  1272. 1250 0242 8D90 ld r8,X+
  1273. 1251 0244 9C90 ld r9,X
  1274. 1252 0246 00C0 rjmp .L88
  1275. 1253 .L90:
  1276. 1254 0248 66E1 ldi r22,lo8(22)
  1277. GAS LISTING /tmp/ccTK9h5y.s page 23
  1278. 1255 024a 72E0 ldi r23,lo8(2)
  1279. 1256 024c 81E0 ldi r24,lo8(1)
  1280. 1257 024e 90E0 ldi r25,0
  1281. 1258 0250 0E94 0000 call calloc
  1282. 1259 0254 6C01 movw r12,r24
  1283. 1260 0256 892B or r24,r25
  1284. 1261 0258 01F4 brne .+2
  1285. 1262 025a 00C0 rjmp .L129
  1286. 1263 025c F601 movw r30,r12
  1287. 1264 025e 9182 std Z+1,r9
  1288. 1265 0260 8082 st Z,r8
  1289. 1266 0262 E12C mov r14,__zero_reg__
  1290. 1267 0264 82E0 ldi r24,lo8(2)
  1291. 1268 0266 F82E mov r15,r24
  1292. 1269 0268 8601 movw r16,r12
  1293. 1270 026a 0A5E subi r16,-22
  1294. 1271 026c 1F4F sbci r17,-1
  1295. 1272 026e 20E0 ldi r18,0
  1296. 1273 0270 30E0 ldi r19,0
  1297. 1274 0272 A901 movw r20,r18
  1298. 1275 0274 61E1 ldi r22,lo8(17)
  1299. 1276 0276 C501 movw r24,r10
  1300. 1277 0278 0E94 0000 call CardRxData
  1301. 1278 027c 892B or r24,r25
  1302. 1279 027e 01F0 breq .+2
  1303. 1280 0280 00C0 rjmp .L130
  1304. 1281 0282 F601 movw r30,r12
  1305. 1282 0284 EC5E subi r30,-20
  1306. 1283 0286 FD4F sbci r31,-3
  1307. 1284 0288 8081 ld r24,Z
  1308. 1285 028a 8535 cpi r24,lo8(85)
  1309. 1286 028c 01F0 breq .+2
  1310. 1287 028e 00C0 rjmp .L130
  1311. 1288 0290 3196 adiw r30,1
  1312. 1289 0292 8081 ld r24,Z
  1313. 1290 0294 8A3A cpi r24,lo8(-86)
  1314. 1291 0296 01F0 breq .+2
  1315. 1292 0298 00C0 rjmp .L130
  1316. 1293 029a F601 movw r30,r12
  1317. 1294 029c E45B subi r30,-76
  1318. 1295 029e FF4F sbci r31,-1
  1319. 1296 02a0 8081 ld r24,Z
  1320. 1297 02a2 8634 cpi r24,lo8(70)
  1321. 1298 02a4 01F4 brne .L96
  1322. 1299 02a6 3196 adiw r30,1
  1323. 1300 02a8 8081 ld r24,Z
  1324. 1301 02aa 8134 cpi r24,lo8(65)
  1325. 1302 02ac 01F4 brne .L96
  1326. 1303 02ae 3196 adiw r30,1
  1327. 1304 02b0 8081 ld r24,Z
  1328. 1305 02b2 8435 cpi r24,lo8(84)
  1329. 1306 02b4 01F4 brne .L96
  1330. 1307 02b6 81E0 ldi r24,lo8(1)
  1331. 1308 02b8 D601 movw r26,r12
  1332. 1309 02ba 1696 adiw r26,6
  1333. 1310 02bc 8C93 st X,r24
  1334. 1311 02be F601 movw r30,r12
  1335. GAS LISTING /tmp/ccTK9h5y.s page 24
  1336. 1312 02c0 1286 std Z+10,__zero_reg__
  1337. 1313 02c2 1386 std Z+11,__zero_reg__
  1338. 1314 02c4 1486 std Z+12,__zero_reg__
  1339. 1315 02c6 1586 std Z+13,__zero_reg__
  1340. 1316 02c8 80E0 ldi r24,0
  1341. 1317 02ca 90E0 ldi r25,0
  1342. 1318 02cc A1E0 ldi r26,lo8(1)
  1343. 1319 02ce B0E0 ldi r27,0
  1344. 1320 02d0 8687 std Z+14,r24
  1345. 1321 02d2 9787 std Z+15,r25
  1346. 1322 02d4 A08B std Z+16,r26
  1347. 1323 02d6 B18B std Z+17,r27
  1348. 1324 .L97:
  1349. 1325 02d8 64E0 ldi r22,lo8(4)
  1350. 1326 02da 70E0 ldi r23,0
  1351. 1327 02dc 80E0 ldi r24,lo8(heapFreeList)
  1352. 1328 02de 90E0 ldi r25,hi8(heapFreeList)
  1353. 1329 02e0 0E94 0000 call NutHeapRootAlloc
  1354. 1330 02e4 7C01 movw r14,r24
  1355. 1331 02e6 0097 sbiw r24,0
  1356. 1332 02e8 01F4 brne .L102
  1357. 1333 02ea C601 movw r24,r12
  1358. 1334 02ec 0E94 0000 call free
  1359. 1335 .L129:
  1360. 1336 02f0 8CE0 ldi r24,lo8(12)
  1361. 1337 02f2 90E0 ldi r25,0
  1362. 1338 .L128:
  1363. 1339 02f4 9093 0000 sts errno+1,r25
  1364. 1340 02f8 8093 0000 sts errno,r24
  1365. 1341 02fc 00C0 rjmp .L127
  1366. 1342 .L96:
  1367. 1343 02fe F601 movw r30,r12
  1368. 1344 0300 EC52 subi r30,44
  1369. 1345 0302 FE4F sbci r31,-2
  1370. 1346 0304 81E0 ldi r24,lo8(1)
  1371. 1347 0306 90E0 ldi r25,0
  1372. 1348 .L101:
  1373. 1349 0308 6114 cp r6,__zero_reg__
  1374. 1350 030a 7104 cpc r7,__zero_reg__
  1375. 1351 030c 01F0 breq .L98
  1376. 1352 030e 6816 cp r6,r24
  1377. 1353 0310 7906 cpc r7,r25
  1378. 1354 0312 01F4 brne .L99
  1379. 1355 .L126:
  1380. 1356 0314 80E1 ldi r24,lo8(16)
  1381. 1357 0316 D601 movw r26,r12
  1382. 1358 0318 1296 adiw r26,2
  1383. 1359 0:
  1384. 1360 031a 0190 ld r0,Z+
  1385. 1361 031c 0D92 st X+,r0
  1386. 1362 031e 8A95 dec r24
  1387. 1363 0320 01F4 brne 0b
  1388. 1364 .L100:
  1389. 1365 0322 D601 movw r26,r12
  1390. 1366 0324 1696 adiw r26,6
  1391. 1367 0326 8C91 ld r24,X
  1392. 1368 0328 8111 cpse r24,__zero_reg__
  1393. GAS LISTING /tmp/ccTK9h5y.s page 25
  1394. 1369 032a 00C0 rjmp .L97
  1395. 1370 .L130:
  1396. 1371 032c C601 movw r24,r12
  1397. 1372 032e 0E94 0000 call free
  1398. 1373 .L127:
  1399. 1374 0332 8FEF ldi r24,lo8(-1)
  1400. 1375 0334 9FEF ldi r25,lo8(-1)
  1401. 1376 0336 00C0 rjmp .L123
  1402. 1377 .L98:
  1403. 1378 0338 2081 ld r18,Z
  1404. 1379 033a 27FD sbrc r18,7
  1405. 1380 033c 00C0 rjmp .L126
  1406. 1381 .L99:
  1407. 1382 033e 7096 adiw r30,16
  1408. 1383 0340 0196 adiw r24,1
  1409. 1384 0342 8530 cpi r24,5
  1410. 1385 0344 9105 cpc r25,__zero_reg__
  1411. 1386 0346 01F4 brne .L101
  1412. 1387 0348 00C0 rjmp .L100
  1413. 1388 .L102:
  1414. 1389 034a FC01 movw r30,r24
  1415. 1390 034c 5182 std Z+1,r5
  1416. 1391 034e 4082 st Z,r4
  1417. 1392 0350 D382 std Z+3,r13
  1418. 1393 0352 C282 std Z+2,r12
  1419. 1394 0354 9A83 std Y+2,r25
  1420. 1395 0356 8983 std Y+1,r24
  1421. 1396 0358 D601 movw r26,r12
  1422. 1397 035a 1696 adiw r26,6
  1423. 1398 035c 8C91 ld r24,X
  1424. 1399 035e 8B83 std Y+3,r24
  1425. 1400 0360 D401 movw r26,r8
  1426. 1401 0362 5596 adiw r26,21
  1427. 1402 0364 ED91 ld r30,X+
  1428. 1403 0366 FC91 ld r31,X
  1429. 1404 0368 5697 sbiw r26,21+1
  1430. 1405 036a AE01 movw r20,r28
  1431. 1406 036c 4F5F subi r20,-1
  1432. 1407 036e 5F4F sbci r21,-1
  1433. 1408 0370 60E3 ldi r22,lo8(48)
  1434. 1409 0372 71E1 ldi r23,lo8(17)
  1435. 1410 0374 C401 movw r24,r8
  1436. 1411 0376 1995 eicall
  1437. 1412 0378 892B or r24,r25
  1438. 1413 037a 01F0 breq .L107
  1439. 1414 037c C701 movw r24,r14
  1440. 1415 037e 0E94 0000 call SpiMmcUnmount
  1441. 1416 0382 00C0 rjmp .L127
  1442. 1417 .L107:
  1443. 1418 0384 C701 movw r24,r14
  1444. 1419 .L123:
  1445. 1420 /* epilogue start */
  1446. 1421 0386 2A96 adiw r28,10
  1447. 1422 0388 0FB6 in __tmp_reg__,__SREG__
  1448. 1423 038a F894 cli
  1449. 1424 038c DEBF out __SP_H__,r29
  1450. 1425 038e 0FBE out __SREG__,__tmp_reg__
  1451. GAS LISTING /tmp/ccTK9h5y.s page 26
  1452. 1426 0390 CDBF out __SP_L__,r28
  1453. 1427 0392 DF91 pop r29
  1454. 1428 0394 CF91 pop r28
  1455. 1429 0396 1F91 pop r17
  1456. 1430 0398 0F91 pop r16
  1457. 1431 039a FF90 pop r15
  1458. 1432 039c EF90 pop r14
  1459. 1433 039e DF90 pop r13
  1460. 1434 03a0 CF90 pop r12
  1461. 1435 03a2 BF90 pop r11
  1462. 1436 03a4 AF90 pop r10
  1463. 1437 03a6 9F90 pop r9
  1464. 1438 03a8 8F90 pop r8
  1465. 1439 03aa 7F90 pop r7
  1466. 1440 03ac 6F90 pop r6
  1467. 1441 03ae 5F90 pop r5
  1468. 1442 03b0 4F90 pop r4
  1469. 1443 03b2 3F90 pop r3
  1470. 1444 03b4 2F90 pop r2
  1471. 1445 03b6 0895 ret
  1472. 1446 .size SpiMmcMount, .-SpiMmcMount
  1473. 1447 .section .text.SpiMmcIOCtl,"ax",@progbits
  1474. 1448 .global SpiMmcIOCtl
  1475. 1449 .type SpiMmcIOCtl, @function
  1476. 1450 SpiMmcIOCtl:
  1477. 1451 0000 AF92 push r10
  1478. 1452 0002 BF92 push r11
  1479. 1453 0004 CF92 push r12
  1480. 1454 0006 DF92 push r13
  1481. 1455 0008 EF92 push r14
  1482. 1456 000a FF92 push r15
  1483. 1457 000c 0F93 push r16
  1484. 1458 000e 1F93 push r17
  1485. 1459 0010 CF93 push r28
  1486. 1460 0012 DF93 push r29
  1487. 1461 0014 1F92 push __zero_reg__
  1488. 1462 0016 CDB7 in r28,__SP_L__
  1489. 1463 0018 DEB7 in r29,__SP_H__
  1490. 1464 /* prologue: function */
  1491. 1465 /* frame size = 1 */
  1492. 1466 /* stack size = 11 */
  1493. 1467 .L__stack_usage = 11
  1494. 1468 001a 6A01 movw r12,r20
  1495. 1469 001c DC01 movw r26,r24
  1496. 1470 001e 1F96 adiw r26,15
  1497. 1471 0020 AD90 ld r10,X+
  1498. 1472 0022 BC90 ld r11,X
  1499. 1473 0024 5097 sbiw r26,15+1
  1500. 1474 0026 5196 adiw r26,17
  1501. 1475 0028 2D91 ld r18,X+
  1502. 1476 002a 3C91 ld r19,X
  1503. 1477 002c 5297 sbiw r26,17+1
  1504. 1478 002e 6130 cpi r22,1
  1505. 1479 0030 B0E2 ldi r27,32
  1506. 1480 0032 7B07 cpc r23,r27
  1507. 1481 0034 01F4 brne .+2
  1508. 1482 0036 00C0 rjmp .L133
  1509. GAS LISTING /tmp/ccTK9h5y.s page 27
  1510. 1483 0038 04F4 brge .L134
  1511. 1484 003a 6130 cpi r22,1
  1512. 1485 003c F2E1 ldi r31,18
  1513. 1486 003e 7F07 cpc r23,r31
  1514. 1487 0040 01F0 breq .L135
  1515. 1488 0042 04F4 brge .L136
  1516. 1489 0044 6115 cp r22,__zero_reg__
  1517. 1490 0046 7241 sbci r23,18
  1518. 1491 0048 01F0 breq .+2
  1519. 1492 004a 00C0 rjmp .L146
  1520. 1493 004c F901 movw r30,r18
  1521. 1494 004e 8181 ldd r24,Z+1
  1522. 1495 0050 8170 andi r24,1
  1523. 1496 0052 DA01 movw r26,r20
  1524. 1497 0054 8C93 st X,r24
  1525. 1498 0056 1196 adiw r26,1
  1526. 1499 0058 1C92 st X,__zero_reg__
  1527. 1500 005a 00C0 rjmp .L147
  1528. 1501 .L136:
  1529. 1502 005c 6230 cpi r22,2
  1530. 1503 005e B2E1 ldi r27,18
  1531. 1504 0060 7B07 cpc r23,r27
  1532. 1505 0062 01F0 breq .L138
  1533. 1506 0064 6330 cpi r22,3
  1534. 1507 0066 7241 sbci r23,18
  1535. 1508 0068 01F0 breq .L139
  1536. 1509 006a 00C0 rjmp .L146
  1537. 1510 .L134:
  1538. 1511 006c 6330 cpi r22,3
  1539. 1512 006e F0E2 ldi r31,32
  1540. 1513 0070 7F07 cpc r23,r31
  1541. 1514 0072 01F4 brne .+2
  1542. 1515 0074 00C0 rjmp .L140
  1543. 1516 0076 04F4 brge .+2
  1544. 1517 0078 00C0 rjmp .L141
  1545. 1518 007a 6430 cpi r22,4
  1546. 1519 007c A0E2 ldi r26,32
  1547. 1520 007e 7A07 cpc r23,r26
  1548. 1521 0080 01F4 brne .+2
  1549. 1522 0082 00C0 rjmp .L142
  1550. 1523 0084 6530 cpi r22,5
  1551. 1524 0086 7042 sbci r23,32
  1552. 1525 0088 01F0 breq .+2
  1553. 1526 008a 00C0 rjmp .L146
  1554. 1527 008c 80E1 ldi r24,lo8(16)
  1555. 1528 008e E82E mov r14,r24
  1556. 1529 0090 F12C mov r15,__zero_reg__
  1557. 1530 0092 8A01 movw r16,r20
  1558. 1531 0094 20E0 ldi r18,0
  1559. 1532 0096 30E0 ldi r19,0
  1560. 1533 0098 A901 movw r20,r18
  1561. 1534 009a 68E0 ldi r22,lo8(8)
  1562. 1535 009c 00C0 rjmp .L150
  1563. 1536 .L135:
  1564. 1537 009e F901 movw r30,r18
  1565. 1538 00a0 8081 ld r24,Z
  1566. 1539 00a2 90E0 ldi r25,0
  1567. GAS LISTING /tmp/ccTK9h5y.s page 28
  1568. 1540 00a4 00C0 rjmp .L151
  1569. 1541 .L138:
  1570. 1542 00a6 DA01 movw r26,r20
  1571. 1543 00a8 ED91 ld r30,X+
  1572. 1544 00aa FC91 ld r31,X
  1573. 1545 00ac 2281 ldd r18,Z+2
  1574. 1546 00ae 3381 ldd r19,Z+3
  1575. 1547 00b0 F901 movw r30,r18
  1576. 1548 00b2 8685 ldd r24,Z+14
  1577. 1549 00b4 9785 ldd r25,Z+15
  1578. 1550 00b6 A089 ldd r26,Z+16
  1579. 1551 00b8 B189 ldd r27,Z+17
  1580. 1552 00ba FA01 movw r30,r20
  1581. 1553 00bc 8283 std Z+2,r24
  1582. 1554 00be 9383 std Z+3,r25
  1583. 1555 00c0 A483 std Z+4,r26
  1584. 1556 00c2 B583 std Z+5,r27
  1585. 1557 00c4 80E0 ldi r24,0
  1586. 1558 00c6 92E0 ldi r25,lo8(2)
  1587. 1559 00c8 A0E0 ldi r26,0
  1588. 1560 00ca B0E0 ldi r27,0
  1589. 1561 00cc 8683 std Z+6,r24
  1590. 1562 00ce 9783 std Z+7,r25
  1591. 1563 00d0 A087 std Z+8,r26
  1592. 1564 00d2 B187 std Z+9,r27
  1593. 1565 00d4 F901 movw r30,r18
  1594. 1566 00d6 7696 adiw r30,22
  1595. 1567 00d8 DA01 movw r26,r20
  1596. 1568 00da 1B96 adiw r26,10+1
  1597. 1569 00dc FC93 st X,r31
  1598. 1570 00de EE93 st -X,r30
  1599. 1571 00e0 1A97 sbiw r26,10
  1600. 1572 00e2 00C0 rjmp .L147
  1601. 1573 .L139:
  1602. 1574 00e4 DA01 movw r26,r20
  1603. 1575 00e6 ED91 ld r30,X+
  1604. 1576 00e8 FC91 ld r31,X
  1605. 1577 00ea 1197 sbiw r26,1
  1606. 1578 00ec 0281 ldd r16,Z+2
  1607. 1579 00ee 1381 ldd r17,Z+3
  1608. 1580 00f0 1296 adiw r26,2
  1609. 1581 00f2 4D91 ld r20,X+
  1610. 1582 00f4 5D91 ld r21,X+
  1611. 1583 00f6 6D91 ld r22,X+
  1612. 1584 00f8 7C91 ld r23,X
  1613. 1585 00fa 1597 sbiw r26,2+3
  1614. 1586 00fc F801 movw r30,r16
  1615. 1587 00fe 8285 ldd r24,Z+10
  1616. 1588 0100 9385 ldd r25,Z+11
  1617. 1589 0102 A485 ldd r26,Z+12
  1618. 1590 0104 B585 ldd r27,Z+13
  1619. 1591 0106 840F add r24,r20
  1620. 1592 0108 951F adc r25,r21
  1621. 1593 010a A61F adc r26,r22
  1622. 1594 010c B71F adc r27,r23
  1623. 1595 010e 828B std Z+18,r24
  1624. 1596 0110 938B std Z+19,r25
  1625. GAS LISTING /tmp/ccTK9h5y.s page 29
  1626. 1597 0112 A48B std Z+20,r26
  1627. 1598 0114 B58B std Z+21,r27
  1628. 1599 0116 F901 movw r30,r18
  1629. 1600 0118 2181 ldd r18,Z+1
  1630. 1601 011a 22FD sbrc r18,2
  1631. 1602 011c 00C0 rjmp .L147
  1632. 1603 011e 49E0 ldi r20,9
  1633. 1604 1:
  1634. 1605 0120 880F lsl r24
  1635. 1606 0122 991F rol r25
  1636. 1607 0124 AA1F rol r26
  1637. 1608 0126 BB1F rol r27
  1638. 1609 0128 4A95 dec r20
  1639. 1610 012a 01F4 brne 1b
  1640. 1611 012c F801 movw r30,r16
  1641. 1612 012e 828B std Z+18,r24
  1642. 1613 0130 938B std Z+19,r25
  1643. 1614 0132 A48B std Z+20,r26
  1644. 1615 0134 B58B std Z+21,r27
  1645. 1616 0136 00C0 rjmp .L147
  1646. 1617 .L133:
  1647. 1618 0138 02E0 ldi r16,lo8(2)
  1648. 1619 013a 10E0 ldi r17,0
  1649. 1620 013c 20E0 ldi r18,0
  1650. 1621 013e 30E0 ldi r19,0
  1651. 1622 0140 A901 movw r20,r18
  1652. 1623 0142 6DE0 ldi r22,lo8(13)
  1653. 1624 0144 C501 movw r24,r10
  1654. 1625 0146 0E94 0000 call CardTxCommand
  1655. 1626 .L151:
  1656. 1627 014a D601 movw r26,r12
  1657. 1628 014c 8D93 st X+,r24
  1658. 1629 014e 9C93 st X,r25
  1659. 1630 0150 00C0 rjmp .L147
  1660. 1631 .L141:
  1661. 1632 0152 F501 movw r30,r10
  1662. 1633 0154 E080 ld r14,Z
  1663. 1634 0156 F180 ldd r15,Z+1
  1664. 1635 0158 00E0 ldi r16,0
  1665. 1636 015a 10E0 ldi r17,0
  1666. 1637 015c 20E0 ldi r18,0
  1667. 1638 015e 30E0 ldi r19,0
  1668. 1639 0160 A901 movw r20,r18
  1669. 1640 0162 6AE3 ldi r22,lo8(58)
  1670. 1641 0164 C501 movw r24,r10
  1671. 1642 0166 0E94 0000 call CardTxCommand
  1672. 1643 016a 892B or r24,r25
  1673. 1644 016c 01F4 brne .L148
  1674. 1645 016e 14E0 ldi r17,lo8(4)
  1675. 1646 .L145:
  1676. 1647 0170 D701 movw r26,r14
  1677. 1648 0172 1E96 adiw r26,14
  1678. 1649 0174 ED91 ld r30,X+
  1679. 1650 0176 FC91 ld r31,X
  1680. 1651 0178 1F97 sbiw r26,14+1
  1681. 1652 017a 21E0 ldi r18,lo8(1)
  1682. 1653 017c 30E0 ldi r19,0
  1683. GAS LISTING /tmp/ccTK9h5y.s page 30
  1684. 1654 017e AE01 movw r20,r28
  1685. 1655 0180 4F5F subi r20,-1
  1686. 1656 0182 5F4F sbci r21,-1
  1687. 1657 0184 60E0 ldi r22,lo8(dummy_tx_buf)
  1688. 1658 0186 70E0 ldi r23,hi8(dummy_tx_buf)
  1689. 1659 0188 C501 movw r24,r10
  1690. 1660 018a 1995 eicall
  1691. 1661 018c F601 movw r30,r12
  1692. 1662 018e 8081 ld r24,Z
  1693. 1663 0190 9181 ldd r25,Z+1
  1694. 1664 0192 A281 ldd r26,Z+2
  1695. 1665 0194 B381 ldd r27,Z+3
  1696. 1666 0196 BA2F mov r27,r26
  1697. 1667 0198 A92F mov r26,r25
  1698. 1668 019a 982F mov r25,r24
  1699. 1669 019c 8827 clr r24
  1700. 1670 019e 2981 ldd r18,Y+1
  1701. 1671 01a0 822B or r24,r18
  1702. 1672 01a2 8083 st Z,r24
  1703. 1673 01a4 9183 std Z+1,r25
  1704. 1674 01a6 A283 std Z+2,r26
  1705. 1675 01a8 B383 std Z+3,r27
  1706. 1676 01aa 1150 subi r17,lo8(-(-1))
  1707. 1677 01ac 01F4 brne .L145
  1708. 1678 01ae 00E0 ldi r16,0
  1709. 1679 01b0 10E0 ldi r17,0
  1710. 1680 01b2 00C0 rjmp .L144
  1711. 1681 .L148:
  1712. 1682 01b4 01E0 ldi r16,lo8(1)
  1713. 1683 01b6 10E0 ldi r17,0
  1714. 1684 .L144:
  1715. 1685 01b8 D701 movw r26,r14
  1716. 1686 01ba 1C96 adiw r26,12
  1717. 1687 01bc ED91 ld r30,X+
  1718. 1688 01be FC91 ld r31,X
  1719. 1689 01c0 1D97 sbiw r26,12+1
  1720. 1690 01c2 C501 movw r24,r10
  1721. 1691 01c4 1995 eicall
  1722. 1692 01c6 00C0 rjmp .L132
  1723. 1693 .L140:
  1724. 1694 01c8 20E1 ldi r18,lo8(16)
  1725. 1695 01ca E22E mov r14,r18
  1726. 1696 01cc F12C mov r15,__zero_reg__
  1727. 1697 01ce 8A01 movw r16,r20
  1728. 1698 01d0 20E0 ldi r18,0
  1729. 1699 01d2 30E0 ldi r19,0
  1730. 1700 01d4 A901 movw r20,r18
  1731. 1701 01d6 6AE0 ldi r22,lo8(10)
  1732. 1702 01d8 00C0 rjmp .L150
  1733. 1703 .L142:
  1734. 1704 01da 90E1 ldi r25,lo8(16)
  1735. 1705 01dc E92E mov r14,r25
  1736. 1706 01de F12C mov r15,__zero_reg__
  1737. 1707 01e0 8A01 movw r16,r20
  1738. 1708 01e2 20E0 ldi r18,0
  1739. 1709 01e4 30E0 ldi r19,0
  1740. 1710 01e6 A901 movw r20,r18
  1741. GAS LISTING /tmp/ccTK9h5y.s page 31
  1742. 1711 01e8 69E0 ldi r22,lo8(9)
  1743. 1712 .L150:
  1744. 1713 01ea C501 movw r24,r10
  1745. 1714 01ec 0E94 0000 call CardRxData
  1746. 1715 01f0 8C01 movw r16,r24
  1747. 1716 01f2 00C0 rjmp .L132
  1748. 1717 .L146:
  1749. 1718 01f4 0FEF ldi r16,lo8(-1)
  1750. 1719 01f6 1FEF ldi r17,lo8(-1)
  1751. 1720 01f8 00C0 rjmp .L132
  1752. 1721 .L147:
  1753. 1722 01fa 00E0 ldi r16,0
  1754. 1723 01fc 10E0 ldi r17,0
  1755. 1724 .L132:
  1756. 1725 01fe C801 movw r24,r16
  1757. 1726 /* epilogue start */
  1758. 1727 0200 0F90 pop __tmp_reg__
  1759. 1728 0202 DF91 pop r29
  1760. 1729 0204 CF91 pop r28
  1761. 1730 0206 1F91 pop r17
  1762. 1731 0208 0F91 pop r16
  1763. 1732 020a FF90 pop r15
  1764. 1733 020c EF90 pop r14
  1765. 1734 020e DF90 pop r13
  1766. 1735 0210 CF90 pop r12
  1767. 1736 0212 BF90 pop r11
  1768. 1737 0214 AF90 pop r10
  1769. 1738 0216 0895 ret
  1770. 1739 .size SpiMmcIOCtl, .-SpiMmcIOCtl
  1771. 1740 .section .text.SpiMmcInit,"ax",@progbits
  1772. 1741 .global SpiMmcInit
  1773. 1742 .type SpiMmcInit, @function
  1774. 1743 SpiMmcInit:
  1775. 1744 /* prologue: function */
  1776. 1745 /* frame size = 0 */
  1777. 1746 /* stack size = 0 */
  1778. 1747 .L__stack_usage = 0
  1779. 1748 0000 40E0 ldi r20,0
  1780. 1749 0002 52E0 ldi r21,lo8(2)
  1781. 1750 0004 6FEF ldi r22,lo8(-1)
  1782. 1751 0006 70E0 ldi r23,0
  1783. 1752 0008 80E0 ldi r24,lo8(dummy_tx_buf)
  1784. 1753 000a 90E0 ldi r25,hi8(dummy_tx_buf)
  1785. 1754 000c 0E94 0000 call memset
  1786. 1755 0010 80E0 ldi r24,0
  1787. 1756 0012 90E0 ldi r25,0
  1788. 1757 0014 0895 ret
  1789. 1758 .size SpiMmcInit, .-SpiMmcInit
  1790. 1759 .local dummy_tx_buf
  1791. 1760 .comm dummy_tx_buf,512,1
  1792. 1761 .ident "GCC: (GNU) 5.3.0"
  1793. 1762 .global __do_clear_bss
  1794. GAS LISTING /tmp/ccTK9h5y.s page 32
  1795. DEFINED SYMBOLS
  1796. *ABS*:0000000000000000 spi_mmc.c
  1797. /tmp/ccTK9h5y.s:2 *ABS*:000000000000003e __SP_H__
  1798. /tmp/ccTK9h5y.s:3 *ABS*:000000000000003d __SP_L__
  1799. /tmp/ccTK9h5y.s:4 *ABS*:000000000000003f __SREG__
  1800. /tmp/ccTK9h5y.s:5 *ABS*:000000000000003b __RAMPZ__
  1801. /tmp/ccTK9h5y.s:6 *ABS*:0000000000000000 __tmp_reg__
  1802. /tmp/ccTK9h5y.s:7 *ABS*:0000000000000001 __zero_reg__
  1803. /tmp/ccTK9h5y.s:10 .text.CardRxTkn:0000000000000000 CardRxTkn
  1804. .bss:0000000000000000 dummy_tx_buf
  1805. /tmp/ccTK9h5y.s:81 .text.CardTxCommand:0000000000000000 CardTxCommand
  1806. /tmp/ccTK9h5y.s:287 .text.CardRxData:0000000000000000 CardRxData
  1807. /tmp/ccTK9h5y.s:477 .text.SpiMmcBlockRead:0000000000000000 SpiMmcBlockRead
  1808. /tmp/ccTK9h5y.s:560 .text.SpiMmcBlockWrite:0000000000000000 SpiMmcBlockWrite
  1809. /tmp/ccTK9h5y.s:894 .text.SpiMmcBlockWrite_P:0000000000000000 SpiMmcBlockWrite_P
  1810. /tmp/ccTK9h5y.s:906 .text.SpiMmcUnmount:0000000000000000 SpiMmcUnmount
  1811. /tmp/ccTK9h5y.s:951 .text.SpiMmcMount:0000000000000000 SpiMmcMount
  1812. /tmp/ccTK9h5y.s:1450 .text.SpiMmcIOCtl:0000000000000000 SpiMmcIOCtl
  1813. /tmp/ccTK9h5y.s:1743 .text.SpiMmcInit:0000000000000000 SpiMmcInit
  1814. UNDEFINED SYMBOLS
  1815. NutSleep
  1816. free
  1817. atoi
  1818. nutDeviceList
  1819. strcmp
  1820. calloc
  1821. heapFreeList
  1822. NutHeapRootAlloc
  1823. errno
  1824. memset
  1825. __do_clear_bss