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