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