| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745174617471748174917501751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775177617771778177917801781178217831784178517861787178817891790179117921793179417951796179717981799180018011802180318041805180618071808180918101811181218131814181518161817181818191820182118221823182418251826182718281829183018311832183318341835183618371838183918401841184218431844184518461847184818491850185118521853185418551856185718581859186018611862186318641865186618671868186918701871187218731874187518761877187818791880188118821883188418851886188718881889189018911892189318941895189618971898189919001901190219031904190519061907190819091910191119121913191419151916191719181919192019211922192319241925192619271928192919301931193219331934193519361937193819391940194119421943194419451946194719481949195019511952195319541955195619571958195919601961196219631964196519661967196819691970197119721973197419751976197719781979198019811982198319841985198619871988198919901991199219931994199519961997199819992000200120022003200420052006200720082009201020112012201320142015201620172018201920202021202220232024202520262027202820292030203120322033203420352036203720382039204020412042204320442045204620472048204920502051205220532054205520562057205820592060206120622063206420652066206720682069207020712072207320742075207620772078207920802081208220832084208520862087208820892090209120922093209420952096209720982099210021012102210321042105210621072108210921102111211221132114211521162117211821192120212121222123212421252126212721282129213021312132213321342135213621372138213921402141214221432144214521462147214821492150215121522153215421552156215721582159216021612162216321642165216621672168216921702171217221732174217521762177217821792180218121822183218421852186218721882189219021912192219321942195219621972198219922002201220222032204220522062207220822092210221122122213221422152216221722182219222022212222222322242225222622272228222922302231223222332234223522362237223822392240224122422243224422452246224722482249225022512252225322542255225622572258225922602261226222632264226522662267226822692270227122722273227422752276227722782279228022812282228322842285228622872288228922902291229222932294229522962297229822992300230123022303230423052306230723082309231023112312231323142315231623172318231923202321232223232324232523262327232823292330233123322333233423352336233723382339234023412342234323442345234623472348234923502351235223532354235523562357235823592360236123622363236423652366236723682369237023712372237323742375237623772378237923802381238223832384238523862387238823892390239123922393239423952396239723982399240024012402240324042405240624072408240924102411241224132414241524162417241824192420242124222423242424252426242724282429243024312432243324342435243624372438243924402441244224432444244524462447244824492450245124522453245424552456245724582459246024612462246324642465246624672468246924702471247224732474247524762477247824792480248124822483248424852486248724882489249024912492249324942495249624972498249925002501250225032504250525062507250825092510251125122513251425152516251725182519252025212522252325242525252625272528252925302531253225332534253525362537253825392540254125422543254425452546254725482549 |
- GAS LISTING /tmp/ccr7450G.s page 1
- 1 .file "pnutfs.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.PnutFileWrite_P,"ax",@progbits
- 9 .type PnutFileWrite_P, @function
- 10 PnutFileWrite_P:
- 11 /* prologue: function */
- 12 /* frame size = 0 */
- 13 /* stack size = 0 */
- 14 .L__stack_usage = 0
- 15 0000 8FEF ldi r24,lo8(-1)
- 16 0002 9FEF ldi r25,lo8(-1)
- 17 0004 0895 ret
- 18 .size PnutFileWrite_P, .-PnutFileWrite_P
- 19 .section .text.BankSelect,"ax",@progbits
- 20 .global BankSelect
- 21 .type BankSelect, @function
- 22 BankSelect:
- 23 /* prologue: function */
- 24 /* frame size = 0 */
- 25 /* stack size = 0 */
- 26 .L__stack_usage = 0
- 27 0000 97FD sbrc r25,7
- 28 0002 4F96 adiw r24,31
- 29 .L3:
- 30 0004 25E0 ldi r18,5
- 31 1:
- 32 0006 9595 asr r25
- 33 0008 8795 ror r24
- 34 000a 2A95 dec r18
- 35 000c 01F4 brne 1b
- 36 000e FC01 movw r30,r24
- 37 0010 3197 sbiw r30,1
- 38 0012 8083 st Z,r24
- 39 0014 0895 ret
- 40 .size BankSelect, .-BankSelect
- 41 .section .text.BankNodePointer,"ax",@progbits
- 42 .global BankNodePointer
- 43 .type BankNodePointer, @function
- 44 BankNodePointer:
- 45 0000 CF93 push r28
- 46 0002 DF93 push r29
- 47 /* prologue: function */
- 48 /* frame size = 0 */
- 49 /* stack size = 2 */
- 50 .L__stack_usage = 2
- 51 0004 EC01 movw r28,r24
- 52 0006 97FD sbrc r25,7
- 53 0008 00C0 rjmp .L7
- 54 000a 0E94 0000 call BankSelect
- 55 000e CE01 movw r24,r28
- 56 0010 8F71 andi r24,31
- 57 0012 9927 clr r25
- GAS LISTING /tmp/ccr7450G.s page 2
- 58 0014 982F mov r25,r24
- 59 0016 8827 clr r24
- 60 0018 990F lsl r25
- 61 001a 9058 subi r25,-128
- 62 001c 00C0 rjmp .L6
- 63 .L7:
- 64 001e 80E0 ldi r24,0
- 65 0020 90E0 ldi r25,0
- 66 .L6:
- 67 /* epilogue start */
- 68 0022 DF91 pop r29
- 69 0024 CF91 pop r28
- 70 0026 0895 ret
- 71 .size BankNodePointer, .-BankNodePointer
- 72 .section .text.PnutBlockAlloc,"ax",@progbits
- 73 .type PnutBlockAlloc, @function
- 74 PnutBlockAlloc:
- 75 0000 CF93 push r28
- 76 0002 DF93 push r29
- 77 /* prologue: function */
- 78 /* frame size = 0 */
- 79 /* stack size = 2 */
- 80 .L__stack_usage = 2
- 81 0004 C091 0000 lds r28,blockFreeList
- 82 0008 D091 0000 lds r29,blockFreeList+1
- 83 000c D7FD sbrc r29,7
- 84 000e 00C0 rjmp .L9
- 85 0010 CE01 movw r24,r28
- 86 0012 0E94 0000 call BankNodePointer
- 87 0016 FC01 movw r30,r24
- 88 0018 2081 ld r18,Z
- 89 001a 3181 ldd r19,Z+1
- 90 001c 3093 0000 sts blockFreeList+1,r19
- 91 0020 2093 0000 sts blockFreeList,r18
- 92 0024 20E0 ldi r18,0
- 93 0026 32E0 ldi r19,lo8(2)
- 94 0028 A901 movw r20,r18
- 95 0:
- 96 002a 1192 st Z+,__zero_reg__
- 97 002c 4150 subi r20,1
- 98 002e 5040 sbci r21,0
- 99 0030 01F4 brne 0b
- 100 .L9:
- 101 0032 CE01 movw r24,r28
- 102 /* epilogue start */
- 103 0034 DF91 pop r29
- 104 0036 CF91 pop r28
- 105 0038 0895 ret
- 106 .size PnutBlockAlloc, .-PnutBlockAlloc
- 107 .section .text.PnutNodeGetDataPtr,"ax",@progbits
- 108 .type PnutNodeGetDataPtr, @function
- 109 PnutNodeGetDataPtr:
- 110 0000 4F92 push r4
- 111 0002 5F92 push r5
- 112 0004 6F92 push r6
- 113 0006 7F92 push r7
- 114 0008 8F92 push r8
- GAS LISTING /tmp/ccr7450G.s page 3
- 115 000a 9F92 push r9
- 116 000c AF92 push r10
- 117 000e BF92 push r11
- 118 0010 CF92 push r12
- 119 0012 DF92 push r13
- 120 0014 EF92 push r14
- 121 0016 FF92 push r15
- 122 0018 0F93 push r16
- 123 001a 1F93 push r17
- 124 001c CF93 push r28
- 125 001e DF93 push r29
- 126 0020 00D0 rcall .
- 127 0022 1F92 push __zero_reg__
- 128 0024 CDB7 in r28,__SP_L__
- 129 0026 DEB7 in r29,__SP_H__
- 130 /* prologue: function */
- 131 /* frame size = 4 */
- 132 /* stack size = 20 */
- 133 .L__stack_usage = 20
- 134 0028 5C01 movw r10,r24
- 135 002a 4901 movw r8,r18
- 136 002c F901 movw r30,r18
- 137 002e 1182 std Z+1,__zero_reg__
- 138 0030 1082 st Z,__zero_reg__
- 139 0032 F801 movw r30,r16
- 140 0034 1182 std Z+1,__zero_reg__
- 141 0036 1082 st Z,__zero_reg__
- 142 0038 2A01 movw r4,r20
- 143 003a 3B01 movw r6,r22
- 144 003c 39E0 ldi r19,9
- 145 1:
- 146 003e 7694 lsr r7
- 147 0040 6794 ror r6
- 148 0042 5794 ror r5
- 149 0044 4794 ror r4
- 150 0046 3A95 dec r19
- 151 0048 01F4 brne 1b
- 152 004a FAEF ldi r31,-6
- 153 004c 4F16 cp r4,r31
- 154 004e 5104 cpc r5,__zero_reg__
- 155 0050 04F0 brlt .+2
- 156 0052 00C0 rjmp .L15
- 157 0054 4983 std Y+1,r20
- 158 0056 5A83 std Y+2,r21
- 159 0058 6B83 std Y+3,r22
- 160 005a 7C83 std Y+4,r23
- 161 005c 0E94 0000 call BankNodePointer
- 162 0060 26E0 ldi r18,6
- 163 0062 420E add r4,r18
- 164 0064 511C adc r5,__zero_reg__
- 165 0066 440C lsl r4
- 166 0068 551C rol r5
- 167 006a 840D add r24,r4
- 168 006c 951D adc r25,r5
- 169 006e FC01 movw r30,r24
- 170 0070 C080 ld r12,Z
- 171 0072 D180 ldd r13,Z+1
- GAS LISTING /tmp/ccr7450G.s page 4
- 172 0074 4981 ldd r20,Y+1
- 173 0076 5A81 ldd r21,Y+2
- 174 0078 6B81 ldd r22,Y+3
- 175 007a 7C81 ldd r23,Y+4
- 176 007c D7FE sbrs r13,7
- 177 007e 00C0 rjmp .L12
- 178 0080 EF28 or r14,r15
- 179 0082 01F0 breq .L15
- 180 0084 0E94 0000 call PnutBlockAlloc
- 181 0088 6C01 movw r12,r24
- 182 008a 97FD sbrc r25,7
- 183 008c 00C0 rjmp .L16
- 184 008e C501 movw r24,r10
- 185 0090 0E94 0000 call BankNodePointer
- 186 0094 840D add r24,r4
- 187 0096 951D adc r25,r5
- 188 0098 FC01 movw r30,r24
- 189 009a D182 std Z+1,r13
- 190 009c C082 st Z,r12
- 191 009e 4981 ldd r20,Y+1
- 192 00a0 5A81 ldd r21,Y+2
- 193 00a2 6B81 ldd r22,Y+3
- 194 00a4 7C81 ldd r23,Y+4
- 195 .L12:
- 196 00a6 C601 movw r24,r12
- 197 00a8 4983 std Y+1,r20
- 198 00aa 5A83 std Y+2,r21
- 199 00ac 6B83 std Y+3,r22
- 200 00ae 7C83 std Y+4,r23
- 201 00b0 0E94 0000 call BankNodePointer
- 202 00b4 4981 ldd r20,Y+1
- 203 00b6 5A81 ldd r21,Y+2
- 204 00b8 5170 andi r21,1
- 205 00ba 840F add r24,r20
- 206 00bc 951F adc r25,r21
- 207 00be F401 movw r30,r8
- 208 00c0 9183 std Z+1,r25
- 209 00c2 8083 st Z,r24
- 210 00c4 80E0 ldi r24,0
- 211 00c6 92E0 ldi r25,lo8(2)
- 212 00c8 841B sub r24,r20
- 213 00ca 950B sbc r25,r21
- 214 00cc F801 movw r30,r16
- 215 00ce 9183 std Z+1,r25
- 216 00d0 8083 st Z,r24
- 217 00d2 80E0 ldi r24,0
- 218 00d4 90E0 ldi r25,0
- 219 00d6 00C0 rjmp .L17
- 220 .L15:
- 221 00d8 86E1 ldi r24,lo8(22)
- 222 00da 90E0 ldi r25,0
- 223 00dc 00C0 rjmp .L17
- 224 .L16:
- 225 00de 8CE1 ldi r24,lo8(28)
- 226 00e0 90E0 ldi r25,0
- 227 .L17:
- 228 /* epilogue start */
- GAS LISTING /tmp/ccr7450G.s page 5
- 229 00e2 0F90 pop __tmp_reg__
- 230 00e4 0F90 pop __tmp_reg__
- 231 00e6 0F90 pop __tmp_reg__
- 232 00e8 0F90 pop __tmp_reg__
- 233 00ea DF91 pop r29
- 234 00ec CF91 pop r28
- 235 00ee 1F91 pop r17
- 236 00f0 0F91 pop r16
- 237 00f2 FF90 pop r15
- 238 00f4 EF90 pop r14
- 239 00f6 DF90 pop r13
- 240 00f8 CF90 pop r12
- 241 00fa BF90 pop r11
- 242 00fc AF90 pop r10
- 243 00fe 9F90 pop r9
- 244 0100 8F90 pop r8
- 245 0102 7F90 pop r7
- 246 0104 6F90 pop r6
- 247 0106 5F90 pop r5
- 248 0108 4F90 pop r4
- 249 010a 0895 ret
- 250 .size PnutNodeGetDataPtr, .-PnutNodeGetDataPtr
- 251 .section .text.PnutDirFindEntry,"ax",@progbits
- 252 .type PnutDirFindEntry, @function
- 253 PnutDirFindEntry:
- 254 0000 2F92 push r2
- 255 0002 3F92 push r3
- 256 0004 4F92 push r4
- 257 0006 5F92 push r5
- 258 0008 6F92 push r6
- 259 000a 7F92 push r7
- 260 000c 8F92 push r8
- 261 000e 9F92 push r9
- 262 0010 AF92 push r10
- 263 0012 BF92 push r11
- 264 0014 CF92 push r12
- 265 0016 DF92 push r13
- 266 0018 EF92 push r14
- 267 001a FF92 push r15
- 268 001c 0F93 push r16
- 269 001e 1F93 push r17
- 270 0020 CF93 push r28
- 271 0022 DF93 push r29
- 272 0024 00D0 rcall .
- 273 0026 1F92 push __zero_reg__
- 274 0028 CDB7 in r28,__SP_L__
- 275 002a DEB7 in r29,__SP_H__
- 276 /* prologue: function */
- 277 /* frame size = 4 */
- 278 /* stack size = 22 */
- 279 .L__stack_usage = 22
- 280 002c 6C01 movw r12,r24
- 281 002e 3B01 movw r6,r22
- 282 0030 5A01 movw r10,r20
- 283 0032 4901 movw r8,r18
- 284 0034 212C mov r2,__zero_reg__
- 285 0036 312C mov r3,__zero_reg__
- GAS LISTING /tmp/ccr7450G.s page 6
- 286 0038 2101 movw r4,r2
- 287 .L19:
- 288 003a C601 movw r24,r12
- 289 003c 0E94 0000 call BankNodePointer
- 290 0040 FC01 movw r30,r24
- 291 0042 8481 ldd r24,Z+4
- 292 0044 9581 ldd r25,Z+5
- 293 0046 A681 ldd r26,Z+6
- 294 0048 B781 ldd r27,Z+7
- 295 004a 2816 cp r2,r24
- 296 004c 3906 cpc r3,r25
- 297 004e 4A06 cpc r4,r26
- 298 0050 5B06 cpc r5,r27
- 299 0052 00F0 brlo .+2
- 300 0054 00C0 rjmp .L30
- 301 0056 D401 movw r26,r8
- 302 0058 8D91 ld r24,X+
- 303 005a 9C91 ld r25,X
- 304 005c 9A83 std Y+2,r25
- 305 005e 8983 std Y+1,r24
- 306 0060 E12C mov r14,__zero_reg__
- 307 0062 F12C mov r15,__zero_reg__
- 308 0064 8E01 movw r16,r28
- 309 0066 0D5F subi r16,-3
- 310 0068 1F4F sbci r17,-1
- 311 006a 9E01 movw r18,r28
- 312 006c 2F5F subi r18,-1
- 313 006e 3F4F sbci r19,-1
- 314 0070 B201 movw r22,r4
- 315 0072 A101 movw r20,r2
- 316 0074 C601 movw r24,r12
- 317 0076 0E94 0000 call PnutNodeGetDataPtr
- 318 007a 892B or r24,r25
- 319 007c 01F4 brne .L30
- 320 007e 2B81 ldd r18,Y+3
- 321 0080 3C81 ldd r19,Y+4
- 322 0082 2115 cp r18,__zero_reg__
- 323 0084 3105 cpc r19,__zero_reg__
- 324 0086 01F0 breq .L30
- 325 0088 E981 ldd r30,Y+1
- 326 008a FA81 ldd r31,Y+2
- 327 008c D401 movw r26,r8
- 328 008e ED93 st X+,r30
- 329 0090 FC93 st X,r31
- 330 0092 2032 cpi r18,32
- 331 0094 3105 cpc r19,__zero_reg__
- 332 0096 00F0 brlo .L21
- 333 0098 2281 ldd r18,Z+2
- 334 009a 2223 tst r18
- 335 009c 01F0 breq .L21
- 336 009e CF01 movw r24,r30
- 337 00a0 0396 adiw r24,3
- 338 00a2 FC01 movw r30,r24
- 339 0:
- 340 00a4 0190 ld __tmp_reg__,Z+
- 341 00a6 0020 tst __tmp_reg__
- 342 00a8 01F4 brne 0b
- GAS LISTING /tmp/ccr7450G.s page 7
- 343 00aa 3197 sbiw r30,1
- 344 00ac E81B sub r30,r24
- 345 00ae F90B sbc r31,r25
- 346 00b0 EA15 cp r30,r10
- 347 00b2 FB05 cpc r31,r11
- 348 00b4 01F4 brne .L21
- 349 00b6 A501 movw r20,r10
- 350 00b8 B301 movw r22,r6
- 351 00ba 0E94 0000 call strncmp
- 352 00be 892B or r24,r25
- 353 00c0 01F0 breq .L26
- 354 .L21:
- 355 00c2 B0E2 ldi r27,32
- 356 00c4 2B0E add r2,r27
- 357 00c6 311C adc r3,__zero_reg__
- 358 00c8 411C adc r4,__zero_reg__
- 359 00ca 511C adc r5,__zero_reg__
- 360 00cc 00C0 rjmp .L19
- 361 .L26:
- 362 00ce 80E0 ldi r24,0
- 363 00d0 90E0 ldi r25,0
- 364 00d2 00C0 rjmp .L22
- 365 .L30:
- 366 00d4 82E0 ldi r24,lo8(2)
- 367 00d6 90E0 ldi r25,0
- 368 .L22:
- 369 /* epilogue start */
- 370 00d8 0F90 pop __tmp_reg__
- 371 00da 0F90 pop __tmp_reg__
- 372 00dc 0F90 pop __tmp_reg__
- 373 00de 0F90 pop __tmp_reg__
- 374 00e0 DF91 pop r29
- 375 00e2 CF91 pop r28
- 376 00e4 1F91 pop r17
- 377 00e6 0F91 pop r16
- 378 00e8 FF90 pop r15
- 379 00ea EF90 pop r14
- 380 00ec DF90 pop r13
- 381 00ee CF90 pop r12
- 382 00f0 BF90 pop r11
- 383 00f2 AF90 pop r10
- 384 00f4 9F90 pop r9
- 385 00f6 8F90 pop r8
- 386 00f8 7F90 pop r7
- 387 00fa 6F90 pop r6
- 388 00fc 5F90 pop r5
- 389 00fe 4F90 pop r4
- 390 0100 3F90 pop r3
- 391 0102 2F90 pop r2
- 392 0104 0895 ret
- 393 .size PnutDirFindEntry, .-PnutDirFindEntry
- 394 .section .rodata.str1.1,"aMS",@progbits,1
- 395 .LC0:
- 396 0000 2E00 .string "."
- 397 .section .text.PnutDirFindPath,"ax",@progbits
- 398 .type PnutDirFindPath, @function
- 399 PnutDirFindPath:
- GAS LISTING /tmp/ccr7450G.s page 8
- 400 0000 8F92 push r8
- 401 0002 9F92 push r9
- 402 0004 AF92 push r10
- 403 0006 BF92 push r11
- 404 0008 CF92 push r12
- 405 000a DF92 push r13
- 406 000c EF92 push r14
- 407 000e FF92 push r15
- 408 0010 0F93 push r16
- 409 0012 1F93 push r17
- 410 0014 CF93 push r28
- 411 0016 DF93 push r29
- 412 0018 1F92 push __zero_reg__
- 413 001a 1F92 push __zero_reg__
- 414 001c CDB7 in r28,__SP_L__
- 415 001e DEB7 in r29,__SP_H__
- 416 /* prologue: function */
- 417 /* frame size = 2 */
- 418 /* stack size = 14 */
- 419 .L__stack_usage = 14
- 420 0020 5C01 movw r10,r24
- 421 0022 7A01 movw r14,r20
- 422 0024 1A82 std Y+2,__zero_reg__
- 423 0026 1982 std Y+1,__zero_reg__
- 424 0028 FA01 movw r30,r20
- 425 002a 9383 std Z+3,r25
- 426 002c 8283 std Z+2,r24
- 427 002e 8FEF ldi r24,lo8(-1)
- 428 0030 9FEF ldi r25,lo8(-1)
- 429 0032 9183 std Z+1,r25
- 430 0034 8083 st Z,r24
- 431 0036 1582 std Z+5,__zero_reg__
- 432 0038 1482 std Z+4,__zero_reg__
- 433 003a CB01 movw r24,r22
- 434 .L32:
- 435 003c 8C01 movw r16,r24
- 436 003e FC01 movw r30,r24
- 437 0040 2081 ld r18,Z
- 438 0042 0196 adiw r24,1
- 439 0044 2F32 cpi r18,lo8(47)
- 440 0046 01F0 breq .L32
- 441 0048 2111 cpse r18,__zero_reg__
- 442 004a 00C0 rjmp .L39
- 443 004c 00E0 ldi r16,lo8(.LC0)
- 444 004e 10E0 ldi r17,hi8(.LC0)
- 445 0050 00C0 rjmp .L39
- 446 .L40:
- 447 0052 C501 movw r24,r10
- 448 0054 0E94 0000 call BankNodePointer
- 449 0058 FC01 movw r30,r24
- 450 005a 8081 ld r24,Z
- 451 005c 8130 cpi r24,lo8(1)
- 452 005e 01F4 brne .L43
- 453 0060 F801 movw r30,r16
- 454 .L36:
- 455 0062 4F01 movw r8,r30
- 456 0064 6F01 movw r12,r30
- GAS LISTING /tmp/ccr7450G.s page 9
- 457 0066 C01A sub r12,r16
- 458 0068 D10A sbc r13,r17
- 459 006a 8191 ld r24,Z+
- 460 006c 8823 tst r24
- 461 006e 01F0 breq .L35
- 462 0070 8F32 cpi r24,lo8(47)
- 463 0072 01F4 brne .L36
- 464 .L42:
- 465 0074 9E01 movw r18,r28
- 466 0076 2F5F subi r18,-1
- 467 0078 3F4F sbci r19,-1
- 468 007a A601 movw r20,r12
- 469 007c B801 movw r22,r16
- 470 007e C501 movw r24,r10
- 471 0080 0E94 0000 call PnutDirFindEntry
- 472 0084 892B or r24,r25
- 473 0086 01F4 brne .L44
- 474 0088 E981 ldd r30,Y+1
- 475 008a FA81 ldd r31,Y+2
- 476 008c A080 ld r10,Z
- 477 008e B180 ldd r11,Z+1
- 478 0090 F701 movw r30,r14
- 479 0092 B182 std Z+1,r11
- 480 0094 A082 st Z,r10
- 481 0096 F401 movw r30,r8
- 482 0098 8081 ld r24,Z
- 483 009a 8823 tst r24
- 484 009c 01F0 breq .L41
- 485 009e F701 movw r30,r14
- 486 00a0 B382 std Z+3,r11
- 487 00a2 A282 std Z+2,r10
- 488 00a4 C00E add r12,r16
- 489 00a6 D11E adc r13,r17
- 490 .L38:
- 491 00a8 8601 movw r16,r12
- 492 00aa FFEF ldi r31,-1
- 493 00ac CF1A sub r12,r31
- 494 00ae DF0A sbc r13,r31
- 495 00b0 F801 movw r30,r16
- 496 00b2 8081 ld r24,Z
- 497 00b4 8F32 cpi r24,lo8(47)
- 498 00b6 01F0 breq .L38
- 499 .L39:
- 500 00b8 F801 movw r30,r16
- 501 00ba 8081 ld r24,Z
- 502 00bc 8111 cpse r24,__zero_reg__
- 503 00be 00C0 rjmp .L40
- 504 .L41:
- 505 00c0 80E0 ldi r24,0
- 506 00c2 90E0 ldi r25,0
- 507 00c4 00C0 rjmp .L50
- 508 .L43:
- 509 00c6 84E1 ldi r24,lo8(20)
- 510 00c8 90E0 ldi r25,0
- 511 00ca 00C0 rjmp .L50
- 512 .L44:
- 513 00cc 82E0 ldi r24,lo8(2)
- GAS LISTING /tmp/ccr7450G.s page 10
- 514 00ce 90E0 ldi r25,0
- 515 00d0 00C0 rjmp .L50
- 516 .L35:
- 517 00d2 F701 movw r30,r14
- 518 00d4 1583 std Z+5,r17
- 519 00d6 0483 std Z+4,r16
- 520 00d8 00C0 rjmp .L42
- 521 .L50:
- 522 /* epilogue start */
- 523 00da 0F90 pop __tmp_reg__
- 524 00dc 0F90 pop __tmp_reg__
- 525 00de DF91 pop r29
- 526 00e0 CF91 pop r28
- 527 00e2 1F91 pop r17
- 528 00e4 0F91 pop r16
- 529 00e6 FF90 pop r15
- 530 00e8 EF90 pop r14
- 531 00ea DF90 pop r13
- 532 00ec CF90 pop r12
- 533 00ee BF90 pop r11
- 534 00f0 AF90 pop r10
- 535 00f2 9F90 pop r9
- 536 00f4 8F90 pop r8
- 537 00f6 0895 ret
- 538 .size PnutDirFindPath, .-PnutDirFindPath
- 539 .section .text.PnutNodeAlloc,"ax",@progbits
- 540 .type PnutNodeAlloc, @function
- 541 PnutNodeAlloc:
- 542 0000 FF92 push r15
- 543 0002 0F93 push r16
- 544 0004 1F93 push r17
- 545 0006 CF93 push r28
- 546 0008 DF93 push r29
- 547 /* prologue: function */
- 548 /* frame size = 0 */
- 549 /* stack size = 5 */
- 550 .L__stack_usage = 5
- 551 000a F82E mov r15,r24
- 552 000c 0E94 0000 call PnutBlockAlloc
- 553 0010 8C01 movw r16,r24
- 554 0012 97FD sbrc r25,7
- 555 0014 00C0 rjmp .L52
- 556 0016 0E94 0000 call BankNodePointer
- 557 001a EC01 movw r28,r24
- 558 001c FC01 movw r30,r24
- 559 001e 3C96 adiw r30,12
- 560 0020 9E5F subi r25,-2
- 561 0022 2FEF ldi r18,lo8(-1)
- 562 0024 3FEF ldi r19,lo8(-1)
- 563 .L53:
- 564 0026 2193 st Z+,r18
- 565 0028 3193 st Z+,r19
- 566 002a E817 cp r30,r24
- 567 002c F907 cpc r31,r25
- 568 002e 01F4 brne .L53
- 569 0030 F882 st Y,r15
- 570 0032 80E0 ldi r24,0
- GAS LISTING /tmp/ccr7450G.s page 11
- 571 0034 90E0 ldi r25,0
- 572 0036 0E94 0000 call time
- 573 003a 6887 std Y+8,r22
- 574 003c 7987 std Y+9,r23
- 575 003e 8A87 std Y+10,r24
- 576 0040 9B87 std Y+11,r25
- 577 .L52:
- 578 0042 C801 movw r24,r16
- 579 /* epilogue start */
- 580 0044 DF91 pop r29
- 581 0046 CF91 pop r28
- 582 0048 1F91 pop r17
- 583 004a 0F91 pop r16
- 584 004c FF90 pop r15
- 585 004e 0895 ret
- 586 .size PnutNodeAlloc, .-PnutNodeAlloc
- 587 .section .text.PnutDirAddEntry,"ax",@progbits
- 588 .type PnutDirAddEntry, @function
- 589 PnutDirAddEntry:
- 590 0000 4F92 push r4
- 591 0002 5F92 push r5
- 592 0004 6F92 push r6
- 593 0006 7F92 push r7
- 594 0008 8F92 push r8
- 595 000a 9F92 push r9
- 596 000c AF92 push r10
- 597 000e BF92 push r11
- 598 0010 CF92 push r12
- 599 0012 DF92 push r13
- 600 0014 EF92 push r14
- 601 0016 FF92 push r15
- 602 0018 0F93 push r16
- 603 001a 1F93 push r17
- 604 001c CF93 push r28
- 605 001e DF93 push r29
- 606 0020 00D0 rcall .
- 607 0022 1F92 push __zero_reg__
- 608 0024 CDB7 in r28,__SP_L__
- 609 0026 DEB7 in r29,__SP_H__
- 610 /* prologue: function */
- 611 /* frame size = 4 */
- 612 /* stack size = 20 */
- 613 .L__stack_usage = 20
- 614 0028 5C01 movw r10,r24
- 615 002a 4B01 movw r8,r22
- 616 002c 6A01 movw r12,r20
- 617 002e E0E0 ldi r30,0
- 618 0030 F0E0 ldi r31,0
- 619 0032 412C mov r4,__zero_reg__
- 620 0034 512C mov r5,__zero_reg__
- 621 0036 3201 movw r6,r4
- 622 .L59:
- 623 0038 FA83 std Y+2,r31
- 624 003a E983 std Y+1,r30
- 625 003c EE24 clr r14
- 626 003e E394 inc r14
- 627 0040 F12C mov r15,__zero_reg__
- GAS LISTING /tmp/ccr7450G.s page 12
- 628 0042 8E01 movw r16,r28
- 629 0044 0D5F subi r16,-3
- 630 0046 1F4F sbci r17,-1
- 631 0048 9E01 movw r18,r28
- 632 004a 2F5F subi r18,-1
- 633 004c 3F4F sbci r19,-1
- 634 004e B301 movw r22,r6
- 635 0050 A201 movw r20,r4
- 636 0052 C501 movw r24,r10
- 637 0054 0E94 0000 call PnutNodeGetDataPtr
- 638 0058 8C01 movw r16,r24
- 639 005a 892B or r24,r25
- 640 005c 01F4 brne .L56
- 641 005e E981 ldd r30,Y+1
- 642 0060 FA81 ldd r31,Y+2
- 643 0062 80E2 ldi r24,32
- 644 0064 480E add r4,r24
- 645 0066 511C adc r5,__zero_reg__
- 646 0068 611C adc r6,__zero_reg__
- 647 006a 711C adc r7,__zero_reg__
- 648 006c 8B81 ldd r24,Y+3
- 649 006e 9C81 ldd r25,Y+4
- 650 0070 8097 sbiw r24,32
- 651 0072 00F0 brlo .L59
- 652 0074 8281 ldd r24,Z+2
- 653 0076 8111 cpse r24,__zero_reg__
- 654 0078 00C0 rjmp .L59
- 655 007a D182 std Z+1,r13
- 656 007c C082 st Z,r12
- 657 007e 81E0 ldi r24,lo8(1)
- 658 0080 8283 std Z+2,r24
- 659 0082 B401 movw r22,r8
- 660 0084 CF01 movw r24,r30
- 661 0086 0396 adiw r24,3
- 662 0088 0E94 0000 call strcpy
- 663 008c C501 movw r24,r10
- 664 008e 0E94 0000 call BankNodePointer
- 665 0092 5C01 movw r10,r24
- 666 0094 80E0 ldi r24,0
- 667 0096 90E0 ldi r25,0
- 668 0098 0E94 0000 call time
- 669 009c F501 movw r30,r10
- 670 009e 6087 std Z+8,r22
- 671 00a0 7187 std Z+9,r23
- 672 00a2 8287 std Z+10,r24
- 673 00a4 9387 std Z+11,r25
- 674 00a6 8481 ldd r24,Z+4
- 675 00a8 9581 ldd r25,Z+5
- 676 00aa A681 ldd r26,Z+6
- 677 00ac B781 ldd r27,Z+7
- 678 00ae 8415 cp r24,r4
- 679 00b0 9505 cpc r25,r5
- 680 00b2 A605 cpc r26,r6
- 681 00b4 B705 cpc r27,r7
- 682 00b6 00F4 brsh .L58
- 683 00b8 4482 std Z+4,r4
- 684 00ba 5582 std Z+5,r5
- GAS LISTING /tmp/ccr7450G.s page 13
- 685 00bc 6682 std Z+6,r6
- 686 00be 7782 std Z+7,r7
- 687 .L58:
- 688 00c0 C601 movw r24,r12
- 689 00c2 0E94 0000 call BankNodePointer
- 690 00c6 FC01 movw r30,r24
- 691 00c8 2281 ldd r18,Z+2
- 692 00ca 3381 ldd r19,Z+3
- 693 00cc 2F5F subi r18,-1
- 694 00ce 3F4F sbci r19,-1
- 695 00d0 3383 std Z+3,r19
- 696 00d2 2283 std Z+2,r18
- 697 .L56:
- 698 00d4 C801 movw r24,r16
- 699 /* epilogue start */
- 700 00d6 0F90 pop __tmp_reg__
- 701 00d8 0F90 pop __tmp_reg__
- 702 00da 0F90 pop __tmp_reg__
- 703 00dc 0F90 pop __tmp_reg__
- 704 00de DF91 pop r29
- 705 00e0 CF91 pop r28
- 706 00e2 1F91 pop r17
- 707 00e4 0F91 pop r16
- 708 00e6 FF90 pop r15
- 709 00e8 EF90 pop r14
- 710 00ea DF90 pop r13
- 711 00ec CF90 pop r12
- 712 00ee BF90 pop r11
- 713 00f0 AF90 pop r10
- 714 00f2 9F90 pop r9
- 715 00f4 8F90 pop r8
- 716 00f6 7F90 pop r7
- 717 00f8 6F90 pop r6
- 718 00fa 5F90 pop r5
- 719 00fc 4F90 pop r4
- 720 00fe 0895 ret
- 721 .size PnutDirAddEntry, .-PnutDirAddEntry
- 722 .section .text.PnutBlockRelease,"ax",@progbits
- 723 .type PnutBlockRelease, @function
- 724 PnutBlockRelease:
- 725 0000 CF93 push r28
- 726 0002 DF93 push r29
- 727 /* prologue: function */
- 728 /* frame size = 0 */
- 729 /* stack size = 2 */
- 730 .L__stack_usage = 2
- 731 0004 EC01 movw r28,r24
- 732 0006 0E94 0000 call BankNodePointer
- 733 000a 2091 0000 lds r18,blockFreeList
- 734 000e 3091 0000 lds r19,blockFreeList+1
- 735 0012 FC01 movw r30,r24
- 736 0014 3183 std Z+1,r19
- 737 0016 2083 st Z,r18
- 738 0018 D093 0000 sts blockFreeList+1,r29
- 739 001c C093 0000 sts blockFreeList,r28
- 740 /* epilogue start */
- 741 0020 DF91 pop r29
- GAS LISTING /tmp/ccr7450G.s page 14
- 742 0022 CF91 pop r28
- 743 0024 0895 ret
- 744 .size PnutBlockRelease, .-PnutBlockRelease
- 745 .section .rodata.str1.1
- 746 .LC1:
- 747 0002 2E2E 00 .string ".."
- 748 .section .text.PnutInit,"ax",@progbits
- 749 .type PnutInit, @function
- 750 PnutInit:
- 751 0000 CF93 push r28
- 752 0002 DF93 push r29
- 753 /* prologue: function */
- 754 /* frame size = 0 */
- 755 /* stack size = 2 */
- 756 .L__stack_usage = 2
- 757 0004 C0E0 ldi r28,0
- 758 0006 D0E0 ldi r29,0
- 759 .L62:
- 760 0008 CE01 movw r24,r28
- 761 000a 0E94 0000 call PnutBlockRelease
- 762 000e 2196 adiw r28,1
- 763 0010 C03C cpi r28,-64
- 764 0012 23E0 ldi r18,3
- 765 0014 D207 cpc r29,r18
- 766 0016 01F4 brne .L62
- 767 0018 81E0 ldi r24,lo8(1)
- 768 001a 0E94 0000 call PnutNodeAlloc
- 769 001e 9093 0000 sts root+1,r25
- 770 0022 8093 0000 sts root,r24
- 771 0026 8F3F cpi r24,-1
- 772 0028 2FEF ldi r18,-1
- 773 002a 9207 cpc r25,r18
- 774 002c 01F0 breq .L65
- 775 002e AC01 movw r20,r24
- 776 0030 60E0 ldi r22,lo8(.LC0)
- 777 0032 70E0 ldi r23,hi8(.LC0)
- 778 0034 0E94 0000 call PnutDirAddEntry
- 779 0038 EC01 movw r28,r24
- 780 003a 892B or r24,r25
- 781 003c 01F4 brne .L64
- 782 003e 8091 0000 lds r24,root
- 783 0042 9091 0000 lds r25,root+1
- 784 0046 AC01 movw r20,r24
- 785 0048 60E0 ldi r22,lo8(.LC1)
- 786 004a 70E0 ldi r23,hi8(.LC1)
- 787 004c 0E94 0000 call PnutDirAddEntry
- 788 0050 EC01 movw r28,r24
- 789 0052 892B or r24,r25
- 790 0054 01F0 breq .L63
- 791 .L64:
- 792 0056 8091 0000 lds r24,root
- 793 005a 9091 0000 lds r25,root+1
- 794 005e 0E94 0000 call PnutBlockRelease
- 795 0062 00C0 rjmp .L63
- 796 .L65:
- 797 0064 CCE1 ldi r28,lo8(28)
- 798 0066 D0E0 ldi r29,0
- GAS LISTING /tmp/ccr7450G.s page 15
- 799 .L63:
- 800 0068 CE01 movw r24,r28
- 801 /* epilogue start */
- 802 006a DF91 pop r29
- 803 006c CF91 pop r28
- 804 006e 0895 ret
- 805 .size PnutInit, .-PnutInit
- 806 .section .text.PnutNodeDataRelease,"ax",@progbits
- 807 .type PnutNodeDataRelease, @function
- 808 PnutNodeDataRelease:
- 809 0000 CF92 push r12
- 810 0002 DF92 push r13
- 811 0004 EF92 push r14
- 812 0006 FF92 push r15
- 813 0008 0F93 push r16
- 814 000a 1F93 push r17
- 815 000c CF93 push r28
- 816 000e DF93 push r29
- 817 /* prologue: function */
- 818 /* frame size = 0 */
- 819 /* stack size = 8 */
- 820 .L__stack_usage = 8
- 821 0010 8C01 movw r16,r24
- 822 0012 E12C mov r14,__zero_reg__
- 823 0014 F12C mov r15,__zero_reg__
- 824 0016 CC24 clr r12
- 825 0018 CA94 dec r12
- 826 001a DC2C mov r13,r12
- 827 .L72:
- 828 001c C801 movw r24,r16
- 829 001e 0E94 0000 call BankNodePointer
- 830 0022 E701 movw r28,r14
- 831 0024 2696 adiw r28,6
- 832 0026 CC0F lsl r28
- 833 0028 DD1F rol r29
- 834 002a 8C0F add r24,r28
- 835 002c 9D1F adc r25,r29
- 836 002e FC01 movw r30,r24
- 837 0030 8081 ld r24,Z
- 838 0032 9181 ldd r25,Z+1
- 839 0034 97FD sbrc r25,7
- 840 0036 00C0 rjmp .L71
- 841 0038 C801 movw r24,r16
- 842 003a 0E94 0000 call BankNodePointer
- 843 003e 8C0F add r24,r28
- 844 0040 9D1F adc r25,r29
- 845 0042 FC01 movw r30,r24
- 846 0044 8081 ld r24,Z
- 847 0046 9181 ldd r25,Z+1
- 848 0048 0E94 0000 call PnutBlockRelease
- 849 004c C801 movw r24,r16
- 850 004e 0E94 0000 call BankNodePointer
- 851 0052 C80F add r28,r24
- 852 0054 D91F adc r29,r25
- 853 0056 D982 std Y+1,r13
- 854 0058 C882 st Y,r12
- 855 .L71:
- GAS LISTING /tmp/ccr7450G.s page 16
- 856 005a FFEF ldi r31,-1
- 857 005c EF1A sub r14,r31
- 858 005e FF0A sbc r15,r31
- 859 0060 8AEF ldi r24,-6
- 860 0062 E816 cp r14,r24
- 861 0064 F104 cpc r15,__zero_reg__
- 862 0066 01F4 brne .L72
- 863 0068 C801 movw r24,r16
- 864 006a 0E94 0000 call BankNodePointer
- 865 006e FC01 movw r30,r24
- 866 0070 1482 std Z+4,__zero_reg__
- 867 0072 1582 std Z+5,__zero_reg__
- 868 0074 1682 std Z+6,__zero_reg__
- 869 0076 1782 std Z+7,__zero_reg__
- 870 0078 C801 movw r24,r16
- 871 007a 0E94 0000 call BankNodePointer
- 872 007e EC01 movw r28,r24
- 873 0080 80E0 ldi r24,0
- 874 0082 90E0 ldi r25,0
- 875 0084 0E94 0000 call time
- 876 0088 6887 std Y+8,r22
- 877 008a 7987 std Y+9,r23
- 878 008c 8A87 std Y+10,r24
- 879 008e 9B87 std Y+11,r25
- 880 /* epilogue start */
- 881 0090 DF91 pop r29
- 882 0092 CF91 pop r28
- 883 0094 1F91 pop r17
- 884 0096 0F91 pop r16
- 885 0098 FF90 pop r15
- 886 009a EF90 pop r14
- 887 009c DF90 pop r13
- 888 009e CF90 pop r12
- 889 00a0 0895 ret
- 890 .size PnutNodeDataRelease, .-PnutNodeDataRelease
- 891 .section .text.PnutNodeRelease,"ax",@progbits
- 892 .type PnutNodeRelease, @function
- 893 PnutNodeRelease:
- 894 0000 CF93 push r28
- 895 0002 DF93 push r29
- 896 /* prologue: function */
- 897 /* frame size = 0 */
- 898 /* stack size = 2 */
- 899 .L__stack_usage = 2
- 900 0004 EC01 movw r28,r24
- 901 0006 0E94 0000 call PnutNodeDataRelease
- 902 000a CE01 movw r24,r28
- 903 /* epilogue start */
- 904 000c DF91 pop r29
- 905 000e CF91 pop r28
- 906 0010 0C94 0000 jmp PnutBlockRelease
- 907 .size PnutNodeRelease, .-PnutNodeRelease
- 908 .section .text.PnutDelete,"ax",@progbits
- 909 .type PnutDelete, @function
- 910 PnutDelete:
- 911 0000 2F92 push r2
- 912 0002 3F92 push r3
- GAS LISTING /tmp/ccr7450G.s page 17
- 913 0004 4F92 push r4
- 914 0006 5F92 push r5
- 915 0008 6F92 push r6
- 916 000a 7F92 push r7
- 917 000c 8F92 push r8
- 918 000e 9F92 push r9
- 919 0010 AF92 push r10
- 920 0012 BF92 push r11
- 921 0014 CF92 push r12
- 922 0016 DF92 push r13
- 923 0018 EF92 push r14
- 924 001a FF92 push r15
- 925 001c 0F93 push r16
- 926 001e 1F93 push r17
- 927 0020 CF93 push r28
- 928 0022 DF93 push r29
- 929 0024 CDB7 in r28,__SP_L__
- 930 0026 DEB7 in r29,__SP_H__
- 931 0028 2C97 sbiw r28,12
- 932 002a 0FB6 in __tmp_reg__,__SREG__
- 933 002c F894 cli
- 934 002e DEBF out __SP_H__,r29
- 935 0030 0FBE out __SREG__,__tmp_reg__
- 936 0032 CDBF out __SP_L__,r28
- 937 /* prologue: function */
- 938 /* frame size = 12 */
- 939 /* stack size = 30 */
- 940 .L__stack_usage = 30
- 941 0034 AE01 movw r20,r28
- 942 0036 4F5F subi r20,-1
- 943 0038 5F4F sbci r21,-1
- 944 003a BC01 movw r22,r24
- 945 003c 8091 0000 lds r24,root
- 946 0040 9091 0000 lds r25,root+1
- 947 0044 0E94 0000 call PnutDirFindPath
- 948 0048 6C01 movw r12,r24
- 949 004a 892B or r24,r25
- 950 004c 01F0 breq .+2
- 951 004e 00C0 rjmp .L76
- 952 0050 AD80 ldd r10,Y+5
- 953 0052 BE80 ldd r11,Y+6
- 954 0054 8B80 ldd r8,Y+3
- 955 0056 9C80 ldd r9,Y+4
- 956 0058 1C86 std Y+12,__zero_reg__
- 957 005a 1B86 std Y+11,__zero_reg__
- 958 005c F501 movw r30,r10
- 959 0:
- 960 005e 0190 ld __tmp_reg__,Z+
- 961 0060 0020 tst __tmp_reg__
- 962 0062 01F4 brne 0b
- 963 0064 3197 sbiw r30,1
- 964 0066 AF01 movw r20,r30
- 965 0068 4A19 sub r20,r10
- 966 006a 5B09 sbc r21,r11
- 967 006c 9E01 movw r18,r28
- 968 006e 255F subi r18,-11
- 969 0070 3F4F sbci r19,-1
- GAS LISTING /tmp/ccr7450G.s page 18
- 970 0072 B501 movw r22,r10
- 971 0074 C401 movw r24,r8
- 972 0076 0E94 0000 call PnutDirFindEntry
- 973 007a 6C01 movw r12,r24
- 974 007c 892B or r24,r25
- 975 007e 01F0 breq .+2
- 976 0080 00C0 rjmp .L77
- 977 0082 EB85 ldd r30,Y+11
- 978 0084 FC85 ldd r31,Y+12
- 979 0086 6080 ld r6,Z
- 980 0088 7180 ldd r7,Z+1
- 981 008a C301 movw r24,r6
- 982 008c 0E94 0000 call BankNodePointer
- 983 0090 FC01 movw r30,r24
- 984 0092 8181 ldd r24,Z+1
- 985 0094 8823 tst r24
- 986 0096 01F0 breq .L78
- 987 .L80:
- 988 0098 8DE0 ldi r24,lo8(13)
- 989 009a C82E mov r12,r24
- 990 009c D12C mov r13,__zero_reg__
- 991 009e 00C0 rjmp .L77
- 992 .L78:
- 993 00a0 8081 ld r24,Z
- 994 00a2 8130 cpi r24,lo8(1)
- 995 00a4 01F0 breq .+2
- 996 00a6 00C0 rjmp .L79
- 997 00a8 8281 ldd r24,Z+2
- 998 00aa 9381 ldd r25,Z+3
- 999 00ac 0397 sbiw r24,3
- 1000 00ae 00F4 brsh .L80
- 1001 00b0 00E0 ldi r16,0
- 1002 00b2 10E0 ldi r17,0
- 1003 00b4 212C mov r2,__zero_reg__
- 1004 00b6 312C mov r3,__zero_reg__
- 1005 00b8 2101 movw r4,r2
- 1006 .L81:
- 1007 00ba C301 movw r24,r6
- 1008 00bc 0E94 0000 call BankNodePointer
- 1009 00c0 FC01 movw r30,r24
- 1010 00c2 8481 ldd r24,Z+4
- 1011 00c4 9581 ldd r25,Z+5
- 1012 00c6 A681 ldd r26,Z+6
- 1013 00c8 B781 ldd r27,Z+7
- 1014 00ca 2816 cp r2,r24
- 1015 00cc 3906 cpc r3,r25
- 1016 00ce 4A06 cpc r4,r26
- 1017 00d0 5B06 cpc r5,r27
- 1018 00d2 00F4 brsh .L101
- 1019 00d4 1887 std Y+8,r17
- 1020 00d6 0F83 std Y+7,r16
- 1021 00d8 E12C mov r14,__zero_reg__
- 1022 00da F12C mov r15,__zero_reg__
- 1023 00dc 8E01 movw r16,r28
- 1024 00de 075F subi r16,-9
- 1025 00e0 1F4F sbci r17,-1
- 1026 00e2 9E01 movw r18,r28
- GAS LISTING /tmp/ccr7450G.s page 19
- 1027 00e4 295F subi r18,-7
- 1028 00e6 3F4F sbci r19,-1
- 1029 00e8 B201 movw r22,r4
- 1030 00ea A101 movw r20,r2
- 1031 00ec C301 movw r24,r6
- 1032 00ee 0E94 0000 call PnutNodeGetDataPtr
- 1033 00f2 892B or r24,r25
- 1034 00f4 01F4 brne .L101
- 1035 00f6 8985 ldd r24,Y+9
- 1036 00f8 9A85 ldd r25,Y+10
- 1037 00fa 0097 sbiw r24,0
- 1038 00fc 01F0 breq .L101
- 1039 00fe 0F81 ldd r16,Y+7
- 1040 0100 1885 ldd r17,Y+8
- 1041 0102 8097 sbiw r24,32
- 1042 0104 00F0 brlo .L83
- 1043 0106 F801 movw r30,r16
- 1044 0108 8281 ldd r24,Z+2
- 1045 010a 8823 tst r24
- 1046 010c 01F0 breq .L83
- 1047 010e 7801 movw r14,r16
- 1048 0110 F3E0 ldi r31,3
- 1049 0112 EF0E add r14,r31
- 1050 0114 F11C adc r15,__zero_reg__
- 1051 0116 60E0 ldi r22,lo8(.LC0)
- 1052 0118 70E0 ldi r23,hi8(.LC0)
- 1053 011a C701 movw r24,r14
- 1054 011c 0E94 0000 call strcmp
- 1055 0120 892B or r24,r25
- 1056 0122 01F0 breq .L83
- 1057 0124 60E0 ldi r22,lo8(.LC1)
- 1058 0126 70E0 ldi r23,hi8(.LC1)
- 1059 0128 C701 movw r24,r14
- 1060 012a 0E94 0000 call strcmp
- 1061 012e 892B or r24,r25
- 1062 0130 01F4 brne .L90
- 1063 .L83:
- 1064 0132 80E2 ldi r24,32
- 1065 0134 280E add r2,r24
- 1066 0136 311C adc r3,__zero_reg__
- 1067 0138 411C adc r4,__zero_reg__
- 1068 013a 511C adc r5,__zero_reg__
- 1069 013c 00C0 rjmp .L81
- 1070 .L90:
- 1071 013e 80E0 ldi r24,0
- 1072 0140 90E0 ldi r25,0
- 1073 0142 00C0 rjmp .L84
- 1074 .L101:
- 1075 0144 81E0 ldi r24,lo8(1)
- 1076 0146 90E0 ldi r25,0
- 1077 .L84:
- 1078 0148 892B or r24,r25
- 1079 014a 01F4 brne .+2
- 1080 014c 00C0 rjmp .L80
- 1081 014e C401 movw r24,r8
- 1082 0150 0E94 0000 call BankNodePointer
- 1083 0154 FC01 movw r30,r24
- GAS LISTING /tmp/ccr7450G.s page 20
- 1084 0156 2281 ldd r18,Z+2
- 1085 0158 3381 ldd r19,Z+3
- 1086 015a 2150 subi r18,1
- 1087 015c 3109 sbc r19,__zero_reg__
- 1088 015e 3383 std Z+3,r19
- 1089 0160 2283 std Z+2,r18
- 1090 .L79:
- 1091 0162 C301 movw r24,r6
- 1092 0164 0E94 0000 call PnutNodeRelease
- 1093 0168 F501 movw r30,r10
- 1094 0:
- 1095 016a 0190 ld __tmp_reg__,Z+
- 1096 016c 0020 tst __tmp_reg__
- 1097 016e 01F4 brne 0b
- 1098 0170 3197 sbiw r30,1
- 1099 0172 AF01 movw r20,r30
- 1100 0174 4A19 sub r20,r10
- 1101 0176 5B09 sbc r21,r11
- 1102 0178 9E01 movw r18,r28
- 1103 017a 255F subi r18,-11
- 1104 017c 3F4F sbci r19,-1
- 1105 017e B501 movw r22,r10
- 1106 0180 C401 movw r24,r8
- 1107 0182 0E94 0000 call PnutDirFindEntry
- 1108 0186 EB85 ldd r30,Y+11
- 1109 0188 FC85 ldd r31,Y+12
- 1110 018a 1282 std Z+2,__zero_reg__
- 1111 .L77:
- 1112 018c C114 cp r12,__zero_reg__
- 1113 018e D104 cpc r13,__zero_reg__
- 1114 0190 01F0 breq .L91
- 1115 .L76:
- 1116 0192 D092 0000 sts errno+1,r13
- 1117 0196 C092 0000 sts errno,r12
- 1118 019a 8FEF ldi r24,lo8(-1)
- 1119 019c 9FEF ldi r25,lo8(-1)
- 1120 019e 00C0 rjmp .L87
- 1121 .L91:
- 1122 01a0 80E0 ldi r24,0
- 1123 01a2 90E0 ldi r25,0
- 1124 .L87:
- 1125 /* epilogue start */
- 1126 01a4 2C96 adiw r28,12
- 1127 01a6 0FB6 in __tmp_reg__,__SREG__
- 1128 01a8 F894 cli
- 1129 01aa DEBF out __SP_H__,r29
- 1130 01ac 0FBE out __SREG__,__tmp_reg__
- 1131 01ae CDBF out __SP_L__,r28
- 1132 01b0 DF91 pop r29
- 1133 01b2 CF91 pop r28
- 1134 01b4 1F91 pop r17
- 1135 01b6 0F91 pop r16
- 1136 01b8 FF90 pop r15
- 1137 01ba EF90 pop r14
- 1138 01bc DF90 pop r13
- 1139 01be CF90 pop r12
- 1140 01c0 BF90 pop r11
- GAS LISTING /tmp/ccr7450G.s page 21
- 1141 01c2 AF90 pop r10
- 1142 01c4 9F90 pop r9
- 1143 01c6 8F90 pop r8
- 1144 01c8 7F90 pop r7
- 1145 01ca 6F90 pop r6
- 1146 01cc 5F90 pop r5
- 1147 01ce 4F90 pop r4
- 1148 01d0 3F90 pop r3
- 1149 01d2 2F90 pop r2
- 1150 01d4 0895 ret
- 1151 .size PnutDelete, .-PnutDelete
- 1152 .section .text.PnutIOCtl,"ax",@progbits
- 1153 .global PnutIOCtl
- 1154 .type PnutIOCtl, @function
- 1155 PnutIOCtl:
- 1156 0000 4F92 push r4
- 1157 0002 5F92 push r5
- 1158 0004 6F92 push r6
- 1159 0006 7F92 push r7
- 1160 0008 8F92 push r8
- 1161 000a 9F92 push r9
- 1162 000c AF92 push r10
- 1163 000e BF92 push r11
- 1164 0010 EF92 push r14
- 1165 0012 FF92 push r15
- 1166 0014 0F93 push r16
- 1167 0016 1F93 push r17
- 1168 0018 CF93 push r28
- 1169 001a DF93 push r29
- 1170 001c CDB7 in r28,__SP_L__
- 1171 001e DEB7 in r29,__SP_H__
- 1172 0020 2897 sbiw r28,8
- 1173 0022 0FB6 in __tmp_reg__,__SREG__
- 1174 0024 F894 cli
- 1175 0026 DEBF out __SP_H__,r29
- 1176 0028 0FBE out __SREG__,__tmp_reg__
- 1177 002a CDBF out __SP_L__,r28
- 1178 /* prologue: function */
- 1179 /* frame size = 8 */
- 1180 /* stack size = 22 */
- 1181 .L__stack_usage = 22
- 1182 002c 4C01 movw r8,r24
- 1183 002e 7A01 movw r14,r20
- 1184 0030 6431 cpi r22,20
- 1185 0032 21E1 ldi r18,17
- 1186 0034 7207 cpc r23,r18
- 1187 0036 01F4 brne .+2
- 1188 0038 00C0 rjmp .L104
- 1189 003a 04F4 brge .L105
- 1190 003c 6131 cpi r22,17
- 1191 003e 81E1 ldi r24,17
- 1192 0040 7807 cpc r23,r24
- 1193 0042 01F4 brne .+2
- 1194 0044 00C0 rjmp .L106
- 1195 0046 04F4 brge .L107
- 1196 0048 6130 cpi r22,1
- 1197 004a 7141 sbci r23,17
- GAS LISTING /tmp/ccr7450G.s page 22
- 1198 004c 01F0 breq .L108
- 1199 004e 00C0 rjmp .L158
- 1200 .L107:
- 1201 0050 6231 cpi r22,18
- 1202 0052 E1E1 ldi r30,17
- 1203 0054 7E07 cpc r23,r30
- 1204 0056 01F4 brne .+2
- 1205 0058 00C0 rjmp .L114
- 1206 005a 6331 cpi r22,19
- 1207 005c 7141 sbci r23,17
- 1208 005e 01F4 brne .+2
- 1209 0060 00C0 rjmp .L110
- 1210 0062 00C0 rjmp .L158
- 1211 .L105:
- 1212 0064 6132 cpi r22,33
- 1213 0066 21E1 ldi r18,17
- 1214 0068 7207 cpc r23,r18
- 1215 006a 01F4 brne .+2
- 1216 006c 00C0 rjmp .L111
- 1217 006e 04F4 brge .L112
- 1218 0070 6531 cpi r22,21
- 1219 0072 7141 sbci r23,17
- 1220 0074 01F0 breq .+2
- 1221 0076 00C0 rjmp .L158
- 1222 0078 DA01 movw r26,r20
- 1223 007a ED91 ld r30,X+
- 1224 007c FC91 ld r31,X
- 1225 007e 1197 sbiw r26,1
- 1226 0080 A280 ldd r10,Z+2
- 1227 0082 B380 ldd r11,Z+3
- 1228 0084 1296 adiw r26,2
- 1229 0086 8D90 ld r8,X+
- 1230 0088 9C90 ld r9,X
- 1231 008a 1397 sbiw r26,2+1
- 1232 008c F401 movw r30,r8
- 1233 008e 1086 std Z+8,__zero_reg__
- 1234 0090 D501 movw r26,r10
- 1235 0092 1296 adiw r26,2
- 1236 0094 4D90 ld r4,X+
- 1237 0096 5D90 ld r5,X+
- 1238 0098 6D90 ld r6,X+
- 1239 009a 7C90 ld r7,X
- 1240 009c 1597 sbiw r26,2+3
- 1241 009e E12C mov r14,__zero_reg__
- 1242 00a0 F12C mov r15,__zero_reg__
- 1243 00a2 0FEF ldi r16,lo8(-1)
- 1244 00a4 1FEF ldi r17,lo8(-1)
- 1245 00a6 00C0 rjmp .L126
- 1246 .L112:
- 1247 00a8 6232 cpi r22,34
- 1248 00aa A1E1 ldi r26,17
- 1249 00ac 7A07 cpc r23,r26
- 1250 00ae 01F4 brne .+2
- 1251 00b0 00C0 rjmp .L114
- 1252 00b2 6332 cpi r22,35
- 1253 00b4 7141 sbci r23,17
- 1254 00b6 01F4 brne .+2
- GAS LISTING /tmp/ccr7450G.s page 23
- 1255 00b8 00C0 rjmp .L115
- 1256 00ba 00C0 rjmp .L158
- 1257 .L108:
- 1258 00bc FA01 movw r30,r20
- 1259 00be A280 ldd r10,Z+2
- 1260 00c0 B380 ldd r11,Z+3
- 1261 00c2 6081 ld r22,Z
- 1262 00c4 7181 ldd r23,Z+1
- 1263 00c6 AE01 movw r20,r28
- 1264 00c8 4F5F subi r20,-1
- 1265 00ca 5F4F sbci r21,-1
- 1266 00cc 8091 0000 lds r24,root
- 1267 00d0 9091 0000 lds r25,root+1
- 1268 00d4 0E94 0000 call PnutDirFindPath
- 1269 00d8 8C01 movw r16,r24
- 1270 00da 892B or r24,r25
- 1271 00dc 01F0 breq .+2
- 1272 00de 00C0 rjmp .L148
- 1273 00e0 8981 ldd r24,Y+1
- 1274 00e2 9A81 ldd r25,Y+2
- 1275 00e4 0E94 0000 call BankNodePointer
- 1276 00e8 DC01 movw r26,r24
- 1277 00ea 8C91 ld r24,X
- 1278 00ec F501 movw r30,r10
- 1279 00ee 8283 std Z+2,r24
- 1280 00f0 8981 ldd r24,Y+1
- 1281 00f2 9A81 ldd r25,Y+2
- 1282 00f4 9183 std Z+1,r25
- 1283 00f6 8083 st Z,r24
- 1284 00f8 0E94 0000 call BankNodePointer
- 1285 00fc DC01 movw r26,r24
- 1286 00fe 1296 adiw r26,2
- 1287 0100 8D91 ld r24,X+
- 1288 0102 9C91 ld r25,X
- 1289 0104 1397 sbiw r26,2+1
- 1290 0106 F501 movw r30,r10
- 1291 0108 9483 std Z+4,r25
- 1292 010a 8383 std Z+3,r24
- 1293 010c 8981 ldd r24,Y+1
- 1294 010e 9A81 ldd r25,Y+2
- 1295 0110 0E94 0000 call BankNodePointer
- 1296 0114 FC01 movw r30,r24
- 1297 0116 8481 ldd r24,Z+4
- 1298 0118 9581 ldd r25,Z+5
- 1299 011a A681 ldd r26,Z+6
- 1300 011c B781 ldd r27,Z+7
- 1301 011e F501 movw r30,r10
- 1302 0120 8583 std Z+5,r24
- 1303 0122 9683 std Z+6,r25
- 1304 0124 A783 std Z+7,r26
- 1305 0126 B087 std Z+8,r27
- 1306 0128 8981 ldd r24,Y+1
- 1307 012a 9A81 ldd r25,Y+2
- 1308 012c 0E94 0000 call BankNodePointer
- 1309 0130 FC01 movw r30,r24
- 1310 0132 8085 ldd r24,Z+8
- 1311 0134 9185 ldd r25,Z+9
- GAS LISTING /tmp/ccr7450G.s page 24
- 1312 0136 A285 ldd r26,Z+10
- 1313 0138 B385 ldd r27,Z+11
- 1314 013a F501 movw r30,r10
- 1315 013c 8187 std Z+9,r24
- 1316 013e 9287 std Z+10,r25
- 1317 0140 A387 std Z+11,r26
- 1318 0142 B487 std Z+12,r27
- 1319 0144 00C0 rjmp .L148
- 1320 .L106:
- 1321 0146 AE01 movw r20,r28
- 1322 0148 4F5F subi r20,-1
- 1323 014a 5F4F sbci r21,-1
- 1324 014c B701 movw r22,r14
- 1325 014e 8091 0000 lds r24,root
- 1326 0152 9091 0000 lds r25,root+1
- 1327 0156 0E94 0000 call PnutDirFindPath
- 1328 015a 8C01 movw r16,r24
- 1329 015c 0097 sbiw r24,0
- 1330 015e 01F4 brne .+2
- 1331 0160 00C0 rjmp .L137
- 1332 0162 0297 sbiw r24,2
- 1333 0164 01F0 breq .+2
- 1334 0166 00C0 rjmp .L117
- 1335 0168 8D81 ldd r24,Y+5
- 1336 016a 9E81 ldd r25,Y+6
- 1337 016c 892B or r24,r25
- 1338 016e 01F4 brne .+2
- 1339 0170 00C0 rjmp .L117
- 1340 0172 81E0 ldi r24,lo8(1)
- 1341 0174 0E94 0000 call PnutNodeAlloc
- 1342 0178 7C01 movw r14,r24
- 1343 017a 97FD sbrc r25,7
- 1344 017c 00C0 rjmp .L138
- 1345 017e AC01 movw r20,r24
- 1346 0180 60E0 ldi r22,lo8(.LC0)
- 1347 0182 70E0 ldi r23,hi8(.LC0)
- 1348 0184 0E94 0000 call PnutDirAddEntry
- 1349 0188 8C01 movw r16,r24
- 1350 018a 892B or r24,r25
- 1351 018c 01F4 brne .L156
- 1352 018e 4B81 ldd r20,Y+3
- 1353 0190 5C81 ldd r21,Y+4
- 1354 0192 60E0 ldi r22,lo8(.LC1)
- 1355 0194 70E0 ldi r23,hi8(.LC1)
- 1356 0196 C701 movw r24,r14
- 1357 0198 0E94 0000 call PnutDirAddEntry
- 1358 019c 8C01 movw r16,r24
- 1359 019e 892B or r24,r25
- 1360 01a0 01F4 brne .L156
- 1361 01a2 6D81 ldd r22,Y+5
- 1362 01a4 7E81 ldd r23,Y+6
- 1363 01a6 A701 movw r20,r14
- 1364 01a8 8B81 ldd r24,Y+3
- 1365 01aa 9C81 ldd r25,Y+4
- 1366 01ac 0E94 0000 call PnutDirAddEntry
- 1367 01b0 8C01 movw r16,r24
- 1368 01b2 892B or r24,r25
- GAS LISTING /tmp/ccr7450G.s page 25
- 1369 01b4 01F4 brne .+2
- 1370 01b6 00C0 rjmp .L157
- 1371 .L156:
- 1372 01b8 C701 movw r24,r14
- 1373 01ba 0E94 0000 call PnutNodeRelease
- 1374 01be 00C0 rjmp .L117
- 1375 .L110:
- 1376 01c0 DA01 movw r26,r20
- 1377 01c2 1296 adiw r26,2
- 1378 01c4 6D91 ld r22,X+
- 1379 01c6 7C91 ld r23,X
- 1380 01c8 1397 sbiw r26,2+1
- 1381 01ca AE01 movw r20,r28
- 1382 01cc 4F5F subi r20,-1
- 1383 01ce 5F4F sbci r21,-1
- 1384 01d0 8091 0000 lds r24,root
- 1385 01d4 9091 0000 lds r25,root+1
- 1386 01d8 0E94 0000 call PnutDirFindPath
- 1387 01dc 8C01 movw r16,r24
- 1388 01de 892B or r24,r25
- 1389 01e0 01F0 breq .+2
- 1390 01e2 00C0 rjmp .L117
- 1391 01e4 8981 ldd r24,Y+1
- 1392 01e6 9A81 ldd r25,Y+2
- 1393 01e8 0E94 0000 call BankNodePointer
- 1394 01ec FC01 movw r30,r24
- 1395 01ee 8081 ld r24,Z
- 1396 01f0 8130 cpi r24,lo8(1)
- 1397 01f2 01F0 breq .L123
- 1398 01f4 84E1 ldi r24,lo8(20)
- 1399 01f6 90E0 ldi r25,0
- 1400 01f8 9093 0000 sts errno+1,r25
- 1401 01fc 8093 0000 sts errno,r24
- 1402 0200 00C0 rjmp .L158
- 1403 .L123:
- 1404 0202 88E0 ldi r24,lo8(8)
- 1405 0204 90E0 ldi r25,0
- 1406 0206 0E94 0000 call malloc
- 1407 020a 5C01 movw r10,r24
- 1408 020c 0097 sbiw r24,0
- 1409 020e 01F4 brne .+2
- 1410 0210 00C0 rjmp .L158
- 1411 0212 6980 ldd r6,Y+1
- 1412 0214 7A80 ldd r7,Y+2
- 1413 0216 DC01 movw r26,r24
- 1414 0218 6D92 st X+,r6
- 1415 021a 7C92 st X,r7
- 1416 021c FC01 movw r30,r24
- 1417 021e 1282 std Z+2,__zero_reg__
- 1418 0220 1382 std Z+3,__zero_reg__
- 1419 0222 1482 std Z+4,__zero_reg__
- 1420 0224 1582 std Z+5,__zero_reg__
- 1421 0226 84E0 ldi r24,lo8(4)
- 1422 0228 90E0 ldi r25,0
- 1423 022a 0E94 0000 call malloc
- 1424 022e D701 movw r26,r14
- 1425 0230 8D93 st X+,r24
- GAS LISTING /tmp/ccr7450G.s page 26
- 1426 0232 9C93 st X,r25
- 1427 0234 0097 sbiw r24,0
- 1428 0236 01F4 brne .L124
- 1429 0238 C501 movw r24,r10
- 1430 023a 0E94 0000 call free
- 1431 023e 00C0 rjmp .L158
- 1432 .L124:
- 1433 0240 FC01 movw r30,r24
- 1434 0242 9182 std Z+1,r9
- 1435 0244 8082 st Z,r8
- 1436 0246 B382 std Z+3,r11
- 1437 0248 A282 std Z+2,r10
- 1438 024a C301 movw r24,r6
- 1439 024c 0E94 0000 call BankNodePointer
- 1440 0250 FC01 movw r30,r24
- 1441 0252 9181 ldd r25,Z+1
- 1442 0254 9F5F subi r25,lo8(-(1))
- 1443 0256 9183 std Z+1,r25
- 1444 0258 00C0 rjmp .L148
- 1445 .L104:
- 1446 025a 4115 cp r20,__zero_reg__
- 1447 025c 5105 cpc r21,__zero_reg__
- 1448 025e 01F4 brne .+2
- 1449 0260 00C0 rjmp .L142
- 1450 0262 DA01 movw r26,r20
- 1451 0264 ED91 ld r30,X+
- 1452 0266 FC91 ld r31,X
- 1453 0268 3097 sbiw r30,0
- 1454 026a 01F4 brne .+2
- 1455 026c 00C0 rjmp .L142
- 1456 026e 0281 ldd r16,Z+2
- 1457 0270 1381 ldd r17,Z+3
- 1458 0272 0115 cp r16,__zero_reg__
- 1459 0274 1105 cpc r17,__zero_reg__
- 1460 0276 01F0 breq .L125
- 1461 0278 F801 movw r30,r16
- 1462 027a 8081 ld r24,Z
- 1463 027c 9181 ldd r25,Z+1
- 1464 027e 0E94 0000 call BankNodePointer
- 1465 0282 FC01 movw r30,r24
- 1466 0284 9181 ldd r25,Z+1
- 1467 0286 9150 subi r25,lo8(-(-1))
- 1468 0288 9183 std Z+1,r25
- 1469 028a C801 movw r24,r16
- 1470 028c 0E94 0000 call free
- 1471 .L125:
- 1472 0290 D701 movw r26,r14
- 1473 0292 8D91 ld r24,X+
- 1474 0294 9C91 ld r25,X
- 1475 0296 0E94 0000 call free
- 1476 .L157:
- 1477 029a 00E0 ldi r16,0
- 1478 029c 10E0 ldi r17,0
- 1479 029e 00C0 rjmp .L148
- 1480 .L130:
- 1481 02a0 FA82 std Y+2,r15
- 1482 02a2 E982 std Y+1,r14
- GAS LISTING /tmp/ccr7450G.s page 27
- 1483 02a4 E12C mov r14,__zero_reg__
- 1484 02a6 F12C mov r15,__zero_reg__
- 1485 02a8 8E01 movw r16,r28
- 1486 02aa 095F subi r16,-7
- 1487 02ac 1F4F sbci r17,-1
- 1488 02ae 9E01 movw r18,r28
- 1489 02b0 2F5F subi r18,-1
- 1490 02b2 3F4F sbci r19,-1
- 1491 02b4 B301 movw r22,r6
- 1492 02b6 A201 movw r20,r4
- 1493 02b8 F501 movw r30,r10
- 1494 02ba 8081 ld r24,Z
- 1495 02bc 9181 ldd r25,Z+1
- 1496 02be 0E94 0000 call PnutNodeGetDataPtr
- 1497 02c2 8C01 movw r16,r24
- 1498 02c4 892B or r24,r25
- 1499 02c6 01F0 breq .+2
- 1500 02c8 00C0 rjmp .L158
- 1501 02ca 8F81 ldd r24,Y+7
- 1502 02cc 9885 ldd r25,Y+8
- 1503 02ce 0097 sbiw r24,0
- 1504 02d0 01F4 brne .+2
- 1505 02d2 00C0 rjmp .L158
- 1506 02d4 E980 ldd r14,Y+1
- 1507 02d6 FA80 ldd r15,Y+2
- 1508 02d8 F0E2 ldi r31,32
- 1509 02da 4F0E add r4,r31
- 1510 02dc 511C adc r5,__zero_reg__
- 1511 02de 611C adc r6,__zero_reg__
- 1512 02e0 711C adc r7,__zero_reg__
- 1513 02e2 D501 movw r26,r10
- 1514 02e4 1296 adiw r26,2
- 1515 02e6 4D92 st X+,r4
- 1516 02e8 5D92 st X+,r5
- 1517 02ea 6D92 st X+,r6
- 1518 02ec 7C92 st X,r7
- 1519 02ee 1597 sbiw r26,2+3
- 1520 02f0 8097 sbiw r24,32
- 1521 02f2 00F4 brsh .L159
- 1522 .L126:
- 1523 02f4 F501 movw r30,r10
- 1524 02f6 8081 ld r24,Z
- 1525 02f8 9181 ldd r25,Z+1
- 1526 02fa 0E94 0000 call BankNodePointer
- 1527 02fe FC01 movw r30,r24
- 1528 0300 8481 ldd r24,Z+4
- 1529 0302 9581 ldd r25,Z+5
- 1530 0304 A681 ldd r26,Z+6
- 1531 0306 B781 ldd r27,Z+7
- 1532 0308 4816 cp r4,r24
- 1533 030a 5906 cpc r5,r25
- 1534 030c 6A06 cpc r6,r26
- 1535 030e 7B06 cpc r7,r27
- 1536 0310 00F0 brlo .L130
- 1537 0312 00C0 rjmp .L148
- 1538 .L159:
- 1539 0314 F701 movw r30,r14
- GAS LISTING /tmp/ccr7450G.s page 28
- 1540 0316 8281 ldd r24,Z+2
- 1541 0318 8823 tst r24
- 1542 031a 01F0 breq .L126
- 1543 031c 88E0 ldi r24,lo8(8)
- 1544 031e 91E0 ldi r25,lo8(1)
- 1545 0320 D401 movw r26,r8
- 1546 0322 FC01 movw r30,r24
- 1547 0:
- 1548 0324 1D92 st X+,__zero_reg__
- 1549 0326 3197 sbiw r30,1
- 1550 0328 01F4 brne 0b
- 1551 032a D701 movw r26,r14
- 1552 032c 8D91 ld r24,X+
- 1553 032e 9C91 ld r25,X
- 1554 0330 092E mov __tmp_reg__,r25
- 1555 0332 000C lsl r0
- 1556 0334 AA0B sbc r26,r26
- 1557 0336 BB0B sbc r27,r27
- 1558 0338 F401 movw r30,r8
- 1559 033a 8083 st Z,r24
- 1560 033c 9183 std Z+1,r25
- 1561 033e A283 std Z+2,r26
- 1562 0340 B383 std Z+3,r27
- 1563 0342 B701 movw r22,r14
- 1564 0344 6D5F subi r22,-3
- 1565 0346 7F4F sbci r23,-1
- 1566 0348 FB01 movw r30,r22
- 1567 0:
- 1568 034a 0190 ld __tmp_reg__,Z+
- 1569 034c 0020 tst __tmp_reg__
- 1570 034e 01F4 brne 0b
- 1571 0350 3197 sbiw r30,1
- 1572 0352 E61B sub r30,r22
- 1573 0354 F70B sbc r31,r23
- 1574 0356 D401 movw r26,r8
- 1575 0358 1796 adiw r26,7
- 1576 035a EC93 st X,r30
- 1577 035c C401 movw r24,r8
- 1578 035e 0896 adiw r24,8
- 1579 0360 0E94 0000 call strcpy
- 1580 0364 00C0 rjmp .L148
- 1581 .L111:
- 1582 0366 DA01 movw r26,r20
- 1583 0368 1296 adiw r26,2
- 1584 036a 0D91 ld r16,X+
- 1585 036c 1C91 ld r17,X
- 1586 036e 1397 sbiw r26,2+1
- 1587 0370 ED90 ld r14,X+
- 1588 0372 FC90 ld r15,X
- 1589 0374 F701 movw r30,r14
- 1590 0376 8081 ld r24,Z
- 1591 0378 9181 ldd r25,Z+1
- 1592 037a 0E94 0000 call BankNodePointer
- 1593 037e DC01 movw r26,r24
- 1594 0380 8C91 ld r24,X
- 1595 0382 F801 movw r30,r16
- 1596 0384 8283 std Z+2,r24
- GAS LISTING /tmp/ccr7450G.s page 29
- 1597 0386 D701 movw r26,r14
- 1598 0388 8D91 ld r24,X+
- 1599 038a 9C91 ld r25,X
- 1600 038c 9183 std Z+1,r25
- 1601 038e 8083 st Z,r24
- 1602 0390 0E94 0000 call BankNodePointer
- 1603 0394 FC01 movw r30,r24
- 1604 0396 8281 ldd r24,Z+2
- 1605 0398 9381 ldd r25,Z+3
- 1606 039a D801 movw r26,r16
- 1607 039c 1496 adiw r26,3+1
- 1608 039e 9C93 st X,r25
- 1609 03a0 8E93 st -X,r24
- 1610 03a2 1397 sbiw r26,3
- 1611 03a4 F701 movw r30,r14
- 1612 03a6 8081 ld r24,Z
- 1613 03a8 9181 ldd r25,Z+1
- 1614 03aa 0E94 0000 call BankNodePointer
- 1615 03ae FC01 movw r30,r24
- 1616 03b0 8481 ldd r24,Z+4
- 1617 03b2 9581 ldd r25,Z+5
- 1618 03b4 A681 ldd r26,Z+6
- 1619 03b6 B781 ldd r27,Z+7
- 1620 03b8 F801 movw r30,r16
- 1621 03ba 8583 std Z+5,r24
- 1622 03bc 9683 std Z+6,r25
- 1623 03be A783 std Z+7,r26
- 1624 03c0 B087 std Z+8,r27
- 1625 03c2 D701 movw r26,r14
- 1626 03c4 8D91 ld r24,X+
- 1627 03c6 9C91 ld r25,X
- 1628 03c8 0E94 0000 call BankNodePointer
- 1629 03cc FC01 movw r30,r24
- 1630 03ce 8085 ldd r24,Z+8
- 1631 03d0 9185 ldd r25,Z+9
- 1632 03d2 A285 ldd r26,Z+10
- 1633 03d4 B385 ldd r27,Z+11
- 1634 03d6 F801 movw r30,r16
- 1635 03d8 8187 std Z+9,r24
- 1636 03da 9287 std Z+10,r25
- 1637 03dc A387 std Z+11,r26
- 1638 03de B487 std Z+12,r27
- 1639 03e0 00C0 rjmp .L157
- 1640 .L114:
- 1641 03e2 C701 movw r24,r14
- 1642 03e4 0E94 0000 call PnutDelete
- 1643 03e8 8C01 movw r16,r24
- 1644 03ea 00C0 rjmp .L148
- 1645 .L115:
- 1646 03ec DA01 movw r26,r20
- 1647 03ee 1296 adiw r26,2
- 1648 03f0 6D90 ld r6,X+
- 1649 03f2 7C90 ld r7,X
- 1650 03f4 1397 sbiw r26,2+1
- 1651 03f6 0D91 ld r16,X+
- 1652 03f8 1C91 ld r17,X
- 1653 03fa 1197 sbiw r26,1
- GAS LISTING /tmp/ccr7450G.s page 30
- 1654 03fc F301 movw r30,r6
- 1655 03fe 8080 ld r8,Z
- 1656 0400 9180 ldd r9,Z+1
- 1657 0402 A280 ldd r10,Z+2
- 1658 0404 B380 ldd r11,Z+3
- 1659 0406 1496 adiw r26,4
- 1660 0408 8D91 ld r24,X+
- 1661 040a 9C91 ld r25,X
- 1662 040c 1597 sbiw r26,4+1
- 1663 040e 8130 cpi r24,1
- 1664 0410 9105 cpc r25,__zero_reg__
- 1665 0412 01F0 breq .L132
- 1666 0414 0297 sbiw r24,2
- 1667 0416 01F4 brne .L131
- 1668 0418 D801 movw r26,r16
- 1669 041a 8D91 ld r24,X+
- 1670 041c 9C91 ld r25,X
- 1671 041e 0E94 0000 call BankNodePointer
- 1672 0422 FC01 movw r30,r24
- 1673 0424 8481 ldd r24,Z+4
- 1674 0426 9581 ldd r25,Z+5
- 1675 0428 A681 ldd r26,Z+6
- 1676 042a B781 ldd r27,Z+7
- 1677 042c 00C0 rjmp .L155
- 1678 .L132:
- 1679 042e F801 movw r30,r16
- 1680 0430 8281 ldd r24,Z+2
- 1681 0432 9381 ldd r25,Z+3
- 1682 0434 A481 ldd r26,Z+4
- 1683 0436 B581 ldd r27,Z+5
- 1684 .L155:
- 1685 0438 880E add r8,r24
- 1686 043a 991E adc r9,r25
- 1687 043c AA1E adc r10,r26
- 1688 043e BB1E adc r11,r27
- 1689 .L131:
- 1690 0440 B7FC sbrc r11,7
- 1691 0442 00C0 rjmp .L158
- 1692 0444 D801 movw r26,r16
- 1693 0446 8D91 ld r24,X+
- 1694 0448 9C91 ld r25,X
- 1695 044a 0E94 0000 call BankNodePointer
- 1696 044e FC01 movw r30,r24
- 1697 0450 8481 ldd r24,Z+4
- 1698 0452 9581 ldd r25,Z+5
- 1699 0454 A681 ldd r26,Z+6
- 1700 0456 B781 ldd r27,Z+7
- 1701 0458 8815 cp r24,r8
- 1702 045a 9905 cpc r25,r9
- 1703 045c AA05 cpc r26,r10
- 1704 045e BB05 cpc r27,r11
- 1705 0460 04F0 brlt .L158
- 1706 0462 D801 movw r26,r16
- 1707 0464 1296 adiw r26,2
- 1708 0466 8D92 st X+,r8
- 1709 0468 9D92 st X+,r9
- 1710 046a AD92 st X+,r10
- GAS LISTING /tmp/ccr7450G.s page 31
- 1711 046c BC92 st X,r11
- 1712 046e 1597 sbiw r26,2+3
- 1713 0470 F301 movw r30,r6
- 1714 0472 8082 st Z,r8
- 1715 0474 9182 std Z+1,r9
- 1716 0476 A282 std Z+2,r10
- 1717 0478 B382 std Z+3,r11
- 1718 047a 00C0 rjmp .L158
- 1719 .L142:
- 1720 047c 06E1 ldi r16,lo8(22)
- 1721 047e 10E0 ldi r17,0
- 1722 0480 00C0 rjmp .L148
- 1723 .L137:
- 1724 0482 01E1 ldi r16,lo8(17)
- 1725 0484 10E0 ldi r17,0
- 1726 0486 00C0 rjmp .L117
- 1727 .L138:
- 1728 0488 0CE1 ldi r16,lo8(28)
- 1729 048a 10E0 ldi r17,0
- 1730 .L117:
- 1731 048c 1093 0000 sts errno+1,r17
- 1732 0490 0093 0000 sts errno,r16
- 1733 .L158:
- 1734 0494 0FEF ldi r16,lo8(-1)
- 1735 0496 1FEF ldi r17,lo8(-1)
- 1736 .L148:
- 1737 0498 C801 movw r24,r16
- 1738 /* epilogue start */
- 1739 049a 2896 adiw r28,8
- 1740 049c 0FB6 in __tmp_reg__,__SREG__
- 1741 049e F894 cli
- 1742 04a0 DEBF out __SP_H__,r29
- 1743 04a2 0FBE out __SREG__,__tmp_reg__
- 1744 04a4 CDBF out __SP_L__,r28
- 1745 04a6 DF91 pop r29
- 1746 04a8 CF91 pop r28
- 1747 04aa 1F91 pop r17
- 1748 04ac 0F91 pop r16
- 1749 04ae FF90 pop r15
- 1750 04b0 EF90 pop r14
- 1751 04b2 BF90 pop r11
- 1752 04b4 AF90 pop r10
- 1753 04b6 9F90 pop r9
- 1754 04b8 8F90 pop r8
- 1755 04ba 7F90 pop r7
- 1756 04bc 6F90 pop r6
- 1757 04be 5F90 pop r5
- 1758 04c0 4F90 pop r4
- 1759 04c2 0895 ret
- 1760 .size PnutIOCtl, .-PnutIOCtl
- 1761 .section .text.PnutFileSize,"ax",@progbits
- 1762 .type PnutFileSize, @function
- 1763 PnutFileSize:
- 1764 /* prologue: function */
- 1765 /* frame size = 0 */
- 1766 /* stack size = 0 */
- 1767 .L__stack_usage = 0
- GAS LISTING /tmp/ccr7450G.s page 32
- 1768 0000 DC01 movw r26,r24
- 1769 0002 1296 adiw r26,2
- 1770 0004 ED91 ld r30,X+
- 1771 0006 FC91 ld r31,X
- 1772 0008 1397 sbiw r26,2+1
- 1773 000a 8081 ld r24,Z
- 1774 000c 9181 ldd r25,Z+1
- 1775 000e 0E94 0000 call BankNodePointer
- 1776 0012 FC01 movw r30,r24
- 1777 0014 6481 ldd r22,Z+4
- 1778 0016 7581 ldd r23,Z+5
- 1779 0018 8681 ldd r24,Z+6
- 1780 001a 9781 ldd r25,Z+7
- 1781 001c 0895 ret
- 1782 .size PnutFileSize, .-PnutFileSize
- 1783 .section .text.PnutFileClose,"ax",@progbits
- 1784 .type PnutFileClose, @function
- 1785 PnutFileClose:
- 1786 0000 0F93 push r16
- 1787 0002 1F93 push r17
- 1788 0004 CF93 push r28
- 1789 0006 DF93 push r29
- 1790 /* prologue: function */
- 1791 /* frame size = 0 */
- 1792 /* stack size = 4 */
- 1793 .L__stack_usage = 4
- 1794 0008 EC01 movw r28,r24
- 1795 000a CF3F cpi r28,-1
- 1796 000c 8FEF ldi r24,-1
- 1797 000e D807 cpc r29,r24
- 1798 0010 01F0 breq .L164
- 1799 0012 0A81 ldd r16,Y+2
- 1800 0014 1B81 ldd r17,Y+3
- 1801 0016 0115 cp r16,__zero_reg__
- 1802 0018 1105 cpc r17,__zero_reg__
- 1803 001a 01F0 breq .L163
- 1804 001c F801 movw r30,r16
- 1805 001e 8081 ld r24,Z
- 1806 0020 9181 ldd r25,Z+1
- 1807 0022 0E94 0000 call BankNodePointer
- 1808 0026 FC01 movw r30,r24
- 1809 0028 9181 ldd r25,Z+1
- 1810 002a 9150 subi r25,lo8(-(-1))
- 1811 002c 9183 std Z+1,r25
- 1812 002e C801 movw r24,r16
- 1813 0030 0E94 0000 call free
- 1814 .L163:
- 1815 0034 CE01 movw r24,r28
- 1816 0036 0E94 0000 call free
- 1817 003a 80E0 ldi r24,0
- 1818 003c 90E0 ldi r25,0
- 1819 003e 00C0 rjmp .L162
- 1820 .L164:
- 1821 0040 86E1 ldi r24,lo8(22)
- 1822 0042 90E0 ldi r25,0
- 1823 .L162:
- 1824 /* epilogue start */
- GAS LISTING /tmp/ccr7450G.s page 33
- 1825 0044 DF91 pop r29
- 1826 0046 CF91 pop r28
- 1827 0048 1F91 pop r17
- 1828 004a 0F91 pop r16
- 1829 004c 0895 ret
- 1830 .size PnutFileClose, .-PnutFileClose
- 1831 .section .text.PnutFileOpen,"ax",@progbits
- 1832 .type PnutFileOpen, @function
- 1833 PnutFileOpen:
- 1834 0000 AF92 push r10
- 1835 0002 BF92 push r11
- 1836 0004 CF92 push r12
- 1837 0006 DF92 push r13
- 1838 0008 EF92 push r14
- 1839 000a FF92 push r15
- 1840 000c 0F93 push r16
- 1841 000e 1F93 push r17
- 1842 0010 CF93 push r28
- 1843 0012 DF93 push r29
- 1844 0014 00D0 rcall .
- 1845 0016 00D0 rcall .
- 1846 0018 CDB7 in r28,__SP_L__
- 1847 001a DEB7 in r29,__SP_H__
- 1848 /* prologue: function */
- 1849 /* frame size = 6 */
- 1850 /* stack size = 16 */
- 1851 .L__stack_usage = 16
- 1852 001c 5C01 movw r10,r24
- 1853 001e 6A01 movw r12,r20
- 1854 0020 AE01 movw r20,r28
- 1855 0022 4F5F subi r20,-1
- 1856 0024 5F4F sbci r21,-1
- 1857 0026 8091 0000 lds r24,root
- 1858 002a 9091 0000 lds r25,root+1
- 1859 002e 0E94 0000 call PnutDirFindPath
- 1860 0032 0097 sbiw r24,0
- 1861 0034 01F4 brne .L169
- 1862 0036 8981 ldd r24,Y+1
- 1863 0038 9A81 ldd r25,Y+2
- 1864 003a 0E94 0000 call BankNodePointer
- 1865 003e FC01 movw r30,r24
- 1866 0040 8081 ld r24,Z
- 1867 0042 8823 tst r24
- 1868 0044 01F0 breq .L170
- 1869 0046 85E1 ldi r24,lo8(21)
- 1870 0048 90E0 ldi r25,0
- 1871 004a 00C0 rjmp .L196
- 1872 .L170:
- 1873 004c C601 movw r24,r12
- 1874 004e 8827 clr r24
- 1875 0050 9570 andi r25,5
- 1876 0052 8115 cp r24,__zero_reg__
- 1877 0054 9540 sbci r25,5
- 1878 0056 01F4 brne .L172
- 1879 0058 81E1 ldi r24,lo8(17)
- 1880 005a 90E0 ldi r25,0
- 1881 .L196:
- GAS LISTING /tmp/ccr7450G.s page 34
- 1882 005c 9093 0000 sts errno+1,r25
- 1883 0060 8093 0000 sts errno,r24
- 1884 0064 00C0 rjmp .L171
- 1885 .L172:
- 1886 0066 0981 ldd r16,Y+1
- 1887 0068 1A81 ldd r17,Y+2
- 1888 006a D1FE sbrs r13,1
- 1889 006c 00C0 rjmp .L173
- 1890 006e C801 movw r24,r16
- 1891 0070 0E94 0000 call PnutNodeDataRelease
- 1892 0074 00C0 rjmp .L173
- 1893 .L169:
- 1894 0076 0297 sbiw r24,2
- 1895 0078 01F0 breq .+2
- 1896 007a 00C0 rjmp .L171
- 1897 007c 8D81 ldd r24,Y+5
- 1898 007e 9E81 ldd r25,Y+6
- 1899 0080 892B or r24,r25
- 1900 0082 01F4 brne .+2
- 1901 0084 00C0 rjmp .L171
- 1902 0086 D0FE sbrs r13,0
- 1903 0088 00C0 rjmp .L171
- 1904 008a 80E0 ldi r24,0
- 1905 008c 0E94 0000 call PnutNodeAlloc
- 1906 0090 8C01 movw r16,r24
- 1907 0092 97FF sbrs r25,7
- 1908 0094 00C0 rjmp .L174
- 1909 0096 8CE1 ldi r24,lo8(28)
- 1910 0098 90E0 ldi r25,0
- 1911 009a 00C0 rjmp .L196
- 1912 .L174:
- 1913 009c 6D81 ldd r22,Y+5
- 1914 009e 7E81 ldd r23,Y+6
- 1915 00a0 AC01 movw r20,r24
- 1916 00a2 8B81 ldd r24,Y+3
- 1917 00a4 9C81 ldd r25,Y+4
- 1918 00a6 0E94 0000 call PnutDirAddEntry
- 1919 00aa 892B or r24,r25
- 1920 00ac 01F0 breq .L176
- 1921 00ae C801 movw r24,r16
- 1922 00b0 0E94 0000 call PnutBlockRelease
- 1923 00b4 00C0 rjmp .L171
- 1924 .L173:
- 1925 00b6 17FD sbrc r17,7
- 1926 00b8 00C0 rjmp .L171
- 1927 .L176:
- 1928 00ba 88E0 ldi r24,lo8(8)
- 1929 00bc 90E0 ldi r25,0
- 1930 00be 0E94 0000 call malloc
- 1931 00c2 7C01 movw r14,r24
- 1932 00c4 892B or r24,r25
- 1933 00c6 01F0 breq .L171
- 1934 00c8 C601 movw r24,r12
- 1935 00ca 8970 andi r24,9
- 1936 00cc 9927 clr r25
- 1937 00ce F701 movw r30,r14
- 1938 00d0 2681 ldd r18,Z+6
- GAS LISTING /tmp/ccr7450G.s page 35
- 1939 00d2 3781 ldd r19,Z+7
- 1940 00d4 822B or r24,r18
- 1941 00d6 932B or r25,r19
- 1942 00d8 9783 std Z+7,r25
- 1943 00da 8683 std Z+6,r24
- 1944 00dc C3FE sbrs r12,3
- 1945 00de 00C0 rjmp .L179
- 1946 00e0 C801 movw r24,r16
- 1947 00e2 0E94 0000 call BankNodePointer
- 1948 00e6 FC01 movw r30,r24
- 1949 00e8 8481 ldd r24,Z+4
- 1950 00ea 9581 ldd r25,Z+5
- 1951 00ec A681 ldd r26,Z+6
- 1952 00ee B781 ldd r27,Z+7
- 1953 00f0 00C0 rjmp .L177
- 1954 .L179:
- 1955 00f2 80E0 ldi r24,0
- 1956 00f4 90E0 ldi r25,0
- 1957 00f6 DC01 movw r26,r24
- 1958 .L177:
- 1959 00f8 F701 movw r30,r14
- 1960 00fa 8283 std Z+2,r24
- 1961 00fc 9383 std Z+3,r25
- 1962 00fe A483 std Z+4,r26
- 1963 0100 B583 std Z+5,r27
- 1964 0102 1183 std Z+1,r17
- 1965 0104 0083 st Z,r16
- 1966 0106 84E0 ldi r24,lo8(4)
- 1967 0108 90E0 ldi r25,0
- 1968 010a 0E94 0000 call malloc
- 1969 010e 6C01 movw r12,r24
- 1970 0110 0097 sbiw r24,0
- 1971 0112 01F4 brne .L178
- 1972 0114 C701 movw r24,r14
- 1973 0116 0E94 0000 call free
- 1974 011a 00C0 rjmp .L171
- 1975 .L178:
- 1976 011c FC01 movw r30,r24
- 1977 011e B182 std Z+1,r11
- 1978 0120 A082 st Z,r10
- 1979 0122 F382 std Z+3,r15
- 1980 0124 E282 std Z+2,r14
- 1981 0126 C801 movw r24,r16
- 1982 0128 0E94 0000 call BankNodePointer
- 1983 012c FC01 movw r30,r24
- 1984 012e 9181 ldd r25,Z+1
- 1985 0130 9F5F subi r25,lo8(-(1))
- 1986 0132 9183 std Z+1,r25
- 1987 0134 C601 movw r24,r12
- 1988 0136 00C0 rjmp .L195
- 1989 .L171:
- 1990 0138 8FEF ldi r24,lo8(-1)
- 1991 013a 9FEF ldi r25,lo8(-1)
- 1992 .L195:
- 1993 /* epilogue start */
- 1994 013c 2696 adiw r28,6
- 1995 013e 0FB6 in __tmp_reg__,__SREG__
- GAS LISTING /tmp/ccr7450G.s page 36
- 1996 0140 F894 cli
- 1997 0142 DEBF out __SP_H__,r29
- 1998 0144 0FBE out __SREG__,__tmp_reg__
- 1999 0146 CDBF out __SP_L__,r28
- 2000 0148 DF91 pop r29
- 2001 014a CF91 pop r28
- 2002 014c 1F91 pop r17
- 2003 014e 0F91 pop r16
- 2004 0150 FF90 pop r15
- 2005 0152 EF90 pop r14
- 2006 0154 DF90 pop r13
- 2007 0156 CF90 pop r12
- 2008 0158 BF90 pop r11
- 2009 015a AF90 pop r10
- 2010 015c 0895 ret
- 2011 .size PnutFileOpen, .-PnutFileOpen
- 2012 .section .text.PnutFileWrite,"ax",@progbits
- 2013 .type PnutFileWrite, @function
- 2014 PnutFileWrite:
- 2015 0000 4F92 push r4
- 2016 0002 5F92 push r5
- 2017 0004 6F92 push r6
- 2018 0006 7F92 push r7
- 2019 0008 8F92 push r8
- 2020 000a 9F92 push r9
- 2021 000c AF92 push r10
- 2022 000e BF92 push r11
- 2023 0010 CF92 push r12
- 2024 0012 DF92 push r13
- 2025 0014 EF92 push r14
- 2026 0016 FF92 push r15
- 2027 0018 0F93 push r16
- 2028 001a 1F93 push r17
- 2029 001c CF93 push r28
- 2030 001e DF93 push r29
- 2031 0020 00D0 rcall .
- 2032 0022 1F92 push __zero_reg__
- 2033 0024 CDB7 in r28,__SP_L__
- 2034 0026 DEB7 in r29,__SP_H__
- 2035 /* prologue: function */
- 2036 /* frame size = 4 */
- 2037 /* stack size = 20 */
- 2038 .L__stack_usage = 20
- 2039 0028 3B01 movw r6,r22
- 2040 002a 6A01 movw r12,r20
- 2041 002c FC01 movw r30,r24
- 2042 002e 4280 ldd r4,Z+2
- 2043 0030 5380 ldd r5,Z+3
- 2044 0032 F201 movw r30,r4
- 2045 0034 A080 ld r10,Z
- 2046 0036 B180 ldd r11,Z+1
- 2047 0038 812C mov r8,__zero_reg__
- 2048 003a 912C mov r9,__zero_reg__
- 2049 .L198:
- 2050 003c C114 cp r12,__zero_reg__
- 2051 003e D104 cpc r13,__zero_reg__
- 2052 0040 01F0 breq .L204
- GAS LISTING /tmp/ccr7450G.s page 37
- 2053 0042 F201 movw r30,r4
- 2054 0044 4281 ldd r20,Z+2
- 2055 0046 5381 ldd r21,Z+3
- 2056 0048 6481 ldd r22,Z+4
- 2057 004a 7581 ldd r23,Z+5
- 2058 004c EE24 clr r14
- 2059 004e E394 inc r14
- 2060 0050 F12C mov r15,__zero_reg__
- 2061 0052 8E01 movw r16,r28
- 2062 0054 0F5F subi r16,-1
- 2063 0056 1F4F sbci r17,-1
- 2064 0058 9E01 movw r18,r28
- 2065 005a 2D5F subi r18,-3
- 2066 005c 3F4F sbci r19,-1
- 2067 005e C501 movw r24,r10
- 2068 0060 0E94 0000 call PnutNodeGetDataPtr
- 2069 0064 0097 sbiw r24,0
- 2070 0066 01F4 brne .L199
- 2071 0068 8981 ldd r24,Y+1
- 2072 006a 9A81 ldd r25,Y+2
- 2073 006c 8C15 cp r24,r12
- 2074 006e 9D05 cpc r25,r13
- 2075 0070 00F0 brlo .L200
- 2076 0072 DA82 std Y+2,r13
- 2077 0074 C982 std Y+1,r12
- 2078 0076 C12C mov r12,__zero_reg__
- 2079 0078 D12C mov r13,__zero_reg__
- 2080 007a 00C0 rjmp .L201
- 2081 .L200:
- 2082 007c C81A sub r12,r24
- 2083 007e D90A sbc r13,r25
- 2084 .L201:
- 2085 0080 4981 ldd r20,Y+1
- 2086 0082 5A81 ldd r21,Y+2
- 2087 0084 B301 movw r22,r6
- 2088 0086 8B81 ldd r24,Y+3
- 2089 0088 9C81 ldd r25,Y+4
- 2090 008a 0E94 0000 call memcpy
- 2091 008e 2981 ldd r18,Y+1
- 2092 0090 3A81 ldd r19,Y+2
- 2093 0092 820E add r8,r18
- 2094 0094 931E adc r9,r19
- 2095 0096 620E add r6,r18
- 2096 0098 731E adc r7,r19
- 2097 009a F201 movw r30,r4
- 2098 009c 8281 ldd r24,Z+2
- 2099 009e 9381 ldd r25,Z+3
- 2100 00a0 A481 ldd r26,Z+4
- 2101 00a2 B581 ldd r27,Z+5
- 2102 00a4 820F add r24,r18
- 2103 00a6 931F adc r25,r19
- 2104 00a8 A11D adc r26,__zero_reg__
- 2105 00aa B11D adc r27,__zero_reg__
- 2106 00ac 8283 std Z+2,r24
- 2107 00ae 9383 std Z+3,r25
- 2108 00b0 A483 std Z+4,r26
- 2109 00b2 B583 std Z+5,r27
- GAS LISTING /tmp/ccr7450G.s page 38
- 2110 00b4 00C0 rjmp .L198
- 2111 .L199:
- 2112 00b6 4C97 sbiw r24,28
- 2113 00b8 01F4 brne .L209
- 2114 .L204:
- 2115 00ba C501 movw r24,r10
- 2116 00bc 0E94 0000 call BankNodePointer
- 2117 00c0 FC01 movw r30,r24
- 2118 00c2 4481 ldd r20,Z+4
- 2119 00c4 5581 ldd r21,Z+5
- 2120 00c6 6681 ldd r22,Z+6
- 2121 00c8 7781 ldd r23,Z+7
- 2122 00ca F201 movw r30,r4
- 2123 00cc 8281 ldd r24,Z+2
- 2124 00ce 9381 ldd r25,Z+3
- 2125 00d0 A481 ldd r26,Z+4
- 2126 00d2 B581 ldd r27,Z+5
- 2127 00d4 4817 cp r20,r24
- 2128 00d6 5907 cpc r21,r25
- 2129 00d8 6A07 cpc r22,r26
- 2130 00da 7B07 cpc r23,r27
- 2131 00dc 00F4 brsh .L203
- 2132 00de C501 movw r24,r10
- 2133 00e0 0E94 0000 call BankNodePointer
- 2134 00e4 F201 movw r30,r4
- 2135 00e6 4281 ldd r20,Z+2
- 2136 00e8 5381 ldd r21,Z+3
- 2137 00ea 6481 ldd r22,Z+4
- 2138 00ec 7581 ldd r23,Z+5
- 2139 00ee FC01 movw r30,r24
- 2140 00f0 4483 std Z+4,r20
- 2141 00f2 5583 std Z+5,r21
- 2142 00f4 6683 std Z+6,r22
- 2143 00f6 7783 std Z+7,r23
- 2144 .L203:
- 2145 00f8 C501 movw r24,r10
- 2146 00fa 0E94 0000 call BankNodePointer
- 2147 00fe 6C01 movw r12,r24
- 2148 0100 80E0 ldi r24,0
- 2149 0102 90E0 ldi r25,0
- 2150 0104 0E94 0000 call time
- 2151 0108 F601 movw r30,r12
- 2152 010a 6087 std Z+8,r22
- 2153 010c 7187 std Z+9,r23
- 2154 010e 8287 std Z+10,r24
- 2155 0110 9387 std Z+11,r25
- 2156 .L209:
- 2157 0112 C401 movw r24,r8
- 2158 /* epilogue start */
- 2159 0114 0F90 pop __tmp_reg__
- 2160 0116 0F90 pop __tmp_reg__
- 2161 0118 0F90 pop __tmp_reg__
- 2162 011a 0F90 pop __tmp_reg__
- 2163 011c DF91 pop r29
- 2164 011e CF91 pop r28
- 2165 0120 1F91 pop r17
- 2166 0122 0F91 pop r16
- GAS LISTING /tmp/ccr7450G.s page 39
- 2167 0124 FF90 pop r15
- 2168 0126 EF90 pop r14
- 2169 0128 DF90 pop r13
- 2170 012a CF90 pop r12
- 2171 012c BF90 pop r11
- 2172 012e AF90 pop r10
- 2173 0130 9F90 pop r9
- 2174 0132 8F90 pop r8
- 2175 0134 7F90 pop r7
- 2176 0136 6F90 pop r6
- 2177 0138 5F90 pop r5
- 2178 013a 4F90 pop r4
- 2179 013c 0895 ret
- 2180 .size PnutFileWrite, .-PnutFileWrite
- 2181 .section .text.PnutFileRead,"ax",@progbits
- 2182 .type PnutFileRead, @function
- 2183 PnutFileRead:
- 2184 0000 4F92 push r4
- 2185 0002 5F92 push r5
- 2186 0004 6F92 push r6
- 2187 0006 7F92 push r7
- 2188 0008 8F92 push r8
- 2189 000a 9F92 push r9
- 2190 000c AF92 push r10
- 2191 000e BF92 push r11
- 2192 0010 CF92 push r12
- 2193 0012 DF92 push r13
- 2194 0014 EF92 push r14
- 2195 0016 FF92 push r15
- 2196 0018 0F93 push r16
- 2197 001a 1F93 push r17
- 2198 001c CF93 push r28
- 2199 001e DF93 push r29
- 2200 0020 00D0 rcall .
- 2201 0022 1F92 push __zero_reg__
- 2202 0024 CDB7 in r28,__SP_L__
- 2203 0026 DEB7 in r29,__SP_H__
- 2204 /* prologue: function */
- 2205 /* frame size = 4 */
- 2206 /* stack size = 20 */
- 2207 .L__stack_usage = 20
- 2208 0028 3B01 movw r6,r22
- 2209 002a 6A01 movw r12,r20
- 2210 002c FC01 movw r30,r24
- 2211 002e 4280 ldd r4,Z+2
- 2212 0030 5380 ldd r5,Z+3
- 2213 0032 F201 movw r30,r4
- 2214 0034 8080 ld r8,Z
- 2215 0036 9180 ldd r9,Z+1
- 2216 0038 C401 movw r24,r8
- 2217 003a 0E94 0000 call BankNodePointer
- 2218 003e A601 movw r20,r12
- 2219 0040 0D2C mov __tmp_reg__,r13
- 2220 0042 000C lsl r0
- 2221 0044 660B sbc r22,r22
- 2222 0046 770B sbc r23,r23
- 2223 0048 FC01 movw r30,r24
- GAS LISTING /tmp/ccr7450G.s page 40
- 2224 004a 8481 ldd r24,Z+4
- 2225 004c 9581 ldd r25,Z+5
- 2226 004e A681 ldd r26,Z+6
- 2227 0050 B781 ldd r27,Z+7
- 2228 0052 F201 movw r30,r4
- 2229 0054 0281 ldd r16,Z+2
- 2230 0056 1381 ldd r17,Z+3
- 2231 0058 2481 ldd r18,Z+4
- 2232 005a 3581 ldd r19,Z+5
- 2233 005c 801B sub r24,r16
- 2234 005e 910B sbc r25,r17
- 2235 0060 A20B sbc r26,r18
- 2236 0062 B30B sbc r27,r19
- 2237 0064 8417 cp r24,r20
- 2238 0066 9507 cpc r25,r21
- 2239 0068 A607 cpc r26,r22
- 2240 006a B707 cpc r27,r23
- 2241 006c 00F4 brsh .L211
- 2242 006e C401 movw r24,r8
- 2243 0070 0E94 0000 call BankNodePointer
- 2244 0074 FC01 movw r30,r24
- 2245 0076 C480 ldd r12,Z+4
- 2246 0078 D580 ldd r13,Z+5
- 2247 007a F201 movw r30,r4
- 2248 007c 8281 ldd r24,Z+2
- 2249 007e 9381 ldd r25,Z+3
- 2250 0080 C81A sub r12,r24
- 2251 0082 D90A sbc r13,r25
- 2252 .L211:
- 2253 0084 A12C mov r10,__zero_reg__
- 2254 0086 B12C mov r11,__zero_reg__
- 2255 .L212:
- 2256 0088 C114 cp r12,__zero_reg__
- 2257 008a D104 cpc r13,__zero_reg__
- 2258 008c 01F0 breq .L218
- 2259 008e F201 movw r30,r4
- 2260 0090 4281 ldd r20,Z+2
- 2261 0092 5381 ldd r21,Z+3
- 2262 0094 6481 ldd r22,Z+4
- 2263 0096 7581 ldd r23,Z+5
- 2264 0098 E12C mov r14,__zero_reg__
- 2265 009a F12C mov r15,__zero_reg__
- 2266 009c 8E01 movw r16,r28
- 2267 009e 0F5F subi r16,-1
- 2268 00a0 1F4F sbci r17,-1
- 2269 00a2 9E01 movw r18,r28
- 2270 00a4 2D5F subi r18,-3
- 2271 00a6 3F4F sbci r19,-1
- 2272 00a8 C401 movw r24,r8
- 2273 00aa 0E94 0000 call PnutNodeGetDataPtr
- 2274 00ae 892B or r24,r25
- 2275 00b0 01F4 brne .L218
- 2276 00b2 8981 ldd r24,Y+1
- 2277 00b4 9A81 ldd r25,Y+2
- 2278 00b6 8C15 cp r24,r12
- 2279 00b8 9D05 cpc r25,r13
- 2280 00ba 00F0 brlo .L214
- GAS LISTING /tmp/ccr7450G.s page 41
- 2281 00bc DA82 std Y+2,r13
- 2282 00be C982 std Y+1,r12
- 2283 00c0 C12C mov r12,__zero_reg__
- 2284 00c2 D12C mov r13,__zero_reg__
- 2285 00c4 00C0 rjmp .L215
- 2286 .L214:
- 2287 00c6 C81A sub r12,r24
- 2288 00c8 D90A sbc r13,r25
- 2289 .L215:
- 2290 00ca 0981 ldd r16,Y+1
- 2291 00cc 1A81 ldd r17,Y+2
- 2292 00ce 6B81 ldd r22,Y+3
- 2293 00d0 7C81 ldd r23,Y+4
- 2294 00d2 A801 movw r20,r16
- 2295 00d4 C301 movw r24,r6
- 2296 00d6 0E94 0000 call memcpy
- 2297 00da A00E add r10,r16
- 2298 00dc B11E adc r11,r17
- 2299 00de 600E add r6,r16
- 2300 00e0 711E adc r7,r17
- 2301 00e2 F201 movw r30,r4
- 2302 00e4 8281 ldd r24,Z+2
- 2303 00e6 9381 ldd r25,Z+3
- 2304 00e8 A481 ldd r26,Z+4
- 2305 00ea B581 ldd r27,Z+5
- 2306 00ec 800F add r24,r16
- 2307 00ee 911F adc r25,r17
- 2308 00f0 A11D adc r26,__zero_reg__
- 2309 00f2 B11D adc r27,__zero_reg__
- 2310 00f4 8283 std Z+2,r24
- 2311 00f6 9383 std Z+3,r25
- 2312 00f8 A483 std Z+4,r26
- 2313 00fa B583 std Z+5,r27
- 2314 00fc 00C0 rjmp .L212
- 2315 .L218:
- 2316 00fe C501 movw r24,r10
- 2317 /* epilogue start */
- 2318 0100 0F90 pop __tmp_reg__
- 2319 0102 0F90 pop __tmp_reg__
- 2320 0104 0F90 pop __tmp_reg__
- 2321 0106 0F90 pop __tmp_reg__
- 2322 0108 DF91 pop r29
- 2323 010a CF91 pop r28
- 2324 010c 1F91 pop r17
- 2325 010e 0F91 pop r16
- 2326 0110 FF90 pop r15
- 2327 0112 EF90 pop r14
- 2328 0114 DF90 pop r13
- 2329 0116 CF90 pop r12
- 2330 0118 BF90 pop r11
- 2331 011a AF90 pop r10
- 2332 011c 9F90 pop r9
- 2333 011e 8F90 pop r8
- 2334 0120 7F90 pop r7
- 2335 0122 6F90 pop r6
- 2336 0124 5F90 pop r5
- 2337 0126 4F90 pop r4
- GAS LISTING /tmp/ccr7450G.s page 42
- 2338 0128 0895 ret
- 2339 .size PnutFileRead, .-PnutFileRead
- 2340 .global devPnut
- 2341 .data
- 2342 .type devPnut, @object
- 2343 .size devPnut, 37
- 2344 devPnut:
- 2345 0000 0000 .word 0
- 2346 0002 50 .byte 80
- 2347 0003 4E .byte 78
- 2348 0004 55 .byte 85
- 2349 0005 54 .byte 84
- 2350 0006 00 .byte 0
- 2351 0007 00 .byte 0
- 2352 0008 00 .byte 0
- 2353 0009 00 .byte 0
- 2354 000a 00 .byte 0
- 2355 000b 00 .byte 0
- 2356 000c 0000 .word 0
- 2357 000e 00 .byte 0
- 2358 000f 0000 .word 0
- 2359 0011 0000 .word 0
- 2360 0013 0000 .word gs(PnutInit)
- 2361 0015 0000 .word gs(PnutIOCtl)
- 2362 0017 0000 .word gs(PnutFileRead)
- 2363 0019 0000 .word gs(PnutFileWrite)
- 2364 001b 0000 .word gs(PnutFileWrite_P)
- 2365 001d 0000 .word gs(PnutFileOpen)
- 2366 001f 0000 .word gs(PnutFileClose)
- 2367 0021 0000 .word gs(PnutFileSize)
- 2368 0023 0000 .word 0
- 2369 .type blockFreeList, @object
- 2370 .size blockFreeList, 2
- 2371 blockFreeList:
- 2372 0025 FFFF .word -1
- 2373 .local root
- 2374 .comm root,2,1
- 2375 .ident "GCC: (GNU) 5.3.0"
- 2376 .global __do_copy_data
- 2377 .global __do_clear_bss
- GAS LISTING /tmp/ccr7450G.s page 43
- DEFINED SYMBOLS
- *ABS*:0000000000000000 pnutfs.c
- /tmp/ccr7450G.s:2 *ABS*:000000000000003e __SP_H__
- /tmp/ccr7450G.s:3 *ABS*:000000000000003d __SP_L__
- /tmp/ccr7450G.s:4 *ABS*:000000000000003f __SREG__
- /tmp/ccr7450G.s:5 *ABS*:000000000000003b __RAMPZ__
- /tmp/ccr7450G.s:6 *ABS*:0000000000000000 __tmp_reg__
- /tmp/ccr7450G.s:7 *ABS*:0000000000000001 __zero_reg__
- /tmp/ccr7450G.s:10 .text.PnutFileWrite_P:0000000000000000 PnutFileWrite_P
- /tmp/ccr7450G.s:22 .text.BankSelect:0000000000000000 BankSelect
- /tmp/ccr7450G.s:44 .text.BankNodePointer:0000000000000000 BankNodePointer
- /tmp/ccr7450G.s:74 .text.PnutBlockAlloc:0000000000000000 PnutBlockAlloc
- /tmp/ccr7450G.s:2371 .data:0000000000000025 blockFreeList
- /tmp/ccr7450G.s:109 .text.PnutNodeGetDataPtr:0000000000000000 PnutNodeGetDataPtr
- /tmp/ccr7450G.s:253 .text.PnutDirFindEntry:0000000000000000 PnutDirFindEntry
- /tmp/ccr7450G.s:399 .text.PnutDirFindPath:0000000000000000 PnutDirFindPath
- /tmp/ccr7450G.s:541 .text.PnutNodeAlloc:0000000000000000 PnutNodeAlloc
- /tmp/ccr7450G.s:589 .text.PnutDirAddEntry:0000000000000000 PnutDirAddEntry
- /tmp/ccr7450G.s:724 .text.PnutBlockRelease:0000000000000000 PnutBlockRelease
- /tmp/ccr7450G.s:750 .text.PnutInit:0000000000000000 PnutInit
- .bss:0000000000000000 root
- /tmp/ccr7450G.s:808 .text.PnutNodeDataRelease:0000000000000000 PnutNodeDataRelease
- /tmp/ccr7450G.s:893 .text.PnutNodeRelease:0000000000000000 PnutNodeRelease
- /tmp/ccr7450G.s:910 .text.PnutDelete:0000000000000000 PnutDelete
- /tmp/ccr7450G.s:1155 .text.PnutIOCtl:0000000000000000 PnutIOCtl
- /tmp/ccr7450G.s:1763 .text.PnutFileSize:0000000000000000 PnutFileSize
- /tmp/ccr7450G.s:1785 .text.PnutFileClose:0000000000000000 PnutFileClose
- /tmp/ccr7450G.s:1833 .text.PnutFileOpen:0000000000000000 PnutFileOpen
- /tmp/ccr7450G.s:2014 .text.PnutFileWrite:0000000000000000 PnutFileWrite
- /tmp/ccr7450G.s:2183 .text.PnutFileRead:0000000000000000 PnutFileRead
- /tmp/ccr7450G.s:2344 .data:0000000000000000 devPnut
- UNDEFINED SYMBOLS
- strncmp
- time
- strcpy
- strcmp
- errno
- malloc
- free
- memcpy
- __do_copy_data
- __do_clear_bss
|