| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745174617471748174917501751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775177617771778177917801781178217831784178517861787178817891790179117921793179417951796179717981799180018011802180318041805180618071808180918101811181218131814181518161817181818191820182118221823182418251826182718281829183018311832183318341835183618371838183918401841184218431844184518461847184818491850185118521853185418551856185718581859186018611862186318641865186618671868186918701871187218731874187518761877187818791880188118821883188418851886188718881889189018911892189318941895189618971898189919001901190219031904190519061907190819091910191119121913191419151916191719181919192019211922192319241925192619271928192919301931193219331934193519361937193819391940194119421943194419451946194719481949195019511952195319541955195619571958195919601961196219631964196519661967196819691970197119721973197419751976197719781979198019811982198319841985198619871988198919901991199219931994199519961997199819992000200120022003200420052006200720082009201020112012201320142015201620172018201920202021202220232024202520262027202820292030203120322033203420352036203720382039204020412042204320442045204620472048204920502051205220532054205520562057205820592060206120622063206420652066206720682069207020712072207320742075207620772078207920802081208220832084208520862087208820892090209120922093209420952096209720982099210021012102210321042105210621072108210921102111211221132114211521162117211821192120212121222123212421252126212721282129213021312132213321342135213621372138213921402141214221432144214521462147214821492150215121522153215421552156215721582159216021612162216321642165216621672168216921702171217221732174217521762177217821792180218121822183218421852186218721882189219021912192219321942195219621972198219922002201220222032204220522062207220822092210221122122213221422152216221722182219222022212222222322242225222622272228222922302231223222332234223522362237223822392240224122422243224422452246224722482249225022512252225322542255225622572258225922602261226222632264226522662267226822692270227122722273227422752276227722782279228022812282228322842285228622872288228922902291229222932294229522962297229822992300230123022303230423052306230723082309231023112312231323142315231623172318231923202321232223232324232523262327232823292330233123322333233423352336233723382339234023412342234323442345234623472348234923502351235223532354235523562357235823592360236123622363236423652366236723682369237023712372237323742375237623772378237923802381238223832384238523862387238823892390239123922393239423952396239723982399240024012402240324042405240624072408240924102411241224132414241524162417241824192420242124222423242424252426242724282429243024312432243324342435243624372438243924402441244224432444244524462447244824492450245124522453245424552456245724582459246024612462246324642465246624672468246924702471247224732474247524762477247824792480248124822483248424852486248724882489249024912492249324942495249624972498249925002501250225032504250525062507250825092510251125122513251425152516251725182519252025212522252325242525252625272528252925302531253225332534253525362537253825392540254125422543254425452546254725482549255025512552255325542555255625572558255925602561256225632564256525662567256825692570257125722573257425752576257725782579258025812582258325842585258625872588258925902591259225932594259525962597259825992600260126022603260426052606260726082609261026112612261326142615261626172618261926202621262226232624262526262627262826292630263126322633263426352636263726382639264026412642264326442645264626472648264926502651265226532654265526562657265826592660266126622663266426652666266726682669267026712672267326742675267626772678267926802681268226832684268526862687268826892690269126922693269426952696269726982699270027012702270327042705270627072708270927102711271227132714271527162717271827192720272127222723272427252726272727282729273027312732273327342735273627372738273927402741274227432744274527462747274827492750275127522753275427552756275727582759276027612762276327642765276627672768276927702771277227732774277527762777277827792780278127822783278427852786278727882789279027912792279327942795279627972798279928002801280228032804280528062807280828092810281128122813281428152816281728182819282028212822282328242825282628272828282928302831283228332834283528362837283828392840284128422843284428452846284728482849285028512852285328542855285628572858285928602861286228632864286528662867286828692870287128722873287428752876287728782879288028812882288328842885288628872888288928902891289228932894289528962897289828992900290129022903290429052906290729082909291029112912291329142915291629172918291929202921292229232924292529262927292829292930293129322933293429352936293729382939294029412942294329442945294629472948294929502951295229532954295529562957295829592960296129622963296429652966296729682969297029712972297329742975297629772978297929802981298229832984298529862987298829892990299129922993299429952996299729982999300030013002300330043005300630073008300930103011301230133014301530163017301830193020302130223023302430253026302730283029303030313032303330343035303630373038303930403041304230433044304530463047304830493050305130523053305430553056305730583059306030613062306330643065306630673068306930703071307230733074307530763077307830793080308130823083308430853086308730883089309030913092309330943095309630973098309931003101310231033104310531063107310831093110311131123113311431153116311731183119312031213122312331243125312631273128312931303131313231333134313531363137313831393140314131423143314431453146314731483149315031513152315331543155315631573158315931603161316231633164316531663167316831693170317131723173317431753176317731783179318031813182318331843185318631873188318931903191319231933194319531963197319831993200320132023203320432053206320732083209321032113212321332143215321632173218321932203221322232233224322532263227322832293230323132323233323432353236323732383239324032413242324332443245324632473248324932503251325232533254325532563257325832593260326132623263326432653266326732683269327032713272327332743275327632773278327932803281328232833284328532863287328832893290329132923293329432953296329732983299330033013302330333043305330633073308330933103311331233133314331533163317331833193320332133223323332433253326332733283329333033313332333333343335333633373338333933403341334233433344334533463347334833493350335133523353335433553356335733583359336033613362336333643365336633673368336933703371337233733374337533763377337833793380338133823383338433853386338733883389339033913392339333943395339633973398339934003401340234033404340534063407340834093410341134123413341434153416341734183419342034213422342334243425342634273428342934303431343234333434343534363437343834393440344134423443344434453446344734483449345034513452345334543455345634573458345934603461346234633464346534663467346834693470347134723473347434753476347734783479348034813482348334843485348634873488348934903491349234933494349534963497349834993500350135023503350435053506350735083509351035113512351335143515351635173518351935203521352235233524352535263527352835293530353135323533353435353536353735383539354035413542354335443545354635473548354935503551355235533554355535563557355835593560356135623563356435653566356735683569357035713572357335743575357635773578357935803581358235833584358535863587358835893590359135923593359435953596359735983599360036013602360336043605360636073608360936103611361236133614361536163617361836193620362136223623362436253626362736283629363036313632363336343635363636373638363936403641364236433644364536463647364836493650365136523653365436553656365736583659366036613662366336643665366636673668366936703671367236733674367536763677367836793680368136823683368436853686368736883689369036913692369336943695369636973698369937003701370237033704370537063707370837093710371137123713371437153716371737183719372037213722372337243725372637273728372937303731373237333734373537363737373837393740374137423743374437453746374737483749375037513752375337543755375637573758375937603761376237633764376537663767376837693770377137723773377437753776377737783779378037813782378337843785378637873788378937903791379237933794379537963797379837993800380138023803380438053806380738083809381038113812381338143815381638173818381938203821382238233824382538263827382838293830383138323833383438353836383738383839384038413842384338443845384638473848384938503851385238533854385538563857385838593860386138623863386438653866386738683869387038713872387338743875387638773878387938803881388238833884388538863887388838893890389138923893389438953896389738983899390039013902390339043905390639073908390939103911391239133914391539163917391839193920392139223923392439253926392739283929393039313932393339343935393639373938393939403941394239433944394539463947394839493950395139523953395439553956395739583959396039613962396339643965396639673968396939703971397239733974397539763977397839793980398139823983398439853986398739883989399039913992399339943995399639973998399940004001400240034004400540064007400840094010401140124013401440154016401740184019402040214022402340244025402640274028402940304031403240334034403540364037403840394040404140424043404440454046404740484049405040514052405340544055405640574058405940604061406240634064406540664067406840694070407140724073407440754076407740784079408040814082408340844085408640874088408940904091409240934094409540964097409840994100410141024103410441054106410741084109411041114112411341144115411641174118411941204121412241234124412541264127412841294130413141324133413441354136413741384139414041414142414341444145414641474148414941504151415241534154415541564157415841594160416141624163416441654166416741684169417041714172417341744175417641774178417941804181418241834184418541864187418841894190419141924193419441954196419741984199420042014202420342044205420642074208420942104211421242134214421542164217421842194220422142224223422442254226422742284229423042314232423342344235423642374238423942404241424242434244424542464247424842494250425142524253425442554256425742584259426042614262426342644265426642674268426942704271427242734274427542764277427842794280428142824283428442854286428742884289429042914292429342944295429642974298429943004301430243034304430543064307430843094310431143124313431443154316431743184319432043214322432343244325432643274328432943304331433243334334433543364337433843394340434143424343434443454346434743484349435043514352435343544355435643574358435943604361436243634364436543664367436843694370437143724373437443754376437743784379438043814382438343844385438643874388438943904391439243934394439543964397439843994400440144024403440444054406440744084409441044114412441344144415441644174418441944204421442244234424442544264427442844294430443144324433443444354436443744384439444044414442444344444445444644474448444944504451445244534454445544564457445844594460446144624463446444654466446744684469447044714472447344744475447644774478447944804481448244834484448544864487448844894490449144924493449444954496449744984499450045014502450345044505450645074508450945104511451245134514451545164517451845194520452145224523452445254526452745284529453045314532453345344535453645374538453945404541454245434544454545464547454845494550455145524553455445554556455745584559456045614562456345644565456645674568456945704571457245734574457545764577457845794580458145824583458445854586458745884589459045914592459345944595459645974598459946004601460246034604460546064607460846094610461146124613461446154616461746184619462046214622462346244625462646274628462946304631463246334634463546364637463846394640464146424643464446454646464746484649465046514652465346544655465646574658465946604661466246634664466546664667466846694670467146724673467446754676 |
- GAS LISTING /tmp/ccjPZxVo.s page 1
- 1 .file "uflashfs.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.FlashUnitCopy,"ax",@progbits
- 9 .type FlashUnitCopy, @function
- 10 FlashUnitCopy:
- 11 /* prologue: function */
- 12 /* frame size = 0 */
- 13 /* stack size = 0 */
- 14 .L__stack_usage = 0
- 15 0000 DC01 movw r26,r24
- 16 0002 1896 adiw r26,8
- 17 0004 ED91 ld r30,X+
- 18 0006 FC91 ld r31,X
- 19 0008 1997 sbiw r26,8+1
- 20 000a 2E0F add r18,r30
- 21 000c 3F1F adc r19,r31
- 22 000e 440F lsl r20
- 23 0010 551F rol r21
- 24 0012 440F lsl r20
- 25 0014 551F rol r21
- 26 0016 420F add r20,r18
- 27 0018 531F adc r21,r19
- 28 001a 660F lsl r22
- 29 001c 771F rol r23
- 30 001e 660F lsl r22
- 31 0020 771F rol r23
- 32 0022 620F add r22,r18
- 33 0024 731F adc r23,r19
- 34 0026 5A96 adiw r26,26
- 35 0028 ED91 ld r30,X+
- 36 002a FC91 ld r31,X
- 37 002c 5B97 sbiw r26,26+1
- 38 002e 1994 eijmp
- 39 .size FlashUnitCopy, .-FlashUnitCopy
- 40 .section .text.FlashUnitCommit,"ax",@progbits
- 41 .type FlashUnitCommit, @function
- 42 FlashUnitCommit:
- 43 /* prologue: function */
- 44 /* frame size = 0 */
- 45 /* stack size = 0 */
- 46 .L__stack_usage = 0
- 47 0000 DC01 movw r26,r24
- 48 0002 1896 adiw r26,8
- 49 0004 2D91 ld r18,X+
- 50 0006 3C91 ld r19,X
- 51 0008 1997 sbiw r26,8+1
- 52 000a 420F add r20,r18
- 53 000c 531F adc r21,r19
- 54 000e 660F lsl r22
- 55 0010 771F rol r23
- 56 0012 660F lsl r22
- 57 0014 771F rol r23
- GAS LISTING /tmp/ccjPZxVo.s page 2
- 58 0016 640F add r22,r20
- 59 0018 751F adc r23,r21
- 60 001a 5C96 adiw r26,28
- 61 001c ED91 ld r30,X+
- 62 001e FC91 ld r31,X
- 63 0020 5D97 sbiw r26,28+1
- 64 0022 1994 eijmp
- 65 .size FlashUnitCommit, .-FlashUnitCommit
- 66 .section .text.FlashReadBlockHead,"ax",@progbits
- 67 .type FlashReadBlockHead, @function
- 68 FlashReadBlockHead:
- 69 0000 0F93 push r16
- 70 0002 1F93 push r17
- 71 /* prologue: function */
- 72 /* frame size = 0 */
- 73 /* stack size = 2 */
- 74 .L__stack_usage = 2
- 75 0004 9A01 movw r18,r20
- 76 0006 660F lsl r22
- 77 0008 771F rol r23
- 78 000a 660F lsl r22
- 79 000c 771F rol r23
- 80 000e DC01 movw r26,r24
- 81 0010 1896 adiw r26,8
- 82 0012 ED91 ld r30,X+
- 83 0014 FC91 ld r31,X
- 84 0016 1997 sbiw r26,8+1
- 85 0018 6E0F add r22,r30
- 86 001a 7F1F adc r23,r31
- 87 001c 5296 adiw r26,18
- 88 001e ED91 ld r30,X+
- 89 0020 FC91 ld r31,X
- 90 0022 5397 sbiw r26,18+1
- 91 0024 08E0 ldi r16,lo8(8)
- 92 0026 10E0 ldi r17,0
- 93 0028 40E0 ldi r20,0
- 94 002a 50E0 ldi r21,0
- 95 002c 1995 eicall
- 96 /* epilogue start */
- 97 002e 1F91 pop r17
- 98 0030 0F91 pop r16
- 99 0032 0895 ret
- 100 .size FlashReadBlockHead, .-FlashReadBlockHead
- 101 .section .text.FlashWriteBlockHead,"ax",@progbits
- 102 .type FlashWriteBlockHead, @function
- 103 FlashWriteBlockHead:
- 104 0000 0F93 push r16
- 105 0002 1F93 push r17
- 106 /* prologue: function */
- 107 /* frame size = 0 */
- 108 /* stack size = 2 */
- 109 .L__stack_usage = 2
- 110 0004 9A01 movw r18,r20
- 111 0006 DA01 movw r26,r20
- 112 0008 1296 adiw r26,2
- 113 000a 4D91 ld r20,X+
- 114 000c 5C91 ld r21,X
- GAS LISTING /tmp/ccjPZxVo.s page 3
- 115 000e 1397 sbiw r26,2+1
- 116 0010 4F5F subi r20,-1
- 117 0012 5F4F sbci r21,-1
- 118 0014 1396 adiw r26,2+1
- 119 0016 5C93 st X,r21
- 120 0018 4E93 st -X,r20
- 121 001a 1297 sbiw r26,2
- 122 001c 660F lsl r22
- 123 001e 771F rol r23
- 124 0020 660F lsl r22
- 125 0022 771F rol r23
- 126 0024 DC01 movw r26,r24
- 127 0026 1896 adiw r26,8
- 128 0028 ED91 ld r30,X+
- 129 002a FC91 ld r31,X
- 130 002c 1997 sbiw r26,8+1
- 131 002e 6E0F add r22,r30
- 132 0030 7F1F adc r23,r31
- 133 0032 5896 adiw r26,24
- 134 0034 ED91 ld r30,X+
- 135 0036 FC91 ld r31,X
- 136 0038 5997 sbiw r26,24+1
- 137 003a 08E0 ldi r16,lo8(8)
- 138 003c 10E0 ldi r17,0
- 139 003e 40E0 ldi r20,0
- 140 0040 50E0 ldi r21,0
- 141 0042 1995 eicall
- 142 /* epilogue start */
- 143 0044 1F91 pop r17
- 144 0046 0F91 pop r16
- 145 0048 0895 ret
- 146 .size FlashWriteBlockHead, .-FlashWriteBlockHead
- 147 .section .text.FlashWriteEntry,"ax",@progbits
- 148 .type FlashWriteEntry, @function
- 149 FlashWriteEntry:
- 150 0000 AF92 push r10
- 151 0002 BF92 push r11
- 152 0004 CF92 push r12
- 153 0006 DF92 push r13
- 154 0008 EF92 push r14
- 155 000a FF92 push r15
- 156 000c 0F93 push r16
- 157 000e 1F93 push r17
- 158 0010 CF93 push r28
- 159 0012 DF93 push r29
- 160 /* prologue: function */
- 161 /* frame size = 0 */
- 162 /* stack size = 10 */
- 163 .L__stack_usage = 10
- 164 0014 EC01 movw r28,r24
- 165 0016 5A01 movw r10,r20
- 166 0018 6901 movw r12,r18
- 167 001a 7B01 movw r14,r22
- 168 001c EE0C lsl r14
- 169 001e FF1C rol r15
- 170 0020 EE0C lsl r14
- 171 0022 FF1C rol r15
- GAS LISTING /tmp/ccjPZxVo.s page 4
- 172 0024 6885 ldd r22,Y+8
- 173 0026 7985 ldd r23,Y+9
- 174 0028 6E0D add r22,r14
- 175 002a 7F1D adc r23,r15
- 176 002c E88D ldd r30,Y+24
- 177 002e F98D ldd r31,Y+25
- 178 0030 02E0 ldi r16,lo8(2)
- 179 0032 10E0 ldi r17,0
- 180 0034 9A01 movw r18,r20
- 181 0036 48E0 ldi r20,lo8(8)
- 182 0038 50E0 ldi r21,0
- 183 003a CE01 movw r24,r28
- 184 003c 1995 eicall
- 185 003e 0097 sbiw r24,0
- 186 0040 01F4 brne .L6
- 187 0042 F501 movw r30,r10
- 188 0044 0181 ldd r16,Z+1
- 189 0046 10E0 ldi r17,0
- 190 0048 6885 ldd r22,Y+8
- 191 004a 7985 ldd r23,Y+9
- 192 004c 6E0D add r22,r14
- 193 004e 7F1D adc r23,r15
- 194 0050 E88D ldd r30,Y+24
- 195 0052 F98D ldd r31,Y+25
- 196 0054 9601 movw r18,r12
- 197 0056 4AE0 ldi r20,lo8(10)
- 198 0058 50E0 ldi r21,0
- 199 005a CE01 movw r24,r28
- 200 005c 1995 eicall
- 201 .L6:
- 202 /* epilogue start */
- 203 005e DF91 pop r29
- 204 0060 CF91 pop r28
- 205 0062 1F91 pop r17
- 206 0064 0F91 pop r16
- 207 0066 FF90 pop r15
- 208 0068 EF90 pop r14
- 209 006a DF90 pop r13
- 210 006c CF90 pop r12
- 211 006e BF90 pop r11
- 212 0070 AF90 pop r10
- 213 0072 0895 ret
- 214 .size FlashWriteEntry, .-FlashWriteEntry
- 215 .section .text.FlashReadBlockFoot,"ax",@progbits
- 216 .type FlashReadBlockFoot, @function
- 217 FlashReadBlockFoot:
- 218 0000 0F93 push r16
- 219 0002 1F93 push r17
- 220 /* prologue: function */
- 221 /* frame size = 0 */
- 222 /* stack size = 2 */
- 223 .L__stack_usage = 2
- 224 0004 9A01 movw r18,r20
- 225 0006 6F5F subi r22,-1
- 226 0008 7F4F sbci r23,-1
- 227 000a 660F lsl r22
- 228 000c 771F rol r23
- GAS LISTING /tmp/ccjPZxVo.s page 5
- 229 000e 660F lsl r22
- 230 0010 771F rol r23
- 231 0012 DC01 movw r26,r24
- 232 0014 1896 adiw r26,8
- 233 0016 ED91 ld r30,X+
- 234 0018 FC91 ld r31,X
- 235 001a 1997 sbiw r26,8+1
- 236 001c 3197 sbiw r30,1
- 237 001e 6E0F add r22,r30
- 238 0020 7F1F adc r23,r31
- 239 0022 5296 adiw r26,18
- 240 0024 ED91 ld r30,X+
- 241 0026 FC91 ld r31,X
- 242 0028 5397 sbiw r26,18+1
- 243 002a 01E0 ldi r16,lo8(1)
- 244 002c 10E0 ldi r17,0
- 245 002e 4FEF ldi r20,lo8(-1)
- 246 0030 5FEF ldi r21,lo8(-1)
- 247 0032 1995 eicall
- 248 /* epilogue start */
- 249 0034 1F91 pop r17
- 250 0036 0F91 pop r16
- 251 0038 0895 ret
- 252 .size FlashReadBlockFoot, .-FlashReadBlockFoot
- 253 .section .text.FlashWriteBlockFoot,"ax",@progbits
- 254 .type FlashWriteBlockFoot, @function
- 255 FlashWriteBlockFoot:
- 256 0000 0F93 push r16
- 257 0002 1F93 push r17
- 258 /* prologue: function */
- 259 /* frame size = 0 */
- 260 /* stack size = 2 */
- 261 .L__stack_usage = 2
- 262 0004 9A01 movw r18,r20
- 263 0006 DA01 movw r26,r20
- 264 0008 4C91 ld r20,X
- 265 000a 4F5F subi r20,lo8(-(1))
- 266 000c 4C93 st X,r20
- 267 000e 6F5F subi r22,-1
- 268 0010 7F4F sbci r23,-1
- 269 0012 660F lsl r22
- 270 0014 771F rol r23
- 271 0016 660F lsl r22
- 272 0018 771F rol r23
- 273 001a DC01 movw r26,r24
- 274 001c 1896 adiw r26,8
- 275 001e ED91 ld r30,X+
- 276 0020 FC91 ld r31,X
- 277 0022 1997 sbiw r26,8+1
- 278 0024 3197 sbiw r30,1
- 279 0026 6E0F add r22,r30
- 280 0028 7F1F adc r23,r31
- 281 002a 5896 adiw r26,24
- 282 002c ED91 ld r30,X+
- 283 002e FC91 ld r31,X
- 284 0030 5997 sbiw r26,24+1
- 285 0032 01E0 ldi r16,lo8(1)
- GAS LISTING /tmp/ccjPZxVo.s page 6
- 286 0034 10E0 ldi r17,0
- 287 0036 4FEF ldi r20,lo8(-1)
- 288 0038 5FEF ldi r21,lo8(-1)
- 289 003a 1995 eicall
- 290 /* epilogue start */
- 291 003c 1F91 pop r17
- 292 003e 0F91 pop r16
- 293 0040 0895 ret
- 294 .size FlashWriteBlockFoot, .-FlashWriteBlockFoot
- 295 .section .text.FlashEraseEntry,"ax",@progbits
- 296 .type FlashEraseEntry, @function
- 297 FlashEraseEntry:
- 298 /* prologue: function */
- 299 /* frame size = 0 */
- 300 /* stack size = 0 */
- 301 .L__stack_usage = 0
- 302 0000 660F lsl r22
- 303 0002 771F rol r23
- 304 0004 660F lsl r22
- 305 0006 771F rol r23
- 306 0008 DC01 movw r26,r24
- 307 000a 1896 adiw r26,8
- 308 000c 2D91 ld r18,X+
- 309 000e 3C91 ld r19,X
- 310 0010 1997 sbiw r26,8+1
- 311 0012 620F add r22,r18
- 312 0014 731F adc r23,r19
- 313 0016 5E96 adiw r26,30
- 314 0018 ED91 ld r30,X+
- 315 001a FC91 ld r31,X
- 316 001c 5F97 sbiw r26,30+1
- 317 001e 41E0 ldi r20,lo8(1)
- 318 0020 50E0 ldi r21,0
- 319 0022 1994 eijmp
- 320 .size FlashEraseEntry, .-FlashEraseEntry
- 321 .section .text.FlashEraseBlockData,"ax",@progbits
- 322 .type FlashEraseBlockData, @function
- 323 FlashEraseBlockData:
- 324 /* prologue: function */
- 325 /* frame size = 0 */
- 326 /* stack size = 0 */
- 327 .L__stack_usage = 0
- 328 0000 DC01 movw r26,r24
- 329 0002 1896 adiw r26,8
- 330 0004 2D91 ld r18,X+
- 331 0006 3C91 ld r19,X
- 332 0008 1997 sbiw r26,8+1
- 333 000a 2F5F subi r18,-1
- 334 000c 3F4F sbci r19,-1
- 335 000e 660F lsl r22
- 336 0010 771F rol r23
- 337 0012 660F lsl r22
- 338 0014 771F rol r23
- 339 0016 620F add r22,r18
- 340 0018 731F adc r23,r19
- 341 001a 5E96 adiw r26,30
- 342 001c ED91 ld r30,X+
- GAS LISTING /tmp/ccjPZxVo.s page 7
- 343 001e FC91 ld r31,X
- 344 0020 5F97 sbiw r26,30+1
- 345 0022 43E0 ldi r20,lo8(3)
- 346 0024 50E0 ldi r21,0
- 347 0026 1994 eijmp
- 348 .size FlashEraseBlockData, .-FlashEraseBlockData
- 349 .section .text.EntryPosSet,"ax",@progbits
- 350 .type EntryPosSet, @function
- 351 EntryPosSet:
- 352 0000 AF92 push r10
- 353 0002 BF92 push r11
- 354 0004 CF92 push r12
- 355 0006 DF92 push r13
- 356 0008 EF92 push r14
- 357 000a FF92 push r15
- 358 000c 0F93 push r16
- 359 000e 1F93 push r17
- 360 0010 CF93 push r28
- 361 0012 DF93 push r29
- 362 /* prologue: function */
- 363 /* frame size = 0 */
- 364 /* stack size = 10 */
- 365 .L__stack_usage = 10
- 366 0014 DC01 movw r26,r24
- 367 0016 1296 adiw r26,2
- 368 0018 CD91 ld r28,X+
- 369 001a DC91 ld r29,X
- 370 001c 1397 sbiw r26,2+1
- 371 001e ED91 ld r30,X+
- 372 0020 FC91 ld r31,X
- 373 0022 0188 ldd __tmp_reg__,Z+17
- 374 0024 F289 ldd r31,Z+18
- 375 0026 E02D mov r30,__tmp_reg__
- 376 0028 4A83 std Y+2,r20
- 377 002a 5B83 std Y+3,r21
- 378 002c 6C83 std Y+4,r22
- 379 002e 7D83 std Y+5,r23
- 380 0030 888D ldd r24,Y+24
- 381 0032 998D ldd r25,Y+25
- 382 0034 6A01 movw r12,r20
- 383 0036 7B01 movw r14,r22
- 384 0038 C80E add r12,r24
- 385 003a D91E adc r13,r25
- 386 003c E11C adc r14,__zero_reg__
- 387 003e F11C adc r15,__zero_reg__
- 388 0040 0190 ld __tmp_reg__,Z+
- 389 0042 F081 ld r31,Z
- 390 0044 E02D mov r30,__tmp_reg__
- 391 0046 0481 ldd r16,Z+4
- 392 0048 1581 ldd r17,Z+5
- 393 004a 5801 movw r10,r16
- 394 004c AA0C lsl r10
- 395 004e BB1C rol r11
- 396 0050 AA0C lsl r10
- 397 0052 BB1C rol r11
- 398 0054 B9E0 ldi r27,9
- 399 0056 AB1A sub r10,r27
- GAS LISTING /tmp/ccjPZxVo.s page 8
- 400 0058 B108 sbc r11,__zero_reg__
- 401 005a 9501 movw r18,r10
- 402 005c 40E0 ldi r20,0
- 403 005e 50E0 ldi r21,0
- 404 0060 C701 movw r24,r14
- 405 0062 B601 movw r22,r12
- 406 0064 0E94 0000 call __udivmodsi4
- 407 0068 8885 ldd r24,Y+8
- 408 006a 9985 ldd r25,Y+9
- 409 006c 8217 cp r24,r18
- 410 006e 9307 cpc r25,r19
- 411 0070 01F0 breq .L13
- 412 0072 3987 std Y+9,r19
- 413 0074 2887 std Y+8,r18
- 414 0076 8FEF ldi r24,lo8(-1)
- 415 0078 9FEF ldi r25,lo8(-1)
- 416 007a 9F83 std Y+7,r25
- 417 007c 8E83 std Y+6,r24
- 418 .L13:
- 419 007e 2885 ldd r18,Y+8
- 420 0080 3985 ldd r19,Y+9
- 421 0082 A29E mul r10,r18
- 422 0084 C001 movw r24,r0
- 423 0086 A39E mul r10,r19
- 424 0088 900D add r25,r0
- 425 008a B29E mul r11,r18
- 426 008c 900D add r25,r0
- 427 008e 1124 clr r1
- 428 0090 C81A sub r12,r24
- 429 0092 D90A sbc r13,r25
- 430 0094 E108 sbc r14,__zero_reg__
- 431 0096 F108 sbc r15,__zero_reg__
- 432 0098 C701 movw r24,r14
- 433 009a B601 movw r22,r12
- 434 009c 685F subi r22,-8
- 435 009e 7F4F sbci r23,-1
- 436 00a0 8F4F sbci r24,-1
- 437 00a2 9F4F sbci r25,-1
- 438 00a4 9801 movw r18,r16
- 439 00a6 40E0 ldi r20,0
- 440 00a8 50E0 ldi r21,0
- 441 00aa 0E94 0000 call __udivmodsi4
- 442 00ae 3B87 std Y+11,r19
- 443 00b0 2A87 std Y+10,r18
- 444 00b2 029F mul r16,r18
- 445 00b4 C001 movw r24,r0
- 446 00b6 039F mul r16,r19
- 447 00b8 900D add r25,r0
- 448 00ba 129F mul r17,r18
- 449 00bc 900D add r25,r0
- 450 00be 1124 clr r1
- 451 00c0 C81A sub r12,r24
- 452 00c2 D90A sbc r13,r25
- 453 00c4 E108 sbc r14,__zero_reg__
- 454 00c6 F108 sbc r15,__zero_reg__
- 455 00c8 E8E0 ldi r30,8
- 456 00ca CE0E add r12,r30
- GAS LISTING /tmp/ccjPZxVo.s page 9
- 457 00cc D11C adc r13,__zero_reg__
- 458 00ce DD86 std Y+13,r13
- 459 00d0 CC86 std Y+12,r12
- 460 /* epilogue start */
- 461 00d2 DF91 pop r29
- 462 00d4 CF91 pop r28
- 463 00d6 1F91 pop r17
- 464 00d8 0F91 pop r16
- 465 00da FF90 pop r15
- 466 00dc EF90 pop r14
- 467 00de DF90 pop r13
- 468 00e0 CF90 pop r12
- 469 00e2 BF90 pop r11
- 470 00e4 AF90 pop r10
- 471 00e6 0895 ret
- 472 .size EntryPosSet, .-EntryPosSet
- 473 .section .text.EntryPosInc,"ax",@progbits
- 474 .type EntryPosInc, @function
- 475 EntryPosInc:
- 476 0000 0F93 push r16
- 477 0002 1F93 push r17
- 478 0004 CF93 push r28
- 479 0006 DF93 push r29
- 480 /* prologue: function */
- 481 /* frame size = 0 */
- 482 /* stack size = 4 */
- 483 .L__stack_usage = 4
- 484 0008 DC01 movw r26,r24
- 485 000a 1296 adiw r26,2
- 486 000c ED91 ld r30,X+
- 487 000e FC91 ld r31,X
- 488 0010 1397 sbiw r26,2+1
- 489 0012 0D90 ld __tmp_reg__,X+
- 490 0014 BC91 ld r27,X
- 491 0016 A02D mov r26,__tmp_reg__
- 492 0018 5196 adiw r26,17
- 493 001a CD91 ld r28,X+
- 494 001c DC91 ld r29,X
- 495 001e 5297 sbiw r26,17+1
- 496 0020 CB01 movw r24,r22
- 497 0022 072E mov __tmp_reg__,r23
- 498 0024 000C lsl r0
- 499 0026 AA0B sbc r26,r26
- 500 0028 BB0B sbc r27,r27
- 501 002a 0281 ldd r16,Z+2
- 502 002c 1381 ldd r17,Z+3
- 503 002e 2481 ldd r18,Z+4
- 504 0030 3581 ldd r19,Z+5
- 505 0032 800F add r24,r16
- 506 0034 911F adc r25,r17
- 507 0036 A21F adc r26,r18
- 508 0038 B31F adc r27,r19
- 509 003a 8283 std Z+2,r24
- 510 003c 9383 std Z+3,r25
- 511 003e A483 std Z+4,r26
- 512 0040 B583 std Z+5,r27
- 513 0042 8485 ldd r24,Z+12
- GAS LISTING /tmp/ccjPZxVo.s page 10
- 514 0044 9585 ldd r25,Z+13
- 515 0046 680F add r22,r24
- 516 0048 791F adc r23,r25
- 517 004a 7587 std Z+13,r23
- 518 004c 6487 std Z+12,r22
- 519 004e 2285 ldd r18,Z+10
- 520 0050 3385 ldd r19,Z+11
- 521 0052 A881 ld r26,Y
- 522 0054 B981 ldd r27,Y+1
- 523 0056 1496 adiw r26,4
- 524 0058 8D91 ld r24,X+
- 525 005a 9C91 ld r25,X
- 526 005c 1597 sbiw r26,4+1
- 527 005e 2330 cpi r18,3
- 528 0060 3105 cpc r19,__zero_reg__
- 529 0062 00F0 brlo .L19
- 530 0064 0197 sbiw r24,1
- 531 .L19:
- 532 0066 861B sub r24,r22
- 533 0068 970B sbc r25,r23
- 534 006a 01F4 brne .L14
- 535 006c C901 movw r24,r18
- 536 006e 0196 adiw r24,1
- 537 0070 9387 std Z+11,r25
- 538 0072 8287 std Z+10,r24
- 539 0074 0497 sbiw r24,4
- 540 0076 00F0 brlo .L18
- 541 0078 88E0 ldi r24,lo8(8)
- 542 007a 90E0 ldi r25,0
- 543 007c 9587 std Z+13,r25
- 544 007e 8487 std Z+12,r24
- 545 0080 1386 std Z+11,__zero_reg__
- 546 0082 1286 std Z+10,__zero_reg__
- 547 0084 8085 ldd r24,Z+8
- 548 0086 9185 ldd r25,Z+9
- 549 0088 0196 adiw r24,1
- 550 008a 9187 std Z+9,r25
- 551 008c 8087 std Z+8,r24
- 552 008e 8FEF ldi r24,lo8(-1)
- 553 0090 9FEF ldi r25,lo8(-1)
- 554 0092 9783 std Z+7,r25
- 555 0094 8683 std Z+6,r24
- 556 0096 00C0 rjmp .L14
- 557 .L18:
- 558 0098 1586 std Z+13,__zero_reg__
- 559 009a 1486 std Z+12,__zero_reg__
- 560 .L14:
- 561 /* epilogue start */
- 562 009c DF91 pop r29
- 563 009e CF91 pop r28
- 564 00a0 1F91 pop r17
- 565 00a2 0F91 pop r16
- 566 00a4 0895 ret
- 567 .size EntryPosInc, .-EntryPosInc
- 568 .section .text.EntryTruncateSeq,"ax",@progbits
- 569 .type EntryTruncateSeq, @function
- 570 EntryTruncateSeq:
- GAS LISTING /tmp/ccjPZxVo.s page 11
- 571 0000 8F92 push r8
- 572 0002 9F92 push r9
- 573 0004 AF92 push r10
- 574 0006 BF92 push r11
- 575 0008 CF92 push r12
- 576 000a DF92 push r13
- 577 000c EF92 push r14
- 578 000e FF92 push r15
- 579 0010 0F93 push r16
- 580 0012 1F93 push r17
- 581 0014 CF93 push r28
- 582 0016 DF93 push r29
- 583 0018 CDB7 in r28,__SP_L__
- 584 001a DEB7 in r29,__SP_H__
- 585 001c 2897 sbiw r28,8
- 586 001e 0FB6 in __tmp_reg__,__SREG__
- 587 0020 F894 cli
- 588 0022 DEBF out __SP_H__,r29
- 589 0024 0FBE out __SREG__,__tmp_reg__
- 590 0026 CDBF out __SP_L__,r28
- 591 /* prologue: function */
- 592 /* frame size = 8 */
- 593 /* stack size = 20 */
- 594 .L__stack_usage = 20
- 595 0028 8C01 movw r16,r24
- 596 002a 6B01 movw r12,r22
- 597 002c 30E8 ldi r19,lo8(-128)
- 598 002e 832E mov r8,r19
- 599 0030 912C mov r9,__zero_reg__
- 600 0032 AA24 clr r10
- 601 0034 AA94 dec r10
- 602 0036 BA2C mov r11,r10
- 603 .L21:
- 604 0038 F801 movw r30,r16
- 605 003a 8581 ldd r24,Z+5
- 606 003c 9681 ldd r25,Z+6
- 607 003e 8816 cp r8,r24
- 608 0040 9906 cpc r9,r25
- 609 0042 00F4 brsh .L26
- 610 0044 7401 movw r14,r8
- 611 0046 EE0C lsl r14
- 612 0048 FF1C rol r15
- 613 004a D801 movw r26,r16
- 614 004c 1796 adiw r26,7
- 615 004e ED91 ld r30,X+
- 616 0050 FC91 ld r31,X
- 617 0052 1897 sbiw r26,7+1
- 618 0054 EE0D add r30,r14
- 619 0056 FF1D adc r31,r15
- 620 0058 6081 ld r22,Z
- 621 005a 7181 ldd r23,Z+1
- 622 005c 6817 cp r22,r24
- 623 005e 7907 cpc r23,r25
- 624 0060 00F4 brsh .L23
- 625 0062 AE01 movw r20,r28
- 626 0064 4F5F subi r20,-1
- 627 0066 5F4F sbci r21,-1
- GAS LISTING /tmp/ccjPZxVo.s page 12
- 628 0068 8D91 ld r24,X+
- 629 006a 9C91 ld r25,X
- 630 006c 0E94 0000 call FlashReadBlockHead
- 631 0070 8D81 ldd r24,Y+5
- 632 0072 9E81 ldd r25,Y+6
- 633 0074 8C15 cp r24,r12
- 634 0076 9D05 cpc r25,r13
- 635 0078 01F4 brne .L23
- 636 007a D801 movw r26,r16
- 637 007c 1796 adiw r26,7
- 638 007e ED91 ld r30,X+
- 639 0080 FC91 ld r31,X
- 640 0082 1897 sbiw r26,7+1
- 641 0084 EE0D add r30,r14
- 642 0086 FF1D adc r31,r15
- 643 0088 6081 ld r22,Z
- 644 008a 7181 ldd r23,Z+1
- 645 008c B182 std Z+1,r11
- 646 008e A082 st Z,r10
- 647 0090 8D91 ld r24,X+
- 648 0092 9C91 ld r25,X
- 649 0094 0E94 0000 call FlashEraseEntry
- 650 .L23:
- 651 0098 BFEF ldi r27,-1
- 652 009a 8B1A sub r8,r27
- 653 009c 9B0A sbc r9,r27
- 654 009e 00C0 rjmp .L21
- 655 .L26:
- 656 00a0 80E0 ldi r24,0
- 657 00a2 90E0 ldi r25,0
- 658 /* epilogue start */
- 659 00a4 2896 adiw r28,8
- 660 00a6 0FB6 in __tmp_reg__,__SREG__
- 661 00a8 F894 cli
- 662 00aa DEBF out __SP_H__,r29
- 663 00ac 0FBE out __SREG__,__tmp_reg__
- 664 00ae CDBF out __SP_L__,r28
- 665 00b0 DF91 pop r29
- 666 00b2 CF91 pop r28
- 667 00b4 1F91 pop r17
- 668 00b6 0F91 pop r16
- 669 00b8 FF90 pop r15
- 670 00ba EF90 pop r14
- 671 00bc DF90 pop r13
- 672 00be CF90 pop r12
- 673 00c0 BF90 pop r11
- 674 00c2 AF90 pop r10
- 675 00c4 9F90 pop r9
- 676 00c6 8F90 pop r8
- 677 00c8 0895 ret
- 678 .size EntryTruncateSeq, .-EntryTruncateSeq
- 679 .section .text.UFlashFileSize,"ax",@progbits
- 680 .type UFlashFileSize, @function
- 681 UFlashFileSize:
- 682 /* prologue: function */
- 683 /* frame size = 0 */
- 684 /* stack size = 0 */
- GAS LISTING /tmp/ccjPZxVo.s page 13
- 685 .L__stack_usage = 0
- 686 0000 DC01 movw r26,r24
- 687 0002 1296 adiw r26,2
- 688 0004 ED91 ld r30,X+
- 689 0006 FC91 ld r31,X
- 690 0008 1397 sbiw r26,2+1
- 691 000a 6489 ldd r22,Z+20
- 692 000c 7589 ldd r23,Z+21
- 693 000e 8689 ldd r24,Z+22
- 694 0010 9789 ldd r25,Z+23
- 695 0012 0895 ret
- 696 .size UFlashFileSize, .-UFlashFileSize
- 697 .section .text.UFlashFileWrite_P,"ax",@progbits
- 698 .type UFlashFileWrite_P, @function
- 699 UFlashFileWrite_P:
- 700 /* prologue: function */
- 701 /* frame size = 0 */
- 702 /* stack size = 0 */
- 703 .L__stack_usage = 0
- 704 0000 8FEF ldi r24,lo8(-1)
- 705 0002 9FEF ldi r25,lo8(-1)
- 706 0004 0895 ret
- 707 .size UFlashFileWrite_P, .-UFlashFileWrite_P
- 708 .section .text.UFlashInit,"ax",@progbits
- 709 .type UFlashInit, @function
- 710 UFlashInit:
- 711 /* prologue: function */
- 712 /* frame size = 0 */
- 713 /* stack size = 0 */
- 714 .L__stack_usage = 0
- 715 0000 80E0 ldi r24,0
- 716 0002 90E0 ldi r25,0
- 717 0004 0895 ret
- 718 .size UFlashInit, .-UFlashInit
- 719 .section .text.FlashReadEntry,"ax",@progbits
- 720 .type FlashReadEntry, @function
- 721 FlashReadEntry:
- 722 0000 AF92 push r10
- 723 0002 BF92 push r11
- 724 0004 CF92 push r12
- 725 0006 DF92 push r13
- 726 0008 EF92 push r14
- 727 000a FF92 push r15
- 728 000c 0F93 push r16
- 729 000e 1F93 push r17
- 730 0010 CF93 push r28
- 731 0012 DF93 push r29
- 732 /* prologue: function */
- 733 /* frame size = 0 */
- 734 /* stack size = 10 */
- 735 .L__stack_usage = 10
- 736 0014 EC01 movw r28,r24
- 737 0016 6A01 movw r12,r20
- 738 0018 5901 movw r10,r18
- 739 001a 7B01 movw r14,r22
- 740 001c EE0C lsl r14
- 741 001e FF1C rol r15
- GAS LISTING /tmp/ccjPZxVo.s page 14
- 742 0020 EE0C lsl r14
- 743 0022 FF1C rol r15
- 744 0024 6885 ldd r22,Y+8
- 745 0026 7985 ldd r23,Y+9
- 746 0028 6E0D add r22,r14
- 747 002a 7F1D adc r23,r15
- 748 002c EA89 ldd r30,Y+18
- 749 002e FB89 ldd r31,Y+19
- 750 0030 02E0 ldi r16,lo8(2)
- 751 0032 10E0 ldi r17,0
- 752 0034 9A01 movw r18,r20
- 753 0036 48E0 ldi r20,lo8(8)
- 754 0038 50E0 ldi r21,0
- 755 003a CE01 movw r24,r28
- 756 003c 1995 eicall
- 757 003e 0097 sbiw r24,0
- 758 0040 01F4 brne .L31
- 759 0042 A114 cp r10,__zero_reg__
- 760 0044 B104 cpc r11,__zero_reg__
- 761 0046 01F0 breq .L31
- 762 0048 F601 movw r30,r12
- 763 004a 8181 ldd r24,Z+1
- 764 004c 90E0 ldi r25,0
- 765 004e 0196 adiw r24,1
- 766 0050 0E94 0000 call malloc
- 767 0054 F501 movw r30,r10
- 768 0056 9183 std Z+1,r25
- 769 0058 8083 st Z,r24
- 770 005a 0097 sbiw r24,0
- 771 005c 01F0 breq .L32
- 772 005e F601 movw r30,r12
- 773 0060 0181 ldd r16,Z+1
- 774 0062 10E0 ldi r17,0
- 775 0064 FC01 movw r30,r24
- 776 0066 E00F add r30,r16
- 777 0068 F11F adc r31,r17
- 778 006a 1082 st Z,__zero_reg__
- 779 006c 6885 ldd r22,Y+8
- 780 006e 7985 ldd r23,Y+9
- 781 0070 6E0D add r22,r14
- 782 0072 7F1D adc r23,r15
- 783 0074 EA89 ldd r30,Y+18
- 784 0076 FB89 ldd r31,Y+19
- 785 0078 9C01 movw r18,r24
- 786 007a 4AE0 ldi r20,lo8(10)
- 787 007c 50E0 ldi r21,0
- 788 007e CE01 movw r24,r28
- 789 0080 1995 eicall
- 790 0082 00C0 rjmp .L31
- 791 .L32:
- 792 0084 8FEF ldi r24,lo8(-1)
- 793 0086 9FEF ldi r25,lo8(-1)
- 794 .L31:
- 795 /* epilogue start */
- 796 0088 DF91 pop r29
- 797 008a CF91 pop r28
- 798 008c 1F91 pop r17
- GAS LISTING /tmp/ccjPZxVo.s page 15
- 799 008e 0F91 pop r16
- 800 0090 FF90 pop r15
- 801 0092 EF90 pop r14
- 802 0094 DF90 pop r13
- 803 0096 CF90 pop r12
- 804 0098 BF90 pop r11
- 805 009a AF90 pop r10
- 806 009c 0895 ret
- 807 .size FlashReadEntry, .-FlashReadEntry
- 808 .section .text.UFlashFileClose,"ax",@progbits
- 809 .type UFlashFileClose, @function
- 810 UFlashFileClose:
- 811 0000 CF93 push r28
- 812 0002 DF93 push r29
- 813 /* prologue: function */
- 814 /* frame size = 0 */
- 815 /* stack size = 2 */
- 816 .L__stack_usage = 2
- 817 0004 EC01 movw r28,r24
- 818 0006 8A81 ldd r24,Y+2
- 819 0008 9B81 ldd r25,Y+3
- 820 000a 0E94 0000 call free
- 821 000e CE01 movw r24,r28
- 822 0010 0E94 0000 call free
- 823 0014 80E0 ldi r24,0
- 824 0016 90E0 ldi r25,0
- 825 /* epilogue start */
- 826 0018 DF91 pop r29
- 827 001a CF91 pop r28
- 828 001c 0895 ret
- 829 .size UFlashFileClose, .-UFlashFileClose
- 830 .section .text.UFlashMount,"ax",@progbits
- 831 .type UFlashMount, @function
- 832 UFlashMount:
- 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 0010 CDB7 in r28,__SP_L__
- 842 0012 DEB7 in r29,__SP_H__
- 843 0014 6097 sbiw r28,16
- 844 0016 0FB6 in __tmp_reg__,__SREG__
- 845 0018 F894 cli
- 846 001a DEBF out __SP_H__,r29
- 847 001c 0FBE out __SREG__,__tmp_reg__
- 848 001e CDBF out __SP_L__,r28
- 849 /* prologue: function */
- 850 /* frame size = 16 */
- 851 /* stack size = 24 */
- 852 .L__stack_usage = 24
- 853 0020 7C01 movw r14,r24
- 854 0022 69E0 ldi r22,lo8(9)
- 855 0024 70E0 ldi r23,0
- GAS LISTING /tmp/ccjPZxVo.s page 16
- 856 0026 81E0 ldi r24,lo8(1)
- 857 0028 90E0 ldi r25,0
- 858 002a 0E94 0000 call calloc
- 859 002e 8C01 movw r16,r24
- 860 0030 0097 sbiw r24,0
- 861 0032 01F4 brne .+2
- 862 0034 00C0 rjmp .L51
- 863 0036 D701 movw r26,r14
- 864 0038 5296 adiw r26,17+1
- 865 003a 9C93 st X,r25
- 866 003c 8E93 st -X,r24
- 867 003e 5197 sbiw r26,17
- 868 0040 1F96 adiw r26,15
- 869 0042 ED91 ld r30,X+
- 870 0044 FC91 ld r31,X
- 871 0046 5097 sbiw r26,15+1
- 872 0048 DC01 movw r26,r24
- 873 004a ED93 st X+,r30
- 874 004c FC93 st X,r31
- 875 004e 8681 ldd r24,Z+6
- 876 0050 9781 ldd r25,Z+7
- 877 0052 2085 ldd r18,Z+8
- 878 0054 3185 ldd r19,Z+9
- 879 0056 821B sub r24,r18
- 880 0058 930B sbc r25,r19
- 881 005a 2285 ldd r18,Z+10
- 882 005c 3385 ldd r19,Z+11
- 883 005e 821B sub r24,r18
- 884 0060 930B sbc r25,r19
- 885 0062 9695 lsr r25
- 886 0064 8795 ror r24
- 887 0066 9695 lsr r25
- 888 0068 8795 ror r24
- 889 006a 8130 cpi r24,1
- 890 006c B0E2 ldi r27,32
- 891 006e 9B07 cpc r25,r27
- 892 0070 00F4 brsh .L39
- 893 0072 F801 movw r30,r16
- 894 0074 9683 std Z+6,r25
- 895 0076 8583 std Z+5,r24
- 896 0078 00C0 rjmp .L40
- 897 .L39:
- 898 007a 80E0 ldi r24,0
- 899 007c 90E2 ldi r25,lo8(32)
- 900 007e D801 movw r26,r16
- 901 0080 1696 adiw r26,5+1
- 902 0082 9C93 st X,r25
- 903 0084 8E93 st -X,r24
- 904 0086 1597 sbiw r26,5
- 905 .L40:
- 906 0088 F801 movw r30,r16
- 907 008a E580 ldd r14,Z+5
- 908 008c F680 ldd r15,Z+6
- 909 008e EE0C lsl r14
- 910 0090 FF1C rol r15
- 911 0092 C701 movw r24,r14
- 912 0094 0E94 0000 call malloc
- GAS LISTING /tmp/ccjPZxVo.s page 17
- 913 0098 D801 movw r26,r16
- 914 009a 1896 adiw r26,7+1
- 915 009c 9C93 st X,r25
- 916 009e 8E93 st -X,r24
- 917 00a0 1797 sbiw r26,7
- 918 00a2 0097 sbiw r24,0
- 919 00a4 01F4 brne .L41
- 920 00a6 C801 movw r24,r16
- 921 00a8 0E94 0000 call free
- 922 00ac 00C0 rjmp .L51
- 923 .L41:
- 924 00ae A701 movw r20,r14
- 925 00b0 6FEF ldi r22,lo8(-1)
- 926 00b2 70E0 ldi r23,0
- 927 00b4 0E94 0000 call memset
- 928 00b8 40E6 ldi r20,lo8(96)
- 929 00ba 50E0 ldi r21,0
- 930 00bc 6FEF ldi r22,lo8(-1)
- 931 00be 70E0 ldi r23,0
- 932 00c0 80E0 ldi r24,lo8(min_used)
- 933 00c2 90E0 ldi r25,hi8(min_used)
- 934 00c4 0E94 0000 call memset
- 935 00c8 C12C mov r12,__zero_reg__
- 936 00ca D12C mov r13,__zero_reg__
- 937 00cc E12C mov r14,__zero_reg__
- 938 00ce F12C mov r15,__zero_reg__
- 939 .L42:
- 940 00d0 D801 movw r26,r16
- 941 00d2 1596 adiw r26,5
- 942 00d4 8D91 ld r24,X+
- 943 00d6 9C91 ld r25,X
- 944 00d8 1697 sbiw r26,5+1
- 945 00da E816 cp r14,r24
- 946 00dc F906 cpc r15,r25
- 947 00de 00F0 brlo .+2
- 948 00e0 00C0 rjmp .L54
- 949 00e2 AE01 movw r20,r28
- 950 00e4 475F subi r20,-9
- 951 00e6 5F4F sbci r21,-1
- 952 00e8 B701 movw r22,r14
- 953 00ea F801 movw r30,r16
- 954 00ec 8081 ld r24,Z
- 955 00ee 9181 ldd r25,Z+1
- 956 00f0 0E94 0000 call FlashReadBlockHead
- 957 00f4 2985 ldd r18,Y+9
- 958 00f6 3A85 ldd r19,Y+10
- 959 00f8 D801 movw r26,r16
- 960 00fa 1596 adiw r26,5
- 961 00fc 8D91 ld r24,X+
- 962 00fe 9C91 ld r25,X
- 963 0100 1697 sbiw r26,5+1
- 964 0102 2817 cp r18,r24
- 965 0104 3907 cpc r19,r25
- 966 0106 00F0 brlo .+2
- 967 0108 00C0 rjmp .L43
- 968 010a 8D91 ld r24,X+
- 969 010c 9C91 ld r25,X
- GAS LISTING /tmp/ccjPZxVo.s page 18
- 970 010e FC01 movw r30,r24
- 971 0110 6085 ldd r22,Z+8
- 972 0112 7185 ldd r23,Z+9
- 973 0114 6C0D add r22,r12
- 974 0116 7D1D adc r23,r13
- 975 0118 0088 ldd __tmp_reg__,Z+16
- 976 011a F189 ldd r31,Z+17
- 977 011c E02D mov r30,__tmp_reg__
- 978 011e 44E0 ldi r20,lo8(4)
- 979 0120 50E0 ldi r21,0
- 980 0122 1995 eicall
- 981 0124 892B or r24,r25
- 982 0126 01F0 breq .L44
- 983 0128 B701 movw r22,r14
- 984 012a D801 movw r26,r16
- 985 012c 8D91 ld r24,X+
- 986 012e 9C91 ld r25,X
- 987 0130 00C0 rjmp .L53
- 988 .L44:
- 989 0132 E985 ldd r30,Y+9
- 990 0134 FA85 ldd r31,Y+10
- 991 0136 EE0F lsl r30
- 992 0138 FF1F rol r31
- 993 013a D801 movw r26,r16
- 994 013c 1796 adiw r26,7
- 995 013e 8D91 ld r24,X+
- 996 0140 9C91 ld r25,X
- 997 0142 1897 sbiw r26,7+1
- 998 0144 E80F add r30,r24
- 999 0146 F91F adc r31,r25
- 1000 0148 6081 ld r22,Z
- 1001 014a 7181 ldd r23,Z+1
- 1002 014c 1596 adiw r26,5
- 1003 014e 8D91 ld r24,X+
- 1004 0150 9C91 ld r25,X
- 1005 0152 1697 sbiw r26,5+1
- 1006 0154 6817 cp r22,r24
- 1007 0156 7907 cpc r23,r25
- 1008 0158 00F0 brlo .+2
- 1009 015a 00C0 rjmp .L45
- 1010 015c AE01 movw r20,r28
- 1011 015e 4F5F subi r20,-1
- 1012 0160 5F4F sbci r21,-1
- 1013 0162 8D91 ld r24,X+
- 1014 0164 9C91 ld r25,X
- 1015 0166 0E94 0000 call FlashReadBlockHead
- 1016 016a 4B81 ldd r20,Y+3
- 1017 016c 5C81 ldd r21,Y+4
- 1018 016e 2B85 ldd r18,Y+11
- 1019 0170 3C85 ldd r19,Y+12
- 1020 0172 F801 movw r30,r16
- 1021 0174 6581 ldd r22,Z+5
- 1022 0176 7681 ldd r23,Z+6
- 1023 0178 8081 ld r24,Z
- 1024 017a 9181 ldd r25,Z+1
- 1025 017c 2417 cp r18,r20
- 1026 017e 3507 cpc r19,r21
- GAS LISTING /tmp/ccjPZxVo.s page 19
- 1027 0180 00F4 brsh .L46
- 1028 0182 421B sub r20,r18
- 1029 0184 530B sbc r21,r19
- 1030 0186 6417 cp r22,r20
- 1031 0188 7507 cpc r23,r21
- 1032 018a 00F4 brsh .L49
- 1033 018c 00C0 rjmp .L52
- 1034 .L46:
- 1035 018e 241B sub r18,r20
- 1036 0190 350B sbc r19,r21
- 1037 0192 2617 cp r18,r22
- 1038 0194 3707 cpc r19,r23
- 1039 0196 00F4 brsh .L49
- 1040 .L52:
- 1041 0198 B701 movw r22,r14
- 1042 .L53:
- 1043 019a 0E94 0000 call FlashEraseEntry
- 1044 019e 00C0 rjmp .L48
- 1045 .L49:
- 1046 01a0 E985 ldd r30,Y+9
- 1047 01a2 FA85 ldd r31,Y+10
- 1048 01a4 EE0F lsl r30
- 1049 01a6 FF1F rol r31
- 1050 01a8 D801 movw r26,r16
- 1051 01aa 1796 adiw r26,7
- 1052 01ac 2D91 ld r18,X+
- 1053 01ae 3C91 ld r19,X
- 1054 01b0 1897 sbiw r26,7+1
- 1055 01b2 E20F add r30,r18
- 1056 01b4 F31F adc r31,r19
- 1057 01b6 6081 ld r22,Z
- 1058 01b8 7181 ldd r23,Z+1
- 1059 01ba 0E94 0000 call FlashEraseEntry
- 1060 01be E985 ldd r30,Y+9
- 1061 01c0 FA85 ldd r31,Y+10
- 1062 01c2 EE0F lsl r30
- 1063 01c4 FF1F rol r31
- 1064 01c6 D801 movw r26,r16
- 1065 01c8 1796 adiw r26,7
- 1066 01ca 8D91 ld r24,X+
- 1067 01cc 9C91 ld r25,X
- 1068 01ce 1897 sbiw r26,7+1
- 1069 01d0 E80F add r30,r24
- 1070 01d2 F91F adc r31,r25
- 1071 01d4 F182 std Z+1,r15
- 1072 01d6 E082 st Z,r14
- 1073 .L48:
- 1074 01d8 F801 movw r30,r16
- 1075 01da 8481 ldd r24,Z+4
- 1076 01dc 8068 ori r24,lo8(-128)
- 1077 01de 8483 std Z+4,r24
- 1078 01e0 00C0 rjmp .L43
- 1079 .L45:
- 1080 01e2 F182 std Z+1,r15
- 1081 01e4 E082 st Z,r14
- 1082 .L43:
- 1083 01e6 FFEF ldi r31,-1
- GAS LISTING /tmp/ccjPZxVo.s page 20
- 1084 01e8 EF1A sub r14,r31
- 1085 01ea FF0A sbc r15,r31
- 1086 01ec 24E0 ldi r18,4
- 1087 01ee C20E add r12,r18
- 1088 01f0 D11C adc r13,__zero_reg__
- 1089 01f2 00C0 rjmp .L42
- 1090 .L54:
- 1091 01f4 C801 movw r24,r16
- 1092 01f6 0296 adiw r24,2
- 1093 01f8 0E94 0000 call NutEventPost
- 1094 01fc 80E0 ldi r24,0
- 1095 01fe 90E0 ldi r25,0
- 1096 0200 00C0 rjmp .L38
- 1097 .L51:
- 1098 0202 8FEF ldi r24,lo8(-1)
- 1099 0204 9FEF ldi r25,lo8(-1)
- 1100 .L38:
- 1101 /* epilogue start */
- 1102 0206 6096 adiw r28,16
- 1103 0208 0FB6 in __tmp_reg__,__SREG__
- 1104 020a F894 cli
- 1105 020c DEBF out __SP_H__,r29
- 1106 020e 0FBE out __SREG__,__tmp_reg__
- 1107 0210 CDBF out __SP_L__,r28
- 1108 0212 DF91 pop r29
- 1109 0214 CF91 pop r28
- 1110 0216 1F91 pop r17
- 1111 0218 0F91 pop r16
- 1112 021a FF90 pop r15
- 1113 021c EF90 pop r14
- 1114 021e DF90 pop r13
- 1115 0220 CF90 pop r12
- 1116 0222 0895 ret
- 1117 .size UFlashMount, .-UFlashMount
- 1118 .section .text.EntrySearchNext,"ax",@progbits
- 1119 .type EntrySearchNext, @function
- 1120 EntrySearchNext:
- 1121 0000 2F92 push r2
- 1122 0002 3F92 push r3
- 1123 0004 4F92 push r4
- 1124 0006 5F92 push r5
- 1125 0008 6F92 push r6
- 1126 000a 7F92 push r7
- 1127 000c 8F92 push r8
- 1128 000e 9F92 push r9
- 1129 0010 AF92 push r10
- 1130 0012 BF92 push r11
- 1131 0014 CF92 push r12
- 1132 0016 DF92 push r13
- 1133 0018 EF92 push r14
- 1134 001a FF92 push r15
- 1135 001c 0F93 push r16
- 1136 001e 1F93 push r17
- 1137 0020 CF93 push r28
- 1138 0022 DF93 push r29
- 1139 0024 00D0 rcall .
- 1140 0026 1F92 push __zero_reg__
- GAS LISTING /tmp/ccjPZxVo.s page 21
- 1141 0028 CDB7 in r28,__SP_L__
- 1142 002a DEB7 in r29,__SP_H__
- 1143 /* prologue: function */
- 1144 /* frame size = 4 */
- 1145 /* stack size = 22 */
- 1146 .L__stack_usage = 22
- 1147 002c 7C01 movw r14,r24
- 1148 002e 5B01 movw r10,r22
- 1149 0030 3A01 movw r6,r20
- 1150 0032 4901 movw r8,r18
- 1151 0034 FB01 movw r30,r22
- 1152 0:
- 1153 0036 0190 ld __tmp_reg__,Z+
- 1154 0038 0020 tst __tmp_reg__
- 1155 003a 01F4 brne 0b
- 1156 003c 3197 sbiw r30,1
- 1157 003e 2F01 movw r4,r30
- 1158 0040 461A sub r4,r22
- 1159 0042 570A sbc r5,r23
- 1160 0044 6C01 movw r12,r24
- 1161 0046 22E0 ldi r18,2
- 1162 0048 C20E add r12,r18
- 1163 004a D11C adc r13,__zero_reg__
- 1164 004c 40E0 ldi r20,0
- 1165 004e 50E0 ldi r21,0
- 1166 0050 BA01 movw r22,r20
- 1167 0052 C601 movw r24,r12
- 1168 0054 0E94 0000 call NutEventWait
- 1169 0058 80E8 ldi r24,-128
- 1170 005a 8816 cp r8,r24
- 1171 005c 9104 cpc r9,__zero_reg__
- 1172 005e 01F0 breq .L62
- 1173 0060 9C82 std Y+4,r9
- 1174 0062 8B82 std Y+3,r8
- 1175 0064 00C0 rjmp .L56
- 1176 .L62:
- 1177 0066 1C82 std Y+4,__zero_reg__
- 1178 0068 1B82 std Y+3,__zero_reg__
- 1179 .L56:
- 1180 006a 2B80 ldd r2,Y+3
- 1181 006c 3C80 ldd r3,Y+4
- 1182 006e 220C lsl r2
- 1183 0070 331C rol r3
- 1184 0072 D201 movw r26,r4
- 1185 0074 BB27 clr r27
- 1186 0076 BA83 std Y+2,r27
- 1187 0078 A983 std Y+1,r26
- 1188 .L57:
- 1189 007a AB81 ldd r26,Y+3
- 1190 007c BC81 ldd r27,Y+4
- 1191 007e A038 cpi r26,-128
- 1192 0080 B105 cpc r27,__zero_reg__
- 1193 0082 00F0 brlo .+2
- 1194 0084 00C0 rjmp .L66
- 1195 0086 D701 movw r26,r14
- 1196 0088 1796 adiw r26,7
- 1197 008a ED91 ld r30,X+
- GAS LISTING /tmp/ccjPZxVo.s page 22
- 1198 008c FC91 ld r31,X
- 1199 008e 1897 sbiw r26,7+1
- 1200 0090 E20D add r30,r2
- 1201 0092 F31D adc r31,r3
- 1202 0094 0081 ld r16,Z
- 1203 0096 1181 ldd r17,Z+1
- 1204 0098 1596 adiw r26,5
- 1205 009a 8D91 ld r24,X+
- 1206 009c 9C91 ld r25,X
- 1207 009e 1697 sbiw r26,5+1
- 1208 00a0 0817 cp r16,r24
- 1209 00a2 1907 cpc r17,r25
- 1210 00a4 00F4 brsh .L58
- 1211 00a6 20E0 ldi r18,0
- 1212 00a8 30E0 ldi r19,0
- 1213 00aa A301 movw r20,r6
- 1214 00ac B801 movw r22,r16
- 1215 00ae 8D91 ld r24,X+
- 1216 00b0 9C91 ld r25,X
- 1217 00b2 0E94 0000 call FlashReadEntry
- 1218 00b6 892B or r24,r25
- 1219 00b8 01F4 brne .L58
- 1220 00ba F301 movw r30,r6
- 1221 00bc 8181 ldd r24,Z+1
- 1222 00be 90E0 ldi r25,0
- 1223 00c0 4816 cp r4,r24
- 1224 00c2 5906 cpc r5,r25
- 1225 00c4 01F0 breq .L59
- 1226 00c6 F0E8 ldi r31,-128
- 1227 00c8 8F16 cp r8,r31
- 1228 00ca 9104 cpc r9,__zero_reg__
- 1229 00cc 01F0 breq .L58
- 1230 00ce 8415 cp r24,r4
- 1231 00d0 9505 cpc r25,r5
- 1232 00d2 04F0 brlt .L58
- 1233 .L59:
- 1234 00d4 D701 movw r26,r14
- 1235 00d6 8D91 ld r24,X+
- 1236 00d8 9C91 ld r25,X
- 1237 00da 000F lsl r16
- 1238 00dc 111F rol r17
- 1239 00de 000F lsl r16
- 1240 00e0 111F rol r17
- 1241 00e2 FC01 movw r30,r24
- 1242 00e4 6085 ldd r22,Z+8
- 1243 00e6 7185 ldd r23,Z+9
- 1244 00e8 600F add r22,r16
- 1245 00ea 711F adc r23,r17
- 1246 00ec 0488 ldd __tmp_reg__,Z+20
- 1247 00ee F589 ldd r31,Z+21
- 1248 00f0 E02D mov r30,__tmp_reg__
- 1249 00f2 0981 ldd r16,Y+1
- 1250 00f4 1A81 ldd r17,Y+2
- 1251 00f6 9501 movw r18,r10
- 1252 00f8 4AE0 ldi r20,lo8(10)
- 1253 00fa 50E0 ldi r21,0
- 1254 00fc 1995 eicall
- GAS LISTING /tmp/ccjPZxVo.s page 23
- 1255 00fe 892B or r24,r25
- 1256 0100 01F4 brne .L58
- 1257 0102 C601 movw r24,r12
- 1258 0104 0E94 0000 call NutEventPost
- 1259 0108 8B81 ldd r24,Y+3
- 1260 010a 9C81 ldd r25,Y+4
- 1261 010c 00C0 rjmp .L60
- 1262 .L58:
- 1263 010e 8B81 ldd r24,Y+3
- 1264 0110 9C81 ldd r25,Y+4
- 1265 0112 0196 adiw r24,1
- 1266 0114 9C83 std Y+4,r25
- 1267 0116 8B83 std Y+3,r24
- 1268 0118 92E0 ldi r25,2
- 1269 011a 290E add r2,r25
- 1270 011c 311C adc r3,__zero_reg__
- 1271 011e 00C0 rjmp .L57
- 1272 .L66:
- 1273 0120 C601 movw r24,r12
- 1274 0122 0E94 0000 call NutEventPost
- 1275 0126 80E8 ldi r24,lo8(-128)
- 1276 0128 90E0 ldi r25,0
- 1277 .L60:
- 1278 /* epilogue start */
- 1279 012a 0F90 pop __tmp_reg__
- 1280 012c 0F90 pop __tmp_reg__
- 1281 012e 0F90 pop __tmp_reg__
- 1282 0130 0F90 pop __tmp_reg__
- 1283 0132 DF91 pop r29
- 1284 0134 CF91 pop r28
- 1285 0136 1F91 pop r17
- 1286 0138 0F91 pop r16
- 1287 013a FF90 pop r15
- 1288 013c EF90 pop r14
- 1289 013e DF90 pop r13
- 1290 0140 CF90 pop r12
- 1291 0142 BF90 pop r11
- 1292 0144 AF90 pop r10
- 1293 0146 9F90 pop r9
- 1294 0148 8F90 pop r8
- 1295 014a 7F90 pop r7
- 1296 014c 6F90 pop r6
- 1297 014e 5F90 pop r5
- 1298 0150 4F90 pop r4
- 1299 0152 3F90 pop r3
- 1300 0154 2F90 pop r2
- 1301 0156 0895 ret
- 1302 .size EntrySearchNext, .-EntrySearchNext
- 1303 .section .text.EntryScan.isra.1,"ax",@progbits
- 1304 .type EntryScan.isra.1, @function
- 1305 EntryScan.isra.1:
- 1306 0000 8F92 push r8
- 1307 0002 9F92 push r9
- 1308 0004 AF92 push r10
- 1309 0006 BF92 push r11
- 1310 0008 CF92 push r12
- 1311 000a DF92 push r13
- GAS LISTING /tmp/ccjPZxVo.s page 24
- 1312 000c EF92 push r14
- 1313 000e FF92 push r15
- 1314 0010 0F93 push r16
- 1315 0012 1F93 push r17
- 1316 0014 CF93 push r28
- 1317 0016 DF93 push r29
- 1318 0018 CDB7 in r28,__SP_L__
- 1319 001a DEB7 in r29,__SP_H__
- 1320 001c 2897 sbiw r28,8
- 1321 001e 0FB6 in __tmp_reg__,__SREG__
- 1322 0020 F894 cli
- 1323 0022 DEBF out __SP_H__,r29
- 1324 0024 0FBE out __SREG__,__tmp_reg__
- 1325 0026 CDBF out __SP_L__,r28
- 1326 /* prologue: function */
- 1327 /* frame size = 8 */
- 1328 /* stack size = 20 */
- 1329 .L__stack_usage = 20
- 1330 0028 8C01 movw r16,r24
- 1331 002a 4B01 movw r8,r22
- 1332 002c 5B01 movw r10,r22
- 1333 002e E12C mov r14,__zero_reg__
- 1334 0030 F12C mov r15,__zero_reg__
- 1335 0032 E0E8 ldi r30,lo8(-128)
- 1336 0034 CE2E mov r12,r30
- 1337 0036 D12C mov r13,__zero_reg__
- 1338 .L68:
- 1339 0038 F801 movw r30,r16
- 1340 003a 2581 ldd r18,Z+5
- 1341 003c 3681 ldd r19,Z+6
- 1342 003e 0780 ldd __tmp_reg__,Z+7
- 1343 0040 F085 ldd r31,Z+8
- 1344 0042 E02D mov r30,__tmp_reg__
- 1345 0044 C216 cp r12,r18
- 1346 0046 D306 cpc r13,r19
- 1347 0048 00F4 brsh .L76
- 1348 004a C601 movw r24,r12
- 1349 004c 880F lsl r24
- 1350 004e 991F rol r25
- 1351 0050 E80F add r30,r24
- 1352 0052 F91F adc r31,r25
- 1353 0054 6081 ld r22,Z
- 1354 0056 7181 ldd r23,Z+1
- 1355 0058 6217 cp r22,r18
- 1356 005a 7307 cpc r23,r19
- 1357 005c 00F4 brsh .L69
- 1358 005e AE01 movw r20,r28
- 1359 0060 4F5F subi r20,-1
- 1360 0062 5F4F sbci r21,-1
- 1361 0064 D801 movw r26,r16
- 1362 0066 8D91 ld r24,X+
- 1363 0068 9C91 ld r25,X
- 1364 006a 0E94 0000 call FlashReadBlockHead
- 1365 006e 8D81 ldd r24,Y+5
- 1366 0070 9E81 ldd r25,Y+6
- 1367 0072 8815 cp r24,r8
- 1368 0074 9905 cpc r25,r9
- GAS LISTING /tmp/ccjPZxVo.s page 25
- 1369 0076 01F4 brne .L69
- 1370 0078 8F81 ldd r24,Y+7
- 1371 007a 9885 ldd r25,Y+8
- 1372 007c E816 cp r14,r24
- 1373 007e F906 cpc r15,r25
- 1374 0080 00F4 brsh .L69
- 1375 0082 7C01 movw r14,r24
- 1376 0084 5601 movw r10,r12
- 1377 .L69:
- 1378 0086 BFEF ldi r27,-1
- 1379 0088 CB1A sub r12,r27
- 1380 008a DB0A sbc r13,r27
- 1381 008c 00C0 rjmp .L68
- 1382 .L76:
- 1383 008e D801 movw r26,r16
- 1384 0090 8D91 ld r24,X+
- 1385 0092 9C91 ld r25,X
- 1386 0094 DC01 movw r26,r24
- 1387 0096 1496 adiw r26,4
- 1388 0098 8D91 ld r24,X+
- 1389 009a 9C91 ld r25,X
- 1390 009c 1597 sbiw r26,4+1
- 1391 009e 880F lsl r24
- 1392 00a0 991F rol r25
- 1393 00a2 880F lsl r24
- 1394 00a4 991F rol r25
- 1395 00a6 0997 sbiw r24,9
- 1396 00a8 8E9D mul r24,r14
- 1397 00aa 6001 movw r12,r0
- 1398 00ac 8F9D mul r24,r15
- 1399 00ae D00C add r13,r0
- 1400 00b0 9E9D mul r25,r14
- 1401 00b2 D00C add r13,r0
- 1402 00b4 1124 clr r1
- 1403 00b6 E12C mov r14,__zero_reg__
- 1404 00b8 F12C mov r15,__zero_reg__
- 1405 00ba AA0C lsl r10
- 1406 00bc BB1C rol r11
- 1407 00be EA0D add r30,r10
- 1408 00c0 FB1D adc r31,r11
- 1409 00c2 8080 ld r8,Z
- 1410 00c4 9180 ldd r9,Z+1
- 1411 00c6 880C lsl r8
- 1412 00c8 991C rol r9
- 1413 00ca 880C lsl r8
- 1414 00cc 991C rol r9
- 1415 00ce 4FEF ldi r20,lo8(-1)
- 1416 00d0 5FEF ldi r21,lo8(-1)
- 1417 00d2 64E0 ldi r22,lo8(4)
- 1418 00d4 A62E mov r10,r22
- 1419 00d6 B12C mov r11,__zero_reg__
- 1420 .L71:
- 1421 00d8 B1E0 ldi r27,1
- 1422 00da AB1A sub r10,r27
- 1423 00dc B108 sbc r11,__zero_reg__
- 1424 00de 00F0 brcs .L72
- 1425 00e0 F801 movw r30,r16
- GAS LISTING /tmp/ccjPZxVo.s page 26
- 1426 00e2 8081 ld r24,Z
- 1427 00e4 9181 ldd r25,Z+1
- 1428 00e6 DC01 movw r26,r24
- 1429 00e8 1896 adiw r26,8
- 1430 00ea 6D91 ld r22,X+
- 1431 00ec 7C91 ld r23,X
- 1432 00ee 1997 sbiw r26,8+1
- 1433 00f0 9401 movw r18,r8
- 1434 00f2 2A0D add r18,r10
- 1435 00f4 3B1D adc r19,r11
- 1436 00f6 620F add r22,r18
- 1437 00f8 731F adc r23,r19
- 1438 00fa 5696 adiw r26,22
- 1439 00fc ED91 ld r30,X+
- 1440 00fe FC91 ld r31,X
- 1441 0100 5797 sbiw r26,22+1
- 1442 0102 1995 eicall
- 1443 0104 40E0 ldi r20,0
- 1444 0106 50E0 ldi r21,0
- 1445 0108 0097 sbiw r24,0
- 1446 010a 01F0 breq .L71
- 1447 010c D801 movw r26,r16
- 1448 010e ED91 ld r30,X+
- 1449 0110 FC91 ld r31,X
- 1450 0112 4481 ldd r20,Z+4
- 1451 0114 5581 ldd r21,Z+5
- 1452 0116 A49E mul r10,r20
- 1453 0118 9001 movw r18,r0
- 1454 011a A59E mul r10,r21
- 1455 011c 300D add r19,r0
- 1456 011e B49E mul r11,r20
- 1457 0120 300D add r19,r0
- 1458 0122 1124 clr r1
- 1459 0124 0897 sbiw r24,8
- 1460 0126 820F add r24,r18
- 1461 0128 931F adc r25,r19
- 1462 012a C80E add r12,r24
- 1463 012c D91E adc r13,r25
- 1464 012e E11C adc r14,__zero_reg__
- 1465 0130 F11C adc r15,__zero_reg__
- 1466 .L72:
- 1467 0132 C701 movw r24,r14
- 1468 0134 B601 movw r22,r12
- 1469 /* epilogue start */
- 1470 0136 2896 adiw r28,8
- 1471 0138 0FB6 in __tmp_reg__,__SREG__
- 1472 013a F894 cli
- 1473 013c DEBF out __SP_H__,r29
- 1474 013e 0FBE out __SREG__,__tmp_reg__
- 1475 0140 CDBF out __SP_L__,r28
- 1476 0142 DF91 pop r29
- 1477 0144 CF91 pop r28
- 1478 0146 1F91 pop r17
- 1479 0148 0F91 pop r16
- 1480 014a FF90 pop r15
- 1481 014c EF90 pop r14
- 1482 014e DF90 pop r13
- GAS LISTING /tmp/ccjPZxVo.s page 27
- 1483 0150 CF90 pop r12
- 1484 0152 BF90 pop r11
- 1485 0154 AF90 pop r10
- 1486 0156 9F90 pop r9
- 1487 0158 8F90 pop r8
- 1488 015a 0895 ret
- 1489 .size EntryScan.isra.1, .-EntryScan.isra.1
- 1490 .section .text.PhysBlkAllocate,"ax",@progbits
- 1491 .type PhysBlkAllocate, @function
- 1492 PhysBlkAllocate:
- 1493 0000 4F92 push r4
- 1494 0002 5F92 push r5
- 1495 0004 6F92 push r6
- 1496 0006 7F92 push r7
- 1497 0008 8F92 push r8
- 1498 000a 9F92 push r9
- 1499 000c AF92 push r10
- 1500 000e BF92 push r11
- 1501 0010 CF92 push r12
- 1502 0012 DF92 push r13
- 1503 0014 EF92 push r14
- 1504 0016 FF92 push r15
- 1505 0018 0F93 push r16
- 1506 001a 1F93 push r17
- 1507 001c CF93 push r28
- 1508 001e DF93 push r29
- 1509 0020 CDB7 in r28,__SP_L__
- 1510 0022 DEB7 in r29,__SP_H__
- 1511 0024 2997 sbiw r28,9
- 1512 0026 0FB6 in __tmp_reg__,__SREG__
- 1513 0028 F894 cli
- 1514 002a DEBF out __SP_H__,r29
- 1515 002c 0FBE out __SREG__,__tmp_reg__
- 1516 002e CDBF out __SP_L__,r28
- 1517 /* prologue: function */
- 1518 /* frame size = 9 */
- 1519 /* stack size = 25 */
- 1520 .L__stack_usage = 25
- 1521 0030 8C01 movw r16,r24
- 1522 0032 6B01 movw r12,r22
- 1523 .L112:
- 1524 0034 D801 movw r26,r16
- 1525 0036 1596 adiw r26,5
- 1526 0038 8D91 ld r24,X+
- 1527 003a 9C91 ld r25,X
- 1528 003c 1697 sbiw r26,5+1
- 1529 003e C114 cp r12,__zero_reg__
- 1530 0040 D104 cpc r13,__zero_reg__
- 1531 0042 01F4 brne .L78
- 1532 0044 2091 0000 lds r18,min_used+73
- 1533 0048 3091 0000 lds r19,min_used+73+1
- 1534 004c 2817 cp r18,r24
- 1535 004e 3907 cpc r19,r25
- 1536 0050 00F0 brlo .+2
- 1537 0052 00C0 rjmp .L79
- 1538 .L78:
- 1539 0054 E0E0 ldi r30,lo8(min_used+1)
- GAS LISTING /tmp/ccjPZxVo.s page 28
- 1540 0056 F0E0 ldi r31,hi8(min_used+1)
- 1541 0058 20E0 ldi r18,0
- 1542 005a 30E0 ldi r19,0
- 1543 .L89:
- 1544 005c E080 ld r14,Z
- 1545 005e F180 ldd r15,Z+1
- 1546 0060 E816 cp r14,r24
- 1547 0062 F906 cpc r15,r25
- 1548 0064 00F0 brlo .+2
- 1549 0066 00C0 rjmp .L80
- 1550 0068 F901 movw r30,r18
- 1551 006a EE0F lsl r30
- 1552 006c FF1F rol r31
- 1553 006e 2E0F add r18,r30
- 1554 0070 3F1F adc r19,r31
- 1555 0072 F901 movw r30,r18
- 1556 0074 E050 subi r30,lo8(-(min_used))
- 1557 0076 F040 sbci r31,hi8(-(min_used))
- 1558 0078 2FEF ldi r18,lo8(-1)
- 1559 007a 3FEF ldi r19,lo8(-1)
- 1560 007c 3283 std Z+2,r19
- 1561 007e 2183 std Z+1,r18
- 1562 0080 20E0 ldi r18,0
- 1563 0082 30E0 ldi r19,0
- 1564 .L81:
- 1565 0084 8217 cp r24,r18
- 1566 0086 9307 cpc r25,r19
- 1567 0088 01F4 brne .+2
- 1568 008a 00C0 rjmp .L87
- 1569 008c 4901 movw r8,r18
- 1570 008e 880C lsl r8
- 1571 0090 991C rol r9
- 1572 0092 D801 movw r26,r16
- 1573 0094 1796 adiw r26,7
- 1574 0096 ED91 ld r30,X+
- 1575 0098 FC91 ld r31,X
- 1576 009a 1897 sbiw r26,7+1
- 1577 009c E80D add r30,r8
- 1578 009e F91D adc r31,r9
- 1579 00a0 A080 ld r10,Z
- 1580 00a2 B180 ldd r11,Z+1
- 1581 00a4 EA14 cp r14,r10
- 1582 00a6 FB04 cpc r15,r11
- 1583 00a8 01F0 breq .+2
- 1584 00aa 00C0 rjmp .L82
- 1585 00ac B601 movw r22,r12
- 1586 00ae 6F5F subi r22,-1
- 1587 00b0 7F4F sbci r23,-1
- 1588 00b2 C801 movw r24,r16
- 1589 00b4 0E94 0000 call PhysBlkAllocate
- 1590 00b8 6C01 movw r12,r24
- 1591 00ba F801 movw r30,r16
- 1592 00bc 8581 ldd r24,Z+5
- 1593 00be 9681 ldd r25,Z+6
- 1594 00c0 C816 cp r12,r24
- 1595 00c2 D906 cpc r13,r25
- 1596 00c4 00F0 brlo .+2
- GAS LISTING /tmp/ccjPZxVo.s page 29
- 1597 00c6 00C0 rjmp .L116
- 1598 00c8 8781 ldd r24,Z+7
- 1599 00ca 9085 ldd r25,Z+8
- 1600 00cc FC01 movw r30,r24
- 1601 00ce E80D add r30,r8
- 1602 00d0 F91D adc r31,r9
- 1603 00d2 D182 std Z+1,r13
- 1604 00d4 C082 st Z,r12
- 1605 00d6 AE01 movw r20,r28
- 1606 00d8 4F5F subi r20,-1
- 1607 00da 5F4F sbci r21,-1
- 1608 00dc B701 movw r22,r14
- 1609 00de D801 movw r26,r16
- 1610 00e0 8D91 ld r24,X+
- 1611 00e2 9C91 ld r25,X
- 1612 00e4 0E94 0000 call FlashReadBlockHead
- 1613 00e8 AE01 movw r20,r28
- 1614 00ea 475F subi r20,-9
- 1615 00ec 5F4F sbci r21,-1
- 1616 00ee B601 movw r22,r12
- 1617 00f0 F801 movw r30,r16
- 1618 00f2 8081 ld r24,Z
- 1619 00f4 9181 ldd r25,Z+1
- 1620 00f6 0E94 0000 call FlashReadBlockFoot
- 1621 00fa B601 movw r22,r12
- 1622 00fc D801 movw r26,r16
- 1623 00fe 8D91 ld r24,X+
- 1624 0100 9C91 ld r25,X
- 1625 0102 0E94 0000 call FlashEraseBlockData
- 1626 0106 812C mov r8,__zero_reg__
- 1627 0108 912C mov r9,__zero_reg__
- 1628 .L86:
- 1629 010a 9401 movw r18,r8
- 1630 010c A601 movw r20,r12
- 1631 010e B501 movw r22,r10
- 1632 0110 F801 movw r30,r16
- 1633 0112 8081 ld r24,Z
- 1634 0114 9181 ldd r25,Z+1
- 1635 0116 0E94 0000 call FlashUnitCopy
- 1636 011a 282D mov r18,r8
- 1637 011c D801 movw r26,r16
- 1638 011e 8D91 ld r24,X+
- 1639 0120 9C91 ld r25,X
- 1640 0122 8114 cp r8,__zero_reg__
- 1641 0124 9104 cpc r9,__zero_reg__
- 1642 0126 01F4 brne .L84
- 1643 0128 AE01 movw r20,r28
- 1644 012a 4F5F subi r20,-1
- 1645 012c 5F4F sbci r21,-1
- 1646 012e B601 movw r22,r12
- 1647 0130 0E94 0000 call FlashWriteBlockHead
- 1648 0134 00C0 rjmp .L85
- 1649 .L84:
- 1650 0136 2330 cpi r18,lo8(3)
- 1651 0138 01F4 brne .L85
- 1652 013a AE01 movw r20,r28
- 1653 013c 475F subi r20,-9
- GAS LISTING /tmp/ccjPZxVo.s page 30
- 1654 013e 5F4F sbci r21,-1
- 1655 0140 B601 movw r22,r12
- 1656 0142 0E94 0000 call FlashWriteBlockFoot
- 1657 .L85:
- 1658 0146 A401 movw r20,r8
- 1659 0148 B601 movw r22,r12
- 1660 014a F801 movw r30,r16
- 1661 014c 8081 ld r24,Z
- 1662 014e 9181 ldd r25,Z+1
- 1663 0150 0E94 0000 call FlashUnitCommit
- 1664 0154 FFEF ldi r31,-1
- 1665 0156 8F1A sub r8,r31
- 1666 0158 9F0A sbc r9,r31
- 1667 015a 44E0 ldi r20,4
- 1668 015c 8416 cp r8,r20
- 1669 015e 9104 cpc r9,__zero_reg__
- 1670 0160 01F4 brne .L86
- 1671 0162 B501 movw r22,r10
- 1672 0164 D801 movw r26,r16
- 1673 0166 8D91 ld r24,X+
- 1674 0168 9C91 ld r25,X
- 1675 016a 0E94 0000 call FlashEraseEntry
- 1676 016e 00C0 rjmp .L87
- 1677 .L82:
- 1678 0170 2F5F subi r18,-1
- 1679 0172 3F4F sbci r19,-1
- 1680 0174 00C0 rjmp .L81
- 1681 .L80:
- 1682 0176 2F5F subi r18,-1
- 1683 0178 3F4F sbci r19,-1
- 1684 017a 3396 adiw r30,3
- 1685 017c 2032 cpi r18,32
- 1686 017e 3105 cpc r19,__zero_reg__
- 1687 0180 01F0 breq .+2
- 1688 0182 00C0 rjmp .L89
- 1689 .L79:
- 1690 0184 61E0 ldi r22,lo8(1)
- 1691 0186 70E0 ldi r23,0
- 1692 0188 0E94 0000 call calloc
- 1693 018c 7C01 movw r14,r24
- 1694 018e 0097 sbiw r24,0
- 1695 0190 01F0 breq .L90
- 1696 0192 5C01 movw r10,r24
- 1697 0194 00C0 rjmp .L91
- 1698 .L126:
- 1699 0196 20E0 ldi r18,0
- 1700 0198 30E0 ldi r19,0
- 1701 .L94:
- 1702 019a 2417 cp r18,r20
- 1703 019c 3507 cpc r19,r21
- 1704 019e 01F0 breq .+2
- 1705 01a0 00C0 rjmp .L96
- 1706 01a2 F701 movw r30,r14
- 1707 01a4 9191 ld r25,Z+
- 1708 01a6 D801 movw r26,r16
- 1709 01a8 1596 adiw r26,5
- 1710 01aa 4D91 ld r20,X+
- GAS LISTING /tmp/ccjPZxVo.s page 31
- 1711 01ac 5C91 ld r21,X
- 1712 01ae 1697 sbiw r26,5+1
- 1713 01b0 292F mov r18,r25
- 1714 .L97:
- 1715 01b2 BF01 movw r22,r30
- 1716 01b4 6E19 sub r22,r14
- 1717 01b6 7F09 sbc r23,r15
- 1718 01b8 6417 cp r22,r20
- 1719 01ba 7507 cpc r23,r21
- 1720 01bc 00F4 brsh .+2
- 1721 01be 00C0 rjmp .L101
- 1722 .L104:
- 1723 01c0 40E6 ldi r20,lo8(96)
- 1724 01c2 50E0 ldi r21,0
- 1725 01c4 6FEF ldi r22,lo8(-1)
- 1726 01c6 70E0 ldi r23,0
- 1727 01c8 80E0 ldi r24,lo8(min_used)
- 1728 01ca 90E0 ldi r25,hi8(min_used)
- 1729 01cc 0E94 0000 call memset
- 1730 01d0 2701 movw r4,r14
- 1731 .L102:
- 1732 01d2 5201 movw r10,r4
- 1733 01d4 AE18 sub r10,r14
- 1734 01d6 BF08 sbc r11,r15
- 1735 01d8 F801 movw r30,r16
- 1736 01da 8581 ldd r24,Z+5
- 1737 01dc 9681 ldd r25,Z+6
- 1738 01de A816 cp r10,r24
- 1739 01e0 B906 cpc r11,r25
- 1740 01e2 00F4 brsh .+2
- 1741 01e4 00C0 rjmp .L111
- 1742 01e6 C701 movw r24,r14
- 1743 01e8 0E94 0000 call free
- 1744 01ec C114 cp r12,__zero_reg__
- 1745 01ee D104 cpc r13,__zero_reg__
- 1746 01f0 01F4 brne .+2
- 1747 01f2 00C0 rjmp .L112
- 1748 .L90:
- 1749 01f4 E12C mov r14,__zero_reg__
- 1750 01f6 F12C mov r15,__zero_reg__
- 1751 01f8 00C0 rjmp .L92
- 1752 .L91:
- 1753 01fa F801 movw r30,r16
- 1754 01fc 4581 ldd r20,Z+5
- 1755 01fe 5681 ldd r21,Z+6
- 1756 0200 B501 movw r22,r10
- 1757 0202 6E19 sub r22,r14
- 1758 0204 7F09 sbc r23,r15
- 1759 0206 6417 cp r22,r20
- 1760 0208 7507 cpc r23,r21
- 1761 020a 00F4 brsh .L126
- 1762 020c AE01 movw r20,r28
- 1763 020e 4F5F subi r20,-1
- 1764 0210 5F4F sbci r21,-1
- 1765 0212 F801 movw r30,r16
- 1766 0214 8081 ld r24,Z
- 1767 0216 9181 ldd r25,Z+1
- GAS LISTING /tmp/ccjPZxVo.s page 32
- 1768 0218 0E94 0000 call FlashReadBlockFoot
- 1769 021c 8981 ldd r24,Y+1
- 1770 021e D501 movw r26,r10
- 1771 0220 8D93 st X+,r24
- 1772 0222 5D01 movw r10,r26
- 1773 0224 00C0 rjmp .L91
- 1774 .L96:
- 1775 0226 D801 movw r26,r16
- 1776 0228 1796 adiw r26,7
- 1777 022a ED91 ld r30,X+
- 1778 022c FC91 ld r31,X
- 1779 022e 1897 sbiw r26,7+1
- 1780 0230 C901 movw r24,r18
- 1781 0232 880F lsl r24
- 1782 0234 991F rol r25
- 1783 0236 E80F add r30,r24
- 1784 0238 F91F adc r31,r25
- 1785 023a 0190 ld __tmp_reg__,Z+
- 1786 023c F081 ld r31,Z
- 1787 023e E02D mov r30,__tmp_reg__
- 1788 0240 E417 cp r30,r20
- 1789 0242 F507 cpc r31,r21
- 1790 0244 00F4 brsh .L95
- 1791 0246 EE0D add r30,r14
- 1792 0248 FF1D adc r31,r15
- 1793 024a 8081 ld r24,Z
- 1794 024c 815E subi r24,lo8(-(31))
- 1795 024e 8083 st Z,r24
- 1796 .L95:
- 1797 0250 2F5F subi r18,-1
- 1798 0252 3F4F sbci r19,-1
- 1799 0254 00C0 rjmp .L94
- 1800 .L101:
- 1801 0256 8191 ld r24,Z+
- 1802 0258 8917 cp r24,r25
- 1803 025a 00F4 brsh .L98
- 1804 025c 622F mov r22,r18
- 1805 025e 70E0 ldi r23,0
- 1806 0260 681B sub r22,r24
- 1807 0262 7109 sbc r23,__zero_reg__
- 1808 0264 6038 cpi r22,-128
- 1809 0266 7105 cpc r23,__zero_reg__
- 1810 0268 04F4 brge .L118
- 1811 026a 982F mov r25,r24
- 1812 026c 00C0 rjmp .L97
- 1813 .L98:
- 1814 026e 2817 cp r18,r24
- 1815 0270 00F0 brlo .+2
- 1816 0272 00C0 rjmp .L97
- 1817 0274 282F mov r18,r24
- 1818 0276 30E0 ldi r19,0
- 1819 0278 291B sub r18,r25
- 1820 027a 3109 sbc r19,__zero_reg__
- 1821 027c 2038 cpi r18,-128
- 1822 027e 3105 cpc r19,__zero_reg__
- 1823 0280 04F4 brge .L118
- 1824 0282 282F mov r18,r24
- GAS LISTING /tmp/ccjPZxVo.s page 33
- 1825 0284 00C0 rjmp .L97
- 1826 .L118:
- 1827 0286 F701 movw r30,r14
- 1828 .L124:
- 1829 0288 CF01 movw r24,r30
- 1830 028a 8E19 sub r24,r14
- 1831 028c 9F09 sbc r25,r15
- 1832 028e 8417 cp r24,r20
- 1833 0290 9507 cpc r25,r21
- 1834 0292 00F0 brlo .+2
- 1835 0294 00C0 rjmp .L104
- 1836 0296 8081 ld r24,Z
- 1837 0298 8058 subi r24,lo8(-(-128))
- 1838 029a 8193 st Z+,r24
- 1839 029c 00C0 rjmp .L124
- 1840 .L111:
- 1841 029e 2091 0000 lds r18,min_used+94
- 1842 02a2 3091 0000 lds r19,min_used+94+1
- 1843 02a6 8217 cp r24,r18
- 1844 02a8 9307 cpc r25,r19
- 1845 02aa 00F0 brlo .L105
- 1846 02ac 9091 0000 lds r25,min_used+93
- 1847 02b0 F201 movw r30,r4
- 1848 02b2 8081 ld r24,Z
- 1849 02b4 8917 cp r24,r25
- 1850 02b6 00F4 brsh .L106
- 1851 .L105:
- 1852 02b8 A0E0 ldi r26,lo8(min_used+96)
- 1853 02ba B0E0 ldi r27,hi8(min_used+96)
- 1854 02bc 8FE1 ldi r24,lo8(31)
- 1855 02be 90E0 ldi r25,0
- 1856 .L107:
- 1857 02c0 9C01 movw r18,r24
- 1858 02c2 2150 subi r18,1
- 1859 02c4 3109 sbc r19,__zero_reg__
- 1860 02c6 00F0 brcs .L109
- 1861 02c8 F201 movw r30,r4
- 1862 02ca 6081 ld r22,Z
- 1863 02cc AD01 movw r20,r26
- 1864 02ce 4650 subi r20,6
- 1865 02d0 5109 sbc r21,__zero_reg__
- 1866 02d2 FA01 movw r30,r20
- 1867 02d4 4081 ld r20,Z
- 1868 02d6 6417 cp r22,r20
- 1869 02d8 00F0 brlo .L108
- 1870 02da AD01 movw r20,r26
- 1871 02dc 4550 subi r20,5
- 1872 02de 5109 sbc r21,__zero_reg__
- 1873 02e0 FA01 movw r30,r20
- 1874 02e2 6081 ld r22,Z
- 1875 02e4 7181 ldd r23,Z+1
- 1876 02e6 F801 movw r30,r16
- 1877 02e8 4581 ldd r20,Z+5
- 1878 02ea 5681 ldd r21,Z+6
- 1879 02ec 6417 cp r22,r20
- 1880 02ee 7507 cpc r23,r21
- 1881 02f0 00F0 brlo .L109
- GAS LISTING /tmp/ccjPZxVo.s page 34
- 1882 .L108:
- 1883 02f2 1397 sbiw r26,3
- 1884 02f4 CD01 movw r24,r26
- 1885 02f6 0397 sbiw r24,3
- 1886 02f8 FC01 movw r30,r24
- 1887 02fa 6080 ld r6,Z
- 1888 02fc 7180 ldd r7,Z+1
- 1889 02fe 8280 ldd r8,Z+2
- 1890 0300 6D92 st X+,r6
- 1891 0302 7D92 st X+,r7
- 1892 0304 8C92 st X,r8
- 1893 0306 1297 sbiw r26,2
- 1894 0308 C901 movw r24,r18
- 1895 030a 00C0 rjmp .L107
- 1896 .L109:
- 1897 030c D201 movw r26,r4
- 1898 030e 2C91 ld r18,X
- 1899 0310 DC01 movw r26,r24
- 1900 0312 AA0F lsl r26
- 1901 0314 BB1F rol r27
- 1902 0316 8A0F add r24,r26
- 1903 0318 9B1F adc r25,r27
- 1904 031a DC01 movw r26,r24
- 1905 031c A050 subi r26,lo8(-(min_used))
- 1906 031e B040 sbci r27,hi8(-(min_used))
- 1907 0320 2C93 st X,r18
- 1908 0322 1296 adiw r26,1+1
- 1909 0324 BC92 st X,r11
- 1910 0326 AE92 st -X,r10
- 1911 0328 1197 sbiw r26,1
- 1912 .L106:
- 1913 032a BFEF ldi r27,-1
- 1914 032c 4B1A sub r4,r27
- 1915 032e 5B0A sbc r5,r27
- 1916 0330 00C0 rjmp .L102
- 1917 .L114:
- 1918 0332 AE01 movw r20,r28
- 1919 0334 4F5F subi r20,-1
- 1920 0336 5F4F sbci r21,-1
- 1921 0338 B701 movw r22,r14
- 1922 033a D801 movw r26,r16
- 1923 033c 8D91 ld r24,X+
- 1924 033e 9C91 ld r25,X
- 1925 0340 0E94 0000 call FlashReadBlockHead
- 1926 0344 2981 ldd r18,Y+1
- 1927 0346 3A81 ldd r19,Y+2
- 1928 0348 F801 movw r30,r16
- 1929 034a 8581 ldd r24,Z+5
- 1930 034c 9681 ldd r25,Z+6
- 1931 034e 2817 cp r18,r24
- 1932 0350 3907 cpc r19,r25
- 1933 0352 00F4 brsh .L87
- 1934 0354 FFEF ldi r31,-1
- 1935 0356 EF1A sub r14,r31
- 1936 0358 FF0A sbc r15,r31
- 1937 .L92:
- 1938 035a D801 movw r26,r16
- GAS LISTING /tmp/ccjPZxVo.s page 35
- 1939 035c 1596 adiw r26,5
- 1940 035e 8D91 ld r24,X+
- 1941 0360 9C91 ld r25,X
- 1942 0362 1697 sbiw r26,5+1
- 1943 0364 E816 cp r14,r24
- 1944 0366 F906 cpc r15,r25
- 1945 0368 00F0 brlo .L114
- 1946 036a 00C0 rjmp .L87
- 1947 .L116:
- 1948 036c 8FEF ldi r24,lo8(-1)
- 1949 036e 9FEF ldi r25,lo8(-1)
- 1950 0370 00C0 rjmp .L125
- 1951 .L87:
- 1952 0372 C701 movw r24,r14
- 1953 .L125:
- 1954 /* epilogue start */
- 1955 0374 2996 adiw r28,9
- 1956 0376 0FB6 in __tmp_reg__,__SREG__
- 1957 0378 F894 cli
- 1958 037a DEBF out __SP_H__,r29
- 1959 037c 0FBE out __SREG__,__tmp_reg__
- 1960 037e CDBF out __SP_L__,r28
- 1961 0380 DF91 pop r29
- 1962 0382 CF91 pop r28
- 1963 0384 1F91 pop r17
- 1964 0386 0F91 pop r16
- 1965 0388 FF90 pop r15
- 1966 038a EF90 pop r14
- 1967 038c DF90 pop r13
- 1968 038e CF90 pop r12
- 1969 0390 BF90 pop r11
- 1970 0392 AF90 pop r10
- 1971 0394 9F90 pop r9
- 1972 0396 8F90 pop r8
- 1973 0398 7F90 pop r7
- 1974 039a 6F90 pop r6
- 1975 039c 5F90 pop r5
- 1976 039e 4F90 pop r4
- 1977 03a0 0895 ret
- 1978 .size PhysBlkAllocate, .-PhysBlkAllocate
- 1979 .section .text.EntrySeek.part.4,"ax",@progbits
- 1980 .type EntrySeek.part.4, @function
- 1981 EntrySeek.part.4:
- 1982 0000 8F92 push r8
- 1983 0002 9F92 push r9
- 1984 0004 AF92 push r10
- 1985 0006 BF92 push r11
- 1986 0008 CF92 push r12
- 1987 000a DF92 push r13
- 1988 000c EF92 push r14
- 1989 000e FF92 push r15
- 1990 0010 0F93 push r16
- 1991 0012 1F93 push r17
- 1992 0014 CF93 push r28
- 1993 0016 DF93 push r29
- 1994 0018 CDB7 in r28,__SP_L__
- 1995 001a DEB7 in r29,__SP_H__
- GAS LISTING /tmp/ccjPZxVo.s page 36
- 1996 001c 2897 sbiw r28,8
- 1997 001e 0FB6 in __tmp_reg__,__SREG__
- 1998 0020 F894 cli
- 1999 0022 DEBF out __SP_H__,r29
- 2000 0024 0FBE out __SREG__,__tmp_reg__
- 2001 0026 CDBF out __SP_L__,r28
- 2002 /* prologue: function */
- 2003 /* frame size = 8 */
- 2004 /* stack size = 20 */
- 2005 .L__stack_usage = 20
- 2006 0028 7C01 movw r14,r24
- 2007 002a 5B01 movw r10,r22
- 2008 002c 4A01 movw r8,r20
- 2009 002e 6C01 movw r12,r24
- 2010 0030 82E0 ldi r24,2
- 2011 0032 C80E add r12,r24
- 2012 0034 D11C adc r13,__zero_reg__
- 2013 0036 40E0 ldi r20,0
- 2014 0038 50E0 ldi r21,0
- 2015 003a BA01 movw r22,r20
- 2016 003c C601 movw r24,r12
- 2017 003e 0E94 0000 call NutEventWait
- 2018 0042 00E8 ldi r16,lo8(-128)
- 2019 0044 10E0 ldi r17,0
- 2020 .L128:
- 2021 0046 F701 movw r30,r14
- 2022 0048 2581 ldd r18,Z+5
- 2023 004a 3681 ldd r19,Z+6
- 2024 004c 0217 cp r16,r18
- 2025 004e 1307 cpc r17,r19
- 2026 0050 00F4 brsh .L132
- 2027 0052 D701 movw r26,r14
- 2028 0054 1796 adiw r26,7
- 2029 0056 ED91 ld r30,X+
- 2030 0058 FC91 ld r31,X
- 2031 005a 1897 sbiw r26,7+1
- 2032 005c C801 movw r24,r16
- 2033 005e 880F lsl r24
- 2034 0060 991F rol r25
- 2035 0062 E80F add r30,r24
- 2036 0064 F91F adc r31,r25
- 2037 0066 6081 ld r22,Z
- 2038 0068 7181 ldd r23,Z+1
- 2039 006a 6217 cp r22,r18
- 2040 006c 7307 cpc r23,r19
- 2041 006e 00F4 brsh .L129
- 2042 0070 AE01 movw r20,r28
- 2043 0072 4F5F subi r20,-1
- 2044 0074 5F4F sbci r21,-1
- 2045 0076 8D91 ld r24,X+
- 2046 0078 9C91 ld r25,X
- 2047 007a 0E94 0000 call FlashReadBlockHead
- 2048 007e 8D81 ldd r24,Y+5
- 2049 0080 9E81 ldd r25,Y+6
- 2050 0082 8A15 cp r24,r10
- 2051 0084 9B05 cpc r25,r11
- 2052 0086 01F4 brne .L129
- GAS LISTING /tmp/ccjPZxVo.s page 37
- 2053 0088 8F81 ldd r24,Y+7
- 2054 008a 9885 ldd r25,Y+8
- 2055 008c 8815 cp r24,r8
- 2056 008e 9905 cpc r25,r9
- 2057 0090 01F0 breq .L132
- 2058 .L129:
- 2059 0092 0F5F subi r16,-1
- 2060 0094 1F4F sbci r17,-1
- 2061 0096 00C0 rjmp .L128
- 2062 .L132:
- 2063 0098 C601 movw r24,r12
- 2064 009a 0E94 0000 call NutEventPost
- 2065 009e C801 movw r24,r16
- 2066 /* epilogue start */
- 2067 00a0 2896 adiw r28,8
- 2068 00a2 0FB6 in __tmp_reg__,__SREG__
- 2069 00a4 F894 cli
- 2070 00a6 DEBF out __SP_H__,r29
- 2071 00a8 0FBE out __SREG__,__tmp_reg__
- 2072 00aa CDBF out __SP_L__,r28
- 2073 00ac DF91 pop r29
- 2074 00ae CF91 pop r28
- 2075 00b0 1F91 pop r17
- 2076 00b2 0F91 pop r16
- 2077 00b4 FF90 pop r15
- 2078 00b6 EF90 pop r14
- 2079 00b8 DF90 pop r13
- 2080 00ba CF90 pop r12
- 2081 00bc BF90 pop r11
- 2082 00be AF90 pop r10
- 2083 00c0 9F90 pop r9
- 2084 00c2 8F90 pop r8
- 2085 00c4 0895 ret
- 2086 .size EntrySeek.part.4, .-EntrySeek.part.4
- 2087 .section .text.UFlashFileRead,"ax",@progbits
- 2088 .type UFlashFileRead, @function
- 2089 UFlashFileRead:
- 2090 0000 2F92 push r2
- 2091 0002 3F92 push r3
- 2092 0004 4F92 push r4
- 2093 0006 5F92 push r5
- 2094 0008 6F92 push r6
- 2095 000a 7F92 push r7
- 2096 000c 8F92 push r8
- 2097 000e 9F92 push r9
- 2098 0010 AF92 push r10
- 2099 0012 BF92 push r11
- 2100 0014 CF92 push r12
- 2101 0016 DF92 push r13
- 2102 0018 EF92 push r14
- 2103 001a FF92 push r15
- 2104 001c 0F93 push r16
- 2105 001e 1F93 push r17
- 2106 0020 CF93 push r28
- 2107 0022 DF93 push r29
- 2108 0024 00D0 rcall .
- 2109 0026 1F92 push __zero_reg__
- GAS LISTING /tmp/ccjPZxVo.s page 38
- 2110 0028 CDB7 in r28,__SP_L__
- 2111 002a DEB7 in r29,__SP_H__
- 2112 /* prologue: function */
- 2113 /* frame size = 4 */
- 2114 /* stack size = 22 */
- 2115 .L__stack_usage = 22
- 2116 002c 1C01 movw r2,r24
- 2117 002e 3B01 movw r6,r22
- 2118 0030 672B or r22,r23
- 2119 0032 01F4 brne .+2
- 2120 0034 00C0 rjmp .L149
- 2121 0036 4115 cp r20,__zero_reg__
- 2122 0038 5105 cpc r21,__zero_reg__
- 2123 003a 01F4 brne .+2
- 2124 003c 00C0 rjmp .L149
- 2125 003e DC01 movw r26,r24
- 2126 0040 1296 adiw r26,2
- 2127 0042 0D90 ld __tmp_reg__,X+
- 2128 0044 BC91 ld r27,X
- 2129 0046 A02D mov r26,__tmp_reg__
- 2130 0048 BC83 std Y+4,r27
- 2131 004a AB83 std Y+3,r26
- 2132 004c DC01 movw r26,r24
- 2133 004e ED91 ld r30,X+
- 2134 0050 FC91 ld r31,X
- 2135 0052 A188 ldd r10,Z+17
- 2136 0054 B288 ldd r11,Z+18
- 2137 0056 EB81 ldd r30,Y+3
- 2138 0058 FC81 ldd r31,Y+4
- 2139 005a 8489 ldd r24,Z+20
- 2140 005c 9589 ldd r25,Z+21
- 2141 005e 2281 ldd r18,Z+2
- 2142 0060 3381 ldd r19,Z+3
- 2143 0062 821B sub r24,r18
- 2144 0064 930B sbc r25,r19
- 2145 0066 2A01 movw r4,r20
- 2146 0068 8417 cp r24,r20
- 2147 006a 9507 cpc r25,r21
- 2148 006c 04F4 brge .L136
- 2149 006e 2C01 movw r4,r24
- 2150 .L136:
- 2151 0070 C12C mov r12,__zero_reg__
- 2152 0072 D12C mov r13,__zero_reg__
- 2153 0074 C501 movw r24,r10
- 2154 0076 0296 adiw r24,2
- 2155 0078 9A83 std Y+2,r25
- 2156 007a 8983 std Y+1,r24
- 2157 .L137:
- 2158 007c C414 cp r12,r4
- 2159 007e D504 cpc r13,r5
- 2160 0080 04F0 brlt .+2
- 2161 0082 00C0 rjmp .L153
- 2162 0084 AB81 ldd r26,Y+3
- 2163 0086 BC81 ldd r27,Y+4
- 2164 0088 1696 adiw r26,6
- 2165 008a 2D91 ld r18,X+
- 2166 008c 3C91 ld r19,X
- GAS LISTING /tmp/ccjPZxVo.s page 39
- 2167 008e 1797 sbiw r26,6+1
- 2168 0090 F501 movw r30,r10
- 2169 0092 8581 ldd r24,Z+5
- 2170 0094 9681 ldd r25,Z+6
- 2171 0096 2817 cp r18,r24
- 2172 0098 3907 cpc r19,r25
- 2173 009a 00F0 brlo .L138
- 2174 009c 1896 adiw r26,8
- 2175 009e 4D91 ld r20,X+
- 2176 00a0 5C91 ld r21,X
- 2177 00a2 1997 sbiw r26,8+1
- 2178 00a4 8D91 ld r24,X+
- 2179 00a6 9C91 ld r25,X
- 2180 00a8 4115 cp r20,__zero_reg__
- 2181 00aa 5105 cpc r21,__zero_reg__
- 2182 00ac 01F0 breq .L139
- 2183 00ae BC01 movw r22,r24
- 2184 00b0 C501 movw r24,r10
- 2185 00b2 0E94 0000 call EntrySeek.part.4
- 2186 .L139:
- 2187 00b6 AB81 ldd r26,Y+3
- 2188 00b8 BC81 ldd r27,Y+4
- 2189 00ba 1796 adiw r26,6+1
- 2190 00bc 9C93 st X,r25
- 2191 00be 8E93 st -X,r24
- 2192 00c0 1697 sbiw r26,6
- 2193 00c2 F501 movw r30,r10
- 2194 00c4 2581 ldd r18,Z+5
- 2195 00c6 3681 ldd r19,Z+6
- 2196 00c8 8217 cp r24,r18
- 2197 00ca 9307 cpc r25,r19
- 2198 00cc 00F0 brlo .L138
- 2199 .L144:
- 2200 00ce 85E0 ldi r24,lo8(5)
- 2201 00d0 90E0 ldi r25,0
- 2202 00d2 9093 0000 sts errno+1,r25
- 2203 00d6 8093 0000 sts errno,r24
- 2204 00da 8FEF ldi r24,lo8(-1)
- 2205 00dc 9FEF ldi r25,lo8(-1)
- 2206 00de 00C0 rjmp .L135
- 2207 .L138:
- 2208 00e0 AB81 ldd r26,Y+3
- 2209 00e2 BC81 ldd r27,Y+4
- 2210 00e4 1A96 adiw r26,10
- 2211 00e6 8D90 ld r8,X+
- 2212 00e8 9C90 ld r9,X
- 2213 00ea 1B97 sbiw r26,10+1
- 2214 .L140:
- 2215 00ec 24E0 ldi r18,4
- 2216 00ee 8216 cp r8,r18
- 2217 00f0 9104 cpc r9,__zero_reg__
- 2218 00f2 04F4 brge .L137
- 2219 00f4 40E0 ldi r20,0
- 2220 00f6 50E0 ldi r21,0
- 2221 00f8 BA01 movw r22,r20
- 2222 00fa 8981 ldd r24,Y+1
- 2223 00fc 9A81 ldd r25,Y+2
- GAS LISTING /tmp/ccjPZxVo.s page 40
- 2224 00fe 0E94 0000 call NutEventWait
- 2225 0102 7201 movw r14,r4
- 2226 0104 EC18 sub r14,r12
- 2227 0106 FD08 sbc r15,r13
- 2228 0108 EB81 ldd r30,Y+3
- 2229 010a FC81 ldd r31,Y+4
- 2230 010c 4485 ldd r20,Z+12
- 2231 010e 5585 ldd r21,Z+13
- 2232 0110 0680 ldd __tmp_reg__,Z+6
- 2233 0112 F781 ldd r31,Z+7
- 2234 0114 E02D mov r30,__tmp_reg__
- 2235 0116 EE0F lsl r30
- 2236 0118 FF1F rol r31
- 2237 011a D501 movw r26,r10
- 2238 011c 1796 adiw r26,7
- 2239 011e 8D91 ld r24,X+
- 2240 0120 9C91 ld r25,X
- 2241 0122 1897 sbiw r26,7+1
- 2242 0124 E80F add r30,r24
- 2243 0126 F91F adc r31,r25
- 2244 0128 6081 ld r22,Z
- 2245 012a 7181 ldd r23,Z+1
- 2246 012c 0D90 ld __tmp_reg__,X+
- 2247 012e BC91 ld r27,X
- 2248 0130 A02D mov r26,__tmp_reg__
- 2249 0132 1496 adiw r26,4
- 2250 0134 8D91 ld r24,X+
- 2251 0136 9C91 ld r25,X
- 2252 0138 1597 sbiw r26,4+1
- 2253 013a 841B sub r24,r20
- 2254 013c 950B sbc r25,r21
- 2255 013e E3E0 ldi r30,3
- 2256 0140 8E16 cp r8,r30
- 2257 0142 9104 cpc r9,__zero_reg__
- 2258 0144 01F4 brne .L142
- 2259 0146 0197 sbiw r24,1
- 2260 .L142:
- 2261 0148 8E15 cp r24,r14
- 2262 014a 9F05 cpc r25,r15
- 2263 014c 04F4 brge .L143
- 2264 014e 7C01 movw r14,r24
- 2265 .L143:
- 2266 0150 660F lsl r22
- 2267 0152 771F rol r23
- 2268 0154 660F lsl r22
- 2269 0156 771F rol r23
- 2270 0158 1896 adiw r26,8
- 2271 015a 8D91 ld r24,X+
- 2272 015c 9C91 ld r25,X
- 2273 015e 1997 sbiw r26,8+1
- 2274 0160 680F add r22,r24
- 2275 0162 791F adc r23,r25
- 2276 0164 680D add r22,r8
- 2277 0166 791D adc r23,r9
- 2278 0168 5296 adiw r26,18
- 2279 016a ED91 ld r30,X+
- 2280 016c FC91 ld r31,X
- GAS LISTING /tmp/ccjPZxVo.s page 41
- 2281 016e 5397 sbiw r26,18+1
- 2282 0170 8701 movw r16,r14
- 2283 0172 9301 movw r18,r6
- 2284 0174 CD01 movw r24,r26
- 2285 0176 1995 eicall
- 2286 0178 8981 ldd r24,Y+1
- 2287 017a 9A81 ldd r25,Y+2
- 2288 017c 0E94 0000 call NutEventPost
- 2289 0180 F7FC sbrc r15,7
- 2290 0182 00C0 rjmp .L144
- 2291 0184 CE0C add r12,r14
- 2292 0186 DF1C adc r13,r15
- 2293 0188 6E0C add r6,r14
- 2294 018a 7F1C adc r7,r15
- 2295 018c B701 movw r22,r14
- 2296 018e C101 movw r24,r2
- 2297 0190 0E94 0000 call EntryPosInc
- 2298 0194 FFEF ldi r31,-1
- 2299 0196 8F1A sub r8,r31
- 2300 0198 9F0A sbc r9,r31
- 2301 019a C414 cp r12,r4
- 2302 019c D504 cpc r13,r5
- 2303 019e 04F4 brge .+2
- 2304 01a0 00C0 rjmp .L140
- 2305 01a2 00C0 rjmp .L137
- 2306 .L153:
- 2307 01a4 C601 movw r24,r12
- 2308 01a6 00C0 rjmp .L135
- 2309 .L149:
- 2310 01a8 80E0 ldi r24,0
- 2311 01aa 90E0 ldi r25,0
- 2312 .L135:
- 2313 /* epilogue start */
- 2314 01ac 0F90 pop __tmp_reg__
- 2315 01ae 0F90 pop __tmp_reg__
- 2316 01b0 0F90 pop __tmp_reg__
- 2317 01b2 0F90 pop __tmp_reg__
- 2318 01b4 DF91 pop r29
- 2319 01b6 CF91 pop r28
- 2320 01b8 1F91 pop r17
- 2321 01ba 0F91 pop r16
- 2322 01bc FF90 pop r15
- 2323 01be EF90 pop r14
- 2324 01c0 DF90 pop r13
- 2325 01c2 CF90 pop r12
- 2326 01c4 BF90 pop r11
- 2327 01c6 AF90 pop r10
- 2328 01c8 9F90 pop r9
- 2329 01ca 8F90 pop r8
- 2330 01cc 7F90 pop r7
- 2331 01ce 6F90 pop r6
- 2332 01d0 5F90 pop r5
- 2333 01d2 4F90 pop r4
- 2334 01d4 3F90 pop r3
- 2335 01d6 2F90 pop r2
- 2336 01d8 0895 ret
- 2337 .size UFlashFileRead, .-UFlashFileRead
- GAS LISTING /tmp/ccjPZxVo.s page 42
- 2338 .section .text.UFlashFileOpen,"ax",@progbits
- 2339 .type UFlashFileOpen, @function
- 2340 UFlashFileOpen:
- 2341 0000 2F92 push r2
- 2342 0002 3F92 push r3
- 2343 0004 4F92 push r4
- 2344 0006 5F92 push r5
- 2345 0008 6F92 push r6
- 2346 000a 7F92 push r7
- 2347 000c 8F92 push r8
- 2348 000e 9F92 push r9
- 2349 0010 AF92 push r10
- 2350 0012 BF92 push r11
- 2351 0014 CF92 push r12
- 2352 0016 DF92 push r13
- 2353 0018 EF92 push r14
- 2354 001a FF92 push r15
- 2355 001c 0F93 push r16
- 2356 001e 1F93 push r17
- 2357 0020 CF93 push r28
- 2358 0022 DF93 push r29
- 2359 0024 CDB7 in r28,__SP_L__
- 2360 0026 DEB7 in r29,__SP_H__
- 2361 0028 6597 sbiw r28,21
- 2362 002a 0FB6 in __tmp_reg__,__SREG__
- 2363 002c F894 cli
- 2364 002e DEBF out __SP_H__,r29
- 2365 0030 0FBE out __SREG__,__tmp_reg__
- 2366 0032 CDBF out __SP_L__,r28
- 2367 /* prologue: function */
- 2368 /* frame size = 21 */
- 2369 /* stack size = 39 */
- 2370 .L__stack_usage = 39
- 2371 0034 1C01 movw r2,r24
- 2372 0036 4A01 movw r8,r20
- 2373 0038 DC01 movw r26,r24
- 2374 003a 5196 adiw r26,17
- 2375 003c 0D91 ld r16,X+
- 2376 003e 1C91 ld r17,X
- 2377 0040 5297 sbiw r26,17+1
- 2378 0042 CB01 movw r24,r22
- 2379 .L155:
- 2380 0044 2C01 movw r4,r24
- 2381 0046 0196 adiw r24,1
- 2382 0048 F201 movw r30,r4
- 2383 004a 2081 ld r18,Z
- 2384 004c 2F32 cpi r18,lo8(47)
- 2385 004e 01F0 breq .L155
- 2386 0050 6AE1 ldi r22,lo8(26)
- 2387 0052 70E0 ldi r23,0
- 2388 0054 81E0 ldi r24,lo8(1)
- 2389 0056 90E0 ldi r25,0
- 2390 0058 0E94 0000 call calloc
- 2391 005c 6C01 movw r12,r24
- 2392 005e 892B or r24,r25
- 2393 0060 01F4 brne .+2
- 2394 0062 00C0 rjmp .L170
- GAS LISTING /tmp/ccjPZxVo.s page 43
- 2395 0064 C401 movw r24,r8
- 2396 0066 092C mov __tmp_reg__,r9
- 2397 0068 000C lsl r0
- 2398 006a AA0B sbc r26,r26
- 2399 006c BB0B sbc r27,r27
- 2400 006e F601 movw r30,r12
- 2401 0070 8687 std Z+14,r24
- 2402 0072 9787 std Z+15,r25
- 2403 0074 A08B std Z+16,r26
- 2404 0076 B18B std Z+17,r27
- 2405 0078 20E8 ldi r18,lo8(-128)
- 2406 007a 30E0 ldi r19,0
- 2407 007c AE01 movw r20,r28
- 2408 007e 435F subi r20,-13
- 2409 0080 5F4F sbci r21,-1
- 2410 0082 B201 movw r22,r4
- 2411 0084 C801 movw r24,r16
- 2412 0086 0E94 0000 call EntrySearchNext
- 2413 008a 7C01 movw r14,r24
- 2414 008c 3801 movw r6,r16
- 2415 008e F2E0 ldi r31,2
- 2416 0090 6F0E add r6,r31
- 2417 0092 711C adc r7,__zero_reg__
- 2418 0094 40E0 ldi r20,0
- 2419 0096 50E0 ldi r21,0
- 2420 0098 BA01 movw r22,r20
- 2421 009a C301 movw r24,r6
- 2422 009c 0E94 0000 call NutEventWait
- 2423 00a0 20E8 ldi r18,-128
- 2424 00a2 E216 cp r14,r18
- 2425 00a4 F104 cpc r15,__zero_reg__
- 2426 00a6 00F0 brlo .+2
- 2427 00a8 00C0 rjmp .L157
- 2428 00aa C401 movw r24,r8
- 2429 00ac 8827 clr r24
- 2430 00ae 9570 andi r25,5
- 2431 00b0 8115 cp r24,__zero_reg__
- 2432 00b2 9540 sbci r25,5
- 2433 00b4 01F4 brne .L158
- 2434 00b6 81E1 ldi r24,lo8(17)
- 2435 00b8 90E0 ldi r25,0
- 2436 00ba 00C0 rjmp .L178
- 2437 .L158:
- 2438 00bc 91FE sbrs r9,1
- 2439 00be 00C0 rjmp .L160
- 2440 00c0 1A86 std Y+10,__zero_reg__
- 2441 00c2 1986 std Y+9,__zero_reg__
- 2442 00c4 B701 movw r22,r14
- 2443 00c6 C801 movw r24,r16
- 2444 00c8 0E94 0000 call EntryTruncateSeq
- 2445 00cc 60E0 ldi r22,0
- 2446 00ce 70E0 ldi r23,0
- 2447 00d0 C801 movw r24,r16
- 2448 00d2 0E94 0000 call PhysBlkAllocate
- 2449 00d6 5C01 movw r10,r24
- 2450 00d8 D801 movw r26,r16
- 2451 00da 1596 adiw r26,5
- GAS LISTING /tmp/ccjPZxVo.s page 44
- 2452 00dc 8D91 ld r24,X+
- 2453 00de 9C91 ld r25,X
- 2454 00e0 1697 sbiw r26,5+1
- 2455 00e2 A816 cp r10,r24
- 2456 00e4 B906 cpc r11,r25
- 2457 00e6 00F0 brlo .+2
- 2458 00e8 00C0 rjmp .L171
- 2459 00ea 1796 adiw r26,7
- 2460 00ec ED91 ld r30,X+
- 2461 00ee FC91 ld r31,X
- 2462 00f0 1897 sbiw r26,7+1
- 2463 00f2 C701 movw r24,r14
- 2464 00f4 880F lsl r24
- 2465 00f6 991F rol r25
- 2466 00f8 E80F add r30,r24
- 2467 00fa F91F adc r31,r25
- 2468 00fc 4080 ld r4,Z
- 2469 00fe 5180 ldd r5,Z+1
- 2470 0100 B182 std Z+1,r11
- 2471 0102 A082 st Z,r10
- 2472 0104 AE01 movw r20,r28
- 2473 0106 415F subi r20,-15
- 2474 0108 5F4F sbci r21,-1
- 2475 010a B501 movw r22,r10
- 2476 010c 8D91 ld r24,X+
- 2477 010e 9C91 ld r25,X
- 2478 0110 0E94 0000 call FlashReadBlockFoot
- 2479 0114 B501 movw r22,r10
- 2480 0116 F801 movw r30,r16
- 2481 0118 8081 ld r24,Z
- 2482 011a 9181 ldd r25,Z+1
- 2483 011c 0E94 0000 call FlashEraseBlockData
- 2484 0120 AE01 movw r20,r28
- 2485 0122 4F5F subi r20,-1
- 2486 0124 5F4F sbci r21,-1
- 2487 0126 B201 movw r22,r4
- 2488 0128 D801 movw r26,r16
- 2489 012a 8D91 ld r24,X+
- 2490 012c 9C91 ld r25,X
- 2491 012e 0E94 0000 call FlashReadBlockHead
- 2492 0132 9E01 movw r18,r28
- 2493 0134 275F subi r18,-9
- 2494 0136 3F4F sbci r19,-1
- 2495 0138 AE01 movw r20,r28
- 2496 013a 455F subi r20,-11
- 2497 013c 5F4F sbci r21,-1
- 2498 013e B201 movw r22,r4
- 2499 0140 F801 movw r30,r16
- 2500 0142 8081 ld r24,Z
- 2501 0144 9181 ldd r25,Z+1
- 2502 0146 0E94 0000 call FlashReadEntry
- 2503 014a AE01 movw r20,r28
- 2504 014c 4F5F subi r20,-1
- 2505 014e 5F4F sbci r21,-1
- 2506 0150 B501 movw r22,r10
- 2507 0152 D801 movw r26,r16
- 2508 0154 8D91 ld r24,X+
- GAS LISTING /tmp/ccjPZxVo.s page 45
- 2509 0156 9C91 ld r25,X
- 2510 0158 0E94 0000 call FlashWriteBlockHead
- 2511 015c 2985 ldd r18,Y+9
- 2512 015e 3A85 ldd r19,Y+10
- 2513 0160 AE01 movw r20,r28
- 2514 0162 455F subi r20,-11
- 2515 0164 5F4F sbci r21,-1
- 2516 0166 B501 movw r22,r10
- 2517 0168 F801 movw r30,r16
- 2518 016a 8081 ld r24,Z
- 2519 016c 9181 ldd r25,Z+1
- 2520 016e 0E94 0000 call FlashWriteEntry
- 2521 0172 8985 ldd r24,Y+9
- 2522 0174 9A85 ldd r25,Y+10
- 2523 0176 0E94 0000 call free
- 2524 017a 40E0 ldi r20,0
- 2525 017c 50E0 ldi r21,0
- 2526 017e B501 movw r22,r10
- 2527 0180 D801 movw r26,r16
- 2528 0182 8D91 ld r24,X+
- 2529 0184 9C91 ld r25,X
- 2530 0186 0E94 0000 call FlashUnitCommit
- 2531 018a AE01 movw r20,r28
- 2532 018c 415F subi r20,-15
- 2533 018e 5F4F sbci r21,-1
- 2534 0190 B501 movw r22,r10
- 2535 0192 F801 movw r30,r16
- 2536 0194 8081 ld r24,Z
- 2537 0196 9181 ldd r25,Z+1
- 2538 0198 0E94 0000 call FlashWriteBlockFoot
- 2539 019c 43E0 ldi r20,lo8(3)
- 2540 019e 50E0 ldi r21,0
- 2541 01a0 B501 movw r22,r10
- 2542 01a2 D801 movw r26,r16
- 2543 01a4 8D91 ld r24,X+
- 2544 01a6 9C91 ld r25,X
- 2545 01a8 0E94 0000 call FlashUnitCommit
- 2546 01ac B201 movw r22,r4
- 2547 01ae F801 movw r30,r16
- 2548 01b0 8081 ld r24,Z
- 2549 01b2 9181 ldd r25,Z+1
- 2550 01b4 0E94 0000 call FlashEraseEntry
- 2551 01b8 80E0 ldi r24,0
- 2552 01ba 90E0 ldi r25,0
- 2553 01bc 00C0 rjmp .L161
- 2554 .L171:
- 2555 01be 8FEF ldi r24,lo8(-1)
- 2556 01c0 9FEF ldi r25,lo8(-1)
- 2557 .L161:
- 2558 01c2 892B or r24,r25
- 2559 01c4 01F4 brne .+2
- 2560 01c6 00C0 rjmp .L176
- 2561 01c8 00C0 rjmp .L159
- 2562 .L160:
- 2563 01ca B701 movw r22,r14
- 2564 01cc C801 movw r24,r16
- 2565 01ce 0E94 0000 call EntryScan.isra.1
- GAS LISTING /tmp/ccjPZxVo.s page 46
- 2566 01d2 2E85 ldd r18,Y+14
- 2567 01d4 30E0 ldi r19,0
- 2568 01d6 2E5F subi r18,-2
- 2569 01d8 3F4F sbci r19,-1
- 2570 01da AB01 movw r20,r22
- 2571 01dc BC01 movw r22,r24
- 2572 01de 421B sub r20,r18
- 2573 01e0 530B sbc r21,r19
- 2574 01e2 6109 sbc r22,__zero_reg__
- 2575 01e4 7109 sbc r23,__zero_reg__
- 2576 01e6 00C0 rjmp .L162
- 2577 .L157:
- 2578 01e8 90FE sbrs r9,0
- 2579 01ea 00C0 rjmp .L164
- 2580 01ec D801 movw r26,r16
- 2581 01ee 1596 adiw r26,5
- 2582 01f0 2D91 ld r18,X+
- 2583 01f2 3C91 ld r19,X
- 2584 01f4 1697 sbiw r26,5+1
- 2585 01f6 1796 adiw r26,7
- 2586 01f8 8D91 ld r24,X+
- 2587 01fa 9C91 ld r25,X
- 2588 01fc 1897 sbiw r26,7+1
- 2589 01fe E12C mov r14,__zero_reg__
- 2590 0200 F12C mov r15,__zero_reg__
- 2591 .L166:
- 2592 0202 A701 movw r20,r14
- 2593 0204 440F lsl r20
- 2594 0206 551F rol r21
- 2595 0208 598B std Y+17,r21
- 2596 020a 488B std Y+16,r20
- 2597 020c 5C01 movw r10,r24
- 2598 020e 0296 adiw r24,2
- 2599 0210 D501 movw r26,r10
- 2600 0212 4D91 ld r20,X+
- 2601 0214 5C91 ld r21,X
- 2602 0216 4217 cp r20,r18
- 2603 0218 5307 cpc r21,r19
- 2604 021a 00F4 brsh .+2
- 2605 021c 00C0 rjmp .L165
- 2606 021e 60E0 ldi r22,0
- 2607 0220 70E0 ldi r23,0
- 2608 0222 C801 movw r24,r16
- 2609 0224 0E94 0000 call PhysBlkAllocate
- 2610 0228 F501 movw r30,r10
- 2611 022a 9183 std Z+1,r25
- 2612 022c 8083 st Z,r24
- 2613 022e F201 movw r30,r4
- 2614 0:
- 2615 0230 0190 ld __tmp_reg__,Z+
- 2616 0232 0020 tst __tmp_reg__
- 2617 0234 01F4 brne 0b
- 2618 0236 3197 sbiw r30,1
- 2619 0238 E419 sub r30,r4
- 2620 023a F509 sbc r31,r5
- 2621 023c EE87 std Y+14,r30
- 2622 023e 1D86 std Y+13,__zero_reg__
- GAS LISTING /tmp/ccjPZxVo.s page 47
- 2623 0240 D801 movw r26,r16
- 2624 0242 1796 adiw r26,7
- 2625 0244 ED91 ld r30,X+
- 2626 0246 FC91 ld r31,X
- 2627 0248 1897 sbiw r26,7+1
- 2628 024a 4889 ldd r20,Y+16
- 2629 024c 5989 ldd r21,Y+17
- 2630 024e E40F add r30,r20
- 2631 0250 F51F adc r31,r21
- 2632 0252 A080 ld r10,Z
- 2633 0254 B180 ldd r11,Z+1
- 2634 0256 AE01 movw r20,r28
- 2635 0258 475F subi r20,-9
- 2636 025a 5F4F sbci r21,-1
- 2637 025c B501 movw r22,r10
- 2638 025e 8D91 ld r24,X+
- 2639 0260 9C91 ld r25,X
- 2640 0262 0E94 0000 call FlashReadBlockFoot
- 2641 0266 B501 movw r22,r10
- 2642 0268 D801 movw r26,r16
- 2643 026a 8D91 ld r24,X+
- 2644 026c 9C91 ld r25,X
- 2645 026e 0E94 0000 call FlashEraseBlockData
- 2646 0272 FA82 std Y+2,r15
- 2647 0274 E982 std Y+1,r14
- 2648 0276 8FEF ldi r24,lo8(-1)
- 2649 0278 9FEF ldi r25,lo8(-1)
- 2650 027a 9C83 std Y+4,r25
- 2651 027c 8B83 std Y+3,r24
- 2652 027e FE82 std Y+6,r15
- 2653 0280 ED82 std Y+5,r14
- 2654 0282 1886 std Y+8,__zero_reg__
- 2655 0284 1F82 std Y+7,__zero_reg__
- 2656 0286 AE01 movw r20,r28
- 2657 0288 4F5F subi r20,-1
- 2658 028a 5F4F sbci r21,-1
- 2659 028c B501 movw r22,r10
- 2660 028e F801 movw r30,r16
- 2661 0290 8081 ld r24,Z
- 2662 0292 9181 ldd r25,Z+1
- 2663 0294 0E94 0000 call FlashWriteBlockHead
- 2664 0298 9201 movw r18,r4
- 2665 029a AE01 movw r20,r28
- 2666 029c 435F subi r20,-13
- 2667 029e 5F4F sbci r21,-1
- 2668 02a0 B501 movw r22,r10
- 2669 02a2 D801 movw r26,r16
- 2670 02a4 8D91 ld r24,X+
- 2671 02a6 9C91 ld r25,X
- 2672 02a8 0E94 0000 call FlashWriteEntry
- 2673 02ac 40E0 ldi r20,0
- 2674 02ae 50E0 ldi r21,0
- 2675 02b0 B501 movw r22,r10
- 2676 02b2 F801 movw r30,r16
- 2677 02b4 8081 ld r24,Z
- 2678 02b6 9181 ldd r25,Z+1
- 2679 02b8 0E94 0000 call FlashUnitCommit
- GAS LISTING /tmp/ccjPZxVo.s page 48
- 2680 02bc AE01 movw r20,r28
- 2681 02be 475F subi r20,-9
- 2682 02c0 5F4F sbci r21,-1
- 2683 02c2 B501 movw r22,r10
- 2684 02c4 D801 movw r26,r16
- 2685 02c6 8D91 ld r24,X+
- 2686 02c8 9C91 ld r25,X
- 2687 02ca 0E94 0000 call FlashWriteBlockFoot
- 2688 02ce 43E0 ldi r20,lo8(3)
- 2689 02d0 50E0 ldi r21,0
- 2690 02d2 B501 movw r22,r10
- 2691 02d4 F801 movw r30,r16
- 2692 02d6 8081 ld r24,Z
- 2693 02d8 9181 ldd r25,Z+1
- 2694 02da 0E94 0000 call FlashUnitCommit
- 2695 .L176:
- 2696 02de 40E0 ldi r20,0
- 2697 02e0 50E0 ldi r21,0
- 2698 02e2 BA01 movw r22,r20
- 2699 02e4 00C0 rjmp .L162
- 2700 .L165:
- 2701 02e6 FFEF ldi r31,-1
- 2702 02e8 EF1A sub r14,r31
- 2703 02ea FF0A sbc r15,r31
- 2704 02ec 40E8 ldi r20,-128
- 2705 02ee E416 cp r14,r20
- 2706 02f0 F104 cpc r15,__zero_reg__
- 2707 02f2 01F0 breq .+2
- 2708 02f4 00C0 rjmp .L166
- 2709 02f6 00C0 rjmp .L159
- 2710 .L164:
- 2711 02f8 82E0 ldi r24,lo8(2)
- 2712 02fa 90E0 ldi r25,0
- 2713 .L178:
- 2714 02fc 9093 0000 sts errno+1,r25
- 2715 0300 8093 0000 sts errno,r24
- 2716 0304 00C0 rjmp .L159
- 2717 .L162:
- 2718 0306 8D85 ldd r24,Y+13
- 2719 0308 D601 movw r26,r12
- 2720 030a 5296 adiw r26,18
- 2721 030c 8C93 st X,r24
- 2722 030e 5297 sbiw r26,18
- 2723 0310 8E85 ldd r24,Y+14
- 2724 0312 5396 adiw r26,19
- 2725 0314 8C93 st X,r24
- 2726 0316 5397 sbiw r26,19
- 2727 0318 90E0 ldi r25,0
- 2728 031a 0296 adiw r24,2
- 2729 031c 5996 adiw r26,24+1
- 2730 031e 9C93 st X,r25
- 2731 0320 8E93 st -X,r24
- 2732 0322 5897 sbiw r26,24
- 2733 0324 ED92 st X+,r14
- 2734 0326 FC92 st X,r15
- 2735 0328 F601 movw r30,r12
- 2736 032a 448B std Z+20,r20
- GAS LISTING /tmp/ccjPZxVo.s page 49
- 2737 032c 558B std Z+21,r21
- 2738 032e 668B std Z+22,r22
- 2739 0330 778B std Z+23,r23
- 2740 0332 84E0 ldi r24,lo8(4)
- 2741 0334 90E0 ldi r25,0
- 2742 0336 4A8B std Y+18,r20
- 2743 0338 5B8B std Y+19,r21
- 2744 033a 6C8B std Y+20,r22
- 2745 033c 7D8B std Y+21,r23
- 2746 033e 0E94 0000 call malloc
- 2747 0342 8C01 movw r16,r24
- 2748 0344 4A89 ldd r20,Y+18
- 2749 0346 5B89 ldd r21,Y+19
- 2750 0348 6C89 ldd r22,Y+20
- 2751 034a 7D89 ldd r23,Y+21
- 2752 034c 0097 sbiw r24,0
- 2753 034e 01F4 brne .L167
- 2754 0350 C601 movw r24,r12
- 2755 0352 0E94 0000 call free
- 2756 0356 C301 movw r24,r6
- 2757 0358 0E94 0000 call NutEventPost
- 2758 035c 00C0 rjmp .L170
- 2759 .L167:
- 2760 035e DC01 movw r26,r24
- 2761 0360 1196 adiw r26,1
- 2762 0362 3C92 st X,r3
- 2763 0364 2E92 st -X,r2
- 2764 0366 1396 adiw r26,2+1
- 2765 0368 DC92 st X,r13
- 2766 036a CE92 st -X,r12
- 2767 036c 1297 sbiw r26,2
- 2768 036e 83FE sbrs r8,3
- 2769 0370 00C0 rjmp .L168
- 2770 0372 8FEF ldi r24,lo8(-1)
- 2771 0374 9FEF ldi r25,lo8(-1)
- 2772 0376 F601 movw r30,r12
- 2773 0378 9783 std Z+7,r25
- 2774 037a 8683 std Z+6,r24
- 2775 037c 00C0 rjmp .L177
- 2776 .L168:
- 2777 037e D601 movw r26,r12
- 2778 0380 1796 adiw r26,6+1
- 2779 0382 FC92 st X,r15
- 2780 0384 EE92 st -X,r14
- 2781 0386 1697 sbiw r26,6
- 2782 0388 40E0 ldi r20,0
- 2783 038a 50E0 ldi r21,0
- 2784 038c BA01 movw r22,r20
- 2785 .L177:
- 2786 038e C801 movw r24,r16
- 2787 0390 0E94 0000 call EntryPosSet
- 2788 .L169:
- 2789 0394 C301 movw r24,r6
- 2790 0396 0E94 0000 call NutEventPost
- 2791 039a C801 movw r24,r16
- 2792 039c 00C0 rjmp .L175
- 2793 .L170:
- GAS LISTING /tmp/ccjPZxVo.s page 50
- 2794 039e 8FEF ldi r24,lo8(-1)
- 2795 03a0 9FEF ldi r25,lo8(-1)
- 2796 03a2 00C0 rjmp .L175
- 2797 .L159:
- 2798 03a4 C601 movw r24,r12
- 2799 03a6 0E94 0000 call free
- 2800 03aa 0FEF ldi r16,lo8(-1)
- 2801 03ac 1FEF ldi r17,lo8(-1)
- 2802 03ae 00C0 rjmp .L169
- 2803 .L175:
- 2804 /* epilogue start */
- 2805 03b0 6596 adiw r28,21
- 2806 03b2 0FB6 in __tmp_reg__,__SREG__
- 2807 03b4 F894 cli
- 2808 03b6 DEBF out __SP_H__,r29
- 2809 03b8 0FBE out __SREG__,__tmp_reg__
- 2810 03ba CDBF out __SP_L__,r28
- 2811 03bc DF91 pop r29
- 2812 03be CF91 pop r28
- 2813 03c0 1F91 pop r17
- 2814 03c2 0F91 pop r16
- 2815 03c4 FF90 pop r15
- 2816 03c6 EF90 pop r14
- 2817 03c8 DF90 pop r13
- 2818 03ca CF90 pop r12
- 2819 03cc BF90 pop r11
- 2820 03ce AF90 pop r10
- 2821 03d0 9F90 pop r9
- 2822 03d2 8F90 pop r8
- 2823 03d4 7F90 pop r7
- 2824 03d6 6F90 pop r6
- 2825 03d8 5F90 pop r5
- 2826 03da 4F90 pop r4
- 2827 03dc 3F90 pop r3
- 2828 03de 2F90 pop r2
- 2829 03e0 0895 ret
- 2830 .size UFlashFileOpen, .-UFlashFileOpen
- 2831 .section .text.UFlashFileWrite,"ax",@progbits
- 2832 .type UFlashFileWrite, @function
- 2833 UFlashFileWrite:
- 2834 0000 2F92 push r2
- 2835 0002 3F92 push r3
- 2836 0004 4F92 push r4
- 2837 0006 5F92 push r5
- 2838 0008 6F92 push r6
- 2839 000a 7F92 push r7
- 2840 000c 8F92 push r8
- 2841 000e 9F92 push r9
- 2842 0010 AF92 push r10
- 2843 0012 BF92 push r11
- 2844 0014 CF92 push r12
- 2845 0016 DF92 push r13
- 2846 0018 EF92 push r14
- 2847 001a FF92 push r15
- 2848 001c 0F93 push r16
- 2849 001e 1F93 push r17
- 2850 0020 CF93 push r28
- GAS LISTING /tmp/ccjPZxVo.s page 51
- 2851 0022 DF93 push r29
- 2852 0024 CDB7 in r28,__SP_L__
- 2853 0026 DEB7 in r29,__SP_H__
- 2854 0028 6397 sbiw r28,19
- 2855 002a 0FB6 in __tmp_reg__,__SREG__
- 2856 002c F894 cli
- 2857 002e DEBF out __SP_H__,r29
- 2858 0030 0FBE out __SREG__,__tmp_reg__
- 2859 0032 CDBF out __SP_L__,r28
- 2860 /* prologue: function */
- 2861 /* frame size = 19 */
- 2862 /* stack size = 37 */
- 2863 .L__stack_usage = 37
- 2864 0034 998B std Y+17,r25
- 2865 0036 888B std Y+16,r24
- 2866 0038 7B87 std Y+11,r23
- 2867 003a 6A87 std Y+10,r22
- 2868 003c 5D87 std Y+13,r21
- 2869 003e 4C87 std Y+12,r20
- 2870 0040 672B or r22,r23
- 2871 0042 01F4 brne .+2
- 2872 0044 00C0 rjmp .L205
- 2873 0046 4115 cp r20,__zero_reg__
- 2874 0048 5105 cpc r21,__zero_reg__
- 2875 004a 01F4 brne .+2
- 2876 004c 00C0 rjmp .L205
- 2877 004e DC01 movw r26,r24
- 2878 0050 1296 adiw r26,2
- 2879 0052 4D90 ld r4,X+
- 2880 0054 5C90 ld r5,X
- 2881 0056 1397 sbiw r26,2+1
- 2882 0058 ED91 ld r30,X+
- 2883 005a FC91 ld r31,X
- 2884 005c E188 ldd r14,Z+17
- 2885 005e F288 ldd r15,Z+18
- 2886 0060 1A01 movw r2,r20
- 2887 0062 F701 movw r30,r14
- 2888 0064 3296 adiw r30,2
- 2889 0066 FF87 std Y+15,r31
- 2890 0068 EE87 std Y+14,r30
- 2891 .L203:
- 2892 006a D201 movw r26,r4
- 2893 006c 1696 adiw r26,6
- 2894 006e 2D91 ld r18,X+
- 2895 0070 3C91 ld r19,X
- 2896 0072 1797 sbiw r26,6+1
- 2897 0074 F701 movw r30,r14
- 2898 0076 8581 ldd r24,Z+5
- 2899 0078 9681 ldd r25,Z+6
- 2900 007a 2817 cp r18,r24
- 2901 007c 3907 cpc r19,r25
- 2902 007e 00F0 brlo .L181
- 2903 0080 1896 adiw r26,8
- 2904 0082 4D91 ld r20,X+
- 2905 0084 5C91 ld r21,X
- 2906 0086 1997 sbiw r26,8+1
- 2907 0088 8D91 ld r24,X+
- GAS LISTING /tmp/ccjPZxVo.s page 52
- 2908 008a 9C91 ld r25,X
- 2909 008c 4115 cp r20,__zero_reg__
- 2910 008e 5105 cpc r21,__zero_reg__
- 2911 0090 01F0 breq .L182
- 2912 0092 BC01 movw r22,r24
- 2913 0094 C701 movw r24,r14
- 2914 0096 0E94 0000 call EntrySeek.part.4
- 2915 .L182:
- 2916 009a D201 movw r26,r4
- 2917 009c 1796 adiw r26,6+1
- 2918 009e 9C93 st X,r25
- 2919 00a0 8E93 st -X,r24
- 2920 00a2 1697 sbiw r26,6
- 2921 .L181:
- 2922 00a4 40E0 ldi r20,0
- 2923 00a6 50E0 ldi r21,0
- 2924 00a8 BA01 movw r22,r20
- 2925 00aa 8E85 ldd r24,Y+14
- 2926 00ac 9F85 ldd r25,Y+15
- 2927 00ae 0E94 0000 call NutEventWait
- 2928 00b2 F201 movw r30,r4
- 2929 00b4 0681 ldd r16,Z+6
- 2930 00b6 1781 ldd r17,Z+7
- 2931 00b8 D701 movw r26,r14
- 2932 00ba 1596 adiw r26,5
- 2933 00bc 8D91 ld r24,X+
- 2934 00be 9C91 ld r25,X
- 2935 00c0 1697 sbiw r26,5+1
- 2936 00c2 0817 cp r16,r24
- 2937 00c4 1907 cpc r17,r25
- 2938 00c6 00F0 brlo .L183
- 2939 00c8 00E8 ldi r16,lo8(-128)
- 2940 00ca 10E0 ldi r17,0
- 2941 00cc 00C0 rjmp .L184
- 2942 .L183:
- 2943 00ce 60E0 ldi r22,0
- 2944 00d0 70E0 ldi r23,0
- 2945 00d2 C701 movw r24,r14
- 2946 00d4 0E94 0000 call PhysBlkAllocate
- 2947 00d8 5C01 movw r10,r24
- 2948 00da F701 movw r30,r14
- 2949 00dc 8581 ldd r24,Z+5
- 2950 00de 9681 ldd r25,Z+6
- 2951 00e0 A816 cp r10,r24
- 2952 00e2 B906 cpc r11,r25
- 2953 00e4 00F4 brsh .L185
- 2954 00e6 000F lsl r16
- 2955 00e8 111F rol r17
- 2956 00ea 0780 ldd __tmp_reg__,Z+7
- 2957 00ec F085 ldd r31,Z+8
- 2958 00ee E02D mov r30,__tmp_reg__
- 2959 00f0 E00F add r30,r16
- 2960 00f2 F11F adc r31,r17
- 2961 00f4 9081 ld r25,Z
- 2962 00f6 8181 ldd r24,Z+1
- 2963 00f8 B182 std Z+1,r11
- 2964 00fa A082 st Z,r10
- GAS LISTING /tmp/ccjPZxVo.s page 53
- 2965 00fc A92E mov r10,r25
- 2966 00fe B82E mov r11,r24
- 2967 .L185:
- 2968 0100 D701 movw r26,r14
- 2969 0102 1596 adiw r26,5
- 2970 0104 8D91 ld r24,X+
- 2971 0106 9C91 ld r25,X
- 2972 0108 1697 sbiw r26,5+1
- 2973 010a A816 cp r10,r24
- 2974 010c B906 cpc r11,r25
- 2975 010e 00F4 brsh .L214
- 2976 0110 AE01 movw r20,r28
- 2977 0112 4F5F subi r20,-1
- 2978 0114 5F4F sbci r21,-1
- 2979 0116 B501 movw r22,r10
- 2980 0118 F701 movw r30,r14
- 2981 011a 8081 ld r24,Z
- 2982 011c 9181 ldd r25,Z+1
- 2983 011e 0E94 0000 call FlashReadBlockHead
- 2984 0122 00C0 rjmp .L188
- 2985 .L189:
- 2986 0124 0F5F subi r16,-1
- 2987 0126 1F4F sbci r17,-1
- 2988 .L184:
- 2989 0128 0817 cp r16,r24
- 2990 012a 1907 cpc r17,r25
- 2991 012c 00F4 brsh .L190
- 2992 012e D701 movw r26,r14
- 2993 0130 1796 adiw r26,7
- 2994 0132 CD90 ld r12,X+
- 2995 0134 DC90 ld r13,X
- 2996 0136 1897 sbiw r26,7+1
- 2997 0138 9801 movw r18,r16
- 2998 013a 220F lsl r18
- 2999 013c 331F rol r19
- 3000 013e C20E add r12,r18
- 3001 0140 D31E adc r13,r19
- 3002 0142 F601 movw r30,r12
- 3003 0144 2081 ld r18,Z
- 3004 0146 3181 ldd r19,Z+1
- 3005 0148 2817 cp r18,r24
- 3006 014a 3907 cpc r19,r25
- 3007 014c 00F0 brlo .L189
- 3008 014e 60E0 ldi r22,0
- 3009 0150 70E0 ldi r23,0
- 3010 0152 C701 movw r24,r14
- 3011 0154 0E94 0000 call PhysBlkAllocate
- 3012 0158 D601 movw r26,r12
- 3013 015a 8D93 st X+,r24
- 3014 015c 9C93 st X,r25
- 3015 .L190:
- 3016 015e F201 movw r30,r4
- 3017 0160 1783 std Z+7,r17
- 3018 0162 0683 std Z+6,r16
- 3019 0164 D701 movw r26,r14
- 3020 0166 1596 adiw r26,5
- 3021 0168 8D91 ld r24,X+
- GAS LISTING /tmp/ccjPZxVo.s page 54
- 3022 016a 9C91 ld r25,X
- 3023 016c 1697 sbiw r26,5+1
- 3024 016e 0817 cp r16,r24
- 3025 0170 1907 cpc r17,r25
- 3026 0172 00F0 brlo .L192
- 3027 .L214:
- 3028 0174 8E85 ldd r24,Y+14
- 3029 0176 9F85 ldd r25,Y+15
- 3030 0178 0E94 0000 call NutEventPost
- 3031 017c 8FEF ldi r24,lo8(-1)
- 3032 017e 9FEF ldi r25,lo8(-1)
- 3033 0180 00C0 rjmp .L180
- 3034 .L192:
- 3035 0182 C801 movw r24,r16
- 3036 0184 880F lsl r24
- 3037 0186 991F rol r25
- 3038 0188 D701 movw r26,r14
- 3039 018a 1796 adiw r26,7
- 3040 018c ED91 ld r30,X+
- 3041 018e FC91 ld r31,X
- 3042 0190 1897 sbiw r26,7+1
- 3043 0192 E80F add r30,r24
- 3044 0194 F91F adc r31,r25
- 3045 0196 A080 ld r10,Z
- 3046 0198 B180 ldd r11,Z+1
- 3047 019a 1A83 std Y+2,r17
- 3048 019c 0983 std Y+1,r16
- 3049 019e F201 movw r30,r4
- 3050 01a0 8081 ld r24,Z
- 3051 01a2 9181 ldd r25,Z+1
- 3052 01a4 9E83 std Y+6,r25
- 3053 01a6 8D83 std Y+5,r24
- 3054 01a8 8085 ldd r24,Z+8
- 3055 01aa 9185 ldd r25,Z+9
- 3056 01ac 9887 std Y+8,r25
- 3057 01ae 8F83 std Y+7,r24
- 3058 01b0 8FEF ldi r24,lo8(-1)
- 3059 01b2 9FEF ldi r25,lo8(-1)
- 3060 01b4 9C83 std Y+4,r25
- 3061 01b6 8B83 std Y+3,r24
- 3062 .L188:
- 3063 01b8 D201 movw r26,r4
- 3064 01ba 1696 adiw r26,6
- 3065 01bc ED91 ld r30,X+
- 3066 01be FC91 ld r31,X
- 3067 01c0 1797 sbiw r26,6+1
- 3068 01c2 EE0F lsl r30
- 3069 01c4 FF1F rol r31
- 3070 01c6 D701 movw r26,r14
- 3071 01c8 1796 adiw r26,7
- 3072 01ca 8D91 ld r24,X+
- 3073 01cc 9C91 ld r25,X
- 3074 01ce 1897 sbiw r26,7+1
- 3075 01d0 E80F add r30,r24
- 3076 01d2 F91F adc r31,r25
- 3077 01d4 6080 ld r6,Z
- 3078 01d6 7180 ldd r7,Z+1
- GAS LISTING /tmp/ccjPZxVo.s page 55
- 3079 01d8 AE01 movw r20,r28
- 3080 01da 475F subi r20,-9
- 3081 01dc 5F4F sbci r21,-1
- 3082 01de B301 movw r22,r6
- 3083 01e0 8D91 ld r24,X+
- 3084 01e2 9C91 ld r25,X
- 3085 01e4 0E94 0000 call FlashReadBlockFoot
- 3086 01e8 B301 movw r22,r6
- 3087 01ea F701 movw r30,r14
- 3088 01ec 8081 ld r24,Z
- 3089 01ee 9181 ldd r25,Z+1
- 3090 01f0 0E94 0000 call FlashEraseBlockData
- 3091 01f4 C301 movw r24,r6
- 3092 01f6 880F lsl r24
- 3093 01f8 991F rol r25
- 3094 01fa 880F lsl r24
- 3095 01fc 991F rol r25
- 3096 01fe 9B8B std Y+19,r25
- 3097 0200 8A8B std Y+18,r24
- 3098 0202 812C mov r8,__zero_reg__
- 3099 0204 912C mov r9,__zero_reg__
- 3100 .L201:
- 3101 0206 9401 movw r18,r8
- 3102 0208 A301 movw r20,r6
- 3103 020a B501 movw r22,r10
- 3104 020c D701 movw r26,r14
- 3105 020e 8D91 ld r24,X+
- 3106 0210 9C91 ld r25,X
- 3107 0212 0E94 0000 call FlashUnitCopy
- 3108 0216 8114 cp r8,__zero_reg__
- 3109 0218 9104 cpc r9,__zero_reg__
- 3110 021a 01F4 brne .L193
- 3111 021c AE01 movw r20,r28
- 3112 021e 4F5F subi r20,-1
- 3113 0220 5F4F sbci r21,-1
- 3114 0222 B301 movw r22,r6
- 3115 0224 F701 movw r30,r14
- 3116 0226 8081 ld r24,Z
- 3117 0228 9181 ldd r25,Z+1
- 3118 022a 0E94 0000 call FlashWriteBlockHead
- 3119 022e 2114 cp r2,__zero_reg__
- 3120 0230 3104 cpc r3,__zero_reg__
- 3121 0232 01F4 brne .+2
- 3122 0234 00C0 rjmp .L194
- 3123 .L197:
- 3124 0236 D201 movw r26,r4
- 3125 0238 1A96 adiw r26,10
- 3126 023a 8D91 ld r24,X+
- 3127 023c 9C91 ld r25,X
- 3128 023e 1B97 sbiw r26,10+1
- 3129 0240 8816 cp r8,r24
- 3130 0242 9906 cpc r9,r25
- 3131 0244 01F0 breq .+2
- 3132 0246 00C0 rjmp .L196
- 3133 0248 00C0 rjmp .L215
- 3134 .L193:
- 3135 024a 2114 cp r2,__zero_reg__
- GAS LISTING /tmp/ccjPZxVo.s page 56
- 3136 024c 3104 cpc r3,__zero_reg__
- 3137 024e 01F4 brne .L197
- 3138 0250 00C0 rjmp .L196
- 3139 .L215:
- 3140 0252 F201 movw r30,r4
- 3141 0254 4485 ldd r20,Z+12
- 3142 0256 5585 ldd r21,Z+13
- 3143 0258 F701 movw r30,r14
- 3144 025a A081 ld r26,Z
- 3145 025c B181 ldd r27,Z+1
- 3146 025e 1496 adiw r26,4
- 3147 0260 CD90 ld r12,X+
- 3148 0262 DC90 ld r13,X
- 3149 0264 1597 sbiw r26,4+1
- 3150 0266 C41A sub r12,r20
- 3151 0268 D50A sbc r13,r21
- 3152 026a F3E0 ldi r31,3
- 3153 026c 8F16 cp r8,r31
- 3154 026e 9104 cpc r9,__zero_reg__
- 3155 0270 01F4 brne .L199
- 3156 0272 81E0 ldi r24,1
- 3157 0274 C81A sub r12,r24
- 3158 0276 D108 sbc r13,__zero_reg__
- 3159 .L199:
- 3160 0278 2C14 cp r2,r12
- 3161 027a 3D04 cpc r3,r13
- 3162 027c 04F4 brge .L200
- 3163 027e 6101 movw r12,r2
- 3164 .L200:
- 3165 0280 1896 adiw r26,8
- 3166 0282 6D91 ld r22,X+
- 3167 0284 7C91 ld r23,X
- 3168 0286 1997 sbiw r26,8+1
- 3169 0288 EA89 ldd r30,Y+18
- 3170 028a FB89 ldd r31,Y+19
- 3171 028c 6E0F add r22,r30
- 3172 028e 7F1F adc r23,r31
- 3173 0290 680D add r22,r8
- 3174 0292 791D adc r23,r9
- 3175 0294 5896 adiw r26,24
- 3176 0296 ED91 ld r30,X+
- 3177 0298 FC91 ld r31,X
- 3178 029a 5997 sbiw r26,24+1
- 3179 029c 8601 movw r16,r12
- 3180 029e 2A85 ldd r18,Y+10
- 3181 02a0 3B85 ldd r19,Y+11
- 3182 02a2 CD01 movw r24,r26
- 3183 02a4 1995 eicall
- 3184 02a6 2C18 sub r2,r12
- 3185 02a8 3D08 sbc r3,r13
- 3186 02aa 8A85 ldd r24,Y+10
- 3187 02ac 9B85 ldd r25,Y+11
- 3188 02ae 8C0D add r24,r12
- 3189 02b0 9D1D adc r25,r13
- 3190 02b2 9B87 std Y+11,r25
- 3191 02b4 8A87 std Y+10,r24
- 3192 02b6 B601 movw r22,r12
- GAS LISTING /tmp/ccjPZxVo.s page 57
- 3193 02b8 8889 ldd r24,Y+16
- 3194 02ba 9989 ldd r25,Y+17
- 3195 02bc 0E94 0000 call EntryPosInc
- 3196 02c0 F201 movw r30,r4
- 3197 02c2 8281 ldd r24,Z+2
- 3198 02c4 9381 ldd r25,Z+3
- 3199 02c6 A481 ldd r26,Z+4
- 3200 02c8 B581 ldd r27,Z+5
- 3201 02ca 4489 ldd r20,Z+20
- 3202 02cc 5589 ldd r21,Z+21
- 3203 02ce 6689 ldd r22,Z+22
- 3204 02d0 7789 ldd r23,Z+23
- 3205 02d2 4817 cp r20,r24
- 3206 02d4 5907 cpc r21,r25
- 3207 02d6 6A07 cpc r22,r26
- 3208 02d8 7B07 cpc r23,r27
- 3209 02da 00F4 brsh .L196
- 3210 02dc 848B std Z+20,r24
- 3211 02de 958B std Z+21,r25
- 3212 02e0 A68B std Z+22,r26
- 3213 02e2 B78B std Z+23,r27
- 3214 .L196:
- 3215 02e4 F3E0 ldi r31,3
- 3216 02e6 8F16 cp r8,r31
- 3217 02e8 9104 cpc r9,__zero_reg__
- 3218 02ea 01F4 brne .L194
- 3219 02ec AE01 movw r20,r28
- 3220 02ee 475F subi r20,-9
- 3221 02f0 5F4F sbci r21,-1
- 3222 02f2 B301 movw r22,r6
- 3223 02f4 D701 movw r26,r14
- 3224 02f6 8D91 ld r24,X+
- 3225 02f8 9C91 ld r25,X
- 3226 02fa 0E94 0000 call FlashWriteBlockFoot
- 3227 .L194:
- 3228 02fe A401 movw r20,r8
- 3229 0300 B301 movw r22,r6
- 3230 0302 F701 movw r30,r14
- 3231 0304 8081 ld r24,Z
- 3232 0306 9181 ldd r25,Z+1
- 3233 0308 0E94 0000 call FlashUnitCommit
- 3234 030c FFEF ldi r31,-1
- 3235 030e 8F1A sub r8,r31
- 3236 0310 9F0A sbc r9,r31
- 3237 0312 84E0 ldi r24,4
- 3238 0314 8816 cp r8,r24
- 3239 0316 9104 cpc r9,__zero_reg__
- 3240 0318 01F0 breq .+2
- 3241 031a 00C0 rjmp .L201
- 3242 031c 6A14 cp r6,r10
- 3243 031e 7B04 cpc r7,r11
- 3244 0320 01F0 breq .L202
- 3245 0322 B501 movw r22,r10
- 3246 0324 D701 movw r26,r14
- 3247 0326 8D91 ld r24,X+
- 3248 0328 9C91 ld r25,X
- 3249 032a 0E94 0000 call FlashEraseEntry
- GAS LISTING /tmp/ccjPZxVo.s page 58
- 3250 .L202:
- 3251 032e 8E85 ldd r24,Y+14
- 3252 0330 9F85 ldd r25,Y+15
- 3253 0332 0E94 0000 call NutEventPost
- 3254 0336 2114 cp r2,__zero_reg__
- 3255 0338 3104 cpc r3,__zero_reg__
- 3256 033a 01F0 breq .+2
- 3257 033c 00C0 rjmp .L203
- 3258 033e 8C85 ldd r24,Y+12
- 3259 0340 9D85 ldd r25,Y+13
- 3260 0342 00C0 rjmp .L180
- 3261 .L205:
- 3262 0344 80E0 ldi r24,0
- 3263 0346 90E0 ldi r25,0
- 3264 .L180:
- 3265 /* epilogue start */
- 3266 0348 6396 adiw r28,19
- 3267 034a 0FB6 in __tmp_reg__,__SREG__
- 3268 034c F894 cli
- 3269 034e DEBF out __SP_H__,r29
- 3270 0350 0FBE out __SREG__,__tmp_reg__
- 3271 0352 CDBF out __SP_L__,r28
- 3272 0354 DF91 pop r29
- 3273 0356 CF91 pop r28
- 3274 0358 1F91 pop r17
- 3275 035a 0F91 pop r16
- 3276 035c FF90 pop r15
- 3277 035e EF90 pop r14
- 3278 0360 DF90 pop r13
- 3279 0362 CF90 pop r12
- 3280 0364 BF90 pop r11
- 3281 0366 AF90 pop r10
- 3282 0368 9F90 pop r9
- 3283 036a 8F90 pop r8
- 3284 036c 7F90 pop r7
- 3285 036e 6F90 pop r6
- 3286 0370 5F90 pop r5
- 3287 0372 4F90 pop r4
- 3288 0374 3F90 pop r3
- 3289 0376 2F90 pop r2
- 3290 0378 0895 ret
- 3291 .size UFlashFileWrite, .-UFlashFileWrite
- 3292 .section .text.UFlashIOCtl,"ax",@progbits
- 3293 .type UFlashIOCtl, @function
- 3294 UFlashIOCtl:
- 3295 0000 6F92 push r6
- 3296 0002 7F92 push r7
- 3297 0004 8F92 push r8
- 3298 0006 9F92 push r9
- 3299 0008 AF92 push r10
- 3300 000a BF92 push r11
- 3301 000c CF92 push r12
- 3302 000e DF92 push r13
- 3303 0010 EF92 push r14
- 3304 0012 FF92 push r15
- 3305 0014 0F93 push r16
- 3306 0016 1F93 push r17
- GAS LISTING /tmp/ccjPZxVo.s page 59
- 3307 0018 CF93 push r28
- 3308 001a DF93 push r29
- 3309 001c CDB7 in r28,__SP_L__
- 3310 001e DEB7 in r29,__SP_H__
- 3311 0020 2B97 sbiw r28,11
- 3312 0022 0FB6 in __tmp_reg__,__SREG__
- 3313 0024 F894 cli
- 3314 0026 DEBF out __SP_H__,r29
- 3315 0028 0FBE out __SREG__,__tmp_reg__
- 3316 002a CDBF out __SP_L__,r28
- 3317 /* prologue: function */
- 3318 /* frame size = 11 */
- 3319 /* stack size = 25 */
- 3320 .L__stack_usage = 25
- 3321 002c 6C01 movw r12,r24
- 3322 002e 7A01 movw r14,r20
- 3323 0030 6531 cpi r22,21
- 3324 0032 01E1 ldi r16,17
- 3325 0034 7007 cpc r23,r16
- 3326 0036 01F4 brne .+2
- 3327 0038 00C0 rjmp .L218
- 3328 003a 04F4 brge .L219
- 3329 003c 6331 cpi r22,19
- 3330 003e 21E1 ldi r18,17
- 3331 0040 7207 cpc r23,r18
- 3332 0042 04F4 brge .L220
- 3333 0044 6131 cpi r22,17
- 3334 0046 31E1 ldi r19,17
- 3335 0048 7307 cpc r23,r19
- 3336 004a 04F0 brlt .+2
- 3337 004c 00C0 rjmp .L288
- 3338 004e 6130 cpi r22,1
- 3339 0050 7141 sbci r23,17
- 3340 0052 01F0 breq .+2
- 3341 0054 00C0 rjmp .L258
- 3342 0056 DA01 movw r26,r20
- 3343 0058 1296 adiw r26,2
- 3344 005a AD90 ld r10,X+
- 3345 005c BC90 ld r11,X
- 3346 005e 1397 sbiw r26,2+1
- 3347 0060 F601 movw r30,r12
- 3348 0062 0189 ldd r16,Z+17
- 3349 0064 1289 ldd r17,Z+18
- 3350 0066 8D91 ld r24,X+
- 3351 0068 9C91 ld r25,X
- 3352 006a 00C0 rjmp .L231
- 3353 .L220:
- 3354 006c 6331 cpi r22,19
- 3355 006e A1E1 ldi r26,17
- 3356 0070 7A07 cpc r23,r26
- 3357 0072 01F4 brne .+2
- 3358 0074 00C0 rjmp .L223
- 3359 0076 6431 cpi r22,20
- 3360 0078 7141 sbci r23,17
- 3361 007a 01F0 breq .+2
- 3362 007c 00C0 rjmp .L258
- 3363 007e DA01 movw r26,r20
- GAS LISTING /tmp/ccjPZxVo.s page 60
- 3364 0080 0D91 ld r16,X+
- 3365 0082 1C91 ld r17,X
- 3366 0084 F801 movw r30,r16
- 3367 0086 E280 ldd r14,Z+2
- 3368 0088 F380 ldd r15,Z+3
- 3369 008a D701 movw r26,r14
- 3370 008c 1296 adiw r26,2
- 3371 008e 8D91 ld r24,X+
- 3372 0090 9C91 ld r25,X
- 3373 0092 1397 sbiw r26,2+1
- 3374 0094 0E94 0000 call free
- 3375 0098 C701 movw r24,r14
- 3376 009a 0E94 0000 call free
- 3377 009e C801 movw r24,r16
- 3378 00a0 0E94 0000 call free
- 3379 00a4 00C0 rjmp .L288
- 3380 .L219:
- 3381 00a6 6033 cpi r22,48
- 3382 00a8 E1E1 ldi r30,17
- 3383 00aa 7E07 cpc r23,r30
- 3384 00ac 01F4 brne .+2
- 3385 00ae 00C0 rjmp .L225
- 3386 00b0 04F4 brge .L226
- 3387 00b2 6232 cpi r22,34
- 3388 00b4 01E1 ldi r16,17
- 3389 00b6 7007 cpc r23,r16
- 3390 00b8 01F4 brne .+2
- 3391 00ba 00C0 rjmp .L227
- 3392 00bc 6332 cpi r22,35
- 3393 00be 7141 sbci r23,17
- 3394 00c0 01F4 brne .+2
- 3395 00c2 00C0 rjmp .L228
- 3396 00c4 00C0 rjmp .L258
- 3397 .L226:
- 3398 00c6 6133 cpi r22,49
- 3399 00c8 21E1 ldi r18,17
- 3400 00ca 7207 cpc r23,r18
- 3401 00cc 01F4 brne .+2
- 3402 00ce 00C0 rjmp .L229
- 3403 00d0 6233 cpi r22,50
- 3404 00d2 7141 sbci r23,17
- 3405 00d4 01F0 breq .+2
- 3406 00d6 00C0 rjmp .L258
- 3407 00d8 DA01 movw r26,r20
- 3408 00da 1296 adiw r26,2
- 3409 00dc 3C91 ld r19,X
- 3410 00de 1297 sbiw r26,2
- 3411 00e0 1396 adiw r26,3
- 3412 00e2 2C91 ld r18,X
- 3413 00e4 1397 sbiw r26,3
- 3414 00e6 FC01 movw r30,r24
- 3415 00e8 0189 ldd r16,Z+17
- 3416 00ea 1289 ldd r17,Z+18
- 3417 00ec 8D91 ld r24,X+
- 3418 00ee 9C91 ld r25,X
- 3419 00f0 00C0 rjmp .L251
- 3420 .L231:
- GAS LISTING /tmp/ccjPZxVo.s page 61
- 3421 00f2 6C01 movw r12,r24
- 3422 00f4 0196 adiw r24,1
- 3423 00f6 D601 movw r26,r12
- 3424 00f8 2C91 ld r18,X
- 3425 00fa 2F32 cpi r18,lo8(47)
- 3426 00fc 01F0 breq .L231
- 3427 00fe 20E8 ldi r18,lo8(-128)
- 3428 0100 30E0 ldi r19,0
- 3429 0102 AE01 movw r20,r28
- 3430 0104 4F5F subi r20,-1
- 3431 0106 5F4F sbci r21,-1
- 3432 0108 B601 movw r22,r12
- 3433 010a C801 movw r24,r16
- 3434 010c 0E94 0000 call EntrySearchNext
- 3435 0110 7C01 movw r14,r24
- 3436 0112 8038 cpi r24,-128
- 3437 0114 9105 cpc r25,__zero_reg__
- 3438 0116 00F4 brsh .L232
- 3439 0118 D801 movw r26,r16
- 3440 011a 1796 adiw r26,7
- 3441 011c ED91 ld r30,X+
- 3442 011e FC91 ld r31,X
- 3443 0120 1897 sbiw r26,7+1
- 3444 0122 880F lsl r24
- 3445 0124 991F rol r25
- 3446 0126 E80F add r30,r24
- 3447 0128 F91F adc r31,r25
- 3448 012a 2081 ld r18,Z
- 3449 012c 3181 ldd r19,Z+1
- 3450 012e 1596 adiw r26,5
- 3451 0130 8D91 ld r24,X+
- 3452 0132 9C91 ld r25,X
- 3453 0134 1697 sbiw r26,5+1
- 3454 0136 8217 cp r24,r18
- 3455 0138 9307 cpc r25,r19
- 3456 013a 00F4 brsh .L259
- 3457 .L232:
- 3458 013c 20E0 ldi r18,0
- 3459 013e 30E0 ldi r19,0
- 3460 0140 AE01 movw r20,r28
- 3461 0142 4F5F subi r20,-1
- 3462 0144 5F4F sbci r21,-1
- 3463 0146 B601 movw r22,r12
- 3464 0148 C801 movw r24,r16
- 3465 014a 0E94 0000 call EntrySearchNext
- 3466 014e 7C01 movw r14,r24
- 3467 0150 8038 cpi r24,-128
- 3468 0152 9105 cpc r25,__zero_reg__
- 3469 0154 00F0 brlo .+2
- 3470 0156 00C0 rjmp .L258
- 3471 0158 D801 movw r26,r16
- 3472 015a 1796 adiw r26,7
- 3473 015c ED91 ld r30,X+
- 3474 015e FC91 ld r31,X
- 3475 0160 1897 sbiw r26,7+1
- 3476 0162 880F lsl r24
- 3477 0164 991F rol r25
- GAS LISTING /tmp/ccjPZxVo.s page 62
- 3478 0166 E80F add r30,r24
- 3479 0168 F91F adc r31,r25
- 3480 016a 2081 ld r18,Z
- 3481 016c 3181 ldd r19,Z+1
- 3482 016e 1596 adiw r26,5
- 3483 0170 8D91 ld r24,X+
- 3484 0172 9C91 ld r25,X
- 3485 0174 1697 sbiw r26,5+1
- 3486 0176 8217 cp r24,r18
- 3487 0178 9307 cpc r25,r19
- 3488 017a 00F4 brsh .+2
- 3489 017c 00C0 rjmp .L258
- 3490 017e 81E0 ldi r24,lo8(1)
- 3491 0180 00C0 rjmp .L233
- 3492 .L259:
- 3493 0182 80E0 ldi r24,0
- 3494 .L233:
- 3495 0184 9DE0 ldi r25,lo8(13)
- 3496 0186 F501 movw r30,r10
- 3497 0:
- 3498 0188 1192 st Z+,__zero_reg__
- 3499 018a 9A95 dec r25
- 3500 018c 01F4 brne 0b
- 3501 018e 8823 tst r24
- 3502 0190 01F0 breq .L235
- 3503 0192 81E0 ldi r24,lo8(1)
- 3504 0194 D501 movw r26,r10
- 3505 0196 1296 adiw r26,2
- 3506 0198 8C93 st X,r24
- 3507 019a 00C0 rjmp .L288
- 3508 .L235:
- 3509 019c 6801 movw r12,r16
- 3510 019e B2E0 ldi r27,2
- 3511 01a0 CB0E add r12,r27
- 3512 01a2 D11C adc r13,__zero_reg__
- 3513 01a4 40E0 ldi r20,0
- 3514 01a6 50E0 ldi r21,0
- 3515 01a8 BA01 movw r22,r20
- 3516 01aa C601 movw r24,r12
- 3517 01ac 0E94 0000 call NutEventWait
- 3518 01b0 B701 movw r22,r14
- 3519 01b2 C801 movw r24,r16
- 3520 01b4 0E94 0000 call EntryScan.isra.1
- 3521 01b8 F501 movw r30,r10
- 3522 01ba 6583 std Z+5,r22
- 3523 01bc 7683 std Z+6,r23
- 3524 01be 8783 std Z+7,r24
- 3525 01c0 9087 std Z+8,r25
- 3526 01c2 C601 movw r24,r12
- 3527 01c4 0E94 0000 call NutEventPost
- 3528 01c8 8A81 ldd r24,Y+2
- 3529 01ca 90E0 ldi r25,0
- 3530 01cc 0296 adiw r24,2
- 3531 01ce D501 movw r26,r10
- 3532 01d0 1596 adiw r26,5
- 3533 01d2 4D91 ld r20,X+
- 3534 01d4 5D91 ld r21,X+
- GAS LISTING /tmp/ccjPZxVo.s page 63
- 3535 01d6 6D91 ld r22,X+
- 3536 01d8 7C91 ld r23,X
- 3537 01da 1897 sbiw r26,5+3
- 3538 01dc 8A01 movw r16,r20
- 3539 01de 9B01 movw r18,r22
- 3540 01e0 081B sub r16,r24
- 3541 01e2 190B sbc r17,r25
- 3542 01e4 2109 sbc r18,__zero_reg__
- 3543 01e6 3109 sbc r19,__zero_reg__
- 3544 01e8 F501 movw r30,r10
- 3545 01ea 0583 std Z+5,r16
- 3546 01ec 1683 std Z+6,r17
- 3547 01ee 2783 std Z+7,r18
- 3548 01f0 3087 std Z+8,r19
- 3549 01f2 00C0 rjmp .L288
- 3550 .L223:
- 3551 01f4 DA01 movw r26,r20
- 3552 01f6 1296 adiw r26,2
- 3553 01f8 8D90 ld r8,X+
- 3554 01fa 9C90 ld r9,X
- 3555 01fc 1397 sbiw r26,2+1
- 3556 01fe 84E0 ldi r24,lo8(4)
- 3557 0200 90E0 ldi r25,0
- 3558 0202 0E94 0000 call malloc
- 3559 0206 8C01 movw r16,r24
- 3560 0208 892B or r24,r25
- 3561 020a 01F0 breq .L262
- 3562 020c 84E0 ldi r24,lo8(4)
- 3563 020e 90E0 ldi r25,0
- 3564 0210 0E94 0000 call malloc
- 3565 0214 5C01 movw r10,r24
- 3566 0216 0097 sbiw r24,0
- 3567 0218 01F0 breq .L237
- 3568 021a FC01 movw r30,r24
- 3569 021c 1182 std Z+1,__zero_reg__
- 3570 021e 1082 st Z,__zero_reg__
- 3571 0220 81E0 ldi r24,lo8(1)
- 3572 0222 90E0 ldi r25,0
- 3573 0224 D401 movw r26,r8
- 3574 0226 2C91 ld r18,X
- 3575 0228 2F32 cpi r18,lo8(47)
- 3576 022a 01F0 breq .L238
- 3577 022c 80E0 ldi r24,0
- 3578 022e 90E0 ldi r25,0
- 3579 .L238:
- 3580 0230 880D add r24,r8
- 3581 0232 991D adc r25,r9
- 3582 0234 0E94 0000 call strdup
- 3583 0238 F501 movw r30,r10
- 3584 023a 9383 std Z+3,r25
- 3585 023c 8283 std Z+2,r24
- 3586 023e 892B or r24,r25
- 3587 0240 01F0 breq .L239
- 3588 0242 D801 movw r26,r16
- 3589 0244 1196 adiw r26,1
- 3590 0246 DC92 st X,r13
- 3591 0248 CE92 st -X,r12
- GAS LISTING /tmp/ccjPZxVo.s page 64
- 3592 024a 1396 adiw r26,2+1
- 3593 024c BC92 st X,r11
- 3594 024e AE92 st -X,r10
- 3595 0250 1297 sbiw r26,2
- 3596 0252 00C0 rjmp .L236
- 3597 .L239:
- 3598 0254 C501 movw r24,r10
- 3599 0256 0E94 0000 call free
- 3600 .L237:
- 3601 025a C801 movw r24,r16
- 3602 025c 0E94 0000 call free
- 3603 .L262:
- 3604 0260 0FEF ldi r16,lo8(-1)
- 3605 0262 1FEF ldi r17,lo8(-1)
- 3606 .L236:
- 3607 0264 F701 movw r30,r14
- 3608 0266 1183 std Z+1,r17
- 3609 0268 0083 st Z,r16
- 3610 026a 21E0 ldi r18,lo8(1)
- 3611 026c 30E0 ldi r19,0
- 3612 026e 0F3F cpi r16,-1
- 3613 0270 1F4F sbci r17,-1
- 3614 0272 01F0 breq .L240
- 3615 0274 20E0 ldi r18,0
- 3616 0276 30E0 ldi r19,0
- 3617 .L240:
- 3618 0278 8827 clr r24
- 3619 027a 9927 clr r25
- 3620 027c 821B sub r24,r18
- 3621 027e 930B sbc r25,r19
- 3622 0280 00C0 rjmp .L217
- 3623 .L218:
- 3624 0282 1A82 std Y+2,__zero_reg__
- 3625 0284 1982 std Y+1,__zero_reg__
- 3626 0286 DA01 movw r26,r20
- 3627 0288 ED91 ld r30,X+
- 3628 028a FC91 ld r31,X
- 3629 028c 0281 ldd r16,Z+2
- 3630 028e 1381 ldd r17,Z+3
- 3631 0290 0190 ld __tmp_reg__,Z+
- 3632 0292 F081 ld r31,Z
- 3633 0294 E02D mov r30,__tmp_reg__
- 3634 0296 C188 ldd r12,Z+17
- 3635 0298 D288 ldd r13,Z+18
- 3636 029a F801 movw r30,r16
- 3637 029c 2081 ld r18,Z
- 3638 029e 3181 ldd r19,Z+1
- 3639 02a0 6281 ldd r22,Z+2
- 3640 02a2 7381 ldd r23,Z+3
- 3641 02a4 AE01 movw r20,r28
- 3642 02a6 475F subi r20,-9
- 3643 02a8 5F4F sbci r21,-1
- 3644 02aa C601 movw r24,r12
- 3645 02ac 0E94 0000 call EntrySearchNext
- 3646 02b0 D801 movw r26,r16
- 3647 02b2 8D93 st X+,r24
- 3648 02b4 9C93 st X,r25
- GAS LISTING /tmp/ccjPZxVo.s page 65
- 3649 02b6 8038 cpi r24,-128
- 3650 02b8 9105 cpc r25,__zero_reg__
- 3651 02ba 00F0 brlo .+2
- 3652 02bc 00C0 rjmp .L258
- 3653 02be F701 movw r30,r14
- 3654 02c0 E280 ldd r14,Z+2
- 3655 02c2 F380 ldd r15,Z+3
- 3656 02c4 88E0 ldi r24,lo8(8)
- 3657 02c6 91E0 ldi r25,lo8(1)
- 3658 02c8 D701 movw r26,r14
- 3659 02ca FC01 movw r30,r24
- 3660 0:
- 3661 02cc 1D92 st X+,__zero_reg__
- 3662 02ce 3197 sbiw r30,1
- 3663 02d0 01F4 brne 0b
- 3664 02d2 D801 movw r26,r16
- 3665 02d4 ED91 ld r30,X+
- 3666 02d6 FC91 ld r31,X
- 3667 02d8 EE0F lsl r30
- 3668 02da FF1F rol r31
- 3669 02dc D601 movw r26,r12
- 3670 02de 1796 adiw r26,7
- 3671 02e0 8D91 ld r24,X+
- 3672 02e2 9C91 ld r25,X
- 3673 02e4 1897 sbiw r26,7+1
- 3674 02e6 E80F add r30,r24
- 3675 02e8 F91F adc r31,r25
- 3676 02ea 6081 ld r22,Z
- 3677 02ec 7181 ldd r23,Z+1
- 3678 02ee 9E01 movw r18,r28
- 3679 02f0 2F5F subi r18,-1
- 3680 02f2 3F4F sbci r19,-1
- 3681 02f4 AE01 movw r20,r28
- 3682 02f6 475F subi r20,-9
- 3683 02f8 5F4F sbci r21,-1
- 3684 02fa 8D91 ld r24,X+
- 3685 02fc 9C91 ld r25,X
- 3686 02fe 0E94 0000 call FlashReadEntry
- 3687 0302 F801 movw r30,r16
- 3688 0304 A281 ldd r26,Z+2
- 3689 0306 B381 ldd r27,Z+3
- 3690 0308 FD01 movw r30,r26
- 3691 0:
- 3692 030a 0190 ld __tmp_reg__,Z+
- 3693 030c 0020 tst __tmp_reg__
- 3694 030e 01F4 brne 0b
- 3695 0310 3197 sbiw r30,1
- 3696 0312 EA1B sub r30,r26
- 3697 0314 FB0B sbc r31,r27
- 3698 0316 8981 ldd r24,Y+1
- 3699 0318 9A81 ldd r25,Y+2
- 3700 031a 6FE2 ldi r22,lo8(47)
- 3701 031c 70E0 ldi r23,0
- 3702 031e 8E0F add r24,r30
- 3703 0320 9F1F adc r25,r31
- 3704 0322 0E94 0000 call strchr
- 3705 0326 0097 sbiw r24,0
- GAS LISTING /tmp/ccjPZxVo.s page 66
- 3706 0328 01F0 breq .L242
- 3707 032a DC01 movw r26,r24
- 3708 032c 1C92 st X,__zero_reg__
- 3709 032e 81E0 ldi r24,lo8(1)
- 3710 0330 F701 movw r30,r14
- 3711 0332 8683 std Z+6,r24
- 3712 0334 00C0 rjmp .L243
- 3713 .L242:
- 3714 0336 D701 movw r26,r14
- 3715 0338 1696 adiw r26,6
- 3716 033a 1C92 st X,__zero_reg__
- 3717 .L243:
- 3718 033c C980 ldd r12,Y+1
- 3719 033e DA80 ldd r13,Y+2
- 3720 0340 F801 movw r30,r16
- 3721 0342 A281 ldd r26,Z+2
- 3722 0344 B381 ldd r27,Z+3
- 3723 0346 FD01 movw r30,r26
- 3724 0:
- 3725 0348 0190 ld __tmp_reg__,Z+
- 3726 034a 0020 tst __tmp_reg__
- 3727 034c 01F4 brne 0b
- 3728 034e 3197 sbiw r30,1
- 3729 0350 BF01 movw r22,r30
- 3730 0352 6A1B sub r22,r26
- 3731 0354 7B0B sbc r23,r27
- 3732 0356 6C0D add r22,r12
- 3733 0358 7D1D adc r23,r13
- 3734 035a C701 movw r24,r14
- 3735 035c 0896 adiw r24,8
- 3736 035e 0E94 0000 call strcpy
- 3737 0362 F801 movw r30,r16
- 3738 0364 A281 ldd r26,Z+2
- 3739 0366 B381 ldd r27,Z+3
- 3740 0368 FD01 movw r30,r26
- 3741 0:
- 3742 036a 0190 ld __tmp_reg__,Z+
- 3743 036c 0020 tst __tmp_reg__
- 3744 036e 01F4 brne 0b
- 3745 0370 3197 sbiw r30,1
- 3746 0372 EA1B sub r30,r26
- 3747 0374 FB0B sbc r31,r27
- 3748 0376 EC0D add r30,r12
- 3749 0378 FD1D adc r31,r13
- 3750 037a DF01 movw r26,r30
- 3751 0:
- 3752 037c 0D90 ld __tmp_reg__,X+
- 3753 037e 0020 tst __tmp_reg__
- 3754 0380 01F4 brne 0b
- 3755 0382 1197 sbiw r26,1
- 3756 0384 AE1B sub r26,r30
- 3757 0386 BF0B sbc r27,r31
- 3758 0388 F701 movw r30,r14
- 3759 038a A783 std Z+7,r26
- 3760 038c C601 movw r24,r12
- 3761 038e 0E94 0000 call free
- 3762 0392 D801 movw r26,r16
- GAS LISTING /tmp/ccjPZxVo.s page 67
- 3763 0394 8D91 ld r24,X+
- 3764 0396 9C91 ld r25,X
- 3765 0398 1197 sbiw r26,1
- 3766 039a 0196 adiw r24,1
- 3767 039c 8D93 st X+,r24
- 3768 039e 9C93 st X,r25
- 3769 03a0 00C0 rjmp .L288
- 3770 .L227:
- 3771 03a2 FC01 movw r30,r24
- 3772 03a4 0189 ldd r16,Z+17
- 3773 03a6 1289 ldd r17,Z+18
- 3774 .L244:
- 3775 03a8 B701 movw r22,r14
- 3776 03aa FFEF ldi r31,-1
- 3777 03ac EF1A sub r14,r31
- 3778 03ae FF0A sbc r15,r31
- 3779 03b0 DB01 movw r26,r22
- 3780 03b2 8C91 ld r24,X
- 3781 03b4 8F32 cpi r24,lo8(47)
- 3782 03b6 01F0 breq .L244
- 3783 03b8 20E8 ldi r18,lo8(-128)
- 3784 03ba 30E0 ldi r19,0
- 3785 03bc AE01 movw r20,r28
- 3786 03be 4F5F subi r20,-1
- 3787 03c0 5F4F sbci r21,-1
- 3788 03c2 C801 movw r24,r16
- 3789 03c4 0E94 0000 call EntrySearchNext
- 3790 03c8 6C01 movw r12,r24
- 3791 03ca 8038 cpi r24,-128
- 3792 03cc 9105 cpc r25,__zero_reg__
- 3793 03ce 00F0 brlo .+2
- 3794 03d0 00C0 rjmp .L258
- 3795 03d2 7C01 movw r14,r24
- 3796 03d4 EE0C lsl r14
- 3797 03d6 FF1C rol r15
- 3798 03d8 D801 movw r26,r16
- 3799 03da 1796 adiw r26,7
- 3800 03dc ED91 ld r30,X+
- 3801 03de FC91 ld r31,X
- 3802 03e0 1897 sbiw r26,7+1
- 3803 03e2 EE0D add r30,r14
- 3804 03e4 FF1D adc r31,r15
- 3805 03e6 2081 ld r18,Z
- 3806 03e8 3181 ldd r19,Z+1
- 3807 03ea 1596 adiw r26,5
- 3808 03ec 8D91 ld r24,X+
- 3809 03ee 9C91 ld r25,X
- 3810 03f0 1697 sbiw r26,5+1
- 3811 03f2 8217 cp r24,r18
- 3812 03f4 9307 cpc r25,r19
- 3813 03f6 00F4 brsh .+2
- 3814 03f8 00C0 rjmp .L258
- 3815 03fa 5801 movw r10,r16
- 3816 03fc B2E0 ldi r27,2
- 3817 03fe AB0E add r10,r27
- 3818 0400 B11C adc r11,__zero_reg__
- 3819 0402 40E0 ldi r20,0
- GAS LISTING /tmp/ccjPZxVo.s page 68
- 3820 0404 50E0 ldi r21,0
- 3821 0406 BA01 movw r22,r20
- 3822 0408 C501 movw r24,r10
- 3823 040a 0E94 0000 call NutEventWait
- 3824 040e B601 movw r22,r12
- 3825 0410 C801 movw r24,r16
- 3826 0412 0E94 0000 call EntryTruncateSeq
- 3827 0416 D801 movw r26,r16
- 3828 0418 1796 adiw r26,7
- 3829 041a ED91 ld r30,X+
- 3830 041c FC91 ld r31,X
- 3831 041e 1897 sbiw r26,7+1
- 3832 0420 EE0D add r30,r14
- 3833 0422 FF1D adc r31,r15
- 3834 0424 6081 ld r22,Z
- 3835 0426 7181 ldd r23,Z+1
- 3836 0428 8FEF ldi r24,lo8(-1)
- 3837 042a 9FEF ldi r25,lo8(-1)
- 3838 042c 9183 std Z+1,r25
- 3839 042e 8083 st Z,r24
- 3840 0430 00C0 rjmp .L289
- 3841 .L228:
- 3842 0432 FA01 movw r30,r20
- 3843 0434 0281 ldd r16,Z+2
- 3844 0436 1381 ldd r17,Z+3
- 3845 0438 8081 ld r24,Z
- 3846 043a 9181 ldd r25,Z+1
- 3847 043c DC01 movw r26,r24
- 3848 043e 1296 adiw r26,2
- 3849 0440 ED91 ld r30,X+
- 3850 0442 FC91 ld r31,X
- 3851 0444 1397 sbiw r26,2+1
- 3852 0446 D801 movw r26,r16
- 3853 0448 8D90 ld r8,X+
- 3854 044a 9D90 ld r9,X+
- 3855 044c AD90 ld r10,X+
- 3856 044e BC90 ld r11,X
- 3857 0450 DA01 movw r26,r20
- 3858 0452 1496 adiw r26,4
- 3859 0454 2D91 ld r18,X+
- 3860 0456 3C91 ld r19,X
- 3861 0458 1597 sbiw r26,4+1
- 3862 045a 2130 cpi r18,1
- 3863 045c 3105 cpc r19,__zero_reg__
- 3864 045e 01F0 breq .L247
- 3865 0460 2230 cpi r18,2
- 3866 0462 3105 cpc r19,__zero_reg__
- 3867 0464 01F4 brne .L246
- 3868 0466 4489 ldd r20,Z+20
- 3869 0468 5589 ldd r21,Z+21
- 3870 046a 6689 ldd r22,Z+22
- 3871 046c 7789 ldd r23,Z+23
- 3872 046e 00C0 rjmp .L287
- 3873 .L247:
- 3874 0470 4281 ldd r20,Z+2
- 3875 0472 5381 ldd r21,Z+3
- 3876 0474 6481 ldd r22,Z+4
- GAS LISTING /tmp/ccjPZxVo.s page 69
- 3877 0476 7581 ldd r23,Z+5
- 3878 .L287:
- 3879 0478 840E add r8,r20
- 3880 047a 951E adc r9,r21
- 3881 047c A61E adc r10,r22
- 3882 047e B71E adc r11,r23
- 3883 .L246:
- 3884 0480 B7FC sbrc r11,7
- 3885 0482 00C0 rjmp .L249
- 3886 0484 4489 ldd r20,Z+20
- 3887 0486 5589 ldd r21,Z+21
- 3888 0488 6689 ldd r22,Z+22
- 3889 048a 7789 ldd r23,Z+23
- 3890 048c 4815 cp r20,r8
- 3891 048e 5905 cpc r21,r9
- 3892 0490 6A05 cpc r22,r10
- 3893 0492 7B05 cpc r23,r11
- 3894 0494 04F4 brge .L250
- 3895 .L249:
- 3896 0496 86E1 ldi r24,lo8(22)
- 3897 0498 90E0 ldi r25,0
- 3898 049a 9093 0000 sts errno+1,r25
- 3899 049e 8093 0000 sts errno,r24
- 3900 04a2 00C0 rjmp .L258
- 3901 .L250:
- 3902 04a4 B501 movw r22,r10
- 3903 04a6 A401 movw r20,r8
- 3904 04a8 0E94 0000 call EntryPosSet
- 3905 04ac F801 movw r30,r16
- 3906 04ae 8082 st Z,r8
- 3907 04b0 9182 std Z+1,r9
- 3908 04b2 A282 std Z+2,r10
- 3909 04b4 B382 std Z+3,r11
- 3910 04b6 00C0 rjmp .L258
- 3911 .L251:
- 3912 04b8 BC01 movw r22,r24
- 3913 04ba 0196 adiw r24,1
- 3914 04bc DB01 movw r26,r22
- 3915 04be 4C91 ld r20,X
- 3916 04c0 4F32 cpi r20,lo8(47)
- 3917 04c2 01F0 breq .L251
- 3918 04c4 832F mov r24,r19
- 3919 04c6 922F mov r25,r18
- 3920 .L252:
- 3921 04c8 3C01 movw r6,r24
- 3922 04ca 0196 adiw r24,1
- 3923 04cc F301 movw r30,r6
- 3924 04ce 2081 ld r18,Z
- 3925 04d0 2F32 cpi r18,lo8(47)
- 3926 04d2 01F0 breq .L252
- 3927 04d4 20E8 ldi r18,lo8(-128)
- 3928 04d6 30E0 ldi r19,0
- 3929 04d8 AE01 movw r20,r28
- 3930 04da 475F subi r20,-9
- 3931 04dc 5F4F sbci r21,-1
- 3932 04de C801 movw r24,r16
- 3933 04e0 0E94 0000 call EntrySearchNext
- GAS LISTING /tmp/ccjPZxVo.s page 70
- 3934 04e4 8038 cpi r24,-128
- 3935 04e6 9105 cpc r25,__zero_reg__
- 3936 04e8 00F0 brlo .+2
- 3937 04ea 00C0 rjmp .L258
- 3938 04ec 6C01 movw r12,r24
- 3939 04ee CC0C lsl r12
- 3940 04f0 DD1C rol r13
- 3941 04f2 D801 movw r26,r16
- 3942 04f4 1796 adiw r26,7
- 3943 04f6 ED91 ld r30,X+
- 3944 04f8 FC91 ld r31,X
- 3945 04fa 1897 sbiw r26,7+1
- 3946 04fc EC0D add r30,r12
- 3947 04fe FD1D adc r31,r13
- 3948 0500 2081 ld r18,Z
- 3949 0502 3181 ldd r19,Z+1
- 3950 0504 1596 adiw r26,5
- 3951 0506 8D91 ld r24,X+
- 3952 0508 9C91 ld r25,X
- 3953 050a 1697 sbiw r26,5+1
- 3954 050c 8217 cp r24,r18
- 3955 050e 9307 cpc r25,r19
- 3956 0510 00F4 brsh .+2
- 3957 0512 00C0 rjmp .L258
- 3958 0514 F301 movw r30,r6
- 3959 0:
- 3960 0516 0190 ld __tmp_reg__,Z+
- 3961 0518 0020 tst __tmp_reg__
- 3962 051a 01F4 brne 0b
- 3963 051c 3197 sbiw r30,1
- 3964 051e E619 sub r30,r6
- 3965 0520 F709 sbc r31,r7
- 3966 0522 8A85 ldd r24,Y+10
- 3967 0524 90E0 ldi r25,0
- 3968 0526 8E17 cp r24,r30
- 3969 0528 9F07 cpc r25,r31
- 3970 052a 00F4 brsh .+2
- 3971 052c 00C0 rjmp .L258
- 3972 052e EA87 std Y+10,r30
- 3973 0530 5801 movw r10,r16
- 3974 0532 B2E0 ldi r27,2
- 3975 0534 AB0E add r10,r27
- 3976 0536 B11C adc r11,__zero_reg__
- 3977 0538 40E0 ldi r20,0
- 3978 053a 50E0 ldi r21,0
- 3979 053c BA01 movw r22,r20
- 3980 053e C501 movw r24,r10
- 3981 0540 0E94 0000 call NutEventWait
- 3982 0544 60E0 ldi r22,0
- 3983 0546 70E0 ldi r23,0
- 3984 0548 C801 movw r24,r16
- 3985 054a 0E94 0000 call PhysBlkAllocate
- 3986 054e 7C01 movw r14,r24
- 3987 0550 F801 movw r30,r16
- 3988 0552 8581 ldd r24,Z+5
- 3989 0554 9681 ldd r25,Z+6
- 3990 0556 E816 cp r14,r24
- GAS LISTING /tmp/ccjPZxVo.s page 71
- 3991 0558 F906 cpc r15,r25
- 3992 055a 00F0 brlo .L254
- 3993 055c C501 movw r24,r10
- 3994 055e 0E94 0000 call NutEventPost
- 3995 0562 00C0 rjmp .L258
- 3996 .L254:
- 3997 0564 D801 movw r26,r16
- 3998 0566 0780 ldd __tmp_reg__,Z+7
- 3999 0568 F085 ldd r31,Z+8
- 4000 056a E02D mov r30,__tmp_reg__
- 4001 056c EC0D add r30,r12
- 4002 056e FD1D adc r31,r13
- 4003 0570 8080 ld r8,Z
- 4004 0572 9180 ldd r9,Z+1
- 4005 0574 F182 std Z+1,r15
- 4006 0576 E082 st Z,r14
- 4007 0578 AE01 movw r20,r28
- 4008 057a 455F subi r20,-11
- 4009 057c 5F4F sbci r21,-1
- 4010 057e B701 movw r22,r14
- 4011 0580 8D91 ld r24,X+
- 4012 0582 9C91 ld r25,X
- 4013 0584 0E94 0000 call FlashReadBlockFoot
- 4014 0588 B701 movw r22,r14
- 4015 058a F801 movw r30,r16
- 4016 058c 8081 ld r24,Z
- 4017 058e 9181 ldd r25,Z+1
- 4018 0590 0E94 0000 call FlashEraseBlockData
- 4019 0594 C12C mov r12,__zero_reg__
- 4020 0596 D12C mov r13,__zero_reg__
- 4021 .L257:
- 4022 0598 9601 movw r18,r12
- 4023 059a A701 movw r20,r14
- 4024 059c B401 movw r22,r8
- 4025 059e D801 movw r26,r16
- 4026 05a0 8D91 ld r24,X+
- 4027 05a2 9C91 ld r25,X
- 4028 05a4 0E94 0000 call FlashUnitCopy
- 4029 05a8 2C2D mov r18,r12
- 4030 05aa F801 movw r30,r16
- 4031 05ac 8081 ld r24,Z
- 4032 05ae 9181 ldd r25,Z+1
- 4033 05b0 C114 cp r12,__zero_reg__
- 4034 05b2 D104 cpc r13,__zero_reg__
- 4035 05b4 01F4 brne .L255
- 4036 05b6 AE01 movw r20,r28
- 4037 05b8 4F5F subi r20,-1
- 4038 05ba 5F4F sbci r21,-1
- 4039 05bc B701 movw r22,r14
- 4040 05be 0E94 0000 call FlashReadBlockHead
- 4041 05c2 AE01 movw r20,r28
- 4042 05c4 4F5F subi r20,-1
- 4043 05c6 5F4F sbci r21,-1
- 4044 05c8 B701 movw r22,r14
- 4045 05ca D801 movw r26,r16
- 4046 05cc 8D91 ld r24,X+
- 4047 05ce 9C91 ld r25,X
- GAS LISTING /tmp/ccjPZxVo.s page 72
- 4048 05d0 0E94 0000 call FlashWriteBlockHead
- 4049 05d4 9301 movw r18,r6
- 4050 05d6 AE01 movw r20,r28
- 4051 05d8 475F subi r20,-9
- 4052 05da 5F4F sbci r21,-1
- 4053 05dc B701 movw r22,r14
- 4054 05de F801 movw r30,r16
- 4055 05e0 8081 ld r24,Z
- 4056 05e2 9181 ldd r25,Z+1
- 4057 05e4 0E94 0000 call FlashWriteEntry
- 4058 05e8 00C0 rjmp .L256
- 4059 .L255:
- 4060 05ea 2330 cpi r18,lo8(3)
- 4061 05ec 01F4 brne .L256
- 4062 05ee AE01 movw r20,r28
- 4063 05f0 455F subi r20,-11
- 4064 05f2 5F4F sbci r21,-1
- 4065 05f4 B701 movw r22,r14
- 4066 05f6 0E94 0000 call FlashWriteBlockFoot
- 4067 .L256:
- 4068 05fa A601 movw r20,r12
- 4069 05fc B701 movw r22,r14
- 4070 05fe D801 movw r26,r16
- 4071 0600 8D91 ld r24,X+
- 4072 0602 9C91 ld r25,X
- 4073 0604 0E94 0000 call FlashUnitCommit
- 4074 0608 BFEF ldi r27,-1
- 4075 060a CB1A sub r12,r27
- 4076 060c DB0A sbc r13,r27
- 4077 060e E4E0 ldi r30,4
- 4078 0610 CE16 cp r12,r30
- 4079 0612 D104 cpc r13,__zero_reg__
- 4080 0614 01F4 brne .L257
- 4081 0616 B401 movw r22,r8
- 4082 0618 D801 movw r26,r16
- 4083 .L289:
- 4084 061a 8D91 ld r24,X+
- 4085 061c 9C91 ld r25,X
- 4086 061e 0E94 0000 call FlashEraseEntry
- 4087 0622 C501 movw r24,r10
- 4088 0624 0E94 0000 call NutEventPost
- 4089 0628 00C0 rjmp .L288
- 4090 .L225:
- 4091 062a 0E94 0000 call UFlashMount
- 4092 062e 00C0 rjmp .L217
- 4093 .L229:
- 4094 0630 FC01 movw r30,r24
- 4095 0632 0189 ldd r16,Z+17
- 4096 0634 1289 ldd r17,Z+18
- 4097 0636 D801 movw r26,r16
- 4098 0638 1796 adiw r26,7
- 4099 063a 8D91 ld r24,X+
- 4100 063c 9C91 ld r25,X
- 4101 063e 1897 sbiw r26,7+1
- 4102 0640 0E94 0000 call free
- 4103 0644 C801 movw r24,r16
- 4104 0646 0E94 0000 call free
- GAS LISTING /tmp/ccjPZxVo.s page 73
- 4105 064a F601 movw r30,r12
- 4106 064c 128A std Z+18,__zero_reg__
- 4107 064e 118A std Z+17,__zero_reg__
- 4108 .L288:
- 4109 0650 80E0 ldi r24,0
- 4110 0652 90E0 ldi r25,0
- 4111 0654 00C0 rjmp .L217
- 4112 .L258:
- 4113 0656 8FEF ldi r24,lo8(-1)
- 4114 0658 9FEF ldi r25,lo8(-1)
- 4115 .L217:
- 4116 /* epilogue start */
- 4117 065a 2B96 adiw r28,11
- 4118 065c 0FB6 in __tmp_reg__,__SREG__
- 4119 065e F894 cli
- 4120 0660 DEBF out __SP_H__,r29
- 4121 0662 0FBE out __SREG__,__tmp_reg__
- 4122 0664 CDBF out __SP_L__,r28
- 4123 0666 DF91 pop r29
- 4124 0668 CF91 pop r28
- 4125 066a 1F91 pop r17
- 4126 066c 0F91 pop r16
- 4127 066e FF90 pop r15
- 4128 0670 EF90 pop r14
- 4129 0672 DF90 pop r13
- 4130 0674 CF90 pop r12
- 4131 0676 BF90 pop r11
- 4132 0678 AF90 pop r10
- 4133 067a 9F90 pop r9
- 4134 067c 8F90 pop r8
- 4135 067e 7F90 pop r7
- 4136 0680 6F90 pop r6
- 4137 0682 0895 ret
- 4138 .size UFlashIOCtl, .-UFlashIOCtl
- 4139 .section .text.UFlashAttach,"ax",@progbits
- 4140 .global UFlashAttach
- 4141 .type UFlashAttach, @function
- 4142 UFlashAttach:
- 4143 0000 0F93 push r16
- 4144 0002 1F93 push r17
- 4145 0004 CF93 push r28
- 4146 0006 DF93 push r29
- 4147 /* prologue: function */
- 4148 /* frame size = 0 */
- 4149 /* stack size = 4 */
- 4150 .L__stack_usage = 4
- 4151 0008 8C01 movw r16,r24
- 4152 000a EB01 movw r28,r22
- 4153 000c 8881 ld r24,Y
- 4154 000e 9981 ldd r25,Y+1
- 4155 0010 DC01 movw r26,r24
- 4156 0012 4D93 st X+,r20
- 4157 0014 5C93 st X,r21
- 4158 0016 DA01 movw r26,r20
- 4159 0018 1896 adiw r26,8
- 4160 001a ED91 ld r30,X+
- 4161 001c FC91 ld r31,X
- GAS LISTING /tmp/ccjPZxVo.s page 74
- 4162 001e 1997 sbiw r26,8+1
- 4163 0020 1995 eicall
- 4164 0022 892B or r24,r25
- 4165 0024 01F4 brne .L297
- 4166 0026 E881 ld r30,Y
- 4167 0028 F981 ldd r31,Y+1
- 4168 002a 8081 ld r24,Z
- 4169 002c 9181 ldd r25,Z+1
- 4170 002e 0E94 0000 call NutEventPost
- 4171 0032 EC85 ldd r30,Y+12
- 4172 0034 FD85 ldd r31,Y+13
- 4173 0036 CE01 movw r24,r28
- 4174 0038 1995 eicall
- 4175 003a 892B or r24,r25
- 4176 003c 01F4 brne .L297
- 4177 003e F801 movw r30,r16
- 4178 0040 D08B std Z+16,r29
- 4179 0042 C787 std Z+15,r28
- 4180 0044 C801 movw r24,r16
- 4181 0046 0E94 0000 call UFlashMount
- 4182 004a 0097 sbiw r24,0
- 4183 004c 01F0 breq .L292
- 4184 004e D801 movw r26,r16
- 4185 0050 5096 adiw r26,15+1
- 4186 0052 1C92 st X,__zero_reg__
- 4187 0054 1E92 st -X,__zero_reg__
- 4188 0056 1F97 sbiw r26,15
- 4189 .L297:
- 4190 0058 8FEF ldi r24,lo8(-1)
- 4191 005a 9FEF ldi r25,lo8(-1)
- 4192 .L292:
- 4193 /* epilogue start */
- 4194 005c DF91 pop r29
- 4195 005e CF91 pop r28
- 4196 0060 1F91 pop r17
- 4197 0062 0F91 pop r16
- 4198 0064 0895 ret
- 4199 .size UFlashAttach, .-UFlashAttach
- 4200 .section .text.UFlashDetach,"ax",@progbits
- 4201 .global UFlashDetach
- 4202 .type UFlashDetach, @function
- 4203 UFlashDetach:
- 4204 0000 0F93 push r16
- 4205 0002 1F93 push r17
- 4206 0004 CF93 push r28
- 4207 0006 DF93 push r29
- 4208 /* prologue: function */
- 4209 /* frame size = 0 */
- 4210 /* stack size = 4 */
- 4211 .L__stack_usage = 4
- 4212 0008 EC01 movw r28,r24
- 4213 000a 0989 ldd r16,Y+17
- 4214 000c 1A89 ldd r17,Y+18
- 4215 000e D801 movw r26,r16
- 4216 0010 1796 adiw r26,7
- 4217 0012 8D91 ld r24,X+
- 4218 0014 9C91 ld r25,X
- GAS LISTING /tmp/ccjPZxVo.s page 75
- 4219 0016 1897 sbiw r26,7+1
- 4220 0018 0E94 0000 call free
- 4221 001c C801 movw r24,r16
- 4222 001e 0E94 0000 call free
- 4223 0022 1A8A std Y+18,__zero_reg__
- 4224 0024 198A std Y+17,__zero_reg__
- 4225 0026 8F85 ldd r24,Y+15
- 4226 0028 9889 ldd r25,Y+16
- 4227 002a DC01 movw r26,r24
- 4228 002c 1E96 adiw r26,14
- 4229 002e ED91 ld r30,X+
- 4230 0030 FC91 ld r31,X
- 4231 0032 1F97 sbiw r26,14+1
- 4232 0034 1995 eicall
- 4233 0036 188A std Y+16,__zero_reg__
- 4234 0038 1F86 std Y+15,__zero_reg__
- 4235 /* epilogue start */
- 4236 003a DF91 pop r29
- 4237 003c CF91 pop r28
- 4238 003e 1F91 pop r17
- 4239 0040 0F91 pop r16
- 4240 0042 0895 ret
- 4241 .size UFlashDetach, .-UFlashDetach
- 4242 .section .text.UFlashFormat,"ax",@progbits
- 4243 .global UFlashFormat
- 4244 .type UFlashFormat, @function
- 4245 UFlashFormat:
- 4246 0000 0F93 push r16
- 4247 0002 1F93 push r17
- 4248 0004 CF93 push r28
- 4249 0006 DF93 push r29
- 4250 /* prologue: function */
- 4251 /* frame size = 0 */
- 4252 /* stack size = 4 */
- 4253 .L__stack_usage = 4
- 4254 0008 EB01 movw r28,r22
- 4255 000a 8881 ld r24,Y
- 4256 000c 9981 ldd r25,Y+1
- 4257 000e DC01 movw r26,r24
- 4258 0010 4D93 st X+,r20
- 4259 0012 5C93 st X,r21
- 4260 0014 DA01 movw r26,r20
- 4261 0016 1896 adiw r26,8
- 4262 0018 ED91 ld r30,X+
- 4263 001a FC91 ld r31,X
- 4264 001c 1997 sbiw r26,8+1
- 4265 001e 1995 eicall
- 4266 0020 8C01 movw r16,r24
- 4267 0022 892B or r24,r25
- 4268 0024 01F4 brne .L302
- 4269 0026 E881 ld r30,Y
- 4270 0028 F981 ldd r31,Y+1
- 4271 002a 8081 ld r24,Z
- 4272 002c 9181 ldd r25,Z+1
- 4273 002e 0E94 0000 call NutEventPost
- 4274 0032 EC85 ldd r30,Y+12
- 4275 0034 FD85 ldd r31,Y+13
- GAS LISTING /tmp/ccjPZxVo.s page 76
- 4276 0036 CE01 movw r24,r28
- 4277 0038 1995 eicall
- 4278 003a 892B or r24,r25
- 4279 003c 01F4 brne .L300
- 4280 003e 6885 ldd r22,Y+8
- 4281 0040 7985 ldd r23,Y+9
- 4282 0042 4E81 ldd r20,Y+6
- 4283 0044 5F81 ldd r21,Y+7
- 4284 0046 461B sub r20,r22
- 4285 0048 570B sbc r21,r23
- 4286 004a 8A85 ldd r24,Y+10
- 4287 004c 9B85 ldd r25,Y+11
- 4288 004e 481B sub r20,r24
- 4289 0050 590B sbc r21,r25
- 4290 0052 5695 lsr r21
- 4291 0054 4795 ror r20
- 4292 0056 5695 lsr r21
- 4293 0058 4795 ror r20
- 4294 005a 4130 cpi r20,1
- 4295 005c B0E2 ldi r27,32
- 4296 005e 5B07 cpc r21,r27
- 4297 0060 00F0 brlo .L301
- 4298 0062 40E0 ldi r20,0
- 4299 0064 50E2 ldi r21,lo8(32)
- 4300 .L301:
- 4301 0066 440F lsl r20
- 4302 0068 551F rol r21
- 4303 006a 440F lsl r20
- 4304 006c 551F rol r21
- 4305 006e EE8D ldd r30,Y+30
- 4306 0070 FF8D ldd r31,Y+31
- 4307 0072 CE01 movw r24,r28
- 4308 0074 1995 eicall
- 4309 0076 EE85 ldd r30,Y+14
- 4310 0078 FF85 ldd r31,Y+15
- 4311 007a CE01 movw r24,r28
- 4312 007c 1995 eicall
- 4313 007e 00C0 rjmp .L300
- 4314 .L302:
- 4315 0080 0FEF ldi r16,lo8(-1)
- 4316 0082 1FEF ldi r17,lo8(-1)
- 4317 .L300:
- 4318 0084 C801 movw r24,r16
- 4319 /* epilogue start */
- 4320 0086 DF91 pop r29
- 4321 0088 CF91 pop r28
- 4322 008a 1F91 pop r17
- 4323 008c 0F91 pop r16
- 4324 008e 0895 ret
- 4325 .size UFlashFormat, .-UFlashFormat
- 4326 .global devUFlash1
- 4327 .data
- 4328 .type devUFlash1, @object
- 4329 .size devUFlash1, 37
- 4330 devUFlash1:
- 4331 0000 0000 .word 0
- 4332 0002 55 .byte 85
- GAS LISTING /tmp/ccjPZxVo.s page 77
- 4333 0003 46 .byte 70
- 4334 0004 4C .byte 76
- 4335 0005 41 .byte 65
- 4336 0006 53 .byte 83
- 4337 0007 48 .byte 72
- 4338 0008 31 .byte 49
- 4339 0009 00 .byte 0
- 4340 000a 00 .byte 0
- 4341 000b 10 .byte 16
- 4342 000c 0100 .word 1
- 4343 000e 00 .byte 0
- 4344 000f 0000 .word 0
- 4345 0011 0000 .word 0
- 4346 0013 0000 .word gs(UFlashInit)
- 4347 0015 0000 .word gs(UFlashIOCtl)
- 4348 0017 0000 .word gs(UFlashFileRead)
- 4349 0019 0000 .word gs(UFlashFileWrite)
- 4350 001b 0000 .word gs(UFlashFileWrite_P)
- 4351 001d 0000 .word gs(UFlashFileOpen)
- 4352 001f 0000 .word gs(UFlashFileClose)
- 4353 0021 0000 .word gs(UFlashFileSize)
- 4354 0023 0000 .word 0
- 4355 .global devUFlash0
- 4356 .type devUFlash0, @object
- 4357 .size devUFlash0, 37
- 4358 devUFlash0:
- 4359 0025 0000 .word 0
- 4360 0027 55 .byte 85
- 4361 0028 46 .byte 70
- 4362 0029 4C .byte 76
- 4363 002a 41 .byte 65
- 4364 002b 53 .byte 83
- 4365 002c 48 .byte 72
- 4366 002d 30 .byte 48
- 4367 002e 00 .byte 0
- 4368 002f 00 .byte 0
- 4369 0030 10 .byte 16
- 4370 0031 0000 .word 0
- 4371 0033 00 .byte 0
- 4372 0034 0000 .word 0
- 4373 0036 0000 .word 0
- 4374 0038 0000 .word gs(UFlashInit)
- 4375 003a 0000 .word gs(UFlashIOCtl)
- 4376 003c 0000 .word gs(UFlashFileRead)
- 4377 003e 0000 .word gs(UFlashFileWrite)
- 4378 0040 0000 .word gs(UFlashFileWrite_P)
- 4379 0042 0000 .word gs(UFlashFileOpen)
- 4380 0044 0000 .word gs(UFlashFileClose)
- 4381 0046 0000 .word gs(UFlashFileSize)
- 4382 0048 0000 .word 0
- 4383 .local min_used
- 4384 .comm min_used,96,1
- 4385 .ident "GCC: (GNU) 5.3.0"
- 4386 .global __do_copy_data
- 4387 .global __do_clear_bss
- GAS LISTING /tmp/ccjPZxVo.s page 78
- DEFINED SYMBOLS
- *ABS*:0000000000000000 uflashfs.c
- /tmp/ccjPZxVo.s:2 *ABS*:000000000000003e __SP_H__
- /tmp/ccjPZxVo.s:3 *ABS*:000000000000003d __SP_L__
- /tmp/ccjPZxVo.s:4 *ABS*:000000000000003f __SREG__
- /tmp/ccjPZxVo.s:5 *ABS*:000000000000003b __RAMPZ__
- /tmp/ccjPZxVo.s:6 *ABS*:0000000000000000 __tmp_reg__
- /tmp/ccjPZxVo.s:7 *ABS*:0000000000000001 __zero_reg__
- /tmp/ccjPZxVo.s:10 .text.FlashUnitCopy:0000000000000000 FlashUnitCopy
- /tmp/ccjPZxVo.s:42 .text.FlashUnitCommit:0000000000000000 FlashUnitCommit
- /tmp/ccjPZxVo.s:68 .text.FlashReadBlockHead:0000000000000000 FlashReadBlockHead
- /tmp/ccjPZxVo.s:103 .text.FlashWriteBlockHead:0000000000000000 FlashWriteBlockHead
- /tmp/ccjPZxVo.s:149 .text.FlashWriteEntry:0000000000000000 FlashWriteEntry
- /tmp/ccjPZxVo.s:217 .text.FlashReadBlockFoot:0000000000000000 FlashReadBlockFoot
- /tmp/ccjPZxVo.s:255 .text.FlashWriteBlockFoot:0000000000000000 FlashWriteBlockFoot
- /tmp/ccjPZxVo.s:297 .text.FlashEraseEntry:0000000000000000 FlashEraseEntry
- /tmp/ccjPZxVo.s:323 .text.FlashEraseBlockData:0000000000000000 FlashEraseBlockData
- /tmp/ccjPZxVo.s:351 .text.EntryPosSet:0000000000000000 EntryPosSet
- /tmp/ccjPZxVo.s:475 .text.EntryPosInc:0000000000000000 EntryPosInc
- /tmp/ccjPZxVo.s:570 .text.EntryTruncateSeq:0000000000000000 EntryTruncateSeq
- /tmp/ccjPZxVo.s:681 .text.UFlashFileSize:0000000000000000 UFlashFileSize
- /tmp/ccjPZxVo.s:699 .text.UFlashFileWrite_P:0000000000000000 UFlashFileWrite_P
- /tmp/ccjPZxVo.s:710 .text.UFlashInit:0000000000000000 UFlashInit
- /tmp/ccjPZxVo.s:721 .text.FlashReadEntry:0000000000000000 FlashReadEntry
- /tmp/ccjPZxVo.s:810 .text.UFlashFileClose:0000000000000000 UFlashFileClose
- /tmp/ccjPZxVo.s:832 .text.UFlashMount:0000000000000000 UFlashMount
- .bss:0000000000000000 min_used
- /tmp/ccjPZxVo.s:1120 .text.EntrySearchNext:0000000000000000 EntrySearchNext
- /tmp/ccjPZxVo.s:1305 .text.EntryScan.isra.1:0000000000000000 EntryScan.isra.1
- /tmp/ccjPZxVo.s:1492 .text.PhysBlkAllocate:0000000000000000 PhysBlkAllocate
- /tmp/ccjPZxVo.s:1981 .text.EntrySeek.part.4:0000000000000000 EntrySeek.part.4
- /tmp/ccjPZxVo.s:2089 .text.UFlashFileRead:0000000000000000 UFlashFileRead
- /tmp/ccjPZxVo.s:2340 .text.UFlashFileOpen:0000000000000000 UFlashFileOpen
- /tmp/ccjPZxVo.s:2833 .text.UFlashFileWrite:0000000000000000 UFlashFileWrite
- /tmp/ccjPZxVo.s:3294 .text.UFlashIOCtl:0000000000000000 UFlashIOCtl
- /tmp/ccjPZxVo.s:4142 .text.UFlashAttach:0000000000000000 UFlashAttach
- /tmp/ccjPZxVo.s:4203 .text.UFlashDetach:0000000000000000 UFlashDetach
- /tmp/ccjPZxVo.s:4245 .text.UFlashFormat:0000000000000000 UFlashFormat
- /tmp/ccjPZxVo.s:4330 .data:0000000000000000 devUFlash1
- /tmp/ccjPZxVo.s:4358 .data:0000000000000025 devUFlash0
- UNDEFINED SYMBOLS
- __udivmodsi4
- malloc
- free
- calloc
- memset
- NutEventPost
- NutEventWait
- errno
- strdup
- strchr
- strcpy
- __do_copy_data
- __do_clear_bss
|