spi_at45dib.lst 63 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887
  1. GAS LISTING /tmp/ccNtAUld.s page 1
  2. 1 .file "spi_at45dib.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.At45dibTransmitCmd,"ax",@progbits
  10. 9 .type At45dibTransmitCmd, @function
  11. 10 At45dibTransmitCmd:
  12. 11 0000 0F93 push r16
  13. 12 0002 1F93 push r17
  14. 13 0004 CF93 push r28
  15. 14 0006 DF93 push r29
  16. 15 0008 CDB7 in r28,__SP_L__
  17. 16 000a DEB7 in r29,__SP_H__
  18. 17 000c 2897 sbiw r28,8
  19. 18 000e 0FB6 in __tmp_reg__,__SREG__
  20. 19 0010 F894 cli
  21. 20 0012 DEBF out __SP_H__,r29
  22. 21 0014 0FBE out __SREG__,__tmp_reg__
  23. 22 0016 CDBF out __SP_L__,r28
  24. 23 /* prologue: function */
  25. 24 /* frame size = 8 */
  26. 25 /* stack size = 12 */
  27. 26 .L__stack_usage = 12
  28. 27 0018 DE01 movw r26,r28
  29. 28 001a 1196 adiw r26,1
  30. 29 001c 78E0 ldi r23,lo8(8)
  31. 30 001e FD01 movw r30,r26
  32. 31 0:
  33. 32 0020 1192 st Z+,__zero_reg__
  34. 33 0022 7A95 dec r23
  35. 34 0024 01F4 brne 0b
  36. 35 0026 6983 std Y+1,r22
  37. 36 0028 2115 cp r18,__zero_reg__
  38. 37 002a 3105 cpc r19,__zero_reg__
  39. 38 002c 4105 cpc r20,__zero_reg__
  40. 39 002e 5105 cpc r21,__zero_reg__
  41. 40 0030 01F0 breq .L2
  42. 41 0032 4A83 std Y+2,r20
  43. 42 0034 3B83 std Y+3,r19
  44. 43 0036 2C83 std Y+4,r18
  45. 44 .L2:
  46. 45 0038 202F mov r18,r16
  47. 46 003a 30E0 ldi r19,0
  48. 47 003c FC01 movw r30,r24
  49. 48 003e 4081 ld r20,Z
  50. 49 0040 5181 ldd r21,Z+1
  51. 50 0042 FA01 movw r30,r20
  52. 51 0044 0685 ldd r16,Z+14
  53. 52 0046 1785 ldd r17,Z+15
  54. 53 0048 40E0 ldi r20,0
  55. 54 004a 50E0 ldi r21,0
  56. 55 004c BD01 movw r22,r26
  57. 56 004e F801 movw r30,r16
  58. 57 0050 1995 eicall
  59. GAS LISTING /tmp/ccNtAUld.s page 2
  60. 58 /* epilogue start */
  61. 59 0052 2896 adiw r28,8
  62. 60 0054 0FB6 in __tmp_reg__,__SREG__
  63. 61 0056 F894 cli
  64. 62 0058 DEBF out __SP_H__,r29
  65. 63 005a 0FBE out __SREG__,__tmp_reg__
  66. 64 005c CDBF out __SP_L__,r28
  67. 65 005e DF91 pop r29
  68. 66 0060 CF91 pop r28
  69. 67 0062 1F91 pop r17
  70. 68 0064 0F91 pop r16
  71. 69 0066 0895 ret
  72. 70 .size At45dibTransmitCmd, .-At45dibTransmitCmd
  73. 71 .section .text.At45dibTransfer,"ax",@progbits
  74. 72 .type At45dibTransfer, @function
  75. 73 At45dibTransfer:
  76. 74 0000 2F92 push r2
  77. 75 0002 3F92 push r3
  78. 76 0004 4F92 push r4
  79. 77 0006 5F92 push r5
  80. 78 0008 6F92 push r6
  81. 79 000a 7F92 push r7
  82. 80 000c 8F92 push r8
  83. 81 000e 9F92 push r9
  84. 82 0010 AF92 push r10
  85. 83 0012 BF92 push r11
  86. 84 0014 CF92 push r12
  87. 85 0016 DF92 push r13
  88. 86 0018 EF92 push r14
  89. 87 001a FF92 push r15
  90. 88 001c 0F93 push r16
  91. 89 001e 1F93 push r17
  92. 90 0020 CF93 push r28
  93. 91 0022 DF93 push r29
  94. 92 /* prologue: function */
  95. 93 /* frame size = 0 */
  96. 94 /* stack size = 18 */
  97. 95 .L__stack_usage = 18
  98. 96 0024 EC01 movw r28,r24
  99. 97 0026 162F mov r17,r22
  100. 98 0028 2901 movw r4,r18
  101. 99 002a 3A01 movw r6,r20
  102. 100 002c 4701 movw r8,r14
  103. 101 002e E880 ld r14,Y
  104. 102 0030 F980 ldd r15,Y+1
  105. 103 0032 D701 movw r26,r14
  106. 104 0034 1A96 adiw r26,10
  107. 105 0036 ED91 ld r30,X+
  108. 106 0038 FC91 ld r31,X
  109. 107 003a 1B97 sbiw r26,10+1
  110. 108 003c 40E0 ldi r20,0
  111. 109 003e 50E0 ldi r21,0
  112. 110 0040 BA01 movw r22,r20
  113. 111 0042 1995 eicall
  114. 112 0044 1C01 movw r2,r24
  115. 113 0046 892B or r24,r25
  116. 114 0048 01F4 brne .L8
  117. GAS LISTING /tmp/ccNtAUld.s page 3
  118. 115 004a A301 movw r20,r6
  119. 116 004c 9201 movw r18,r4
  120. 117 004e 612F mov r22,r17
  121. 118 0050 CE01 movw r24,r28
  122. 119 0052 0E94 0000 call At45dibTransmitCmd
  123. 120 0056 1C01 movw r2,r24
  124. 121 0058 892B or r24,r25
  125. 122 005a 01F4 brne .L9
  126. 123 005c A114 cp r10,__zero_reg__
  127. 124 005e B104 cpc r11,__zero_reg__
  128. 125 0060 01F0 breq .L9
  129. 126 0062 D701 movw r26,r14
  130. 127 0064 1E96 adiw r26,14
  131. 128 0066 ED91 ld r30,X+
  132. 129 0068 FC91 ld r31,X
  133. 130 006a 1F97 sbiw r26,14+1
  134. 131 006c 9501 movw r18,r10
  135. 132 006e A601 movw r20,r12
  136. 133 0070 B401 movw r22,r8
  137. 134 0072 CE01 movw r24,r28
  138. 135 0074 1995 eicall
  139. 136 0076 1C01 movw r2,r24
  140. 137 .L9:
  141. 138 0078 D701 movw r26,r14
  142. 139 007a 1C96 adiw r26,12
  143. 140 007c ED91 ld r30,X+
  144. 141 007e FC91 ld r31,X
  145. 142 0080 1D97 sbiw r26,12+1
  146. 143 0082 CE01 movw r24,r28
  147. 144 0084 1995 eicall
  148. 145 .L8:
  149. 146 0086 C101 movw r24,r2
  150. 147 /* epilogue start */
  151. 148 0088 DF91 pop r29
  152. 149 008a CF91 pop r28
  153. 150 008c 1F91 pop r17
  154. 151 008e 0F91 pop r16
  155. 152 0090 FF90 pop r15
  156. 153 0092 EF90 pop r14
  157. 154 0094 DF90 pop r13
  158. 155 0096 CF90 pop r12
  159. 156 0098 BF90 pop r11
  160. 157 009a AF90 pop r10
  161. 158 009c 9F90 pop r9
  162. 159 009e 8F90 pop r8
  163. 160 00a0 7F90 pop r7
  164. 161 00a2 6F90 pop r6
  165. 162 00a4 5F90 pop r5
  166. 163 00a6 4F90 pop r4
  167. 164 00a8 3F90 pop r3
  168. 165 00aa 2F90 pop r2
  169. 166 00ac 0895 ret
  170. 167 .size At45dibTransfer, .-At45dibTransfer
  171. 168 .section .text.At45dibCompare,"ax",@progbits
  172. 169 .type At45dibCompare, @function
  173. 170 At45dibCompare:
  174. 171 0000 2F92 push r2
  175. GAS LISTING /tmp/ccNtAUld.s page 4
  176. 172 0002 3F92 push r3
  177. 173 0004 4F92 push r4
  178. 174 0006 5F92 push r5
  179. 175 0008 6F92 push r6
  180. 176 000a 7F92 push r7
  181. 177 000c 8F92 push r8
  182. 178 000e 9F92 push r9
  183. 179 0010 AF92 push r10
  184. 180 0012 BF92 push r11
  185. 181 0014 CF92 push r12
  186. 182 0016 DF92 push r13
  187. 183 0018 EF92 push r14
  188. 184 001a FF92 push r15
  189. 185 001c 0F93 push r16
  190. 186 001e 1F93 push r17
  191. 187 0020 CF93 push r28
  192. 188 0022 DF93 push r29
  193. 189 0024 1F92 push __zero_reg__
  194. 190 0026 CDB7 in r28,__SP_L__
  195. 191 0028 DEB7 in r29,__SP_H__
  196. 192 /* prologue: function */
  197. 193 /* frame size = 1 */
  198. 194 /* stack size = 19 */
  199. 195 .L__stack_usage = 19
  200. 196 002a 4C01 movw r8,r24
  201. 197 002c 162F mov r17,r22
  202. 198 002e 2901 movw r4,r18
  203. 199 0030 3A01 movw r6,r20
  204. 200 0032 DC01 movw r26,r24
  205. 201 0034 2D90 ld r2,X+
  206. 202 0036 3C90 ld r3,X
  207. 203 0038 D101 movw r26,r2
  208. 204 003a 1A96 adiw r26,10
  209. 205 003c ED91 ld r30,X+
  210. 206 003e FC91 ld r31,X
  211. 207 0040 1B97 sbiw r26,10+1
  212. 208 0042 40E0 ldi r20,0
  213. 209 0044 50E0 ldi r21,0
  214. 210 0046 BA01 movw r22,r20
  215. 211 0048 1995 eicall
  216. 212 004a 5C01 movw r10,r24
  217. 213 004c 892B or r24,r25
  218. 214 004e 01F4 brne .L14
  219. 215 0050 A301 movw r20,r6
  220. 216 0052 9201 movw r18,r4
  221. 217 0054 612F mov r22,r17
  222. 218 0056 C401 movw r24,r8
  223. 219 0058 0E94 0000 call At45dibTransmitCmd
  224. 220 005c 5C01 movw r10,r24
  225. 221 005e 892B or r24,r25
  226. 222 0060 01F4 brne .L15
  227. 223 0062 C114 cp r12,__zero_reg__
  228. 224 0064 D104 cpc r13,__zero_reg__
  229. 225 0066 01F0 breq .L15
  230. 226 0068 8701 movw r16,r14
  231. 227 .L16:
  232. 228 006a C801 movw r24,r16
  233. GAS LISTING /tmp/ccNtAUld.s page 5
  234. 229 006c 8E19 sub r24,r14
  235. 230 006e 9F09 sbc r25,r15
  236. 231 0070 8C15 cp r24,r12
  237. 232 0072 9D05 cpc r25,r13
  238. 233 0074 04F4 brge .L15
  239. 234 0076 D101 movw r26,r2
  240. 235 0078 1E96 adiw r26,14
  241. 236 007a ED91 ld r30,X+
  242. 237 007c FC91 ld r31,X
  243. 238 007e 1F97 sbiw r26,14+1
  244. 239 0080 21E0 ldi r18,lo8(1)
  245. 240 0082 30E0 ldi r19,0
  246. 241 0084 AE01 movw r20,r28
  247. 242 0086 4F5F subi r20,-1
  248. 243 0088 5F4F sbci r21,-1
  249. 244 008a 60E0 ldi r22,0
  250. 245 008c 70E0 ldi r23,0
  251. 246 008e C401 movw r24,r8
  252. 247 0090 1995 eicall
  253. 248 0092 0097 sbiw r24,0
  254. 249 0094 01F4 brne .L19
  255. 250 0096 F801 movw r30,r16
  256. 251 0098 9191 ld r25,Z+
  257. 252 009a 8F01 movw r16,r30
  258. 253 009c 8981 ldd r24,Y+1
  259. 254 009e 9817 cp r25,r24
  260. 255 00a0 01F0 breq .L16
  261. 256 00a2 A82E mov r10,r24
  262. 257 00a4 B12C mov r11,__zero_reg__
  263. 258 00a6 A91A sub r10,r25
  264. 259 00a8 B108 sbc r11,__zero_reg__
  265. 260 00aa 00C0 rjmp .L15
  266. 261 .L19:
  267. 262 00ac 5C01 movw r10,r24
  268. 263 .L15:
  269. 264 00ae D101 movw r26,r2
  270. 265 00b0 1C96 adiw r26,12
  271. 266 00b2 ED91 ld r30,X+
  272. 267 00b4 FC91 ld r31,X
  273. 268 00b6 1D97 sbiw r26,12+1
  274. 269 00b8 C401 movw r24,r8
  275. 270 00ba 1995 eicall
  276. 271 .L14:
  277. 272 00bc C501 movw r24,r10
  278. 273 /* epilogue start */
  279. 274 00be 0F90 pop __tmp_reg__
  280. 275 00c0 DF91 pop r29
  281. 276 00c2 CF91 pop r28
  282. 277 00c4 1F91 pop r17
  283. 278 00c6 0F91 pop r16
  284. 279 00c8 FF90 pop r15
  285. 280 00ca EF90 pop r14
  286. 281 00cc DF90 pop r13
  287. 282 00ce CF90 pop r12
  288. 283 00d0 BF90 pop r11
  289. 284 00d2 AF90 pop r10
  290. 285 00d4 9F90 pop r9
  291. GAS LISTING /tmp/ccNtAUld.s page 6
  292. 286 00d6 8F90 pop r8
  293. 287 00d8 7F90 pop r7
  294. 288 00da 6F90 pop r6
  295. 289 00dc 5F90 pop r5
  296. 290 00de 4F90 pop r4
  297. 291 00e0 3F90 pop r3
  298. 292 00e2 2F90 pop r2
  299. 293 00e4 0895 ret
  300. 294 .size At45dibCompare, .-At45dibCompare
  301. 295 .section .text.At45dibUsed,"ax",@progbits
  302. 296 .type At45dibUsed, @function
  303. 297 At45dibUsed:
  304. 298 0000 2F92 push r2
  305. 299 0002 3F92 push r3
  306. 300 0004 4F92 push r4
  307. 301 0006 5F92 push r5
  308. 302 0008 6F92 push r6
  309. 303 000a 7F92 push r7
  310. 304 000c 8F92 push r8
  311. 305 000e 9F92 push r9
  312. 306 0010 AF92 push r10
  313. 307 0012 BF92 push r11
  314. 308 0014 CF92 push r12
  315. 309 0016 DF92 push r13
  316. 310 0018 EF92 push r14
  317. 311 001a FF92 push r15
  318. 312 001c 0F93 push r16
  319. 313 001e 1F93 push r17
  320. 314 0020 CF93 push r28
  321. 315 0022 DF93 push r29
  322. 316 0024 1F92 push __zero_reg__
  323. 317 0026 CDB7 in r28,__SP_L__
  324. 318 0028 DEB7 in r29,__SP_H__
  325. 319 /* prologue: function */
  326. 320 /* frame size = 1 */
  327. 321 /* stack size = 19 */
  328. 322 .L__stack_usage = 19
  329. 323 002a 6C01 movw r12,r24
  330. 324 002c 162F mov r17,r22
  331. 325 002e 1901 movw r2,r18
  332. 326 0030 2A01 movw r4,r20
  333. 327 0032 DC01 movw r26,r24
  334. 328 0034 AD90 ld r10,X+
  335. 329 0036 BC90 ld r11,X
  336. 330 0038 D501 movw r26,r10
  337. 331 003a 1A96 adiw r26,10
  338. 332 003c ED91 ld r30,X+
  339. 333 003e FC91 ld r31,X
  340. 334 0040 1B97 sbiw r26,10+1
  341. 335 0042 40E0 ldi r20,0
  342. 336 0044 50E0 ldi r21,0
  343. 337 0046 BA01 movw r22,r20
  344. 338 0048 1995 eicall
  345. 339 004a 3C01 movw r6,r24
  346. 340 004c 892B or r24,r25
  347. 341 004e 01F4 brne .L34
  348. 342 0050 A201 movw r20,r4
  349. GAS LISTING /tmp/ccNtAUld.s page 7
  350. 343 0052 9101 movw r18,r2
  351. 344 0054 612F mov r22,r17
  352. 345 0056 C601 movw r24,r12
  353. 346 0058 0E94 0000 call At45dibTransmitCmd
  354. 347 005c 3C01 movw r6,r24
  355. 348 005e 892B or r24,r25
  356. 349 0060 01F4 brne .L26
  357. 350 0062 E114 cp r14,__zero_reg__
  358. 351 0064 F104 cpc r15,__zero_reg__
  359. 352 0066 01F0 breq .L26
  360. 353 0068 8824 clr r8
  361. 354 006a 8A94 dec r8
  362. 355 006c 982C mov r9,r8
  363. 356 006e 00E0 ldi r16,0
  364. 357 0070 10E0 ldi r17,0
  365. 358 .L27:
  366. 359 0072 0E15 cp r16,r14
  367. 360 0074 1F05 cpc r17,r15
  368. 361 0076 04F4 brge .L40
  369. 362 0078 D501 movw r26,r10
  370. 363 007a 1E96 adiw r26,14
  371. 364 007c ED91 ld r30,X+
  372. 365 007e FC91 ld r31,X
  373. 366 0080 1F97 sbiw r26,14+1
  374. 367 0082 21E0 ldi r18,lo8(1)
  375. 368 0084 30E0 ldi r19,0
  376. 369 0086 AE01 movw r20,r28
  377. 370 0088 4F5F subi r20,-1
  378. 371 008a 5F4F sbci r21,-1
  379. 372 008c 60E0 ldi r22,0
  380. 373 008e 70E0 ldi r23,0
  381. 374 0090 C601 movw r24,r12
  382. 375 0092 1995 eicall
  383. 376 0094 3C01 movw r6,r24
  384. 377 0096 892B or r24,r25
  385. 378 0098 01F4 brne .L26
  386. 379 009a 8981 ldd r24,Y+1
  387. 380 009c 8F3F cpi r24,lo8(-1)
  388. 381 009e 01F0 breq .L29
  389. 382 00a0 4801 movw r8,r16
  390. 383 .L29:
  391. 384 00a2 0F5F subi r16,-1
  392. 385 00a4 1F4F sbci r17,-1
  393. 386 00a6 00C0 rjmp .L27
  394. 387 .L40:
  395. 388 00a8 3401 movw r6,r8
  396. 389 00aa BFEF ldi r27,-1
  397. 390 00ac 6B1A sub r6,r27
  398. 391 00ae 7B0A sbc r7,r27
  399. 392 .L26:
  400. 393 00b0 D501 movw r26,r10
  401. 394 00b2 1C96 adiw r26,12
  402. 395 00b4 ED91 ld r30,X+
  403. 396 00b6 FC91 ld r31,X
  404. 397 00b8 1D97 sbiw r26,12+1
  405. 398 00ba C601 movw r24,r12
  406. 399 00bc 1995 eicall
  407. GAS LISTING /tmp/ccNtAUld.s page 8
  408. 400 .L34:
  409. 401 00be C301 movw r24,r6
  410. 402 /* epilogue start */
  411. 403 00c0 0F90 pop __tmp_reg__
  412. 404 00c2 DF91 pop r29
  413. 405 00c4 CF91 pop r28
  414. 406 00c6 1F91 pop r17
  415. 407 00c8 0F91 pop r16
  416. 408 00ca FF90 pop r15
  417. 409 00cc EF90 pop r14
  418. 410 00ce DF90 pop r13
  419. 411 00d0 CF90 pop r12
  420. 412 00d2 BF90 pop r11
  421. 413 00d4 AF90 pop r10
  422. 414 00d6 9F90 pop r9
  423. 415 00d8 8F90 pop r8
  424. 416 00da 7F90 pop r7
  425. 417 00dc 6F90 pop r6
  426. 418 00de 5F90 pop r5
  427. 419 00e0 4F90 pop r4
  428. 420 00e2 3F90 pop r3
  429. 421 00e4 2F90 pop r2
  430. 422 00e6 0895 ret
  431. 423 .size At45dibUsed, .-At45dibUsed
  432. 424 .section .text.At45dibStatus,"ax",@progbits
  433. 425 .type At45dibStatus, @function
  434. 426 At45dibStatus:
  435. 427 0000 CF92 push r12
  436. 428 0002 DF92 push r13
  437. 429 0004 EF92 push r14
  438. 430 0006 FF92 push r15
  439. 431 0008 0F93 push r16
  440. 432 000a 1F93 push r17
  441. 433 000c CF93 push r28
  442. 434 000e DF93 push r29
  443. 435 0010 1F92 push __zero_reg__
  444. 436 0012 1F92 push __zero_reg__
  445. 437 0014 CDB7 in r28,__SP_L__
  446. 438 0016 DEB7 in r29,__SP_H__
  447. 439 /* prologue: function */
  448. 440 /* frame size = 2 */
  449. 441 /* stack size = 10 */
  450. 442 .L__stack_usage = 10
  451. 443 0018 7C01 movw r14,r24
  452. 444 001a 87ED ldi r24,lo8(-41)
  453. 445 001c 8983 std Y+1,r24
  454. 446 001e 8FEF ldi r24,lo8(-1)
  455. 447 0020 8A83 std Y+2,r24
  456. 448 0022 D701 movw r26,r14
  457. 449 0024 CD90 ld r12,X+
  458. 450 0026 DC90 ld r13,X
  459. 451 0028 D601 movw r26,r12
  460. 452 002a 1A96 adiw r26,10
  461. 453 002c ED91 ld r30,X+
  462. 454 002e FC91 ld r31,X
  463. 455 0030 1B97 sbiw r26,10+1
  464. 456 0032 40E0 ldi r20,0
  465. GAS LISTING /tmp/ccNtAUld.s page 9
  466. 457 0034 50E0 ldi r21,0
  467. 458 0036 BA01 movw r22,r20
  468. 459 0038 C701 movw r24,r14
  469. 460 003a 1995 eicall
  470. 461 003c 8C01 movw r16,r24
  471. 462 003e 892B or r24,r25
  472. 463 0040 01F4 brne .L42
  473. 464 0042 D601 movw r26,r12
  474. 465 0044 1E96 adiw r26,14
  475. 466 0046 ED91 ld r30,X+
  476. 467 0048 FC91 ld r31,X
  477. 468 004a 1F97 sbiw r26,14+1
  478. 469 004c 22E0 ldi r18,lo8(2)
  479. 470 004e 30E0 ldi r19,0
  480. 471 0050 AE01 movw r20,r28
  481. 472 0052 4F5F subi r20,-1
  482. 473 0054 5F4F sbci r21,-1
  483. 474 0056 BA01 movw r22,r20
  484. 475 0058 C701 movw r24,r14
  485. 476 005a 1995 eicall
  486. 477 005c 8C01 movw r16,r24
  487. 478 005e 892B or r24,r25
  488. 479 0060 01F4 brne .L43
  489. 480 0062 D601 movw r26,r12
  490. 481 0064 5096 adiw r26,16
  491. 482 0066 ED91 ld r30,X+
  492. 483 0068 FC91 ld r31,X
  493. 484 006a 5197 sbiw r26,16+1
  494. 485 006c 40E0 ldi r20,0
  495. 486 006e 50E0 ldi r21,0
  496. 487 0070 BA01 movw r22,r20
  497. 488 0072 C701 movw r24,r14
  498. 489 0074 1995 eicall
  499. 490 0076 0A81 ldd r16,Y+2
  500. 491 .L43:
  501. 492 0078 D601 movw r26,r12
  502. 493 007a 1C96 adiw r26,12
  503. 494 007c ED91 ld r30,X+
  504. 495 007e FC91 ld r31,X
  505. 496 0080 1D97 sbiw r26,12+1
  506. 497 0082 C701 movw r24,r14
  507. 498 0084 1995 eicall
  508. 499 .L42:
  509. 500 0086 802F mov r24,r16
  510. 501 /* epilogue start */
  511. 502 0088 0F90 pop __tmp_reg__
  512. 503 008a 0F90 pop __tmp_reg__
  513. 504 008c DF91 pop r29
  514. 505 008e CF91 pop r28
  515. 506 0090 1F91 pop r17
  516. 507 0092 0F91 pop r16
  517. 508 0094 FF90 pop r15
  518. 509 0096 EF90 pop r14
  519. 510 0098 DF90 pop r13
  520. 511 009a CF90 pop r12
  521. 512 009c 0895 ret
  522. 513 .size At45dibStatus, .-At45dibStatus
  523. GAS LISTING /tmp/ccNtAUld.s page 10
  524. 514 .section .text.SpiAt45dibCheck,"ax",@progbits
  525. 515 .type SpiAt45dibCheck, @function
  526. 516 SpiAt45dibCheck:
  527. 517 /* prologue: function */
  528. 518 /* frame size = 0 */
  529. 519 /* stack size = 0 */
  530. 520 .L__stack_usage = 0
  531. 521 0000 80E0 ldi r24,0
  532. 522 0002 90E0 ldi r25,0
  533. 523 0004 0895 ret
  534. 524 .size SpiAt45dibCheck, .-SpiAt45dibCheck
  535. 525 .section .text.SpiAt45dibUsed,"ax",@progbits
  536. 526 .type SpiAt45dibUsed, @function
  537. 527 SpiAt45dibUsed:
  538. 528 0000 8F92 push r8
  539. 529 0002 9F92 push r9
  540. 530 0004 AF92 push r10
  541. 531 0006 BF92 push r11
  542. 532 0008 EF92 push r14
  543. 533 000a FF92 push r15
  544. 534 000c 0F93 push r16
  545. 535 000e CF93 push r28
  546. 536 0010 DF93 push r29
  547. 537 /* prologue: function */
  548. 538 /* frame size = 0 */
  549. 539 /* stack size = 9 */
  550. 540 .L__stack_usage = 9
  551. 541 0012 DC01 movw r26,r24
  552. 542 0014 1296 adiw r26,2
  553. 543 0016 ED91 ld r30,X+
  554. 544 0018 FC91 ld r31,X
  555. 545 001a 1397 sbiw r26,2+1
  556. 546 001c 1496 adiw r26,4
  557. 547 001e ED90 ld r14,X+
  558. 548 0020 FC90 ld r15,X
  559. 549 0022 1597 sbiw r26,4+1
  560. 550 0024 57FF sbrs r21,7
  561. 551 0026 00C0 rjmp .L46
  562. 552 0028 E40E add r14,r20
  563. 553 002a F51E adc r15,r21
  564. 554 002c 40E0 ldi r20,0
  565. 555 002e 50E0 ldi r21,0
  566. 556 0030 00C0 rjmp .L47
  567. 557 .L46:
  568. 558 0032 E41A sub r14,r20
  569. 559 0034 F50A sbc r15,r21
  570. 560 .L47:
  571. 561 0036 C081 ld r28,Z
  572. 562 0038 D181 ldd r29,Z+1
  573. 563 003a 8D91 ld r24,X+
  574. 564 003c 9C91 ld r25,X
  575. 565 003e 9A01 movw r18,r20
  576. 566 0040 550F lsl r21
  577. 567 0042 440B sbc r20,r20
  578. 568 0044 550B sbc r21,r21
  579. 569 0046 6C17 cp r22,r28
  580. 570 0048 7D07 cpc r23,r29
  581. GAS LISTING /tmp/ccNtAUld.s page 11
  582. 571 004a 01F0 breq .L55
  583. 572 004c A281 ldd r26,Z+2
  584. 573 004e B381 ldd r27,Z+3
  585. 574 0050 6A17 cp r22,r26
  586. 575 0052 7B07 cpc r23,r27
  587. 576 0054 01F4 brne .L49
  588. 577 0056 66ED ldi r22,lo8(-42)
  589. 578 0058 00C0 rjmp .L50
  590. 579 .L55:
  591. 580 005a 64ED ldi r22,lo8(-44)
  592. 581 .L50:
  593. 582 005c 05E0 ldi r16,lo8(5)
  594. 583 005e 00C0 rjmp .L58
  595. 584 .L49:
  596. 585 0060 4B01 movw r8,r22
  597. 586 0062 A12C mov r10,__zero_reg__
  598. 587 0064 B12C mov r11,__zero_reg__
  599. 588 0066 0484 ldd r0,Z+12
  600. 589 0068 00C0 rjmp 2f
  601. 590 1:
  602. 591 006a 880C lsl r8
  603. 592 006c 991C rol r9
  604. 593 006e AA1C rol r10
  605. 594 0070 BB1C rol r11
  606. 595 2:
  607. 596 0072 0A94 dec r0
  608. 597 0074 02F4 brpl 1b
  609. 598 0076 2829 or r18,r8
  610. 599 0078 3929 or r19,r9
  611. 600 007a 4A29 or r20,r10
  612. 601 007c 5B29 or r21,r11
  613. 602 007e 08E0 ldi r16,lo8(8)
  614. 603 0080 62ED ldi r22,lo8(-46)
  615. 604 .L58:
  616. 605 0082 0E94 0000 call At45dibUsed
  617. 606 /* epilogue start */
  618. 607 0086 DF91 pop r29
  619. 608 0088 CF91 pop r28
  620. 609 008a 0F91 pop r16
  621. 610 008c FF90 pop r15
  622. 611 008e EF90 pop r14
  623. 612 0090 BF90 pop r11
  624. 613 0092 AF90 pop r10
  625. 614 0094 9F90 pop r9
  626. 615 0096 8F90 pop r8
  627. 616 0098 0895 ret
  628. 617 .size SpiAt45dibUsed, .-SpiAt45dibUsed
  629. 618 .section .text.SpiAt45dibExit,"ax",@progbits
  630. 619 .type SpiAt45dibExit, @function
  631. 620 SpiAt45dibExit:
  632. 621 /* prologue: function */
  633. 622 /* frame size = 0 */
  634. 623 /* stack size = 0 */
  635. 624 .L__stack_usage = 0
  636. 625 0000 FC01 movw r30,r24
  637. 626 0002 8281 ldd r24,Z+2
  638. 627 0004 9381 ldd r25,Z+3
  639. GAS LISTING /tmp/ccNtAUld.s page 12
  640. 628 0006 0C94 0000 jmp free
  641. 629 .size SpiAt45dibExit, .-SpiAt45dibExit
  642. 630 .section .text.SpiAt45dibInit,"ax",@progbits
  643. 631 .type SpiAt45dibInit, @function
  644. 632 SpiAt45dibInit:
  645. 633 0000 0F93 push r16
  646. 634 0002 1F93 push r17
  647. 635 0004 CF93 push r28
  648. 636 0006 DF93 push r29
  649. 637 /* prologue: function */
  650. 638 /* frame size = 0 */
  651. 639 /* stack size = 4 */
  652. 640 .L__stack_usage = 4
  653. 641 0008 8C01 movw r16,r24
  654. 642 000a DC01 movw r26,r24
  655. 643 000c 8D91 ld r24,X+
  656. 644 000e 9C91 ld r25,X
  657. 645 0010 0E94 0000 call At45dibStatus
  658. 646 0014 8D73 andi r24,lo8(61)
  659. 647 0016 9091 0000 lds r25,at45d_known_types
  660. 648 .L61:
  661. 649 001a 9150 subi r25,lo8(-(-1))
  662. 650 001c 97FD sbrc r25,7
  663. 651 001e 00C0 rjmp .L65
  664. 652 0020 B8E0 ldi r27,lo8(8)
  665. 653 0022 9B02 muls r25,r27
  666. 654 0024 E001 movw r28,r0
  667. 655 0026 1124 clr __zero_reg__
  668. 656 0028 C050 subi r28,lo8(-(at45d_info))
  669. 657 002a D040 sbci r29,hi8(-(at45d_info))
  670. 658 002c 2F81 ldd r18,Y+7
  671. 659 002e 8213 cpse r24,r18
  672. 660 0030 00C0 rjmp .L61
  673. 661 0032 6DE0 ldi r22,lo8(13)
  674. 662 0034 70E0 ldi r23,0
  675. 663 0036 81E0 ldi r24,lo8(1)
  676. 664 0038 90E0 ldi r25,0
  677. 665 003a 0E94 0000 call calloc
  678. 666 003e FC01 movw r30,r24
  679. 667 0040 892B or r24,r25
  680. 668 0042 01F4 brne .L62
  681. 669 .L65:
  682. 670 0044 8FEF ldi r24,lo8(-1)
  683. 671 0046 9FEF ldi r25,lo8(-1)
  684. 672 0048 00C0 rjmp .L63
  685. 673 .L62:
  686. 674 004a 8881 ld r24,Y
  687. 675 004c 8487 std Z+12,r24
  688. 676 004e 8FEF ldi r24,lo8(-1)
  689. 677 0050 9FEF ldi r25,lo8(-1)
  690. 678 0052 9183 std Z+1,r25
  691. 679 0054 8083 st Z,r24
  692. 680 0056 9383 std Z+3,r25
  693. 681 0058 8283 std Z+2,r24
  694. 682 005a D801 movw r26,r16
  695. 683 005c 1396 adiw r26,2+1
  696. 684 005e FC93 st X,r31
  697. GAS LISTING /tmp/ccNtAUld.s page 13
  698. 685 0060 EE93 st -X,r30
  699. 686 0062 1297 sbiw r26,2
  700. 687 0064 8981 ldd r24,Y+1
  701. 688 0066 9A81 ldd r25,Y+2
  702. 689 0068 1796 adiw r26,6+1
  703. 690 006a 9C93 st X,r25
  704. 691 006c 8E93 st -X,r24
  705. 692 006e 1697 sbiw r26,6
  706. 693 0070 8D81 ldd r24,Y+5
  707. 694 0072 9E81 ldd r25,Y+6
  708. 695 0074 1596 adiw r26,4+1
  709. 696 0076 9C93 st X,r25
  710. 697 0078 8E93 st -X,r24
  711. 698 007a 1497 sbiw r26,4
  712. 699 007c 80E0 ldi r24,0
  713. 700 007e 90E0 ldi r25,0
  714. 701 .L63:
  715. 702 /* epilogue start */
  716. 703 0080 DF91 pop r29
  717. 704 0082 CF91 pop r28
  718. 705 0084 1F91 pop r17
  719. 706 0086 0F91 pop r16
  720. 707 0088 0895 ret
  721. 708 .size SpiAt45dibInit, .-SpiAt45dibInit
  722. 709 .section .text.SpiAt45dibRead,"ax",@progbits
  723. 710 .type SpiAt45dibRead, @function
  724. 711 SpiAt45dibRead:
  725. 712 0000 8F92 push r8
  726. 713 0002 9F92 push r9
  727. 714 0004 AF92 push r10
  728. 715 0006 BF92 push r11
  729. 716 0008 CF92 push r12
  730. 717 000a DF92 push r13
  731. 718 000c EF92 push r14
  732. 719 000e FF92 push r15
  733. 720 0010 0F93 push r16
  734. 721 0012 1F93 push r17
  735. 722 /* prologue: function */
  736. 723 /* frame size = 0 */
  737. 724 /* stack size = 10 */
  738. 725 .L__stack_usage = 10
  739. 726 0014 DC01 movw r26,r24
  740. 727 0016 4B01 movw r8,r22
  741. 728 0018 6901 movw r12,r18
  742. 729 001a 0115 cp r16,__zero_reg__
  743. 730 001c 1105 cpc r17,__zero_reg__
  744. 731 001e 01F0 breq .L74
  745. 732 0020 1296 adiw r26,2
  746. 733 0022 ED91 ld r30,X+
  747. 734 0024 FC91 ld r31,X
  748. 735 0026 1397 sbiw r26,2+1
  749. 736 0028 57FF sbrs r21,7
  750. 737 002a 00C0 rjmp .L69
  751. 738 002c 1496 adiw r26,4
  752. 739 002e 8D91 ld r24,X+
  753. 740 0030 9C91 ld r25,X
  754. 741 0032 1597 sbiw r26,4+1
  755. GAS LISTING /tmp/ccNtAUld.s page 14
  756. 742 0034 480F add r20,r24
  757. 743 0036 591F adc r21,r25
  758. 744 .L69:
  759. 745 0038 6081 ld r22,Z
  760. 746 003a 7181 ldd r23,Z+1
  761. 747 003c 8D91 ld r24,X+
  762. 748 003e 9C91 ld r25,X
  763. 749 0040 9A01 movw r18,r20
  764. 750 0042 550F lsl r21
  765. 751 0044 440B sbc r20,r20
  766. 752 0046 550B sbc r21,r21
  767. 753 0048 8616 cp r8,r22
  768. 754 004a 9706 cpc r9,r23
  769. 755 004c 01F0 breq .L77
  770. 756 004e 6281 ldd r22,Z+2
  771. 757 0050 7381 ldd r23,Z+3
  772. 758 0052 8616 cp r8,r22
  773. 759 0054 9706 cpc r9,r23
  774. 760 0056 01F4 brne .L71
  775. 761 0058 66ED ldi r22,lo8(-42)
  776. 762 005a 00C0 rjmp .L72
  777. 763 .L77:
  778. 764 005c 64ED ldi r22,lo8(-44)
  779. 765 .L72:
  780. 766 005e 5801 movw r10,r16
  781. 767 0060 E12C mov r14,__zero_reg__
  782. 768 0062 F12C mov r15,__zero_reg__
  783. 769 0064 05E0 ldi r16,lo8(5)
  784. 770 0066 00C0 rjmp .L80
  785. 771 .L74:
  786. 772 0068 80E0 ldi r24,0
  787. 773 006a 90E0 ldi r25,0
  788. 774 006c 00C0 rjmp .L79
  789. 775 .L71:
  790. 776 006e A12C mov r10,__zero_reg__
  791. 777 0070 B12C mov r11,__zero_reg__
  792. 778 0072 0484 ldd r0,Z+12
  793. 779 0074 00C0 rjmp 2f
  794. 780 1:
  795. 781 0076 880C lsl r8
  796. 782 0078 991C rol r9
  797. 783 007a AA1C rol r10
  798. 784 007c BB1C rol r11
  799. 785 2:
  800. 786 007e 0A94 dec r0
  801. 787 0080 02F4 brpl 1b
  802. 788 0082 2829 or r18,r8
  803. 789 0084 3929 or r19,r9
  804. 790 0086 4A29 or r20,r10
  805. 791 0088 5B29 or r21,r11
  806. 792 008a 5801 movw r10,r16
  807. 793 008c E12C mov r14,__zero_reg__
  808. 794 008e F12C mov r15,__zero_reg__
  809. 795 0090 08E0 ldi r16,lo8(8)
  810. 796 0092 62ED ldi r22,lo8(-46)
  811. 797 .L80:
  812. 798 0094 0E94 0000 call At45dibTransfer
  813. GAS LISTING /tmp/ccNtAUld.s page 15
  814. 799 .L79:
  815. 800 /* epilogue start */
  816. 801 0098 1F91 pop r17
  817. 802 009a 0F91 pop r16
  818. 803 009c FF90 pop r15
  819. 804 009e EF90 pop r14
  820. 805 00a0 DF90 pop r13
  821. 806 00a2 CF90 pop r12
  822. 807 00a4 BF90 pop r11
  823. 808 00a6 AF90 pop r10
  824. 809 00a8 9F90 pop r9
  825. 810 00aa 8F90 pop r8
  826. 811 00ac 0895 ret
  827. 812 .size SpiAt45dibRead, .-SpiAt45dibRead
  828. 813 .section .text.SpiAt45dibCompare,"ax",@progbits
  829. 814 .type SpiAt45dibCompare, @function
  830. 815 SpiAt45dibCompare:
  831. 816 0000 8F92 push r8
  832. 817 0002 9F92 push r9
  833. 818 0004 AF92 push r10
  834. 819 0006 BF92 push r11
  835. 820 0008 CF92 push r12
  836. 821 000a DF92 push r13
  837. 822 000c EF92 push r14
  838. 823 000e FF92 push r15
  839. 824 0010 0F93 push r16
  840. 825 0012 1F93 push r17
  841. 826 /* prologue: function */
  842. 827 /* frame size = 0 */
  843. 828 /* stack size = 10 */
  844. 829 .L__stack_usage = 10
  845. 830 0014 DC01 movw r26,r24
  846. 831 0016 4B01 movw r8,r22
  847. 832 0018 7901 movw r14,r18
  848. 833 001a 6801 movw r12,r16
  849. 834 001c 012B or r16,r17
  850. 835 001e 01F0 breq .L88
  851. 836 0020 1296 adiw r26,2
  852. 837 0022 ED91 ld r30,X+
  853. 838 0024 FC91 ld r31,X
  854. 839 0026 1397 sbiw r26,2+1
  855. 840 0028 57FF sbrs r21,7
  856. 841 002a 00C0 rjmp .L83
  857. 842 002c 1496 adiw r26,4
  858. 843 002e 8D91 ld r24,X+
  859. 844 0030 9C91 ld r25,X
  860. 845 0032 1597 sbiw r26,4+1
  861. 846 0034 480F add r20,r24
  862. 847 0036 591F adc r21,r25
  863. 848 .L83:
  864. 849 0038 6081 ld r22,Z
  865. 850 003a 7181 ldd r23,Z+1
  866. 851 003c 8D91 ld r24,X+
  867. 852 003e 9C91 ld r25,X
  868. 853 0040 9A01 movw r18,r20
  869. 854 0042 550F lsl r21
  870. 855 0044 440B sbc r20,r20
  871. GAS LISTING /tmp/ccNtAUld.s page 16
  872. 856 0046 550B sbc r21,r21
  873. 857 0048 8616 cp r8,r22
  874. 858 004a 9706 cpc r9,r23
  875. 859 004c 01F0 breq .L91
  876. 860 004e 6281 ldd r22,Z+2
  877. 861 0050 7381 ldd r23,Z+3
  878. 862 0052 8616 cp r8,r22
  879. 863 0054 9706 cpc r9,r23
  880. 864 0056 01F4 brne .L85
  881. 865 0058 66ED ldi r22,lo8(-42)
  882. 866 005a 00C0 rjmp .L86
  883. 867 .L91:
  884. 868 005c 64ED ldi r22,lo8(-44)
  885. 869 .L86:
  886. 870 005e 05E0 ldi r16,lo8(5)
  887. 871 0060 00C0 rjmp .L94
  888. 872 .L88:
  889. 873 0062 80E0 ldi r24,0
  890. 874 0064 90E0 ldi r25,0
  891. 875 0066 00C0 rjmp .L93
  892. 876 .L85:
  893. 877 0068 A12C mov r10,__zero_reg__
  894. 878 006a B12C mov r11,__zero_reg__
  895. 879 006c 0484 ldd r0,Z+12
  896. 880 006e 00C0 rjmp 2f
  897. 881 1:
  898. 882 0070 880C lsl r8
  899. 883 0072 991C rol r9
  900. 884 0074 AA1C rol r10
  901. 885 0076 BB1C rol r11
  902. 886 2:
  903. 887 0078 0A94 dec r0
  904. 888 007a 02F4 brpl 1b
  905. 889 007c 2829 or r18,r8
  906. 890 007e 3929 or r19,r9
  907. 891 0080 4A29 or r20,r10
  908. 892 0082 5B29 or r21,r11
  909. 893 0084 08E0 ldi r16,lo8(8)
  910. 894 0086 62ED ldi r22,lo8(-46)
  911. 895 .L94:
  912. 896 0088 0E94 0000 call At45dibCompare
  913. 897 .L93:
  914. 898 /* epilogue start */
  915. 899 008c 1F91 pop r17
  916. 900 008e 0F91 pop r16
  917. 901 0090 FF90 pop r15
  918. 902 0092 EF90 pop r14
  919. 903 0094 DF90 pop r13
  920. 904 0096 CF90 pop r12
  921. 905 0098 BF90 pop r11
  922. 906 009a AF90 pop r10
  923. 907 009c 9F90 pop r9
  924. 908 009e 8F90 pop r8
  925. 909 00a0 0895 ret
  926. 910 .size SpiAt45dibCompare, .-SpiAt45dibCompare
  927. 911 .section .text.At45dibWaitReady.constprop.5,"ax",@progbits
  928. 912 .type At45dibWaitReady.constprop.5, @function
  929. GAS LISTING /tmp/ccNtAUld.s page 17
  930. 913 At45dibWaitReady.constprop.5:
  931. 914 0000 0F93 push r16
  932. 915 0002 1F93 push r17
  933. 916 0004 CF93 push r28
  934. 917 0006 DF93 push r29
  935. 918 /* prologue: function */
  936. 919 /* frame size = 0 */
  937. 920 /* stack size = 4 */
  938. 921 .L__stack_usage = 4
  939. 922 0008 8C01 movw r16,r24
  940. 923 000a C0E0 ldi r28,0
  941. 924 000c D0E0 ldi r29,0
  942. 925 .L96:
  943. 926 000e C801 movw r24,r16
  944. 927 0010 0E94 0000 call At45dibStatus
  945. 928 0014 87FD sbrc r24,7
  946. 929 0016 00C0 rjmp .L100
  947. 930 0018 2196 adiw r28,1
  948. 931 001a C93E cpi r28,-23
  949. 932 001c 83E0 ldi r24,3
  950. 933 001e D807 cpc r29,r24
  951. 934 0020 01F4 brne .L96
  952. 935 0022 8FEF ldi r24,lo8(-1)
  953. 936 0024 9FEF ldi r25,lo8(-1)
  954. 937 0026 00C0 rjmp .L97
  955. 938 .L100:
  956. 939 0028 80E0 ldi r24,0
  957. 940 002a 90E0 ldi r25,0
  958. 941 .L97:
  959. 942 /* epilogue start */
  960. 943 002c DF91 pop r29
  961. 944 002e CF91 pop r28
  962. 945 0030 1F91 pop r17
  963. 946 0032 0F91 pop r16
  964. 947 0034 0895 ret
  965. 948 .size At45dibWaitReady.constprop.5, .-At45dibWaitReady.constprop.5
  966. 949 .section .text.SpiAt45dibErase,"ax",@progbits
  967. 950 .type SpiAt45dibErase, @function
  968. 951 SpiAt45dibErase:
  969. 952 0000 4F92 push r4
  970. 953 0002 5F92 push r5
  971. 954 0004 6F92 push r6
  972. 955 0006 7F92 push r7
  973. 956 0008 8F92 push r8
  974. 957 000a 9F92 push r9
  975. 958 000c AF92 push r10
  976. 959 000e BF92 push r11
  977. 960 0010 CF92 push r12
  978. 961 0012 DF92 push r13
  979. 962 0014 EF92 push r14
  980. 963 0016 FF92 push r15
  981. 964 0018 0F93 push r16
  982. 965 001a CF93 push r28
  983. 966 001c DF93 push r29
  984. 967 /* prologue: function */
  985. 968 /* frame size = 0 */
  986. 969 /* stack size = 15 */
  987. GAS LISTING /tmp/ccNtAUld.s page 18
  988. 970 .L__stack_usage = 15
  989. 971 001e 3C01 movw r6,r24
  990. 972 0020 2B01 movw r4,r22
  991. 973 0022 FC01 movw r30,r24
  992. 974 0024 C281 ldd r28,Z+2
  993. 975 0026 D381 ldd r29,Z+3
  994. 976 0028 8881 ld r24,Y
  995. 977 002a 9981 ldd r25,Y+1
  996. 978 002c 8617 cp r24,r22
  997. 979 002e 9707 cpc r25,r23
  998. 980 0030 00F0 brlo .L102
  999. 981 0032 9A01 movw r18,r20
  1000. 982 0034 260F add r18,r22
  1001. 983 0036 371F adc r19,r23
  1002. 984 0038 8217 cp r24,r18
  1003. 985 003a 9307 cpc r25,r19
  1004. 986 003c 00F4 brsh .L102
  1005. 987 003e 8FEF ldi r24,lo8(-1)
  1006. 988 0040 9FEF ldi r25,lo8(-1)
  1007. 989 0042 9983 std Y+1,r25
  1008. 990 0044 8883 st Y,r24
  1009. 991 0046 8C81 ldd r24,Y+4
  1010. 992 0048 8E7F andi r24,lo8(-2)
  1011. 993 004a 8C83 std Y+4,r24
  1012. 994 .L102:
  1013. 995 004c 8A81 ldd r24,Y+2
  1014. 996 004e 9B81 ldd r25,Y+3
  1015. 997 0050 8415 cp r24,r4
  1016. 998 0052 9505 cpc r25,r5
  1017. 999 0054 00F0 brlo .L103
  1018. 1000 0056 9A01 movw r18,r20
  1019. 1001 0058 240D add r18,r4
  1020. 1002 005a 351D adc r19,r5
  1021. 1003 005c 8217 cp r24,r18
  1022. 1004 005e 9307 cpc r25,r19
  1023. 1005 0060 00F4 brsh .L103
  1024. 1006 0062 8FEF ldi r24,lo8(-1)
  1025. 1007 0064 9FEF ldi r25,lo8(-1)
  1026. 1008 0066 9B83 std Y+3,r25
  1027. 1009 0068 8A83 std Y+2,r24
  1028. 1010 006a 8D81 ldd r24,Y+5
  1029. 1011 006c 8E7F andi r24,lo8(-2)
  1030. 1012 006e 8D83 std Y+5,r24
  1031. 1013 .L103:
  1032. 1014 0070 4A01 movw r8,r20
  1033. 1015 0072 F1E0 ldi r31,1
  1034. 1016 0074 8F1A sub r8,r31
  1035. 1017 0076 9108 sbc r9,__zero_reg__
  1036. 1018 .L104:
  1037. 1019 0078 2FEF ldi r18,-1
  1038. 1020 007a 8216 cp r8,r18
  1039. 1021 007c 9206 cpc r9,r18
  1040. 1022 007e 01F0 breq .L109
  1041. 1023 0080 9201 movw r18,r4
  1042. 1024 0082 280D add r18,r8
  1043. 1025 0084 391D adc r19,r9
  1044. 1026 0086 C901 movw r24,r18
  1045. GAS LISTING /tmp/ccNtAUld.s page 19
  1046. 1027 0088 A0E0 ldi r26,0
  1047. 1028 008a B0E0 ldi r27,0
  1048. 1029 008c 9C01 movw r18,r24
  1049. 1030 008e AD01 movw r20,r26
  1050. 1031 0090 0C84 ldd r0,Y+12
  1051. 1032 0092 00C0 rjmp 2f
  1052. 1033 1:
  1053. 1034 0094 220F lsl r18
  1054. 1035 0096 331F rol r19
  1055. 1036 0098 441F rol r20
  1056. 1037 009a 551F rol r21
  1057. 1038 2:
  1058. 1039 009c 0A94 dec r0
  1059. 1040 009e 02F4 brpl 1b
  1060. 1041 00a0 A12C mov r10,__zero_reg__
  1061. 1042 00a2 B12C mov r11,__zero_reg__
  1062. 1043 00a4 C12C mov r12,__zero_reg__
  1063. 1044 00a6 D12C mov r13,__zero_reg__
  1064. 1045 00a8 E12C mov r14,__zero_reg__
  1065. 1046 00aa F12C mov r15,__zero_reg__
  1066. 1047 00ac 04E0 ldi r16,lo8(4)
  1067. 1048 00ae 61E8 ldi r22,lo8(-127)
  1068. 1049 00b0 F301 movw r30,r6
  1069. 1050 00b2 8081 ld r24,Z
  1070. 1051 00b4 9181 ldd r25,Z+1
  1071. 1052 00b6 0E94 0000 call At45dibTransfer
  1072. 1053 00ba 892B or r24,r25
  1073. 1054 00bc 01F0 breq .L105
  1074. 1055 .L107:
  1075. 1056 00be 8FEF ldi r24,lo8(-1)
  1076. 1057 00c0 9FEF ldi r25,lo8(-1)
  1077. 1058 00c2 00C0 rjmp .L106
  1078. 1059 .L105:
  1079. 1060 00c4 F301 movw r30,r6
  1080. 1061 00c6 8081 ld r24,Z
  1081. 1062 00c8 9181 ldd r25,Z+1
  1082. 1063 00ca 0E94 0000 call At45dibWaitReady.constprop.5
  1083. 1064 00ce F1E0 ldi r31,1
  1084. 1065 00d0 8F1A sub r8,r31
  1085. 1066 00d2 9108 sbc r9,__zero_reg__
  1086. 1067 00d4 892B or r24,r25
  1087. 1068 00d6 01F0 breq .L104
  1088. 1069 00d8 00C0 rjmp .L107
  1089. 1070 .L109:
  1090. 1071 00da 80E0 ldi r24,0
  1091. 1072 00dc 90E0 ldi r25,0
  1092. 1073 .L106:
  1093. 1074 /* epilogue start */
  1094. 1075 00de DF91 pop r29
  1095. 1076 00e0 CF91 pop r28
  1096. 1077 00e2 0F91 pop r16
  1097. 1078 00e4 FF90 pop r15
  1098. 1079 00e6 EF90 pop r14
  1099. 1080 00e8 DF90 pop r13
  1100. 1081 00ea CF90 pop r12
  1101. 1082 00ec BF90 pop r11
  1102. 1083 00ee AF90 pop r10
  1103. GAS LISTING /tmp/ccNtAUld.s page 20
  1104. 1084 00f0 9F90 pop r9
  1105. 1085 00f2 8F90 pop r8
  1106. 1086 00f4 7F90 pop r7
  1107. 1087 00f6 6F90 pop r6
  1108. 1088 00f8 5F90 pop r5
  1109. 1089 00fa 4F90 pop r4
  1110. 1090 00fc 0895 ret
  1111. 1091 .size SpiAt45dibErase, .-SpiAt45dibErase
  1112. 1092 .section .text.At45dibFlash,"ax",@progbits
  1113. 1093 .type At45dibFlash, @function
  1114. 1094 At45dibFlash:
  1115. 1095 0000 6F92 push r6
  1116. 1096 0002 7F92 push r7
  1117. 1097 0004 8F92 push r8
  1118. 1098 0006 9F92 push r9
  1119. 1099 0008 AF92 push r10
  1120. 1100 000a BF92 push r11
  1121. 1101 000c CF92 push r12
  1122. 1102 000e DF92 push r13
  1123. 1103 0010 EF92 push r14
  1124. 1104 0012 FF92 push r15
  1125. 1105 0014 0F93 push r16
  1126. 1106 0016 CF93 push r28
  1127. 1107 0018 DF93 push r29
  1128. 1108 /* prologue: function */
  1129. 1109 /* frame size = 0 */
  1130. 1110 /* stack size = 13 */
  1131. 1111 .L__stack_usage = 13
  1132. 1112 001a 3C01 movw r6,r24
  1133. 1113 001c FC01 movw r30,r24
  1134. 1114 001e 8280 ldd r8,Z+2
  1135. 1115 0020 9380 ldd r9,Z+3
  1136. 1116 0022 C62F mov r28,r22
  1137. 1117 0024 062E mov __tmp_reg__,r22
  1138. 1118 0026 000C lsl r0
  1139. 1119 0028 DD0B sbc r29,r29
  1140. 1120 002a FE01 movw r30,r28
  1141. 1121 002c EE0F lsl r30
  1142. 1122 002e FF1F rol r31
  1143. 1123 0030 E80D add r30,r8
  1144. 1124 0032 F91D adc r31,r9
  1145. 1125 0034 2081 ld r18,Z
  1146. 1126 0036 3181 ldd r19,Z+1
  1147. 1127 0038 C901 movw r24,r18
  1148. 1128 003a A0E0 ldi r26,0
  1149. 1129 003c B0E0 ldi r27,0
  1150. 1130 003e 9C01 movw r18,r24
  1151. 1131 0040 AD01 movw r20,r26
  1152. 1132 0042 F401 movw r30,r8
  1153. 1133 0044 0484 ldd r0,Z+12
  1154. 1134 0046 00C0 rjmp 2f
  1155. 1135 1:
  1156. 1136 0048 220F lsl r18
  1157. 1137 004a 331F rol r19
  1158. 1138 004c 441F rol r20
  1159. 1139 004e 551F rol r21
  1160. 1140 2:
  1161. GAS LISTING /tmp/ccNtAUld.s page 21
  1162. 1141 0050 0A94 dec r0
  1163. 1142 0052 02F4 brpl 1b
  1164. 1143 0054 6111 cpse r22,__zero_reg__
  1165. 1144 0056 00C0 rjmp .L113
  1166. 1145 0058 68E8 ldi r22,lo8(-120)
  1167. 1146 005a 00C0 rjmp .L111
  1168. 1147 .L113:
  1169. 1148 005c 69E8 ldi r22,lo8(-119)
  1170. 1149 .L111:
  1171. 1150 005e A12C mov r10,__zero_reg__
  1172. 1151 0060 B12C mov r11,__zero_reg__
  1173. 1152 0062 C12C mov r12,__zero_reg__
  1174. 1153 0064 D12C mov r13,__zero_reg__
  1175. 1154 0066 E12C mov r14,__zero_reg__
  1176. 1155 0068 F12C mov r15,__zero_reg__
  1177. 1156 006a 04E0 ldi r16,lo8(4)
  1178. 1157 006c F301 movw r30,r6
  1179. 1158 006e 8081 ld r24,Z
  1180. 1159 0070 9181 ldd r25,Z+1
  1181. 1160 0072 0E94 0000 call At45dibTransfer
  1182. 1161 0076 0097 sbiw r24,0
  1183. 1162 0078 01F4 brne .L112
  1184. 1163 007a F301 movw r30,r6
  1185. 1164 007c 8081 ld r24,Z
  1186. 1165 007e 9181 ldd r25,Z+1
  1187. 1166 0080 0E94 0000 call At45dibWaitReady.constprop.5
  1188. 1167 0084 C80D add r28,r8
  1189. 1168 0086 D91D adc r29,r9
  1190. 1169 0088 2C81 ldd r18,Y+4
  1191. 1170 008a 2E7F andi r18,lo8(-2)
  1192. 1171 008c 2C83 std Y+4,r18
  1193. 1172 .L112:
  1194. 1173 /* epilogue start */
  1195. 1174 008e DF91 pop r29
  1196. 1175 0090 CF91 pop r28
  1197. 1176 0092 0F91 pop r16
  1198. 1177 0094 FF90 pop r15
  1199. 1178 0096 EF90 pop r14
  1200. 1179 0098 DF90 pop r13
  1201. 1180 009a CF90 pop r12
  1202. 1181 009c BF90 pop r11
  1203. 1182 009e AF90 pop r10
  1204. 1183 00a0 9F90 pop r9
  1205. 1184 00a2 8F90 pop r8
  1206. 1185 00a4 7F90 pop r7
  1207. 1186 00a6 6F90 pop r6
  1208. 1187 00a8 0895 ret
  1209. 1188 .size At45dibFlash, .-At45dibFlash
  1210. 1189 .section .text.SpiAt45dibCommit,"ax",@progbits
  1211. 1190 .type SpiAt45dibCommit, @function
  1212. 1191 SpiAt45dibCommit:
  1213. 1192 /* prologue: function */
  1214. 1193 /* frame size = 0 */
  1215. 1194 /* stack size = 0 */
  1216. 1195 .L__stack_usage = 0
  1217. 1196 0000 DC01 movw r26,r24
  1218. 1197 0002 1296 adiw r26,2
  1219. GAS LISTING /tmp/ccNtAUld.s page 22
  1220. 1198 0004 ED91 ld r30,X+
  1221. 1199 0006 FC91 ld r31,X
  1222. 1200 0008 1397 sbiw r26,2+1
  1223. 1201 000a 2081 ld r18,Z
  1224. 1202 000c 3181 ldd r19,Z+1
  1225. 1203 000e 6217 cp r22,r18
  1226. 1204 0010 7307 cpc r23,r19
  1227. 1205 0012 01F0 breq .L118
  1228. 1206 0014 2281 ldd r18,Z+2
  1229. 1207 0016 3381 ldd r19,Z+3
  1230. 1208 0018 6217 cp r22,r18
  1231. 1209 001a 7307 cpc r23,r19
  1232. 1210 001c 01F4 brne .L120
  1233. 1211 001e 61E0 ldi r22,lo8(1)
  1234. 1212 0020 00C0 rjmp .L115
  1235. 1213 .L118:
  1236. 1214 0022 60E0 ldi r22,0
  1237. 1215 .L115:
  1238. 1216 0024 E60F add r30,r22
  1239. 1217 0026 F11D adc r31,__zero_reg__
  1240. 1218 0028 2481 ldd r18,Z+4
  1241. 1219 002a 20FD sbrc r18,0
  1242. 1220 002c 0C94 0000 jmp At45dibFlash
  1243. 1221 .L120:
  1244. 1222 0030 80E0 ldi r24,0
  1245. 1223 0032 90E0 ldi r25,0
  1246. 1224 0034 0895 ret
  1247. 1225 .size SpiAt45dibCommit, .-SpiAt45dibCommit
  1248. 1226 .section .text.At45dibAllocate,"ax",@progbits
  1249. 1227 .type At45dibAllocate, @function
  1250. 1228 At45dibAllocate:
  1251. 1229 0000 2F92 push r2
  1252. 1230 0002 3F92 push r3
  1253. 1231 0004 4F92 push r4
  1254. 1232 0006 5F92 push r5
  1255. 1233 0008 6F92 push r6
  1256. 1234 000a 7F92 push r7
  1257. 1235 000c 8F92 push r8
  1258. 1236 000e 9F92 push r9
  1259. 1237 0010 AF92 push r10
  1260. 1238 0012 BF92 push r11
  1261. 1239 0014 CF92 push r12
  1262. 1240 0016 DF92 push r13
  1263. 1241 0018 EF92 push r14
  1264. 1242 001a FF92 push r15
  1265. 1243 001c 0F93 push r16
  1266. 1244 001e 1F93 push r17
  1267. 1245 0020 CF93 push r28
  1268. 1246 0022 DF93 push r29
  1269. 1247 0024 00D0 rcall .
  1270. 1248 0026 1F92 push __zero_reg__
  1271. 1249 0028 CDB7 in r28,__SP_L__
  1272. 1250 002a DEB7 in r29,__SP_H__
  1273. 1251 /* prologue: function */
  1274. 1252 /* frame size = 4 */
  1275. 1253 /* stack size = 22 */
  1276. 1254 .L__stack_usage = 22
  1277. GAS LISTING /tmp/ccNtAUld.s page 23
  1278. 1255 002c 4C01 movw r8,r24
  1279. 1256 002e 3B01 movw r6,r22
  1280. 1257 0030 FC01 movw r30,r24
  1281. 1258 0032 0280 ldd __tmp_reg__,Z+2
  1282. 1259 0034 F381 ldd r31,Z+3
  1283. 1260 0036 E02D mov r30,__tmp_reg__
  1284. 1261 0038 FC83 std Y+4,r31
  1285. 1262 003a EB83 std Y+3,r30
  1286. 1263 003c 1F01 movw r2,r30
  1287. 1264 003e FAE0 ldi r31,10
  1288. 1265 0040 2F0E add r2,r31
  1289. 1266 0042 311C adc r3,__zero_reg__
  1290. 1267 .L134:
  1291. 1268 0044 EB81 ldd r30,Y+3
  1292. 1269 0046 FC81 ldd r31,Y+4
  1293. 1270 0048 8081 ld r24,Z
  1294. 1271 004a 9181 ldd r25,Z+1
  1295. 1272 004c 6816 cp r6,r24
  1296. 1273 004e 7906 cpc r7,r25
  1297. 1274 0050 01F0 breq .L138
  1298. 1275 0052 8281 ldd r24,Z+2
  1299. 1276 0054 9381 ldd r25,Z+3
  1300. 1277 0056 6816 cp r6,r24
  1301. 1278 0058 7906 cpc r7,r25
  1302. 1279 005a 01F4 brne .L123
  1303. 1280 005c 21E0 ldi r18,lo8(1)
  1304. 1281 005e 30E0 ldi r19,0
  1305. 1282 0060 81E0 ldi r24,lo8(1)
  1306. 1283 0062 00C0 rjmp .L122
  1307. 1284 .L138:
  1308. 1285 0064 20E0 ldi r18,0
  1309. 1286 0066 30E0 ldi r19,0
  1310. 1287 0068 80E0 ldi r24,0
  1311. 1288 .L122:
  1312. 1289 006a F901 movw r30,r18
  1313. 1290 006c EE0F lsl r30
  1314. 1291 006e FF1F rol r31
  1315. 1292 0070 4B81 ldd r20,Y+3
  1316. 1293 0072 5C81 ldd r21,Y+4
  1317. 1294 0074 E40F add r30,r20
  1318. 1295 0076 F51F adc r31,r21
  1319. 1296 0078 4681 ldd r20,Z+6
  1320. 1297 007a 5781 ldd r21,Z+7
  1321. 1298 007c 4F5F subi r20,-1
  1322. 1299 007e 5F4F sbci r21,-1
  1323. 1300 0080 5783 std Z+7,r21
  1324. 1301 0082 4683 std Z+6,r20
  1325. 1302 0084 EB81 ldd r30,Y+3
  1326. 1303 0086 FC81 ldd r31,Y+4
  1327. 1304 0088 E20F add r30,r18
  1328. 1305 008a F31F adc r31,r19
  1329. 1306 008c 9481 ldd r25,Z+4
  1330. 1307 008e 9160 ori r25,lo8(1)
  1331. 1308 0090 9483 std Z+4,r25
  1332. 1309 0092 00C0 rjmp .L152
  1333. 1310 .L123:
  1334. 1311 0094 EB81 ldd r30,Y+3
  1335. GAS LISTING /tmp/ccNtAUld.s page 24
  1336. 1312 0096 FC81 ldd r31,Y+4
  1337. 1313 0098 4680 ldd r4,Z+6
  1338. 1314 009a 5780 ldd r5,Z+7
  1339. 1315 009c 4114 cp r4,__zero_reg__
  1340. 1316 009e 5104 cpc r5,__zero_reg__
  1341. 1317 00a0 01F4 brne .L125
  1342. 1318 00a2 8481 ldd r24,Z+4
  1343. 1319 00a4 80FF sbrs r24,0
  1344. 1320 00a6 00C0 rjmp .L139
  1345. 1321 .L125:
  1346. 1322 00a8 EB81 ldd r30,Y+3
  1347. 1323 00aa FC81 ldd r31,Y+4
  1348. 1324 00ac 8085 ldd r24,Z+8
  1349. 1325 00ae 9185 ldd r25,Z+9
  1350. 1326 00b0 0097 sbiw r24,0
  1351. 1327 00b2 01F0 breq .+2
  1352. 1328 00b4 00C0 rjmp .L127
  1353. 1329 00b6 2581 ldd r18,Z+5
  1354. 1330 00b8 20FD sbrc r18,0
  1355. 1331 00ba 00C0 rjmp .L128
  1356. 1332 00bc 4424 clr r4
  1357. 1333 00be 4394 inc r4
  1358. 1334 00c0 512C mov r5,__zero_reg__
  1359. 1335 00c2 11E0 ldi r17,lo8(1)
  1360. 1336 00c4 00C0 rjmp .L126
  1361. 1337 .L139:
  1362. 1338 00c6 10E0 ldi r17,0
  1363. 1339 .L126:
  1364. 1340 00c8 C301 movw r24,r6
  1365. 1341 00ca A0E0 ldi r26,0
  1366. 1342 00cc B0E0 ldi r27,0
  1367. 1343 00ce 9C01 movw r18,r24
  1368. 1344 00d0 AD01 movw r20,r26
  1369. 1345 00d2 EB81 ldd r30,Y+3
  1370. 1346 00d4 FC81 ldd r31,Y+4
  1371. 1347 00d6 0484 ldd r0,Z+12
  1372. 1348 00d8 00C0 rjmp 2f
  1373. 1349 1:
  1374. 1350 00da 220F lsl r18
  1375. 1351 00dc 331F rol r19
  1376. 1352 00de 441F rol r20
  1377. 1353 00e0 551F rol r21
  1378. 1354 2:
  1379. 1355 00e2 0A94 dec r0
  1380. 1356 00e4 02F4 brpl 1b
  1381. 1357 00e6 1201 movw r2,r4
  1382. 1358 00e8 220C lsl r2
  1383. 1359 00ea 331C rol r3
  1384. 1360 00ec E20D add r30,r2
  1385. 1361 00ee F31D adc r31,r3
  1386. 1362 00f0 FA83 std Y+2,r31
  1387. 1363 00f2 E983 std Y+1,r30
  1388. 1364 00f4 81E0 ldi r24,lo8(1)
  1389. 1365 00f6 90E0 ldi r25,0
  1390. 1366 00f8 9783 std Z+7,r25
  1391. 1367 00fa 8683 std Z+6,r24
  1392. 1368 00fc F401 movw r30,r8
  1393. GAS LISTING /tmp/ccNtAUld.s page 25
  1394. 1369 00fe 8081 ld r24,Z
  1395. 1370 0100 9181 ldd r25,Z+1
  1396. 1371 0102 A12C mov r10,__zero_reg__
  1397. 1372 0104 B12C mov r11,__zero_reg__
  1398. 1373 0106 C12C mov r12,__zero_reg__
  1399. 1374 0108 D12C mov r13,__zero_reg__
  1400. 1375 010a E12C mov r14,__zero_reg__
  1401. 1376 010c F12C mov r15,__zero_reg__
  1402. 1377 010e 04E0 ldi r16,lo8(4)
  1403. 1378 0110 1123 tst r17
  1404. 1379 0112 01F0 breq .L129
  1405. 1380 0114 65E5 ldi r22,lo8(85)
  1406. 1381 0116 00C0 rjmp .L153
  1407. 1382 .L129:
  1408. 1383 0118 63E5 ldi r22,lo8(83)
  1409. 1384 .L153:
  1410. 1385 011a 0E94 0000 call At45dibTransfer
  1411. 1386 011e 892B or r24,r25
  1412. 1387 0120 01F4 brne .L131
  1413. 1388 0122 F401 movw r30,r8
  1414. 1389 0124 8081 ld r24,Z
  1415. 1390 0126 9181 ldd r25,Z+1
  1416. 1391 0128 0E94 0000 call At45dibWaitReady.constprop.5
  1417. 1392 012c 892B or r24,r25
  1418. 1393 012e 01F4 brne .L131
  1419. 1394 0130 E981 ldd r30,Y+1
  1420. 1395 0132 FA81 ldd r31,Y+2
  1421. 1396 0134 7182 std Z+1,r7
  1422. 1397 0136 6082 st Z,r6
  1423. 1398 0138 EB81 ldd r30,Y+3
  1424. 1399 013a FC81 ldd r31,Y+4
  1425. 1400 013c E40D add r30,r4
  1426. 1401 013e F51D adc r31,r5
  1427. 1402 0140 8481 ldd r24,Z+4
  1428. 1403 0142 8160 ori r24,lo8(1)
  1429. 1404 0144 8483 std Z+4,r24
  1430. 1405 0146 812F mov r24,r17
  1431. 1406 0148 00C0 rjmp .L152
  1432. 1407 .L131:
  1433. 1408 014a F401 movw r30,r8
  1434. 1409 014c 8281 ldd r24,Z+2
  1435. 1410 014e 9381 ldd r25,Z+3
  1436. 1411 0150 FC01 movw r30,r24
  1437. 1412 0152 E20D add r30,r2
  1438. 1413 0154 F31D adc r31,r3
  1439. 1414 0156 2681 ldd r18,Z+6
  1440. 1415 0158 3781 ldd r19,Z+7
  1441. 1416 015a 2150 subi r18,1
  1442. 1417 015c 3109 sbc r19,__zero_reg__
  1443. 1418 015e 3783 std Z+7,r19
  1444. 1419 0160 2683 std Z+6,r18
  1445. 1420 0162 0A96 adiw r24,10
  1446. 1421 0164 0E94 0000 call NutEventPost
  1447. 1422 0168 00C0 rjmp .L154
  1448. 1423 .L128:
  1449. 1424 016a 4528 or r4,r5
  1450. 1425 016c 01F4 brne .L137
  1451. GAS LISTING /tmp/ccNtAUld.s page 26
  1452. 1426 .L136:
  1453. 1427 016e EB81 ldd r30,Y+3
  1454. 1428 0170 FC81 ldd r31,Y+4
  1455. 1429 0172 2481 ldd r18,Z+4
  1456. 1430 0174 20FD sbrc r18,0
  1457. 1431 0176 00C0 rjmp .L140
  1458. 1432 0178 892B or r24,r25
  1459. 1433 017a 01F4 brne .L133
  1460. 1434 .L137:
  1461. 1435 017c EB81 ldd r30,Y+3
  1462. 1436 017e FC81 ldd r31,Y+4
  1463. 1437 0180 8581 ldd r24,Z+5
  1464. 1438 0182 80FF sbrs r24,0
  1465. 1439 0184 00C0 rjmp .L133
  1466. 1440 0186 61E0 ldi r22,lo8(1)
  1467. 1441 .L132:
  1468. 1442 0188 C401 movw r24,r8
  1469. 1443 018a 0E94 0000 call At45dibFlash
  1470. 1444 018e 892B or r24,r25
  1471. 1445 0190 01F4 brne .+2
  1472. 1446 0192 00C0 rjmp .L134
  1473. 1447 .L154:
  1474. 1448 0194 8FEF ldi r24,lo8(-1)
  1475. 1449 0196 00C0 rjmp .L152
  1476. 1450 .L140:
  1477. 1451 0198 60E0 ldi r22,0
  1478. 1452 019a 00C0 rjmp .L132
  1479. 1453 .L127:
  1480. 1454 019c 4528 or r4,r5
  1481. 1455 019e 01F0 breq .L136
  1482. 1456 .L133:
  1483. 1457 01a0 40E0 ldi r20,0
  1484. 1458 01a2 50E0 ldi r21,0
  1485. 1459 01a4 BA01 movw r22,r20
  1486. 1460 01a6 C101 movw r24,r2
  1487. 1461 01a8 0E94 0000 call NutEventWait
  1488. 1462 01ac 00C0 rjmp .L134
  1489. 1463 .L152:
  1490. 1464 /* epilogue start */
  1491. 1465 01ae 0F90 pop __tmp_reg__
  1492. 1466 01b0 0F90 pop __tmp_reg__
  1493. 1467 01b2 0F90 pop __tmp_reg__
  1494. 1468 01b4 0F90 pop __tmp_reg__
  1495. 1469 01b6 DF91 pop r29
  1496. 1470 01b8 CF91 pop r28
  1497. 1471 01ba 1F91 pop r17
  1498. 1472 01bc 0F91 pop r16
  1499. 1473 01be FF90 pop r15
  1500. 1474 01c0 EF90 pop r14
  1501. 1475 01c2 DF90 pop r13
  1502. 1476 01c4 CF90 pop r12
  1503. 1477 01c6 BF90 pop r11
  1504. 1478 01c8 AF90 pop r10
  1505. 1479 01ca 9F90 pop r9
  1506. 1480 01cc 8F90 pop r8
  1507. 1481 01ce 7F90 pop r7
  1508. 1482 01d0 6F90 pop r6
  1509. GAS LISTING /tmp/ccNtAUld.s page 27
  1510. 1483 01d2 5F90 pop r5
  1511. 1484 01d4 4F90 pop r4
  1512. 1485 01d6 3F90 pop r3
  1513. 1486 01d8 2F90 pop r2
  1514. 1487 01da 0895 ret
  1515. 1488 .size At45dibAllocate, .-At45dibAllocate
  1516. 1489 .section .text.SpiAt45dibCopy,"ax",@progbits
  1517. 1490 .type SpiAt45dibCopy, @function
  1518. 1491 SpiAt45dibCopy:
  1519. 1492 0000 EF92 push r14
  1520. 1493 0002 FF92 push r15
  1521. 1494 0004 0F93 push r16
  1522. 1495 0006 1F93 push r17
  1523. 1496 0008 CF93 push r28
  1524. 1497 000a DF93 push r29
  1525. 1498 /* prologue: function */
  1526. 1499 /* frame size = 0 */
  1527. 1500 /* stack size = 6 */
  1528. 1501 .L__stack_usage = 6
  1529. 1502 000c 8C01 movw r16,r24
  1530. 1503 000e 7A01 movw r14,r20
  1531. 1504 0010 6417 cp r22,r20
  1532. 1505 0012 7507 cpc r23,r21
  1533. 1506 0014 01F4 brne .L156
  1534. 1507 0016 0E94 0000 call At45dibAllocate
  1535. 1508 001a 87FF sbrs r24,7
  1536. 1509 001c 00C0 rjmp .L157
  1537. 1510 .L160:
  1538. 1511 001e 8FEF ldi r24,lo8(-1)
  1539. 1512 0020 9FEF ldi r25,lo8(-1)
  1540. 1513 0022 00C0 rjmp .L158
  1541. 1514 .L156:
  1542. 1515 0024 FC01 movw r30,r24
  1543. 1516 0026 C281 ldd r28,Z+2
  1544. 1517 0028 D381 ldd r29,Z+3
  1545. 1518 002a 8881 ld r24,Y
  1546. 1519 002c 9981 ldd r25,Y+1
  1547. 1520 002e 4817 cp r20,r24
  1548. 1521 0030 5907 cpc r21,r25
  1549. 1522 0032 01F4 brne .L159
  1550. 1523 0034 8E81 ldd r24,Y+6
  1551. 1524 0036 9F81 ldd r25,Y+7
  1552. 1525 0038 892B or r24,r25
  1553. 1526 003a 01F4 brne .L160
  1554. 1527 003c 8FEF ldi r24,lo8(-1)
  1555. 1528 003e 9FEF ldi r25,lo8(-1)
  1556. 1529 0040 9983 std Y+1,r25
  1557. 1530 0042 8883 st Y,r24
  1558. 1531 .L159:
  1559. 1532 0044 8A81 ldd r24,Y+2
  1560. 1533 0046 9B81 ldd r25,Y+3
  1561. 1534 0048 E816 cp r14,r24
  1562. 1535 004a F906 cpc r15,r25
  1563. 1536 004c 01F4 brne .L161
  1564. 1537 004e 8885 ldd r24,Y+8
  1565. 1538 0050 9985 ldd r25,Y+9
  1566. 1539 0052 892B or r24,r25
  1567. GAS LISTING /tmp/ccNtAUld.s page 28
  1568. 1540 0054 01F4 brne .L160
  1569. 1541 0056 8FEF ldi r24,lo8(-1)
  1570. 1542 0058 9FEF ldi r25,lo8(-1)
  1571. 1543 005a 9B83 std Y+3,r25
  1572. 1544 005c 8A83 std Y+2,r24
  1573. 1545 .L161:
  1574. 1546 005e C801 movw r24,r16
  1575. 1547 0060 0E94 0000 call At45dibAllocate
  1576. 1548 0064 87FD sbrc r24,7
  1577. 1549 0066 00C0 rjmp .L160
  1578. 1550 0068 282F mov r18,r24
  1579. 1551 006a 220F lsl r18
  1580. 1552 006c 330B sbc r19,r19
  1581. 1553 006e C20F add r28,r18
  1582. 1554 0070 D31F adc r29,r19
  1583. 1555 0072 F982 std Y+1,r15
  1584. 1556 0074 E882 st Y,r14
  1585. 1557 .L157:
  1586. 1558 0076 F801 movw r30,r16
  1587. 1559 0078 4281 ldd r20,Z+2
  1588. 1560 007a 5381 ldd r21,Z+3
  1589. 1561 007c E82F mov r30,r24
  1590. 1562 007e EE0F lsl r30
  1591. 1563 0080 FF0B sbc r31,r31
  1592. 1564 0082 E40F add r30,r20
  1593. 1565 0084 F51F adc r31,r21
  1594. 1566 0086 2681 ldd r18,Z+6
  1595. 1567 0088 3781 ldd r19,Z+7
  1596. 1568 008a 2150 subi r18,1
  1597. 1569 008c 3109 sbc r19,__zero_reg__
  1598. 1570 008e 3783 std Z+7,r19
  1599. 1571 0090 2683 std Z+6,r18
  1600. 1572 0092 CA01 movw r24,r20
  1601. 1573 0094 0A96 adiw r24,10
  1602. 1574 0096 0E94 0000 call NutEventPost
  1603. 1575 009a 80E0 ldi r24,0
  1604. 1576 009c 90E0 ldi r25,0
  1605. 1577 .L158:
  1606. 1578 /* epilogue start */
  1607. 1579 009e DF91 pop r29
  1608. 1580 00a0 CF91 pop r28
  1609. 1581 00a2 1F91 pop r17
  1610. 1582 00a4 0F91 pop r16
  1611. 1583 00a6 FF90 pop r15
  1612. 1584 00a8 EF90 pop r14
  1613. 1585 00aa 0895 ret
  1614. 1586 .size SpiAt45dibCopy, .-SpiAt45dibCopy
  1615. 1587 .section .text.SpiAt45dibWrite,"ax",@progbits
  1616. 1588 .type SpiAt45dibWrite, @function
  1617. 1589 SpiAt45dibWrite:
  1618. 1590 0000 8F92 push r8
  1619. 1591 0002 9F92 push r9
  1620. 1592 0004 AF92 push r10
  1621. 1593 0006 BF92 push r11
  1622. 1594 0008 CF92 push r12
  1623. 1595 000a DF92 push r13
  1624. 1596 000c EF92 push r14
  1625. GAS LISTING /tmp/ccNtAUld.s page 29
  1626. 1597 000e FF92 push r15
  1627. 1598 0010 0F93 push r16
  1628. 1599 0012 1F93 push r17
  1629. 1600 0014 CF93 push r28
  1630. 1601 /* prologue: function */
  1631. 1602 /* frame size = 0 */
  1632. 1603 /* stack size = 11 */
  1633. 1604 .L__stack_usage = 11
  1634. 1605 0016 4C01 movw r8,r24
  1635. 1606 0018 6A01 movw r12,r20
  1636. 1607 001a 7901 movw r14,r18
  1637. 1608 001c 0115 cp r16,__zero_reg__
  1638. 1609 001e 1105 cpc r17,__zero_reg__
  1639. 1610 0020 01F0 breq .L166
  1640. 1611 0022 57FF sbrs r21,7
  1641. 1612 0024 00C0 rjmp .L164
  1642. 1613 0026 FC01 movw r30,r24
  1643. 1614 0028 8481 ldd r24,Z+4
  1644. 1615 002a 9581 ldd r25,Z+5
  1645. 1616 002c C80E add r12,r24
  1646. 1617 002e D91E adc r13,r25
  1647. 1618 .L164:
  1648. 1619 0030 C401 movw r24,r8
  1649. 1620 0032 0E94 0000 call At45dibAllocate
  1650. 1621 0036 C82F mov r28,r24
  1651. 1622 0038 87FD sbrc r24,7
  1652. 1623 003a 00C0 rjmp .L167
  1653. 1624 003c 9601 movw r18,r12
  1654. 1625 003e DD0C lsl r13
  1655. 1626 0040 440B sbc r20,r20
  1656. 1627 0042 550B sbc r21,r21
  1657. 1628 0044 8111 cpse r24,__zero_reg__
  1658. 1629 0046 00C0 rjmp .L168
  1659. 1630 0048 64E8 ldi r22,lo8(-124)
  1660. 1631 004a 00C0 rjmp .L165
  1661. 1632 .L168:
  1662. 1633 004c 67E8 ldi r22,lo8(-121)
  1663. 1634 .L165:
  1664. 1635 004e 5801 movw r10,r16
  1665. 1636 0050 C12C mov r12,__zero_reg__
  1666. 1637 0052 D12C mov r13,__zero_reg__
  1667. 1638 0054 04E0 ldi r16,lo8(4)
  1668. 1639 0056 F401 movw r30,r8
  1669. 1640 0058 8081 ld r24,Z
  1670. 1641 005a 9181 ldd r25,Z+1
  1671. 1642 005c 0E94 0000 call At45dibTransfer
  1672. 1643 0060 7C01 movw r14,r24
  1673. 1644 0062 F401 movw r30,r8
  1674. 1645 0064 8281 ldd r24,Z+2
  1675. 1646 0066 9381 ldd r25,Z+3
  1676. 1647 0068 EC2F mov r30,r28
  1677. 1648 006a EE0F lsl r30
  1678. 1649 006c FF0B sbc r31,r31
  1679. 1650 006e E80F add r30,r24
  1680. 1651 0070 F91F adc r31,r25
  1681. 1652 0072 2681 ldd r18,Z+6
  1682. 1653 0074 3781 ldd r19,Z+7
  1683. GAS LISTING /tmp/ccNtAUld.s page 30
  1684. 1654 0076 2150 subi r18,1
  1685. 1655 0078 3109 sbc r19,__zero_reg__
  1686. 1656 007a 3783 std Z+7,r19
  1687. 1657 007c 2683 std Z+6,r18
  1688. 1658 007e 0A96 adiw r24,10
  1689. 1659 0080 0E94 0000 call NutEventPost
  1690. 1660 0084 C701 movw r24,r14
  1691. 1661 0086 00C0 rjmp .L163
  1692. 1662 .L166:
  1693. 1663 0088 80E0 ldi r24,0
  1694. 1664 008a 90E0 ldi r25,0
  1695. 1665 008c 00C0 rjmp .L163
  1696. 1666 .L167:
  1697. 1667 008e 8FEF ldi r24,lo8(-1)
  1698. 1668 0090 9FEF ldi r25,lo8(-1)
  1699. 1669 .L163:
  1700. 1670 /* epilogue start */
  1701. 1671 0092 CF91 pop r28
  1702. 1672 0094 1F91 pop r17
  1703. 1673 0096 0F91 pop r16
  1704. 1674 0098 FF90 pop r15
  1705. 1675 009a EF90 pop r14
  1706. 1676 009c DF90 pop r13
  1707. 1677 009e CF90 pop r12
  1708. 1678 00a0 BF90 pop r11
  1709. 1679 00a2 AF90 pop r10
  1710. 1680 00a4 9F90 pop r9
  1711. 1681 00a6 8F90 pop r8
  1712. 1682 00a8 0895 ret
  1713. 1683 .size SpiAt45dibWrite, .-SpiAt45dibWrite
  1714. 1684 .global flashAt45dib1
  1715. 1685 .data
  1716. 1686 .type flashAt45dib1, @object
  1717. 1687 .size flashAt45dib1, 32
  1718. 1688 flashAt45dib1:
  1719. 1689 0000 0000 .word spiNode1
  1720. 1690 0002 0000 .word 0
  1721. 1691 0004 0000 .word 0
  1722. 1692 0006 0000 .word 0
  1723. 1693 0008 0000 .word 0
  1724. 1694 000a 0100 .word 1
  1725. 1695 000c 0000 .word gs(SpiAt45dibInit)
  1726. 1696 000e 0000 .word gs(SpiAt45dibExit)
  1727. 1697 0010 0000 .word gs(SpiAt45dibCheck)
  1728. 1698 0012 0000 .word gs(SpiAt45dibRead)
  1729. 1699 0014 0000 .word gs(SpiAt45dibCompare)
  1730. 1700 0016 0000 .word gs(SpiAt45dibUsed)
  1731. 1701 0018 0000 .word gs(SpiAt45dibWrite)
  1732. 1702 001a 0000 .word gs(SpiAt45dibCopy)
  1733. 1703 001c 0000 .word gs(SpiAt45dibCommit)
  1734. 1704 001e 0000 .word gs(SpiAt45dibErase)
  1735. 1705 .type spiNode1, @object
  1736. 1706 .size spiNode1, 14
  1737. 1707 spiNode1:
  1738. 1708 0020 0000 .word 0
  1739. 1709 0022 0000 .word 0
  1740. 1710 0024 40 .byte 64
  1741. GAS LISTING /tmp/ccNtAUld.s page 31
  1742. 1711 0025 8A .byte -118
  1743. 1712 0026 F7 .byte -9
  1744. 1713 0027 01 .byte 1
  1745. 1714 0028 0300 .word 3
  1746. 1715 002a 08 .byte 8
  1747. 1716 002b 01 .byte 1
  1748. 1717 002c 0000 .zero 2
  1749. 1718 .global flashAt45dib0
  1750. 1719 .type flashAt45dib0, @object
  1751. 1720 .size flashAt45dib0, 32
  1752. 1721 flashAt45dib0:
  1753. 1722 002e 0000 .word spiNode0
  1754. 1723 0030 0000 .word 0
  1755. 1724 0032 0000 .word 0
  1756. 1725 0034 0000 .word 0
  1757. 1726 0036 0000 .word 0
  1758. 1727 0038 0100 .word 1
  1759. 1728 003a 0000 .word gs(SpiAt45dibInit)
  1760. 1729 003c 0000 .word gs(SpiAt45dibExit)
  1761. 1730 003e 0000 .word gs(SpiAt45dibCheck)
  1762. 1731 0040 0000 .word gs(SpiAt45dibRead)
  1763. 1732 0042 0000 .word gs(SpiAt45dibCompare)
  1764. 1733 0044 0000 .word gs(SpiAt45dibUsed)
  1765. 1734 0046 0000 .word gs(SpiAt45dibWrite)
  1766. 1735 0048 0000 .word gs(SpiAt45dibCopy)
  1767. 1736 004a 0000 .word gs(SpiAt45dibCommit)
  1768. 1737 004c 0000 .word gs(SpiAt45dibErase)
  1769. 1738 .type spiNode0, @object
  1770. 1739 .size spiNode0, 14
  1771. 1740 spiNode0:
  1772. 1741 004e 0000 .word 0
  1773. 1742 0050 0000 .word 0
  1774. 1743 0052 40 .byte 64
  1775. 1744 0053 8A .byte -118
  1776. 1745 0054 F7 .byte -9
  1777. 1746 0055 01 .byte 1
  1778. 1747 0056 0300 .word 3
  1779. 1748 0058 08 .byte 8
  1780. 1749 0059 00 .byte 0
  1781. 1750 005a 0000 .zero 2
  1782. 1751 .ident "GCC: (GNU) 5.3.0"
  1783. 1752 .global __do_copy_data
  1784. GAS LISTING /tmp/ccNtAUld.s page 32
  1785. DEFINED SYMBOLS
  1786. *ABS*:0000000000000000 spi_at45dib.c
  1787. /tmp/ccNtAUld.s:2 *ABS*:000000000000003e __SP_H__
  1788. /tmp/ccNtAUld.s:3 *ABS*:000000000000003d __SP_L__
  1789. /tmp/ccNtAUld.s:4 *ABS*:000000000000003f __SREG__
  1790. /tmp/ccNtAUld.s:5 *ABS*:000000000000003b __RAMPZ__
  1791. /tmp/ccNtAUld.s:6 *ABS*:0000000000000000 __tmp_reg__
  1792. /tmp/ccNtAUld.s:7 *ABS*:0000000000000001 __zero_reg__
  1793. /tmp/ccNtAUld.s:10 .text.At45dibTransmitCmd:0000000000000000 At45dibTransmitCmd
  1794. /tmp/ccNtAUld.s:73 .text.At45dibTransfer:0000000000000000 At45dibTransfer
  1795. /tmp/ccNtAUld.s:170 .text.At45dibCompare:0000000000000000 At45dibCompare
  1796. /tmp/ccNtAUld.s:297 .text.At45dibUsed:0000000000000000 At45dibUsed
  1797. /tmp/ccNtAUld.s:426 .text.At45dibStatus:0000000000000000 At45dibStatus
  1798. /tmp/ccNtAUld.s:516 .text.SpiAt45dibCheck:0000000000000000 SpiAt45dibCheck
  1799. /tmp/ccNtAUld.s:527 .text.SpiAt45dibUsed:0000000000000000 SpiAt45dibUsed
  1800. /tmp/ccNtAUld.s:620 .text.SpiAt45dibExit:0000000000000000 SpiAt45dibExit
  1801. /tmp/ccNtAUld.s:632 .text.SpiAt45dibInit:0000000000000000 SpiAt45dibInit
  1802. /tmp/ccNtAUld.s:711 .text.SpiAt45dibRead:0000000000000000 SpiAt45dibRead
  1803. /tmp/ccNtAUld.s:815 .text.SpiAt45dibCompare:0000000000000000 SpiAt45dibCompare
  1804. /tmp/ccNtAUld.s:913 .text.At45dibWaitReady.constprop.5:0000000000000000 At45dibWaitReady.constprop.5
  1805. /tmp/ccNtAUld.s:951 .text.SpiAt45dibErase:0000000000000000 SpiAt45dibErase
  1806. /tmp/ccNtAUld.s:1094 .text.At45dibFlash:0000000000000000 At45dibFlash
  1807. /tmp/ccNtAUld.s:1191 .text.SpiAt45dibCommit:0000000000000000 SpiAt45dibCommit
  1808. /tmp/ccNtAUld.s:1228 .text.At45dibAllocate:0000000000000000 At45dibAllocate
  1809. /tmp/ccNtAUld.s:1491 .text.SpiAt45dibCopy:0000000000000000 SpiAt45dibCopy
  1810. /tmp/ccNtAUld.s:1589 .text.SpiAt45dibWrite:0000000000000000 SpiAt45dibWrite
  1811. /tmp/ccNtAUld.s:1688 .data:0000000000000000 flashAt45dib1
  1812. /tmp/ccNtAUld.s:1707 .data:0000000000000020 spiNode1
  1813. /tmp/ccNtAUld.s:1721 .data:000000000000002e flashAt45dib0
  1814. /tmp/ccNtAUld.s:1740 .data:000000000000004e spiNode0
  1815. UNDEFINED SYMBOLS
  1816. free
  1817. at45d_known_types
  1818. at45d_info
  1819. calloc
  1820. NutEventPost
  1821. NutEventWait
  1822. __do_copy_data