| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352 |
- GAS LISTING /tmp/cc60iCvq.s page 1
- 1 .file "spi_flash_at45d.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.SpiAt45dFlashCheck,"ax",@progbits
- 9 .type SpiAt45dFlashCheck, @function
- 10 SpiAt45dFlashCheck:
- 11 /* prologue: function */
- 12 /* frame size = 0 */
- 13 /* stack size = 0 */
- 14 .L__stack_usage = 0
- 15 0000 80E0 ldi r24,0
- 16 0002 90E0 ldi r25,0
- 17 0004 0895 ret
- 18 .size SpiAt45dFlashCheck, .-SpiAt45dFlashCheck
- 19 .section .text.SpiAt45dFlashErase,"ax",@progbits
- 20 .type SpiAt45dFlashErase, @function
- 21 SpiAt45dFlashErase:
- 22 0000 9F92 push r9
- 23 0002 AF92 push r10
- 24 0004 BF92 push r11
- 25 0006 CF92 push r12
- 26 0008 DF92 push r13
- 27 000a EF92 push r14
- 28 000c FF92 push r15
- 29 000e 0F93 push r16
- 30 0010 1F93 push r17
- 31 0012 CF93 push r28
- 32 0014 DF93 push r29
- 33 /* prologue: function */
- 34 /* frame size = 0 */
- 35 /* stack size = 11 */
- 36 .L__stack_usage = 11
- 37 0016 6C01 movw r12,r24
- 38 0018 5B01 movw r10,r22
- 39 001a FC01 movw r30,r24
- 40 001c C281 ldd r28,Z+2
- 41 001e D381 ldd r29,Z+3
- 42 0020 8881 ld r24,Y
- 43 0022 9981 ldd r25,Y+1
- 44 0024 8617 cp r24,r22
- 45 0026 9707 cpc r25,r23
- 46 0028 00F0 brlo .L3
- 47 002a 9A01 movw r18,r20
- 48 002c 260F add r18,r22
- 49 002e 371F adc r19,r23
- 50 0030 8217 cp r24,r18
- 51 0032 9307 cpc r25,r19
- 52 0034 00F4 brsh .L3
- 53 0036 8FEF ldi r24,lo8(-1)
- 54 0038 9FEF ldi r25,lo8(-1)
- 55 003a 9983 std Y+1,r25
- 56 003c 8883 st Y,r24
- 57 003e 8C81 ldd r24,Y+4
- GAS LISTING /tmp/cc60iCvq.s page 2
- 58 0040 8E7F andi r24,lo8(-2)
- 59 0042 8C83 std Y+4,r24
- 60 .L3:
- 61 0044 8A81 ldd r24,Y+2
- 62 0046 9B81 ldd r25,Y+3
- 63 0048 8A15 cp r24,r10
- 64 004a 9B05 cpc r25,r11
- 65 004c 00F0 brlo .L4
- 66 004e 9A01 movw r18,r20
- 67 0050 2A0D add r18,r10
- 68 0052 3B1D adc r19,r11
- 69 0054 8217 cp r24,r18
- 70 0056 9307 cpc r25,r19
- 71 0058 00F4 brsh .L4
- 72 005a 8FEF ldi r24,lo8(-1)
- 73 005c 9FEF ldi r25,lo8(-1)
- 74 005e 9B83 std Y+3,r25
- 75 0060 8A83 std Y+2,r24
- 76 0062 8D81 ldd r24,Y+5
- 77 0064 8E7F andi r24,lo8(-2)
- 78 0066 8D83 std Y+5,r24
- 79 .L4:
- 80 0068 7A01 movw r14,r20
- 81 006a F1E0 ldi r31,1
- 82 006c EF1A sub r14,r31
- 83 006e F108 sbc r15,__zero_reg__
- 84 .L5:
- 85 0070 8FEF ldi r24,-1
- 86 0072 E816 cp r14,r24
- 87 0074 F806 cpc r15,r24
- 88 0076 01F0 breq .L10
- 89 0078 9C84 ldd r9,Y+12
- 90 007a F601 movw r30,r12
- 91 007c 8081 ld r24,Z
- 92 007e 9181 ldd r25,Z+1
- 93 0080 0E94 0000 call At45dNodeLock
- 94 0084 8C01 movw r16,r24
- 95 0086 892B or r24,r25
- 96 0088 01F4 brne .L6
- 97 008a 9701 movw r18,r14
- 98 008c 2A0D add r18,r10
- 99 008e 3B1D adc r19,r11
- 100 0090 C901 movw r24,r18
- 101 0092 A0E0 ldi r26,0
- 102 0094 B0E0 ldi r27,0
- 103 0096 9C01 movw r18,r24
- 104 0098 AD01 movw r20,r26
- 105 009a 00C0 rjmp 2f
- 106 1:
- 107 009c 220F lsl r18
- 108 009e 331F rol r19
- 109 00a0 441F rol r20
- 110 00a2 551F rol r21
- 111 2:
- 112 00a4 9A94 dec r9
- 113 00a6 02F4 brpl 1b
- 114 00a8 04E0 ldi r16,lo8(4)
- GAS LISTING /tmp/cc60iCvq.s page 3
- 115 00aa 61E8 ldi r22,lo8(-127)
- 116 00ac F601 movw r30,r12
- 117 00ae 8081 ld r24,Z
- 118 00b0 9181 ldd r25,Z+1
- 119 00b2 0E94 0000 call At45dNodeCommand
- 120 00b6 8C01 movw r16,r24
- 121 00b8 892B or r24,r25
- 122 00ba 01F4 brne .L7
- 123 00bc 20E0 ldi r18,0
- 124 00be 30E0 ldi r19,0
- 125 00c0 48EE ldi r20,lo8(-24)
- 126 00c2 53E0 ldi r21,lo8(3)
- 127 00c4 60E0 ldi r22,0
- 128 00c6 70E0 ldi r23,0
- 129 00c8 F601 movw r30,r12
- 130 00ca 8081 ld r24,Z
- 131 00cc 9181 ldd r25,Z+1
- 132 00ce 0E94 0000 call At45dNodeWaitReady
- 133 .L7:
- 134 00d2 F601 movw r30,r12
- 135 00d4 8081 ld r24,Z
- 136 00d6 9181 ldd r25,Z+1
- 137 00d8 0E94 0000 call At45dNodeUnlock
- 138 00dc F1E0 ldi r31,1
- 139 00de EF1A sub r14,r31
- 140 00e0 F108 sbc r15,__zero_reg__
- 141 00e2 0115 cp r16,__zero_reg__
- 142 00e4 1105 cpc r17,__zero_reg__
- 143 00e6 01F0 breq .L5
- 144 00e8 00C0 rjmp .L6
- 145 .L10:
- 146 00ea 00E0 ldi r16,0
- 147 00ec 10E0 ldi r17,0
- 148 .L6:
- 149 00ee C801 movw r24,r16
- 150 /* epilogue start */
- 151 00f0 DF91 pop r29
- 152 00f2 CF91 pop r28
- 153 00f4 1F91 pop r17
- 154 00f6 0F91 pop r16
- 155 00f8 FF90 pop r15
- 156 00fa EF90 pop r14
- 157 00fc DF90 pop r13
- 158 00fe CF90 pop r12
- 159 0100 BF90 pop r11
- 160 0102 AF90 pop r10
- 161 0104 9F90 pop r9
- 162 0106 0895 ret
- 163 .size SpiAt45dFlashErase, .-SpiAt45dFlashErase
- 164 .section .text.At45dFlashSaveUnit,"ax",@progbits
- 165 .type At45dFlashSaveUnit, @function
- 166 At45dFlashSaveUnit:
- 167 0000 4F92 push r4
- 168 0002 5F92 push r5
- 169 0004 6F92 push r6
- 170 0006 7F92 push r7
- 171 0008 8F92 push r8
- GAS LISTING /tmp/cc60iCvq.s page 4
- 172 000a 9F92 push r9
- 173 000c AF92 push r10
- 174 000e BF92 push r11
- 175 0010 CF92 push r12
- 176 0012 DF92 push r13
- 177 0014 EF92 push r14
- 178 0016 FF92 push r15
- 179 0018 0F93 push r16
- 180 001a 1F93 push r17
- 181 001c CF93 push r28
- 182 001e DF93 push r29
- 183 /* prologue: function */
- 184 /* frame size = 0 */
- 185 /* stack size = 16 */
- 186 .L__stack_usage = 16
- 187 0020 4C01 movw r8,r24
- 188 0022 C62F mov r28,r22
- 189 0024 FC01 movw r30,r24
- 190 0026 6280 ldd r6,Z+2
- 191 0028 7380 ldd r7,Z+3
- 192 002a 8081 ld r24,Z
- 193 002c 9181 ldd r25,Z+1
- 194 002e 0E94 0000 call At45dNodeLock
- 195 0032 8C01 movw r16,r24
- 196 0034 892B or r24,r25
- 197 0036 01F0 breq .+2
- 198 0038 00C0 rjmp .L12
- 199 003a 0C2E mov __tmp_reg__,r28
- 200 003c 000C lsl r0
- 201 003e DD0B sbc r29,r29
- 202 0040 F401 movw r30,r8
- 203 0042 A480 ldd r10,Z+4
- 204 0044 B580 ldd r11,Z+5
- 205 0046 2E01 movw r4,r28
- 206 0048 440C lsl r4
- 207 004a 551C rol r5
- 208 004c 460C add r4,r6
- 209 004e 571C adc r5,r7
- 210 0050 F201 movw r30,r4
- 211 0052 E584 ldd r14,Z+13
- 212 0054 F684 ldd r15,Z+14
- 213 0056 C12C mov r12,__zero_reg__
- 214 0058 D12C mov r13,__zero_reg__
- 215 005a 04E0 ldi r16,lo8(4)
- 216 005c 20E0 ldi r18,0
- 217 005e 30E0 ldi r19,0
- 218 0060 A901 movw r20,r18
- 219 0062 67E8 ldi r22,lo8(-121)
- 220 0064 F401 movw r30,r8
- 221 0066 8081 ld r24,Z
- 222 0068 9181 ldd r25,Z+1
- 223 006a 0E94 0000 call At45dNodeTransfer
- 224 006e 8C01 movw r16,r24
- 225 0070 892B or r24,r25
- 226 0072 01F4 brne .L12
- 227 0074 F201 movw r30,r4
- 228 0076 2081 ld r18,Z
- GAS LISTING /tmp/cc60iCvq.s page 5
- 229 0078 3181 ldd r19,Z+1
- 230 007a C901 movw r24,r18
- 231 007c A0E0 ldi r26,0
- 232 007e B0E0 ldi r27,0
- 233 0080 9C01 movw r18,r24
- 234 0082 AD01 movw r20,r26
- 235 0084 F301 movw r30,r6
- 236 0086 0484 ldd r0,Z+12
- 237 0088 00C0 rjmp 2f
- 238 1:
- 239 008a 220F lsl r18
- 240 008c 331F rol r19
- 241 008e 441F rol r20
- 242 0090 551F rol r21
- 243 2:
- 244 0092 0A94 dec r0
- 245 0094 02F4 brpl 1b
- 246 0096 04E0 ldi r16,lo8(4)
- 247 0098 69E8 ldi r22,lo8(-119)
- 248 009a F401 movw r30,r8
- 249 009c 8081 ld r24,Z
- 250 009e 9181 ldd r25,Z+1
- 251 00a0 0E94 0000 call At45dNodeCommand
- 252 00a4 8C01 movw r16,r24
- 253 00a6 892B or r24,r25
- 254 00a8 01F4 brne .L13
- 255 00aa 20E0 ldi r18,0
- 256 00ac 30E0 ldi r19,0
- 257 00ae 48EE ldi r20,lo8(-24)
- 258 00b0 53E0 ldi r21,lo8(3)
- 259 00b2 60E0 ldi r22,0
- 260 00b4 70E0 ldi r23,0
- 261 00b6 F401 movw r30,r8
- 262 00b8 8081 ld r24,Z
- 263 00ba 9181 ldd r25,Z+1
- 264 00bc 0E94 0000 call At45dNodeWaitReady
- 265 00c0 8C01 movw r16,r24
- 266 .L13:
- 267 00c2 F401 movw r30,r8
- 268 00c4 8081 ld r24,Z
- 269 00c6 9181 ldd r25,Z+1
- 270 00c8 0E94 0000 call At45dNodeUnlock
- 271 00cc 0115 cp r16,__zero_reg__
- 272 00ce 1105 cpc r17,__zero_reg__
- 273 00d0 01F4 brne .L12
- 274 00d2 C60D add r28,r6
- 275 00d4 D71D adc r29,r7
- 276 00d6 8C81 ldd r24,Y+4
- 277 00d8 8E7F andi r24,lo8(-2)
- 278 00da 8C83 std Y+4,r24
- 279 .L12:
- 280 00dc C801 movw r24,r16
- 281 /* epilogue start */
- 282 00de DF91 pop r29
- 283 00e0 CF91 pop r28
- 284 00e2 1F91 pop r17
- 285 00e4 0F91 pop r16
- GAS LISTING /tmp/cc60iCvq.s page 6
- 286 00e6 FF90 pop r15
- 287 00e8 EF90 pop r14
- 288 00ea DF90 pop r13
- 289 00ec CF90 pop r12
- 290 00ee BF90 pop r11
- 291 00f0 AF90 pop r10
- 292 00f2 9F90 pop r9
- 293 00f4 8F90 pop r8
- 294 00f6 7F90 pop r7
- 295 00f8 6F90 pop r6
- 296 00fa 5F90 pop r5
- 297 00fc 4F90 pop r4
- 298 00fe 0895 ret
- 299 .size At45dFlashSaveUnit, .-At45dFlashSaveUnit
- 300 .section .text.SpiAt45dFlashCommit,"ax",@progbits
- 301 .type SpiAt45dFlashCommit, @function
- 302 SpiAt45dFlashCommit:
- 303 /* prologue: function */
- 304 /* frame size = 0 */
- 305 /* stack size = 0 */
- 306 .L__stack_usage = 0
- 307 0000 DC01 movw r26,r24
- 308 0002 1296 adiw r26,2
- 309 0004 ED91 ld r30,X+
- 310 0006 FC91 ld r31,X
- 311 0008 1397 sbiw r26,2+1
- 312 000a 2081 ld r18,Z
- 313 000c 3181 ldd r19,Z+1
- 314 000e 6217 cp r22,r18
- 315 0010 7307 cpc r23,r19
- 316 0012 01F0 breq .L18
- 317 0014 2281 ldd r18,Z+2
- 318 0016 3381 ldd r19,Z+3
- 319 0018 6217 cp r22,r18
- 320 001a 7307 cpc r23,r19
- 321 001c 01F4 brne .L20
- 322 001e 61E0 ldi r22,lo8(1)
- 323 0020 00C0 rjmp .L15
- 324 .L18:
- 325 0022 60E0 ldi r22,0
- 326 .L15:
- 327 0024 E60F add r30,r22
- 328 0026 F11D adc r31,__zero_reg__
- 329 0028 2481 ldd r18,Z+4
- 330 002a 20FD sbrc r18,0
- 331 002c 0C94 0000 jmp At45dFlashSaveUnit
- 332 .L20:
- 333 0030 80E0 ldi r24,0
- 334 0032 90E0 ldi r25,0
- 335 0034 0895 ret
- 336 .size SpiAt45dFlashCommit, .-SpiAt45dFlashCommit
- 337 .section .text.SpiAt45dFlashExit,"ax",@progbits
- 338 .type SpiAt45dFlashExit, @function
- 339 SpiAt45dFlashExit:
- 340 0000 0F93 push r16
- 341 0002 1F93 push r17
- 342 0004 CF93 push r28
- GAS LISTING /tmp/cc60iCvq.s page 7
- 343 0006 DF93 push r29
- 344 /* prologue: function */
- 345 /* frame size = 0 */
- 346 /* stack size = 4 */
- 347 .L__stack_usage = 4
- 348 0008 EC01 movw r28,r24
- 349 000a 0A81 ldd r16,Y+2
- 350 000c 1B81 ldd r17,Y+3
- 351 000e F801 movw r30,r16
- 352 0010 8585 ldd r24,Z+13
- 353 0012 9685 ldd r25,Z+14
- 354 0014 0E94 0000 call free
- 355 0018 F801 movw r30,r16
- 356 001a 8785 ldd r24,Z+15
- 357 001c 9089 ldd r25,Z+16
- 358 001e 0E94 0000 call free
- 359 0022 8A81 ldd r24,Y+2
- 360 0024 9B81 ldd r25,Y+3
- 361 /* epilogue start */
- 362 0026 DF91 pop r29
- 363 0028 CF91 pop r28
- 364 002a 1F91 pop r17
- 365 002c 0F91 pop r16
- 366 002e 0C94 0000 jmp free
- 367 .size SpiAt45dFlashExit, .-SpiAt45dFlashExit
- 368 .section .text.SpiAt45dFlashInit,"ax",@progbits
- 369 .type SpiAt45dFlashInit, @function
- 370 SpiAt45dFlashInit:
- 371 0000 AF92 push r10
- 372 0002 BF92 push r11
- 373 0004 CF92 push r12
- 374 0006 DF92 push r13
- 375 0008 EF92 push r14
- 376 000a FF92 push r15
- 377 000c 0F93 push r16
- 378 000e 1F93 push r17
- 379 0010 CF93 push r28
- 380 0012 DF93 push r29
- 381 /* prologue: function */
- 382 /* frame size = 0 */
- 383 /* stack size = 10 */
- 384 .L__stack_usage = 10
- 385 0014 8C01 movw r16,r24
- 386 0016 FC01 movw r30,r24
- 387 0018 8081 ld r24,Z
- 388 001a 9181 ldd r25,Z+1
- 389 001c 0E94 0000 call At45dNodeProbe
- 390 0020 7C01 movw r14,r24
- 391 0022 892B or r24,r25
- 392 0024 01F4 brne .L23
- 393 .L25:
- 394 0026 8FEF ldi r24,lo8(-1)
- 395 0028 9FEF ldi r25,lo8(-1)
- 396 002a 00C0 rjmp .L24
- 397 .L23:
- 398 002c 61E1 ldi r22,lo8(17)
- 399 002e 70E0 ldi r23,0
- GAS LISTING /tmp/cc60iCvq.s page 8
- 400 0030 81E0 ldi r24,lo8(1)
- 401 0032 90E0 ldi r25,0
- 402 0034 0E94 0000 call calloc
- 403 0038 EC01 movw r28,r24
- 404 003a 892B or r24,r25
- 405 003c 01F0 breq .L25
- 406 003e F701 movw r30,r14
- 407 0040 8081 ld r24,Z
- 408 0042 8C87 std Y+12,r24
- 409 0044 AA24 clr r10
- 410 0046 AA94 dec r10
- 411 0048 BA2C mov r11,r10
- 412 004a B982 std Y+1,r11
- 413 004c A882 st Y,r10
- 414 004e C580 ldd r12,Z+5
- 415 0050 D680 ldd r13,Z+6
- 416 0052 C601 movw r24,r12
- 417 0054 0E94 0000 call malloc
- 418 0058 9E87 std Y+14,r25
- 419 005a 8D87 std Y+13,r24
- 420 005c BB82 std Y+3,r11
- 421 005e AA82 std Y+2,r10
- 422 0060 C601 movw r24,r12
- 423 0062 0E94 0000 call malloc
- 424 0066 988B std Y+16,r25
- 425 0068 8F87 std Y+15,r24
- 426 006a F801 movw r30,r16
- 427 006c D383 std Z+3,r29
- 428 006e C283 std Z+2,r28
- 429 0070 F701 movw r30,r14
- 430 0072 8181 ldd r24,Z+1
- 431 0074 9281 ldd r25,Z+2
- 432 0076 F801 movw r30,r16
- 433 0078 9783 std Z+7,r25
- 434 007a 8683 std Z+6,r24
- 435 007c D582 std Z+5,r13
- 436 007e C482 std Z+4,r12
- 437 0080 80E0 ldi r24,0
- 438 0082 90E0 ldi r25,0
- 439 .L24:
- 440 /* epilogue start */
- 441 0084 DF91 pop r29
- 442 0086 CF91 pop r28
- 443 0088 1F91 pop r17
- 444 008a 0F91 pop r16
- 445 008c FF90 pop r15
- 446 008e EF90 pop r14
- 447 0090 DF90 pop r13
- 448 0092 CF90 pop r12
- 449 0094 BF90 pop r11
- 450 0096 AF90 pop r10
- 451 0098 0895 ret
- 452 .size SpiAt45dFlashInit, .-SpiAt45dFlashInit
- 453 .section .text.At45dFlashLoadUnit,"ax",@progbits
- 454 .type At45dFlashLoadUnit, @function
- 455 At45dFlashLoadUnit:
- 456 0000 3F92 push r3
- GAS LISTING /tmp/cc60iCvq.s page 9
- 457 0002 4F92 push r4
- 458 0004 5F92 push r5
- 459 0006 6F92 push r6
- 460 0008 7F92 push r7
- 461 000a 8F92 push r8
- 462 000c 9F92 push r9
- 463 000e AF92 push r10
- 464 0010 BF92 push r11
- 465 0012 CF92 push r12
- 466 0014 DF92 push r13
- 467 0016 EF92 push r14
- 468 0018 FF92 push r15
- 469 001a 0F93 push r16
- 470 001c 1F93 push r17
- 471 001e CF93 push r28
- 472 0020 DF93 push r29
- 473 0022 00D0 rcall .
- 474 0024 1F92 push __zero_reg__
- 475 0026 CDB7 in r28,__SP_L__
- 476 0028 DEB7 in r29,__SP_H__
- 477 /* prologue: function */
- 478 /* frame size = 4 */
- 479 /* stack size = 21 */
- 480 .L__stack_usage = 21
- 481 002a 4C01 movw r8,r24
- 482 002c 3B01 movw r6,r22
- 483 002e 342E mov r3,r20
- 484 0030 FC01 movw r30,r24
- 485 0032 E280 ldd r14,Z+2
- 486 0034 F380 ldd r15,Z+3
- 487 0036 6701 movw r12,r14
- 488 0038 FAE0 ldi r31,10
- 489 003a CF0E add r12,r31
- 490 003c D11C adc r13,__zero_reg__
- 491 .L49:
- 492 003e F701 movw r30,r14
- 493 0040 8081 ld r24,Z
- 494 0042 9181 ldd r25,Z+1
- 495 0044 6816 cp r6,r24
- 496 0046 7906 cpc r7,r25
- 497 0048 01F0 breq .L51
- 498 004a 8281 ldd r24,Z+2
- 499 004c 9381 ldd r25,Z+3
- 500 004e 6816 cp r6,r24
- 501 0050 7906 cpc r7,r25
- 502 0052 01F4 brne .L31
- 503 0054 81E0 ldi r24,lo8(1)
- 504 0056 90E0 ldi r25,0
- 505 0058 11E0 ldi r17,lo8(1)
- 506 005a 00C0 rjmp .L30
- 507 .L51:
- 508 005c 80E0 ldi r24,0
- 509 005e 90E0 ldi r25,0
- 510 0060 10E0 ldi r17,0
- 511 .L30:
- 512 0062 3320 tst r3
- 513 0064 01F4 brne .+2
- GAS LISTING /tmp/cc60iCvq.s page 10
- 514 0066 00C0 rjmp .L52
- 515 0068 FC01 movw r30,r24
- 516 006a EE0F lsl r30
- 517 006c FF1F rol r31
- 518 006e EE0D add r30,r14
- 519 0070 FF1D adc r31,r15
- 520 0072 2681 ldd r18,Z+6
- 521 0074 3781 ldd r19,Z+7
- 522 0076 2F5F subi r18,-1
- 523 0078 3F4F sbci r19,-1
- 524 007a 3783 std Z+7,r19
- 525 007c 2683 std Z+6,r18
- 526 007e F701 movw r30,r14
- 527 0080 E80F add r30,r24
- 528 0082 F91F adc r31,r25
- 529 0084 8481 ldd r24,Z+4
- 530 0086 8160 ori r24,lo8(1)
- 531 0088 8483 std Z+4,r24
- 532 008a 00C0 rjmp .L52
- 533 .L31:
- 534 008c 8091 0000 lds r24,bnxt.2710
- 535 0090 182F mov r17,r24
- 536 .L33:
- 537 0092 212F mov r18,r17
- 538 0094 012E mov __tmp_reg__,r17
- 539 0096 000C lsl r0
- 540 0098 330B sbc r19,r19
- 541 009a 3C83 std Y+4,r19
- 542 009c 2B83 std Y+3,r18
- 543 009e F901 movw r30,r18
- 544 00a0 3396 adiw r30,3
- 545 00a2 EE0F lsl r30
- 546 00a4 FF1F rol r31
- 547 00a6 EE0D add r30,r14
- 548 00a8 FF1D adc r31,r15
- 549 00aa 2081 ld r18,Z
- 550 00ac 3181 ldd r19,Z+1
- 551 00ae 232B or r18,r19
- 552 00b0 01F4 brne .L34
- 553 00b2 4B80 ldd r4,Y+3
- 554 00b4 5C80 ldd r5,Y+4
- 555 00b6 4E0C add r4,r14
- 556 00b8 5F1C adc r5,r15
- 557 00ba F201 movw r30,r4
- 558 00bc 9481 ldd r25,Z+4
- 559 00be 90FF sbrs r25,0
- 560 00c0 00C0 rjmp .L35
- 561 .L34:
- 562 00c2 1F5F subi r17,lo8(-(1))
- 563 00c4 1230 cpi r17,lo8(2)
- 564 00c6 04F0 brlt .+2
- 565 00c8 00C0 rjmp .L36
- 566 00ca 8117 cp r24,r17
- 567 00cc 01F0 breq .L37
- 568 00ce 17FF sbrs r17,7
- 569 00d0 00C0 rjmp .L33
- 570 00d2 00C0 rjmp .L37
- GAS LISTING /tmp/cc60iCvq.s page 11
- 571 .L35:
- 572 00d4 17FF sbrs r17,7
- 573 00d6 00C0 rjmp .L39
- 574 .L37:
- 575 00d8 F701 movw r30,r14
- 576 00da 8681 ldd r24,Z+6
- 577 00dc 9781 ldd r25,Z+7
- 578 00de 892B or r24,r25
- 579 00e0 01F4 brne .L40
- 580 00e2 8481 ldd r24,Z+4
- 581 00e4 80FD sbrc r24,0
- 582 00e6 00C0 rjmp .L53
- 583 .L40:
- 584 00e8 F701 movw r30,r14
- 585 00ea 8085 ldd r24,Z+8
- 586 00ec 9185 ldd r25,Z+9
- 587 00ee 892B or r24,r25
- 588 00f0 01F0 breq .+2
- 589 00f2 00C0 rjmp .L42
- 590 00f4 8581 ldd r24,Z+5
- 591 00f6 80FF sbrs r24,0
- 592 00f8 00C0 rjmp .L42
- 593 00fa 61E0 ldi r22,lo8(1)
- 594 00fc 00C0 rjmp .L41
- 595 .L39:
- 596 00fe 5301 movw r10,r6
- 597 0100 C12C mov r12,__zero_reg__
- 598 0102 D12C mov r13,__zero_reg__
- 599 0104 F401 movw r30,r8
- 600 0106 8081 ld r24,Z
- 601 0108 9181 ldd r25,Z+1
- 602 010a 0E94 0000 call At45dNodeLock
- 603 010e 892B or r24,r25
- 604 0110 01F0 breq .+2
- 605 0112 00C0 rjmp .L68
- 606 0114 A601 movw r20,r12
- 607 0116 9501 movw r18,r10
- 608 0118 F701 movw r30,r14
- 609 011a 0484 ldd r0,Z+12
- 610 011c 00C0 rjmp 2f
- 611 1:
- 612 011e 220F lsl r18
- 613 0120 331F rol r19
- 614 0122 441F rol r20
- 615 0124 551F rol r21
- 616 2:
- 617 0126 0A94 dec r0
- 618 0128 02F4 brpl 1b
- 619 012a 6B81 ldd r22,Y+3
- 620 012c 7C81 ldd r23,Y+4
- 621 012e 660F lsl r22
- 622 0130 771F rol r23
- 623 0132 3320 tst r3
- 624 0134 01F0 breq .L44
- 625 0136 E60F add r30,r22
- 626 0138 F71F adc r31,r23
- 627 013a 8681 ldd r24,Z+6
- GAS LISTING /tmp/cc60iCvq.s page 12
- 628 013c 9781 ldd r25,Z+7
- 629 013e 0196 adiw r24,1
- 630 0140 9783 std Z+7,r25
- 631 0142 8683 std Z+6,r24
- 632 .L44:
- 633 0144 F401 movw r30,r8
- 634 0146 A480 ldd r10,Z+4
- 635 0148 B580 ldd r11,Z+5
- 636 014a C701 movw r24,r14
- 637 014c 860F add r24,r22
- 638 014e 971F adc r25,r23
- 639 0150 9A83 std Y+2,r25
- 640 0152 8983 std Y+1,r24
- 641 0154 FC01 movw r30,r24
- 642 0156 C584 ldd r12,Z+13
- 643 0158 D684 ldd r13,Z+14
- 644 015a E12C mov r14,__zero_reg__
- 645 015c F12C mov r15,__zero_reg__
- 646 015e 08E0 ldi r16,lo8(8)
- 647 0160 62ED ldi r22,lo8(-46)
- 648 0162 F401 movw r30,r8
- 649 0164 8081 ld r24,Z
- 650 0166 9181 ldd r25,Z+1
- 651 0168 0E94 0000 call At45dNodeTransfer
- 652 016c 7C01 movw r14,r24
- 653 016e F401 movw r30,r8
- 654 0170 8081 ld r24,Z
- 655 0172 9181 ldd r25,Z+1
- 656 0174 0E94 0000 call At45dNodeUnlock
- 657 0178 EF28 or r14,r15
- 658 017a 01F4 brne .L45
- 659 017c E981 ldd r30,Y+1
- 660 017e FA81 ldd r31,Y+2
- 661 0180 7182 std Z+1,r7
- 662 0182 6082 st Z,r6
- 663 0184 3320 tst r3
- 664 0186 01F0 breq .L46
- 665 0188 F201 movw r30,r4
- 666 018a 8481 ldd r24,Z+4
- 667 018c 8160 ori r24,lo8(1)
- 668 018e 8483 std Z+4,r24
- 669 .L46:
- 670 0190 8091 0000 lds r24,bnxt.2710
- 671 0194 8F5F subi r24,lo8(-(1))
- 672 0196 8230 cpi r24,lo8(2)
- 673 0198 04F4 brge .L47
- 674 019a 8093 0000 sts bnxt.2710,r24
- 675 019e 00C0 rjmp .L52
- 676 .L47:
- 677 01a0 1092 0000 sts bnxt.2710,__zero_reg__
- 678 01a4 00C0 rjmp .L52
- 679 .L45:
- 680 01a6 3320 tst r3
- 681 01a8 01F0 breq .L68
- 682 01aa F401 movw r30,r8
- 683 01ac 8281 ldd r24,Z+2
- 684 01ae 9381 ldd r25,Z+3
- GAS LISTING /tmp/cc60iCvq.s page 13
- 685 01b0 EB81 ldd r30,Y+3
- 686 01b2 FC81 ldd r31,Y+4
- 687 01b4 EE0F lsl r30
- 688 01b6 FF1F rol r31
- 689 01b8 E80F add r30,r24
- 690 01ba F91F adc r31,r25
- 691 01bc 2681 ldd r18,Z+6
- 692 01be 3781 ldd r19,Z+7
- 693 01c0 2150 subi r18,1
- 694 01c2 3109 sbc r19,__zero_reg__
- 695 01c4 3783 std Z+7,r19
- 696 01c6 2683 std Z+6,r18
- 697 01c8 0A96 adiw r24,10
- 698 01ca 0E94 0000 call NutEventPost
- 699 .L68:
- 700 01ce 8FEF ldi r24,lo8(-1)
- 701 01d0 00C0 rjmp .L67
- 702 .L53:
- 703 01d2 60E0 ldi r22,0
- 704 .L41:
- 705 01d4 C401 movw r24,r8
- 706 01d6 0E94 0000 call At45dFlashSaveUnit
- 707 01da 892B or r24,r25
- 708 01dc 01F4 brne .+2
- 709 01de 00C0 rjmp .L49
- 710 01e0 00C0 rjmp .L68
- 711 .L52:
- 712 01e2 812F mov r24,r17
- 713 01e4 00C0 rjmp .L67
- 714 .L42:
- 715 01e6 40E0 ldi r20,0
- 716 01e8 50E0 ldi r21,0
- 717 01ea BA01 movw r22,r20
- 718 01ec C601 movw r24,r12
- 719 01ee 0E94 0000 call NutEventWait
- 720 01f2 00C0 rjmp .L49
- 721 .L36:
- 722 01f4 8823 tst r24
- 723 01f6 01F4 brne .+2
- 724 01f8 00C0 rjmp .L37
- 725 01fa 10E0 ldi r17,0
- 726 01fc 00C0 rjmp .L33
- 727 .L67:
- 728 /* epilogue start */
- 729 01fe 0F90 pop __tmp_reg__
- 730 0200 0F90 pop __tmp_reg__
- 731 0202 0F90 pop __tmp_reg__
- 732 0204 0F90 pop __tmp_reg__
- 733 0206 DF91 pop r29
- 734 0208 CF91 pop r28
- 735 020a 1F91 pop r17
- 736 020c 0F91 pop r16
- 737 020e FF90 pop r15
- 738 0210 EF90 pop r14
- 739 0212 DF90 pop r13
- 740 0214 CF90 pop r12
- 741 0216 BF90 pop r11
- GAS LISTING /tmp/cc60iCvq.s page 14
- 742 0218 AF90 pop r10
- 743 021a 9F90 pop r9
- 744 021c 8F90 pop r8
- 745 021e 7F90 pop r7
- 746 0220 6F90 pop r6
- 747 0222 5F90 pop r5
- 748 0224 4F90 pop r4
- 749 0226 3F90 pop r3
- 750 0228 0895 ret
- 751 .size At45dFlashLoadUnit, .-At45dFlashLoadUnit
- 752 .section .text.SpiAt45dFlashUsed,"ax",@progbits
- 753 .type SpiAt45dFlashUsed, @function
- 754 SpiAt45dFlashUsed:
- 755 0000 EF92 push r14
- 756 0002 FF92 push r15
- 757 0004 0F93 push r16
- 758 0006 1F93 push r17
- 759 0008 CF93 push r28
- 760 000a DF93 push r29
- 761 /* prologue: function */
- 762 /* frame size = 0 */
- 763 /* stack size = 6 */
- 764 .L__stack_usage = 6
- 765 000c EA01 movw r28,r20
- 766 000e FC01 movw r30,r24
- 767 0010 E280 ldd r14,Z+2
- 768 0012 F380 ldd r15,Z+3
- 769 0014 0481 ldd r16,Z+4
- 770 0016 1581 ldd r17,Z+5
- 771 0018 57FF sbrs r21,7
- 772 001a 00C0 rjmp .L70
- 773 001c 040F add r16,r20
- 774 001e 151F adc r17,r21
- 775 0020 C0E0 ldi r28,0
- 776 0022 D0E0 ldi r29,0
- 777 0024 00C0 rjmp .L71
- 778 .L70:
- 779 0026 041B sub r16,r20
- 780 0028 150B sbc r17,r21
- 781 .L71:
- 782 002a 40E0 ldi r20,0
- 783 002c 0E94 0000 call At45dFlashLoadUnit
- 784 0030 87FD sbrc r24,7
- 785 0032 00C0 rjmp .L76
- 786 0034 0115 cp r16,__zero_reg__
- 787 0036 1105 cpc r17,__zero_reg__
- 788 0038 01F0 breq .L77
- 789 003a E82F mov r30,r24
- 790 003c EE0F lsl r30
- 791 003e FF0B sbc r31,r31
- 792 0040 EE0D add r30,r14
- 793 0042 FF1D adc r31,r15
- 794 0044 8585 ldd r24,Z+13
- 795 0046 9685 ldd r25,Z+14
- 796 0048 C80F add r28,r24
- 797 004a D91F adc r29,r25
- 798 004c 20E0 ldi r18,0
- GAS LISTING /tmp/cc60iCvq.s page 15
- 799 004e 30E0 ldi r19,0
- 800 0050 80E0 ldi r24,0
- 801 0052 90E0 ldi r25,0
- 802 .L73:
- 803 0054 2017 cp r18,r16
- 804 0056 3107 cpc r19,r17
- 805 0058 04F4 brge .L72
- 806 005a 4991 ld r20,Y+
- 807 005c 2F5F subi r18,-1
- 808 005e 3F4F sbci r19,-1
- 809 0060 4F3F cpi r20,lo8(-1)
- 810 0062 01F0 breq .L73
- 811 0064 C901 movw r24,r18
- 812 0066 00C0 rjmp .L73
- 813 .L76:
- 814 0068 8FEF ldi r24,lo8(-1)
- 815 006a 9FEF ldi r25,lo8(-1)
- 816 006c 00C0 rjmp .L72
- 817 .L77:
- 818 006e 80E0 ldi r24,0
- 819 0070 90E0 ldi r25,0
- 820 .L72:
- 821 /* epilogue start */
- 822 0072 DF91 pop r29
- 823 0074 CF91 pop r28
- 824 0076 1F91 pop r17
- 825 0078 0F91 pop r16
- 826 007a FF90 pop r15
- 827 007c EF90 pop r14
- 828 007e 0895 ret
- 829 .size SpiAt45dFlashUsed, .-SpiAt45dFlashUsed
- 830 .section .text.SpiAt45dFlashRead,"ax",@progbits
- 831 .type SpiAt45dFlashRead, @function
- 832 SpiAt45dFlashRead:
- 833 0000 CF92 push r12
- 834 0002 DF92 push r13
- 835 0004 EF92 push r14
- 836 0006 FF92 push r15
- 837 0008 0F93 push r16
- 838 000a 1F93 push r17
- 839 000c CF93 push r28
- 840 000e DF93 push r29
- 841 /* prologue: function */
- 842 /* frame size = 0 */
- 843 /* stack size = 8 */
- 844 .L__stack_usage = 8
- 845 0010 EA01 movw r28,r20
- 846 0012 7901 movw r14,r18
- 847 0014 0115 cp r16,__zero_reg__
- 848 0016 1105 cpc r17,__zero_reg__
- 849 0018 01F0 breq .L84
- 850 001a FC01 movw r30,r24
- 851 001c C280 ldd r12,Z+2
- 852 001e D380 ldd r13,Z+3
- 853 0020 57FF sbrs r21,7
- 854 0022 00C0 rjmp .L83
- 855 0024 2481 ldd r18,Z+4
- GAS LISTING /tmp/cc60iCvq.s page 16
- 856 0026 3581 ldd r19,Z+5
- 857 0028 C20F add r28,r18
- 858 002a D31F adc r29,r19
- 859 .L83:
- 860 002c 40E0 ldi r20,0
- 861 002e 0E94 0000 call At45dFlashLoadUnit
- 862 0032 87FD sbrc r24,7
- 863 0034 00C0 rjmp .L85
- 864 0036 E82F mov r30,r24
- 865 0038 EE0F lsl r30
- 866 003a FF0B sbc r31,r31
- 867 003c EC0D add r30,r12
- 868 003e FD1D adc r31,r13
- 869 0040 6585 ldd r22,Z+13
- 870 0042 7685 ldd r23,Z+14
- 871 0044 6C0F add r22,r28
- 872 0046 7D1F adc r23,r29
- 873 0048 A801 movw r20,r16
- 874 004a C701 movw r24,r14
- 875 004c 0E94 0000 call memcpy
- 876 .L84:
- 877 0050 80E0 ldi r24,0
- 878 0052 90E0 ldi r25,0
- 879 0054 00C0 rjmp .L82
- 880 .L85:
- 881 0056 8FEF ldi r24,lo8(-1)
- 882 0058 9FEF ldi r25,lo8(-1)
- 883 .L82:
- 884 /* epilogue start */
- 885 005a DF91 pop r29
- 886 005c CF91 pop r28
- 887 005e 1F91 pop r17
- 888 0060 0F91 pop r16
- 889 0062 FF90 pop r15
- 890 0064 EF90 pop r14
- 891 0066 DF90 pop r13
- 892 0068 CF90 pop r12
- 893 006a 0895 ret
- 894 .size SpiAt45dFlashRead, .-SpiAt45dFlashRead
- 895 .section .text.SpiAt45dFlashCompare,"ax",@progbits
- 896 .type SpiAt45dFlashCompare, @function
- 897 SpiAt45dFlashCompare:
- 898 0000 CF92 push r12
- 899 0002 DF92 push r13
- 900 0004 EF92 push r14
- 901 0006 FF92 push r15
- 902 0008 0F93 push r16
- 903 000a 1F93 push r17
- 904 000c CF93 push r28
- 905 000e DF93 push r29
- 906 /* prologue: function */
- 907 /* frame size = 0 */
- 908 /* stack size = 8 */
- 909 .L__stack_usage = 8
- 910 0010 EA01 movw r28,r20
- 911 0012 7901 movw r14,r18
- 912 0014 0115 cp r16,__zero_reg__
- GAS LISTING /tmp/cc60iCvq.s page 17
- 913 0016 1105 cpc r17,__zero_reg__
- 914 0018 01F4 brne .L87
- 915 .L90:
- 916 001a 80E0 ldi r24,0
- 917 001c 90E0 ldi r25,0
- 918 001e 00C0 rjmp .L88
- 919 .L87:
- 920 0020 FC01 movw r30,r24
- 921 0022 C280 ldd r12,Z+2
- 922 0024 D380 ldd r13,Z+3
- 923 0026 57FF sbrs r21,7
- 924 0028 00C0 rjmp .L89
- 925 002a 2481 ldd r18,Z+4
- 926 002c 3581 ldd r19,Z+5
- 927 002e C20F add r28,r18
- 928 0030 D31F adc r29,r19
- 929 .L89:
- 930 0032 40E0 ldi r20,0
- 931 0034 0E94 0000 call At45dFlashLoadUnit
- 932 0038 87FD sbrc r24,7
- 933 003a 00C0 rjmp .L91
- 934 003c E82F mov r30,r24
- 935 003e EE0F lsl r30
- 936 0040 FF0B sbc r31,r31
- 937 0042 EC0D add r30,r12
- 938 0044 FD1D adc r31,r13
- 939 0046 8585 ldd r24,Z+13
- 940 0048 9685 ldd r25,Z+14
- 941 004a A801 movw r20,r16
- 942 004c B701 movw r22,r14
- 943 004e 8C0F add r24,r28
- 944 0050 9D1F adc r25,r29
- 945 0052 0E94 0000 call memcmp
- 946 0056 892B or r24,r25
- 947 0058 01F0 breq .L90
- 948 .L91:
- 949 005a 8FEF ldi r24,lo8(-1)
- 950 005c 9FEF ldi r25,lo8(-1)
- 951 .L88:
- 952 /* epilogue start */
- 953 005e DF91 pop r29
- 954 0060 CF91 pop r28
- 955 0062 1F91 pop r17
- 956 0064 0F91 pop r16
- 957 0066 FF90 pop r15
- 958 0068 EF90 pop r14
- 959 006a DF90 pop r13
- 960 006c CF90 pop r12
- 961 006e 0895 ret
- 962 .size SpiAt45dFlashCompare, .-SpiAt45dFlashCompare
- 963 .section .text.SpiAt45dFlashWrite,"ax",@progbits
- 964 .type SpiAt45dFlashWrite, @function
- 965 SpiAt45dFlashWrite:
- 966 0000 8F92 push r8
- 967 0002 9F92 push r9
- 968 0004 AF92 push r10
- 969 0006 BF92 push r11
- GAS LISTING /tmp/cc60iCvq.s page 18
- 970 0008 CF92 push r12
- 971 000a DF92 push r13
- 972 000c EF92 push r14
- 973 000e FF92 push r15
- 974 0010 0F93 push r16
- 975 0012 1F93 push r17
- 976 0014 CF93 push r28
- 977 0016 DF93 push r29
- 978 /* prologue: function */
- 979 /* frame size = 0 */
- 980 /* stack size = 12 */
- 981 .L__stack_usage = 12
- 982 0018 7C01 movw r14,r24
- 983 001a 6A01 movw r12,r20
- 984 001c 4901 movw r8,r18
- 985 001e 0115 cp r16,__zero_reg__
- 986 0020 1105 cpc r17,__zero_reg__
- 987 0022 01F0 breq .L98
- 988 0024 FC01 movw r30,r24
- 989 0026 A280 ldd r10,Z+2
- 990 0028 B380 ldd r11,Z+3
- 991 002a 57FF sbrs r21,7
- 992 002c 00C0 rjmp .L97
- 993 002e 8481 ldd r24,Z+4
- 994 0030 9581 ldd r25,Z+5
- 995 0032 C80E add r12,r24
- 996 0034 D91E adc r13,r25
- 997 .L97:
- 998 0036 41E0 ldi r20,lo8(1)
- 999 0038 C701 movw r24,r14
- 1000 003a 0E94 0000 call At45dFlashLoadUnit
- 1001 003e 87FD sbrc r24,7
- 1002 0040 00C0 rjmp .L99
- 1003 0042 C82F mov r28,r24
- 1004 0044 CC0F lsl r28
- 1005 0046 DD0B sbc r29,r29
- 1006 0048 F501 movw r30,r10
- 1007 004a EC0F add r30,r28
- 1008 004c FD1F adc r31,r29
- 1009 004e 8585 ldd r24,Z+13
- 1010 0050 9685 ldd r25,Z+14
- 1011 0052 A801 movw r20,r16
- 1012 0054 B401 movw r22,r8
- 1013 0056 8C0D add r24,r12
- 1014 0058 9D1D adc r25,r13
- 1015 005a 0E94 0000 call memcpy
- 1016 005e F701 movw r30,r14
- 1017 0060 8281 ldd r24,Z+2
- 1018 0062 9381 ldd r25,Z+3
- 1019 0064 C80F add r28,r24
- 1020 0066 D91F adc r29,r25
- 1021 0068 2E81 ldd r18,Y+6
- 1022 006a 3F81 ldd r19,Y+7
- 1023 006c 2150 subi r18,1
- 1024 006e 3109 sbc r19,__zero_reg__
- 1025 0070 3F83 std Y+7,r19
- 1026 0072 2E83 std Y+6,r18
- GAS LISTING /tmp/cc60iCvq.s page 19
- 1027 0074 0A96 adiw r24,10
- 1028 0076 0E94 0000 call NutEventPost
- 1029 .L98:
- 1030 007a 80E0 ldi r24,0
- 1031 007c 90E0 ldi r25,0
- 1032 007e 00C0 rjmp .L96
- 1033 .L99:
- 1034 0080 8FEF ldi r24,lo8(-1)
- 1035 0082 9FEF ldi r25,lo8(-1)
- 1036 .L96:
- 1037 /* epilogue start */
- 1038 0084 DF91 pop r29
- 1039 0086 CF91 pop r28
- 1040 0088 1F91 pop r17
- 1041 008a 0F91 pop r16
- 1042 008c FF90 pop r15
- 1043 008e EF90 pop r14
- 1044 0090 DF90 pop r13
- 1045 0092 CF90 pop r12
- 1046 0094 BF90 pop r11
- 1047 0096 AF90 pop r10
- 1048 0098 9F90 pop r9
- 1049 009a 8F90 pop r8
- 1050 009c 0895 ret
- 1051 .size SpiAt45dFlashWrite, .-SpiAt45dFlashWrite
- 1052 .section .text.SpiAt45dFlashCopy,"ax",@progbits
- 1053 .type SpiAt45dFlashCopy, @function
- 1054 SpiAt45dFlashCopy:
- 1055 0000 EF92 push r14
- 1056 0002 FF92 push r15
- 1057 0004 0F93 push r16
- 1058 0006 1F93 push r17
- 1059 0008 CF93 push r28
- 1060 000a DF93 push r29
- 1061 /* prologue: function */
- 1062 /* frame size = 0 */
- 1063 /* stack size = 6 */
- 1064 .L__stack_usage = 6
- 1065 000c 8C01 movw r16,r24
- 1066 000e 7A01 movw r14,r20
- 1067 0010 6417 cp r22,r20
- 1068 0012 7507 cpc r23,r21
- 1069 0014 01F4 brne .L101
- 1070 0016 41E0 ldi r20,lo8(1)
- 1071 0018 0E94 0000 call At45dFlashLoadUnit
- 1072 001c 87FF sbrs r24,7
- 1073 001e 00C0 rjmp .L102
- 1074 .L105:
- 1075 0020 8FEF ldi r24,lo8(-1)
- 1076 0022 9FEF ldi r25,lo8(-1)
- 1077 0024 00C0 rjmp .L103
- 1078 .L101:
- 1079 0026 FC01 movw r30,r24
- 1080 0028 C281 ldd r28,Z+2
- 1081 002a D381 ldd r29,Z+3
- 1082 002c 8881 ld r24,Y
- 1083 002e 9981 ldd r25,Y+1
- GAS LISTING /tmp/cc60iCvq.s page 20
- 1084 0030 4817 cp r20,r24
- 1085 0032 5907 cpc r21,r25
- 1086 0034 01F4 brne .L104
- 1087 0036 8E81 ldd r24,Y+6
- 1088 0038 9F81 ldd r25,Y+7
- 1089 003a 892B or r24,r25
- 1090 003c 01F4 brne .L105
- 1091 003e 8FEF ldi r24,lo8(-1)
- 1092 0040 9FEF ldi r25,lo8(-1)
- 1093 0042 9983 std Y+1,r25
- 1094 0044 8883 st Y,r24
- 1095 .L104:
- 1096 0046 8A81 ldd r24,Y+2
- 1097 0048 9B81 ldd r25,Y+3
- 1098 004a E816 cp r14,r24
- 1099 004c F906 cpc r15,r25
- 1100 004e 01F4 brne .L106
- 1101 0050 8885 ldd r24,Y+8
- 1102 0052 9985 ldd r25,Y+9
- 1103 0054 892B or r24,r25
- 1104 0056 01F4 brne .L105
- 1105 0058 8FEF ldi r24,lo8(-1)
- 1106 005a 9FEF ldi r25,lo8(-1)
- 1107 005c 9B83 std Y+3,r25
- 1108 005e 8A83 std Y+2,r24
- 1109 .L106:
- 1110 0060 41E0 ldi r20,lo8(1)
- 1111 0062 C801 movw r24,r16
- 1112 0064 0E94 0000 call At45dFlashLoadUnit
- 1113 0068 87FD sbrc r24,7
- 1114 006a 00C0 rjmp .L105
- 1115 006c 282F mov r18,r24
- 1116 006e 220F lsl r18
- 1117 0070 330B sbc r19,r19
- 1118 0072 C20F add r28,r18
- 1119 0074 D31F adc r29,r19
- 1120 0076 F982 std Y+1,r15
- 1121 0078 E882 st Y,r14
- 1122 .L102:
- 1123 007a F801 movw r30,r16
- 1124 007c 4281 ldd r20,Z+2
- 1125 007e 5381 ldd r21,Z+3
- 1126 0080 E82F mov r30,r24
- 1127 0082 EE0F lsl r30
- 1128 0084 FF0B sbc r31,r31
- 1129 0086 E40F add r30,r20
- 1130 0088 F51F adc r31,r21
- 1131 008a 2681 ldd r18,Z+6
- 1132 008c 3781 ldd r19,Z+7
- 1133 008e 2150 subi r18,1
- 1134 0090 3109 sbc r19,__zero_reg__
- 1135 0092 3783 std Z+7,r19
- 1136 0094 2683 std Z+6,r18
- 1137 0096 CA01 movw r24,r20
- 1138 0098 0A96 adiw r24,10
- 1139 009a 0E94 0000 call NutEventPost
- 1140 009e 80E0 ldi r24,0
- GAS LISTING /tmp/cc60iCvq.s page 21
- 1141 00a0 90E0 ldi r25,0
- 1142 .L103:
- 1143 /* epilogue start */
- 1144 00a2 DF91 pop r29
- 1145 00a4 CF91 pop r28
- 1146 00a6 1F91 pop r17
- 1147 00a8 0F91 pop r16
- 1148 00aa FF90 pop r15
- 1149 00ac EF90 pop r14
- 1150 00ae 0895 ret
- 1151 .size SpiAt45dFlashCopy, .-SpiAt45dFlashCopy
- 1152 .local bnxt.2710
- 1153 .comm bnxt.2710,1,1
- 1154 .global flashAt45d3
- 1155 .data
- 1156 .type flashAt45d3, @object
- 1157 .size flashAt45d3, 32
- 1158 flashAt45d3:
- 1159 0000 0000 .word nodeAt45d3
- 1160 0002 0000 .word 0
- 1161 0004 0000 .word 0
- 1162 0006 0000 .word 0
- 1163 0008 0000 .word 0
- 1164 000a 0100 .word 1
- 1165 000c 0000 .word gs(SpiAt45dFlashInit)
- 1166 000e 0000 .word gs(SpiAt45dFlashExit)
- 1167 0010 0000 .word gs(SpiAt45dFlashCheck)
- 1168 0012 0000 .word gs(SpiAt45dFlashRead)
- 1169 0014 0000 .word gs(SpiAt45dFlashCompare)
- 1170 0016 0000 .word gs(SpiAt45dFlashUsed)
- 1171 0018 0000 .word gs(SpiAt45dFlashWrite)
- 1172 001a 0000 .word gs(SpiAt45dFlashCopy)
- 1173 001c 0000 .word gs(SpiAt45dFlashCommit)
- 1174 001e 0000 .word gs(SpiAt45dFlashErase)
- 1175 .global flashAt45d2
- 1176 .type flashAt45d2, @object
- 1177 .size flashAt45d2, 32
- 1178 flashAt45d2:
- 1179 0020 0000 .word nodeAt45d2
- 1180 0022 0000 .word 0
- 1181 0024 0000 .word 0
- 1182 0026 0000 .word 0
- 1183 0028 0000 .word 0
- 1184 002a 0100 .word 1
- 1185 002c 0000 .word gs(SpiAt45dFlashInit)
- 1186 002e 0000 .word gs(SpiAt45dFlashExit)
- 1187 0030 0000 .word gs(SpiAt45dFlashCheck)
- 1188 0032 0000 .word gs(SpiAt45dFlashRead)
- 1189 0034 0000 .word gs(SpiAt45dFlashCompare)
- 1190 0036 0000 .word gs(SpiAt45dFlashUsed)
- 1191 0038 0000 .word gs(SpiAt45dFlashWrite)
- 1192 003a 0000 .word gs(SpiAt45dFlashCopy)
- 1193 003c 0000 .word gs(SpiAt45dFlashCommit)
- 1194 003e 0000 .word gs(SpiAt45dFlashErase)
- 1195 .global flashAt45d1
- 1196 .type flashAt45d1, @object
- 1197 .size flashAt45d1, 32
- GAS LISTING /tmp/cc60iCvq.s page 22
- 1198 flashAt45d1:
- 1199 0040 0000 .word nodeAt45d1
- 1200 0042 0000 .word 0
- 1201 0044 0000 .word 0
- 1202 0046 0000 .word 0
- 1203 0048 0000 .word 0
- 1204 004a 0100 .word 1
- 1205 004c 0000 .word gs(SpiAt45dFlashInit)
- 1206 004e 0000 .word gs(SpiAt45dFlashExit)
- 1207 0050 0000 .word gs(SpiAt45dFlashCheck)
- 1208 0052 0000 .word gs(SpiAt45dFlashRead)
- 1209 0054 0000 .word gs(SpiAt45dFlashCompare)
- 1210 0056 0000 .word gs(SpiAt45dFlashUsed)
- 1211 0058 0000 .word gs(SpiAt45dFlashWrite)
- 1212 005a 0000 .word gs(SpiAt45dFlashCopy)
- 1213 005c 0000 .word gs(SpiAt45dFlashCommit)
- 1214 005e 0000 .word gs(SpiAt45dFlashErase)
- 1215 .global flashAt45d0
- 1216 .type flashAt45d0, @object
- 1217 .size flashAt45d0, 32
- 1218 flashAt45d0:
- 1219 0060 0000 .word nodeAt45d0
- 1220 0062 0000 .word 0
- 1221 0064 0000 .word 0
- 1222 0066 0000 .word 0
- 1223 0068 0000 .word 0
- 1224 006a 0100 .word 1
- 1225 006c 0000 .word gs(SpiAt45dFlashInit)
- 1226 006e 0000 .word gs(SpiAt45dFlashExit)
- 1227 0070 0000 .word gs(SpiAt45dFlashCheck)
- 1228 0072 0000 .word gs(SpiAt45dFlashRead)
- 1229 0074 0000 .word gs(SpiAt45dFlashCompare)
- 1230 0076 0000 .word gs(SpiAt45dFlashUsed)
- 1231 0078 0000 .word gs(SpiAt45dFlashWrite)
- 1232 007a 0000 .word gs(SpiAt45dFlashCopy)
- 1233 007c 0000 .word gs(SpiAt45dFlashCommit)
- 1234 007e 0000 .word gs(SpiAt45dFlashErase)
- 1235 .ident "GCC: (GNU) 5.3.0"
- 1236 .global __do_copy_data
- 1237 .global __do_clear_bss
- GAS LISTING /tmp/cc60iCvq.s page 23
- DEFINED SYMBOLS
- *ABS*:0000000000000000 spi_flash_at45d.c
- /tmp/cc60iCvq.s:2 *ABS*:000000000000003e __SP_H__
- /tmp/cc60iCvq.s:3 *ABS*:000000000000003d __SP_L__
- /tmp/cc60iCvq.s:4 *ABS*:000000000000003f __SREG__
- /tmp/cc60iCvq.s:5 *ABS*:000000000000003b __RAMPZ__
- /tmp/cc60iCvq.s:6 *ABS*:0000000000000000 __tmp_reg__
- /tmp/cc60iCvq.s:7 *ABS*:0000000000000001 __zero_reg__
- /tmp/cc60iCvq.s:10 .text.SpiAt45dFlashCheck:0000000000000000 SpiAt45dFlashCheck
- /tmp/cc60iCvq.s:21 .text.SpiAt45dFlashErase:0000000000000000 SpiAt45dFlashErase
- /tmp/cc60iCvq.s:166 .text.At45dFlashSaveUnit:0000000000000000 At45dFlashSaveUnit
- /tmp/cc60iCvq.s:302 .text.SpiAt45dFlashCommit:0000000000000000 SpiAt45dFlashCommit
- /tmp/cc60iCvq.s:339 .text.SpiAt45dFlashExit:0000000000000000 SpiAt45dFlashExit
- /tmp/cc60iCvq.s:370 .text.SpiAt45dFlashInit:0000000000000000 SpiAt45dFlashInit
- /tmp/cc60iCvq.s:455 .text.At45dFlashLoadUnit:0000000000000000 At45dFlashLoadUnit
- .bss:0000000000000000 bnxt.2710
- /tmp/cc60iCvq.s:754 .text.SpiAt45dFlashUsed:0000000000000000 SpiAt45dFlashUsed
- /tmp/cc60iCvq.s:832 .text.SpiAt45dFlashRead:0000000000000000 SpiAt45dFlashRead
- /tmp/cc60iCvq.s:897 .text.SpiAt45dFlashCompare:0000000000000000 SpiAt45dFlashCompare
- /tmp/cc60iCvq.s:965 .text.SpiAt45dFlashWrite:0000000000000000 SpiAt45dFlashWrite
- /tmp/cc60iCvq.s:1054 .text.SpiAt45dFlashCopy:0000000000000000 SpiAt45dFlashCopy
- /tmp/cc60iCvq.s:1158 .data:0000000000000000 flashAt45d3
- /tmp/cc60iCvq.s:1178 .data:0000000000000020 flashAt45d2
- /tmp/cc60iCvq.s:1198 .data:0000000000000040 flashAt45d1
- /tmp/cc60iCvq.s:1218 .data:0000000000000060 flashAt45d0
- UNDEFINED SYMBOLS
- At45dNodeLock
- At45dNodeCommand
- At45dNodeWaitReady
- At45dNodeUnlock
- At45dNodeTransfer
- free
- At45dNodeProbe
- calloc
- malloc
- NutEventPost
- NutEventWait
- memcpy
- memcmp
- nodeAt45d3
- nodeAt45d2
- nodeAt45d1
- nodeAt45d0
- __do_copy_data
- __do_clear_bss
|